Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Поібник до екзамену.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

2 Структура базового центрального мікропроцесора

Головним операційним пристроєм процесорного модуля є центральний мікропроцесор. Функції, які виконує основний пристрій, полягають в виконанні обчислень, які передбачено командами програмуються. В мікропроцесорі нарівні з обробкою даних ведеться обчислення адресної інформації. В першу чергу це відноситься до визначення ефективної адреси та адреси фізичної пам'яті.

Структурно мікропроцесор складається з двох паралельно працюючих пристроїв – операційного блока та блока шинного інтерфейсу. Між цими блоками по запитам ведеться приховано від користувача обмін інформацією, до якої відносяться адреси та числові дані. Третім пристроєм мікропроцесора є блок мікорпрограмного керування. Крім сприйняття та формування зовнішніх сигналів, які існують на виводах мікропроцесора, блок формує внутрішні сигнали мікрооперацій, які поступають в обчислювальні пристрої мікропроцесора. Мікропрограмний блок по структурному складу є складним дискретним автоматом і представляє собою велике накопичення функціональних елементів. Робота керуючого пристрою визначається командою мікропроцесора, яка на поточний час виконується. Структура головного мікропроцесора повністю підпорядкована принципам модульності, магістральності та мікропрограмованості.

Склад операційного обладнання мікропроцесора полягає в наявності арифметико логічного паристою, регістрового файлу та допоміжної логіки. Комбінаційна частина арифметичного пристрою представляє собою чотирьох функційний логічний суматор з функціями додавання, логічної кон’юнкції та диз’юнкції і логічної нерівнозначності. Розрядність суматора змінна від восьми до шістнадцяти. Суматор оточений вхідними програмно не доступними регістрами, логікою формування вхідного перенесення, схемою формування прапорів перенесень. Регістр прапорів та логічна схема формування арифметичних прапорів також входять в склад обчислювального пристрою головного мікропроцесора. Арифметико логічний пристрій має інтерфейс з внутрішньо двонаправленою магістраллю. До цієї магістралі підключено регістровий файл мікропроцесора, який складається з програмно доступних та спеціалізованих регістрів.

Головним регістром є акумулятор та його розширювач до утворення акумулятора подвійної розрядності AX (Accumulator). Спеціалізація акумулятора полягає в використанні його при виконанні в мікропроцесорі команд множення та ділення, а також введення та виведення даних. Частина словарних регістрів поділена пополам з метою утворення байтових структур. Усі регістри файлу мають певну спеціалізацію по їх використанню певними командами. Інколи регістри не адресуються командами, вони адресуються по замовченню.

Регістр CX (Counter) спеціалізовано у якості лічильники циклів при виконання команди зациклення та деяких ланцюгових інструкцій. Розширювачем акумулятора є регістр DX (Data extended), який конкатенується в старшу частину при певних умовах в командах множення та ділення.

Більша частина регістрів спеціалізована на адресацію даних в сегментах даних і стеку. В зв’язку з цим регістри отримали назву загального призначення. Регістр BX (Base data) має призначення непрямої адресації пам'яті даних, що зменшує байтність команд. Аналогічну функцію, але уже для сегменту стеку, виконує регістр BP (Base Pointer). До речі, вершина системного стеку адресується по замовченню покажчиком адреси SP(Stack Pointer).

І останні індексні регістри SI (Source Index), DI(Destination Index) використовуються по замовченню ланцюговими командами у якості непрямих адрес джерела в основній пам'яті та приймача даних в допоміжній пам'яті. Крім того, ці регістри можна використовувати для адресації пам'яті даних непрямим способом, а також у якості регістрів тимчасової пам'яті проміжних результатів.

Після арифметико логічних обчислень в мікропроцесорі формується та фіксується в приймачі результат і його ознака у вигляді шести прапорів стану, які також фіксуються в регістрі прапорів FX (Flags Registers). В цьому регістрі зберігаються ще два системних прапора та один управляючий. Усі шість прапорів тестуються командами галуження та десяткової корекції. Переважна більшість прапорів, їх заперечення та деякі комбінації окремих прапорів перевіряються командами умовного переходу. Така можливість спрощує окремі процедури в програмних галуженнях та при зацикленнях. Окремі команди не чіпляють окремі прапори стану, або їх скидають в ноль.

Схема однорозрядного логічного суматора реалізує, крім мікрооперації додавання, ще три логічні (логічне додавання, множення та нерівнозначності), які визначили групу арифметико логічних команд базової системи. Арифметико логічна команда, яка виконується в мікропроцесорі, збуджує пристрій керування на формування певних керуючих сигналів. Схема формує завжди чотири функції – одну арифметичну та три логічних. Мультиплексор передає на вихід тільки потрібну одну функцію. Каскадне поєднання однорозрядних схем суматора, підключення схеми формування паралельного міжрозрядного перенесення складають повний суматор, який отримав ще одну назву - арифметико логічний пристрій (АЛП ) комбінаційного типу.

Спрощена структурна схема арифметичного пристрою базового мікропроцесора приведена на нижньому малюнку. Для детального розуміння роботи пристрою в схемі присутні операційні елементи такі, як регістровий файл, внутрішня черга команд та дешифратор інструкцій мікропроцесора.

Комбінаційна частина обчислювального пристрою ALU оточена програмно недоступними вхідними регістрами RG_X, RG_Y, RG_Z. Регістр RG_X є приймачем першого операнду, RG_Y – другого. Регістр RG_Z тимчасово зберігає перший операнд з метою фіксації в регістрі RG_X результату. Така будова необхідна для формування окремих арифметичних прапорів. Комбінаційна логіка формування підключена якраз до виходів цього регістра. Допоміжна логіка між регістром RG_Y та входам суматора забезпечує під схемним керуванням від пристрою керування передачу прямого чи оберненого значення в АЛП. Обернене значення формується на командах віднімання тому, що другий операнд приймає участь в обчисленнях з доповненням. У цьому випадку вхідне перенесення повинно дорівнювати одиниці.

Вхідне CI, вихідне CO перенесення формується та оброблюється автоматично певною допоміжною логікою. Вхідне перенесення в суматор пристрою формує мультиплексор, який керується кодом від шифратора команд та комутує на вихід одне з чотирьох значеньноля або одиниці, стану прапора основного перенесення або його заперечення. Прапор перенесення CF ураховується після дії попередньої команди. Вихідне перенесення фіксується у якості прапора основного перенесення в певному тригері. Відноситься це до додавання, на операції віднімання вихідне перенесення, перш ніж за фіксується в тригері , інвертується, фіксуючи позику.

Дешифратор команд ID (Instruction Decoder) декодує команди із внутрішньої черги та формує мікроінструкції I3, I2, I1, I0. Лінії I1, I0 програмують комбінаційну частину АЛП з метою вибору однієї арифметичної або трьох логічних операції. До речі, за терміном одна арифметична ховається чотири дії – дві додавання без та з урахуванням перенесення та дві віднімання без та з урахуванням позики. Лінії I3, I2 програмують комбінаційну логіку на формування певного вхідного перенесення, фіксацію в регістрі прапорів певного прапора основного перенесення та на передачу в суматор необхідного (прямого чи з запереченням) значення другого операнду. Усі ці дії виконуються автоматично під програмним керуванням від відповідної логіки, я складає внутрішній пристрій керування головного мікропроцесора.

Пристрій шинного інтерфейсу мікропроцесора так, як і операційний, є складним обчислювачем мікропроцесорного обладнання. До складу пристрою входять суматор адреси, блок сегментних регістрів з програмним лічильником та внутрішня черга команд. Блок інтерфейсу безпосередньо повязан з двонаправленим буфером адреси-даних з третім високо імпедансним станом. З одного боку буфер є передавачем в зовнішнє середовище адреси фізичної пам'яті чи портів ведення-виведення, а з іншої сторони через буфер по обох напрямках передаються дані, яки процесор пише в пристрої або читає від зовнішніх об’єктів. Мультиплексна шина адреси-даних забезпечує в часу розподілу по мікротактам на поточному магістральному циклі виконувати такі передачі.

Програмна пам'ять, яка читається процесором, знаходиться в фізичному просторі, а команди, які отримує процесор від неї через буфер, фіксуються у внутрішній черзі. Командний потік, прочитаний з попередженням, знаходиться у внутрішній черзі, яка послідовно читається процесором. Така конвеєризація збільшує швидкодію процесора.

Блок сегментних регістрів складається з чотирьох програмно доступних регістрів ES, CS, SS, DS, які адаптовані на збереження селекторів – джерела бази певного сегменту. Базовою адресою називається початкова адреса в фізичній пам’яті сегменту, ємність якого не перевищує 64 К байти. Існує чотири типи сегментів основних та допоміжних даних, програмного та стеку. Тип сегменту визначається типом сегментного регістру, який на поточний час є джерелом селектора. Вибір сегментного регістру виконується по замовченню і виконується автоматично, залежно від того куди буде звертається процесор.

З іншого боку селектор є компонентою логічної адреси, друга складова – зміщення або ефективна адреса, яку процесор визначає в операційному пристрої також приховано та автоматично. Логічна адреса є джерелом для блока шинного інтерфейсу, де обчислюється фізична адреса пам'яті. Компоненти Selector, Offset

логічної адреси передаються в суматор адреси, у якому обчислюється 20-ти розрядна адреса A19-A0 фізичної пам'яті. Суматор адреси по 32-ти бітній логічній адресі визначає 20-ти розрядну адресну інформацію згідно з формулою Addr_20 = (Seltctor)*16 + Offset.

Взаємодія між операційним блоком та шинним інтерфейсом мікропроцесора виконується по внутрішнім запитам, що збільшує швидкодію комп’ютерної системи. Мнемонічні абревіатури команд програми задають спосіб адресації оперенду в пам'яті. Як відомо, в пам'яті комп’ютера можна адресувати дані 24-ма способами, що свідчить про таку кількість обчислень ефективної адреси. На малюнку зверху приведена гіпотетична схема взаємодії операційного пристрою та блока шинного інтерфейсу мікропроцесора. Визначення ефективної адреси приховане, як приховане обчислення фізичної адреси, та проходить в АЛП в паузах між обчисленнями, які передбачені командами мікропроцесора. Кількість компонентів в найгіршому випадку, які додаються між собою досягає трьох. Тому додавання в арифметичному пристрої виконуються за два акти. Ефективна адреса Offset розрядністю 16 біт передається в блок шинного інтерфейсу для обчислення фізичної адреси.

Суматор адреси SMA інтерфейсного блоку має шістнадцять розрядів. Операндами є селектор Selector від відповідного сегментного регістру та зміщення Offset від АЛП. Сума формується шляхом додавання селектора та дванадцяти старших розрядів зміщення з чотирма приписаними старшими нулями. Молодші чотири розряди ефективної адреси конкатенуються до шістнадцяти старших розрядів суми, що загалом складає 20-ти розрядну фізичну адресу пам'яті. Вхідне перенесення суматора повинно дорівнювати нулю, а вихідне ніде не ураховується. Таким чином, тридцяти двох розрядна логічна адреса є джерелом для обчислення двадцяти розрядної фізичної адреси.

Програмний лічильник ІР в мікропроцесорі виконує важливу функцію – є джерелом ефективної адреси командного потоку від програмної пам'яті в мікропроцесор. До речі, стан лічильника збільшується на два в АЛП, а фізична адреса визначається за рахунок використання іншої компоненти адреси – селектора від сегментного регістра CS. Програмна пам'ять читається з метою завантаження внутрішньої черги двома байтами потоку команд. Команди галуження змінюють стан лічильника шляхом модифікації попередньої відносної адреси завантаженням або додаванням певної величини.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]