Как показано на рис. 4.1, процессор делится на 2 логических устройства: устройство исполнения (УИ) и шинный интерфейс (ШИ). УИ ответственно за выполнение инструкций, а ШИ – за доставку УИ данных и инструкций для обработки. УИ содержит АЛУ , УУ и регистры.
Регистрами в схемотехнике называют электронные устройства, в которые можно записать информацию, сохранить ее и, при необходимости, прочитать. При этом регистры, как правило, обеспечивают более быстрый доступ к информации, чем доступ к содержимому ячеек памяти ОЗУ. Это обстоятельство и является причиной оснащения центрального процессора ЭВМ собственной памятью, причем в более поздних разработках микропроцессоров собственная память процессоров только увеличивается. Intel 8086 имеет 14 регистров:
- универсальные AX, BX, CX, DX;
- сегментные регистры CS, DS, SS, ES;
- регистры смещения IP, SP, BP, SI, DI;
- регистр флагов (регистр состояния) FL.
Основная функция ШИ – управление шиной, сегментными регистрами и очередью исполнения. ШИ управляет шинами, передающими данные в УИ, память и внешние устройства ввода/вывода. Сегментные регистры управляют адресацией памяти.
Еще одна функция ШИ – предоставлять доступ к инструкциям (командам программы). Поскольку инструкции исполняемой программы находятся в памяти, ШИ должен получить к ним доступ и поместить в очередь исполнения, размер которой меняется в зависимости от типа процессора и определяется размером кэша команд. Это позволяет ШИ предсказывать и загружать необходимые инструкции заранее, так что в очереди всегда есть инструкции, готовые к исполнению.
УИ и ШИ работают параллельно, и ШИ всегда на 1 шаг опережает УИ. УИ сообщает ШИ, когда ему необходим доступ к данным в памяти или к устройствам ввода/вывода. УИ также запрашивает инструкции для исполнения из очереди в ШИ. Самая верхняя инструкция – исполняемая в данный момент , а пока УИ занято выполнением данной инструкции, ШИ извлекает следующую инструкцию из памяти. Выполнение инструкций и их получение из памяти перекрываются по времени, за счет чего растет быстродействие процессора. (Заметим, что программисты не имеют доступа к вышеописанным элементам процессора).