Архитектура Intel Core

Архитектура Intel Core (ядро Intel) содержит следующие компоненты:

· Wide Dynamic Execution;

· Advanced Smart Cache;

· Smart Memory Access;

· Advanced Digital Media Boost.

Компонент Wide Dynamic Execution (широкое динамическое выполнение) позволяет каждому процессору загружать, диспетчировать и выполнять с высокой пропускной способностью команды программ. Основными характеристиками этого компонента являются:

· эффективный конвейер, содержащий 14 этапов;

· три арифметико-логических устройства – ALU (Arithmetic-Logical Units);

· 4 декодера для декодирования до 5 команд за цикл;

· слияние макроопераций и микроопераций для повышения пропускной способности входной шины;

· пиковая скорость диспетчирования до 6 микроопераций в цикле;

· пиковая пропускная способность отмены команд до 4 микроопераций в цикле;

· улучшенное предсказание переходов;

· узел слежения за указателем стека, позволяющий повысить эффективность выполнения вызова процедур.

Компонент Advanced Smart Cache (улучшенная интеллектуальная кэш-память) обеспечивает высокую пропускную способность при обмене между кэш-памятью L2 и ядром. Этот компонент имеет следующие характеристики:

· объем кэш-памяти L2 до 4 Мбайт;

· оптимизация для мультиядерной и однопоточной среды выполнения команд;

· 256-битовый внутренний путь к данным для повышения пропускной способности между кэш-памятью L2 и кэш-памятью данных L1.

Компонент Smart Memory Access (интеллектуальный доступ к памяти) предварительно загружает данные из памяти в ответ на шаблоны доступа к памяти и уменьшает задержку тактов при неправильном предсказании перехода. Этот компонент имеет следующие характеристики:

· аппаратные предварительные загрузчики данных из памяти для уменьшения задержки при отсутствии данных в кэш-памяти L2 и/или кэш-памяти данных L1;

· разрешение конфликтов между операциями чтения и записи по адресам обращения к памяти для улучшения механизма упреждающего выполнения команд.

Компонент Advanced Digital Media Boost (поддержка улучшенного цифрового медиа) улучшает выполнение большинства 128-битовых команд SIMD, а также позволяет выполнять до 8 операций с плавающей точкой за цикл. Кроме того, этот компонент обеспечивает три порта для диспетчирования выполнения команд SIMD.

Основные компоненты архитектуры Intel Core и их связь представлены на рис. 1.3.21.

Разделяемая кэш-память L2 (в последних семействах процессоров Intel) доступна всем ядрам процессора (двум или четырем), причем объем память для каждого ядра определяется динамически. Например, в двухядерном процессоре из общего объема памяти 2 Мбайта первому процессору может быть выделено 1,5 Мбайт, а второму – 0,5 Мбайт.

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

Узел декодирования может декодировать в цикле 4 команды или 5 команд (при использовании слияния макроопераций). Для повышения пропускной способности узел сливает последовательность из двух макро- и микроопераций в одну микрооперацию. Такое слияние возможно для определенных последовательностей команд. Так, обычно после команды сравнения двух данных обычно следует команда условного перехода (например, при равенстве операндов). В этом случае эти команды можно объединить и при дальнейшей обработке они будут рассматриваться как одна команда.

Узел памяти Microcode ROM, как в архитектуре NetBurst, содержит коды микрокоманд, которые могут потребоваться узлу декодирования и узлу переименования/назначения.

Узел переименования/назначения выполняет те же действия, что и этапы 5-8 узла ядра в архитектуре NetBurst, т.е. замену имен регистров в команде именами одного из внутренних регистров процессора в RAT и назначение этих внутренних регистров команде.

Узел освобождения ресурсов (буфер переупорядочения) совмещает функции диспетчеризации ресурсов узла ядра, т.е. наличие данных и ресурсов для их выполнения, а также станции резервирования и узла освобождения ресурсов в архитектуре NetBurst.

Рис. 1.3.21. Основные компоненты архитектуры Intel Core и их связь

Планировщик направляет команды на выполнение на один из пяти портов.

Порт 1 выполняет команды работы с целыми числами и логические команды, команды перехода, перемещения, команды с плавающей точкой, а также команды MMX и SSE.

Порт 2 выполняет команды работы с целыми числами и логические команды, команды сложения с плавающей точкой, а также команды MMX и SSE.

Порт 3 выполняет команды работы с целыми числами и логические команды, команды умножения с плавающей точкой, а также команды MMX и SSE.

Порт загрузки обрабатывает команды, запрашивающие данные из оперативной памяти, а порт сохранения – команды, записывающие данные в оперативную память.

При загрузке и сохранении данных используется кэш-память данных L1 и кэш-память L2.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: