
- •Оглавление
- •Введение (новый весь раздел)
- •Архитектуры, характеристики, классификация эвм
- •Однопроцессорные архитектуры эвм
- •Конвейерная обработка команд из раздела 3.5
- •Cуперскалярная обработка из раздела 1.1.1 с дополнением
- •Архитектура sisd
- •Vliw-архитектура
- •Simd-архитектура
- •Многоядерные структуры процессора и многопотоковая обработка команд
- •Технические и эксплуатационные характеристики эвм
- •Классификация эвм
- •Классификация эвм по назначению
- •Классификация эвм по функциональным возможностям
- •Функциональная и структурная организация эвм
- •Обобщенная структура эвм и пути её развития
- •Типы данных
- •Структура и форматы команд эвм
- •Способы адресации информации в эвм
- •2.4.1. Абсолютные способы формирования исполнительного адреса
- •2.4.2. Относительные способы формирования исполнительных адресов ячеек памяти
- •Примеры форматов команд и способов адресации
- •Форматы команд и способы адресации в интеловских процессорах
- •Форматы команд и способы адресации в risc-процессорах
- •Особенности системы команд ia-64
- •Раздел 2.6 перенесен из раздела 3.6 предыдущего пособия
- •Принципы организации системы прерывания программ
- •ФункциональнаЯ и структурнаЯ организация центрального процессора эвм
- •НИзменен номер азначение и структура центрального процессора
- •Назначение, классификация и организация цуу
- •Регистровые структуры процессоров amd64 (Intel64)
- •Регистровые структуры процессоров ia-64
- •Структурная организация современных универсальных микропроцессоров
- •Стратегия развития процессоров Intel
- •Особенности многоядерной процессорной микроархитектуры Intel Core
- •Микроархитектура Intel Nehalem
- •Семейство процессоров Intel Westmere
- •Микроархитектура amd к10
- •Современное состояние и перспективы развития микропроцессоров для Unix-серверов
- •Микропроцессоры семейства Ultra sparc
- •Микропроцессор ibm power 7
- •Микропроцессор Intel Itanium 9300 (Tukwila)
- •Микропроцессор Intel Nehalem ex
- •Принципы организации подсистемы памяти эвм и вс
- •Иерархическая структура памяти эвм
- •Организация стека регистров
- •Способы организации кэш-памяти
- •Типовая структура кэш-памяти
- •Способы размещения данных в кэш-памяти
- •Методы обновления строк основной памяти и кэша
- •Методы замещения строк кэш-памяти
- •МУбран абзац ногоуровневая организация кэша
- •Принципы организации оперативной памяти
- •Общие положения
- •Методы повышения пропускной способности оп
- •М Изменён номер етоды управления памятью
- •ОИзменен номер рганизация виртуальной памяти
- •Методы ускорения процессов обмена между оп и взу
- •ОрганизациЯ системНого интерфейса и вВода-вывода информации
- •Общая характеристика и классификация интерфейсов
- •Способы организации передачи данных
- •Системная организация компьютеров на базе современных чипсетов
- •Системная организация на базе чипсетов компании Intel
- •Системная организация на базе чипсета amd
- •Многопроцессорные и многомашинные вычислительные системы
- •Архитектуры вычислительных систем
- •Сильносвязанные многопроцессорные системы
- •Слабосвязанные многопроцессорные системы
- •Список литературы
- •Организация эвм и систем
Регистровые структуры процессоров amd64 (Intel64)
В процессорах x86-64 (AMD64), Intel64 архитектур (рис. 3.6) существующие в х86 регистры общего назначения (GPR) расширены с 32 до 64 бит (RAX, RBX, RCX, RDX, RBP, RSP, RSI, RDI) и к ним добавлены еще 8 новых 64-разрядных регистров (R8–R15). Также 8 новых 128-ми битных регистров (XMM8–XMM15) добавлено в блок SSE, что обеспечивает поддержку SSE2.
0
Рис. 3.6. Регистровые структуры процессоров AMD64 (Intel64)
В блоке FPU используются существующие в х87 регистры данных ST0–ST7 (80-разрядные) и 64-разрядные мультимедийные регистры ММ0–ММ7, объединенные в общее пространство с регистрами ST.
Регистр указателя команд (RIP) и регистр флагов (RFLAGS) также расширены до 64 разрядов.
Регистровые структуры процессоров ia-64
В состав регистровых файлов IA-64 (рис.3.7) входят: 128 регистров общего назначения GPR (64-разрядных); 128 регистров с плавающей запятой FR (82-разрядных); 128 прикладных регистров (в основном 64-разрядных) AR; 64 одноразрядных регистров предикатов PR; 8 регистров переходов BR (64-разрядных); не менее 4-х регистров идентификатора процесса CPUID; счетчик команд IP; регистр маркера текущего окна CFM стека регистров и др.
Рис. 3.7. Регистровые структуры процессоров IA-64
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, которые реализованы в данном процессоре.