з/Архитектура
Дизайнер | ИБМ |
---|---|
Биты | 64-битный |
Представлено | 2000 |
Версия | АРХЛВЛ 2 и АРХЛВЛ 3 (2008 г.) |
Дизайн | ЦИСК |
Тип | Регистрация–Регистрация Регистрация–Память Память-Память |
Кодирование | Переменная (длиной 2, 4 или 6 байт) |
Ветвление | Код состояния , индексация, подсчет |
Порядок байтов | Большой |
Предшественник | ЕКА/390 |
Регистры | |
Доступ 16 × 32, регистр адреса события прерывания (BEAR) 64 бита, управление 16 × 64, управление с плавающей запятой 32 бита, префикс 64 бита, PSW 128 бит | |
общего назначения | 16 × 64-битный |
Плавающая точка | 16 × 64-битный |
Вектор | 32×128 бит, VR0-VR15 содержат FPR0-FPR15 |
История мейнфреймов IBM , 1952 – настоящее время |
---|
Название рынка |
Архитектура |
z/Architecture , первоначально и кратко называвшаяся ESA Modal Extensions ( ESAME ), представляет собой IBM компании 64-битную набора команд компьютера со сложным набором команд (CISC) архитектуру , реализованную на ее мейнфреймах . IBM представила свою первую систему на базе z/Architecture — z900 — в конце 2000 года. [ 1 ] Более поздние системы z/Architecture включают IBM z800, z990, z890, System z9 , System z10 , zEnterprise 196 , zEnterprise 114 , zEC12 , zBC12 , z13 , z14 , z15 и z16 .
z/Architecture сохраняет обратную совместимость с 32-битными данными и 31-битной адресацией с предыдущей архитектурой ESA/390 и ее предшественниками вплоть до System/360 с 32-битными данными и 24-битной адресацией . IBM z13 — последний сервер z Systems, поддерживающий работу операционной системы в режиме архитектуры ESA/390. [ 2 ] Однако это изменение не затронет все 24-битные и 31-битные прикладные программы проблемного состояния, изначально написанные для работы на архитектуре ESA/390.
Функции
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июнь 2024 г. ) |
z/Architecture включает в себя почти все [ а ] функций ESA/390 и добавляет некоторые новые функции. Среди особенностей [ б ] z/Architecture
- Канальная подсистема с архитектурой, представленной S/370-XA.
- Относительные инструкции для ветвей, представленные ESA/390
- Тримодальные (24/31/64-битные) адреса
- 16 32-битных регистров доступа (AR), представленных ESA/370.
- 16 64-битных регистров общего назначения (GR)
- 16 64-битных регистров управления (CR), представленных System/370.
- 16 64-битных регистров с плавающей запятой (FPR)
- 32 128-битных векторных регистра (VR); биты 0–63 VR0–VR15 содержат FPR0–FPR15.
- 1 32-битный регистр управления с плавающей запятой (FPC)
- 1 128-битный регистр состояния процессора (PSW), который включает 64-битный адрес инструкции.
- Область хранения префиксов размером 8 КиБ (PSA)
- Криптографическое средство
- Инструкции IEEE для двоичных операций с плавающей запятой, добавленные ESA/390
- IEEE с десятичными числами и плавающей запятой Инструкции
Информацию о том, когда была представлена каждая функция, см. в разделе «Принципы работы». [ 3 ] [ 4 ]
Регистры
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июль 2024 г. ) |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Эти регистры есть у каждого процессора.
- Регистры доступа
- Регистр адреса события прерывания (BEAR)
- Регистры управления
- Регистр управления плавающей запятой (FPC)
- Регистры с плавающей запятой
- Общие регистры
- Префиксный регистр
- Слово состояния программы (PSW)
- Векторные регистры
Регистры доступа
[ редактировать ]Каждый процессор имеет 16 32-битных регистров доступа. [ 5 ] [ 11 ] Когда программа, работающая в режиме AR, указывает регистры 1–15 в качестве базового регистра или в качестве операнда регистра, содержащего адрес, ЦП использует соответствующий регистр доступа во время трансляции адреса.
Регистр адреса события прерывания (BEAR)
[ редактировать ]64-битный BEAR{sfn|z|loc=Регистр адреса события прерывания|p= 4-46 }} [ 12 ] содержит адрес последней инструкции, прервавшей последовательное выполнение инструкций; прерывание сохраняет BEAR в двойном слове по реальному адресу 272 (110 16 ). После выполнения ветки BEAR содержит адрес выполнения, а не адрес ветки.
Регистры управления
[ редактировать ]16 64-битных регистров управления обеспечивают контроль над состоянием ЦП, за исключением информации, включенной в PSW. Они представляют собой эволюционное усовершенствование регистров управления более ранней версии ESA/390 на процессорах IBM S/390 . Подробную информацию о том, какие поля зависят от конкретных функций, см. в Принципах работы. [ 13 ] Поскольку z/Architecture расширяет регистры управления с 32 бит до 64, нумерация битов отличается от нумерации в ESA/390.
ЧР | биты | Поле |
---|---|---|
0 | 8 | Контроль исполнения транзакций |
0 | 9 | Переопределение фильтрации прерываний программы при выполнении транзакций |
0 | 10 | Контроль знака часов-компаратора |
0 | 13 | Контроль счетчика криптографии |
0 | 14 | Управление расширением активности процессора |
0 | 15 | Контроль измерения-противоизвлечения-авторизации |
0 | 30 | Маска подкласса предупреждения |
0 | 32 | TRACE TOD-управление часами |
0 | 33 | SSM-подавление |
0 | 34 | TOD-управление тактовой синхронизацией |
0 | 35 | Низкоадресное управление защитой |
0 | 36 | Контроль полномочий добычи |
0 | 37 | Вторичный космический контроль |
0 | 38 | Управление переопределением защиты от выборки |
0 | 39 | Управление отключением защиты хранилища |
0 | 40 | Расширенное управление включением DAT |
0 | 43 | Управление выполнением инструкций, защитой и включением |
0 | 44 | Контроль повторного использования ASN и LX |
0 | 45 | Контроль регистра AFP |
0 | 46 | Управление векторным включением |
0 | 48 | Маска подкласса предупреждения о неисправности |
0 | 48 | Маска подкласса предупреждения о неисправности |
0 | 49 | Маска подкласса аварийного сигнала |
0 | 50 | Маска подкласса внешнего вызова |
0 | 52 | Маска подкласса тактового компаратора |
0 | 53 | Маска подкласса таймера ЦП |
0 | 54 | Маска подкласса служебного сигнала |
0 | 56 | Инициализировано значением 1 |
0 | 57 | Маска подкласса клавиши прерывания |
0 | 58 | Маска подкласса оповещения об измерениях |
0 | 59 | Маска подкласса оповещения о времени |
0 | 61 | Крипто-контроль |
1 | 0-51 | Первичный элемент управления адресным пространством (ASCE) Первичное происхождение таблицы регионов Происхождение первичной таблицы сегментов Первичное происхождение токена реального пространства |
1 | 54 | Первичное управление подпространственной группой |
1 | 55 | Первичный контроль частного пространства |
1 | 56 | Первичное событие изменения хранилища |
1 | 57 | Первичное управление событиями космического переключения |
1 | 58 | Первичное управление в реальном пространстве |
1 | 60-61 | Первичное обозначение типа управления |
1 | 62-63 | Длина основного стола |
2 | 33-57 | Происхождение таблицы управления диспетчерским устройством |
2 | 59 | Контроль включения охраняемого хранилища |
2 | 61 | Область диагностики транзакции |
2 | 62-63 | Диагностический контроль транзакций |
3 | 0-31 | Номер экземпляра вторичной записи второй таблицы ASN |
3 | 32-47 | Маска PSW-ключа |
3 | 48-63 | Вторичный АСН |
4 | 0-31 | Первичный номер экземпляра второй записи таблицы ASN |
4 | 32-47 | Индекс авторизации |
4 | 48-63 | Первичный АСН |
5 | 33-57 | Источник первичной-ASN-второй-таблицы |
6 | 32-39 | Маска подкласса прерывания ввода-вывода |
7 | 0-51 | Вторичный элемент управления адресным пространством (ASCE) Вторичное происхождение таблицы регионов Вторичное происхождение таблицы сегментов Вторичное происхождение токена реального пространства |
7 | 54 | Вторичный контроль подпространственной группы |
7 | 55 | Вторичный контроль частного пространства |
7 | 56 | Вторичный контроль событий изменения хранилища |
7 | 58 | Вторичный контроль реального пространства |
7 | 60-61 | Вторичное обозначение типа управления |
7 | 62-63 | Длина вторичного стола |
8 | 16-31 | Маски расширенного монитора |
8 | 32-47 | Индекс расширенной авторизации |
8 | 48-63 | Маски монитора |
9 | 32 | Маска событий успешного ветвления |
9 | 33 | Маска событий получения инструкций |
9 | 34 | Маска событий изменения хранилища |
9 | 35 | Маска события изменения ключа хранения |
9 | 36 | Маска события магазина с использованием реального адреса |
9 | 37 | Маска события обнаружения нулевого адреса |
9 | 38 | Маска события завершения транзакции |
9 | 39 | Маска события получения инструкций обнуления |
9 | 40 | Контроль адреса филиала |
9 | 41 | Контроль подавления событий PER |
9 | 43 | Контроль складских помещений |
10 | 0-63 | Начальный адрес PER |
11 | 0-63 | Конечный адрес PER |
12 | 0 | Контроль трассировки ветвей |
12 | 1 | Контроль режима трассировки |
12 | 2-61 | Адрес для отслеживания |
12 | 62 | ASN-контроль трассировки |
12 | 63 | Явное отслеживание контроля |
13 | 0-51 | Элемент управления домашним адресом (ASCE) Начало таблицы домашнего региона Начало исходной таблицы сегментов Происхождение токена домашнего реального пространства |
13 | 55 | Контроль домашнего частного пространства |
13 | 56 | Домашнее хранение-переделка-событие |
13 | 57 | Управление событиями домашнего переключения пространства |
13 | 58 | Вторичный контроль реального пространства |
13 | 60-61 | Управление типом обозначения дома |
13 | 62-63 | Длина домашнего стола |
14 | 32 | Установить на 1 |
14 | 33 | Установить на 1 |
14 | 34 | Расширенное управление областью сохранения (режим совместимости с ESA/390).
только) |
14 | 35 | Маска подкласса, ожидающего отчета о канале |
14 | 36 | Маска подкласса восстановления |
14 | 37 | Маска подкласса деградации |
14 | 38 | Маска подкласса внешнего повреждения |
14 | 39 | Маска подкласса предупреждения |
14 | 42 | TOD-тактовое управление-переопределение управления |
14 | 44 | ASN-контроль трансляции |
14 | 45-63 | Источник ASN-первая таблица |
15 | 0-60 | Адрес входа в стек связей |
Регистр управления плавающей запятой (FPC)
[ редактировать ]Регистр FPC содержит маски прерываний (IM), флаги состояния (SF), код исключения данных (DXC), режим десятичного округления (DRM) и режим двоичного округления (BRM). Прерывание сохраняет DXC только в том случае, если регистр FPC, если бит управления регистра AFP (дополнительный регистр с плавающей запятой), бит 13 регистра управления 0, равен единице. Кроме того, хотя отдельные биты DXC обычно имеют значение, программы обычно должны обрабатывать его как 8-битное целое число, а не запрашивать отдельные биты.
Имя байта | Биты | Имя поля | Использовать |
---|---|---|---|
маски | 0 | я | Маска недопустимой операции IEEE |
маски | 1 | ИМЗ | IEEE-маска деления на ноль |
маски | 2 | ИМХО | Маска переполнения IEEE |
маски | 3 | Нос | IEEE-маска нижнего заполнения |
маски | 4 | IMx | IEEE-неточная маска |
маски | 5 | IMq | Маска квантового исключения |
флаги | 8 | СФи | Флаг недопустимой операции IEEE |
флаги | 9 | СФЗ | IEEE-деление на ноль |
флаги | 10 | СФО | Флаг переполнения IEEE |
флаги | 11 | ЮФу | Флаг IEEE-недополнения |
флаги | 12 | SFx | IEEE-неточный флаг |
флаги | 13 | СФк | Флаг квантового исключения |
ДХС | 16-23 | ДХС | Код исключения данных |
ДХС | 16 | я | IEEE-неверная операция |
ДХС | 17 | С | IEEE-деление на ноль |
ДХС | 18 | тот | IEEE-переполнение |
ДХС | 19 | в | IEEE-маска нижнего заполнения |
ДХС | 20 | х | IEEE-неточная маска |
ДХС | 21 | г/к | Маска квантового исключения |
25-27 | DRM | Режим округления DFP | |
29-31 | БРМ | Режим округления BFP |
Регистры с плавающей запятой
[ редактировать ]Каждый процессор имел 16 64-битных регистров с плавающей запятой; FP0-15 занимают биты 0-63 VR0-15.
Общие регистры
[ редактировать ]Каждый процессор имеет 16 64-битных регистров общего назначения, которые служат аккумуляторами и базовыми регистрами. [ с ] и индексные регистры . [ с ] Инструкции, обозначенные как Grandé, работают на всех 64 битах; некоторые инструкции, добавленные с помощью Extended-Immediate Facility, работают с любым полусловом или словом в регистре; большинство других инструкций не изменяют и не используют биты 0–31.
Префиксный регистр
[ редактировать ]Префиксный регистр используется для преобразования реального адреса в абсолютный адрес. В режиме z/Architecture PSA занимает 2 страницы (8 КиБ). Биты 0–32 и 51–63 всегда равны нулю. Если биты 0–50 реального адреса равны нулю, они заменяются битами 0–50 префиксного регистра; если биты 0–50 реального адреса равны битам 0–50 префиксного регистра, то они заменяются нулями.
Слово состояния программы (PSW)
[ редактировать ]PSW содержит адрес инструкции и другие поля, отражающие состояние программы, выполняющейся в данный момент на ЦП. На состояние программы также влияет содержимое регистров управления .
Векторные регистры
[ редактировать ]битных векторных регистра . Каждый процессор имеет 32 128 - Векторный регистр может содержать 16 8-битных полей, 8 16-битных полей, 4 32-битных поля, 2 64-битных поля или 1 128-битное поле.
Память
[ редактировать ]IBM классифицирует память в z/Architecture на основное хранилище и расширенное хранилище .
Основное хранилище адресуется 8-битными байтами ( октетами ), с выравниванием по большему размеру. [ д ] группировки:
- Стать половиной
- Два байта
- 16 бит
- Слово
- Четыре байта
- 32 бита
- Двойное слово
- 8 байт
- 64 бита
- Четырехсловное слово
- 16 байт
- 128 бит
- Страница
- 4096 байт
Хотя z/Architecture допускает реальные и виртуальные адреса от 0 до 2. 64 -1, инженерные ограничения ограничивают текущие и планируемые модели гораздо меньшими ограничениями.
Расширенное хранилище представляет собой адрес в блоках по 4 КиБ с номерами блоков от 0 до 2. 32 .
Адресация
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июнь 2024 г. ) |
Типы адресов основной памяти
[ редактировать ]В z/Architecture существует три типа адресов основной памяти.
- Виртуальный адрес
- Адрес, видимый прикладными программами. Это смещение в адресном пространстве, которое подлежит трансляции адресов через таблицы страниц и сегментов.
- Реальный адрес
- Адрес после трансляции адреса или адрес, видимый компонентом ОС, работающим с отключенной трансляцией. Это зависит от префикса.
- Абсолютный адрес
- Адрес после префикса ссылки на первые две страницы [ и ] через префиксный регистр.
Кодировка адреса
[ редактировать ]z/Architecture использует ту же усеченную адресацию, что и ESA, с некоторыми дополнительными форматами инструкций. Как и в случае с ESA, в режиме AR каждый ненулевой базовый регистр связан с базовым регистром, определяющим адресное пространство. В зависимости от инструкции адрес может быть предоставлен в нескольких различных форматах.
- Р
- Адрес содержится в общем реестре
- Родственник
- 16-битное смещение полуслова со знаком от текущей инструкции.
- Относительная длина
- 32-битное смещение полуслова со знаком от текущей инструкции.
- РС
- Базовый регистр и 12-битное смещение
- прием
- Базовый регистр, индексный регистр и 12-битное смещение.
- И
- Базовый регистр, индексный регистр и 20-битное смещение; в просторечии известный как «Вон».
Режимы адресации
[ редактировать ]В дополнение к двум режимам адресации, поддерживаемым S/370-XA и ESA , a/Architecture имеет расширенный режим адресации с 64-битными виртуальными адресами. Режим адресации контролируется битами EA (бит 31) и BA (бит 32) в PSW. Допустимые комбинации:
- 00 24-битная адресация
- 01 31-битная адресация
- 11 64-битная адресация
Режимы перевода
[ редактировать ]виртуальной z/Architecture поддерживает четыре режима трансляции , управляемые [ 14 ] бит 5, бит режима DAT, и биты 16–17, биты управления адресным пространством (AS) PSW .
- Режим первичного пространства
- Все ссылки на хранилища используют таблицы трансляции для основного адресного пространства.
- Режим регистрации доступа
- Все ссылки на хранилище используют таблицы трансляции, назначенные регистром доступа, связанным с базовым регистром.
- Режим вторичного пространства
- Все ссылки на хранилище используют таблицы трансляции вторичного адресного пространства.
- Режим домашнего пространства
- Все ссылки на хранилище используют таблицы трансляции для пространства домашних адресов.
Поддержка операционной системы
[ редактировать ]IBM Операционные системы z/OS , z/VSE , z/TPF и z/VM представляют собой версии MVS , VSE , Transaction Processing Facility (TPF) и VM , которые поддерживают z/Architecture. Старые версии z/OS, z/VSE и z/VM продолжали поддерживать 32-битные системы; Для z/OS версии 1.6 и новее, z/VSE версии 4 и новее, а также z/VM версии 5 и новее требуется z/Architecture.
Linux также поддерживает z/Architecture с Linux на IBM Z.
z/Architecture поддерживает одновременную работу нескольких операционных систем и приложений, даже если они используют разные размеры адресов. Это позволяет разработчикам программного обеспечения выбирать размер адреса, наиболее выгодный для их приложений и структур данных.
7 июля 2009 года IBM по случаю анонса новой версии одной из своих операционных систем неявно заявила, что набор уровней архитектуры 4 ( ALS 4 ) существует и реализован на System z10 и последующих машинах. [ 15 ] [ 16 ] ALS 4 также указан в LOADxx как ARCHLVL 3 , тогда как более ранние версии z900, z800, z990, z890, System z9 указывали ARCHLVL 2. В более ранних объявлениях о System z10 просто указывалось, что она реализует z/Architecture с некоторыми дополнениями: более 50 новых машин. инструкции, страничные кадры размером 1 МБ и аппаратный десятичный модуль с плавающей запятой (HDFU). [ 17 ] [ 18 ]
Большинство [ нужна ссылка ] операционные системы для z/Architecture, включая z/OS , обычно ограничивают выполнение кода первыми 2 ГБ (31 адресный бит или 2 31 адресуемые байты) каждого виртуального адресного пространства по соображениям эффективности и совместимости, а не из-за архитектурных ограничений. Linux на IBM Z позволяет выполнять код в пределах 64-битных адресных диапазонов.
з/ОС
[ редактировать ]z/OS Каждое адресное пространство , называемое 64-битным адресным пространством, имеет 16 эксабайт размер .
Кодовые (или смешанные) пробелы
[ редактировать ]Реализация языка программирования Java в z/OS является исключением. z/OS Реализация виртуальной памяти поддерживает несколько адресных пространств по 2 ГБ, что позволяет одновременно размещать более 2 ГБ программного кода.
Пространства только для данных
[ редактировать ]Пространства только для данных — это области памяти, из которых можно читать и записывать, но которые нельзя использовать в качестве исполняемого кода. (Аналогично биту NX на других современных процессорах.) По умолчанию пространство памяти z/Architecture индексируется 64-битными указателями, что позволяет выполняющейся программе видеть до 16 эксабайт памяти.
Пространства данных и гиперпространства
[ редактировать ]Приложения, которым требуется адресное пространство данных размером более 16 эксабайт, могут использовать методы расширенной адресации , используя дополнительные адресные пространства или пространства только для данных. Пространства только для данных, доступные для пользовательских программ, называются:
- пространства данных (иногда называемые «пространствами данных») [ 19 ] [ 20 ] и
- гиперпространства (пространство высокой производительности). [ 21 ] [ 22 ]
Эти пространства схожи тем, что оба представляют собой области виртуальной памяти, которые может создать программа, и могут иметь размер до 2 гигабайт . В отличие от адресного пространства, пространство данных или гиперпространство содержит только пользовательские данные; он не содержит блоков управления системой или мест общего пользования. Программный код не может выполняться в пространстве данных или гиперпространстве. [ 23 ]
Пространство данных отличается от гиперпространства тем, что пространства данных имеют байтовую адресацию, тогда как гиперпространства имеют страничную адресацию.
Расширенное хранилище мэйнфрейма IBM
[ редактировать ]Традиционно память мейнфреймов IBM имеет побайтовую адресацию . Этот вид памяти называется «центральным хранилищем». Процессоры мейнфреймов IBM на протяжении большей части 1980-х и 1990-х годов поддерживали другой тип памяти: расширенное хранилище. Впервые он был представлен в IBM 3090 в 1985 году. серии мэйнфреймов высшего класса [ 24 ]
Расширенное хранилище имеет адресацию на странице размером 4 КБ. Если приложению требуется доступ к данным в расширенном хранилище, его сначала необходимо переместить в центральное хранилище. Аналогичным образом перемещение данных из центрального хранилища в расширенное хранилище выполняется страницами, кратными 4 КБ. Первоначально перемещение страниц выполнялось с использованием относительно дорогостоящих инструкций — кода подсистемы подкачки.
Затраты на перемещение отдельных страниц и групп страниц между центральным и расширенным хранилищем были уменьшены с появлением инструкции MVPG (перемещение страницы) и возможности ADMF (средство асинхронного перемещения данных).
Инструкция MVPG и ADMF вызываются явно — обычно промежуточным программным обеспечением в z/OS или z/VM (и ACP?) — для доступа к данным в расширенном хранилище. Некоторые виды использования, а именно:
- MVPG используется управлением буферным пулом локальных общих ресурсов (LSR) VSAM для доступа к буферам в гиперпространстве в расширенном хранилище.
- И MVPG, и ADMF используются IBM Db2 для доступа к гиперпулам. Гиперпулы — это части буферного пула, расположенные в гиперпространстве.
- Кэширование минидиска виртуальной машины.
До середины 1990-х годов центральное и расширенное хранилище представляли собой физически разные области памяти процессора. С середины 1990-х годов центральное и расширенное хранилище были просто вариантами назначения базовой памяти процессора. Этот выбор был сделан на основе конкретных ожидаемых вариантов использования: Например, расширенное хранилище требуется для функции Hiperbatch (которая использует инструкцию MVPG для доступа к своим гиперпространствам).
Помимо упомянутых выше случаев гиперпространства и подкачки, существуют и другие варианты использования расширенного хранилища, в том числе:
- Виртуальный ввод-вывод (VIO) в расширенное хранилище, в котором временные наборы данных хранятся на смоделированных устройствах в расширенном хранилище. (Эта функция заменена на VIO в центральном хранилище.)
- Кэширование минидиска виртуальной машины.
z/OS удалила поддержку расширенного хранилища. Вся память в z/OS теперь является центральным хранилищем. z/VM 6.4 соответствует заявлению о прекращении поддержки любого использования расширенного хранилища.
МВПГ и АДМФ
[ редактировать ]МВПГ
[ редактировать ]IBM описала MVPG как «перемещает одну страницу, и центральный процессор не может выполнять какие-либо другие инструкции, пока перемещение страницы не будет завершено». [ 25 ]
Инструкция мейнфрейма MVPG [ 26 ] ( Move P из , a обе G X'B254') сравнивают с инструкцией MVCL ( Move Long Character ) e, код . операции которых могут перемещать более 256 байтов в основной памяти с помощью одной инструкции . Эти инструкции не соответствуют определениям атомарности , хотя их можно использовать как одну инструкцию в пределах документированных ограничений по времени и неперекрытия. [ 27 ] : Примечание 8, стр. 7–27. [ 28 ]
Необходимость перемещения более 256 байт в основной памяти исторически решалась с помощью программного обеспечения. [ 29 ] (циклы MVC), MVCL, [ 30 ] который был представлен вместе с анонсом System /370 в 1970 году и запатентованного MVPG [ 31 ] и анонсированные IBM в 1989 году, каждый из них имеет свои преимущества. [ 32 ]
АДМФ
[ редактировать ]ADMF (Asynchronous Data Mover Facility), представленный в 1992 году, выходит за рамки возможностей инструкции MVPG (Move Page), которая ограничена одной страницей. [ 33 ] и может перемещать группы страниц между центральным и расширенным хранилищем.
Макроинструкция под названием IOSADMF, которая описана как API, позволяющий избежать «прямого низкоуровневого использования ADMF». [ 34 ] можно использовать для чтения [ ж ] или записывать данные в гиперпространство или из него. [ 35 ] Гиперпространства создаются с помощью DSPSERV CREATE.
Чтобы обеспечить повторный вход , IOSADMF используется вместе с «формой списка» и «формой выполнения». [ 36 ]
Реализации сторонних производителей
[ редактировать ]Компания Platform Solutions Inc. (PSI) ранее продавала серверы на базе Itanium , совместимые с z/Architecture. IBM купила PSI в июле 2008 года, и системы PSI больше не доступны. [ 37 ] FLEX-ES , zPDT и эмулятор Hercules также реализуют z/Architecture. Мейнфреймы Hitachi , работающие под управлением более новых версий операционной системы VOS3, реализуют ESA/390 плюс уникальные инструкции ЦП Hitachi, включая несколько 64-битных инструкций. Хотя Hitachi формально сотрудничала с IBM при разработке процессоров z900-G2/z800, представленных в 2002 году, машины Hitachi не совместимы с z/Architecture.
Примечания
[ редактировать ]- ^ Возможности асинхронной выдачи страниц ESA, асинхронного перемещения данных, быстрого вызова программ и векторов ESA/390 отсутствуют в z/Architecture. Векторная функция z/Architecture была заменена совершенно другой векторной функцией.
- ^ Полный список см. в главе 1. Введение в принцип работы. [ 3 ] [ 4 ]
- ^ Jump up to: а б За исключением общего регистра 0.
- ^ Некоторые инструкции допускают ссылки на невыровненные данные.
- ^ Ссылки на первую страницу в режиме ESA, но она недоступна в текущих моделях.
- ^ AREAD — перенос данных из гиперпространства в первичное адресное пространство программы.
Ссылки
[ редактировать ]- С
- z/Принципы работы архитектуры (PDF) (Четырнадцатое изд.). ИБМ . Май 2022 г. SA22-7832-13 . Проверено 28 июня 2024 г.
- ^ Разработка и атрибуты z/Architecture. Архивировано 12 декабря 2013 г. в Wayback Machine , IBM Journal of Research and Development, 2002.
- ^ «Внедрение функций сервера z13, которые будут прекращены на будущих серверах» . ИБМ . 25 июня 2015 г. Архивировано из оригинала 15 сентября 2017 г. Проверено 18 сентября 2017 г.
- ^ Jump up to: а б z , стр. 1-2–1-7, Основные моменты оригинальной z/Architecture .
- ^ Jump up to: а б z , стр. 1-7–1-31, Дополнения к z/Architecture .
- ^ Jump up to: а б з , с. 5-50, Адресные пространства, определяемые регистром доступа .
- ^ z , с. 4-46 , Регистр адреса события прерывания.
- ^ z , стр. 4-9–4-11, рисунок 4-5. Назначение полей управляющего регистра .
- ^ z , стр. 3-22–3-23, Префиксы в архитектурном режиме z/Architecture .
- ^ z , стр. 4-5–4-8, Формат слова программы-состояния .
- ^ z , с. 4-8, Короткий формат PSW .
- ^ z , стр. 6-15–6-16, Регистры доступа .
- ^ z , с. 4-46 4-46 , Регистр адреса события прерывания.
- ^ z , стр. 4-9–4-12 , Регистры управления.
- ^ z , стр. 3–41, 3–42 , рисунок 3–15. Режимы перевода.
- ^ Предварительный просмотр: IBM z/VM V6.1 — основа для будущего роста виртуализации. Архивировано 28 октября 2021 г. на Wayback Machine , анонс программного обеспечения IBM в США. 209-207 от 7 июля 2009 г.
- ^ БАС 1 был 9672 G2; БАС 2 — 9672 G5; ALS 3 был оригинальной версией z/Architecture: «Таблица CMOS-процессоров IBM» . 18 ноября 2008 г. Архивировано из оригинала 10 декабря 2013 г. . Проверено 18 октября 2012 г.
- ^ «Справочное руководство IBM System z10 Business Class (z10 BC)» (PDF) . ИБМ . 2008. Архивировано (PDF) из оригинала 4 марта 2011 г. Проверено 18 октября 2012 г.
- ^ «Принципы работы z/Architecture» (PDF) . Архивировано (PDF) из оригинала 30 ноября 2020 г. Проверено 15 января 2016 г.
- ^ Хоскинс, Джим; Фрэнк, Боб (2002). Изучение серверов IBM Eserver Zseries и S/390 . Максимальный пресс. п. 26. ISBN 1885068913 . Архивировано из оригинала 27 апреля 2021 г. Проверено 19 октября 2017 г.
Архитектура пространств данных VM является стандартной для всех процессоров System/390.
- ^ «CA защищает политику VSE». Информационная неделя . 21 октября 1991 г. с. 15.
В настоящее время компания Computer Associates International предоставляет технологии пространства данных пользователям VSE/ESA или System/370.
- ^ «Анализ данных в памяти» . ИБМ.
- ^ Хемант Нандас (15 октября 2007 г.). «Что такое гиперпространство? Какая ОС была первой, поддерживающей гиперпространство?» . Группа новостей : ibmmainframes.com . Архивировано из оригинала 2 февраля 2017 года . Проверено 25 января 2017 г. HIGH PERFORMANCE SPACE или «High Performance Dataspace» (автор Анудж Дхаван, та же дата)
- ^ «Шпаргалка № 54. Расширенная адресация zTidBits z/OS» (PDF) . Проверено 17 июля 2022 г.
- ^ Сакаки, М.; Самукава, Х.; Хондзё, Н. (1988). «Эффективное использование большой виртуальной памяти IBM 3090 в интенсивных численных вычислениях ab initio молекулярных орбиталей» . IBM Systems Journal . 27 (4): 528–540. дои : 10.1147/sj.274.0528 . ISSN 0018-8670 .
- ^ US 5442802 Способ и средства перемещения данных асинхронного сопроцессора
- ^ «HLASM — MVPG = Перемещение страницы» . Архивировано из оригинала 6 октября 2013 г. Проверено 24 января 2017 г.
- ^ ДВИГАТЬСЯ ДАЛЬШЕ, примечание 8. «GA22-7000-10, IBM System/370, принципы работы» (PDF) . Архивировано (PDF) из оригинала 11 апреля 2021 г. Проверено 11 октября 2021 г.
- ^ «Все делается немедленно, и нет никакой вероятности того, что инструкция будет выполнена наполовину или что другая будет вкраплена. Используется специально для того, чтобы сообщить, что операцию нельзя прервать». «Атомик от FOLDOC» .
- ^ «$MVCL – Переместить более 256 байт памяти» . ИБМ . 20 сентября 2014 г. Архивировано из оригинала 2 февраля 2017 г. . Проверено 24 января 2017 г.
- ^ «Двигай долго» . Архивировано из оригинала 27 апреля 2017 г. Проверено 24 января 2017 г.
- ^ US 5237668 Процесс, использующий виртуальную адресацию в непривилегированной инструкции для управления копированием страницы данных на несколько носителей или между ними.
- ^ «MVPG быстрее, чем MVCL для выровненных страниц?» . IBM-MAIN (список рассылки). Архивировано из оригинала 22 января 2011 г. Проверено 24 января 2017 г.
- ^ Патент IBM EP0549924A1 описывает MVPG как «перемещает одну страницу».
- ^ Селестини, Искусство (20 августа 1997 г.). "адмф" . IBM-MAIN (список рассылки). Архивировано из оригинала 22 января 2011 г. Получено 24 января 2017 г. - через группы Google.
- ^ Программирование z/OS MVS: Руководство по расширенной адресации - SA23-1394-00
- ^ «IOSADMF — Передача данных гиперпространства» . ИБМ . 7 февраля 2015 г. Архивировано из оригинала 2 февраля 2017 г. Проверено 24 января 2017 г.
- ^ «IBM приобретает платформенные решения» (пресс-релиз). ИБМ. 2 июля 2008 г. Архивировано из оригинала 5 сентября 2008 г. Проверено 6 сентября 2008 г.