Московский государственный университет путей сообщения
Опубликован: 11.04.2006 | Доступ: свободный | Студентов: 1311 / 300 | Оценка: 4.39 / 4.00 | Длительность: 17:21:00
ISBN: 978-5-9556-0036-1
Специальности: Разработчик аппаратуры
Лекция 2:

Архитектура zSeries

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

Регистровая модель

Регистровая модель процессора z/Architecture на современном этапе развития [2.1] включает следующие группы регистров (рис. 2.2):

  • 16 64-разрядных регистров общего назначения (General Registers GR);
  • 16 64-разрядных регистров с плавающей точкой (Floating Point Register - FPR);
  • 32-разрядный регистр управления операциями с плавающей точкой (Floating Point Control Register - FPC);
  • 16 32-разрядных регистров доступа (Access Registers - AR);
  • 16 64-разрядных управляющих регистров (Control Register - CR);
  • 128-разрядный регистр слова состояния программы (Program Status Word - PSW);
  • 64-разрядный регистр префикса (Prefix Register - PR);
  • 32-разрядный программируемый регистр часов (Time-of-Day (TOD) Programmable Register);
  • 64-разрядный регистр таймера;
  • 64-разрядный регистр компаратора времени (Clock Comparator).

Регистры GR предназначены для хранения операндов и адресов основных арифметических, логических и других операций. Каждый из регистров имеет разрядность 64 бита и адресуется в командах 4-разрядным полем R. В зависимости от реализуемой модели используются 32 (биты 32-63) или 64 разряда регистров. На рис. 2.2 показан пример использования модели для архитектуры System/370. Два регистра GR с соседними адресами могут служить для хранения операндов удвоенной длины 64 или 128 бит (см. дуги на рис. 2.2). В первом случае объединяются биты 32 \div 63, а во втором - биты 0 \div 63 соседних регистров. Удвоенный операнд начинается с четного адреса, по которому размещается старшая половина операнда. Часть команд со сложными способами адресации используют регистры GR в качестве базовых и индексных регистров. Четырехразрядные поля B и Х в командах определяют, соответственно, один из 15 базовых или индексных регистров (при В=0 базирование, а при Х=0 индексация не используются). В некоторых командах применение регистров GR подразумевается без явного указания их адресов в полях команды.

Регистры FPR предназначены для хранения 32- или 64-разрядных чисел в форматах с плавающей точкой: двоичном (Binary Floating Point - BFP) или шестнадцатеричном (Hexadecimal Floating Point - HFP). Как и GR, регистры FPR адресуются в командах 4-разрядными полями R и могут быть попарно объединены для хранения расширенных до 128 бит операндов, адресуемых младшим из адресов объединенных регистров. Для задания параметров операций с плавающей точкой используется дополнительный управляющий регистр FPC.

Регистровая модель z/Architecture

Рис. 2.2. Регистровая модель z/Architecture

Шестнадцать регистров доступа AR применяются в механизме динамического преобразования адресов для хранения косвенной ссылки на используемое адресное пространство. В режиме адресации с использованием AR (Access Register Mode) поле В (или R) команд задает номер AR, содержимое которого используется как ссылка на адресное пространство. Указание в команде на регистр доступа с номером 0 подтверждает использование текущего адресного пространства, а AR1/AR 15 задают новое адресное пространство.

Управляющие регистры CR адресуются как полем R, так и по умолчанию в различных командах, и используются при исполнении команд и функций процессора. Управляющие поля и отдельные биты регистров закреплены за конкретными средствами, такими как динамическое преобразование адресов, регистрация программных событий и др. и содержат информацию, необходимую для функционирования таких средств. С помощью команд загрузки и чтения можно обратиться как к отдельному регистру, так и к группе регистров.

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

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

Регистры таймера и компаратора времени, а также программируемый регистр часов используются в процедурах, связанных с отсчетом времени в таймере и компараторе часов CP, а также во внешних часах.