Этапы развития архитектуры универсальных микропроцессоров

Первый микропроцессор был разработан фирмой Intel в 1971 году. Он получил название I-4004, имел 4-разрядную структуру и был ориентирован на использование в калькуляторах. Впоследствии этой же фирмой был выпущен еще один 4-разрядный микропроцессор - I-4040.

На протяжении многих лет крупнейшими разработчиками и производителями универсальных микропроцессоров в мире являются компании Intel (70-75 % мирового производства) и Advanced Micro Devices (AMD), занимающая 20-25 % рынка. Их разработки идут во многом параллельными путями. В нашем курсе мы будем рассматривать развитие архитектуры универсальных микропроцессоров на примере микропроцессоров фирмы Intel.

В 1972 году на рынке появился 8-разрядный МП I-8008, а вслед за ним, в 1974 году,- I-8080. Последний микропроцессор сыграл значительную роль в развитии микропроцессорной техники. Во многом он заложил основы архитектуры для всех последующих поколений микропроцессоров. Он имеет раздельные 8-разрядную шину данных и 16-разрядную шину адреса, возможность подключения памяти емкостью до 64 Кбайт и до 256 внешних устройств. Микропроцессор содержит 16-разрядные указатель команд (Instruction Pointer - IP) и указатель стека (Stack Pointer - SP), шесть 8-разрядных регистров общего назначения (РОН), которые могут использоваться как три 16-разрядные. Система команд состоит из 78 базовых команд. При загрузке операнда из памяти применяется прямая, косвенная регистровая или стековая адресация. В общем случае программист может использовать регистровую, прямую, косвенную, непосредственную, индексную, прямую и косвенную автоинкрементную и автодекрементную адресации.

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

Его отличительной чертой стало создание микропроцессорного комплекта или семейства, то есть набора БИС, совместимых между собой по интерфейсным сигналам и функционально дополняющих друг друга. В нашей стране этот микропроцессорный комплект выпускался в составе серии К580, в которую вошли следующие микросхемы:

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

Очередным крупным шагом в развитии микропроцессорной техники стало появление в 1978 году 16-разрядных универсальных микропроцессоров. Здесь прежде всего следует выделить микропроцессор I-8086,

выпускавшийся отечественной электронной промышленностью в составе семейства К1810. Эти микропроцессоры, заложившие основы архитектуры x86, использовались при производстве первых персональных ЭВМ.

Основными отличительными чертами в архитектуре этого микропроцессора стали:

Появившийся вслед за этим в 1982 году микропроцессор i286 явился переходной ступенью к 32-разрядным универсальным микропроцессорам. В процессоре i286 было реализовано два режима работы - защищенный и реальный. В реальном режиме работы процессор был полностью совместим с выпускавшимися ранее 16-разрядными микропроцессорами с архитектурой x86. В формировании адреса участвовали только 20 линий, поэтому максимальная емкость адресуемой памяти в этом режиме осталась прежней - 1 Мбайт. В защищенном режиме процессор мог адресовать до 1 Гбайт виртуальной памяти. Шина адреса увеличена до 24 бит, поэтому емкость адресуемой памяти составляла 16 Мбайт. Для защиты от несанкционированного доступа к программам и данным и выполнения привилегированных команд, которые могут кардинально изменить состояние всей системы, в процессоре i286 была введена защита по привилегиям. С этой целью микропроцессор поддерживал 4 уровня привилегий. Для выполнения операций над числами с плавающей точкой была разработана отдельная БИС - математический сопроцессор 80287.

В 1985 году был выпущен 32-разрядный универсальный микропроцессор i386 - первый полноценный представитель архитектуры IA-32 (Intel Architecture-32). Развитие этой архитектуры продолжалось вплоть до последних моделей микропроцессора Pentium 4. Данную архитектуру отличает ряд изменений, некоторые из которых имеют чисто количественное значение, а другие носят принципиальный характер.

Главным внешним отличием является увеличение разрядности шины данных и шины адреса до 32 бит. Это, в свою очередь, связано с изменениями в разрядности внутренних элементов микропроцессора.

Большие качественные изменения произошли на уровне работы микропроцессора в защищенном режиме, который был существенно развит по сравнению с i286. Отметим основные черты этого режима.

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

2. Организуется аппаратная поддержка мультипрограммного режима работы, при котором в памяти одновременно содержатся программы и данные для выполнения нескольких задач. Каждой задаче предоставляется свой <виртуальный процессор>. В каждый момент времени реальный процессор предоставляется одному из виртуальных процессоров, выполняющему свою задачу.

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

За время, прошедшее после появления первого 32-разрядного микропроцессора, только фирмой Intel было выпущено несколько десятков модификаций 32-разрядных МП. Изменения в некоторых моделях носили принципиальный характер, а ряд моделей содержали в основном лишь количественные изменения отдельных параметров (частота, емкость кэш-памяти и т. п.). Основные этапы развития этой архитектуры, которые, на наш взгляд, носят принципиальный характер, представлены в табл. 1.1.

Таблица 1.1. Этапы развития архитектуры IA-32
Модель Год начала выпуска Число транзисторов на кристале Максимальная тактовая частота, МГц Схема обработки данных Наличие кэш-памяти на кристале Регистры Колличество команд в системе команд Колличество конвейеров/ступеней конвейера
i386 275 тыс. SISD, ФТ нет 32 разрядные с ФТ*** -
i486 1,2 млн. SISD, ФТ, ПТ да --- // --- +80-разрядные с ПТ*** --- // --- ---
Pentium 3,1 млн. --- // --- --- // --- --- // --- --- // --- 2/5
Pentium MMX 4,5 млн. --- // --- +SIMD, ФПБ --- // --- --- // --- + 57 4/14
Pentium III 9,5 млн. (28,1 млн.) * --- // --- +SIMD, П3 --- // --- +кэш L2 --- // --- +128-разрядные SSE +70 5/11
Pentium 4 42 млн. --- // --- --- // --- --- // --- +144 9/31

 

   

 

Остановимся вкратце на их рассмотрении.

К основным нововведениям микропроцессора i486, выпущенного в 1989 году, относятся два, которые связаны с расширившимися технологическими возможностями. Это размещение непосредственно на кристалле БИС двух важных блоков, которые раньше выполнялись в виде отдельных микросхем: кэш-памяти и блока процессора обработки чисел с плавающей точкой ( floating point unit - FPU ). Кэш-память имела объем 8

Кбайт и предназначалась для хранения программ и данных. FPU имел внутренний файл из восьми 80-разрядных регистров, свой регистр состояния и управления.

Главной отличительной чертой нового продукта в линейке 32-разрядных микропроцессоров - МП Pentium - явилась возможность конвейерной обработки информации. Хотя некоторые авторы считают, что конвейер появился уже в i486, это не является общепринятым мнением.

Высокая скорость выполнения команд в МП Pentium достигалась благодаря двум 5-ступенчатым конвейерам, позволявшим одновременно исполнять несколько инструкций. Обмен информацией с памятью через кэш данных осуществлялся независимо от процессорного ядра, а буфер инструкций был связан с ним через высокоскоростную 256-разрядную внутреннюю шину. Несмотря на то что новый кристалл был спроектирован как 32-разрядный, для связи с остальными компонентами системы использовалась внешняя 64-разрядная шина данных. Появление конвейера обусловило необходимость введения еще одного блока - схемы предсказания переходов. Эффективная работа данной схемы чрезвычайно важна для повышения производительности микропроцессора. Все последующие модификации микропроцессоров непременно связаны с улучшением ее работы.

Основным нововведением разработанного в 1997 году микропроцессора Pentium MMX стал блок, обеспечивавший новую схему обработки целочисленной информации -SIMD (Single Instruction - Multiple Data: одна команда - множество данных). До этого обработка велась по классической схеме SISD: каждая команда выполняла действия над своей парой операндов. Введение SIMD-операций позволило обрабатывать одновременно несколько операндов с использованием одной команды, что дало возможность существенно поднять производительность микропроцессора на тех задачах, где над большими массивами однородной информации выполнялись одинаковые операции, например, в мультимедийных приложениях. Появление таких возможностей потребовало введения в систему команд 57 новых инструкций, но регистровая структура микропроцессора не изменилась.

Микропроцессор Pentium III, появившийся в 1999 году, позволил обрабатывать по схеме SIMD не только целочисленные операнды, но и числа с плавающей точкой. Для этого система команд была расширена на 70 инструкций, а в структуре микропроцессора появился специальный блок SSE, содержащий, в частности, отдельный регистровый файл из восьми 128-разрядных регистров. Еще одной новинкой, использованной в Pentium III, было размещение на кристалле кэш-памяти второго уровня (начиная с ядра Coppermine), работающей на частоте ядра. Но это носило скорее количественный характер и не внесло существенных изменений в архитектуру.

Микропроцессор Pentium 4 завершает линейку 32-разрядных микропроцессоров. Основным вкладом этого микропроцессора в развитие архитектуры IA-32 стало еще большее увеличение глубины конвейера - до 31 стадии, что позволило сильно нарастить частоту процессора. Количество конвейеров возросло до 9. Кроме поддержки ставших традиционными инструкций MMX и SSE, в Pentium 4 добавили еще 144 команды SSE2, затем и SSE3, ориентированные в первую очередь на работу с потоковыми данными.

В 2001 году фирмой Intel был выпущен микропроцессор Itanium, положивший начало новой 64-разрядной архитектуре - IA-64, которая сменила архитектуру 32-разрядных микропроцессоров IA-32, господствовавшую на протяжении более 15 лет.

Данное учебное пособие в части универсальных микропроцессоров будет базироваться в основном на рассмотрении базовой архитектуры 32- разрядного микропроцессора, которая сложилась в микропроцессоре i486. Основные моменты, касающиеся развития этой архитектуры (конвейерная организация работы, обработка информации по схеме SIMD и т. д.), будут рассмотрены отдельно. Также отдельно будут рассмотрены современные направления развития архитектуры универсальных микропроцессоров и, в качестве примера, архитектура 80-ядерного микропроцессора фирмы Intel и микропроцессора Itanium.