Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессор комплексы 17.03.2015.docx
Скачиваний:
123
Добавлен:
04.02.2016
Размер:
1.39 Mб
Скачать

Многоразрядные двоичные сумматоры

В зависимости от способа ввода кодов слагаемых сумматоры делятся на два типа: последовательного и параллельного действия. В сумматоры первого типа коды чисел вводятся в последовательной форме, т.e. раз­ряд за разрядом (младшим разрядом вперед), в сумматоры второго типа каждое слагаемое подается в параллельной форме, т.е. одновременно всеми разрядами.

Сумматор последовательного действия (рис. 4.11).

Рис. 4.11

4.9 Классификация и параметры запоминающих устройств

Для хранения небольших массивов кодовых слов могут использо­ваться регистры. Но уже при необходимости хранить десятки слов при­менение регистров приводит к неоправданно большим аппаратурным затратам. Для хранения больших массивов слов строят запоминающие устройства (ЗУ) с использованием специальных микросхем, в каждой из которых может храниться информация объемом в тысячи битов.

По выполняемым функциям различают следующие типы запомина­ющих устройств: оперативное запоминающее устройство (ОЗУ), посто­янное запоминающее устройство (ПЗУ), перепрограммируемое постоянное запоминающее устройство (ППЗУ).

Оперативное ЗУ используется в условиях, когда необходимо выби­рать и обновлять хранимую информацию в высоком темпе работы процессора цифрового устройства. Вследствие этого в ОЗУ предусмат­риваются три режима работы:

-режим хранения при отсутствии обраще­ния к ЗУ;

-режим чтения хранимых слов;

-режим записи новых слов.

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

Постоянное ЗУ предназначено для хранения некоторой однажды записанной в него информации, не нарушаемой и при отключении источников питания. В ПЗУ предусматриваются два режима работы:

-режим хранения;

-режим чтения с высоким быстродействием.

Режим записи не предусматривается. Используются ПЗУ для хранения про­грамм в таких специализированных цифровых устройствах, которые, функционируя длительное время, многократно выполняют действия по одному и тому же алгоритму при различных исходных данных.

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

Запоминающее устройство содержит некоторое число N ячеек, в каждой из которых может храниться слово с определенным числом разрядов n. Ячейки последовательно нумеруются двоичными числами. Номер ячейки называется адресом. Если для представления адресов используются комбинации m-разрядного двоичного кода, то число ячеек в ЗУ может составить N=2m .

Количество информации, которое может храниться в ЗУ, определяет его емкость. Емкость можно выражать числом ячеек N с указанием разрядности n хранимых в них слов в форме Nхn, либо ее можно определять произведением N и n: М = N • n бит. Часто разрядность ячеек выбирают кратной байту (1 байт равен 8 битам). Тогда и емкость удобно представить в байтах. Большие значения емкости часто выражаются в единицах К = 210 = 1024. Например, М = 64 Кбайт означает емкость, равную М = 64 • 1024 • 8 бит.

Быстродействие ЗУ характеризуется двумя параметрами:

-временем выборки (tВ, представляющим собой интервал времени между моментом подачи сигнала выборки и появлением считанных данных на выходе;

- циклом записи (tЦЗ, определяемым минимально допустимым временем между моментом подачи сигнала выборки при записи и моментом, когда допустимо последующее обращение к памяти.

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

4.10 Оперативное запоминающее устройство

На рис. 4.12 приведена типичная структура микросхемы ОЗУ. Ин­формация хранится в накопителе. Он представляет собой матрицу, со­ставленную из элементов памяти (ЭП), расположенных вдоль строк и столбцов. Элемент памяти может хранить 1 бит информации (лог. 0 либо лог.1). Кроме того, он снабжен управляющими цепями для установки элемента в любом из трех режимов: режиме хранения, в котором он отключается от входа и выхода микросхемы, режиме чтения, в котором содержащаяся в ЭП информация выдается на выход микросхемы, режиме записи, в котором в ЭП записывается новая поступающая с входа микросхемы информация.

Каждому ЭП приписан номер, называемый адресом элемента. Для поиска требуемого ЭП указывается строка и столбец, соответствую­щие положению ЭП в накопителе. Адрес ЭП в виде двоичного числа принимается по шине адреса в регистр адреса. Число разрядов адреса связано с емкостью накопителя. Число строк и число столбцов нако­пителя выбираются равными целой степени двух. И если число строк Nстр = 2n1 и число столбцов Nст = 2n2, то общее число ЭП (емкость накопителя):

где n=n1+n2 - число разрядов адреса, принимаемого в регистр адреса. Например, при емкости N = 210 = 1024 число разрядов адреса n=10; при этом выбирается n1= n2 = n/2= 5, в этом случае число строк и число столбцов накопителя 2n1 = 2n2 = 32.

Рис. 4.12 Типичная структура микросхемы ОЗУ

Разряды регистра адреса делятся на две группы: одна группа из n1 разрядов определяет двоичный номер строки, в которой в накопителе расположен ЭП, другая группа из n2 разрядов - двоичный номер столб­ца, в котором расположен выбираемый ЭП. Каждая группа разрядов адреса подается на соответствующий де­шифратор: дешифратор строк и дешиф­ратор столбцов. При этом каждый из дешифраторов создает на одной из своих выходных цепей уровень лог.1 (на остальных выходах дешифратора уста­навливается уровень лог.0), выбранный ЭП оказывается под воздействием уров­ня лог. 1 одновременно по цепям строки и столбца. При чтении содержимое ЭП выдается на усилитель чтения и с него - на выходной триггер (Т) и выход микросхемы. Режим записи устанавливается подачей сигнала на вход разрешения записи (). При уровне лог.0 на входеоткрывается усилитель записи и бит информа­ции с входа данных поступает в выбранный ЭП и запоминается в нем.

Указанные процессы происходят в том случае, если на входе выбора кристалла () действует активный уровень лог.0. При уровне лог.1 на этом входе на всех выходах дешифратора устанавливается уровень лог.0 и ЗУ оказывается в режиме хранения.

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

4.11 Постоянные запоминающие устройства

Как и ОЗУ, ПЗУ состоит из ячеек, обратившись к которым можно вывести их содержимое. Отличие от ОЗУ заключается в том, что инфор­мация в ячейки записывается однократно, после чего в процессе эксплу­атации используется лишь режим чтения.

По способу занесения информации ПЗУ делятся на два вида:

-ПЗУ, программируемые маской на предприятии-изготовителе;

-ПЗУ, про­граммируемые пользователем.

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

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

На рис. 4.13 приведена структура ПЗУ, программируемого пользо­вателем. Как и в ОЗУ, матрица-накопитель состоит из элементов памя­ти, образующих строки и столбцы, но в отличие от ОЗУ при считывании из накопителя выдается содержимое целой строки элементов памяти. Такая строка обычно содержит несколько слов. С помощью селектора из строки выделяется и передается на выход требуемое слово.

4.4 Перепрограммируемые постоянные запоминающие устройства

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

На рис. 4.14,а показан элемент памяти с электрической записью информации и стиранием ультрофиолетовым светом. На рис. 4.14,б приведена структура транзистора VТ2. Транзистор VТ1 служит для выборки элемента памяти, хранение информации осуществляется в транзисторе VТ2.

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

Рис. 4.13 Структура ПЗУ, программируемого пользо­вателем

а) б)

Рис. 4.14

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

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

Центральным устройством системы является микропроцессор, который содержит обычно элементы размещения данных, называемые регистрами, и устройство счета, на­зываемое арифметико-логическим устройством (АЛУ).

Микропроцессор – программно - управляющее устройство, осуществляющее процесс обработки цифровой информации и управления им, построенное, как правило, на одной или нескольких интегральных микросхемах большой степени интеграции /из толкового терминологического словаря –справочника «Программные средства вычислительной техники», М.: Издательство стандартов, 1990 г/.

Микропроцессорная техника – совокупность технических и программных средств, используемых для построения различных микро-ЭВМ, микропроцессорных устройств и систем.

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

Центральное устройство содержит также цепь декодиро­вания команд и секцию управления и синхронизации. Оно снабжено также необходимыми соединениями с устройст­вом ввода/вывода.

Основными функциями центрального устройства микро­ЭВМ являются следующие:

1) извлечение, декодирование и выполнение команд программы в указанном порядке;

2) передача данных из памяти и в память и из УВВ и в УВВ;

3) ответы на внешние прерывания;

4) установка общей синхронизации и сигналов управле­ния для всей системы.

Большинство центральных устройств содержит, по мень­шей мере, элементы, схематически представленные на рис. 4.15. Наиболее важные секции содержат различные регистры, АЛУ, дешифратор команд, устройства управления и синхронизации, а также УВВ. В настоящее время большин­ство микропроцессоров содержат множество дополнитель­ных специальных регистров.

Арифметико-логическое устройство ЦП выполняет та­кие операции, как сложение, сдвиг/перестановка, сравне­ние, инкремент, декремент, отрицание, И, ИЛИ, ИЛИ ИСКЛЮЧАЮЩЕЕ, дополнение, сброс, инициализация.

Если АЛУ должно выполнить операцию сложения посред­ством команды ADD, процедура могла бы быть аналогичной представленной на рис. 4.16, а. Здесь содержимое ак­кумулятора ОАН складывается с содержимым регистра временного хранения данных 05Н. Сумма OFH помещена в аккумулятор.

На рис. 4.16, б приведены основные функциональные элементы типового АЛУ. Оно содержит сумматор и уст­ройство сдвига, а результаты пересылаются в аккумулятор посредством внутренней шины данных. Регистр состояния слова в АЛУ является устройством чрезвычайно важным (его называют иногда регистром кода условий или инди­катором)1. Этот регистр состоит из группы триггеров, ко­торые могут быть установлены или сброшены исходя из результатов последней операции, выполненной АЛУ. Эти триггеры или индикаторы содержат указатели нуля, отри­цательного результата, переноса и т. д. Индикаторы ис­пользуются для принятия решений, когда вводятся коман­ды ветвлений. Аккумулятор обычно используется в ходе большинства операций, выполняемых центральным уст­ройством, например, передачи данных.

* Широко распространен термин флажковый регистр. Тогда соот­ветствующие триггеры или индикаторы этого регистра называются фла­гами — флаг нуля, флаг знака и т. д.

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

Шестнадцатиразрядный регистр, называемый счетчи­ком команд, представлен на рис. 4.1 как элемент, состав­ляющий часть центрального устройства. Этот регистр слу­жит для хранения адреса следующей команды, чтобы извлечь ее из памяти. Так как команды выполняются последовательно, счетчик команд считает прямым счетом, если только нет контрпорядка. Большая часть выпускае­мых микропроцессоров имеет 16-разрядный счетчик ко­манд, который может адресовать 64 К слов памяти посред­ством адресной шины. Нормальная последовательность выполнения команд программы может быть изменена спе­циальными командами ветвления, вызова подпрограмм, возврата из подпрограмм или прерывания. Эти команды повлекут переход содержимого счетчика команд на дру­гую величину, отличную от следующего старшего адреса. Чтобы вернуть программу в исходное состояние после по­следовательности ее запуска, оператор должен восстановить в счетчике команд номер первой команды программы.

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

Центральное устройство, показанное на рис. 4.1, явля­ется элементарным. Большая часть центральных устройств МП содержит, по меньшей мере, несколько дополнитель­ных регистров (8 и 16 бит). Существуют очень большие различия в количестве и типе регистров в зависимости от типов МП.

Процессоры от 8088 до Pentium, применяемые в PC, являются однокрис­тальными микропроцессорами — процессор располагается на одном кристалле в одном корпусе (микросхеме). Процессор Pentium II, однокристальным не является — здесь кристалл процессора и несколько крис­таллов вторичного кэша собраны на общем картридже, хотя для потребителя это не так и существенно — все функции выполняет одно изделие. В зависи­мости от сложности процессора (числа выводов), его рассеиваемой мощности и назначения применяются различные типы корпусов:

DIP — Dual In-line Package, корпус с двухрядным расположением штырь­ковых выводов;

PGA — Pin Grid Array, керамический корпус с матрицей штырьковых выводов;

PQFP — Plastic Quad Flat Pack, пластиковый корпус с выводами по сто­ронам квадрата;

SPGA — Staggered PGA, корпус с шахматным расположением выводов;

SQFP — Small Quad Flat Pack, миниатюрный корпус с выводами по сто­ронам квадрата;

PPGA — Plastic Pin Grid Array, термоустойчивый пластмассовый корпус SPGA;

TCP — Таре Carrier Package, миниатюрный корпус с расположенными по периметру ленточными выводами;

S.E.C.C. — Single Edge Connector Cartridge, картридж процессора Pentium II — печатная плата с краевым разъемом, на которой смонтированы кристаллы процессора, кэш-памяти, охлаждающий радиатор и вентилятор.

Процессоры в корпусах DIP занимали много места, на их смену пришли компактные корпуса PGA, PPGA и SPGA, которые обычно устанавливаются в ZIF socket (Zero Insertion Force) — колодка (сокет) с нулевым усилием вставки. Корпуса PQFP, SQFP предназначены для установки в специальные колодки или припаивания к плате. Самые компактные из многоконтактных, корпуса TCP предназначены для припаивания, к системной плате портативных систем.

Таблица 4.1 Процессоры

Процессор

Тип разъема

Тактовая частота

Объем КЭШ-памяти

Частота шины данных

Кодовое наименование, примечание

Pentium II

Slot1

233-400МГц

512 Кбайт

66-100МГц

Deschutes

Celeron

Slot1

266-300МГц

0 Кбайт

66МГц

Covington, построен на базе Deschutes

Celeron

Slot1

300-433 МГц

128 Кбайт

66МГц

Mendocino, построен на базе Deschutes

Celeron

Socket 370

300-5300МГЦ

128 Кбайт

66МГц

Mendocino, построен на базе Deschutes

Pentium III

Slot1

450МГц-1 ГГц

256 Кбайт

100-133 МГц

Coppermine

Pentium III

Socket 370

500МГц-1,1 ГГц

256 Кбайт

100-133 МГц

Coppermine

Celeron

Socket 370

533 МГц-1,1 ГГц

128 Кбайт

66-100 МГц

Coppermine-128, построен на базе Pentium III Coppermine

Pentium III

Socket 370

1,133-1,4 ГГц

256 или 512 Кбайт

133 МГц

Tualatin

Celeron

Socket 370

900 МГц-1,4 ГГц

256 Кбайт

100 МГц

Tualatin-256, построен на базе Pentium III Tualatin

Pentium VI

Socket 423

1,3-1,8 ГГц

256 Кбайт

400 МГц

Wilamette

Pentium VI

Socket 478

1,8-3,06 ГГц

256 или 512 Кбайт

400 или 533 или 800МГц

Nortwood

Celeron

Socket 478

1,7-2,4 ГГц

128 Кбайт

400МГц

Wilamette – 128, построен на базе

Pentium VI Wilamette

Celeron

Socket 775

2930 МГц

256 Кбайт

L2 cashe

533 МГц

Prescott-256

Xeon DP

Socket 604

3,2 ГГц

2048 Кбайт

L2 cashe

533 МГц

Процессоры фирмы AMD

Athlon XP 2600+

Socket A

1917 МГц

512 Кбайт

333 МГц

Athlon 64 3200+

Socket 754

2200МГц

512 Кбайт

333 МГц

Sempron 3000+

Socket A

2000МГц

512 Кбайт

333 МГц

Процессор является основным «мозговым» узлом, в задачу которого входит ис­полнение находящегося в памяти программного кода. В настоящее время под словом «процессор» подразумевают микропроцессор — микросхему, которая, по­мимо собственно процессора, может содержать и другие узлы, например, кэш - ­память.

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

Адрес (логический) текущей исполняемой инст­рукции хранится в специальном регистре — указателе инструкций IP (Instruction Pointer), который соответствует счетчику команд фон-неймановской машины. После исполнения так называемой линейной инструкции этот указатель увели­чивает свое значение на ее длину, то есть он укажет на начало следующей инст­рукции. Линейная инструкция не нарушает порядок выполнения, определяемый последовательностью расположения инструкций в памяти (по нарастанию адре­са). Кроме линейных инструкций существуют инструкции передачи управления, среди которых различают инструкции переходов и вызовов процедур. Эти инст­рукции в явном или неявном виде содержат информацию об адресе следующей выполняемой инструкции, который может указывать на относительно произволь­ную ячейку памяти. Инструкции переходов и вызовов могут быть безусловными (ни от чего не зависящими) и условными. Произойдет ли условный переход (вы­зов) или нет, зависит от состояния флагов (признаков) на момент исполнения данной инструкции. Если переход (вызов) не состоится, то исполняется инст­рукция, расположенная в памяти вслед за текущей. Вызов процедуры характерен тем, что перед ним процессор сохраняет в стеке (стек — это область ОЗУ) адрес следующей инструкции, и на этот адрес передается управление после заверше­ния исполнения процедуры (этот адрес извлекается из стека при выполнении инструкции возврата). Переход выполняется безвозвратно.

Последовательность исполнения инструкций, предписанная программным кодом, может быть нарушена под воздействием внутренних или внешних (отно­сительно процессора) причин. К внутренним причинам относятся исключения (exceptions) — особые ситуации, возникающие при выполнении инструкций. Наглядным примером исключения является попытка деления на ноль. При воз­никновении условия исключения процессор автоматически выполняет вызов процедуры обработки исключения, после которой он может вернуться к повтор­ному исполнению инструкции, породившей исключение, или следующей за ней.

Внешними причинами изме­нения нормальной последовательности инструкций являются аппаратные пре­рывания — вызовы процедур под воздействием электрических сигналов на спе­циальные выводы процессора. Эти сигналы могут подаваться со­вершенно неожиданно для исполняемой программы. Источниками аппарат­ных прерываний являются контроллеры и адаптеры периферийных устройств, генераторы меток времени, системы управления питанием и другие подсистемы.

В компьютере обязательно должен присутствовать центральный процессор (CPU — Central Processing Unit), который исполняет основную программу. В многопроцессорной системе функции центрального процессора распределяют­ся между несколькими обычно идентичными процессорами для повышения об­щей производительности системы, а один из них назначается главным. В по­мощь центральному процессору в компьютер часто вводят сопроцессоры, ориен­тированные на эффективное исполнение каких-либо специфических функций. Широко распространены математические сопроцессоры, обрабатывающие числовые данные в формате с плавающей точкой; графические сопроцессоры, выпол­няющие геометрические построения и обработку графических изображений; со­процессоры ввода-вывода, разгружающие центральный процессор от несложных, но многочисленных операций взаимодействия с устройствами.

Процессор фон-неймановской машины фактически может выполнять только один процесс, передавая управление от инструкции к инструкции согласно ис­полняемой программе.

Чем сложнее программа и больше объем обрабатываемых ею данных, тем больше ее потребности в памяти. В первых процессорах семейства память пре­доставлялась в виде сегментов с размером по 64 Кбайт, а суммарный объем программно адресуемой памяти не превышал значения в 1 Мбайт. Архитекту­ра PC ограничивала размер оперативной памяти объемом в 640 Кбайт, начиная с нулевых адресов. Эта область называется стандартной памятью (conventional memory), и для прикладных программ из нее остается доступной область по­рядка 400-550 Кбайт (остальное «съедает» операционная система вместе с раз­ными драйверами). Потребности решаемых задач довольно быстро переросли эти ограничения, и в процессоры ввели средства организации виртуальной па­мяти. Впервые они появились в 80286, но удобный для употребления вид при­няли только в 32-разрядных процессорах (80386 и выше). Во-первых, было сня­то ограничение на 64-Кбайтный размер сегмента — теперь любой сегмент мо­жет иметь почти произвольный размер до 4 Гбайт. Во-вторых, был введен ме­ханизм страничной переадресации памяти (paging). Теперь любая страница (об­ласть фиксированного размера) виртуальной логической памяти (адресуемой программой в пределах выделенных ей сегментов) может отображаться на лю­бую область физической памяти (реально установленной оперативной). Архитектура и микроархитектура процессоров

В IBM-совместимых ПК применяются процессоры, совместимые с семейством 80x86 фирмы Intel. В оригинальной машине IBM PC использовался процес­сор 8088 с 16-разрядными регистрами. Все следующие модели процессоров, в том числе 32-разрядные (386, 486, Pentium, Pentium Pro, Pentium II/III, Celeron, Pen­tium 4 от Intel, K5, Кб и К7 (Athlon и Duron) от AMD, MI, МП и Mill от Cyrix/ VIA) с расширениями ММХ, SSE и 3DNow!, включают в себя подмножество системы команд и архитектуры предыдущих моделей, обеспечивая совместимость с ранее написанным ПО. Далее в тексте знак + означает, что описание верно как для указанного процессора, так и для следующих за ним процессоров. При этом 286 означает процессор 80286, 386 — 80386, ..., Р5 означает Pentium, P6 — ряд процессоров 6-го поколения, включая Pentium Pro, Pentium I I/I II и Celeron. На­пример, P5+ означает применимость к процессорам Pentium, Pentium MMX, Pentium Pro, Pentium II, Celeron, Pentium III и Pentium 4.

Под архитектурой процессора понимается его программная модель, то есть программно-видимые свойства. Под микроархитектурой понимается внутренняя реализация этой программной модели. Для одной и той же архитектуры IA-32(Intel Architecture 32 bit) разными фирмами и в разных поколениях применяются существенно различаю­щиеся микроархитектурные реализации, при этом, естественно, стремятся к мак­симальному повышению производительности (скорости исполнения программ).

В микроархитектуре процессоров 5-7 поколений — Pentium (MMX) и их близ­ких аналогов, Pentium Pro, Pentium II/Ш, Celeron и, наконец, Pentium 4 и К7 — существенное значение имеет реализация различных способов конвейеризации и распараллеливания вычислительных процессов, а также других технологий, не свойственных процессорам прежних поколений.

Конвейеризация (pipelining) предполагает разбивку выполнения каждой ин­струкции на несколько этапов, причем каждый этап выполняется на своей сту­пени конвейера процессора. При выполнении инструкция продвигается по кон­вейеру по мере освобождения последующих ступеней. Таким образом, на кон­вейере одновременно может обрабатываться несколько последовательных инст­рукций, и производительность процессора можно оценивать темпом выхода выполненных инструкций со всех его конвейеров. Для достижения максимальной производительности процессора — обеспечения полной загрузки конвейеров с минимальным числом лишних штрафных циклов (penalty cycles) — программа должна составляться с учетом архитектурных особенностей процессора. Конеч­но, и код, сгенерированный обычным способом, будет исполняться на процессо­рах классов Pentium и Р6 достаточно быстро. Конвейер «классического» процес­сора Pentium имеет пять ступеней. Конвейеры процессоров с суперкоивейерной архитектурой (superpipelined) имеют большее число ступеней, что позволяет упростить каждую из них и, следовательно, сократить время пребывания в них инструкций. Гиперконвйер Pentium 4 имеет уже 20 ступеней.

Скалярным называют процессор с единственным конвейером, к этому типу относятся все процессоры Intel до 486 включительно. Суперскалярный (super­scalar) процессор имеет более одного (Pentium — два) конвейера, способных об­рабатывать инструкции параллельно. Pentium является двухпотоковым процес­сором (имеет два конвейера), Р6 — трехпотоковым.

Благодаря совершенствованию микроархитектуры от поколения к поколению возрастает производительность процессоров, причем этот рост обеспечивается двумя факторами. Во-первых, растет тактовая частота ядра. Каждая микроархи­тектура имеет свои пределы роста частоты. Здесь рекорд пока что у процессоров Р6, микроархитектура которых выдержала почти 10-кратное увеличение такто­вой частоты, но для дальнейшего роста в Pentium 4 фирме Intel пришлось суще­ственно удлинить конвейер. Во-вторых, сокращается число тактов процессорно­го ядра, требуемых на выполнение одной инструкции (в пересчете с темпа схода инструкций с конвейера). Так в среднем процессоры 1, 2, 3, 4, 5 и 6 поколений на одну инструкцию тратят 12, 5, 4, 2, 1 и 0,5 тактов.