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 →