Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Пристрій мікропрограмного керування.Содержание книги
Поиск на нашем сайте
Організація роботи пристрою мікропрограмного керування Пристрій мікропрограмного керування виробляє послідовність сигналів, необхідних для виконання програми в комп’ютері. Програма складається з деякої послідовності команд. Команда в комп’ютері виконується за один або за декілька тактів, в кожному із яких виконується одна або декілька мікрооперацій. Кожна мікрооперація представляє собою деяку елементарну дію передачі або перетворення інформації, яка ініціюється поступленням керуючого сигналу (мікронаказу) на вхід керування відповідного пристрою. Послідовність елементарних мікронаказів, які пристрій керування формує в одному такті, називають мікрокомандою. Послідовність мікрокоманд, що необхідно виконати для виконання однієї команди, називаються мікропрограмою. Звичайно, мікропрограма може складатися і лише з однієї мікрокоманди. Основними принципами, які покладені в основу побудови пристрою мікропрограмного керування, є наступні: 1. Всі мікронакази, які повинні бути виконані в одному такті роботи комп’ютера, збираються в одне керуюче слово, яке називають мікрокомандою. 2. Кожній команді з системи команд комп’ютера ставиться у відповідність послідовність мікрокоманд, необхідних для її виконання, тобто мікропрограма виконання команди в комп’ютері. 3. Всі мікрокоманди зберігаються в пам’яті. Це може бути основна пам’ять комп’ютера, а ле в більшості комп’ютерів для зберігання мікрокоманд використовується окрема пам’ять, яку називають пам’яттю мікрокоманд. 4. Для реалізації деякої команди необхідно зчитати з пам’яті мікрокоманд відповідну послідовність мікрокоманд (мікропрограму) та подати розподілену в часі послідовність керуючих сигналів на відповідні керуючі входи вузлів комп’ютера. На рис. 8.17 показано основний елемент пристрою мікропрограмного керування - нам ’ять мікрокоманд, та вузли на її входах і виходах, а саме мікропрограмний лічильник (МКПЛ) для зберігання адреси мікрокоманди та регістр мікрокоманди (РгМК).
На рис. 8.17 показано і формат самої мікрокоманди,-до складу якої входять наступні поля: код мікрооперації, за яким формуються мікронакази, що виконуються в одному такті роботи комп’ютера, код умов, котрий вказує, при яких умовах може бути змінено послідовність читання мікрокоманд з пам’яті, а також адреса наступної мікрокоманди. Структура пристрою мікропрограмного керування представлена на рис. 8.18.
В регістрі команди РгК зберігається команда, яка підлягає виконанню в комп’ютері. За її кодом операції КОП з пам’яті адрес перших мікрокоманд мікрокодів зчитується адреса пам’яті мікрокоманд, в якій знаходиться перша мікрокоманда із послідовності мікрокоманд (мікропрограми, або як її іще називають, мікрокоду) її виконання. Пам’ять мікрокоманд в більшості випадків реалізується на основі постійного запам’ятовуючого пристрою ПЗП, хоча може бути реалізована і на основі оперативного запам’ятовуючого пристрою ОЗП, особливо на етапах відлагодження комп’ютера. В цій пам’яті зберігаються мікрокоманди для всіх команд комп’ютера, а також для початку роботи комп’ютера та для обробки переривань. В схемі формування адреси СФА, до складу якої входять пам’ять адрес перших мікрокоманд мікрокодів, суматор-мультиплексор СМ-МП, мікро- програмний лічильник МКПЛ та комбінаційна схема КС формування переходу, визначається адреса комірки пам’яті мікрокоманд, в якій знаходиться наступна мікрокоман- да. Ця адреса формується з врахуванням полів адреси наступної мікрокоманди АНМК та коду умови з регістра мікрокоманди, а також сигналів стану, які поступають з регістра слова стану програми. Мікрокоманда зчитується із пам’яті в регістр мікрокоманди РгМК, в якому вона зберігається протягом одного такту роботи комп’ютера. На основі коду мікрооперації КМКО з регістра мікрооперації на виході дешифратора ДШМКО формуються сигнали керування. Робота компонента пристрою керування синхронізується з контролера послідовності мікрокоманд, який отримує ззовні тактові імпульси з генератора тактових імпульсів, а також код режиму роботи комп’ютера. Контролер послідовності мікрокоманд є ядром пристрою керування. Він має два окремих режими роботи: звичайний режим та режим запуску комп’ютера. В звичайному режимі контролер послідовності мікрокоманд генерує сигнали керування роботою пристрою керування. Тактові імпульси на його вході забезпечують його часову синхронізацію, що дозволяє генерувати наступні послідовності сигналів: 1. Керування процесом формування адреси мікрокоманди. Ця адреса одержується шляхом: ■ запису в мікропрограмний лічильник МКПЛ адреси першої мікрокоманди мі- кропрограми виконання відповідної команди з пам’яті адрес перших мікрокоманд мікрокодів; ■ запису в мікропрограмний лічильник МКПЛ адреси наступної мікрокоманди мікропрограми виконання відповідної команди після виконання в суматорі-мульти- плексорі СМ-МП операції приросту вмісту МКПЛ на 1; ■ запису в мікропрограмний лічильник МКПЛ адреси наступної мікрокоманди АНМК з адресного поля РгМК, з врахуванням коду умови КУ з поля умовного переходу РгМК, та коду стану програми з регістра слова стану програми, що здійснюється в комбінаційній схемі КС формування переходу. Керування зчитуванням мікрокоманд з пам’яті мікрокоманд за адресами з мікро- програмного лічильника МКПЛ та їх записом до регістра мікрокоманд РгК. Стимулювання дешифратора мікрооперацій ДШМКО, який здійснює дешифрування коду мікрооперації КМКО з відповідного поля РгМК, та видає сигнали керування (мікронакази). Кожна команда процесора ініціює виконання відповідної мікропрограми. Коли пристрій керування закінчує виконання мікропрограми однієї команди комп’ютера, про що його контролер послідовності мікрокоманд інформується сигналом з виходу дешифратора мікрооперацій ДШМКО, він вибирає з основної пам’яті наступну команду, та записує її в регістр команди РгК сигналом з виходу дешифратора мікрооперацій ДШМКО, після чого приступає до її виконання шляхом зчитування з пам’яті мікрокоманд наступної мікропрограми. В ході виконання різних команд можуть використовуватися загальні ділянки мікро- програм, які називаються мікропідпрограмами.
В режимі запуску комп’ютера пристрій керування встановлює вміст різних регістрів комп’ютера в початковий стан шляхом їх скиду, або запису до них деяких конкретних значень. Після цього він записує апаратно генеровану адресу до програмного лічильника ПЛ (не мікропрограмного лічильника МКПЛ), та починає виконання програми. Для деяких комп’ютерів апаратно генерована адреса - це вектор скиду, який є адресою першої команди комп’ютера, яка виконується після старту. Для інших комп’ютерів апаратно генерована адреса це адреса вектора скиду, який є адресою першої команди комп’ютера, яка виконується після старту. В цьому випадку пристрій керування спочатку повинен вибрати з основної пам’яті вектор скиду, та записати його до програмного лічильника ПЛ. Організація мікропрограм в пам’яті мікрокоманд Є багато шляхів можливої організації мікропрограм в пам’яті мікрокоманд. Один з них, ілюстрований на рис. 8.23, передбачає розміщення мікрокоманд в пам’яті послідовно. Кожна машинна команда має свою власну послідовність мікрокоманд в пам’яті мікрокоманд. Додатково пам’ять мікрокоманд містить мікрокоманди для проведення вибірки команд з основної пам’яті, запуску переривання, та деяких інших дій керування. Розглянемо цей тип організації мікропрограм в пам’яті мікрокоманд. Після того, як пристрій керування вибирає машинну команду з основної пам’яті і розміщує її в регістрі команди РгК, він повинен генерувати так звану адресу точки входу для коду операції команди КОП, яка є адресою першої мікрокоманди мікропрограми. Наприклад, якщо пристрій керування вибирає мікрокоманду для коду операції КОПІ, він повинен генерувати адресу Аі, як показано на рис. 8.19. Формування адреси точки входу є задачею пам’яті адрес перших мікрокоманд мікрокодів блоку обчислення адреси (рис. 8.18). Після того, як пристрій керування формує адресу точки входу, контролер послідовності мікрокоманд збільшує вміст мікропрограмного лічильника МКПЛ, щоб одержати адресу кожної наступної мікрокоманди. Після виконання останньої мікрокоманди в мікропрограмі (тобто, після завершення виконання однієї машинної команди), контролер послідовності мікрокоманд повинен ще раз виконувати мікропрограму вибірки наступної команди з основної пам’яті. На рис. 8.19 це є перехід до комірки Ам пам’яті мікрокоманд. Постає питання - як може контролер послідовності мікрокоманд керувати розгалуженнями в межах мікропрограм пам’яті мікрокоманд? На рис. 8.18 показано один з варіантів вирішення цього завдання. До цих пір ми розглядали мікропрограми без розгалужень. Однак існують мікрокоманди переходу, які містять адресу переходу та мікронакази для схеми формування адреси СФА додатково до мікронаказів для інших вузлів комп’ютера. Контролер послідовності мікрокоманд разом з схемою формування адреси СФА, використовує адресу наступної мікрокоманди (АНМ1<) та код умови переходу (КУ) для визначення адреси наступної мікрокоманди. Для керування переходом в коді мікрооперації КМКО кожної мікрокоманди наявна інформація про належність цієї мікрокоманди до мікрокоманд переходу. Тому в кожному такті на виході дешифратора мікрокоманд ДШМКО генерується мікронаказ, який інформує контролер послідовності мікрокоманд про належність, або неналежність, даної мікрокоманди до мікрокоманд переходу. Якщо це мікрокоманда переходу, то контролер послідовності мікрокоманд повідомляє схему формування адрес про необхідність формування адреси переходу, а не приріст на одиницю вмісту мікропрограмного лічильника МКІІЛ. При цьому, якщо це безумовний перехід, то перехід відбувається за адресою з адресного поля мікрокоманди. Якщо ж це умовний перехід, то адреса наступної мікрокоманди формується з врахуванням коду умов переходу та коду стану програми, який поступає з регістра стану програми регістрової пам’яті процесора. Горизонтальне та вертикальне мікропрограмування Завдання вибору формату мікрокоманди є досить складним. З одного боку, мікрокоманда повинна вміщувати коди керування вузлами комп’ютера, забезпечувати організацію послідовності мікрокоманд в мікропрограму та можливість зміни порядку мікрокоманд в мікропрограмі. З іншого боку, ці функції повиьні виконуватись з мінімальною кількістю бітів в мікрокоманді, з мінімальною кількістю слів з пам’яті мікрокоманд, та з мінімальним часом на виконання мікропрограми. Розглянемо деякі питання вибору ефективного формату мікрокоманди. За способом формування керуючих сигналів розрізняють горизонтальне і вертикальне мікропрограмування. При використанні горизонтального мікропрограмування кожний розряд поля коду мікрооперації мікрокоманди формує один керуючий сигнал (мікронаказ) для відповідного входу керування функціонального вузла комп’ютера (рис. 8.20). Кількість розрядів мікрокоманди визначається з виразу М = п+к+гп, де п - розрядність адреси мікрокоманди, яка рівна п = к^21М, де N - кількість мікрокоманд в пам’яті, к - кількість мікронаказів, необхідних для керування вузлами пристрою керування, т - кількість мікронаказів, необхідних для керування вузлами комп’ютера. В цьому випадку відпадає потреба в дешифраторі мікрокоманд. Оскільки у комп’ютерах кількість мікронаказів може досягати декількох сотень, мі- крокоманда в цьому випадку стає дуже широкою. Кількість керуючих бітів мікрокоманди зменшують використовуючи наступні способи: • Групуванням бітів. В групи об’єднуються такі мікронакази, які завжди виконуються одночасно. При цьому для групи виділяється лише один біт. ■ Групування форматів. В групи об’єднуються такі мікронакази, з яких в даному такті виконується тільки один. Ці мікронакази кодуються в полі, де кількість бітів к = 1од,Ь, де Ь - кількість мікронаказів. ■ Групування мікронаказів. Групі мікронаказів виділяється один біт мікрокоманди та використовується багатотактова синхронізація. При використанні вертикального мікропрограмування мікрокоманда складається з полів коду мікрооперації, коду умов переходу і адреси наступної мікрокоманди, як це було розглянуто раніше (рис. 8.17). Тобто формат мікрокоманди подібний до формату команди комп’ютера. Цей метод дозволяє більш ефективно використовувати поля мікрокоманди, тобто команда є коротшою, а об’єм пам’яті меншим, порівняно з горизонтальним мікропрограмуванням. Разом з тим, горизонтальне мікропрограмування є швидшим, оскільки не вимагає використання дешифраторів.
|
|||||||||
Последнее изменение этой страницы: 2016-08-01; просмотров: 571; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.69.83 (0.008 с.) |