- •Разработка гипотетической эвм. Разработка блока преобразования виртуальных адресов.
- •Реферат.
- •Оглавление:
- •Исходные данные.
- •2. Разработка структурной схемы эвм.
- •3. Разработка основных блоков эвм.
- •3.1. Центральный процессор.
- •3.2. Система прерывания программ.
- •3.3. Система ввода-вывода.
- •3.4. Оперативная память.
- •3.5. Кэш команд и кэш данных.
- •3.5. Монитор.
- •3.6. Клавиатура.
- •3.7. Блок начальной установки.
- •3.8. Блок синхронизации.
- •3.9. Таймер.
- •4. Разработка блока преобразования виртуальных адресов.
- •5. Выводы.
- •6. Список литературы.
3.2. Система прерывания программ.
Во время работы ЭВМ внутри нее самой или во внешней среде могут возникнуть события, требующие немедленных ответных действий.
Прерывание программы — это способность ЭВМ при возникновении определенных ситуаций, требующих немедленной реакции ЭВМ, прекратить выполнение текущей программы и передать управление программе, реализующей реакцию ЭВМ на возникшую ситуацию.
Функции системы прерывания:
Организация вхождения в прерывающую программу
Организация приоритетного выбора между запросами, поступающими одновременно
Организация возврата в прерванную программу
Заданная исходными данными радиальная СПП с обработкой на уровне микрокоманд реализуется с помощью контроллера прерываний.
При такой системе прерываний приостановление работы программы возможно после выполнения микрокоманды. При этом объем запоминаемой информации, по сравнению с прерываниями на макроуровне, сильно увеличивается, но нет необходимости дожидаться окончания команды. В радиальной системе прерываний каждый источник прерывания имеет свою линию запроса.
Реализована возможность установки и считывания центральным процессором маски прерываний по шине данных. Режим запись / чтение маски устанавливается соответствующими битами микрокоманды. Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие запросам прерывания. Состояние «1» в данном разряде регистра маски разрешает, а состояние «0» запрещает (маскирует) прерывание от соответствующего запроса. Изменяя маску прерывания можно устанавливать произвольные приоритетные соотношения без перекоммутации линий, по которым поступают запросы прерываний.
Последовательность действий при обработке прерываний:
Для осуществления прерывания программы устройства подают на вход контроллера запрос на прерывание.
Контроллер в соответствии с заданными приоритетами и словом маски выбирает устройство и формирует вектор одновременно с подачей запроса на прерывания в ЦП.
После завершения текущей микрокоманды, секвенсор сохраняет текущее слово состояния процессора (ССП) во внутреннем стеке и выдаёт на контроллер прерываний сигнал подтверждения прерывания INTC (Interrupt Confirmation), после чего осуществляет переход к стандартной микропрограмме обработки прерываний.
После приёма сигнала INTC, контроллер прерываний выдаёт сформированный вектор прерывания, который связан с шиной данных интерфейсным буфером, контролируемым битом микрокоманды.
Стандартная микропрограмма обработки прерываний считывает вектор прерывания с шины данных, находит в таблице векторов прерываний, размещённой в ОП, адрес подпрограммы обработки прерывания, соответствующей полученному вектору прерывания.
После завершения подпрограммы обработки прерывания, осуществляется восстановления всех сохранённых данных и возврат к прерванной микропрограмме.
Данная реализации СПП даёт возможность пользовательским программам переопределять системные обработчики прерываний. При перезагрузке системы таблица векторов инициализируется стандартными значениями.
Внутренние прерывания реализуются путём подмена вектора прерывания и запроса на прерывание битами микрокоманды, а также перехвата сигнала подтверждения на контроллер.
Структурная схема системы прерывания программ приведена на рис. 3.2.1.
Рис. 3.2.1. Структурная схема системы прерывания программ