- •Базовая структура компьютера
- •Процессор, оперативная память, устройства ввода-вывода, внешняя память, шины.
- •Представление информации. Целые, вещественные, символьные данные.
- •Структуры машинных команд. Трех-, двух-, одноадресные системы команд процессоров.
- •Стек. Его использование и аппаратная поддержка.
- •Risc-процессоры.
- •Cisc-процессоры. Микрокомандный уровень архитектуры.
- •Пример базовой архитектуры - pdp-11
- •Структура процессора. Регистры и их назначение.
- •2.2. Архитектура с общей шиной. Адресное пространство.
- •2.3. Форматы команд.
- •2.3.1. Двух-, одно- и безадресные команды. Примеры
- •2.3.2. Организация ветвлений и циклов. Регистр состояния процессора.
- •2.4. Методы адресации.
- •2.4.1 Прямые методы адресации.
- •2.4.2. Косвенные методы адресации.
- •2.4.3. Использование счетчика команд и указателя стека в методах адресации.
- •2.4.4. Позиционно-независимые программы и методы адресации.
- •2.5. Организация ввода-вывода.
- •2.5.1. Контроллеры устройств. Регистры устройств и их адресация.
- •2.5.2. Ввод-вывод по опросу флага готовности.
- •2.5.3. Прерывания устройств и их обработка.
- •2.5.4. Система приоритетов в обработке прерываний.
- •2.5.5. Ввод-вывод с использованием механизма прерываний.
- •2.5.6. Устройства с блочной передачей данных.
- •2.5.7. Прямой доступ к памяти и его использование для ввода-вывода.
- •2.6. Синхронные прерывания (исключительные ситуации) и их обработка.
- •3. Шинная архитектура
- •3.1 Структура шин. Подшины адреса, данных, управления. Ширина шины.
- •3.2. Синхронизация шины. Синхронные и асинхронные шины.
- •3.3. Временные диаграммы операций обмена по шинам.
- •3.4 Арбитраж шины.
2.5.4. Система приоритетов в обработке прерываний.
Раз бит разрешения прерываний установлен, любое устройство может вызвать прерывание. Поэтому программа анализа прерываний должна производить регистрацию их состояния, чтобы иметь возможность выбора для обработки прерывания от самого высокоприоритетного устройства. Для этого можно использовать следующую процедуру (дисциплина с абсолютным приоритетом): если в какой-либо момент времени обрабатывается прерывание некоторого уровня приоритета, то его обработка может быть прервана только при возникновении более приоритетного прерывания, тогда как аналогичные им менее приоритетные сохраняются для последующей обработки. В этом случае для удобства программиста приоритетность устройств и программ обработки может быть встроена в оборудование и при такой схеме приоритетности прерываний целую группу устройств можно считать выполняющейся на определенном приоритетном уровне.
В PDP-11 мы можем увидеть модифицированную версию схемы автоматического задания приоритетности прерываний. Для запоминания информации о состоянии машины ЭВМ используют два слова: состояние процессора и счетчик команд. При прерывании текущее содержимое PS и PC автоматически «проталкиваются» в системный стек, реализуемый с помощью SP (6-й регистр). Эффект тот же, что и при выполнении команд:
MOV PS,-(SP) ; PUSH PROCESSOR STATUS
MOV PC,-(SP) ; AND PROGRAM COUNTER
Новое содержимое PC и PS загружается из двух определенных последовательных ячеек памяти, которые вместе называются вектором прерываний. Эти ячейки выбраны дизайнером интерфейса устройств и располагаются в младших адресах памяти. Первое слово содержит адрес программы обработки прерываний (адрес новой программной последовательности), а второе — новое PS, на основе которого определяются состояние машины и уровень приоритетности. Содержание этих векторов определяется программистом и может меняться под управлением программы.
После того как ISR заканчивает выполнение командой RTI (возврат из прерывания), из стека автоматически «выталкиваются» два верхних слова и помещаются в PC и PS соответственно, возобновляя таким образом выполнение прерванной программы. Так как стек используется механизмом прерываний автоматически, прерывания могут «гнездоваться» подобно тому, как это происходит при передаче управления во вложенных подпрограммах. Естественно прерывания могут чередоваться с переходами к подпрограммам, причем никаких недоразумений при этом не происходит. Использование команд RTI и RTS обеспечивает автоматический возврат в соответствующие программы.
2.5.5. Ввод-вывод с использованием механизма прерываний.
Основное преимущество организации с использованием системы прерывания заключается в возможности организации фоновой работы, т.е. более эффективное использование функциональных возможностей процессора.
Отличие этого метода организации ввода/вывода заключается в том, что:
- установка бита готовности не проверяется программой процессора, а приводит к формированию сигнала прерывания процессора,
- проверка нарушения тайм-аута производится не программно, а с использованием аппаратных средств процессора или внешних устройств.
В этом варианте программа ввода/вывода делается на части.
Начальная часть программы (передача параметров процедуре ввода/вывода) и заключительная часть исполняются в виде проблемной программы, а программа управления передачей оформляется в виде программы обработки внешнего прерывания.
При использовании программы обработки прерывания возникает ряд проблем. Это передача параметров и сохранение содержимого РОН (регистров общего назначения).
При прерываниях основной контекст программы сохраняется аппаратно, а РОНы – в программе обработки прерывания. Перед выходом из прерывания программа обработки восстанавливает содержимое РОН. Но фоновая (проблемная) программа может испортить содержимое РОН, в которых программа управления вводом/выводом хранит текущий адрес оперативной памяти и размер блока вводимых (выводимых) данных. Чтобы этого не случилось, можно сохранять эти параметры в зарезервированных ячейках оперативной памяти.
