Процессоры Intel486™ представляют второе поколение 32-разрядных процессоров. Обладая всеми свойствами процессора 386 и обеспечивая полную обратную совместимость с прежними представителями семейства 80х86, эти процессоры имеют ряд существенных изменений:
В процессор введен внутренний кэш первого уровня (Internal cache Level 1) и предусмотрены все необходимые средства для построения памяти с двухуровневым кэшированием, допускающей работу и в мультипроцессорных системах.
Повышена производительность локальной шины — введены пакетные циклы, позволяющие передавать очередное слово данных в каждом такте шины (а не через такт, как в обычном режиме).
Введены буферы отложенной записи, позволяющие задерживать физические операции записи в память до освобождения шины, продолжая исполнение текущих инструкций.
В архитектуре применено RISC-ядро, позволяющее наиболее часто встречающиеся инструкции выполнять за 1 такт — средняя производительность процессора на той же тактовой частоте по сравнению с 386 удвоилась.
В состав процессора введен высокопроизводительный математический сопроцессор FPU (Floating Point Unit), программно-совместимый с сопроцессором 387 (в 486SX сопроцессор отсутствует, в 486SL — имеется в некоторых моделях).
Увеличена очередь команд до 16 байт.
Добавлена защита страниц памяти от записи на уровне супервизора. 4 Введены функции контроля выравнивания операндов.
Расширены средства тестирования — введены регистры TR3, TR4, TR5 для тестирования внутреннего кэша.
Введена возможность тестирования процессора извне по интерфейсу JTAG (не у всех моделей).
Введено умножение тактовой частоты системной платы (внутренняя частота DX2 равна двукратной внешней, в DX4 кратность может быть 2, 2,5 и 3).
Существует несколько разновидностей процессоров Intel486, различающихся наличием сопроцессора, средств энергосбережения, возможностью умножения внешней тактовой частоты, политикой записи внутреннего кэша и напряжением питания:
Р4 Intel486 DX — полный вариант (CPU+FPU), кэш с прямой записью.
Р23 Intel486 SX — вариант без FPU, кэш с прямой записью.
· P23N Intel487 SX - аналог процессора 486 DX (FPU+CPU), устанавливаемый в гнездо сопроцессора и отключающий «основной» SX-процессор.
Intel486SL Enhanced — процессор со средствами SMM и возможностью остановки синхронизации (StopClock) для снижения энергопотребления.
Р24 Intel486DX2 — процессор с удвоением частоты. 4 P24D — улучшенный вариант IntelDX2 с WB-кэшем.
· Р24С IntelDX4 CPU — процессор с утроением частоты (OEM-версия), питание 5 В или 3,3 В может иметь средства SMM.
· Р23Т Intel486 SX (или DX) OverDrive.
Процессор Р24Т — Pentium®OverDrive®, хотя и имеет системную шину процессора Intel486, по архитектуре относится к классу Pentium.
Рассмотрим подробнее основные нововведения в архитектуру процессоров, появившиеся в четвертом поколении.
Внутренний кэш
Процессор 486 имеет внутренний первичный кэш (Cache Level 1) размером 8 Кбайт, единый для данных и инструкций. Кэш имеет 4-канальную наборно-ассоциативную архитектуру и работает на уровне физических адресов памяти. Кэш содержит 128 наборов по 4 строки размером по 16 байт каждая. Строки в кэш-памяти выделяются только при чтении, политика записи первых процессоров 486 — Write Through (сквозная запись), полностью программно-прозрачная; более поздние модификации позволяют переключаться на политику Write Back (обратная запись).
Заполнение строки процессор старается выполнить самым быстрым способом — пакетным циклом с 32-битными передачами, но контроллер памяти может потребовать 16- или 8-битных обменов и отказаться от пакетного режима.
Выбор строки для замещения выполняется на основе анализа бит LRU (Least Recently Used) по алгоритму «псевдо-LRU». Выделение и замещение строк выполняется только для кэш-промахов чтения, при промахах записи заполнение строк не производится.
Кэширование каталогов страниц (TLB) в процессоре 486 отличается от 386 только улучшением алгоритма замещения — здесь тоже реализован алгоритм псевдо-LRU.
На смену конвейерной адресации предыдущих процессоров, начиная с процессора 486, введен режим пакетной передачи (Burst Mode). Этот режим предназначен для быстрых операций со строками кэша. Поскольку использование кэша предполагает, что строка должна в нем присутствовать целиком, ввели пакетный цикл (Burst Cycle), оптимизированный для операций обмена внутреннего кэша с оперативной памятью. В этом цикле адрес и сигналы идентификации типа шинного цикла выдаются только в первом такте пакета. В каждом из последующих тактов могут передаваться данные, адрес для которых уже не передается по шине, а вычисляется из первого по правилам, известным и процессору, и внешнему устройству. В пакетный цикл процессор может преобразовать любой внутренний запрос на множественную передачу, но при чтении его размер ограничен одной строкой кэша, а при записи в стандартном режиме шины в пакет могут собираться не более 32 бит. Более поздние модели процессоров при работе с WB-кэшем при записи строк в память собирают в пакет четыре 32-битных цикла, но это уже работа в расширенном режиме шины процессора.