1. Організація основної пам’яті. Зв’язок між форматом адреси і ємністю пам’яті.
В комп’ютері залежно від способу доступудо даних розрізняють наступні види пам’яті:
1. Пам’ть з довільною вибіркою (RAM, ПДВ, ОЗП, адресна пам’ять,...)
EMBED Visio.Drawing.6
Кожна комірка зберігає одиницю інфи – інформаційне слово.
Слово складається з n бітів.
В комп’ютерах стараються забезпечити n=2k бітів/слово, де к=1,2,3...
Кожна комірка має номер, який називається адресою, яка кодується двійковим кодом. Оскільки М-кількість комірок (адресне поле), то розрядність адреси m=]log2M[, напр. М=5, то m=3. Отже, чим більша кіслькість адрес, тим більша ємність пам’яті.
2. Пам’ять з послідовною вибіркою – дані вибираються одне за одним
EMBED Visio.Drawing.6
3. Асоціативна пам’ять – вибірка іде за певними ознаками
EMBED Visio.Drawing.6
4. Пам’ять з детермінованою вибіркою
EMBED Visio.Drawing.6
Організація пам’яті – кількість слів m помножена на їх розрядність: M*n=2m*n (1K*8 = 1024*8)
2. Операції з основною пам’яттю.
З основною пам’яттю можна виконувати наступні операції:
Записувати в пам’ять слово (півслова, довгі слова,…)
Читати з пам’яті слова (півслова, довгі слова,…)
Здійснювати обрахунок необхідної адреси
Здійснювати послідовне читання/запис пам’яті
Відносна адресація пам’яті
3. Принцип роботи асоціативної пам’яті.
EMBED Visio.Drawing.6
Дані записуються в довільний вільний регістр. В кожному регістрі є біт зайнятості. Задана ознака порівнюється з ознаками в регістрах, в результаті чого дадходить код вибірки. Одночасно може читатися багато слів. Ємність залежить від кількості регістрів, а швидкодія – від конкретної реалізації.
4. Організація зв’язку між процесором і основною пам’яттю.
Зв’язок між процесором і ОП організується за допомогою інтерфейсу.
EMBED Visio.Drawing.6
Адреса в адресній пам’яті поступає на дешифратор адреси, який забезпечує доступ до необхідної комірки пам’яті (при наявності актиівного сигналу вибору кристалу), з якою потім здійснюється операція читання/запис.
Асоціативна пам’ять з асоціативним процесором взаємодіє через схему порівняння, Регістр результату пошуку, Регістр вибірки слів, який вибирає слова, які приймають участь в операції пошуку і Регістр маски, який використовується при операціях пошуку.
5. Порядок виконання команд у комп’ютері.
Вибір чергової команди з пам’яті
Дешифрація команди
Визначення адрес даних необхідних для виконання команди
Виконання операцій пересилки даних
Виконання команди
Запам’ятовування результатів
Підготовка до виконання наступної команди
EMBED Visio.Drawing.6
6. Кодування команд у комп’ютері.
Кодування команди в компі залежить від типу операції. Але можна виділити загальні особливості:
EMBED Visio.Drawing.6
m=]log2N[, де N – к-сть операцій компа
к – залежить від способу адресації, к-сті адрес, типу команди. В цьому полі можуть знаходитися і дані.
EMBED Visio.Drawing.6
К=К1+К2, де К1=К2=]log2М[, М – к-сть комірок в основній пам’яті.
Для скорочення цього запису використовують 16-кове, 8-кове представлення, а також мнемонічне позначення команд, яке відповідає двійковому коду команди.
7. Головні критерії вибору формату команд
Команда в компі має наступний вигляд:
EMBED Visio.Drawing.6
Розмір даних полів розраховується виходячи з наступних вимог (критерії):
m=]log2N[, де N – к-сть операцій компа
к – залежить від способу адресації, к-сті адрес, типу команди. В цьому полі можуть знаходитися і дані. Це поле може бути розбитим на підполя:
EMBED Visio.Drawing.6
К=К1+К2, де К1=К2=]log2М[, М – к-сть комірок в основній пам’яті.
8. Способи адресації пам’яті. Їх призначення.
Варіанти інтерпритації адресної частини команд з метою знаходження операнда називається способами адресації. Операнди команди знаходяться в ОП або ЗП. Була створена своєрідна техніка адресації, чому послужило ряд причин. :
забечення ефективного використання розрядноїсітки команди.
забезпечення ефектиної апаратної підтримки роботи з масивами даних
забезпечення параметрів операндів
можливість генерації багаторозрядних адрес на основі малорозрядних адрес.
I. Безпосередня адресація
Операнд знаходиться безпосередньо в адресній частині
EMBED Visio.Drawing.6
Найшвидший спосіб знаходження операнда. Цей спосіб використовується для констант, задання наперед відомих чисел. Недолік розрядність операнда обмежується розрядністю АЧ команд.
II. Пряма адресація
В адресному полі вказується місце ророзміщення операнда
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
III. Непряма адресація
В адресному полі вказується місце розміщення адреси операнда
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
Служить для зменшення довжини програми з великою кільквстю змінних адрес
Багаторівнева непряма адресація (Рангова адресація)
EMBED Visio.Drawing.6
IV. Відносна адресація
Адресна частина містить два поля: 1-адреса регістра із регістра памяті в якому зберігається база; 2-зберігається зміщення шляхом їх додавання формується виконавча адреса команди.
EMBED Visio.Drawing.6
Дозволяє працювати з операндами із деякого сигмента памяті не змінюючи бази.
Основна перевага відносної адресації, це скорочення довжини команди за рахунок зменшення її адресної частини
V. Індексна, автоінкрементна та автодекрементна адресації.
Способи адресації використовують при виконанні циклів, коли потрібно збільшити або зменшити адреси на деяку величину .
Індексація є засобом для багатократного викинання одних і тих же команд під різними наборами вхідних даних. Тим самим забезпечити незалежність програми від кількості повторюваних відрізків.
Для отримання використовуються адреси. Адресна частина команд додається до вмістимого спеціального регістра в якому зберігається N обробляймого масиву даних.
Ці регістри називають індиксними, а їх вмвстиме індиксами.
EMBED Visio.Drawing.6
Якщо Pr і багато, то
EMBED Visio.Drawing.6
Коликоманди памяті розміщені послідовно, то на суматор подаються +1 вбо –1
VI. Неявна адресація
При неявній адресації операнд в явному вигляді в команді відсутній.
Стекова адресація
Використовує без адресні команди. Стек – набір комірок памяті або регістрів які розміщенні деяким чином. Перший назавають вершина останній – дно. Зберігається у вказівнику стека
EMBED Visio.Drawing.6 EMBED Visio.Drawing.6 EMBED Visio.Drawing.6 ……………
Використання стекової адресації
а+b*c/d-f - інфіксна форма запису
((a+((b*c)/d))-f)
1
2
3
4
Постфікнаса форма запису. Abe*d/+f-.
Префікіна форма запису. -+a/*bcdf.
9. Інфіксна, префіксна та постфіксна форми запису арифметичних виразів. Їх використання.
а+b*c/d-f - інфіксна форма запису
((a+((b*c)/d))-f)
1
2
3
4
Постфікнаса форма запису. Abe*d/+f-. Тут спочатку слідують дані, які обробляються за алгоритмом: до останнього прочитаного значення і попереднього результату застосовується зустріта операція.
Префікіна форма запису. -+a/*bcdf. Тут спочатку слідують операції, які обробляються за алгоритмом: до двох підряд зустрінутих даних застосовується остання зустріта операція. Потім береться попередня по відношенню до даної операція і застосовується до наступного даного і результату.
Інфіксна форма використовується: для задання виразів в звичному вигляді, використовують дужки для зазначення пріоритетності операцій у виразі.
Префіксна і постфіксна форми запису використовуються для представлення виразу з врахуванням пріоритетності операцій, принципово не містять дужок, що спращує аналіз виразів і реалізацію правильних обчислень складних виразів.
Блок схема постфіксної форми запису.
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
10. Процесор. Одношинна організація процесора. Принцип роботи.
Сучасний процесор представлений одним кристалом, з якого виходять 3 типи виводів: адресні, інформаційні, керуючі. Ці виводи з’єднуються з відповідними виводами підсистем компа через шину. 2 ключові параметри: число адресних і інформаційних виводів, які сильно впливають на можливості компа. Керуючі виводи регулюбть і синхронізують потоки даних між процесором і іншими підсистемами. Іх можна поділити на види:
керуючі шиною
переривання
арбітраж шини
стан
іньші
Одношинна структура комп’ютера
EMBED Visio.Drawing.6
БП – буфер пам’яті.
Система повільна, проста, доступна. Є базовою структурою мікропроцесорів і мікроконтролерів.
В цій структурі на відміну від двошинної, при роботі проца з пристроями І/О обмін інфою з пам’яттю неможливий, оскільки шина занята операціями І/О. Таким чином виникає простой проца. БП призваний зменьшити простої. Принцип роботи:
EMBED Visio.Drawing.6
11. Багатошинна організація процесора. Принцип роботи.
Двохшинна структура комп’ютера з обміном через процесор:
EMBED Visio.Drawing.6
Не ефективне використання процесора, оскільки він використовує свої ресурси для керування пристроями І/О. Принцип роботи: Процесор пряцює з пам’яттю. При виникненні переривання пристрою І/О, процесор може паралельно працювати з пам’яттю і пристроями І/О завдяки використанню 2-ох шин і пересилати дані з/в пам’ять в/з пристрою І/О без додаткових операцій зупинки/відновлення роботи з пам’яттю/ пристроями І/О.
Двохшинна структура з обміном через пам’ять
EMBED Visio.Drawing.6
Принцип роботи: Процесор пряцює з пам’яттю. При виникненні переривання пристрою І/О, процесор може паралельно працювати з пам’яттю і пристроями І/О завдяки використанню 2-ох шин. Причому робота з пристроями І/О заключається в посиланні команд процесору І/О, який також може звертатися до пам’яті і пересилає дані з/в пам’ять в/з пристрою І/О без додаткових операцій зупинки/відновлення роботи з пам’яттю/пристроями І/О центрального процесора, який займається своїми справами в цей час і використовує готові результати роботи процесора І/О, а не керує І/О самостійно.
Це найшвидша шинна організація процесора.
12. Описати формати даних, що використовуються в комп’ютері.
В компі використовуються 2 формати представлення даних:
з рухомою комою
з фіксованою комою
У форматі з фіксованою комою, яка відділяє цілу і дробову частини кома може фіксувати в любому запланованому розробником місці, на що потрібно буде потім зважати користувачеві компа. Це дає зогу представляти і дробові числа. Переважно кома фіксується після молодшого розряду, чим забезпечує представлення лише цілих типів даних. Тоді максимальне число, яке можна представити визначається як М=2n-1, де n – кількість бітів в типу даних (байтове слово, 2-байтове слово,...), якщо беззнакове і в діапазоні -2n≤M<2n, якщо число зі знаком.
Для представлення цілих у форматі з фіксованою комою використовуються такі типи даних:
У форматі з рухомою комою переважно використовується стандарт IEEE754. Описує представлення дробових числел з різною точністю. В цьому стандатрі мантиса складається з неявного біта, який завжди рівний 1, неявної двійкової коми, за якою слідує 23 або 52 довільні біти. Ця комбінація називається порядком, а число є нормалізованим. Якщо всі 23 або 52 біти рівні 0, то мантиса рівна 1,0. В стандарті описане представлення нормалізованого числа, не нормалізованого числа, 0, нескінченності, не число.
Визначаються такі типи даних і їх формати:
Тип даних складається з таких частин: m – мантиса, – дробова частина числа, е – експонента, - додатнє або від’ємне число, s – біт, що вказує на знак. Мантиса може бути нормалізована (з ненульовим крайнім лівим розрядом) і не нормалізована. При нормалізованій мантисі можливий виграш в точності, крім цього нормалізована форма представлення є одна, а не нормалізованих представлень може бути багато.
13. Діапазони представлення чисел при використанні форматів із фіксованою комою.
Для представлення цілих у форматі з фіксованою комою використовуються такі типи даних:
14. Діапазони представлення чисел при використанні форматів із рухомою комою.
Для представлення чилес у форматі з рухомою комою використовуються такі типи даних:
1, 2, 4 типи описані в стандарті ІЕЕЕ754. В цьому стандатрі мантиса складається з неявного біта, який завжди рівний 1, неявної двійкової коми, за якою слідує 23 або 52 довільні біти. Ця комбінація називається порядком, а число є нормалізованим. Якщо всі 23 або 52 біти рівні 0, то мантиса рівна 1,0. В стандарті описане представлення нормалізованого числа, не нормалізованого числа, 0, нескінченності, не число.
Типи даних складаються з таких частин: m – мантиса, – дробова частина числа, е – експонента, - додатнє або від’ємне число, s – біт, що вказує на знак. Мантиса може бути нормалізована (з ненульовим крайнім лівим розрядом) і не нормалізована. При нормалізованій мантисі можливий виграш в точності, крім цього нормалізована форма представлення є одна, а не нормалізованих представлень може бути багато.
15. Кодування чисел прямим, оберненим і доповнювальним кодами.
Любе ціле число в форматі з фіксованою комою може бути представлене як:
Знак значення числа
При виконанні арифметичних операцій використовується доповняльний код, який для додатніх чисел такий самий як прямий і обернений. Обернений код використовується як проміжний при підготовці від’ємного числа до обчислень в доповняльному коді і навпаки, при поверненні від’ємному числу його первісного значення.
Обернений код у від’ємних чисел дістається інвертуванням всіх розрядів крім знакового. Для одержання доповняльного (прямого) коду, у від’ємних чисел, до оберненого додають 1. Це дає змогу контролювати переповнення при арифметичних операціях, і спрощує процес виконання операцій.
Переповнення :
16. Операційний пристрій (ОП). Типові елементарні операції ОП.
Операційний пристрій – основний елемент мікроархітектурного рівня. Виконує прості арифметико-логічні операції. Регістри разом з АЛП і кількома з’єднуючими шинами формують тракт даних, по якому поступають дані. Основна задача тракту даних: вибрати дані з одного або кількох регістрів, АЛП робить над ними якусь з операцій, результат поміщується в один з цих регістрів. Робота тракту даних контролюється мікропрограмою, або логіка роботи реалізується апаратно. Алу по своїй суті є цифровим автоматом, на який заводяться лінії з кодом операції і лінії з даними. На виході дістаємо результат.
Елементарні операції АЛП.
Зсуви
EMBED Visio.Drawing.6
збільшення, зменшення на 1.
шифрація.
Дешифрація.
Порівняння (<,>,>=,<=,!=,=).
Розрядне доповнення або формування оберненого коду.
Порозрядне логічне множення.(&).
Порозрядне логічне додавання(V).
Додавання по модулю два.( EMBED Equation.3 )
Арифметичне додавання чисел.
Операції переміщення даних
Гілкування
Звернення до підпрограм
Передача управління
Елементарні функції(sinx,cosx,lnx,ex,2x,sqrt).
Обробка стрічок символів.(пошук, заміна, порівняння).
Робота з масивами(сортування, вибір, зсув, стиск).
17. Способи обробки інформації в операційному пристрої (ОП). Класифікація ОП.
EMBED Visio.Drawing.6
1. Порозрядна (послідовна) обробка (Послідовні АЛП)
+ мінімальні затрати обладнання
- мала швидкодія (Тдодавання = nt, де n – к-сть розрядів, t – такт)
- час затримки пересилання
2. Паралельна обробка – одночасно обпробляються всі розряди вхідного регістру (Паралельні АЛП).
EMBED Visio.Drawing.6
Топерації = t, t – такт
3. Паралельно – послідовний – суміш 1 і 2 (Паралельно-послідовні АЛП).
EMBED Visio.Drawing.6
к = 1,2, ….
18. Структура операційного пристрою для додавання і віднімання чисел із фіксованою й рухомою комою.
додавання/віднімання двійкових чисел з фіксованою комою.
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
HS{a+b}.
EMBED Visio.Drawing.6
4-ох розрядний з паралельним переносом 4-ох розрядний з послідовним переносом
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
[Pr7]=[Pr5]+[Pr3].
Pr3out, PrYin
Pr5out,add,Przin
PrZout,PrZin
Послідовний АЛП
EMBED Visio.Drawing.6
Паралельний суматор
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
Накопичувальний суматор.
N-чисел, операція EMBED Equation.3 , k= EMBED Equation.3 -для додаткових розрядів, щоб не було переповнення.
2. Додавання/віднімання з рухомою комою.
С=A+B; A=Ma*2Pa;B=Mb*2Pb; C=Mc*2Pc;
C=(Ma+Mb*2Pb-Pa)*2Pa;
Mc=Ma+Mb*2Pb-Pa;
Блок схема додавання.
EMBED Visio.Drawing.6
19. Структура операційного пристрою для множення чисел із фіксованою й рухомою комою.
Множення чисел з фіксованою комою.
Zi+1=(Zi+x*yi+1)2-1; i-розрядність чисел. х- множене; у-множник; z- сума часток.
Множення починається з молодшого розряду множника і виконанні зсуву множенного вліво.
EMBED Equation.3
EMBED Visio.Drawing.6
Множення починається з старших розрядів множника при нерухомуму множеному і при виконанні зсуву вліво часткових добутків.
Zi+1=2(Zi+Xyn-1);
EMBED Visio.Drawing.6
Множення починається з старших розрядів множника при нерухомій сумі часткових добутків та зсуву множеного вправо.
EMBED Visio.Drawing.6
Методи прискорення операцій множення.
Аналіз декількох розрядів.
нема ітерацій
додавання х.
10- дод. 2х.
11 – дод. 3х.
Аналіз всіх розрядів.
Там де нулі ітерацій нема.
Заміна додавання відніманням.
Аналіз чого менше.
Апаратне виконання множення.
Множення чисел з рухомою комою
Z=X*Y=Mx*2Px*My*2Py=Mx*My*2Px+Py, де Мх,Му – мантиса; Рх, Ру – порядок.
EMBED Visio.Drawing.6
Х=2Мх*2Рх
У=Му*2Ру
Я=Х*У=Мх*Му*2(Рх+Ру)
20. Структура операційного пристрою ділення чисел із фіксованою комою.
Передбачає обчислення частки Q і залишку R.
X=QY+R
Z=X/Y
Два варіанти виконання:
З зсувом залишків вправо.
Ri=2(Ri-1-qiY);
Де Ri=Xi, s,qi-і розряд частки.
З зсувом дільника вправо.
Ri=Ri-1-qiYi*2-1;
EMBED Visio.Drawing.6
tділення=nt, де n – к-сть розрядів числа, t - час такту
21. Структура операційного пристрою ділення чисел із рухомою комою.
Z=X/Y=Mx/My*2(Px-Py);
EMBED Visio.Drawing.6
22. Табличні та таблично-алгоритмічні операційні пристрої.
Табличні обчислення.
Попередньо обчисленні значення записуються до таблиці потім відбувається їх пошук за значенням аргументу .
у=x2 Структура таблиці пристрою
QПЗП=m*2n
EMBED Visio.Drawing.6
Z=X*Y
QПЗП=m*22n
Таблично – алгоритмічний метод обчислення .
При зменшенні обєму таблиць використовують табличний і алгоритмічний методи .
Поділ аргументу на частини.
EMBED Visio.Drawing.6
y=sin(x)=sin(x1+x2)
QПЗП=4m*2n/2
23. Граф-алгоритмічні операційні пристрої.
Ф – функціональний оператор, - канал
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
EMBED Visio.Drawing.6
Sin(x)=sin(x1)cos(x2)+sin(x2)cos(x1)
EMBED Visio.Drawing.6
Цей підхід дозволяє будувати найшвидші компи. Позволяє позбутися зайвих елементів і зв’язків. Висока наочність при побудові і аналізі.
24. Особливості й структура пристроїв управління з “жорсткою” логікою.
Керуючі автомати з “жорсткою” логікою являють собою логічні схеми, які виробляють розподілені по часу керуючі функціональні сигнали. На відміну від керуючих пристроїв з збереженою у пам’яті логікою в цих автоматах можна змінити логіку роботи тільки шляхом перероблення схем автомата.
В склад схеми входять регістр кода операції, який є частиною регістра команд, лічильник тактів, дешифратор тактів і дешифратор кода операції, а також логічні схеми утворення керуючих функціональних сигналів.
На лічильник тактів поступають сигнали від блока синхросигналів, і лічильник з кожним сигналом міняє свій стан. Стан лічильника представляють номера тактів, які міняються від 1 до n. Дешифратор тактів формує на j-му виході одиничний сигнал при i-му стані лічильника тактів, тобто під час i-го такта.
Дешифратор кода операції виробляє одиничний сигнал на j-му виході, якщо виконується j-та команда.
Логічні схеми утворення керуючих функціональних сигналів для кожної команди збуджують формувачі функціональних сигналів для виконання потрібних в даному такті мікрооперацій.
Недоліком розглянутих схем є одинакове число тактів для всіх команд. Це потребує вирівнювання числа тактів виконання команд по найбільш “довгій” команді, що призведе до затрати часу.
Автомат Мілі, побудований на мікропрограмі, має число станів, як правило, менше, ніж число станів еквівалентного йому автомата Мура. З цієї точки зору використання автомата Мілі є кращим. Але використання автомата Мілі в якості керуючого автомата не завжди можливо. Це пояснюється тим,що керуючий автомат працює в контурі з операційним блоком. В автомата Мілі перехід в новий стан здійснюється одночасно з формуванням вихідного сигнала. Тому, якщо операційний блок виробляє освідомлюючі сигнали зразу ж при виникненні керуючих сигналів, а керуючий автомат є автоматом Мілі, можлива наступна недопустима ситуація: автомат Мілі ще не змінив стан, а на його входи прийшли нові значення освідомлюючих сигналів, які потребують виконання іншого переходу.
Для виключення можливих збоїв в роботі керуючих автоматів ставляться спеціальні схеми затримки або,що є таким самим, один з двох автоматів (керуючий або операційний) виконують в вигляді автомата Мура, який видає вихідний сигнал після зміни стану (перехода).
Логічні схеми, які забезпечують формування сигналів з врахуванням внутрішніх станів називаються цифровим автоматом . Робота комбінаційних схем повністю описується функціями алгебри логіки , які в даному випадку є абстрактними логічними моделями. Після вибору логічних елементів і переходу від функцій алгебри логіки до логічної схеми отримуємо структурну модель логічної схеми. В загальному можна подати у вигляді абстрактної і структурної схеми. В першому випадку це абстрактний автомат, в другому – структурний.
A= { S ,X ,Y ,δ ,λ} X={x;} I =1,m множина вх.сигнал (вх.операцій
S= { S j } J=1,n – множина вн станів автомата ( альфавіт станів автомата )
Y={yк} к=1,е - множина вихідних станів ( вихідний алфавіт )
δ : х *S –S – функція переходів автомата .
Показує , що в стані S j при поступлені вихідного сигналу Хі переходить в деякий стан
Sp=δ ( S j , X;) λ: X *S Y – ф-ція виходів показує ,що автомат , який заходиться в стані S j при поступлені вхідного сигналу Х1 видає вихідний сигнал Ук
Ук = λ (S j , Xі )
Абстрактний автомат називається скінченним, якщо множина вхідних і вихідних сигналів є скінченними множинами . Автомат називається детермінований, якщо ф-ція переходів δ і ф-ція виходів визначена для всіх пер Sj , Xі . Абстрактний цифровий автомат називається ініціальним , якщо один з його станів виділено як початковий стан . З цього стану автомат завжди починає роботу . В залежності від способу генерування значень вихідних сигналів розрізняють три типи автоматів : Мура , Мілі , С – автомат.
EMBED Visio.Drawing.6
С- автомат – це комбінація двох попередніх (Мілі та Мура) та описується наступною системою рівнянь .
S (t +1) =δ (x (t), s (t))
Y 1 (t) = λ 1 (s (t)) – Мура
Y 2 (t) =λ 2 (x(t), S(t)) –Мілі
Загальна структура автомату памяті має наступний вигляд .
EMBED Visio.Drawing.6
Сигнал управління памяттю описується за допомогою булевих функцій функції збудження .
EMBED Visio.Drawing.6
Структурна схема цифрового автомата для розглянутого прикладу (автомат Мілі)
25. Особливості й структура мікропрограмних пристроїв управління. Способи кодування мікрокоманд.
Мікрооперація уявляє собою елементарне перетворення операндів (наприклад, передача операнда між регістрами, багато розрядна логічна операція, операція додавання), яка здійснюється одним з блоків процесора протягом такту синхронізації .
Мікрокоманду складають декілька чи навіть одна мікрооперація, які виконуються всіма блоками процесора протягом такту.
Код мікрокоманди - це двійкова комбінація, яка у той чи інший спосіб вказує перелік блоків процесора, котрі ініціюються у даному тактові, а також наступну мікро команду.
Мікропрограма уявляє собою упорядковану послідовність мікрокоманд, призначену для реалізації алгоритму виконання певної машинної операції з системи команд ЕОМ.
На відміну від раніш відомого апаратного принципу управління, який оснований на ініціюванні відповідних логічних схем процесора, з метою реалізації потрібної машинної команди, шляхом формування у певних тактах одиничних значень сигналів керування, мікропрограмний спосіб управління полягає у безпосередньому прочитування зі спеціального ПЗП текстів мікропрограм, причому коди мікрокоманд у явний спосіб вказують блоки процесора, які слід ініціювати і даному тактові.
Переваги мікропрограмного способу управління полягають у тому, що:
а) спрощується розробка процесора й збільшується ступінь регулярності його структури;
б) спеціалізовані та проблемно-орієнтовані процесори реалізуються шляхом модифікації системи команд стандартного універсального процесора;
в) підвищується ефективність системного та прикладного програмного забезпечення завдяки мікропрограмній реалізації часто використовуваних мікропрограм і окремих стандартних функцій.
Комплекти біполярних секціонованих мікросхем надають можливість синтезувати керуючі й обчислювальні пристрої з мікропрограмним управлінням двох класів:
-контролери
-процесори, котрі принципово відрізняються не складністю апаратури та реалізованих функцій, а в першу чергу числом рівнів управління процесом обробки даних. У контролерах використовується лише один такий рівень – мікропрограмного управління, тоді як у процесорах два рівні: програмного та мікропрограмного управління.
ФАМк
ПМк
РгMк
ОЧ
N+1
N+2
N+1
N+2
N+3
M
N
N+1
N+2
CO
Tк ТК+1 ТК+2
У випадку контролера алгоритм функціонування керованого ним пристрою занесений до спеціальної пам’яті у вигляді сукупності мікрокоманд, що задають для кожного такту дії оперативної й керуючої частини контролера.
Керуюча частина (КЧ) обов’язково містить пам’ять мікрокоманд (ПМК) і формувач адреси мікрокоманди (ФАМк) та може реалізуватися одинадцятьма способоми в залежності від місця підключення й кількості підключень додаткових регістрів :
мікрокоманд (РгМк), де зберігається адресна та керуюча частини мікрокоманди;
стану (РгC), в якому фіксуються значення ознак, що характеризують результат виконання операції операційною частиною (ОЧ) контролера.
У випадку процесора прикладний алгоритм відображений не в ПМк, а у оперативній пам’яті (ОЗП) як послідовність команд. Кожна команда реалізується шляхом виконання відповідної мікропрограми з ПМк. Відповідність між кодом команди з РгК та мікропрограмою встановлюється за допомогою дешифратора початкових адрес (ДшПА) мікропрограм, який синтезується на основі мікросхем програмованих ПЗП або ПЛМ.
ОЗП
Шина управління
Шина адреси
Шина даних
PгK
ДшПА
ФАМк
ПМк
PгМк
ОЧ АЧ
Процесор
Мікрокоманди можуть кодуватися різними способами. Звичайно кодується поле керуючих сигналів (КС). При горизонтальному кодуванні кожен розряд поля КС однозначно визначає один КС для виконання мікрооперації. При вертикальному кодуванні мікрооперація визначається двійковим кодом поля КС, що розшифровується дешифратором у власне керуючий сигнал. Окремий код задає відсутність мікрооперації. При змішаному кодуванні розрізняють вертикально-горизонтальний і горизонтально-вертикальний способи.
При вертикально-горизонтальному вся множина мікрооперацій поділяється на кілька рівнопотужних підмножин найчастіше зустрічаючихся в одному такті разом мікрооперацій. Поле КС поділяється на дві частини. Перша довжиною рівна величині підмножини, кодується горизонтально, а друга, що вказує на приналежність до визначеної підмножини, - вертикально.
При горизонтально-вертикальному способі кожній підмножині виділяється окреме поле в поле КС (горизонтальність). Усередині підмножини використовується вертикальне кодування. Це мікрокоманди з польовою структурою. Для них бажано щоб кожна мікрооперація зустрічалася тільки в одному полі.
При прямому кодуванні кожне поле мікрокоманди несе фіксовані функції. Непряме кодування характеризується наявністю додаткових полів, уміст яких дозволяє по різному інтерпретувати поля формуючі керуючі сигнали. (Це використовується у вертикально -горизонтальному кодуванні).Іноді використовується дворівневе кодування. На першому рівні з вертикальним кодуванням вибирається мікрокоманда поле керуючих сигналів якої є адресою горизонтальної мікрокоманди другого рівня (нанокоманди). Це дозволяє гнучко здійснити відносно нечасто зустрічаючийся паралелізм у виконанні мікрооперацій і заощаджувати ємність основної пам'яті.
26. Принципи організації й характеристики систем переривання програм.
Переривання – зміни в потоці управління, визвані не самою прогою, а чимось іншим і зазвичай зв’язані з процесом вводу/виводу. Переривання призупиняє програму і передає управління програмі обробки переривань, після виконання останньої відновлює роботу призупиненої програми з місця зупинки. Це значить, що при виникнені переривання необхідно зберегти стан системи. Крім цього необхідно опитати всі пристрої, щоб визначити хто з них виставив переривання. Це призводить до втрат часу. Щоб цього не робити використовують адресацію переривань. Оскільки вірогідною є ситуація одночасного паступлення кількох переривань, то тут є 2 способи організації реакції ЦП на них: 1 – строга послідовна обробка (можливо деяким пристроям прийдеться простоювати довго, отже можливі втрати інфи), 2 - за допомогою пріоритетного шифратора, коли критичніші пристрої одержують вищий пріоритет.
В процесорах може використовуватися 2 рівні переривань: масковані і немасковані. Немасковані переривання використовуються переважно для повідомлення про надзичайні ситуації: аварії, спробі ділення на 0,... Вони обробляються негайно. Переважно Всі пристрої І/О використовують одне масковане переривання.
Алгоритм обробки маскованих перериваннь:
контролер пристрою встановлює лінію переривання на системній шині.
Коли ЦП готовий до обробки переривання він встановлює підтвердження переривання.
Після підтвердження контролер поміщує номер переривання на інформаційні лінії.
ЦП запам’ятовує номер.
ЦП поміщає в стек лічильник команд, регістр ознак і стан всіх внутрішніх регістрів. Встановлює заборону реакції на нові переривання.
ЦП визначає місцезнаходження нового лічильника команд використовуючи вектор перериваннь і таблицю переривань (якщо лічильник = 4 байти, вектор = р, то адреса = 4р).
Обробка переривання
Відновлення значень стану системи зі стеку
Продовження виконання програми
В сучасних комп’ютерах використовуються зовнішні контролери переривань, що дає змогу переривати навіть обробку переривань, якщо поступає переривання з вищим пріоритетом. Коли ЦП завершує обробку переривання, то він посилає контролеру спец команду.
27. Організація взаємодії процесора з пристроями вводу/виводу. Інтерфейсні схеми пристроїв вводу/виводу.
Інтерфейс (interface) - сукупність засобів і правил, що забезпечують взаємодію пристроїв обчислювальної системи.
Підключення зовнішніх пристроїв до системної шини здійснюється за допомогою електронних схем, називаних контролерами ВВ (інтерфейсами ВВ). Вони узгоджують рівні електричних сигналів, а також перетворять машинні дані у формат, необхідний пристрою, і навпаки. Звичайно контролери ВВ конструктивно оформляються разом із процесором у виді інтерфейсних плат.
У процесі вводу/виводу передається інформація двох видів: керуючі дані (слова) і власне дані, чи дані-повідомлення. Керуючі дані від процесора, називані також командними чи словами наказами, ініціюють дії, не зв'язані безпосередньо з передачею даних, наприклад запуск пристрою, заборона переривань і т.п. Керуючі дані від зовнішніх пристроїв називаються словами стану; вони містять інформацію про визначені ознаки, наприклад про готовність пристрою до передачі даних, про наявність помилок при обміні і т.п. Стан звичайний представляється в декодованій формі - один біт для кожної ознаки.
Регістр, що містить групу біт, до якої процесор звертається в операціях ВВ, утворить порт ВВ. Таким чином, найбільш загальна програмна модель зовнішнього пристрою, що може виконувати введення і висновок, містить чотири регістри ВВ: регістр вихідних даних (вихідний порт), регістр вхідних даних (вхідний порт), регістр керування і регістр стану (рис. 3.1). Кожний з цих регістрів повинний мати однозначну адресу, що ідентифікується дешифратором адреси. У залежності від особливостей пристрою загальна модель конкретизується, наприклад, окремі регістри стану і керування поєднуються в один регістр, у пристрої введення (висновку) мається тільки регістр вхідних (вихідних) даних, для введення і висновку використовується двунаправленный порт.
Рис. 3.1. Програмна модель зовнішнього пристрою
Безпосередні дії, зв'язані з введенням/ввиведенням, реалізуються одним із двох способів, що розрізняються адресацією регістрів ВВ.
Інтерфейс з ізольованими шинами характеризується роздільною адресацією пам'яті і зовнішніх пристроїв при обміні інформацією. Ізольований ВВ припускає наявність спеціальних команд уведення/висновку, загальний формат яких показаний на мал. 3.2. При виконанні команди введення ІN вміст адресуемого вхідного регістра PORT передається у внутрішній регістр REG процесора, а при виконанні команди OUT уміст регістра REG передається у вихідний порт PORT. У процесорі можуть бути й інші команди, що відносяться до ВВ і зв'язаного з перевіркою і модифікацією вмісту регістра керування і стани.
Рис. 3.2. Команди введення/виводу (загальний формат).
Неважко помітити, що в цьому способі адресний простір портів введення і висновку ізольовано від адресного простору пам'яті, тобто в ЕОМ той самий адресу можуть мати порт ВВ і комірка пам'яті. Поділ адресних просторів здійснюється за допомогою керуючих сигналів, що відносяться до систем ВВ і пам'яті (MEMRD# - зчитування даних з пам'яті, MEMWR# - запис даних у пам'ять, ІORD# - читання порту ВВ, ІOWR# - запис у порт ВВ) (# - активний низький рівень сигналів).
В ЕОМ, розрахованої на ізольований ВВ, неважко перейти до ВВ, відображеному на пам'ять. Якщо, наприклад, адресний простір пам'яті складає 64 Кбайт, а для програмного забезпечення досить 32 Кбайт, то область адрес від 0 до 32 ДО-1 використовується для пам'яті, від 32 До до 64 ДО-1 - для введення/виведення. При цьому ознакою, що диференціює звертання до пам'яті і портів ВВ, може бути старший біт адреси.
Таким чином, інтерфейс із загальними шинами (уведення/виведення з відображенням на пам'ять) має організацію, при якій частина загального адресного простору приділяється для зовнішніх пристроїв, регістри яких адресуються так само, як і комірки пам'яті. У цьому випадку для адресації портів ВВ використовуються повні адресні сигнали: READ - читання, WRІTE - запис.
В операційних системах ЕОМ мається набір підпрограм (драйверів ВВ), керуючих операціями ВВ стандартних зовнішніх пристроїв. Завдяки їм користувач може не знати багатьох особливостей ВУ й інтерфейсів ВВ, а застосовувати чіткі програмні протоколи.
Паралельна передача даних
Паралельна передача даних між контролером і ВУ є по своїй організації є найпростішим способом обміну. Для організації паралельної передачі даних крім шини даних, кількість ліній у який дорівнює числу одночасно переданих бітів даних, використовується мінімальна кількість керуючих сигналів.
У простому контролері ВУ, що забезпечує побайтную передачу даних на зовнішній пристрій (мал. 3.5), у шині зв'язку з ВУ використовуються всьго два керуючі сигналу: "Вихідні дані готові" і "Дані прийняті".
Рис. 3.5. Простий паралельний контролер виводу.
Для формування керуючого сигналу "Вихідні дані готові" і прийому з ВУ керуючого сигналу "Дані прийняті" у контролері використовується однорозрядний адресований регістр стану і керування А2 (звичайно використовуються роздільні регістр стану і регістр керування). Одночасно з записом чергового байта даних із шини даних системного інтерфейсу в адресуемый регістр даних контролера (порт висновку А1) у регістр стану і керування записується логічна одиниця. Тим самим формується керуючий сигнал "Вихідні дані готові" у шині зв'язку з ВУ.
ВУ, прийнявши байт даних, керуючим сигналом "Дані прийняті" обнуляет регістр стану контролера. При цьому формуються керуючий сигнал системного інтерфейсу "Готовність ВУ" і ознака готовності ВУ до обміну, переданий у процесор по одній з ліній шини даних системного інтерфейсу за допомогою стандартної операції введення при реалізації програми асинхронного обміну.
Логіка керування контролера забезпечує селекцію адрес регістрів контролера, прийом керуючих сигналів системного інтерфейсу і формування на їхній основі внутрішніх керуючих сигналів контролера, формування керуючого сигналу системного інтерфейсу "Готовність ВУ". Для сполучення регістрів контролера із шинами адреси і даних системного інтерфейсу в контролері використовуються відповідно приймачі шини адреси і приемопередатчики шини даних.
Послідовна передача даних
Використання послідовних ліній зв'язку для обміну даними з зовнішніми пристроями покладає на контролери ВУ додаткові в порівнянні з контролерами для паралельного обміну функції. По-перше, виникає необхідність перетворення формату даних: з рівнобіжного формату, у якому вони надходять у контролер ВУ із системного інтерфейсу мікроеом, у послідовний при передачі у ВУ і з послідовного в паралельний при прийомі даних з ВУ. По-друге, потрібно реалізувати відповідний режиму роботи зовнішнього пристрою спосіб обміну даними: синхронний чи асинхронний.
Синхронний послідовний інтерфейс
Простий контролер для синхронної передачі даних у ВУ по послідовній лінії зв'язку (послідовний інтерфейс) представлений на мал. 3.7.
Рис. 3.7. Контролер послідовної синхронної передачі.
Восьмиразрядный адресуемый буферний регістр контролера А1 служить для тимчасового збереження байта даних до його завантаження в сдвиговый регістр. Запис байта даних у буферний регістр із шини даних системного інтерфейсу виробляється так само, як і в рівнобіжному інтерфейсі (див. Рівнобіжна передача даних і мал. 3.5), тільки при наявності одиниці в однорозрядному адресуемом регістрі стану контролера А2. Одиниця в регістрі стану вказує на готовність контролера прийняти черговий байт у буферний регістр. Уміст регістра А2 передається в процесор по одній з ліній шини даних системного інтерфейсу і використовується для формування керуючого сигналу системного інтерфейсу "Готовність ВУ". При записі чергового байта в буферний регістр A1 обнуляется регістр стану А2.
Перетворення даних з рівнобіжного формату, у якому вони надійшли в буферний регістр контролера із системного інтерфейсу, у послідовний і передача їхній на лінію зв'язку виробляються в сдвиговом регістрі за допомогою генератора тактових імпульсів і двоичного трехразрядного лічильника імпульсів у такий спосіб.
Послідовна лінія зв'язку контролера з ВУ підключається до виходу молодшого розряду сдвигового регістра. По черговому тактовому імпульсі вміст сдвигового регістра зрушується на один розряд вправо й у лінію зв'язку "Дані" видається значення чергового розряду. Одночасно зі зрушенням у ВУ передається по окремій лінії "Синхронізація" тактовий імпульс. Таким чином, кожен переданий по лінії "Дані" біт інформації супроводжується синхронізуючим сигналом по лінії "Синхронізація", що забезпечує його однозначне сприйняття на прийомному кінці послідовної лінії зв'язку.
Кількість переданих у лінію тактових сигналів, а отже, і переданих біт інформації підраховується лічильником тактових імпульсів. Як тільки вміст лічильника стає рівним 7, тобто в лінію переданий 8 біт (1 байт) інформації, формується керуючий сигнал "Завантаження", що забезпечує запис у сдвиговый регістр чергового байта з буферного регістра. Цим же керуючим сигналом встановлюється в "1" регістр стану. Черговим тактовим імпульсом лічильник буде скинутий у "0", і почнеться черговий цикл видачі восьми бит...