з/Архитектура
Дизайнер | ИБМ |
---|---|
Биты | 64-битная |
Представлено | 2000 |
Версия | АРХЛВЛ 2 и АРХЛВЛ 3 (2008 г.) |
Дизайн | ЦИСК |
Тип | Регистрация–Регистрация Регистрация–Память Память-Память |
Кодирование | Переменная (длиной 2, 4 или 6 байт) |
Ветвление | Код состояния , индексация, подсчет |
Порядок байтов | Большой |
Предшественник | ЕКА/390 |
Регистры | |
общего назначения | 16 × 64-битный |
Плавающая точка | 16 × 64-битный |
Вектор | 32 × 128 бит |
История мейнфреймов 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.
Поддержка операционной системы [ править ]
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 и последующих машинах. [3] [4] ALS 4 также указан в LOADxx как ARCHLVL 3 , тогда как более ранние версии z900, z800, z990, z890, System z9 указывали ARCHLVL 2. В более ранних объявлениях о System z10 просто указывалось, что она реализует z/Architecture с некоторыми дополнениями: более 50 новых машин. инструкции, страничные кадры размером 1 МБ и аппаратный десятичный модуль с плавающей запятой (HDFU). [5] [6]
Большинство [ нужна ссылка ] операционные системы для 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 эксабайт, могут использовать методы расширенной адресации , используя дополнительные адресные пространства или пространства только для данных. Пространства только для данных, доступные для пользовательских программ, называются:
- пространства данных (иногда называемые «пространствами данных») [7] [8] и
- гиперпространства (пространство высокой производительности). [9] [10]
Эти пространства схожи тем, что оба представляют собой области виртуальной памяти, которые может создать программа, и могут иметь размер до 2 гигабайт . В отличие от адресного пространства, пространство данных или гиперпространство содержит только пользовательские данные; он не содержит блоков управления системой или мест общего пользования. Программный код не может выполняться в пространстве данных или гиперпространстве. [11]
Пространство данных отличается от гиперпространства тем, что пространства данных имеют байтовую адресацию, тогда как гиперпространства имеют страничную адресацию.
хранилище IBM Расширенное мэйнфрейма
Традиционно память мейнфреймов IBM имеет побайтовую адресацию . Этот вид памяти называется «центральным хранилищем». Процессоры мейнфреймов IBM на протяжении большей части 1980-х и 1990-х годов поддерживали другой тип памяти: расширенное хранилище. Впервые он был представлен в IBM 3090 в 1985 году. серии мэйнфреймов высшего класса [12]
Расширенное хранилище имеет адресацию на странице размером 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 соответствует заявлению о прекращении поддержки любого использования расширенного хранилища.
MVPG и ADMF [ править ]
МВПГ [ править ]
IBM описала MVPG как «перемещает одну страницу, и центральный процессор не может выполнять какие-либо другие инструкции, пока перемещение страницы не будет завершено». [13]
Инструкция мейнфрейма MVPG [14] ( Move P обе из , a G ( e, код операции X'B254') сравнивают с MVCL . Move haracter инструкцией C которых могут перемещать более 256 байтов в основной ) Long памяти с помощью одной инструкции . Эти инструкции не соответствуют определениям атомарности , хотя их можно использовать как одну инструкцию в пределах документированных ограничений по времени и неперекрытия. [15] : Примечание 8, стр. 7–27. [16]
Необходимость перемещения более 256 байт в основной памяти исторически решалась с помощью программного обеспечения. [17] (циклы MVC), MVCL, [18] который был представлен вместе с анонсом System /370 в 1970 году и запатентованного MVPG [19] и анонсированные IBM в 1989 году, каждый из них имеет свои преимущества. [20]
АДМФ [ править ]
ADMF (Asynchronous Data Mover Facility), представленный в 1992 году, выходит за рамки возможностей инструкции MVPG (Move Page), которая ограничена одной страницей. [21] и может перемещать группы страниц между центральным и расширенным хранилищем.
Макроинструкция под названием IOSADMF, которая описана как API, позволяющий избежать «прямого низкоуровневого использования ADMF». [22] можно использовать для чтения [Примечание 1] или записывать данные в гиперпространство или из него. [23] Гиперпространства создаются с помощью DSPSERV CREATE.
Чтобы обеспечить повторный вход , IOSADMF используется вместе с «формой списка» и «формой выполнения». [24]
Реализации сторонних производителей [ править ]
Компания Platform Solutions Inc. (PSI) ранее продавала серверы на базе Itanium , совместимые с z/Architecture. IBM купила PSI в июле 2008 года, и системы PSI больше не доступны. [25] FLEX-ES , zPDT и эмулятор Hercules также реализуют z/Architecture. Мэйнфреймы Hitachi , работающие под управлением новых версий операционной системы VOS3, реализуют ESA/390 плюс уникальные инструкции ЦП Hitachi, включая несколько 64-битных инструкций. Хотя Hitachi формально сотрудничала с IBM при разработке процессоров z900-G2/z800, представленных в 2002 году, машины Hitachi не совместимы с z/Architecture.
Примечания [ править ]
- ^ AREAD — перенос данных из гиперпространства в первичное адресное пространство программы.
Ссылки [ править ]
- ^ Разработка и атрибуты z/Architecture. Архивировано 12 декабря 2013 г. в Wayback Machine , IBM Journal of Research and Development, 2002.
- ^ «Внедрение функций сервера z13, которые будут прекращены на будущих серверах» . ИБМ . 25 июня 2015 г. Архивировано из оригинала 15 сентября 2017 г. Проверено 18 сентября 2017 г.
- ^ Предварительный просмотр: IBM z/VM V6.1 — основа для будущего роста виртуализации. Архивировано 28 октября 2021 г. на Wayback Machine , анонс программного обеспечения IBM в США.209-207 от 7 июля 2009 г.
- ^ БАС 1 был 9672 G2; БАС 2 — 9672 G5; ALS 3 был оригинальной версией z/Architecture: «Таблица процессоров IBM CMOS» . 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 г.