Техническая диагностика средств вычислительной техники
Методическое пособие - Компьютеры, программирование
Другие методички по предмету Компьютеры, программирование
пись результата операции.
Конвейерное выполнение программы это когда в разных автономных блоках микропроцессора одновременно выполняются разные такты нескольких смежных команд. Например, ЗпРез команды n-1, собственно ОП команды n, ФАК команды n+1, ВК команды n+2 и ФАК команды n+3.
Обработка команды в CPU i386, в свою очередь, состоит из четырех этапов:
1) преобразование адресов при сегментированной или страничной организации памяти (выполняется в блоке MMU);
2) выборка полей команды из ОЗУ и накопление их в стеке очереди команд (выполняется в PU);
3) дешифрация команд из очереди и накопление дешифрованных кодов операций в стеке декодированных команд (выполняется в блоке IDU);
4) выполнение операции в EU, под микропрограммным управлением, и формирование статусных флагов.
Для ускорения выполнения команд в CPU, моделей i386 и старше, организован конвейер команд:
- каждая из команд в свое время находится в стадии выборки, хранения, дешифрации, формирования адреса и выполнения;
- для смежных команд эти стадии (такты выполнения) обычно выполняются разными узлами CPU одновременно, в режиме совмещения, если соответствующие узлы микропроцессора в это время свободны;
- работа CPU, по отношению к системной магистрали, синхронна, а между узлами BIU, PU, IDU, EU асинхронна.
Счетчик команд EIP в EU автоматически модифицирует адрес следующей команды по словам или двойным словам, в зависимости от длины команды, задаваемой входом /BS16. Информация в EIP, системных и сегментных регистрах блока MMU используется при формировании физического адреса для выборки следующей команды.
Одновременно с адресным формированием в EU, в работе находится одна из команд очереди в IDU, в которое, в свой черед, подгружается команда из PU.
Обмен данными между CPU и системой осуществляет BIU по запросу от EU, либо при наличии свободного места в очереди команд.
Если EU выполняет длинную команду, не требующую новых данных из системы, а узлы очередей заполнены, то BIU может находиться в, так называемом, холостом цикле.
В многопроцессорных системах, когда шина передается от одного ведущего модуля другому, отключаемые модули переводят свои шины в состояние высокого импеданса Z-состояние. В это время отключенный от шины CPU, или контроллер имеет возможность автономно выполнять все команды, находящиеся в стеках, до тех пор, пока CPU не потребуется шина для обмена. Если же в это время шина все еще занята, то CPU прекращает работу, находясь в состоянии ожидания (Time-Out), пока шина не освободится (линия /READY=H, т. е. пассивна).
Контрольные вопросы.
1. Из каких тактов состоит выполнение команды в CPU?
2. Что такое цикл шины в РС?
3. В чем смысл сигнала HOLD?
4. В чем смысл сигнала HLDA?
5. Как реагирует микропроцессор на сигнал INTR?
6. В чем особенность сигнала NMI?
1.4.3.4) Режимы работы микропроцессора i386
CPU i386 допускает работу в четырех режимах:
- RM реальном,
- РМ защищенном,
- VM-86 виртуальном и
- РРМ страничном.
1. RM режим реальной адресации, соответствует работе системы i8086 и используется только в MS DOS. Область адресов, шириной в 1 Мбайт, не защищена, реализовано до 20 адресных линий (из 32-х, возможных для микропроцессора i386), режим однопользовательский. Для работы с 32-разрядными операндами и реализации дополнительных режимов адресации используется префикс переадресации, двухбайтовый адрес не превышает границы сегмента в 64 Кбайт (0000 - FFFF), иначе фиксируется особая ситуация с прерыванием типа 13h. Для доступа к 1 Мбайт адресного пространства используются линии адреса [A19-А02] и /BE0 /BE3. Страничный механизм доступа к памяти отключен, исполнительный адрес всегда соответствует физическому, все сегменты могут находиться в состоянии записи, считывания или выполнения.
2. РМ защищенный режим, или режим виртуальной адресации. При включении РС всегда устанавливается режим RM, а для перевода его в РМ используются системные команды LMSW и SMSW. При установке бита PF=1 в MSW, CPU переходит в РМ. В режиме РМ реализуется доступ к 4 Гбайт ОЗУ в 32-битовом пространстве исполнительных адресов, а доступ к 64 Тбайт ОЗУ реализуется в логическом (виртуальном) адресном пространстве. Виртуальная адресация это способ организации доступа к информации, большая часть которой располагается не в физическом ОЗУ, а во внешней (дисковой) памяти, откуда она, по мере необходимости, перекачивается в ОЗУ (swapping), но программа видит иллюзию размеров ОЗУ в 64 Тбайт. Предусмотрена защита памяти по многоуровневому принципу защиты ОС и прикладных программ и реализуется мультипрограммность. Для обратного перевода из режима РМ в RM, команды LMSW и SMSW не используются, а система должна быть перезагружена либо аппаратно ("холодный" рестарт), либо аппаратно-программно через порты 64h и 60h контроллера 8048 (KBD), командой OUT и далее, через сигнал RS и узел Shut Down, к входу RESET CPU, как при "теплом" рестарте, осуществляемом нажатием комбинации клавиш Ctrl+Alt+Del.
Для программного перехода из режима PM в RM может быть также использована ассемблерная команда MOV CR0 (LCR0).
3. VM-86 это режим виртуальной адресации i86. Режим устанавливает исполнительную среду i8086 внутри многозадачной среды PM CPU i386. При этом поддерживается выполнение всех программ для предыдущих поколений микропроцессоров ix86. Сначала, в рамках VM86, формируется 20-разрядный линейный адрес по системе RM, но включается механизм страничной адресации и система двухуровневой защиты ?/p>