IBM Система/370-ХА
История мейнфреймов IBM , 1952 – настоящее время |
---|
Название рынка |
Архитектура |
Дизайнер | ИБМ |
---|---|
Биты | 32-битный |
Представлено | 1983 год |
Дизайн | ЦИСК |
Тип | Регистрация–Регистрация Регистрация–Память Память-Память |
Кодирование | Переменная (длиной 2, 4 или 6 байт) |
Ветвление | Код состояния , индексация, подсчет |
Порядок байтов | Большой |
Предшественник | Система/370 |
Преемник | ЕКА/370 |
Регистры | |
общего назначения | 16 |
Плавающая точка | 4 64-битный |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
IBM System/370-XA — это архитектура набора команд, представленная IBM в 1983 году для процессоров IBM 308X . Он расширяет архитектуру IBM System/370 для поддержки 31-битных виртуальных и физических адресов и включает переработанную архитектуру ввода-вывода.
31-битная виртуальная адресация
[ редактировать ]В System/360 , кроме архитектур 360/67 и System/370 , регистры общего назначения имели ширину 32 бита, машина выполняла 32-битные арифметические операции, а адреса всегда хранились в 32-битных словах, поэтому архитектура считалась 32-битной , но машины игнорировали верхние 8 бит адреса, что приводило к 24-битной адресации. Большая часть большой установленной базы кода System/360 и System/370 опиралась на 24-битный логический адрес ; В частности, широко используемая машинная инструкция, LA
, Загрузить адрес, явно очищает восемь старших бит адреса, помещаемого в регистр. Если бы 24-битное ограничение было снято, это создало бы проблемы с миграцией существующего программного обеспечения.
Проблема была устранена путем добавления бита режима адресации в слово состояния программы, определяющего, работает ли программа в 24-битном режиме, в котором игнорируются восемь старших бит виртуальных адресов, или в 31-битном режиме, в котором только самый верхний бит виртуальные адреса игнорируются. [2] : 201-202 [1] : 1-2 Было указано несколько причин выбора 31 бит вместо 32 бит:
- Желание сохранить старший бит в качестве «управляющего или управляющего бита». [2] : 201 В частности, стандартное соглашение о вызове подпрограмм отмечает последнее слово параметра, устанавливая его старший бит. [3]
- Взаимодействие между 32-битными адресами и двумя инструкциями управления циклом,
BXH
иBXLE
которые рассматривали свои аргументы как числа со знаком при выполнении сравнений (и это, как говорят, было причиной того, что TSS использовала 31-битную адресацию в модели 67). [4] : 26, примечание 85 - Информация от ключевых исходных сайтов Модели 67, которые обсуждали альтернативы в течение начального периода проектирования системы и рекомендовали 31 бит (вместо 32-битной конструкции, которая в конечном итоге была выбрана в то время). [4] : 8–9, примечание 21.
Некоторые машинные инструкции в этом 31-битном режиме адресации изменяют бит режима адресации. Например, исходные инструкции вызова подпрограммы BAL
, Branch and Link и его эквивалент регистр-регистр, BALR
, Регистр ветвей и ссылок, хранит определенную информацию о состоянии, код длины инструкции, [а] код условия и маска программы в верхнем байте адреса возврата. А BAS
, Branch and Save, были добавлены инструкции, позволяющие использовать 31-битные адреса возврата. BAS
и его эквивалент регистр-регистр, BASR
, Регистр перехода и сохранения, был частью набора команд 360/67, который был единственной моделью System/360, допускавшей адреса длиной более 24 бит. Эти инструкции были сохранены, но были изменены и расширены для 31-битной адресации.
Дополнительные инструкции, поддерживающие разрешение вызовов между 24-битным и 31-битным кодом адресации, включают две новые инструкции вызова/возврата регистр-регистр, которые также влияют на изменение режима адресации. BASSM
, Ветвь и режим сохранения и установки, [5] 24/31-битная версия вызова, в которой сохраняется адрес связи, включая режим, и осуществляется переход к адресу в возможно другом режиме, и BSM
, Режим перехода и установки, 24/31-битная версия возврата, при которой возврат осуществляется непосредственно по ранее сохраненному адресу связи и в предыдущем режиме. Взятые вместе, BASSM
и BSM
разрешить 24-битные вызовы 31-битной версии (и возврат к 24-битной версии), 31-битные вызовы 24-битной версии (и возврат к 31-битной версии), 24-битные вызовы 24-битной версии (и возврат к 24-битной версии) ) и 31-битные вызовы 31-битной версии (и возврат к 31-битной версии). [2] : 202
Нравиться BALR 14,15
(только 24-битная форма вызова), BASSM
используется как BASSM 14,15
, где адрес связи и режим сохраняются в регистре 14, а переход осуществляется к адресу и режиму подпрограммы, указанным в регистре 15. Примерно аналогично BCR 15,14
(только 24-битная форма безусловного возврата), BSM
используется как BSM 0,14
, где 0 указывает, что текущий режим не сохраняется (программа все равно выходит из подпрограммы), и необходимо выполнить возврат к вызывающей программе по адресу и режиму, указанным в регистре 14. [6]
31-битная физическая адресация
[ редактировать ]System/370 изначально поддерживал только 24-битные физические адреса; функция расширенного реального адреса расширила это значение до 26-битных адресов. [7]
System/370-XA изменил формат записи таблицы страниц для поддержки 19 бит адреса страничного кадра; страницы имеют размер 4 КБ в 370-XA, поэтому объединение 19-битного адреса страничного кадра с 12-битным смещением внутри страницы дает 31-битный физический адрес. [1] : 3-25 Командные слова канала могут иметь один из двух форматов: формат 0 — это формат System/370 с 24-битным адресом данных, а формат 1 — дополнительный формат с 31-битным адресом данных. [2] : 202 [1] : 1-3
ввод/вывод
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( май 2023 г. ) |
System/370-XA представила канальную подсистему, которая выполняла организацию очереди ввода-вывода, ранее выполняемую операционной системой.
Примечания
[ редактировать ]- ^ Поскольку код длины инструкции равен 00b для
BALR
и равен 01b дляBAL
, старший бит всегда гарантированно будет установлен в 0, тем самым указывая 24-битный режим, дляBALR
иBAL
в системах XA и более поздних версиях.
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и Принципы работы IBM System/370 с расширенной архитектурой (PDF) (первое издание). ИБМ . Март 1983 г. SA22-7085-0.
- ^ Jump up to: а б с д А. Падегс (май 1983 г.). «Расширенная архитектура System/370: соображения проектирования». Журнал исследований и разработок IBM . 27 (3). ИБМ: 198–205. дои : 10.1147/rd.273.0198 .
- ^ «WAIT — Ожидание одного или нескольких событий» . Программирование z/OS MVS: Справочник авторизованных служб ассемблера, том 4 . ИБМ .
... старший бит в последнем полном слове должен быть установлен в единицу, чтобы указать конец списка.
- ^ Jump up to: а б Вариан, Мелинда (1997). VM и сообщество VM, прошлое, настоящее и будущее (PDF) . ПОДЕЛИТЬСЯ 89 сеансами 9059-9061.
- ^ «Использование инструкций BASSM и BSM» . Программирование MVS в z/OS: Руководство по службам ассемблера . ИБМ .
- ^ См. Библиотека системного программирования MVS/Extended Architecture: 31-битная адресация (PDF) (второе изд.). ИБМ . Январь 1984 г. GC28-1158-1. , обширные примеры использования BAS, BASR, BASSM и BSM, в частности, стр. 29–30.
- ^ Принципы работы IBM System/370 (PDF) (одиннадцатое изд.). ИБМ . Сентябрь 1987 г. с. 3-26. А22-7000-10.