Cyrix 6x86


Cyrix 6x86 (кодовое название M1) — шестое поколение 32-битных процессоров, разработанных фирмой Cyrix и выпущенных IBM и SGS-Thomson в 1996 году.

В 6x86 реализованы прогрессивные архитектурные методы повышения производительности — суперскалярность (англ. superscalar), суперконвейерность (англ. superpipelined), переупорядочивание инструкций (англ. out-of-order execution), динамическое устранение зависимостей между командами (англ. data dependency removal), переименование регистров (англ. register renaming), предсказание переходов, спекулятивное выполнение (англ. speculative execution).

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

6x86 содержит 32 физических регистра общего назначения. Каждый из них может быть временно сопоставлен архитектурному регистру x86.

Для предсказания переходов используется ассоциативный буфер адресов переходов. Корректно предсказанная инструкция перехода выполняется за один такт.

Процессор является улучшенным вариантом Cyrix 6x86, реализована поддержка MMX, MMXEXT, увеличена длина конвейеров, что позволило увеличить тактовую частоту, увеличен объём кэш-памяти в 4 раза, введён двухуровневый TLB (используется два буфера — основной первого уровня с прямым отображением адресов на 16 позиций и вторичный 6-входовый ассоциативный на 384 позиции), увеличен в 2 раза кэш адресов и таблица предыстории переходов — с 256/512 до 512/1024 соответственно.