Подсистема выполнения команд (исполнительный тракт)
Процессы распределения, переименования, планировки и вывода данных в процессе конвейерного выполнения макроопераций в структуре ядра Sandy Bridge подверглись самой значительной переработке.
Результаты отслеживания и переименования микроопераций фиксировались с помощью физического регистрового файла ФРФ (PRF в англоязычной терминологии). Фактически, на буфер переупорядочивания была возложена только функция «трассировки» команд, обрабатываемых в данный момент времени, в то время как функции хранения данных были возложены на независимый физический регистровый файл. Иными словами, факт выполнения операции с изменением порядка в структуре ядра Sandy Bridge приводил только к тому, что регистр указывал на иное значение в ФРФ, а не к переносу 32-, 64-, 128- или 256-разрядных данных, как в случае, когда использовался только буфер переупорядочивания.
Ёмкости компонентов подсистемы выполнения нескольких поколений структур ядер приведены в таблице 31.1.
Таблица 31.1.
Поколения структур ядер | Core 2 Merom | Nehalem | Sandy Bridge |
Буфер переупорядочивания - ROB (Re-Order Buffer) | |||
Физический регистровый файл (целые числа) | - | - | |
Физический регистровый файл – (плавающая точка, вектора) | - | - | |
Буфер декодированных, но ещё не выполненных команд – станция резервации (RS) | |||
Буферы записи - Load Buffers | |||
Буферы чтения - Store Buffers |
Кроме появления в структуре Sandy Bridge физического регистрового файла, изменились и характеристики традиционных модулей подсистемы исполнительного тракта. Так, буфер переупорядочивания оказался способен обрабатывать до 168 микроопераций одновременно. Целочисленный физический регистровый файл хранит 160 отдельных 64-разрядных записей; физический регистровый файл для данных с плавающей точкой хранит 144 56-разрядные записи, то есть регистры YMM с векторными командами AVX целиком.
Дата добавления: 2015-09-29; просмотров: 697;