Архитектура персонального компьютера
В настоящее время персональные ЭВМ выпускаются миллионными тиражами с большим разнообразием архитектур. Однако наибольшее распространение получили компьютеры, построенные на базе микропроцессоров фирмы Intel либо микропроцессоров с аналогичной архитектурой, выпускаемых другими фирмами. Поэтому вопросы, связанные с организацией современных ЭВМ, будем рассматривать на примере именно этой архитектуры.
Микропроцессоры фирмы Intel в ходе своего развития к настоящему времени прошли ряд этапов, которые с определенным приближением можно характеризовать разрядностью микропроцессора. Первым в мире микропроцессором был выпущенный в 1971 году 4-разрядный микропроцессор Intel 4004. Следующим шагом стало появление ряда 8-разрядных микропроцессоров, наиболее характерным представителем которых стал нашедший чрезвычайно широкое применение Intel 8080, архитектурный аналог которого выпускался в нашей стране в составе микропроцессорного комплекта К580. Разработанный затем 16-разрядный микропроцессор Intel-8086 (отечественный аналог – микропроцессор К1810ВМ80 ) лег в основу первых персональных ЭВМ. Его архитектура, получившая обозначение x86, стала де факто стандартом на длительный период последующего развития этого направления вычислительной техники. Микропроцессор Intel 286 представлял собой некоторый переходный этап к архитектуре 32-разрядных микропроцессоров IA-32 ( Intel Architеcture-32 ), которая с определенными модификациями развивается, начиная с выпущенного в 1985 году микропроцессора Intel 386. Появление в 2001 году микропроцессора Itanium ознаменовало начало периода 64-разрядных микропроцессоров.
Целью данного пособия является изучение базовых понятий архитектуры ЭВМ. Поэтому рассмотрим ее на примере компьютера, имеющего в своей основе микропроцессор с архитектурой x86. В тех вопросах, где это необходимо (аппаратные средства защиты информации, организация виртуальной памяти и т.д.), изложение материала будет базироваться на компьютерах, имеющих в своем составе микропроцессоры с архитектурой IA-32.
Структура 16-разрядного микропроцессора
Персональная ЭВМ типа IBM PC (рис. 14.1) включает в себя микропроцессор ( МП ), оперативную память и устройства ввода-вывода (УВВ), объединенные между собой системной шиной.
Микропроцессор предназначен для выполнения собственно арифметических и логических операций и управления взаимодействием блоков компьютера. Оперативная память хранит операнды и программу во время ее выполнения. Устройства ввода-вывода обеспечивают обмен информацией между ядром компьютера ( МП и ОП ) и средствами ввода и отображения данных. Сюда относятся мониторы, печатающие устройства, графопостроители, жесткие и гибкие магнитные диски и так далее.
Компьютер строится по магистрально-модульному принципу, при котором все блоки компьютера связываются между собой системной шиной, предназначенной для обмена данными, адресной и управляющей информацией между составными частями ЭВМ. Как правило, при такой организации в любой момент может быть установлена связь только между двумя модулями ЭВМ. Системная шина определяет общий порядок обмена между любыми блоками компьютера, а также максимальное количество используемых устройств ввода-вывода. Она включает в себя шину адреса ( ША ), шину данных ( ШД ) и шину управления ( ШУ ), содержащую набор линий, по которым передаются управляющие сигналы между блоками компьютера. Специфика каждого конкретного блока учитывается особыми управляющими устройствами – контроллерами, входящими в состав этих блоков, например, работой жесткого диска управляет контроллер жесткого диска, используя информацию, поступающую к нему от микропроцессора по системной магистрали.
Структура 16-разрядного микропроцессора I8086 представлена на рис. 14.2 [ 8 ] .
В состав микропроцессора входят:
- арифметико-логическое устройство ( АЛУ ), предназначенное для выполнения арифметических и логических операций;
- внутренняя регистровая память, состоящая из восьми 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 ;
- шинный интерфейс, который содержит схемы, обеспечивающие связь внутренней магистрали микропроцессора с системной шиной.