Двухуровневый : команда – микрокоманда – нанокоманда (в Motorolla 6800)

SEQ нанопамять

![]()
МПП адрес соответствующей нанокоманды

256 нано горизонтальная микрокоманда
слов память
регистр нанокоманды
Содержимое нанопамяти – система нанокоманд (гориз. МК)
1., 2. Примерно как у смешанного
3. чуть медленнее чем смешанное
9. Классификация способов адресации микрокоманд и их сравнительная оценка. Реализация переходов.
Адресное поле |
![]()
![]()


Упр SEQ Упр MUX? Адрес МК
условий
Различают 2 способа адресации:
- Естественная (min оборудования).
- Принудительная (min время формирования адреса, оборудования max).
Естественная – формирование следующ. адреса осуществляется с помощью счетчика. Безусловный переход от МК с адресом i осуществляется к МК с адресом i+1, адресное поле не нужно, что сокращает затраты на оборудование. Однако, при этом в микропрограмму вводят помимо операционных адресные МК, что усложняет дешифрирование и увеличивает длину микропрограмм.
Принудительная – в адресе МК указывается полноразрядный адрес.
В современной технике используются сразу оба способа. Используется SEQ внутрь которого спрятан счетчик:
Адресное поле | |
Упр SEQ | адрес |
Ветвление в МК программах
Последовательное выполнение МК может зависеть от каких-либо признаков.
Адресное поле содержит правила формирования адреса следующ. МК, управление подачей признака, правила формирования флага (комбинированные признаки)
NEXT
SKIP F 1 if F then WAIT else NEXT
If(F1, F2, ….Fn) then WAIT else ….
GOTO 0
CALL
RETURN


1 F
0 if F then SKIP else NEXT
Система адресации МК должна быть способна формулировать произвольное значение адреса за min время. В пределе такой же как на линейном участке МК программы. В двунаправленном ветвлении такое возможно, в трех – нет.
Естественная адресация
Безусловный переход
0/1 | КМОП / Адрес перех |
При этом если “1” – остальные устройства остаются без надзора, однако если можно переводить в режим NOP (ожидание)
то
1 | ………….. | - простой останов устройств |
Двунаправленный переход

А

![]()
![]()
1 0
![]()
А+1 В à из адресного поля (принудительно).
Возникновение проблем – объединение двух способов адресации.
При большом направлении ветвления можно прибавить значение флага
RGMK
Адр. поле

Тип перех Адрес
![]()
![]()
ROM

![]()

А
![]()
МПП
F
10.Понятие прерывания программ. Типы прерываний. Характеристики, структуры систем прерываний и их сравнительная оценка.
Прерывание программы – это способность ЭВМ временно прекращать выполнение текущей программы при возникновении какого-либо события, вызывать программу обработки этого события, а затем возвращаться к выполнению прерванной программы.(понятия: прерываемая программа, прерывающая программа)
Типы прерываний
trap – внутренние прерывания или синхронные прерывания, или программные, или исключения (особые ситуации: деление на 0, переполнение), возникают всегда в одном месте.
interrupt – внешние или асинхронные прерывания, связаны с организацией в/в.
Характеристики:
1. Общее кол-во запросов на прерывания
2. Время реакции – tр время между появлением запроса на прерывание и началом выполнения прерывающей программы
3. Время обслуживания – равно суммарному расходу времени на запоминание и восстановление состояния программы
tобсл = tзап + tвосст
4. Глубина прерывания – max число программ, которые могут прервать друг друга. Системы с большой глубиной прерываний обеспечивают более быструю реакцию на срочные запросы.
Pi программа Pi программа
запрос ![]()
![]()
![]()

![]()

![]()
Р обраб
tp tзап tвосст
![]() |
1. система с нулевой глубиной прерывания
р | р | р | р | |||
Р1 | Р2 | Р3 |

![]()
Запрос

![]()
зп1 зп2 зп3
2. с произвольной глубиной прерывания
Р | Р | |||||
Р1 | Р1 | |||||
Р2 | Р2 | |||||
Р3 |

![]()
запрос
зп1 зп2 зп3
Структуры систем прерываний:
Структуры – способ передачи запроса в ЦП и способы идентификации источника.
1.С одной линией запроса

Структура предполагает программное распознавание источника; аппаратные запросы
– последовательный опрос RG S устройства. Адрес однозначно идентифицируется устройством, а RG S – определяет причину.
«-» – последовательный опрос (для большого количества устройств). Tпередачи вектора = Tопроса устройств
«+» – простота реализации
2. Структура с одной линией запроса и последовательной цепочкой сигналов подтверждения

По другому – цепочка переключений; более быстрая и аппаратно сложная.
Идентификация устройства осуществляется через вектор. Устройства восстанавливают запрос, развивая цепь подтверждений. Как только устройство выдает запрос – оно разрывает цепь. Приоритет устанавливается порядком подключения устройств сигналом INT A.
Работа (устройство ЦП):
1. Формируется запрос INT A.
2. Формируется запрос INT A – устройство, сформировавшее запрос разрывает цепь
3. Устройство получает INT A: D : = VECT, C : = “VECT”
4. Чтение вектора INT A: = 0
5. Устройство получает INT A: = “0”: сбрасывается вектор, сбрасывается запрос и восстанавливается линия распространения сигнала INT A.
![]() |
3. С индивидуальными линиями запроса.
4. Если много устройств, то объединяют второй и третий вариант.
Два варианта борьбы с зависанием (для второго варианта):
1. От последнего устройства подать запрос обратно
2. Запуск TIME после запуска INT A.
11.Способы обнаружения запросов, распознавания причин прерывания и способы формирования начального адреса прерывающей программы.
![]() |

ЗП
Распознавание причин прерываний источника
Внутренние: источник CPU – по КОП можно узнать причину
Внешние: устройство посылает запрос к CPU – вектор прерываний однозначно идентифицирует источник прерывания
![]()
AB
CPU
DB
![]()
CB

устр вектор прерывания à таблица à адрес обработчика
Вектор – адрес, он передается по шине DB (не по АВ т. к. АВ однонаправленная), т. е. по вектору можно узнать источник
За каждым устройством закреплены 3 адреса (не в ОП)
- в RGK – управление
- в RG данных
- в SRG
//Вектор прерывания – вектор начального состояния прерывающей программы. Он содержит всю необходимую информацию для перехода к прерывающей программе, в том числе ее начальный адрес. Каждому запросу прерывания соответствует свой вектор прерывания способный инициализировать выполнение соответствующей прерывающей программы. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти.
Главное место в организации перехода к прерывающей программе занимает передача из соответствующего регистра(ов) процессора в память (в стек) на сохранение текущего вектора состояния прерываемой программы и загрузка в регистр(ы) процессора вектора прерывания прерывающей программы, к которой при этом переходит управление процессором.
В простейшем случае вектор прерывания состоит из начального адреса прерывающей программы. Процедура организации перехода к прерывающей программе включает в себя выделение из выставленных запросов такого, который имеет наибольший приоритет.// (относится и к вопросу 13)
12.Методы определения допустимого момента прерывания и организация вхождения в прерывающую программу.
Организация вхождений (нужно решить 2 задачи):
1. Какую программу прервать
А) перед чтением следующей команды (после завершения текущей). Обработка на машинном и макропрограммном уровне.
Б) В процессе выполнения операции, но после завершения микрооперации. Обработка на микропрограммном уровне.
2. Как выбрать программу обработки
Внутренние прерывания – можно обработать только на микропрограммном уровне
Внешние можно обработать как на микро, так и макроуровне.
13.Способы возврата из прерываний.
Возврат зависит от того, на каком уровне обрабатывалось прерывание (INT).
- На уровне команд. Тогда все просто: продолжить выполнение с первой невыполненной команды и восстановить содержимое всех программно доступных регистров
- На уровне МК. Если реализовывать как предыдущее, то увеличивается кол-во информации, которую надо записывать программно, RG не достаточно.

![]()
![]()
Способы возврата
1. 
Возврат с перезапуском
INT
2. ![]()

![]()

С продолжением
INT
3. ![]()
![]()
С подавлением
Возврат с подавлением используется редко (не используется при обычных прерываниях) Если в программе пользователя есть привилегированные операции (например в машинах разделения времени – физ. I/O) то возврат с подавлением.
Intel – использует возврат с перезапуском;
Motorolla 68K – с подавлением.
В перезапуске есть одна тонкость – нужен спец анализ на вид прерывания: внешнее или внутреннее. Надо учитывать точку возврата. Если содержимое регистров не изменилось, то возврат с перезапуском возможен, если изменилось, то нет.
При микропрерывании надо запомнить адрес новой МК (вых SEQ, МПП)
Если INT на уровне команд, то нужно запомнить
1. указатель команд (IP)
2. Длина команды (той, которая была прервана) нужна, при «возврате с перезапуском», т. к. адрес след МК операции генерир. 1, 2 такта.
3. Триггер работа-остановка (остановка – выполнение пустой программы)
4. Маска прерывания
5. Информация о распределении и защите памяти
Это все оформляется как слово состояния процессора (ССП, PSW). В начале прерывания запомним ССП, а обработчик запоминает всю остальную информацию, которая нужна.
1.1Если ССП запоминается в ОП, то в ячейке с фиксированными адресами.
VECT à адрес à CCП
àадрес обработчика
0……..0 | V ect | - адрес, где ССП |
0……..1 | V ect | - адрес обработчика |
1 байт
Недостаток: повторное прерывание от одного обработчика запрещено, т. к. ССП будет потеряно
2.1 Адреса обработчика и ССП не связаны между собой, ССП помещается в стек, vect à адрес обработчика
Достоинство: Может рассматриваться и повторное прерывание по одному и тому же вектору.
Запоминание PSW.
1.2 В ОП памяти. Для формирования адресов используется вектор прерывания.
Существует таблица PSW «старых» и «новых» программ.
Недостатки:
- Нет возможности вложенных прерываний по одному вектору.
- Неперемещаемость таблиц (можно исправить).
2.2 Использование стека.
3. СУПЕР ЭВМ.
К АЛУ подключен один из регистров, остальные находятся в режиме ожидания. В этих регистрах хранится вся информация, включая ССП.
Применяется в суперЭВМ.
Преимущества: скорость (время запоминания = время переключения между регистрами), возможность вложенных прерываний
Недостатки: ограничение числа прерываний, большие аппаратные затраты
![]() | |
| |
14.Приоритетное обслуживание прерываний.
Установка очерёдности зависит от структуры систем прерываний.
Структуры систем прерываний:
1. Цепочечная (последовательная)
2. С индивидуальными линиями запроса (параллельная)
|


Устройство, выставившее запрос, разрывает линию подтверждения. Устройство, выставившее запрос, выставляет вектор. Получив вектор, процесс снимает INTA.
Снятие INTA снимает вектор. Вектор – информация, необходимая для запоминания.
Когда идёт запоминание восстановления программы, все запоминания запрещены.
Прерывания с индивидуальными линиями запроса:
SYS BUS PIC – контроллер прерываний
AB
=====
DB
===== - общее количество линий определено
CB
=====
Самая приемлемая структура – это объединение цепочной и с индивидуальными линиями запроса.
Приоритет между запросами внутри контроллера:
Контроллер прерываний:


На контроль поступает синхросигнал, т. к. запросы поступают в произвольное время. Если на входе
все 1, то будет сформирован VECT=0, и будет выбран первый вход.
Состояние счётчика – номер входа, на котором впервые обнаружена 1.

Счётчик считает до тех пор, пока не обнаружится 1.
:последовательная или с круговым приоритетом
Есть приоритет между запросами и отдельно между программами. Использование маски прерывания для приоритета между запросами. Более применимо для структуры с индивидуальными линиями запроса.
В составе контроллера есть регистр маски. Он доступен как для записи, так и для чтения. Разрядность – количество запросов.
Схема «М»

Если соответствующий бит маски = 1, то прерывание разрешается, иначе нет. Каждая команда имеет свою маску. В цепочной системе контроллера нет.


Если команда, устанавливающая маску, требует адрес Set M Адр. (полноразрядный) – это относится к PCI. Если адреса нет, то это относится к триггеру. NMI запретить нельзя. Во время запоминания и восстановления все прерывания запрещены.
16. Назначение, функции структуры контроллеров прерываний. Примеры.
Назначение контроллера прерываний и его структурная схема
Для управления всеми ресурсами в системе используются прерывания, которые указывают какое устройство их инициализирует, прерывания формируются в BIOS. Для управления прерываниями оп-ределяют их приоритеты, в системе используют контроллеры прерываний. Архитектура ПК предусмат-ривает как минимум 2 контроллера. Эти контроллеры прерываний инициируют запросы прерываний на входе процессора. Прерывания, инициируемые контроллерами, могут маскироваться в самом процессоре.
Контроллеры имеют иерархическую подчинённую систему. Два контроллера могут обслуживать до 15 запросов прерываний. Если контроллера не хватает, их можно объединить с другими контроллерами, образуя каскадированную структуру. Контроллеры в прерываниях последнего уровня должны обслуживать не критические запросы прерываний. Прерывания в виде импульса поступают от устройств.
Когда устройству необходимо обратиться к соответствующему ресурсу, оно инициирует прерывание, которое фиксируется контроллером прерываний. При этом контроллер прерываний активизирует свой выход прерываний на системной шине.

17. Классификация, характеристики запоминающих устройств. Структура памяти ЭВМ.
КЛАССИФИКАЦИЯ ЗАПОМИНАЮЩИХ УСТРОЙСТВ
По назначению запоминающие устройства (ЗУ) ЭВМ разделяют на:
· внешние ЗУ (ВЗУ) с информационной емкостью до нескольких сотен и тысяч мегабит, длительными сроками хранения информации, малым быстродействием;
· оперативные ЗУ (ОЗУ) с существенно более высоким быстродействием, чем ВЗУ; с информационной емкостью до нескольких десятков миллионов бит;
· сверхоперативные ЗУ (СОЗУ) с быстродействием, соизмеримым с быстродействием процессора, и вследствие этого обычно небольшой информационной емкостью;
· буферные ЗУ (БЗУ), занимающие промежуточное положение между ОЗУ и ВЗУ или между ОЗУ и СОЗУ и используемые для хранения информации при ее обмене между устройствами ЭВМ с различным быстродействием.
По характеру хранимой информации, способу ее использования ЗУ ЭВМ подразделяют на:
- ЗУ с относительно кратковременным хранением оперативной. часто изменяющейся информации (ОЗУ);
- постоянные ЗУ (ПЗУ);
- программируемые ПЗУ (ППЗУ).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |






