Архитектура персонального компьютера

Материал из ПИЭ.Wiki

Перейти к: навигация, поиск

В настоящее время персональные ЭВМ выпускаются миллионными тиражами с большим разнообразием архитектур. Однако наибольшее распространение получили компьютеры, построенные на базе микропроцессоров фирмы 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 (рис. 1) включает в себя микропроцессор (МП), оперативную память и устройства ввода-вывода (УВВ), объединенные между собой системной шиной.

Файл:1ПК.gif

Рис. 1. Структура персональной ЭВМ


Микропроцессор предназначен для выполнения собственно арифметических и логических операций и управления взаимодействием блоков компьютера. Оперативная память хранит операнды и программу во время ее выполнения. Устройства ввода-вывода обеспечивают обмен информацией между ядром компьютера (МП и ОП) и средствами ввода и отображения данных. Сюда относятся мониторы, печатающие устройства, графопостроители, жесткие и гибкие магнитные диски и так далее.

Компьютер строится по магистрально-модульному принципу, при котором все блоки компьютера связываются между собой системной шиной, предназначенной для обмена данными, адресной и управляющей информацией между составными частями ЭВМ. Как правило, при такой организации в любой момент может быть установлена связь только между двумя модулями ЭВМ. Системная шина определяет общий порядок обмена между любыми блоками компьютера, а также максимальное количество используемых устройств ввода-вывода. Она включает в себя шину адреса (ША), шину данных (ШД) и шину управления (ШУ), содержащую набор линий, по которым передаются управляющие сигналы между блоками компьютера. Специфика каждого конкретного блока учитывается особыми управляющими устройствами – контроллерами, входящими в состав этих блоков, например, работой жесткого диска управляет контроллер жесткого диска, используя информацию, поступающую к нему от микропроцессора по системной магистрали.

Структура 16-разрядного микропроцессораI8086 представлена на рис. 2.

Файл:2ПК.gif

Рис. 2. Структура 16-разрядного микропроцессора

В состав микропроцессора входят:

1. арифметико-логическое устройство (АЛУ), предназначенное для выполнения арифметических и логических операций;

2. внутренняя регистровая память, состоящая из восьми 16-разрядных регистров; четыре из них допускают раздельное использование своих младших и старших байтов, обеспечивая тем самым возможность обработки как 16-разрядных слов, так и байтов информации;

3. устройство управления, включающее в себя

-буфер команд, который представляет собой регистровую память объемом 6 байт, предназначенную для хранения выполняемой в данный момент команды (аналогично регистру команд в структуре классической ЭВМ) и заполняемую очередными командами из оперативной памяти по мере своего освобождения;

-дешифратор кода операций, определяющий тип выполняемой команды;

-блок управления операциями, который на основании расшифрованного дешифратором кода операции формирует управляющие сигналы, организующие работу всех блоков микропроцессора;

4. указатель команд (IP – instruction pointer), определяющий адрес выполняемой команды в сегменте команд оперативной памяти;

5. регистр флагов (FLAGS), содержащий признаки результата выполненных команд и некоторую управляющую информацию. Среди признаков результата отметим следующие:

ZF – флаг нуля: равен 1 при получении нулевого результата,

SF – флаг знака: устанавливается равным старшему биту результата,

CF – флаг переноса: фиксирует факт переноса из старшего бита в арифметических операциях,

OF – флаг переполнения: устанавливается в 1 при получении результата вне допустимого диапазона чисел,

PF – флаг паритета: устанавливается в 1, если младшие 8 бит результата операции содержат четное число единиц;

к флагам управления относятся

IF – флаг разрешения прерывания: когда флаг установлен в 1, процессор распознает маскируемые прерывания, что позволяет микропроцессору реагировать на особые ситуации, возникающие в работе внешних устройств; если значение флага равно нулю, то эти прерывания игнорируются,

DF – флаг направления, применяется в командах обработки последовательности байт в памяти: если флаг равен 0, последовательность обрабатывается с элемента, имеющего наименьший адрес; если флаг установлен в 1, последовательность обрабатывается от старшего адреса к младшему,

TF – флаг трассировки: если значение флага равно 1, то в микропроцессоре после выполнения каждой команды генерируется внутреннее прерывание, позволяющее перейти к соответствующей подпрограмме (используется при отладке программ);

6. блок сегментных регистров, состоящий из четырех 16-разрядных регистров, каждый из которых содержит старшие разряды базового (начального) адреса сегмента оперативной памяти, выделяемого программе при ее выполнении: кодового сегмента CS, в котором содержится код программы; сегмента данных DS; сегмента стека SS и дополнительного сегмента данных ES;

7. шинный интерфейс, который содержит схемы, обеспечивающие связь внутренней магистрали микропроцессора с системной шиной.

Представление данных в ЭВМ

Вся информация в ЭВМ хранится в виде наборов бит, то есть комбинаций 0 и 1. Числа представляются двоичными комбинациями в соответствии с числовыми форматами, принятыми для работы в данной ЭВМ, а символьный код устанавливает соответствие букв и других символов двоичным комбинациям.

Для чисел имеется три числовых формата:

двоичный с фиксированной точкой;

двоичный с плавающей запятой;

двоично-кодированный десятичный (BCD).

В двоичном формате с фиксированной точкой числа могут быть представлены без знака (коды) или со знаком. Для представления чисел со знаком в современных ЭВМ в основном применяется дополнительный код. Это приводит к тому, что, как показано ранее, отрицательных чисел при заданной длине разрядной сетки можно представить на одно больше, чем положительных. Хотя операции в ЭВМ осуществляются над двоичными числами, для записи их в языках программирования, в документации и отображения на экране дисплея часто используют более удобное восьмеричное, шестнадцатеричное и десятичное представление.

В двоично-кодированном десятичном формате каждая десятичная цифра представляется в виде 4 битного двоичного эквивалента. Существуют две основные разновидности этого формата: упакованный и неупакованный. В упакованном BCD-формате цепочка десятичных цифр хранится в виде последовательности 4-битных групп. Например, число 3904 представляется в виде двоичного числа 0011 1001 0000 0100. В неупакованном BCD-формате каждая десятичная цифра находится в младшей тетраде 8-битной группы (байте), а содержимое старшей тетрады определяется используемой в данной ЭВМ системой кодирования, и в данном случае несущественно. То же число 3904 в неупакованном формате будет занимать 4 байта и иметь вид: xxxx0011 xxxx1001 xxxx0000 xxxx0100 .

Числа с плавающей запятой обрабатываются на специальном сопроцессоре (FPU - floating point unit), который, начиная с МП I486, входит в состав БИС микропроцессора. Данные в нем хранятся в 80-разрядных регистрах. Управляя настройками сопроцессора, можно изменять диапазон и точность представления данных этого типа (табл. 1).

Файл:3ПК.gif

Таблица 1.


Организация оперативной памяти

ОП является основной памятью для хранения информации. Она организована как одномерный массив ячеек памяти размером в 1 байт. Каждый из байтов имеет уникальный 20 битный физический адрес в диапазоне от 00000 до FFFFFh (здесь и далее для записи адресов используется шестнадцатеричная система счисления, признаком которой является символ h в конце кода). Таким образом, размер адресного пространства ОП составляет 220 = 1Мбайт. Любые два смежных байта в памяти могут рассматриваться как 16-битовое слово. Младший байт слова имеет меньший адрес, а старший - больший. Так шестнадцатеричное число 1F8Ah, занимающее слово, в памяти будет расположено в последовательности 8Ah, 1Fh. Адресом слова считается адрес его младшего байта. Поэтому 20 битовый адрес памяти может рассматриваться и как адрес байта, и как адрес слова.

Команды, байты и слова данных можно размещать по любому адресу, что позволяет экономить память вследствие ее более полного заполнения. Однако для экономии времени выполнения программ целесообразно размещать слова данных в памяти, начиная с четного адреса, так как микропроцессор передает такие слова за один цикл работы шины. Слово с четным адресом называется выровненным по границе слов. Невыровненные слова данных с нечетным адресом допустимы, но для их передачи требуется два цикла шины, что снижает производительность ЭВМ. Заметим, что необходимое количество циклов считывания слова данных инициируется микропроцессором автоматически. Следует иметь в виду, что при операциях со стеком слова данных должны быть выровнены, а указатель стека инициирован на четный адрес, так как в таких операциях участвуют только слова данных.

Поток команд разделяется на байты при заполнении очереди команд внутри микропроцессора. Поэтому выравнивание команд практически не влияет на производительность и не используется.

Адресное пространство ОП делится на сегменты. Сегмент состоит из смежных ячеек ОП и является независимой и отдельно адресуемой единицей памяти, которая в базовой архитектуре персональной ЭВМ имеет фиксированную емкость 2^16 = 64К байт. Каждому сегменту назначается начальный (базовый) адрес, являющийся адресом первого байта сегмента в адресном поле ОП. Значение физического адреса ячейки складывается из адреса сегмента и смещения ячейки памяти относительно начала сегмента (внутрисегментное смещение). Для хранения значений адреса сегмента и смещения используются 16-битовые слова.

Чтобы получить 20-битовый физический адрес, микропроцессор автоматически осуществляет следующие операции. Значение базового адреса сегмента умножается на 16 (сдвиг на 4 разряда влево) и суммируется со значением смещения в сегменте (рис. 3). В результате получается 20-битовое значение физического адреса. При суммировании может возникнуть перенос из старшего бита, который игнорируется. Это приводит к тому, что ОП оказывается как бы организованной по кольцевому принципу. За ячейкой с максимальным адресом FFFFFh следует ячейка с адресом 00000h.

Файл:4ПК.gif

Рис. 3. Схема получения физического адреса


Сегменты физически не привязаны к конкретному адресу ОП, и каждая ячейка памяти может принадлежать одновременно нескольким сегментам, так как базовый адрес сегмента может определяться любым 16-битовым значением. Сегменты могут быть смежными, неперекрывающимися, частично или полностью перекрывающимися. Вместе с тем, в соответствии с алгоритмом вычисления физического адреса, начальные адреса сегментов всегда кратны 16.


Литература

1. Гуров В.В., Ленский О.Д., Соловьев Г.Н., Чуканов В.О. Архитектура, структура и организация вычислительного процесса в ЭВМ типа IBM PC М.: МИФИ, 2005. Под ред. Г.Н. Соловьева

2. Атовмян И.О. Архитектура вычислительных систем М.: МИФИ, 2002

Просмотры
Инструменты

Besucherzahler russian mail order brides
счетчик посещений
Rambler's Top100
Лингафонные кабинеты  Интерактивные доски  Интерактивная приставка Mimio Teach