Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс шпоры.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.62 Mб
Скачать

30. Микропроцессоры архитектуры х86 фирмы амd 5-го и 6-го поколений

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

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

Рис. 6.1. Архитектура RISC 86 компании AMD

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

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

Блок операций с плавающей точкой отвечает стандартам х86, однако по производительности несколько уступает FPU микропроцессора Pentium.

Основные характеристики К5:

- совместим с семейством микропроцессоров х86; суперскалярная архитектура с четырехвходовой подачей команд; конвейер с пятью стадиями обработки; пять параллельно функционирующих исполнительных блоков; кэш-команд 16 Кб, кэш данных 8 Кб с двумя портами, ли­нейная адресация; изменение порядка выполнения команд, предсказание пе­реходов, эффективное выполнение, отличный от Intel микрокод; совместим по выводам с Pentium.

Микропроцессор К6. Данный микропроцессор компании AMD явился продуктом совместных усилий AMD и специалистов из бывшей NexGen. По сути дела, Кб представляет собой воплощение проекта Nx686, ранее начатого компанией NexGen, но не завершенного по фи­нансовым причинам. Процессор полностью совместим по системе команд с се­мейством х86. Кроме того, Кб оснащен ставшим отраслевым стандартом мультимедийным расширением системы команд - ММХ. По производительности Кб сравним с Pentium Pro и суще­ственно превосходит Pentium ММХ. В отличие от Pentium Pro, Кб одинаково успешно работает как с 32-разрядными, так и с 16-разрядными приложениями.Как и в К5, в Кб применена суперскалярная архитектура RISC86 с раздельным декодированием/исполнением команд, обеспечивающая преемственность с системой команд х86 и дос­тижение высокой производительности, свойственной микропро­цессорам шестого поколения.

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

- в процессоре реализуется преддекодирование команд х86 при их выборке в кэш. Каждая команда в кэш-памяти первого уровня снабжается битами преддекодирования, указывающими смещение начала следующей команды в кэше (от 1 до 15 байт); Кб содержит внутрикристальный кэш первого уровня по 32 Кб для данных и команд; в процессоре реализован высокопроизводительный блок вычислений с плавающей точкой; имеется высокопроизводительный блок мультимедийных операций стандарта ММХ; используется множественное декодирование х86 инст­рукций в однотактные RISC-операции;

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

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

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

Структура микропроцессора К6 приведена на рис. 6.2.

Рис. 6.2. Структура микропроцессора Кб

RISC-ядро микропроцессора может выполнять за один такт до шести команд RISC86. В процессе исполнения ROP ядро ис­пользует 48 физических регистров - 24 регистра общего назна­чения и 24 регистра для переименования. 24 регистра подразде­ляются на 16 рабочих регистров и восемь регистров, соответст­вующих универсальным регистрам архитектуры х86: ЕАХ, ЕВХ, ЕСХ, EDX, EBP, ESP, ESI и ED1.

Планировщик Кб содержит в буфере 24 команды RISC 86 и назначает инструкции на выполнение семи исполнительным уст­ройствам:

- модулю сохранения; модулю загрузки; модулю перехода; двум целочисленным АЛУ; целочисленному блоку мультимедийных команд;блоку операций с плавающей точкой.

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

Микропроцессор К7 (кодовое имя Athlon) начал выпускать­ся в 1999 г. сначала по технологии 0,25 мкм (22 млн транзисто­ров на кристалле), затем - 0,18 мкм (37 млн транзисторов на кристалле).Архитектура, реализованная в Athlon, получила название QuantiSpeed. Она включает в себя суперскалярное конвейерное выполнение команд, конвейерный блок вычислений с плаваю­щей точкой, аппаратную предвыборку данных в кэш-память и усовершенствованную технологию предсказания ветвлений.

Athlon имеет девять исполнительных блоков: три для обра­ботки целочисленных данных, три для вычисления адреса и три блока для вычислений с плавающей точкой и обработки мульти­медийных данных (один для загрузки/сохранения данных с пла­вающей точкой и два конвейерных блока для исполнения ко­манд). Длина целочисленного конвейера составляет 10 стадий, конвейера с плавающей точкой - 15 стадий (в предыдущих мо­делях FPU не был конвейеризированным). Команда FPU Athlon позволяет одновременно выполнять до двух команд с плаваю­щей точкой.Athlon может декодировать три команды х86 в шесть RISC- операций. После декодирования ROP попадают в буфер, где ожидают своей очереди на выполнение в одном из функцио­нальных блоков процессора. Буфер К7 содержит 72 операции (в три раза больше, чем у Кб) и выдает 9 ROP для 9 исполни­тельных устройств.

Увеличенная до 2048 позиций таблица предсказания пере­ходов (в два раза больше, чем у Pentium III) и усовершенство­ванный алгоритм предсказания позволяют давать правильный прогноз в 95 % случаев (у Pentium III всего 90 %).Athlon имеет 128 Кб кэш-памяти первого уровня (64 Кб для данных и 64 Кб для команд). Для взаимодействия с кэш-памятью второго уровня предусмотрена специальная шина (как у архи­тектуры Р6 Intel). Кэш-память второго уровня размером 512 Кб расположена вне процессорного ядра - в процессорном кар­тридже, и работает на половинной частоте ядра.Использование при производстве процессора Athlon техно­логии 0,18 мкм с медными соединениями позволило разработчи­кам разместить на кристалле кэш-память второго уровня разме­ром 256 Кб, работающую на тактовой частоте ядра.Разновидностью микропроцессора с архитектурой К7 стал Duron - бюджетный вариант микропроцессора, ориентирован­ный на дешевые ПК. Основным его отличием является умень­шенная до 64 Кб кэш-память второго уровня. Микропроцессор Duron содержит 25 млн транзисторов на кристалле.

Благодаря примененным в К7 новым архитектурно-техни­ческим решениям микропроцессорам AMD удалось на 7-10% превысить производительность Pentium III при равных тактовых частотах.

Дальнейшее совершенствование архитектуры и технологии производства микропроцессоров в рамках семейства К7 привело к появлению двух новых версий Athlon: Athlon ХР и Athlon MP.

Процессор Athlon ХР имеет целый ряд преимуществ:

-расширен набор инструкций; -благодаря усовершенствованному ядру Athlon ХР по­требляет на 20 % меньше мощности, чем Athlon при той же час­тоте;

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

Данный микропроцессор ориентирован на использование в высокопроизводительных персональных компьютерах; и осо­бую эффективность, по мнению разработчиков, он должен про­являть при работе с операционной системой Windows ХР (отсю­да и ХР в названии процессора).

Процессор содержит 54,3 млн транзисторов на кристалле. Производился Athlon ХР изначально по технологии 0,18 мкм, а затем -0,13 мкм с использованием медных проводников.

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