Регистры. В каждом ядре имеется значительное количество регистров разного рода

В каждом ядре имеется значительное количество регистров разного рода. Это:

архитектурные регистры общего назначения;

адресные регистры;

служебные;

управляющие;

буферные регистры.

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

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

Между ступенями конвейера подготовки команд в ядре имеются буфера. Емкость этих буферов зависит от выполняемых функций и структуры ядра.

Функциональные устройства

Подсистема обработки данных современных структур высокопроизводительных ядер процессоров состоит из многих специализированных функциональных устройств:

несколько устройств для выполнения операций «сложение/вычитание» чисел с фиксированной точкой;

устройство для выполнения операции «умножение» чисел с фиксированной точкой;

устройство для выполнения операции «деление» чисел с фиксированной точкой;

универсальное устройство для выполнения логичеких операций, операций сдвигов и т.п.;

устройство для выполнения операции «сложение/вычитание» чисел с плавающей точкой;

устройство для выполнения операции «умножение» чисел с плавающей точкой;

устройство для выполнения операции «деление» чисел с плавающей точкой;

универсальное устройство для выполнения логических операций операции деления – это комбинационные устройства. Новая операция в устройстве может быть начата только после завершения предыдущей.

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

Выводы

Структуры ядер реальных современных процессоров очень сложные. Как правило, в ядрах современных универсальных процессоров для персональных компьютеров реализованы самые разнообразные методы повышения производительности.

Это:

конвейерность с числом ступеней не менее 10-12;

суперскалярность с уровнем 3-4. Под суперскалярностью понимается число команд, которые дешифрируются в одном такте.

большое число специализированных функциональных устройств обработки данных;

внеочередное выполнение команд;

предсказание ветвлений;

иерархические подсистемы памяти, включающие до трех уровней кэш-памяти;

сложные дешифраторы команд и т.п.

Наши рекомендации