Обычно процессоры разделены на две части: операционное устройство (ОУ) и шинный интерфейс (ШИ). Роль ОУ заключается в выполнении команд, в то время как ШИ подготавливает команды и данные для выполнения. ОУ содержит АЛУ и устройство управления УУ и регистры общего назначения. Эти устройства обеспечивают выполнение команд, арифметические вычисления и логические операции (см. рис. 4.2).
Три элемента ШИ - блок управления шиной, очередь команд и сегментные регистры - осуществляют три важные функции:
1. ШИ управляет передачей данных на ОУ, в память и на внешние устройства ввода-вывода.
3. Выборка команд. Все программные команды находятся в памяти, и ШИ должен иметь доступ к ним для выборки их в очередь команд. ШИ должен "заглядывать вперед" и выбирать команды так, чтобы всегда существовала непустая очередь команд, готовых для выполнения.
ОУ и ШИ работают параллельно, причем ШИ опережает ОУ на один шаг. ОУ сообщает ШИ о необходимости доступа к данным в памяти или на устройство ввода-вывода. Кроме того, ОУ запрашивает машинные команды из очереди команд. Пока ОУ занято, ШИ выбирает следующую команду из памяти. Эта выборка происходит во время выполнения, что повышает скорость обработки.
Сегментом называется область, которая начинается на границе параграфа, т.е. по любому адресу, кратному 16. Хотя сегмент может располагаться в любом месте памяти и иметь размер до 64 Кбайт, он требует столько памяти, сколько необходимо для выполнения программы.
Сегмент кодов (CS) содержит машинные команды, которые будут выполняться. Обычно первая выполняемая команда находится в начале этого сегмента и операционная система передает управление по адресу данного сегмента для выполнения программы. Регистр сегмента кодов (CS) адресует данный сегмент.
Сегмент данных (DS) содержит определенные данные, константы и рабочие области, необходимые программе. Регистр сегмента данных (DS) адресует данный сегмент.
Сегмент стека (SS) содержит адреса возврата как для программы при возврате в операционную систему, так и для вызовов подпрограмм при возврате в главную программу. Регистр сегмента стека (SS) адресует данный сегмент.
Еще один сегментный регистр - дополнительный регистр сегмента (ES) - предназначен для специального использования.
Регистр - совокупность устройств, используемых для хранения информации, и обеспечения быстрого доступа к ней.
Регистр (AX) является основным сумматором и применяется для всех операций ввода-вывода, некоторых операций над строками и некоторых арифметических операций.
Регистр (BX) является базовым регистром. Это единственный регистр общего назначения, который может использоваться в качестве индекса для расширенной адресации.
Регистр (CX) является счетчиком. Он необходим для управления числом повторений циклов и для операций сдвига или вправо. Регистр (CX) используется также для вычислений.
Регистр (DX) является регистром данных. Он применяется для некоторых операций ввода-вывода и тех операций умножения и деления над большими числами.
Регистровые указатели (SP и BP) обеспечивают системе доступ к данным в сегменте стека. Регистр (SP) обеспечивает использование стека в памяти, позволяет временно хранить адреса и иногда данные. Этот регистр связан с регистром (SS) для адресации стека. Регистр (BP) облегчает доступ к параметрам (данным и адресам, переданным через стек).
Индексные регистры (SI и DI) применяются для расширенной адресации и для использования в операциях сложения и вычитания. Регистр (SI) является индексом источника и применяется для некоторых операций над строками. Регистр (DI) является индексом назначения и применяется также для некоторых операций над строками.
Регистр командного указателя (IP) содержит смещение на команду, которая должна быть выполнена.
Флаговый регистр определяет текущее состояние машины и результаты выполнения операций (проверка четности, переполнения, переносов, знака).