Введение

64-битная архитектура наборов команд, реализованная в мейнфреймах IBM

z/Architecture, первоначально и ненадолго называемая ESA Modal Extensions (ESAME), — это 64-битная архитектура комплексного набора команд (CISC) от IBM, реализованная в её мейнфреймных компьютерах. IBM представила свою первую систему на базе z/Architecture, z900, в конце 2000 года. Последующие системы 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 и её предшественниками, начиная с 32-битной архитектуры данных/24-битного адресного пространства System/360. IBM z13 — последний сервер z Systems, поддерживающий запуск операционной системы в режиме архитектуры ESA/390. Однако все 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 косвенно сообщила о существовании Architecture Level Set 4 (ALS 4), реализованного в System z10 и последующих моделях. ALS 4 также указан в LOADxx как ARCHLVL 3, в то время как более ранние модели z900, z800, z990, z890 и System z9 определялись как ARCHLVL 2. Ранее в описании System z10 просто указывалось, что он реализует z/Architecture с некоторыми дополнениями: более 50 новых машинных инструкций, страничные фреймы размером 1 МБ и аппаратный блок операций с плавающей точкой в десятичной форме (HDFU). Большинство операционных систем для z/Architecture, включая z/OS, обычно ограничивают выполнение кода первыми 2 ГБ (31 бит адреса или 231 адресуемый байт) каждого виртуального адресного пространства из соображений эффективности и совместимости, а не из-за архитектурных ограничений. Linux на IBM Z позволяет выполнять код в 64-битном адресном диапазоне.

z/OS

Каждое адресное пространство z/OS, называемое 64-битным адресным пространством, имеет размер 16 экзабайт.

Кодные (или смешанные) пространства

Исключением является реализация языка программирования Java в z/OS. Реализация виртуальной памяти z/OS поддерживает несколько 2-гигабайтных адресных пространств, позволяя одновременно размещать в памяти более 2 ГБ программного кода.

Пространства только для данных

Пространства данных, предназначенные только для данных, – это области памяти, из которых можно читать и в которые можно записывать, но которые нельзя использовать для выполнения кода. (Аналогично биту NX на других современных процессорах.) По умолчанию, пространство памяти z/Architecture адресуется 64-битными указателями, что обеспечивает доступ к объему памяти до 16 эксабайт для выполняющейся программы.

MVPG

IBM описала MVPG как "перемещение одной страницы, и центральный процессор не может выполнять никакие другие инструкции, пока перемещение страницы не будет завершено". Аппаратная инструкция мейнфрейма MVPG (MoVe PaGe, opcode X'B254') сопоставима с инструкцией MVCL (MoVe Character Long), обе из которых способны перемещать более 256 байтов в основной памяти одной инструкцией. Эти инструкции не соответствуют требованиям к атомарности, хотя их можно использовать как единую инструкцию при соблюдении задокументированных ограничений по времени и неперекрываемости. Исторически необходимость перемещения более 256 байтов в основной памяти решалась программными средствами (циклами MVC), MVCL, представленной с анонсом System/370 в 1970 году, и MVPG, запатентованной и анонсированной IBM в 1989 году – каждая из них имеет свои преимущества.

АДМФ

ADMF (Asynchronous Data Mover Facility), представленный в 1992 году, превосходит возможности инструкции MVPG (Move Page), которая ограничена перемещением одной страницы, и способен перемещать группы страниц между центральной и расширенной памятью. Макроинструкция IOSADMF, описанная как API, позволяющий избежать "непосредственного, низкоуровневого использования ADMF", может использоваться для чтения или записи данных в гиперпространство и из него. Гиперпространства создаются с помощью DSPSERV CREATE. Для обеспечения повторного входа IOSADMF используется совместно с "Формой списка" и "Формой выполнения".

Не IBM-исполнения

Platform Solutions Inc. (PSI) ранее поставляла серверы на базе Itanium, совместимые с архитектурой z/Architecture. Компания IBM приобрела PSI в июле 2008 года, и системы PSI больше не предлагаются. FLEX ES, zPDT и эмулятор Hercules также поддерживают архитектуру z/Architecture. Мейнфреймы Hitachi, работающие под новыми версиями операционной системы VOS3, реализуют ESA/390 и уникальные инструкции процессора Hitachi, включая некоторые 64-битные инструкции. Несмотря на то, что Hitachi официально сотрудничала с IBM при разработке процессоров z900 G2/z800, представленных в 2002 году, машины Hitachi не соответствуют архитектуре z/Architecture.