Открыть сервис

z/Architecture

z/Architecture — это 64-битная система команд (ISA) и архитектура мейнфреймов, разработанная компанией IBM. Представленная в 2000 году, она является преемником 31-битной архитектуры ESA/390 и обеспечивает обратную совместимость с программным обеспечением, написанным для всех предыдущих поколений мейнфреймов IBM, начиная с System/360 (1964 год). z/Architecture лежит в основе серверов серий IBM Z (ранее System z, zSeries) и z/OS, а также других операционных систем для мейнфреймов.

История

Разработка z/Architecture была начата IBM в середине 1990-х годов в ответ на растущие потребности корпоративных клиентов в увеличении адресного пространства памяти. Предыдущая архитектура ESA/390, несмотря на свою 31-битную адресацию, имела практический предел в 2 гигабайта (2 ГБ) виртуальной памяти на адресное пространство, что становилось узким местом для крупных баз данных и высоконагруженных транзакционных систем.

Первым сервером, реализующим z/Architecture, стал IBM zSeries 900 (модель 1xx), анонсированный 3 октября 2000 года. Он использовал 64-битные регистры и адресацию, что теоретически позволяло адресовать до 16 экзабайт (16 ЭБ) памяти, хотя на практике первые реализации ограничивались значительно меньшими объёмами (до 64 ГБ физической памяти).

С момента появления архитектура постоянно совершенствовалась. Каждое новое поколение процессоров (например, z10, z196, zEC12, z13, z14, z15, z16) вносило улучшения в производительность, безопасность и энергоэффективность, но ядро системы команд и модель программирования оставались неизменными. Это обеспечило беспрецедентную преемственность: приложения, написанные для System/360 в 1960-х годах, могут работать на современных серверах IBM Z без изменений (при условии корректной эмуляции или рекомпиляции).

Архитектурные особенности

64-битная адресация и регистры

Ключевое нововведение z/Architecture — переход на 64-битные регистры общего назначения (GPR) и 64-битные указатели. В отличие от ESA/390, где адреса были 31-битными, в z/Architecture все адреса (как виртуальные, так и реальные) являются 64-битными. Это позволяет операционной системе z/OS эффективно управлять огромными объёмами памяти (до 16 ТБ физической и до 16 ЭБ виртуальной на одно адресное пространство).

Архитектура включает:

  • 16 64-битных регистров общего назначения (R0–R15).
  • 16 64-битных регистров управления (CR0–CR15).
  • 16 64-битных регистров доступа (AR0–AR15).
  • Регистры с плавающей запятой (FPR) — 16 64-битных или 4 128-битных (для десятичной арифметики).
  • Регистры состояния программы (PSW) — 128-битный регистр, содержащий адрес текущей инструкции, маску прерываний, ключи защиты и другие флаги.

Обратная совместимость

IBM сохранила полную бинарную совместимость с предыдущими архитектурами. Процессоры z/Architecture могут работать в нескольких режимах:

  • Режим ESA/390 (31-битный): эмулирует работу System/390, позволяя выполнять старые программы без изменений.
  • Режим z/Architecture (64-битный): основной режим, в котором работают современные приложения.

Переключение между режимами происходит прозрачно на уровне операционной системы. Это достигается за счёт того, что старшие 33 бита 64-битного адреса (биты 0–32) при работе в 31-битном режиме игнорируются, а младшие 31 бит используются как обычно.

Система команд (Instruction Set)

Набор инструкций z/Architecture является расширением набора ESA/390. Он включает:

  • Базовые операции: арифметические (сложение, вычитание, умножение, деление), логические (И, ИЛИ, НЕ, исключающее ИЛИ), пересылки данных (LOAD, STORE), переходы (BRANCH).
  • Операции с десятичными числами: z/Architecture имеет встроенную поддержку десятичной арифметики с фиксированной точкой (BCD), что критически важно для финансовых и бухгалтерских расчётов. Инструкции ADD DECIMAL, SUBTRACT DECIMAL, COMPARE DECIMAL и другие работают с числами, упакованными в формате «упакованный десятичный» (Packed Decimal).
  • Операции с плавающей запятой: поддержка как двоичной (IEEE 754), так и десятичной плавающей арифметики.
  • Строковые и векторные операции: начиная с поколения z13, архитектура включает векторные расширения (SIMD) для ускорения обработки больших массивов данных.
  • Криптографические инструкции: аппаратная поддержка шифрования (AES, DES, RSA, ECC), хеширования (SHA-1, SHA-256) и генерации случайных чисел. Это позволяет выполнять криптографические операции без загрузки центрального процессора.
  • Инструкции виртуализации: поддержка гипервизора PR/SM (Processor Resource/System Manager) и LPAR (Logical Partition), позволяющих запускать несколько изолированных операционных систем на одном физическом сервере.

Система прерываний и исключений

z/Architecture использует сложную систему прерываний, основанную на векторах. Прерывания делятся на несколько классов:

  • Программные прерывания (SVC): вызванные инструкцией SUPERVISOR CALL (SVC) для перехода в режим ядра.
  • Внешние прерывания: от таймеров, устройств ввода-вывода, сигналов от других процессоров.
  • Прерывания ввода-вывода: сигнализируют о завершении операций с периферией.
  • Прерывания по сбоям: при ошибках памяти, сбоях процессора или питания.
  • Прерывания по контролю: при попытке выполнения привилегированной инструкции в пользовательском режиме.

Каждое прерывание имеет свой номер и вектор, по которому процессор загружает новое значение PSW и переходит к обработчику.

Подсистема ввода-вывода

В отличие от архитектуры x86, где ввод-вывод (I/O) выполняется через порты или отображается в память, z/Architecture использует специализированную подсистему каналов (Channel Subsystem). Она включает:

  • Каналы (Channels): независимые процессоры, управляющие передачей данных между памятью и устройствами. Они работают параллельно с основным процессором.
  • Контроллеры (Control Units): устройства, управляющие конкретными типами периферии (диски, ленты, сетевые адаптеры).
  • Программы каналов (Channel Programs): последовательности команд, выполняемых каналом для передачи данных. Они определяют формат, адрес и объём данных.

Основное преимущество канальной архитектуры — высокая пропускная способность и низкая загрузка центрального процессора при работе с большими объёмами данных. В современных системах IBM Z каналы реализованы как программируемые логические матрицы (FPGA) или специализированные ASIC.

Операционные системы

z/Architecture поддерживает широкий спектр операционных систем, включая:

  • z/OS: флагманская операционная система IBM для мейнфреймов, предназначенная для крупных транзакционных и пакетных нагрузок.
  • z/VM: гипервизор, позволяющий запускать множество виртуальных машин (гостевых ОС) на одном физическом сервере.
  • z/VSE: операционная система для средних и малых мейнфреймов, наследница DOS/VSE.
  • z/TPF: специализированная ОС для высоконагруженных транзакционных систем (например, в авиабилетных системах).
  • Linux on IBM Z: полноценный дистрибутив Linux (например, Red Hat Enterprise Linux, SUSE Linux Enterprise Server), адаптированный для z/Architecture. Linux может работать как в качестве гостевой ОС под z/VM, так и непосредственно на «голом железе» (в LPAR).

Применение

z/Architecture используется в основном в корпоративных и государственных информационных системах, где критически важны:

  • Надёжность и отказоустойчивость: мейнфреймы IBM Z имеют аппаратную избыточность, горячую замену компонентов и время безотказной работы (uptime), измеряемое годами.
  • Безопасность: аппаратное шифрование, изоляция LPAR, сертификация по стандартам Common Criteria (EAL5+).
  • Масштабируемость: возможность наращивания вычислительной мощности до нескольких тысяч процессоров в одной системе.
  • Обработка транзакций: системы бронирования, банковские расчёты, обработка платежей, управление запасами.

Типичные области применения: банковское дело, страхование, авиаперевозки, розничная торговля, государственные реестры, телекоммуникации.

Интересные факты

  • В z/Architecture используется так называемая «адресация с базой и смещением» (base-displacement addressing), где адрес вычисляется как сумма содержимого базового регистра и 12-битного смещения (0–4095 байт). Это упрощает аппаратную реализацию и повышает производительность.
  • Архитектура поддерживает до 256 логических разделов (LPAR) на одном сервере, каждый из которых может работать под управлением своей операционной системы.
  • Процессоры IBM Z имеют встроенные аппаратные акселераторы для сжатия данных (zEDC) и криптографии (CP Assist for Cryptographic Function).
  • В 2022 году IBM представила процессор Telum, который включает в себя встроенный AI-ускоритель для выполнения инференций нейронных сетей непосредственно на мейнфрейме.

Источники

  • IBM. z/Architecture Principles of Operation. SA22-7832-13. IBM Corporation, 2023.
  • IBM. IBM Z Hardware and Software Overview. IBM Redbooks, 2022.
  • IBM. A History of IBM Mainframe Operating Systems. IBM Corporation, 2019.
  • Mainframe Architecture: A Practical Guide. John Wiley & Sons, 2020.
  • IBM z/OS and z/Architecture. IBM Knowledge Center, 2024.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →