Микропроцессоры компании Cyrix
Вторым конкурентом компании Intel, после AMD, по объему производства процессоров с архитектурой х86 является Cyrix [8, 17,18].
Микропроцессор Cyrix 5х86 (Misc). 5х86 - это первый представитель среди процессоров компании Cyrix с архитектурой х86 5-го поколения, предложенный в качестве альтернативы Pentium [8]. Для упрощения этапа перехода пользователей на новый процессор компания обеспечила его совместимость по выводам с 486-м процессором. В 5х86 воплощены архитектурные и структурные решения, характерные для процессоров пятого поколения, такие, как 64-разрядная внутренняя архитектура предсказания переходов, предварительная посылка данных, выполнение нескольких операций за один такт (благодаря разнесению устройств загрузки/сохранения), 80-разрядное устройство вычислений с плавающей точкой, 16 Кбайтовый общий кэш данных и команд.
Особенностью микропроцессора является высокоэффективная система управления энергопотреблением процессора и внешних устройств. Система управления энергопотреблением может отключить модуль операций с плавающей точкой и другие периферийные внутренние схемы, если они в данный момент не используются. Низкое энергопотребление процессора (на частоте 100 МГц при напряжении питания 3,3В) 5х86 потребляет менее 3,5Вт, делает его предпочтительным для использования в мобильных компьютерах, для которых критичны энергопотребление и отвод тепла.
Архитектура 5х86 - результат компромисса между производительностью и простотой реализации, благодаря которой удалось уменьшить число транзисторов на кристалле и снизить энергопотребление.
Процессор содержит модуль предсказания переходов, включающий буфер адресов перехода (ВТВ), 16 Кбайтовый объединенный кэш данных и команд с режимом обратной записи, устройство операций с плавающей точкой, устройство выборки и устройство декодирования команд, устройство управления памятью с буфером преобразования адресов на 32 элемента, параллельно функционирующие устройства загрузки/сохранения и модуль вычисления адресов. Функциональные модули 5х86 связаны между собой двумя 32-разрядными шинами, обеспечивающими не блокируемый обмен данными, 128-разрядная шина выборки команд обеспечивает за один такт передачу 16-байтовых команд в 3-уровневый буфер устройства декодирования команд.
Модуль целочисленных операций выбирает, декодирует и выполняет команды в шестистадийном конвейере. На первой стадии выборки (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МХ. Следующей разработкой компании Cyrix явился процессор с мультимедийными расширениями 6х86МХ, известный также как М2 [18]. Cyrix представляет этот процессор как более дешевый конкурент Pentium II. Подобно Pentium PRO, он оптимизирован для работы с 32-разрядными программами, но, в отличие от последнего, он успешно работает с 16-разрядными программами и может устанавливаться в стандартное гнездо Socket 7.
Процессор производится по технологии КМОП 0,35 мкм с 5-слойной металлизацией. Ему требуется два напряжения питания: 2,9В для процессорного ядра и 3,3В для подсистемы ввода/вывода. Процессор может работать с частотой шины до 75 МГц. Его производительность по Pentium-рейтинг составляет PR 166, PR200 и PR233. После перехода на технологию 0,25 мкм выпушен процессор с производительностью PR300.
Структура микропроцессора показана на рис. 1.8.
Процессор 6х86МХ - это улучшенный процессор 6х68, в который добавлена возможность выполнения набора из 57-ми мультимедийных команд, совместимых с ММХ расширением Intel, повышена тактовая частота, увеличен объем кэш-памяти, применен двухуровневый буфер трансляции адресов (TLB) и улучшенный кэш адресов переходов.
Процессор базируется на суперскалярном ядре 6х86, которое, благодаря наличию двух независимых конвейеров, способно выполнять несколько команд за такт. В 6х86МХ увеличена длина конвейеров, что позволило повысить тактовую частоту процессора.
В 6х68 используется предсказание переходов и спекулятивное выполнение команд после перехода и операций с плавающей точкой. Спекулятивное выполнение может осуществляться на глубину до 4 команд перехода и операций с плавающей точкой. Результаты, полученные при спекулятивном выполнении команд, не переносятся в кэш и внешнюю память до тех пор, пока не будет получено подтверждение правильности сделанного предположения. Спекулятивное выполнение команд продолжается до тех пор, пока не произойдет одно из следующих событий:
• Уровень спекулятивного выполнения превысил 4;
• Возникло исключение или установлена ложность предсказания перехода;
• Переполнение буфера записи результатов спекулятивно выполненных команд;
• Предпринята попытка модификации ресурсов, не сохраненных в контрольной точке (например, сегментных регистров, системных флагов).
Основные отличия процессоров 6х86МХ и 6х86 отражены в таблице 1.1
МП 6х86МХ содержит два кэша: 64 Кбайтовый 4-входовой ассоциативный общий кэш с обратной записью и 256 байтовый высокоскоростной кэш команд с прямым отображением. Для поддержки выполнения мультимедийных операций часть кэш-памяти может быть использована в качестве основной памяти со строковой организацией. В этом случае она не участвует в операциях кэширования.
В 6х86МХ используются два буфера трансляции адресов (TLB) - основной TLB первого уровня (TLB LI) и вторичный TLB (TLB L2) большего размера. TLB LI с прямым отображением адресов имеет 16 позиций, 6-входовой ассоциативный TLB L2 рассчитан на 384 позиции.
Таблица 1.1. Отличия процессоров Cyrix 6х86 и 6х86МХ
Характеристика | 6х86МХ | 6х86 | |
Напряжение питания Ядро Подсистема ввода\вывода | 2,9 В 3,3 В | 6х86 | 6х86L |
3,3 или 3,52 В 3,3 В | 2,8 В 3,3 В | ||
Кэш первого уровня | 64 Кбайт | 16 Кбайт | |
TLB | L1: 16 позиций L1: 384 позиций | L1:128 позиций | |
Предсказание переходов | 512-позиционный кэш адресов переходов; 1024-позиционная таблица предыстории переходов | 256- позиционный кэш адресов переходов 512-позиционная таблица предыстории переходов | |
ММХ | Да | Нет | |
Реализация строковой памяти в первичном кэше | Да | Нет | |
Умножение частоты | 2х, 2.5х, 3х, 3.5х | 2х, 3х |
Устройство операций с плавающей точкой (FPU) имеет 64-разрядный интерфейс, 4-позиционную входную очередь команд на выполнение и 6 позиционную выходную очередь на запись результатов. FPU расширен возможностью выполнения команд ММХ, наряду с командами с плавающей точкой. Команды обоих типов могут выполняться одновременно целочисленными операциями.
Для возможного применения в мобильных компьютерах в 6х68МХ предусмотрена эффективная система управления энергопотреблением.