Материал: А. Д. Чередов, А. Н. Мальчуков

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Векторные регистры AVX расширений


Инструкции расширений AVX, AVX2 используют шестнадцать 256-битных регистров YMM0–YMM15, в которых могут храниться не- сколько целочисленных или с плавающей запятой опернадов.

Векторные регистры MIC расширений


Инструкции расширений MIC используют шестнадцать 512-битных регистров, в которых могут храниться несколько целочисленных или с плавающей запятой опернадов.
63 31 15 7 0

RAX

EAX

AH

AL



XMM0


. . .

XMM7

XMM8


. . .

XMM15




RAX

EAX


. . .


. . .

RDI

EDI

R8


. . .

R15



S S E

&
S S E 2

регистры процессоров IA-32;

ST0

MM0


. . .


. . .

ST7

MM7



63 RIP 0




79
63 RFLAGS 0


добавленные регистры в процессорах AMD64 (Intel64).

Рис. 3.6. Регистровые структуры процессоров AMD64 (Intel64)


      1. Регистровые структуры процессоров IA-64


В состав регистровых файлов IA-64 (рис.3.7) входят: 128 регистров общего назначения GPR (64-разрядных); 128 регистров с плавающей за- пятой FR (82-разрядных); 128 прикладных регистров основном 64-разрядных) AR; 64 одноразрядных регистра предикатов PR; 8 реги- стров переходов BR (64-разрядных); не менее 4-х регистров идентифи- катора процесса CPUID; счетчик команд IP; регистр маркера текущего окна CFM стека регистров и др.





GPR0


. . .

GPR127




FR0


. . .

FR127



63 0 81

0 63 0


AR0


. . .

AR127



0

PR0


. . .

PR63




BR0


. . .

BR7




CRUID0


. . .

CRUID3



63 0 63 0


IP
64 0



CFM
37 0


Рис. 3.7. Регистровые структуры процессоров IA-64

64-разрядные_регистры_GPR0–GPR127'>64-разрядные регистры GPR0–GPR127 применяются не только для целочисленных операций IA-64; GPR8–GPR31 в режиме IA-32 ис- пользуются также под целочисленные регистры и регистры селекторов и дескрипторов сегментов IA-32. GPR0–GPR31 называются статиче- скими регистрами (GPR0 всегда содержит 0), а GPR32–GPR127 – сте- кируемыми регистрами. Статические регистры «видны» всем про- граммам. Стекируемые регистры становятся доступными в программ- ной единице через окно стека регистров, включающее локальные и вы- ходные регистры, число которых задается командой alloc.

82-разрядные регистры с плавающей запятой FR0–FR127 также
подразделяются на статические (FR0–FR31, причем всегда FR0 = 0.0, FR1 = 1.0) и вращаемые (FR32–FR127). FR8–FR31 в режиме IA-32 со- держат числа с плавающей запятой и мультимедийные регистры. Вра- щение регистров является в некотором роде частным случаем переиме- нования регистров, применяемым в современных суперскалярных про- цессорах с внеочередным выполнением команд. В отличие от них (пе-

реименование регистров осуществляется аппаратно) вращение реги- стров в IA-64 управляется программно.

Прикладные регистры AR0–AR127 – специализированные. Ряд AR-регистров является фактически регистрами IA-32; AR0–AR7 назы- ваются регистрами ядра. Запись в них привилегированна, но они до- ступны на чтение в любом приложении и используются для передачи приложению сообщений от операционной системы. AR16 (RSC) – ре- гистр конфигурации стека регистров, используемый для управления ра- ботой стека регистров IA-64; AR40 (FPSR) – регистр состояния для ко- манд с плавающей запятой IA-64.

Регистры предикатов PR0–PR63 являются одноразрядными, в них помещаются результаты выполнения команд сравнения. Обычно эти команды устанавливают сразу два соседних регистра PR в состояния

«1» – истина, «0» – ложь или, наоборот, в зависимости от значения условия. Такая избыточность обеспечивает дополнительную гибкость.

64-разрядные регистры переходов BR0–BR7 применяются для указания адреса перехода в соответствующих командах перехода (если адрес перехода не кодируется в команде явно).

В регистрах CPUID 0 и CPUID 1 находится информация о произ- водителе, в регистре CPUID 2 – серийный номер процессора, а в реги- стре CPUID 3 задается тип процессора (семейство, модель, версия архи- тектуры и т.п.) и число CPUID-регистров. Разряды регистра CPUID4 указывают на поддержку конкретных особенностей IA-64, которые реа-
лизованы в данном процессоре.

    1. 1   ...   42   43   44   45   46   47   48   49   ...   76

Структурная организация


современных универсальных микропроцессоров

Характерными чертами современных универсальных микропро- цессоров являются:

  1. Суперскалярная архитектура, обеспечивающая одновременное вы- полнение нескольких команд в параллельно работающих исполнительных устройствах.

  2. Динамическое изменение последовательности команд (выполнение команд с опережением спекулятивное выполнение).

  3. Конвейерное исполнение команд.

  4. Предсказание направления ветвлений.

  5. Предварительная выборка команд и данных.

  6. Параллельная обработка потоков данных.

  7. Многоядерная структура.

  8. Многопотоковая обработка команд.

  9. Пониженное энергопотребление.

Практическая реализация данных принципов в структурах различ- ных процессоров имеет ряд существенных особенностей, связанных с их микроархитектурой. Микроархитектура процессора определяет реализацию его внутренней структуры, принципы выполнения посту- пающих команд, способы размещения и обработки данных.

      1. Стратегия развития процессоров Intel


Стратегия развития Intel заключается во внедрении новых микро- архитектур процессоров, основанных на новых поколениях полупро- водниковой производственной технологии. Темпы выпуска инноваци- онных микроархитектур и полупроводниковых технологий основаны на
Источник: https://files.student-it.ru/previewfile/151041