Московский государственный университет печати

Иванько А.Ф.


         

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

Учебное пособие


Иванько А.Ф.
Структура и архитектура микропроцессоров современных персональных электронных вычислительных машин
Начало
Печатный оригинал
Об электронном издании
Оглавление
1.

Введение в архитектуру микропроцессоров

2.

Особенности набора КР 580

3.

Архитектура микропроцессора К 580 и микроЭВМ на его базе

4.

Система команд микропроцессора КР 580ИК80

5.

Структуры микропроцессорных систем и области их применения

6.

Процессоры PENTIUM

7.

Интерфейс шины процессоров PENTIUM

8.

Расширения архитектуры

9.

Двухпроцессорные системы

10.

Маркировка и идентификация процессоров PENTIUM

11.

Универсальные микропроцессоры

11.1.

Микропроцессоры компании AMD

11.2.

Микропроцессоры компании Cyrix

11.3.

Микропроцессоры с архитектурой Alpha

Список литературы

Указатели
4  именной указатель
102  предметный указатель
31  указатель иллюстраций
21  указатель компаний

11.
Универсальные микропроцессоры

11.1.
Микропроцессоры компании AMD

Успешную конкуренцию семейству Pentium составляют разработанные компанией AMD микропроцессоры с системой команд ×86, получившие название «Криптон-5», или сокращенно К5, и их преемник К6 [ссылка на источники литературы].

Микропроцессор К5

С 1990 г. AMDAMD и IntelIntel ведут судебную тяжбу по поводу собственности на микрокод процессоров архитектуры ×86. В течение ряда лет AMD, отставая от Intel по крайней мере на одно поколение микропроцессоров, полагалась в основном на лицензированную технологию и вносила незначительные конструктивные отличия в выпускаемые микропроцессоры. Появление микропроцессора Pentium создало для AMD прямую угрозу вытеснения с рынка, что стимулировало компанию к интенсификации работ над созданием нового семейства микропроцессоров, совместимых с семейством ×86. Была поставлена цель создать такое семейство микропроцессоров, которое опередило бы Pentium компании Intel и положило бы конец создавшемуся для AMD положению следования за лидером. Работы над К5 были начаты, когда еще не были известны подробности о процессоре Pentium. Инженерам AMD пришлось разрабатывать собственную микроархитектуру, обеспечивая при этом совместимость с существующим программным обеспечением для процессоров ×86 [ссылка на источники литературы].

Первоначально AMD планировала начать поставки своего Микропроцессормикропроцессора с тактовой частотой 100-120 МГц в 1995 г., однако было выпущено лишь несколько тысяч таких ЦП, а их тактовая частота составила 75 МГц. Основные поставки К5 начались в первом квартале 1996 г., после того как компания перешла на 0,35-микронную технологию, разработанную с содружестве с Hewlett-Packard. Это позволило довести число транзисторов до 4,2 млн. на площади около 167 мм2 [ссылка на источники литературы].

К5 - это первый микропроцессор AMD, при создании которого не использовалась никакая интеллектуальная собственность Intel (за исключением микрокода), в то же время он обладает лучшей по сравнению с процессорами Intel производительностью. По данным AMD, реальные приложения (такие, как Microsoft Excel, Word или CorelDraw) работают на процессорах серии К5 на 30% быстрее, чем на Pentium с той же тактовой частотой. Такая производительность достигается в основном за счет увеличенного объема кэш-памяти и более прогрессивной суперскалярной архитектуры. Вместо парных конвейеров целочисленных вычислений Pentium в К5 используется суперскалярная архитектура со счетверенной подачей команд 5 обрабатывающим блокам и RISC-ядром с уникальным декодером инструкций ×86 [ссылка на источники литературы].

Используемая в микропроцессорах AMD архитектура RISC 86 (впервые предложенная NexGen) показана на рис. 11.1Рис. 11.1. Архитектура RISC86 компании AMD.

Как известно, команды ×86 отличает сложность и переменная длина, затрудняющие их динамическое выполнение. Декодер, представляющий собой наиболее сложную часть микропроцессора, разбивает длинные CISC-инструкции на небольшие RISC-подобные компоненты - так называемые ROP (RISC-операции). R-операции напоминают команды микрокода микропроцессоров ×86. Первые микропроцессоры с архитектурой ×86 выполняли свой сложный набор микрокоманд, выбирая из внутренней постоянной памяти микрокод. В последних микропроцессорах ×86 использование микрокода сведено к минимуму за счет применения простых команд. В К5 применяется другой подход: здесь большинство R-операций генерируются динамически не микрокодом, а декодером. Однако микрокод все еще используется для обработки сложных и редко применяемых команд ×86, таких, как строковые операции и операции над комплексными числами. Тем не менее даже в этих случаях в результате генерируется поток R-операций. К5 может конвертировать команду ×86 в 1-4 R-операции. Эти операции планируются для выполнения в ядре, в котором многое заимствовано от RISC-архитектуры. Используются динамическое переименование регистров, предсказание переходов, изменение последовательности выполнения и других методы динамического выполнения. К5 реализует гибридную CISC/RISC-технологию [ссылка на источники литературы].

Особенностью К5 является то, что вместо 2 конвейеров для параллельного выполнения целочисленных операций он имеет 5 параллельно функционирующих блоков. Как и Pentium, он может параллельно выполнять 2 целочисленные операции. Однако в отличие от Pentium в К5 одновременно могут выполнятся также инструкции с плавающей точкой, загрузки/сохранения или перехода. Большой набор регистров и блок загрузки/сохранения позволяет выполнять за цикл выборки из памяти две операции. Другим отличием от Pentium является то, что К5 может изменять последовательность выполняемых операций [ссылка на источники литературы].

Блок выполнения операций с плавающей точкой (FPU) отвечает стандартам ×86, однако по производительности несколько уступает FPU процессора Pentium. Отметим, что этот вид операций не имеет для программного обеспечения ПК особенно важного значения (доля команд с плавающей точкой в общем объеме распространенных программных продуктов ничтожно мала) [ссылка на источники литературы].

Использованное в архитектуре К5 сочетание принципов CISC и RISC позволило преодолеть ограничения набора команд ×86. Такие процессоры, как К5, содержат около 4 млн. в транзисторов, что значительно отличает их от первых процессоров Intel с архитектурой ×86 - 8086, содержавших 29000 транзисторов. Однако увеличение сложности процессора позволило не заменять старый набор команд на новый, более эффективный, поскольку эти команды использует широко распространенное во всем мире программное обеспечение. Поэтому все конкурирующие компании (AMD, Cyrix и Intel) выбрали компромиссный вариант и интегрировали технологии CISC и RISC, не отказываясь от совместимости с ×86 [ссылка на источники литературы].

Основные характеристики микропроцессора К5: [ссылка на источники литературы]

  • Выпускается с 1995 г.

  • Совместим с семейством микропроцессоров ×86.

  • Суперскалярная архитектура с четырехвходовой подачей команд.

  • Конвейер с 5 стадиями обработки.

  • 5 параллельно функционирующих блоков: арифметико-логический блок, блок арифметико-логических операций/сдвига, блок операций с плавающей точкой, блок перехода и блок загрузки/хранения.

  • Кэш команд 16 Кб, кэш данных 8 Кб с двумя портами, линейная адресация.

  • Изменение порядка выполнения команд, предсказание переходов, эффективное выполнение. Отличный от IntelIntel микрокод (впервые для AMD).

  • Производительность на 30% выше Pentium с той же тактовой частотой.

  • Тактовая частота 75-200 МГц.

  • Отношение внутренней/внешней тактовой частоты: 1.1; 5,2; 3.

  • 4,1 млн. транзисторов.

  • Трехслойная металлизация, напряжение 3,3 В, полностью статический КМОП.

  • 0,5-микронная технология (в начальной версии), в 1996 г. переход на 0,35-микронную технологию.

  • Совместим по выводам с Pentium.

Микропроцессор К6

Новый микропроцессор компании AMDAMD явился продуктом совместных усилий компании AMD и специалистов из бывшей NexGen. По сути дела, К6 представляет собой воплощение проекта N×686, ранее начатого компанией NexGen, но не завершенного по финансовым причинам [ссылка на источники литературы].

Микропроцессор К6 изготавливается по технологии КМОП/0,35 мкм с пятислойной металлизацией, содержит 8,8 млн. транзисторов на кристалле площадью 162 мм2 и работает с тактовыми частотами 166,200 и 233 МГц. Процессор полностью совместим по системе команд с семейством ?86, а по выводам - с Socket17. Кроме того, К6 оснащен ставшим отраслевым стандартом мультимедийным расширением системы команд - MMX. По производительности К6 сравним с Pentium Pro, К6 одинаково успешно работает как с 32-разрядными, так и с 16-разрядными приложениями [ссылка на источники литературы].

Как и в К5, в К6 применена суперскалярная архитектура RISC86 с раздельным декодированием/исполнением команд, обеспечивающая преемственность с системой команд ×86 и достижение высокой производительности, свойственной микропроцессорам шестого поколения [ссылка на источники литературы].

Высокая производительность процессора достигается благодаря ряду новых архитектурных и технологических решений [ссылка на источники литературы].

  • В процессоре реализуется преддекодирование команд ×86 при их выборке в кэш. Каждая команда в кэш-памяти первого уровня снабжается битами преддекодирования, указывающими смещение начала следущей команды в кэше (от 1 до 15 байт).

  • К6 содержит внутрикристальный кэш первого уровня по 32 Кбайт для данных и команд.

  • В процессоре реализован высокопроизводительный блок вычислений с плавающей точкой.

  • Имеется высокопроизводительный блок мультимедийных операций стандарта MMX.

  • Используется множественное декодирование ×86 инструкций в однотактовые RISC-операции.

  • Процессор поддерживает логику предсказания ветвлений, используя таблицу истории ветвлений из 8192 элементов, кэш адресов перехода и стек возврата, которые обеспечивают вероятность правильного предсказания перехода выше 0,95. В процессоре используется двухуровневая схема предсказания ветвлений. Таблица истории ветвлений не хранит предсказаний целевых адресов, специальные адресные АЛУ вычисляют целевые адреса во время декодирования инструкции. Кэш адресов ветвлений обеспечивает уточнение предсказанного ветвления, уменьшая потери при обращении к памяти. Кэш адресов поставляет на дешифраторы первые 16 байт инструкций, выбранных согласно прогнозу ветвления.

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

  • В процессоре используются спекулятивное исполнение с изменением последовательности команд, предварительная посылка данных, переименование регистров.

Структура микропроцессора AMD К6 показана на рис. 11.2Рис. 11.2. Структура микропроцессора AMD К6 [ссылка на источники литературы].

RISC-ядро микропроцессора может выполнять за один такт до 6 команд RISC86. В процессе исполнения ROP ядро использует 48 физических регистров - 24 регистра общего назначения и 24 регистра для переименования. 24 регистра подразделяются на 16 рабочих регистров и 8 регистров, соответствующих универсальным регистрам архитектуры ?86: EAX, EBX, ECX, EDX, EBP, ESP, ESI и EDI [ссылка на источники литературы].

Планировщик К6 содержит в буфере 24 команды RISC86 и назначает инструкции на выполнение семи исполнительным модулям: сохранения, загрузки, перехода, целочисленному АЛУ, целочисленному блоку мультимедийных команд, операций с плавающей точкой. Наличие буфера позволяет планировщику в динамике анализировать и изменять выбранную для исполнения последовательность команд, обеспечивая максимальную загрузку исполнительных устройств [ссылка на источники литературы].

Блок мультимедийных команд выполняет все инструкции расширения MMX. Целочисленный X-блок выполняет арифметико-логические операции, включая умножение, деление, сдвиг, циклический сдвиг. Y-блок - основные одно- и двухсловные арифметико-логические операции: ADD, AND, CMP, OR, SUB, XOR, расширение нуля и расширение знакового разряда числа. Блок вычислений с плавающей точкой выполняет все команды с плавающей точкой. Блок переходов осуществляет обновление состояния процессора (регистров, флагов) после подтверждения предсказанного условного ветвления, обеспечивая тем самым возможность спекулятивного выполнения команд (на глубину до семи переходов) [ссылка на источники литературы].

На ближайшую перспективу компания AMDAMD запланировала переход на 0,25-микронную технологию производства, что позволит ей увеличить тактовую частоту процессоров, а также уже сейчас ведется разработка новых микропроцессоров следующего поколения К7 и К8 [ссылка на источники литературы].

11.2.
Микропроцессоры компании Cyrix

Вторым конкурентом компании IntelIntel, после AMDAMD, по объему производства процессоров с архитектурой ×86 является CyrixCyrix [ссылка на источники литературы].

Микропроцессор Cyrix 5ґ86 (MIsc)

5×86 - это первый представитель среди процессоров компании CyrixCyrix с архитектурой ×86 пятого поколения, предложенный в качестве альтернативы Pentium. Для упрощения этапа перехода пользователей на новый процессор компания обеспечила его совместимость по выводам с 486-м процессором. В 5?86 воплощены архитектурные и структурные решения, характерные для процессоров пятого поколения, такие как 64-разрядная внутренняя архитектура, предсказание переходов, предварительная посылка данных, выполнение нескольких операций за один такт (благодаря разнесению устройств загрузки/сохранения), 80-разрядное устройство вычислений с плавающей точкой, 16-Кбайтовый общий кэш данных и команд [ссылка на источники литературы].

Особенностью микропроцессора является высокоэффективная система управления энергопотреблением процессора и внешних устройств. Система управления энергопотреблением может отключить модуль операций с плавающей точкой и другие внутренние периферийные схемы, если они в данный момент не используются. Низкое энергопотребление процессора (на частоте 100 МГц при напряжении питания 3,3 В 5×86 потребляет менее 3,5 Вт) делает его предпочтительным для использования в мобильных компьютерах, для которых критичны энергопотребление и отвод тепла [ссылка на источники литературы].

Архитектура 5×86 - результат компромисса между производительностью и простотой реализации, благодаря которой удалось уменьшить число транзисторов на кристалле и снизить энергопотребление [ссылка на источники литературы].

Процессор содержит модуль предсказания переходов, включающий буфер адресов перехода (ВТВ), 16-Кбайтовый объединенный кэш данных и команд с режимом обратной записи, устройство операций с плавающей точкой, устройство выборки и устройство декодирования команд, устройство управления памятью с буфером преобразования адресов на 32 элемента, параллельно функционирующие устройства загрузки и сохранения и модуль вычисления адресов. Функциональные модули 5×86 связаны между соой двумя 32-разрядными шинами, обеспечивающими неблокируемый обмен данными; 128-разрядная шина выборки команд обеспечивает за один такт передачу 16-байтовых команд в трехуровневый буфер устройства декодирования команд [ссылка на источники литературы].

Модуль целочисленных операций выбирает, декодирует и выполняет команды в шестистадийном конвейере. На первой стадии - выборки (Fetch Stage) - генерируется непрерывный высокоскоростной поток команд из внутреннего кэша. За один такт считывается до 128 бит кода. На второй стадии - декодирования (Decode Stage) анализируется поток команд и определяется число байтов в каждой команде и ее тип. На третьей стадии (Address Calculation) выполняется конвейеризированное вычисление адреса, включающее стадии АС1 и АС2. АС1 используется для вычисления линейного адреса, если команда обращается к операнду в памяти. АС2 выполняет любые операции доступа к памяти, кэшу и регистрам. В случае обнаружения команды с плавающей точкой АС2 передает ее устройству вычислений с плавающей точкой. На стадии выполнения (Execution Stage) под управлением микрокода осуществляется выполнение команды. На стадии записи результата (Write-Back) сохранение в регистровом файле выполняется непосредственно в модуле целочисленных операций, а сохранение в памяти выполняется модулем загрузки/сохранения [ссылка на источники литературы].

Устройство операций с плавающей точкой связано 64-разрядным интерфейсом с кэшем и модулем целочисленных операций и поддерживает систему команд ×87, включая расширенный 80-разрядный формат [ссылка на источники литературы].

Модуль управления памятью содержит устройство загрузки/сохранения, буфер преобразования адресов (TLB) и устройство вычисления адреса (АС). АС выполняет вычисление адреса, устанавливает значение указателя команд, инициирует операции загрузки/сохранения. Модуль загрузки/сохранения может выполнять операции параллельно с возможностью переупорядочивания трех операций загрузки и четырех операций сохранения [ссылка на источники литературы].

64-разрядная внутренняя шина микропроцессора преобразуется в 32-разрядную внешнюю шину. Внешняя шина микропроцессора может работать с частотой от 33 до 50 МГц, умножитель частоты повышает внутреннюю частоту до 100-120 МГц [ссылка на источники литературы].

По производительности микропроцессор сравним с младшими моделями Pentium (75, 90), но существенно дешевле последних.

Микропроцессор Cyrix 6×86

Первые образцы микропроцессоров 6×86, под названием М1, были представлены CyrixCyrix в октябре 1995 г. На частоте 100 МГц процессор на 30% превосходил по быстродействию аналогичный Pentium. Однако из-за большого размера кристалла, сильного перегрева процессора и, как следствие, ненадежной его работы процессор не приобрел широкого распространения и массовое его производство было начато только с появлением нового варианта процессора в первом квартале 1996 г. При той же 0,6-микронной технологии Cyrix перешла на пятислойную металлизацию вместо прежней трехслойной, что позволило сократить размеры кристалла с 394 до 225 мм2 и уменьшить нагрев процессора. Новый вариант процессора был выпущен для частот 100, 120, 133, 150 МГц, что соответствует используемому в маркировке процессоров Pentium-рейтингу 120+, 150+, 166+, 200+. Процессор использует напряжение питания 3,3 Вт, существует также низковольтовая версия процессора - 6×86L, предназначенная для применения в мобильных компьютерах. 6×86L использует 2,8 Вт для процессорного ядра и 3,3 Вт для подсистемы ввода/вывода [ссылка на источники литературы].

В 6×86 реализованы такие прогрессивные архитектурные методы повышения производительности, как переупорядочивание инструкций, динамическое устранение зависимостей между командами, переименование регистров, спекулятивное выполнение, предсказание переходов [ссылка на источники литературы].

Структура микропроцессора Cyrix 6×86 приведена на рис. 11.3Рис. 11.3. Структура микропроцессора Cyrix 6*86.

Микропроцессор содержит два независимых семиэтапных конвейера (X и Y), позволяющих выполнять несколько команд за один такт. Процессор имеет два кэша: общий кэш данных и команд размером 16 Кбайт и 256-байтовую кэш-память команд с прямым отображением. Выделенный кэш команд позволяет избежать частых конфликтов при обращении к данным и командам в общем кэше.

Так же как и 5×86, процессор способен параллельно выполнять целочисленные команды и команды с плавающей точкой, отложенные и переупорядоченные инструкции загрузки/сохранения [ссылка на источники литературы].

Цикл работы целочисленного АЛУ включает следующие этапы конвейерного выполнения: [ссылка на источники литературы]

  • выборка команды (IF);

  • декодирование команды 1 (ID1);

  • декодирование команды 2 (ID2);

  • вычисление адреса 1 (АС1);

  • вычисление адреса 2 (АС2);

  • выполнение (EX);

  • запись результата (WB).

Этапы декодирования команды и вычисления адреса также конвейеризированы [ссылка на источники литературы].

Этап IF - общий для X- и Y-конвейеров. Он заключается в выборке из кэша 16 байт кода за один такт. В этом такте осуществляется также анализ потока команд на наличие команд перехода. Если встретилась команда перехода, то логика предсказания генерирует адрес перехода и начинается выборка команд по предсказанному адресу [ссылка на источники литературы].

Суперконвейеризированный этап декодирования команды включает две стадии. ID1 является общей для обоих конвейеров. На этой стадии определяется количество байтов в каждой команде. За один такт две команды для каждого конвейера поступают на выполнение в ID2. В ходе стадии ID2 команды декодируются и передаются на выполнение в конвейеры X и Y. Выбор конвейера зависит от того, какая из выполняющихся в данный момент команд будет завершена раньше [ссылка на источники литературы].

Вычисление адреса включает два этапа, аналогичные рассмотренным ранее для 5×86.

На стадии выполнения используются данные, полученные на предыдущей стадии вычисления адреса. Результаты выполнения записываются в регистр непосредственно в устройстве целочисленных операций или передаются для записи в память устройству управления кэш-памятью [ссылка на источники литературы].

Особенностью, отличающей 6×86 от процессора Pentium и 5×86, является переупорядочивание команд. Если команда выполнится быстрее, чем предыдущая в другом конвейере, то они будут переупорядочены. Вплоть до стадии выполнения все команды выполняются по порядку, а на стадиях EX и WB порядок может быть нарушен. Аппаратные средства блокировки обеспечивают требуемый порядок выполнения и записи результатов для команд, связанных по данным [ссылка на источники литературы].

Для устранения зависимостей по данным в процессоре используются следующие приемы: [ссылка на источники литературы]

  • переименование регистров;

  • предварительная посылка данных;

  • пропуск данных.

6×86 содержит 32 физических регистра общего назначения. Каждый из регистров может быть временно сопоставлен архитектурному регистру ×86 (EAX, EBX, ECX, EDX, ES1, EDI, EBP и ESP). Для каждой операции записи в регистр выбирается новый физический регистр, чтобы сохранить предыдущие данные. Переименование регистров эффективно устраняет WAW и WAR-зависимости [ссылка на источники литературы].

Зависимость RAW не может быть устранена только с помощью переименования регистров. Для этого в 6?86 используется также предварительная посылка данных и результатов [ссылка на источники литературы].

Для уменьшения потерь производительности, связанных с использованием предварительной посылки данных и результатов при устранении RAW-зависимостей, в 6×86 используется метод пропуска данных. Этот метод применяется в случае записи в память одной из пары команд данных, которые считывает другая команда этой пары. Механизм пропуска данных передает эти данные непосредственно от команды к команде, экономя цикл чтения из памяти. Пропуск данных применяется только для кэшируемых областей памяти [ссылка на источники литературы].

Для предсказания переходов в 6×86 используется 256-позиционный четырехвходовой ассоциативный буфер адресов переходов. Корректно предсказанная инструкция перехода выполняется за один процессорный такт [ссылка на источники литературы].

Микропроцессор Cyrix 6×86MX

Следующей разработкой компании CyrixCyrix явился процессор с мультимедийными расширениями - 6×86MX, известный также как М2. Cyrix представляет этот процессор как более дешевый конкурент Pentium II. Подобно Pentium PRO, он оптимизирован для работы с 32-разрядными программами, но, в отличие от последнего, он успешно работает с 16-разрядными программами и может устанавливаться в стандартное гнездо Socket [ссылка на источники литературы].

Процессор производится по технологии КМОП 0,35 мкм с пятислойной металлизацией. Ему требуется два напряжения питания: 2,9 Вт для процессорного ядра и 3,3 Вт для подсистемы ввода/вывода. Процессор может работать с частотой шины до 75 МГц. Его производительность по Pentium-рейтингу составляет PR166, PR200 и PR233. В 1998 г. с переходом на технологию 0,25 мкм планировался выпуск процессора с производительностью PR300 [ссылка на источники литературы].

Структура микропроцессора Cyrix 6×86MX показана на рис. 11.4Рис. 11.4. Структура микропроцессора Cyrix 6*86MX.

6×86MX - это улучшенный процессор 6×86, в который добавлена возможность выполнения набора из 57 мультимедийных команд, совместимых с MMX-расширением IntelIntel, повышена тактовая частота, увеличен объем кэш-памяти, применены двухуровневый буфер трансляции адресов (TLB) и улучшенный кэш адресов переходов [ссылка на источники литературы].

Процессор базируется на суперскалярном ядре 6×86, которое благодаря наличию двух независимых конвейеров способно выполнять несколько команд за такт. В 6×86MX увеличена длина конвейеров, что позволило повысить тактовую частоту процессора [ссылка на источники литературы].

В 6×86 используются предсказание переходов и спекулятивное выполнение команд после перехода и операций с плавающей точкой. Спекулятивное выполнение может осуществляться на глубину до 4 команд перехода и операций с плавающей точкой. Результаты, полученные при спекулятивном выполнении команд, не переносятся в Кэшкэш и внешнюю память до тех пор, пока не будет получено подтверждение правильности сделанного предположения. Спекулятивное выполнение команд продолжается до тех пор, пока не произойдет одно из следующих событий: [ссылка на источники литературы]

  • Уровень спекулятивного выполнения превысил 4.

  • Возникло исключение или установлена ложность предсказания перехода.

  • Переполнение буфера записи результатов спекулятивно выполненных команд.

· Предпринята попытка модификации ресурсов, не сохраненных в контрольной точке (например, сегментных регистров, системных флагов).

Основные отличия процессоров 6×86MX и 6×86 отражены в табл. 11.1. 6×86MX содержит два кэша: 64-Кбайтовый 4-входовой ассоциативный общий кэш с обратной записью и 256-байтовый высокоскоростной кэш команд с прямым отображением. Для поддержки выполнения мультимедийных операций часть Кэш-памятькэш-памяти может быть использована в качестве основной памяти со строковой организацией. В этом случае она не участвует в операциях кэширования [ссылка на источники литературы].

В 6×86MX используются два буфера трансляции адресов (TLB) - основной TLB первого уровня (TLB L1) и вторичный TLB (TLB L2), большего размера. TLB L1 с прямым отображением адресов имеет 16 позиций, 6-входовой ассоциативный TLB L2 рассчитан на 384 позиции [ссылка на источники литературы].

С.72 нет табл. 11.1!!!!! Таблица 11.1 Отличия процессоров Cyrix 6×86 и Cyrix 6×86MX!!!!!

Устройство операций с плавающей точкой (FPU) имеет 64-разрядный интерфейс, 4-позиционную входную очередь команд на выполнение и 6-позиционную выходную очередь на запись результатов. FPU расширено возможностью выполнения команд MMX наряду с командами с плавающей точкой. Команды обоих типов могут выполняться одновременно с целочисленными операциями.

Для возможного применения в мобильных компьютерах в 6×86MX предусмотрена эффективная система управления энергопотреблением [ссылка на источники литературы].

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

С.73. нет табл. 11.3!!!!! Таблица 11.2 Производительность микропроцессоров на мультимедийных тестах!!!!!

11.3.
Микропроцессоры с архитектурой Alpha

Микропроцессоры Alpha 2106x

На сегодняшний день микропроцессоры Alpha - наиболее производительные однокристальные устройства, выпускаемые серийно.

Микропроцессоры Alpha являются хорошей иллюстрацией концепции Speed Daemon - достижения высокой производительности за счет увеличения тактовой частоты при относительно простой логике функционирования [ссылка на источники литературы].

Архитектура микропроцессоров Alpha впервые была представлена в феврале 1992 г. на конференции ISSCC, а уже феврале 1993 г. был выпущен первый из микропроцессоров - Alpha 21064 с тактовой частотой 200 МГц, выполненный по 0,75 мкм КМОП-технологии с 4 слоями металлизации. Процессор содержал 1,68 млн. транзисторов на кристалле площадью 238 мм2 [ссылка на источники литературы].

Благодаря высокой тактовой частоте и высокой степени конвейеризации выполняемых операций (до 10 тактов на операцию) этот микропроцессор надолго занял лидирующее положение по производительности. Основная область использования процессора - высокопроизводительные рабочие станции и серверы [ссылка на источники литературы].

Следующими в сентябре 1993 г. были выпущены микропроцессоры Alpha 21066-166 МГц и 21068-66 МГц. Эти процессоры ориентированы на использование в более дешевых системах - рабочих станциях нижнего и среднего уровня. Архитектура ядра данных микропроцессоров аналогична Alpha 21064. На кристалле микропроцессоров Alpha 21066/21068 расположены контроллеры ПДП, графический и шины PCI, что позволяет снизить стоимость и упростить построение систем на их основе [ссылка на источники литературы].

Выпуск в октябре 1993 г. микропроцессора Alpha 21064А с тактовой частотой 225 и 275 МГц еще более упрочил позиции микропроцессоров компании DEC как лидеров в производительности.

Микропроцессор Alpha 21064 имеет 64-разрядную суперскалярную RISC-архитектуру с двумя исполнительными конвейерами. Микропроцессор может выполнять за один такт до двух команд с фиксированной и плавающей точкой или команду перехода. Блок предсказания перехода обеспечивает вероятность правильного прогноза 0,8 [ссылка на источники литературы].

Микропроцессор содержит на кристалле раздельные кэш-памяти команд и данных, каждый емкостью 16 Кбайт, 32 регистра с плавающей точкой и 32 регистра с фиксированной точкой. Кэш второго уровня - внешний - может составлять от 128 Кбайт до 16 Кбайт. Тактовая частота шины в системе может быть в 2,5 - 10 раз меньше, чем частота работы микропроцессора. Ширина внешних шин адреса и данных составляет 43 и 128 бит соответственно [ссылка на источники литературы].

В микропроцессорах Alpha 21064 не используется сложная логика переупорядочивания команд и переименования регистров. Обеспечение эффективной загрузки исполнительных устройств возлагается на компилятор [ссылка на источники литературы].

В табл. 11.3 приведены основные характеристики микропроцессоров Alpha 2106x.

Таблица 11.3

Основные характеристики микропроцессоров Alpha 2106x

Модель

Тактовая частота, МГц

Технология, мкм

Мощность, Вт

KЭШ внешний

Производительность

SPEC (int 92)

SPEC (fp 92)

пиковая

21064

150/200

0,75

22/27

до 16М

130

184

400

21064А

233/275

0,75

28/33

до 16М

200

230

550

21164

266/300

0,5

40

до 16М

330

500

1200

21066

166

0,68

21

64К-K2М

332

21066А

100/233

0,68

10/23

64К-K2М

110

466

753

21068

66

0,68

9

64К-K2М

Микропроцессор Alpha 21164

Следующим рекордным достижением DECDEC стал выпуск в сентябре 1994 г. микропроцессора нового поколения Alpha 21164, с тактовыми частотами 266 и 300 МГц. Это был первый микропроцессор, имеющий производительность до 1,2 млрд. операций в секунду. Применение новой технологии 0,5 мкм позволило разместить на кристалле площадью 298 мм2 9,3 млн. транзисторов [ссылка на источники литературы].

Структура микропроцессора приведена на рис. 11.5Рис. 11.5. Структура микропроцессора Alpha 21164.

Архитектура этого процессора максимально ориентирована на достижение высокой тактовой частоты.

По сравнению с предыдущим поколением в Alpha 21164 вдвое увеличилось число исполнительных устройств, а число тактов, требуемых для выполнения команд, уменьшилось [ссылка на источники литературы].

Четыре команды извлекаются одновременно из кэш-памяти команд объемом 8 Кбайт и помещаются в один из двух буферов команд, каждый из которых в состоянии хранить четыре команды. Команды извлекаются из буфера в порядке, определяемом программой. Буфер должен быть полностью освобожден прежде, чем начнется использование другого буфера. Это ограничивает пропускную способность выборки команд, однако значительно упрощает управление процессором [ссылка на источники литературы].

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

За один такт процессор может исполнять до 4 команд: две с фиксированной точкой, две - с плавающей. Блоки целочисленных операций не идентичны. Один из них может выполнять запоминание, сдвиги и целочисленное умножение, а другой кроме общих целочисленных команд обрабатывает условные переходы. Блоки выполнения операций с плавающей точкой также различаются. Блок FP+ выполняет конвейерное сложение, простое сложение, деление и условные переходы с плавающей точкой, а блок FPx - конвейерное и простое умножение. Alpha 21164 имеет по 32 регистра для операций с фиксированной и плавающей точкой [ссылка на источники литературы].

Как и в более ранних микропроцессорах Alpha, в Alpha 21164 интенсивно используется конвейеризация. Первые 4 этапа выполнения команды являются общими для всех операций и выполняются в модуле инструкций. Это предвыборка команды, переход, определение, проверка/подача команды. Блок целочисленных операций добавляет к обработке команд еще 3 этапа (выполнение 1, выполнение 2 и обратную запись), а блок операций с плавающей точкой - еще 5 (доступ к регистрам с плавающей точкой, выполнение операции с плавающей точкой 1, выполнение операции с плавающей точкой 2, выполнение операции с плавающей точкой 3 и обратную запись) [ссылка на источники литературы].

В микропроцессоре Alpha 21164, в отличие от предыдущих моделей, блок выполнения обновляет регистры непосредственно. Ему не требуется сложный механизм отслеживания команд, обеспечивающий обновление регистров в нужном порядке. Чтобы избежать потерь производительности из-за ожидания завершения команд, Alpha 21164 предусматривает обходные пути, благодаря которым операнды становятся доступными еще до завершения команды. Это аналогично методам посылки данных с упреждением, применяемым в других микропроцессорах [ссылка на источники литературы].

Помимо раздельных Кэш-памятькэш-памятей первого уровня со сквозной записью (write-through), на кристалле выполнен общий частично ассоциативный кэш второго уровня с обратной записью (write-back) емкостью 96 Кбайт. На кристалле расположен также контроллер кэш-памяти третьего уровня, позволяющий работать как в синхронном, так и в асинхронном режиме [ссылка на источники литературы].

Для предсказания ветвлений используется таблица, связанная с Кэш командкэшем команд. Для каждой команды в кэш имеется элемент таблицы, содержащий историю ветвлений. В элементе таблицы используется двухбитовый счетчик. Предсказывается только один переход. Если при попытке выполнить команду перехода не определено истинное направление перехода предыдущей команды перехода, то выполнение следующей команды ветвления задерживается [ссылка на источники литературы].

Кэш первого уровня может поддерживать некоторое число необработанных промахов. Процессор имеет шестиэлементный файл адресов необработанных промахов (MAF-miss addxess file), каждый элемент которого содержит адрес и регистр для загрузки при промахе. Если адреса промаха принадлежат одной строке кэш-памяти, то в MAF они рассматриваются как один элемент. Это позволяет накапливать в MAF больше шести промахов при обращении к кэшу (вплоть до 21) [ссылка на источники литературы].

Использование иерархии Кэшкэшей позволило увеличить интенсивность подкачки команд и данных из внешней памяти. Внешняя 128-разрядная шина данных процессора может работать с тактовой частотой, в 1-15 раз меньшей [ссылка на источники литературы].

В ноябре 1995 г. был выпущен микропроцессор с тактовой частотой 333 МГц. А в марте 1996 г. с переходом на технологию 0,35 мкм, были представлены микропроцессоры Alpha 21164А с тактовыми частотами 366 и 400 МГц.

Дальнейшее развитие микропроцессоров семейства характеризуется увеличением тактовой частоты (в июле 1996 г. выпущен Alpha 21164 с 500 МГц, в марте 1997 г. - 600 МГц), резким снижением (почти в 2 раза) цены на процессоры, а также поиском путей адаптации архитектуры Alpha для использования в Windows NT- системах [ссылка на источники литературы].

Одна из последних разработок - микропроцессор Alpha 21164PC (март 1997 г.) - призвана обеспечить проникновение микропроцессоров DEC в настольные системы, создавая тем самым конкуренцию процессорам компании Intel. Совместимость с системой команд ×86 DEC обеспечивает с помощью программного транслятора двоичного кода DIGITAL FX!32. Отличиями Alpha 21164PC являются внешний кэш второго уровня, увеличенный до 16 Кбайт кэш-команд, наличие блока MVI (Motion Video Instruction), который обеспечивает кодирование/декодирование в реальном времени данных в соответствии со стандартом MPEG-2 [ссылка на источники литературы].

Микропроцессор Alpha 21164PC выпускается для частот 400, 466, 533 МГц и имеет производительность SPECint 95/SPECfp 95 - 10/13, 11/15 и 12/17 соответственно [ссылка на источники литературы].

В 1998 г. планировалось выпустить процессор на 600 МГц, ожидаемая производительность которого должна составить 18,0 SPECint 95, 27.0 SPECfp 95, 2.4 BIPS [ссылка на источники литературы].

Микропроцессор Alpha 21264

В мае 1997 г. компанией DECDEC был представлен микропроцессор нового поколения - Alpha 21264, который значительно превосходит по производительности предыдущих представителей семейства. При тактовой частоте 50 МГц его индексы производительности SPECint 95 и SPECfp 95 составляют 30 и 50 соответственно. Микропроцессор содержит 15,2 млн. транзисторов на кристалле площадью 310 мм!!!!!2!!!!! и изготовляется по КМОП-технологии с шестью слоями металлизации [ссылка на источники литературы].

В отличие от предыдущих микропроцессоров семейства, наряду с высокой тактовой частотой, в Alpha 21264 используется сложный механизм динамического исполнения команд: динамическое планирование с изменением последовательности команд, переименование регистров, спекулятивное выполнение команд [ссылка на источники литературы].

Выполнение команды микропроцессора включает такую последовательность циклов: [ссылка на источники литературы]

  • выборку команды с учетом предсказания перехода;

  • передачу данных для команды в устройство переименования (отображения) регистров;

  • выполнение переименования (отображения) регистров;

  • выбор команды из очередей на выполнение;

  • выполнение целочисленных команд или команд с плавающей точкой;

  • запись результатов выполнения.

Для динамического исполнения рассматриваются сразу 80 команд - больше, чем у любого другого процессора. После декодирования команда помещается в одну из очередей: к устройствам с фиксированной или плавающей точкой. Команды, получившие все операнды, конкурируют за доступ к исполнительным устройствам. Больший приоритет имеют команды, которые дольше находятся в очереди. Одновременно может выполняться до 6 команд [ссылка на источники литературы].

Структура микропроцессора Alpha 21264 показана на рис. 11.6Рис. 11.6. Структура микропроцессора Alpha 21264.

Процессор содержит два блока операций с плавающей точкой, выполняющих сложение, умножение, деление, извлечение квадратного корня и четыре целочисленных исполнительных устройства: два - общего назначения, два - адресных. Последние, наряду с простыми арифметическими и логическими операциями, выполняют все команды загрузки и сохранения как для целочисленных данных, так и для данных в формате с плавающей точкой. Целочисленные Арифметико-логическое устройствоАЛУ общего назначения выполняют арифметические и логические операции, сдвиги и переходы. Одно из целочисленных АЛУ выполняет также умножение, а другое - новый набор команд обработки видеоданных. Для динамического переименования доступны 41 из 80 целочисленных регистров и 41 из 72 регистров с плавающей точкой [ссылка на источники литературы].

Микропроцессор не содержит кэш-памяти второго уровня, однако размеры его кэш-памятей данных и команд первого уровня увеличены до 64 Кбайт. На кристалле расположены также контроллер кэш-памяти второго уровня и интерфейс с системной шиной, обеспечивающие пропускную способность 5,3 Гбайт/с при обмене с кэшем и 2,6 Гбайт при обмене с основной памятью [ссылка на источники литературы].

DEC предполагает применять новый микропроцессор не только в UNIX-системах, но и в системах с 64-разрядной Windows NT и Windows 95 (с использованием транслятора двоичного кода DIGITAL EX! 32) [ссылка на источники литературы].

В перспективных планах DEC значится выпуск процессора Alpha 21264 с тактовой частотой до 800 МГц, что станет возможным с переходом на производство с технологическими нормами 0,25 мкм.

На рис. 11.7Рис. 11.7. Сравнение производительности микропроцессорных семейств компаний DEC и Intel показано развитие микропроцессорных семейств компаний DECDEC (Alpha) и IntelIntel (P5, P6, P7) с 1991 по 1998 годы [ссылка на источники литературы].

© Центр дистанционного образования МГУП