История CISC-процессоров компании Intel




 

Процессоры Intel в своем развитии прошли довольно сложный и насыщенный различными событиями путь. Корпорация Intel была основана в 1968 г.

Первый процессор i4004 был разработан Intel в 1969 г. Он представлял собой 4-разрядное параллельное вычислительное устройство с 2300 транзисторами. Его возможности были сильно ограничены — он выполнял всего лишь четыре основные арифметические операции.

В 1972 г. был выпущен 8-разрядный процессор i8008 с адресацией внешней оперативной памяти размером 16 Кбайт.

В 1974 г. был выпущен i 8080, который, оставаясь 8-разрядным, мог адресовать 64 Кбайт оперативной памяти. Для того времени это было революцией, этот процессор был выпущен в миллионах экземпляров. Историю современных Intel-совместимых процессоров принято вести именно от i8080.

Очередной революционный процессор Intel — i8086 — появился в 1978 г. Его основные характеристики — наличие 16-разрядных регистров, 16-разрядной шины данных. 20-разрядная шина адреса позволяла организовать адресацию памяти в пределах 1 Мбайт.

С целью занятия более широкой ниши на рынке, Intel вскоре представила более дешевый вариант этого процессора - i8088. При внутренней 16-разрядной архитектуре он имел 8-разрядную шину данных, вследствие чего был менее производителен. Важно отметить, что дешевизна достигалась в основном не за счет дешевизны самого процессора, а за счет удешевления конечного продукта — компьютера на его основе. Другой причиной появления и широкого распространения i8088 было наличие большого количества 8-разрядных внешних устройств. 8-разрядная шина данных i8088 позволяла упростить процесс сопряжения (взаимодействия) с этими устройствами. Отметим, что одним из внешних устройств, поддерживаемых процессорами i8086/88, был математический сопроцессор i8087, который мог устанавливаться в специальный разъем материнской платы. Важно также подчеркнуть, что, начиная с i8086/88, все процессоры Intel совместимы «снизу вверх». Следствием этого является гарантированная возможность запуска на современном процессоре Pentium практически любой программы, написанной для i8086/88 (естественно, при соответствующей поддержке системного программного обеспечения).

В 1982 г. Intel представляет процессор i80286. К главным нововведениям следует отнести расширение шины адреса до 24 битов, что позволило адресовать уже 16 Мбайт оперативной памяти.

Мощным стимулом к развитию многозадачных систем стали возможности, предоставляемые новым процессором i80386-DX, выпущенным Intel в 1985 г. Это был первый 32-разрядный процессор, который положил начало семейству процессоров IA-32 (32-bit Intel Architecture). Главные отличительные особенности: 32-разрядные шины адреса и данных (адресация оперативной памяти — до 4 Гбайт); увеличенная до 32 битов разрядность внутренних регистров процессора. Одновременно был выпущен более дешевый вариант процессора i80386-DX —процессор i80386-SX с 16-разрядной шиной данных. При необходимости на материнскую плату можно было установить и математический сопроцессор i80387. Процессор i80386 первым из семейства процессоров Intel стал поддерживать возможность параллельного функционирования своих устройств: устройства шинного интерфейса (bus interface unit), блока предварительной выборки (code prefetch unit), блока декодирования команд (instruction decode unit), исполнительного блока (execution unit), блока сегментации (segment unit), блока страничной адресации (paging unit).

Особенность данной модели процессора Intel сосотояла в том, что разработчики реализовали в нем механизм вызова команд из памяти заранее, чтобы они имелись в наличии в процессоре в тот момент, когда будут необходимы. Эти команды помещались в набор регистров процессора, который назывался «буфер выборки с упреждением» (или “ кэш команд ”).Когда была нужна определенная команда, она вызывалась прямо из буфера, и не нужно было ждать, пока она считается из оперативной памяти. Таким образом, процесс выборки с упреждением разделяет выполнение команды на два этапа: вызов и собственно выполнение.

 

Процессор i80486 появился в 1989 г. Основные его характеристики - наличие встроенного математического сопроцессора, поддержка многопроцессорного режима работы и работы с двумя видами кэш-памяти. Intel 80486 имел расположенную на самом кристалле (микросхеме) процессора кэш-память 1-го уровня L1 размером 8 Кбайт и внешний кэш (кэш-память 2-го уровня L2), расположенный отдельно на материнской плате.

Кэш-память 1 уровня встроена в процессор. Она представляет собой группу регистров (регистров памяти процессора), с которыми работает сам процессор, причем в отличие от регистров общего назначения (ВХ, АХ и др.) из программы к ним обратиться нельзя (т.е. нельзя писать как mov ax, var1), с, а кэш-память 2 уровня находится рядом в виде отдельной микросхемы для этого процессора. То есть это промежуточная буферная память, занимающая положение между оперативной памятью и кэш-памятью первого уровня. Первоначально оба кэша были предназначены только для хранения команд процессору.

Важные изменения в архитектуре процессора Intel 80486 коснулись концепции параллельных вычислений, направленной на улучшение производительности ЭВМ. На основе механизма выборки команд с упреждением разработчики процессора Intel 80486 предложили идею разбиения процесса выполнения команды на бОльшее количество этапов. Каждый из этапов выполнялся определенной частью процессора, причем все эти части могли работать параллельно (то есть одновременно). Эти части процессора принято называть блоками или стадиями. Несколько стадий (блоков) образуют конвейер. Конвейер процессора i80486 состоял из 5 стадий (рис. 1а):

1. Стадия С1 вызывает команду из памяти и помещает ее в буфер, где она хранится до тех пор, пока не будет нужна.

2. Стадия С2 декодирует эту команду, определяя ее тип и тип операндов, над которыми она будет производить определенные действия.

3. Стадия СЗ определяет местонахождение операндов и вызывает их или из регистров, или из памяти.

4. Стадия С4 выполняет команду.

5. Стадия С5 записывает результат в нужный регистр.

 

Рис. 1. Конвейер из 5 стадий (а);

состояние каждой стадии в определенный момент времени (б).

 

На рис. 1 б показано, как действует конвейер во времени.

В момент времени 1 стадия С1 работает над командой 1, вызывая ее из памяти.

В момент времени 2 стадия С2 декодирует команду 1, в то время как стадия С1 вызывает из памяти команду 2.

В момент времени 3 стадия СЗ вызывает операнды для команды 1, стадия С2 декодирует команду 2, а стадия С1 вызывает третью команду.

В момент времени 4 стадия С4 выполняет команду 1, СЗ вызывает операнды для команды 2, С2 декодирует команду 3, а С1 вызывает команду 4.

В момент времени 5 стадия С5 записывает результат выполнения команды 1 в регистр, тогда как другие стадии работают над следующими командами.

 

 

Ну и, наконец, ЭПОХА PENTIUM. Первый Pentium — Pentium-60 — был представлен в начале 1993 г.

Архитектура данного процессора предусматривала использование нескольких конвейеров и была названа суперскалярной архитектурой. Pentium-60 имел два конвейера из пяти стадий, известные как u и v. Для такой архитектуры с двумя конвейерами общий блок выборки команд берет из памяти сразу по две команды и помешает каждую из них в один из конвейеров (рис. 2). Количество стадий называется глубиной конвейера.

 

Рис. 2. Двойной конвейер из пяти стадий с общим отделом вызова команд

 

Разделение функций между конвейерами было следующим: главный конвейер (u -конвейер) мог выполнять произвольные (любые) команды, а второй конвейер (v -конвейер) мог выполнять только простые команды с целыми числами.

Для параллельных операций в процессоре содержится несколько отдельных арифметико-логических устройств для каждого конвейера. Чтобы выполняться параллельно, две команды не должны конфликтовать при использовании ресурсов (например, регистров), и ни одна из них не должна зависеть от результата выполнения другой.

Имеются сложные правила определения, является ли пара команд совместимой для того, чтобы выполняться параллельно. Если команды, входящие в пару, были сложными или несовместимыми, выполнялась только одна из них (в u -конвейере). Оставшаяся вторая команда составляла затем пару со следующей командой. Команды всегда выполнялись по порядку. Таким образом, для процессора Pentium были созданы особые компиляторы (компилятор - программа для перевода исходного текста написанной разработчиком программы в машинные коды), которые объединяли совместимые команды в пары и могли порождать программы, выполняющиеся быстрее, чем в предыдущих версиях процессоров.

К внутреннему кэшу команд добавлен внутренний 8-килобайтный кэш данных. Внешняя шина данных увеличена до 64 битов. Начиная с модели процессоров Pentium с тактовой частотой 133 МГц (1997 г.) в них был введен блок ММХ-команд (ММХ означает MultiMedia eХtensions - мультимедийное расширение), т.е. команд обработки звука, изображений, архивирования – разархивирования данных и т.д.

На сегодняшний день имеется три поколения, или семейства, процессоров Pentium — Pentium, P6 и Pentium IV с микроархитектурой NetBurst.

К семейству Pentium относятся процессоры Pentium и Pentium MMX.

История семейства Р6 началась в 1995 году с появлением процессора Pentium Pro. Процессор поддерживал работу трех конвейеров, то есть мог обрабатывать до трех команд за один такт. Процессор Pentium Pro использовал новую технологию работы с кэш-памятью. Кроме обычной внутренней кэш-памяти первого уровня, в этом же корпусе размещалась в виде второго кристалла (микросхемы) и кэш-память 2-го уровня - L2 размером 256 Кбайт, для связи с которой имелась специальная 64-разрядная шина, работающая на частоте процессора. Шина адреса процессора Pentium Pro имела разрядность 36 бита, что позволяло при определенных условиях организовать адресацию памяти (ОП) до 64 Гбайт.

236 адресов ячеек памяти, а каждая ячейка содержит один байт информации, таким образом, получаем 236 байт = 226·210 байт =226Кбайт =216Мбайт =

=26Гбайт=64 Гбайт

Процессор Pentium II, появившийся на свет в 1997 г., добавил к архитектуре процессора Pentium Pro поддержку ММХ-команд. Кроме того, были увеличены размеры кэш-памяти всех уровней — кэш-память команд и данных первого уровня выросла до 16 Кбайт каждая, кэш-память второго уровня могла иметь величину 256, 512 Кбайт или 1 Гбайт.

На сегодняшний день последним 32-разрядны м процессором является Pentium IV. Он позиционировался как процессор нового поколения с новым типом архитектуры, носящей название NetBurst и являющейся суперскалярной гиперконвейерной архитектурой (конвейер имеет глубину 20 стадий). С появлением процессора Pentium IV система команд процессоров Intel пополнилась еще 144 новыми командами.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: