Структура 16-разрядного микропроцессора
Персональная ЭВМ типа IBM PC (рис. 14.1) включает в себя микропроцессор (МП), оперативную память и устройства ввода-вывода (УВВ), объединенные между собой системной шиной.
Рис. 14.1. Структура персональной ЭВМ
Микропроцессор предназначен для выполнения собственно арифметических и логических операций и управления взаимодействием блоков компьютера. Оперативная память хранит операнды и программу во время ее выполнения. Устройства ввода-вывода обеспечивают обмен информацией между ядром компьютера (МП и ОП) и средствами ввода и отображения данных. Сюда относятся мониторы, печатающие устройства, графопостроители, жесткие и гибкие магнитные диски и так далее.
Компьютер строится по магистрально-модульному принципу, при котором все блоки компьютера связываются между собой системной шиной, предназначенной для обмена данными, адресной и управляющей информацией между составными частями ЭВМ. Как правило, при такой организации в любой момент может быть установлена связь только между двумя модулями ЭВМ. Системная шина определяет общий порядок обмена между любыми блоками компьютера, а также максимальное количество используемых устройств ввода-вывода. Она включает в себя шину адреса (ША), шину данных (ШД) и шину управления (ШУ), содержащую набор линий, по которым передаются управляющие сигналы между блоками компьютера. Специфика каждого конкретного блока учитывается особыми управляющими устройствами – контроллерами, входящими в состав этих блоков, например, работой жесткого диска управляет контроллер жесткого диска, используя информацию, поступающую к нему от микропроцессора по системной магистрали.
Структура 16-разрядного микропроцессораI8086 представлена на рис. 14.2 [8].
Рис. 14.2. Структура 16-разрядного микропроцессора
В состав микропроцессора входят:
- арифметико-логическое устройство (АЛУ), предназначенное для выполнения арифметических и логических операций;
- внутренняя регистровая память, состоящая из восьми 16-разрядных регистров; четыре из них допускают раздельное использование своих младших и старших байтов, обеспечивая тем самым возможность обработки как 16-разрядных слов, так и байтов информации;
- устройство управления, включающее в себя
- буфер команд, который представляет собой регистровую память объемом 6 байт, предназначенную для хранения выполняемой в данный момент команды (аналогично регистру команд в структуре классической ЭВМ) и заполняемую очередными командами из оперативной памяти по мере своего освобождения;
- дешифратор кода операций, определяющий тип выполняемой команды;
- блок управления операциями, который на основании расшифрованного дешифратором кода операции формирует управляющие сигналы, организующие работу всех блоков микропроцессора;
- указатель команд (IP – instruction pointer), определяющий адрес выполняемой команды в сегменте команд оперативной памяти;
- регистр флагов (FLAGS), содержащий признаки результата выполненных команд и некоторую управляющую информацию.
Среди признаков результата отметим следующие:
ZF – флаг нуля: равен 1 при получении нулевого результата,
SF – флаг знака: устанавливается равным старшему биту результата,
CF – флаг переноса: фиксирует факт переноса из старшего бита в арифметических операциях,
OF – флаг переполнения: устанавливается в 1 при получении результата вне допустимого диапазона чисел,
PF – флаг паритета: устанавливается в 1, если младшие 8 бит результата операции содержат четное число единиц;
к флагам управления относятся
IF – флаг разрешения прерывания: когда флаг установлен в 1, процессор распознает маскируемые прерывания, что позволяет микропроцессору реагировать на особые ситуации, возникающие в работе внешних устройств; если значение флага равно нулю, то эти прерывания игнорируются,
DF – флаг направления, применяется в командах обработки последовательности байт в памяти: если флаг равен 0, последовательность обрабатывается с элемента, имеющего наименьший адрес; если флаг установлен в 1, последовательность обрабатывается от старшего адреса к младшему,
TF – флаг трассировки: если значение флага равно 1, то в микропроцессоре после выполнения каждой команды генерируется внутреннее прерывание, позволяющее перейти к соответствующей подпрограмме (используется при отладке программ); - блок сегментных регистров, состоящий из четырех 16-разрядных регистров, каждый из которых содержит старшие разряды базового (начального) адреса сегмента оперативной памяти, выделяемого программе при ее выполнении: кодового сегмента CS, в котором содержится код программы; сегмента данных DS; сегмента стека SS и дополнительного сегмента данных ES;
- шинный интерфейс, который содержит схемы, обеспечивающие связь внутренней магистрали микропроцессора с системной шиной.