г / Архитектура , первоначально и кратко называется ESA Модальные Extensions ( ESAME ), является IBM «s 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 .
Дизайнер | IBM |
---|---|
Биты | 64-битный |
Введено | 2000 |
Версия | ARCHLVL 2 и ARCHLVL 3 (2008) |
Дизайн | CISC |
Тип | Регистр – Регистр Регистр – Память Память – Память |
Кодирование | Переменная (длиной 2, 4 или 6 байтов) |
Разветвление | Код состояния , индексация, подсчет |
Порядок байтов | Большой |
Предшественник | ESA / 390 |
Регистры | |
Общее назначение | 16 × 64-бит |
Плавающая запятая | 16 × 64-бит |
Вектор | 32 × 128 бит |
z / Architecture сохраняет обратную совместимость с предыдущей архитектурой 32-битных данных / 31-битной адресации ESA / 390 и ее предшественниками вплоть до 32-битной системы адресации данных / 24-битной адресации / 360 . IBM z13 - последний сервер z Systems, поддерживающий работу операционной системы в режиме архитектуры ESA / 390. [2] Однако все 24-битные и 31-битные прикладные программы состояния проблемы, изначально написанные для работы на архитектуре ESA / 390, не будут затронуты этим изменением.
Каждое адресное пространство z / OS , называемое 64-битным адресным пространством, имеет размер 16 эксабайт, что в 8 миллиардов раз больше размера прежнего 2-гигабайтного адресного пространства.
Кодовые (или смешанные) пробелы
Большинство [ необходима цитата ] операционных систем для z / Architecture, включая z / OS , обычно ограничивают выполнение кода первыми 2 ГБ (31 бит адреса или 2 31 адресуемых байтов) каждого виртуального адресного пространства скорее из соображений эффективности и совместимости. чем из-за архитектурных ограничений. Реализация языка программирования Java для z / OS является исключением. Реализация виртуальной памяти z / OS поддерживает несколько адресных пространств по 2 ГБ, что позволяет одновременно размещать более 2 ГБ программного кода. 64-разрядная версия Linux на IBM Z позволяет выполнять код в диапазонах 64-разрядных адресов.
Пробелы только для данных
Для программистов, которым необходимо хранить большие объемы данных, обычно достаточно 64-битного адресного пространства. [ необходима цитата ]
Пространства данных и гиперпространства
Приложения, которым требуется адресное пространство данных размером более 16 эксабайт, могут использовать методы расширенной адресации с использованием дополнительных адресных пространств или пространств только для данных. Пространства только для данных, доступные для пользовательских программ, называются:
- пространства данных (иногда называемые «пространствами данных») [3] [4] и
- hiperspaces (пространство высокой производительности). [5] [6]
Эти пространства похожи в том, что оба являются областями виртуальной памяти, которую может создать программа, и могут иметь размер до 2 гигабайт . В отличие от адресного пространства, пространство данных или гиперпространство содержит только пользовательские данные; он не содержит блоков управления системой или общих областей. Программный код не может работать в пространстве данных или гиперпространстве. [7]
Пространство данных отличается от гиперпространства тем, что пространства данных имеют побайтовую адресацию, тогда как гиперпространства адресуются по страницам.
Расширенное хранилище мэйнфреймов IBM
Традиционно память мэйнфреймов IBM была байтовой . Этот вид памяти называется «центральным хранилищем». Процессоры IBM Mainframe на протяжении большей части 1980-х и 1990-х годов поддерживали другой вид памяти: расширенное хранилище.
Расширенное хранилище адресуется по 4 КБ страниц. Когда приложение хочет получить доступ к данным в расширенном хранилище, его сначала необходимо переместить в центральное хранилище. Точно так же перемещение данных из центрального хранилища в расширенное хранилище выполняется несколькими страницами по 4 КБ. Первоначально перемещение страниц выполнялось с использованием относительно дорогих инструкций, путем кодирования подсистемы страниц.
Накладные расходы на перемещение отдельных страниц и групп страниц между центральным и расширенным хранилищем были сокращены с введением инструкции MVPG (перемещение страницы) и возможности ADMF ( средство асинхронного перемещения данных).
Инструкция MVPG и ADMF явно вызываются - обычно промежуточным программным обеспечением в z / OS или z / VM (и ACP?) - для доступа к данным в расширенном хранилище. Некоторые виды использования, а именно:
- MVPG используется управлением пулом буферов локальных общих ресурсов VSAM (LSR) для доступа к буферам в гиперпространстве в расширенном хранилище.
- И MVPG, и ADMF используются DB2 для доступа к гиперпулам. Гиперпулы - это части буферного пула, расположенного в гиперпространстве.
- Кэширование минидиска виртуальной машины.
До середины 1990-х центральное и расширенное хранилище были физически разными областями памяти процессора. С середины 1990-х годов центральное и расширенное хранилище были просто вариантами назначения для базовой памяти процессора. Эти выборы были сделаны на основе конкретных ожидаемых применений: например, расширенное хранилище требуется для функции Hiperbatch (которая использует инструкцию MVPG для доступа к своим гиперпространствам).
Помимо случаев гиперпространства и подкачки, упомянутых выше, существуют и другие варианты использования расширенного хранилища, в том числе:
- Виртуальный ввод-вывод (VIO) в расширенное хранилище, в котором временные наборы данных хранятся в смоделированных устройствах в расширенном хранилище. (Эта функция была заменена VIO в центральном хранилище.)
- Кэширование минидиска виртуальной машины.
z / OS удалила поддержку расширенного хранилища. Вся память в z / OS теперь является центральным хранилищем. z / VM 6.4 выполняет Заявление о намерении отказаться от поддержки любого использования расширенного хранилища.
MVPG и ADMF
MVPG
IBM описала MVPG как «перемещает одну страницу, и центральный процессор не может выполнять никакие другие инструкции, пока перемещение страницы не будет завершено». [8]
Инструкцию мэйнфрейма MVPG [9] ( M o V e P a G e, код операции X'B254 ') сравнивали с инструкцией MVCL ( M o V e C haracter L ong ), обе из которых могут перемещать более 256 байт. в основной памяти с помощью одной инструкции. Эти инструкции не соответствуют определениям атомарности , хотя их можно использовать как единую инструкцию с задокументированными временными ограничениями и без перекрытия. [10] : Примечание 8, страницы 7–27 [11]
Необходимость перемещения более 256 байт в основной памяти исторически решалась с помощью программного обеспечения [12] (циклы MVC), MVCL [13], которое было введено с анонсом System / 370 в 1970 году , и запатентованного MVPG [14]. и объявленный IBM в 1989 году, у каждого есть свои преимущества. [15]
ADMF
ADMF ( средство асинхронного перемещения данных), представленное в 1992 году, выходит за рамки возможностей инструкции MVPG (перемещение страницы), которая ограничена одной страницей [16], и может перемещать группы страниц между центральным и расширенным хранилищем.
Макрокоманды имени IOSADMF, который был описан в качестве API , что «использование прямой, с низким уровнем ADMF,» избегает [17] [18] может быть использован для чтения [NB 1] записи данных или к или от hiperspace. [19] Гиперпространства создаются с помощью DSPSERV CREATE.
Для обеспечения повторного входа IOSADMF используется вместе с «формой списка» и «формой выполнения». [20]
z / Архитектура операционных систем
Г / VSE версии 4, Z / TPF версия 1 и Z / VM Version 5 операционных систем , и , предположительно , их преемники, требуют г / Architecture.
z / Architecture поддерживает одновременный запуск нескольких операционных систем и приложений, даже если они используют адреса разных размеров. Это позволяет разработчикам программного обеспечения выбирать размер адреса, наиболее выгодный для их приложений и структур данных.
Platform Solutions Inc. (PSI) ранее продавала серверы на базе Itanium, совместимые с z / Architecture. IBM купила PSI в июле 2008 года, и системы PSI больше не доступны. [21] FLEX-ES , zPDT и эмулятор Hercules также реализуют z / Architecture. В мэйнфреймах Hitachi с более новыми версиями операционной системы VOS3 реализованы ESA / 390 плюс уникальные для Hitachi инструкции ЦП, включая несколько 64-битных инструкций. Хотя Hitachi, вероятно, был вдохновлен z / Architecture и формально сотрудничал с IBM над процессорами z900-G2 / z800, представленными в 2002 году, машины Hitachi не совместимы с z / Architecture.
7 июля 2009 года IBM по случаю анонса новой версии одной из своих операционных систем неявно заявила, что набор уровня архитектуры 4 ( ALS 4 ) существует и реализован на System z10 и последующих машинах. [22] [23] ALS 4 также указан в LOADxx как ARCHLVL 3 , тогда как более ранние z900, z800, z990, z890, System z9 указывали ARCHLVL 2. В более ранних объявлениях System z10 просто указывалось, что он реализует z / Architecture с некоторыми дополнения: более 50 новых машинных инструкций, страничные фреймы объемом 1 МБ и аппаратное десятичное устройство с плавающей запятой (HDFU). [24] [25]
Заметки
- ^ AREAD - переносить данные из гиперпространства в основное адресное пространство программы.
Рекомендации
- ^ Разработка и атрибуты z / Architecture , IBM Journal of Research and Development, 2002.
- ^ Поддержка функций для сервера z13, которые будут прекращены на будущих серверах
- ^ Хоскинс, Джим; Фрэнк, Боб (2002). Изучение серверов IBM Eserver Zseries и S / 390 . Максимальное давление. п. 26. ISBN 1885068913.
Архитектура виртуальных пространств данных является стандартной для всех процессоров System / 390.
- ^ «CA защищает политику VSE». Информационная неделя . 21 октября 1991 г. с. 15.
Computer Associates International в настоящее время предоставляет технологии космического пространства данных пользователям VSE / ESA или System / 370.
- ^ «Анализ данных в памяти» . IBM (Рочестер) . IBM.
- ^ Хемант Нандас (15 октября 2007 г.). «Что такое гиперпространство? Какая операционная система первой поддержала гиперпространство?» . Группа новостей : ibmmainframes.com . HIGH PERFORMANCE SPACE или "High Performance Dataspace" (автор Анудж Дхаван, та же дата)
- ^ http://idcp.marist.edu/pdfs/ztidbitz/54%20zTidBits%20(zOS%20ExtendedAddressability).pdf
- ^ США 5442802 Метод и средства асинхронного сопроцессора для перемещения данных
- ^ «HLASM - MVPG = MoVe PaGe» .
- ^ ПРОЙДИТЕ ДЛИННО, примечание 8. «GA22-7000-10, IBM System / 370, Принципы работы» (PDF) .
- ^ "все выполняется немедленно, и нет никаких шансов, что инструкция будет выполнена наполовину или что другая будет перемежена. Используется особенно, чтобы сообщить, что операция не может быть прервана." «Атомик от FOLDOC» .
- ^ «$ MVCL - переместить более 256 байт памяти» .
- ^ «Двигайся долго» .
- ^ США 5237668 Процесс с использованием виртуальной адресации в непривилегированной инструкции для управления копированием страницы данных на нескольких носителях или между ними.
- ^ "MVPG быстрее, чем MVCL для выровненных страниц?" . IBM-MAIN (список рассылки).
- ^ Патент IBM EP0549924A1 описывает MVPG как «перемещает одну страницу».
- ^ "ADMF" . IBM-MAIN (список рассылки).
- ^ http://ppdbooks.pok.ibm.com:80/cgi-bin/bookmgr/bookmgr.cmd/BOOKS/DZ9AR003
- ^ z / OS MVS Programming: Extended Addressability Guide - SA23-1394-00
- ^ «IOSADMF - Передача данных гиперпространства» .
- ^ «IBM приобретает платформенные решения» (пресс-релиз). IBM. 2008-07-02 . Проверено 6 сентября 2008 .
- ^ Предварительный просмотр: IBM z / VM V6.1 - Основа для будущего роста виртуализации , IBM United States Software Announcement 209-207 от 7 июля 2009 г.
- ^ ALS 1 было 9672 G2; ALS 2 был 9672 G5; ALS 3 был оригинальной z / Architecture: «Таблица процессоров IBM CMOS» .
- ^ «Справочное руководство по IBM System z10 Business Class (z10 BC)» (PDF) . 2008 г.
- ^ z / Архитектура Принципы работы
дальнейшее чтение
- Введение в программирование - атомарные и неатомарные операции
- Принципы компьютерного дизайна - атомарность