Архитектура IBM System/360
Дизайнер | ИБМ |
---|---|
Биты | 32-битный |
Представлено | 7 апреля 1964 г |
Дизайн | ЦИСК |
Тип | Регистрация-Регистрация Регистр-Память Память-Память |
Кодирование | Переменная (длиной 2, 4 или 6 байт) |
Ветвление | Код состояния , индексация, подсчет |
Порядок байтов | Большой |
Размер страницы | Н/Д, за исключением 360/67 |
Открыть | Да |
Регистры | |
общего назначения | 16 × 32-битный |
Плавающая точка | 4 × 64-битный |
История мейнфреймов IBM , 1952 – настоящее время |
---|
Название рынка |
Архитектура |
Архитектура IBM System/360 является модельно-независимой архитектурой для всей S/360 линейки мэйнфреймов , включая, помимо прочего, архитектуру набора команд . Элементы архитектуры описаны в Принципах работы IBM System/360. [1] [2] и руководства по информации производителей оригинального оборудования IBM System/360 I/O Interface Channel to Control Unit . [3]
Функции
[ редактировать ]
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Архитектура System/360 предоставляет следующие возможности:
- 16 32-битных регистров общего назначения
- 4 64-битных с плавающей запятой регистра
- 64-битный регистр состояния процессора (PSW), который включает 24-битный адрес инструкции.
- 24-битное (16 МБ) пространство памяти с байтовой адресацией
- с обратным порядком байтов Порядок байтов/слов
- Стандартный набор инструкций , включая двоичную арифметику с фиксированной запятой и логические инструкции, присутствует во всех моделях System/360 (кроме модели 20 , см. ниже).
- Коммерческий набор команд , добавляющий инструкции десятичной арифметики, является необязательным для некоторых моделей, как и научный набор команд , который добавляет инструкции с плавающей запятой. Универсальный набор инструкций включает все вышеперечисленное, а также инструкции по защите памяти и является стандартным для некоторых моделей.
- Модель 44 предоставляет несколько уникальных инструкций для сбора данных и обработки в реальном времени, но в ней отсутствуют инструкции между хранилищами. Однако IBM предложила функцию « Коммерческого набора инструкций» , которая запускалась в буферном хранилище и имитировала недостающие инструкции.
- Модель 20 предлагает урезанную версию стандартного набора команд, ограниченную восемью регистрами общего назначения только с полусловными (16-битными) инструкциями, плюс коммерческий набор команд и уникальные инструкции для ввода/вывода.
- Модель 67 включает в себя несколько инструкций для обработки 32-битных адресов и «динамической трансляции адресов», а также дополнительные привилегированные инструкции для обеспечения виртуальной памяти. [7]
Память
[ редактировать ]Память ( хранилище ) в System/360 адресуется в виде 8-битных байтов. Различные инструкции работают с более крупными единицами, называемыми полусловом (2 байта), полным словом (4 байта), двойным словом (8 байтов), четверным словом (16 байтов) и блоком памяти размером 2048 байт, определяющим самый левый (самый низкий адрес) единицы. В полуслове, полном слове, двойном слове или четверном слове байты с меньшими номерами более значимы, чем байты с большими номерами; это иногда называют big-endian . Многие варианты использования этих единиц требуют их выравнивания по соответствующим границам. В этой статье неквалифицированный термин «слово» относится к полному слову .
Исходная архитектура System/360 предусматривала до 2 24 = 16 777 216 байт памяти. Более поздняя модель 67 расширила архитектуру, позволив использовать до 2 32 = 4,294,967,296 [Примечание 1] байт виртуальной памяти.
Адресация
[ редактировать ]System/360 использует усеченную адресацию, аналогичную UNIVAC III . [8] Это означает, что инструкции не содержат полных адресов, а указывают базовый регистр и положительное смещение от адресов в базовых регистрах. В случае System/360 базовый адрес содержится в одном из 15 [Примечание 2] общие регистры. В некоторых инструкциях, например сдвигах, те же вычисления выполняются для 32-битных величин, не являющихся адресами.
Форматы данных
[ редактировать ]Архитектура S/360 определяет форматы символов, целых чисел, десятичных целых чисел и шестнадцатеричных чисел с плавающей запятой. Символьные и целочисленные инструкции являются обязательными, но инструкции для десятичных чисел и операций с плавающей запятой являются частью функций десятичной арифметики и арифметики с плавающей запятой .
- Символы хранятся в виде 8-битных байтов.
- Целые числа хранятся в виде двоичных полуслов или полных слов с дополнением до двух.
- Упакованные десятичные числа хранятся в виде от 1 до 16 8-битных байтов, содержащих нечетное количество десятичных цифр, за которыми следует 4-битный знак. Значения знаков шестнадцатеричных чисел A, C, E и F являются положительными, а значения знаков шестнадцатеричных чисел B и D являются отрицательными. Цифровые значения шестнадцатеричного AF и значения знаков 0–9 недопустимы, но инструкции PACK и UNPK не проверяют достоверность.
- Зонированные десятичные числа хранятся в виде от 1 до 16 8-битных байтов, каждый из которых содержит зону в битах 0–3 и цифру в битах 4–7. Зона самого правого байта интерпретируется как знак.
- Числа с плавающей запятой сохраняются только в виде значений полного или двойного слова в старых моделях. На 360/85 [9] и 360/195 [10] существуют также числа с плавающей запятой расширенной точности, хранящиеся в виде четверных слов. Для всех трех форматов бит 0 является знаком, а биты 0–7 — характеристикой (показатель степени, смещенный на 64). Биты 8–31 (8–63) представляют собой шестнадцатеричную дробь. Для повышения точности двойное слово младшего порядка имеет свой собственный знак и характеристику, которые игнорируются на входе и генерируются на выходе.
Форматы инструкций
[ редактировать ]Инструкции в S/360 имеют длину два, четыре или шесть байтов с кодом операции в байте 0. Инструкции имеют один из следующих форматов:
- РР (два байта). Обычно байт 1 определяет два 4-битных номера регистров, но в некоторых случаях, например, SVC, байт 1 представляет собой одно 8-битное непосредственное поле.
- RS (четыре байта). Байт 1 определяет два номера регистров; байты 2-3 определяют базу и смещение.
- RX (четыре байта). Биты 0–3 байта 1 определяют либо номер регистра, либо модификатор; биты 4–7 байта 1 определяют номер общего регистра, который будет использоваться в качестве индекса; байты 2-3 определяют базу и смещение.
- СИ (четыре байта). Байт 1 определяет непосредственное поле; байты 2-3 определяют базу и смещение.
- СС (шесть байт). Байт 1 определяет два поля длиной 4 бита или одно поле длиной 8 битов; байты 2–3 и 4–5 определяют базу и смещение. Кодировка полей длины — length-1.
Инструкции должны располагаться в памяти на границе двух байтов; следовательно, младший бит адреса инструкции всегда равен 0.
Слово состояния программы (PSW)
[ редактировать ]программы Слово состояния ( PSW ) [2] : 71–72 содержит различные элементы управления для текущей работающей программы. 64-битное PSW описывает (помимо прочего) адрес текущей выполняемой инструкции, код состояния и маски прерываний.
Биты | Содержание | Объяснение |
---|---|---|
0-7 | Системная маска | биты 0–5: включить каналы 0–5, бит 6: включить все оставшиеся каналы, [Примечание 3] бит 7: включить внешние прерывания (таймер, клавиша прерывания и внешний сигнал) PoOps : 71 |
8-11 | Ключ защиты | Ключ защиты ЦП для сравнения с ключами защиты хранилища |
12 | ASCII-режим | включить режим ASCII для упакованных десятичных инструкций, который никогда не используется программным обеспечением IBM [Примечание 4] |
13 | Машинные проверки | включить прерывания проверки машины |
14 | Состояние ожидания | процессор остановлен, прерывание, если оно разрешено, приведет к возобновлению процессором выполнения инструкций |
15 | Проблемное состояние | включить, чтобы предотвратить использование инструкций, зарезервированных для состояния супервизора |
16-31 | Код прерывания | код для обозначения типа прерывания, вставляется при сохранении PSW, при IPLoad это адрес устройства, с которого была загружена программа PoOps : 77 |
32-33 | Код длины инструкции | длина в полусловах или 0, если недоступно |
34-35 | Код состояния | см. отдельные инструкции по кодированию |
36-39 | Программа Маска | бит 36: включить переполнение с фиксированной запятой, бит 37: десятичное переполнение, бит 38: опустошение экспоненты, бит 39: значимость PoOps : 71 |
40-63 | Адрес инструкции | адрес следующей инструкции, за исключением прерывания программы с ILC 0 |
Загрузить слово состояния программы ( LPSW ) — это привилегированная инструкция , которая загружает слово состояния программы (PSW), включая режим программы, ключ защиты и адрес следующей инструкции, которая будет выполнена. LPSW чаще всего используется для «возврата» из прерывания путем загрузки «старого» PSW, связанного с классом прерывания. Другие привилегированные инструкции (например, SSM, STNSM, STOSM, SPKA и т. д.) доступны для управления подмножествами PSW, не вызывая прерывания или загрузки PSW; и одна непривилегированная инструкция (SPM) доступна для управления маской программы.
Система прерывания
[ редактировать ]Архитектура [2] : 77–83 определяет 5 классов прерываний . Прерывание — это механизм автоматического изменения состояния программы; он используется как для синхронного [Примечание 5] и асинхронные события.
Класс прерывания | Старый PSW шестнадцатеричное число |
Новый PSW шестнадцатеричное число |
Приоритет |
---|---|---|---|
Ввод/вывод PoOps : 78–79 | 38 56 | 78 120 | 4 |
Программа PoOps : 79–80.1 | 28 40 | 68 104 | 2 |
Вызов супервайзера PoOps : 80.1–81 | 20 32 | 60 96 | 2 |
Внешний PoOps : 81–82 | 18 24 | 58 88 | 3 |
Проверка машины PoOps : 82–83 | 30 48 | 70 112 | 1 |
Каждому классу прерываний в S/360 присвоено два поля хранения; старое двойное слово PSW и новое двойное слово PSW. Процессор сохраняет PSW со вставленным кодом прерывания в старое местоположение PSW, а затем загружает PSW из нового местоположения PSW. Обычно это заменяет адрес инструкции, тем самым вызывая ветвление, и (необязательно) устанавливает и/или сбрасывает другие поля в PSW, тем самым вызывая изменение режима.
Архитектура S/360 определяет приоритет для каждого класса прерываний, но это актуально только тогда, когда два прерывания происходят одновременно; процедура прерывания может быть прервана любым другим разрешенным прерыванием, включая другое возникновение первоначального прерывания. По этой причине обычной практикой является указывать все биты маски, за исключением бита маски машинной проверки, равными 0 для обработчиков прерываний «первого уровня». Обработчики прерываний «второго уровня» обычно предназначены для составных прерываний (несколько повторений прерываний одного и того же класса прерываний).
Прерывание ввода/вывода
[ редактировать ]Прерывание ввода-вывода PoOps : 78–79 происходит при завершении канальной программы, после выборки CCW с установленным битом PCI, а также при асинхронных событиях, обнаруженных устройством, блоком управления или каналом, например, завершении механического движения. Система сохраняет адрес устройства в коде прерывания и сохраняет статус канала в CSW по адресу 64 ('40'X).
Прерывание программы
[ редактировать ]Прерывание программы [2] : 16, 79–80.1 происходит, когда инструкция встречает один [Примечание 6] из 15 [Примечание 7] исключения; однако, если бит маски программы , соответствующий исключению, равен 0, то прерывание для этого исключения не происходит. На 360/65, [13] : 12 360/67 [11] : 46 и 360/85 [9] : 12 Прерывания исключений защиты и исключений адресации могут быть неточными, и в этом случае они сохраняют код длины инструкции, равный 0. Код прерывания может быть любым из
шестигранник биты 26-31 |
декабрь | Исключение |
---|---|---|
0 | 0 |
Неточное прерывание [Примечание 6] на 360/91, [12] : 15 360/95 или 360/195 [10] : 14 |
1 | 1 | Операция PoOps : 79 |
2 | 2 | Привилегированная операция PoOps : 79 |
3 | 3 | Выполнять PoOps : 79 |
4 | 4 | Защита PoOps : 79 |
5 | 5 | Адресация PoOps : 79–80 |
6 | 6 | Спецификация PoOps : 80 |
7 | 7 | Данные PoOps : 80 |
8 | 8 | Переполнение фиксированной точки PoOps : 80 |
9 | 9 | Разделение с фиксированной точкой PoOps : 80 |
А | 10 | Десятичное переполнение PoOps : 80 |
Б | 11 | Десятичное деление PoOps : 80 |
С | 12 | Переполнение экспоненты PoOps : 80 |
Д | 13 | Недополнение экспоненты PoOps : 80 |
И | 14 | Значение PoOps : 80 |
Ф | 15 | Деление с плавающей запятой PoOps : 80.1 |
10 | 16 |
Перевод сегментов [11] : 17 [Примечание 7] |
11 | 17 |
Перевод страниц [11] : 17 [Примечание 7] |
12 | 18 |
Исключение SSM [13] [Примечание 7] |
- операции Исключение PoOps : 79 распознается, когда программа пытается выполнить инструкцию с кодом операции, который компьютер не реализует. В частности, исключение операции распознается, когда программа написана для дополнительной функции, например, с плавающей запятой, которая не установлена.
- операции Исключение привилегированной PoOps : 79 распознается, когда программа пытается выполнить привилегированную инструкцию, когда бит состояния проблемы в PSW равен 1.
- Исключение выполнения PoOps : 79 распознается, когда операндом инструкции EXECUTE (EX) является другая инструкция EXECUTE.
- Исключение защиты PoOps : 79 распознается, когда программа пытается сохранить файл в место, ключ защиты хранилища которого не соответствует [Примечание 10] ключ PSW или для извлечения из защищенного места, ключ защиты хранилища которого не соответствует ключу PSW.
- адресации Исключение PoOps : 79–80 распознается, когда программа пытается получить доступ к месту хранения, которое в данный момент недоступно. Обычно это происходит с адресом, превышающим возможности машины, но это также может произойти на машинах, которые позволяют отключать блоки памяти.
- спецификации Исключение PoOps : 80 распознается, когда инструкция имеет поле длины или регистра со значениями, не разрешенными для операции, или когда она имеет адрес операнда, который не удовлетворяет требованиям выравнивания кода операции, например, инструкция LH с нечетным адресом операнда на машине без функции выравнивания байтов.
- данных Исключение PoOps : 80 распознается, когда десятичная инструкция указывает недопустимые операнды, например, недопустимые данные, недопустимое перекрытие.
- Исключение переполнения с фиксированной точкой PoOps : 80 распознается, когда значимые биты теряются в арифметических операциях с фиксированной запятой или в инструкции сдвига, отличной от деления.
- запятой Исключение деления с фиксированной PoOps : 80 распознается, когда значимые биты теряются в инструкции деления с фиксированной запятой или преобразования в двоичный код.
- Исключение десятичного переполнения PoOps : 80 распознается, когда значащие цифры теряются в десятичной арифметической инструкции, кроме деления.
- Исключение десятичного деления PoOps : 80 распознается, когда значимые биты теряются в инструкции десятичного деления. Пункт назначения не изменяется.
- Исключение переполнения экспоненты PoOps : 80 распознается, когда характеристика в арифметической операции с плавающей запятой превышает 127 и дробь не равна нулю.
- Исключение опустошения показателя PoOps : 80 распознается, когда характеристика в арифметической операции с плавающей запятой отрицательна и дробь не равна нулю.
- Значительное исключение PoOps : 80 распознается, когда дробь в операции сложения или вычитания с плавающей запятой равна нулю.
- запятой Исключение деления с плавающей PoOps : 80.1 распознается, когда дробь в делителе операции деления с плавающей запятой равна нулю.
Прерывание вызова супервизора
[ редактировать ]Прерывание вызова супервизора PoOps : 80.1–81 происходит в результате команды вызова супервизора ; система сохраняет биты 8–15 инструкции SVC как код прерывания.
Внешнее прерывание
[ редактировать ]Внешний PoOps : 81 [Примечание 11] прерывание происходит в результате определенных асинхронных событий. Биты 16–24 внешнего старого PSW установлены в 0, а один или несколько битов 24–31 установлены в 1.
бит PSW | Тип внешнего прерывания |
---|---|
24 |
Таймер |
25 |
Клавиша прерывания |
26 |
Внешний сигнал 2 Оповещение о неисправности на 360/65 [13] в мультисистемном режиме |
27 |
Внешний сигнал 3 Системный вызов на 360/65 [13] в мультисистемном режиме |
28 |
Внешний сигнал 4 |
29 |
Внешний сигнал 5 |
30 |
Внешний сигнал 6 |
31 |
Внешний сигнал 7 |
Прерывание проверки машины
[ редактировать ]Прерывание проверки машины PoOps : 82–83 происходит, чтобы сообщить о необычных условиях, связанных с каналом или ЦП, о которых не может сообщить другой класс прерываний. Наиболее важным классом условий, вызывающих проверку машины, является аппаратная ошибка, такая как ошибка четности, обнаруженная в регистрах или хранилище, но некоторые модели могут использовать ее для сообщения о менее серьезных проблемах. И код прерывания, и данные, хранящиеся в области сканирования под номером '80'x (128 десятичных знаков), зависят от модели.
Ввод/вывод
[ редактировать ]В этой статье описывается ввод-вывод с точки зрения процессора. Здесь не рассматриваются канальный кабель или разъемы, которым посвящена отдельная статья ; краткое изложение есть в другом месте , а подробности можно найти в литературе IBM. [3] и в FIPS PUB 60-2. [14]
Ввод-вывод осуществляется концептуально отдельным процессором, называемым каналом. Каналы имеют собственный набор команд и обращаются к памяти независимо от программы, работающей на ЦП. На меньших моделях (до 360/50 ) один механизм микрокода запускает как программу ЦП, так и программу канала. В более крупных моделях каналы расположены в отдельных шкафах и имеют собственные интерфейсы для памяти. Канал может содержать несколько подканалов , каждый из которых содержит статус отдельной канальной программы. Подканал, связанный с несколькими устройствами, которые не могут одновременно иметь канальные программы, называется общим ; подканал, представляющий одно устройство, называется неразделяемым .
В S/360 имеется три типа каналов:
- Канал мультиплексора байтов способен выполнять несколько CCW одновременно ; обычно он используется для подключения медленных устройств, таких как устройства считывания карт и телекоммуникационные линии. Канал байтового мультиплексора может иметь несколько подканалов селектора, каждый из которых имеет только один подканал, которые ведут себя как низкоскоростные каналы селектора.
- Канал селектора имеет только один подканал и, следовательно, способен одновременно выполнять только одну канальную команду. Обычно он используется для подключения быстрых устройств, которые не способны использовать канал блочного мультиплексора для приостановки соединения, например накопителей на магнитной ленте.
- Канал блочного мультиплексора способен одновременно запускать несколько канальных программ, но одновременно может быть активной только одна. Блок управления может запросить приостановку в конце команды канала, а затем может запросить возобновление. Это предназначено для устройств, в которых существует механическая задержка после завершения передачи данных, например, для поиска на DASD с подвижной головкой. Канал блочного мультиплексора был поздним дополнением к архитектуре System/360; ранние машины имели только каналы мультиплексора байтов и каналы селектора. Канал блочного мультиплексора был дополнительной функцией только на моделях 85 и 195. Канал блочного мультиплексора был также доступен на более поздних компьютерах System/370 .
Концептуально периферийное оборудование подключается к S/360 через блоки управления , которые, в свою очередь, подключаются через каналы. Однако архитектура не требует, чтобы блоки управления были физически отдельными, и на практике они иногда интегрируются с устройствами, которыми они управляют. Точно так же архитектура не требует, чтобы каналы были физически отделены от процессора, а меньшие модели S/360 (до 360/50) имеют встроенные каналы, которые крадут циклы у процессора.
Периферийные устройства адресуются 16-битным [Примечание 12] адреса., [2] : 89 называемый cua или cuu ; в этой статье будет использоваться термин cuu . Старшие 8 бит идентифицируют канал с номером от 0 до 6. [Примечание 3] в то время как младшие 8 бит идентифицируют устройство на этом канале. Устройство может иметь несколько адресов cuu .
Блокам управления присвоен диапазон адресов «захвата». Например, CU может быть назначен диапазон 20-2F или 40-7F. Целью этого является помощь в подключении и определении приоритетности нескольких блоков управления к каналу. Например, канал может иметь три блока управления дисками: 20-2F, 50-5F и 80-8F. Не всем захваченным адресам обязательно должно быть назначено физическое устройство. Каждый блок управления также имеет на канале высокий или низкий приоритет.
Выбор устройств осуществляется от канала к каждому блоку управления в том порядке, в котором они физически подключены к своему каналу. В конце цепочки процесс выбора продолжается в обратном направлении по направлению к каналу. Если выбор возвращается к каналу, то ни один блок управления не принял команду, и SIO возвращает код состояния 3. Блоки управления, отмеченные как высокий приоритет, проверяют, чтобы исходящий CUU находился в пределах их диапазона. Если да, то ввод-вывод был обработан. Если нет, то выбор передавался следующему исходящему CU. Блоки управления, отмеченные как низкий приоритет, проверяют, находится ли входящий (возвращающийся) CUU в пределах их досягаемости. Если да, то ввод-вывод обрабатывается. Если нет, то выбор передается следующему входящему CU (или каналу). Физическое подключение трех блоков управления к каналу может быть -ABC, и если все они отмечены как High, то приоритет будет ABC. Если все они отмечены как низкие, то приоритетом будет CBA. Если бы B был отмечен High, а AC low, то ордер был бы BCA. Продолжая эту линию рассуждений, первый из N контроллеров будет иметь приоритет 1 (высокий) или 2N-1 (низкий), второй приоритет 2 или 2N-2, третий приоритет 3 или 2N-3 и т. д. Последний физически подключенный всегда будет приоритетом N.
Для ввода-вывода зарезервировано три поля хранения; старое PSW ввода-вывода с двойным словом, новое PSW ввода-вывода с двойным словом и слово адреса канала с полным словом ( CAW ). Для выполнения ввода-вывода обычно требуется следующее:
- инициализация CAW ключом хранения и адресом первого CCW
- выдача инструкции Start I/O ( SIO ), которая указывает cuu для операции
- ожидающий [Примечание 13] для прерывания ввода-вывода
- обработка любых необычных условий, указанных в слове состояния канала ( CSW )
Программа канала состоит из последовательности слов управления каналом ( CCW ), соединенных вместе (см. ниже). Обычно канал извлекает CCW из последовательных двойных слов, но блок управления может указать каналу пропустить CCW и входной канал передачи ( TIC ) CCW может указать каналу начать получение CCW из нового места.
Существует несколько определенных способов выполнения команды канала. Некоторые из них позволяют каналу продолжать получать CCW, тогда как другие завершают программу канала. В общем, если CCW не имеет установленного бита цепочки команд и не является TIC, то канал завершит операцию ввода-вывода и вызовет прерывание ввода-вывода после завершения команды. Определенные биты состояния блока управления подавляют цепочку.
Наиболее распространенными способами завершения команды являются исчерпание счетчика, когда данные цепочки не установлены, и сигнализация блока управления о том, что передача данных больше осуществляться не должна. Если Suppress-Length-Indicate (SLI) не установлен и одно из них происходит без другого, цепочка не допускается. Наиболее распространенными ситуациями, подавляющими цепочку, являются исключение модуля и проверка модуля. Однако комбинация unit-check и status-modifier не подавляет цепочку; скорее, это заставляет канал повторить команду, повторно обрабатывая ту же самую CCW.
В дополнение к сигналу прерывания, отправляемому в ЦП после завершения операции ввода-вывода, канал может также отправлять в ЦП прерывание, управляемое программой (PCI), во время работы программы канала, без прекращения операции, и задержку. прерывание на конце устройства после прерывания завершения ввода-вывода.
Статус канала
[ редактировать ]Эти условия обнаруживаются каналом и указываются в CSW . PoOps : 116–118
- Программно-управляемое прерывание PoOps : 116–117 указывает, что канал получил CCW с установленным битом PCI. Канал продолжает обработку; это прерывание просто информирует ЦП о ходе работы канала. Примером использования прерывания, управляемого программой, является функция «Выборка программы» контроля содержания, посредством которой программа управления уведомляется о том, что запись управления/перемещения была прочитана. Чтобы гарантировать, что эта запись полностью прочитана в основную память, инициируется «отключенная обработка битов», одна из немногих, которые остаются в программе управления. Удовлетворение вращению означает, что запись управления/перемещения полностью находится в основной памяти, и непосредственно предшествующая текстовая запись может быть перемещена. После перемещения NOP CCW заменяется на TIC, и программа канала продолжается. Таким образом, весь загрузочный модуль может быть прочитан и перемещен, используя только один EXCP и, возможно, только один оборот диска. PCI также имеет приложения для управления буфером метода доступа к телеобработке.
- Неправильная длина PoOps : 117 указывает, что передача данных для команды завершена до того, как счетчик был исчерпан. Эта индикация подавляется, если Suppress-Length-Indication в CCW. установлен бит
- Проверка программы PoOps : 117 указывает на одну из следующих ошибок
- Ненулевые биты, где требуются нули
- Неверные данные или адрес CCW.
- CAW или TIC относятся к TIC.
- Проверка защиты PoOps : 117–118 указывает, что ключ защиты в CAW не равен нулю и не соответствует ключу защиты хранилища.
- Проверка данных канала PoOps : 118 указывает на ошибку четности во время передачи данных.
- Проверка управления каналом PoOps : 118 указывает на неисправность канала, кроме проверки данных канала или проверки управления интерфейсом .
- Проверка управления интерфейсом PoOps : 118 указывает на неверный сигнал в канале интерфейса блока управления.
- Проверка цепочки PoOps : 118 указывает на потерю данных во время цепочки данных.
Статус объекта
[ редактировать ]Эти условия передаются каналу блоком управления или устройством. PoOps : 113–116 В некоторых случаях они обрабатываются каналом, а в других случаях указываются в CSW . Нет различия между условиями, обнаруженными блоком управления, и условиями, обнаруженными устройством.
- Внимание PoOps : 113 указывает на необычное состояние, не связанное с текущей программой канала. Он часто указывает на какое-то действие оператора, например запрос ввода, и в этом случае ЦП отвечает, выдавая команду типа чтения, чаще всего сенсорную команду (04h), из которой можно получить дополнительную информацию. Внимание — это особое состояние, требующее специальной поддержки операционной системы, для которого в операционной системе имеется специальная таблица внимания. [Примечание 14] с обязательно ограниченным количеством записей.
- Модификатор статуса PoOps : 113–114 (SM) указывает на одно из трех необычных условий.
- Команда тестирования ввода-вывода была выдана устройству, которое ее не поддерживает.
- Состояние «Занято » относится к блоку управления, а не к устройству.
- Устройство обнаружило состояние, требующее пропуска CCW. CCW с командой, для которой возможен модификатор состояния, обычно определяет цепочку команд, и в этом случае SM обрабатывается каналом и не вызывает прерывания.
- Типичная канальная программа, в которой встречается SM:
... Search Id Equal TIC *-8 Read Data
- где TIC заставляет канал повторять поиск до тех пор, пока устройство не укажет на успешный поиск, подняв SM.
- Конец блока управления PoOps : 114 указывает на то, что предыдущее состояние занятости блока управления было очищено.
- Занятый PoOps : 114–115 указывает, что устройство ( SM =0) или блок управления ( SM =1) занято.
- Конец канала PoOps : 115 указывает, что устройство завершило передачу данных для команды канала. Также может быть индикация неправильной длины , если поле Count поля CCW исчерпано, в зависимости от значения бита Suppress-Length-Indication .
- Конец устройства PoOps : 115 указывает на то, что устройство завершило операцию и готово принять следующую. DE может передаваться одновременно с CE или может быть задержан.
- Проверка устройства PoOps : 115–116 указывает, что устройство или блок управления обнаружили необычные условия и что подробную информацию можно получить, выдав команду Sense.
- Исключение единицы PoOps : 116 указывает на то, что устройство обнаружило необычное состояние, например, конец файла.
Адресное слово канала
[ редактировать ]Полное слово адреса канала [2] : 99 (CAW) содержит 4-битный ключ защиты памяти и 24-битный адрес запускаемой программы канала.
Командное слово канала
[ редактировать ]Командное слово канала — это двойное слово, содержащее следующее:
- канала 8-битный командный код PoOps : 100
- 24-битный адрес PoOps : 100–101
- 5-битное поле флага PoOps : 99–100, 101–105
- поле подсчета полуслов без знака PoOps : 100–101
Коды команд CCW
[ редактировать ]Младшие 2 или 4 бита определяют шесть типов операций, которые выполняет канал; [2] : 100, 105 Кодировка
биты | Команда |
---|---|
**** 0000 | Недействительно в CCW, моделируется инструкцией процессора Test I/O (TIO). |
ММММ 0100 | Смысл PoOps : 106–107 |
**** 1000 | Передача в канале (TIC) PoOps : 107–108 |
ММММ 1100 | Читать назад PoOps : 105–106 |
ММММ ММ01 | Писать PoOps : 105 |
ММММ ММ10 | Читать PoOps : 105 |
ММММ ММ11 | Контроль PoOps : 106–107 |
Значение шести или четырех битов старшего порядка, битов-модификаторов, M в таблице выше, зависит от типа подключенного устройства ввода-вывода, см., например, DASD CKD CCW . Все восемь бит передаются и интерпретируются в соответствующем блоке управления (или его функциональном эквиваленте).
Управление используется для изменения состояния устройства или блока управления, часто связанного с механическим движением, например, перемотка назад, поиск.
Sense используется для чтения данных, описывающих состояние устройства. Наиболее важным случаем является то, что когда команда завершается проверкой модуля, конкретную причину можно определить только путем выполнения Sense и проверки возвращаемых данных. Команда Sense, в которой все биты-модификаторы равны нулю, всегда действительна.
Примечательным отклонением от архитектуры является то, что DASD использует коды команд Sense для резервирования и освобождения вместо использования управления.
Флаги КНО
[ редактировать ]Флаги в CCW влияют на то, как он выполняется и завершается.
кусочек | флаг | эффект | |
---|---|---|---|
32 | компакт-диск | Цепочка данных | Продолжайте работу, используя область хранения, определенную следующим CCW. PoOps : 101–103 |
33 | СС | Цепная команда | Продолжайте выполнять команду в следующем CCW. PoOps : 101, 103 |
34 | СЛИ [Примечание 15] | Подавление-индикации длины | Продолжить программу канала после несоответствия счетчика. PoOps : 99–100 |
35 | ПРОПУСКАТЬ | Пропускать | Не читайте и не записывайте в хранилище. PoOps : 103–104 |
36 | PCI | Программно-управляемое прерывание | Запросить прерывание при получении CCW. PoOps : 104–105 |
Слово состояния канала
[ редактировать ]Слово состояния канала (CSW) [2] : 113–121 предоставляет данные, связанные с прерыванием ввода-вывода.
биты | поле |
---|---|
0-3 | Ключ PoOps : 119 |
4-7 | 0000 |
8-31 | Адрес команды PoOps : 119 |
32-47 | Статус PoOps : 113–118 |
32-39 |
|
32 | |
33 |
|
34 |
|
35 | |
36 |
|
37 |
|
38 |
|
39 |
|
40-47 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 | |
46 | |
47 |
|
48-63 | Считать PoOps : 120 |
- Поле «Ключ защиты» содержит ключ защиты от CAW в момент, когда операция ввода-вывода была инициирована для завершения ввода-вывода или прерываний PCI. PoOps : 119
- Поле адреса команды содержит адрес +8 последнего CCW, полученного при завершении ввода-вывода или прерывании PCI. Однако есть 9 исключений. PoOps . : 119
- Поле статуса содержит один байт битов состояния канала , указывающих условия, обнаруженные каналом. PoOps , : 116–118 и один байт битов состояния модуля , обозначающих условия, обнаруженные модулем ввода-вывода. PoOps . : 113–116 Нет различия между условиями, обнаруженными блоком управления, и условиями, обнаруженными устройством.
- Остаточный счетчик — это полуслово, которое показывает количество байтов в области, описанной CCW, которые не были переданы в канал или из него. PoOps . : 120 Разница между счетчиком CCW и остаточным счетчиком дает количество переданных байтов.
Инструкции ввода/вывода
[ редактировать ]У S/360 четыре [15] Инструкции ввода-вывода: запуск ввода-вывода (SIO), тестирование ввода-вывода (TIO), остановка ввода-вывода (HIO) и тестирование канала (TCH). Все четыре являются привилегированными и, следовательно, приведут к прерыванию программы привилегированной работы, если они будут использоваться в проблемном состоянии. Поля B 1 (база) и D 1 (смещение) используются для расчета cuu (номер канала и устройства); биты 8–15 инструкций не используются и должны быть равны нулю для совместимости с S/370.
Запуск ввода-вывода (SIO)
[ редактировать ]НЕТ [16] пытается запустить канальную программу, на которую указывает CAW , используя ключ защиты хранения в CAW.
Тестовый ввод-вывод (ТИО)
[ редактировать ]ЧТО [17] проверяет состояние канала и устройства. Он также может хранить CSW , и в этом случае он завершается кодом условия 1.
Остановка ввода-вывода (HIO)
[ редактировать ]ЧТО [18] попытайтесь завершить активную канальную программу. Он также может хранить CSW , и в этом случае он завершается кодом условия 1.
Тестовый канал (ТСН)
[ редактировать ]ТКП [19] проверяет состояние канала. Он не влияет на статус активной программы канала и не сохраняет CSW .
Органы управления оператора
[ редактировать ]Архитектура System/360 предусматривала наличие нескольких общих функций, но не определяла средства их реализации. Это позволило IBM использовать различные физические средства, например диск, клавиатуру, кнопку, ролик, изображение или текст на ЭЛТ, для выбора функций и значений на разных процессорах. Любую ссылку на клавишу или переключатель следует понимать как относящуюся, например, к выбору световым пером или эквивалентной последовательности клавиш.
- Сброс системы отправляет сигнал сброса по каждому каналу ввода-вывода и очищает состояние процессора; все ожидающие прерывания отменяются. Сброс системы не гарантирует исправление ошибок четности в регистрах общего назначения, регистрах с плавающей запятой или памяти. Сброс системы не сбрасывает состояние общих устройств ввода-вывода.
- Начальная загрузка программы (IPL) PoOps : 123 это процесс загрузки программы, когда в хранилище нет доступного загрузчика, обычно потому, что машина была только что включена, или для загрузки альтернативной операционной системы. [2] : 123 Этот процесс иногда называют загрузкой .
- В рамках средства IPL оператор имеет возможность указать 12-битный [Примечание 3] адрес устройства, обычно с тремя дисками, как показано на рисунке элементов управления оператора. Когда оператор [Примечание 16] выбирает функцию загрузки , система выполняет сброс системы , отправляет команду чтения IPL. [Примечание 17] команду канала выбранному устройству для чтения 24 байтов в ячейках 0–23 и заставляет канал начать выборку CCW в ячейке 8; эффект такой, как если бы канал получил CCW длиной 24, адресом 0 и флагами, содержащими «Цепочка команд + индикация подавления длины». По завершении операции система сохраняет адрес ввода-вывода в полуслове в ячейке 2 и загружает PSW из ячейки 0.
- Первоначальная загрузка программы обычно выполняется с ленты, устройства чтения карт или жесткого диска. Обычно операционная система загружалась с жесткого диска; IPL с ленты или карты использовалась только для диагностики или для установки операционной системы на новый компьютер.
- Аварийный выключатель PoOps : 124 (Аварийное отключение питания, EPO) отправляет сигнал EPO на каждый канал ввода-вывода, затем отключает питание процессорного комплекса. Поскольку EPO обходит обычную последовательность отключения питания, это может привести к повреждению, а элемент управления EPO имеет механическую защелку, гарантирующую, что инженер заказчика осматривает оборудование, прежде чем пытаться снова включить его.
- Включение питания PoOps : 124 включает все компоненты процессорного комплекса и выполняет сброс системы.
- Выключить питание PoOps : 124 инициирует упорядоченную последовательность выключения питания. Хотя содержимое хранилища сохраняется, связанные ключи хранилища могут быть утеряны.
- Клавиша прерывания PoOps : 124 вызывает внешнее прерывание с битом 25, установленным во внешнем старом PSW.
- Свет ожидания PoOps : 124 указывает, что в PSW установлен бит 14 (ожидание); процессор временно останавливается, но возобновляет работу при возникновении условия прерывания.
- Ручной свет PoOps : 124 указывает, что ЦП находится в остановленном состоянии.
- Системный свет PoOps : 124 указывает, что счетчик работает либо из-за активности ЦП, либо из-за активности канала ввода-вывода.
- Тестовый свет PoOps : 124 указывает на то, что определенные элементы управления оператора активны, когда определенные функции, например, ШАГ ИНСТРУКЦИИ, используются командой диагностики или когда существуют аномальные температурные условия. Детали зависят от модели.
- Индикатор загрузки PoOps : 124 включается IPL и внешним запуском. Он отключается путем загрузки PSW из местоположения 0 по завершении процесса загрузки.
- Нагрузочная единица PoOps : 124–125 элементы управления обеспечивают крайний правый 11 [Примечание 18] биты устройства, с которого будет выполняться IPL.
- Ключ загрузки PoOps : 125 запускает последовательность IPL .
- префикса Клавишный переключатель выбора PoOps : 125 выбирает, будет ли IPL использовать основной префикс или альтернативный префикс.
- системы Ключ сброса PoOps : 125 инициирует перезагрузку системы .
- Ключ «Стоп» PoOps : 125 переводит ЦП в остановленное состояние; Канальные программы продолжают работать, а условия прерывания остаются в состоянии ожидания.
- тарифов Переключатель PoOps : 125 определяет режим, в котором процессор извлекает инструкции. Архитектурой определены два режима:
- ПРОЦЕСС
- ЭТАП ИНСТРУКЦИИ
- Стартовый ключ PoOps : 125 инициирует выборку инструкций в соответствии с настройкой переключателя скорости .
- хранилища Переключатель выбора PoOps : 126 определяет тип ресурса, к которому осуществляется доступ с помощью ключа хранилища и ключа отображения . Архитектура определяет три варианта:
- Основное хранилище
- Общие регистры
- Регистры с плавающей запятой
- Адресные переключатели PoOps : 126 укажите адрес или номер регистра для ключа сохранения , ключа дисплея и, на некоторых моделях, ключа установки IC .
- данных Переключатели PoOps : 126 укажите данные для Store Key и, на некоторых моделях, Set IC Key .
- Ключ от магазина PoOps : 126 сохраняет значение в переключателях данных , как указано переключателем выбора хранилища и переключателями адреса .
- Ключ дисплея PoOps : 126 отображает значение, указанное переключателем выбора хранилища и переключателями адреса .
- Набор IC= PoOps : 126 устанавливает часть адреса инструкции PSW из переключателей данных или переключателей адреса , в зависимости от модели.
- адресов Переключатели сравнения PoOps : 126 выберите режим сравнения и что сравнивать. Остановка при сравнении адреса инструкции присутствует во всех моделях, но остановка при сравнении адреса данных присутствует только в некоторых моделях.
- Альтернативный префикс Light PoOps : 126 включен, когда триггер префикса находится в альтернативном состоянии.
Дополнительные функции
[ редактировать ]Операнды с выравниванием по байтам
[ редактировать ]На некоторых моделях, например S/360-85 , [9] требования к согласованию для некоторых инструкций по состоянию проблемы были смягчены. Механизма отключения этой функции не существует, и программы в зависимости от получения программы проверки типа 6 (выравнивание) по этим инструкциям должны быть модифицированы.
Десятичная арифметика
[ редактировать ]Функция десятичной арифметики предоставляет инструкции, которые работают с упакованными десятичными данными. Упакованное десятичное число состоит из 1–31 десятичной цифры, за которой следует 4-битный знак. Все инструкции десятичной арифметики, кроме PACK и UNPACK, генерируют исключение данных, если цифра не находится в диапазоне 0–9 или знак не находится в диапазоне AF.
Прямое управление
[ редактировать ]Прямой контроль PoOps : 17.1 Функция обеспечивает шесть внешних сигнальных линий и 8-битный путь данных к/из хранилища. [20]
Арифметика с плавающей запятой
[ редактировать ]Функция арифметики с плавающей запятой предоставляет 4 64-битных регистра с плавающей запятой и инструкции для работы с 32- и 64-битными шестнадцатеричными числами с плавающей запятой. Модели 360/85 и 360/195 также поддерживают 128-битные числа с плавающей запятой расширенной точности.
Интервальный таймер
[ редактировать ]Если функция интервального таймера [2] : 17.1 установлен, процессор уменьшает слово в позиции 80 ('50'X) через равные промежутки времени; архитектура не определяет интервал, но требует, чтобы вычитаемое значение создавало впечатление, будто 1 вычитается из бита 23 300 раз в секунду. Меньшие модели имели декремент на той же частоте (50 Гц или 60 Гц), что и источник питания переменного тока, но более крупные модели имели функцию таймера с высоким разрешением. Процессор вызывает внешнее прерывание, когда таймер достигает нуля.
Мультисистемная работа
[ редактировать ]Мультисистемная работа PoOps : 17.1–18 представляет собой набор функций для поддержки многопроцессорных систем, например, Direct Control , прямое перемещение адреса (префиксирование).
Защита хранения
[ редактировать ]Если функция защиты хранилища [2] : 17-17.1 установлен, то с каждым 2048-байтовым блоком памяти связан 4-битный ключ хранения, и этот ключ проверяется при сохранении по любому адресу в этом блоке либо ЦП, либо каналом ввода-вывода. Ключ ЦП или канала со значением 0 отключает проверку; ненулевой ключ ЦП или канала позволяет хранить данные только в блоке с совпадающим ключом.
Защита хранилища использовалась для предотвращения записи дефектным приложением памяти, принадлежащей операционной системе или другому приложению. Это позволило проводить испытания одновременно с производством. Поскольку длина ключа составляла всего четыре бита, максимальное количество различных приложений, которые могли быть запущены одновременно, составляло 15.
Дополнительной опцией, доступной на некоторых моделях, была защита от выборки. Это позволило операционной системе указать, что блоки должны быть защищены как от выборки, так и от сохранения.
Отклонения и расширения
[ редактировать ]System /360 Model 20 радикально отличается и не должна рассматриваться как S/360.
В System /360 Model 44 отсутствуют некоторые инструкции, но функция позволяла моделировать недостающие инструкции в скрытой памяти, что позволяло использовать стандартные операционные системы и приложения S/360.
Некоторые модели имеют функции, расширяющие архитектуру, например инструкции эмуляции, подкачки, а некоторые модели имеют незначительные отклонения от архитектуры. Примеры включают в себя:
- Мультисистемная функция S/360-65, которая изменяет поведение функции прямого управления и инструкции Set System Mask (SSM). [13]
- Модель System/360 Model 67-2 имела аналогичные, но несовместимые изменения. [11]
Некоторые отклонения послужили прототипами особенностей архитектуры S/370 .
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ В два раза больше более поздней версии System/370.
- ^ Спецификация общего регистра 0 дает нулевой базовый адрес, а не содержимое регистра.
- ^ Перейти обратно: а б с В процессоре, соответствующем архитектуре S/360, максимальный номер канала равен 6. Одиннадцати бит достаточно для идентификации cuu, а семи бит достаточно для маскировки прерываний ввода-вывода. Однако на модели 360/67-2 с двумя контроллерами каналов 2846 каналы пронумерованы 0–6 и 8–14; [11] : 15 аналогично, у 360/195 была функция расширенного канала. [10] : 21 но пронумеровали каналы от 0 до 13. [10] : 25 Прерывания ввода-вывода для контроллера канала 1 на 360/67-2 маскировались с помощью регистров управления, а 360/195 использовал бит 7 (канал 6) системной маски в качестве бита сводной маски для каналов 6 и выше. Прерывания более чем семи каналов PoOps : 121.4 описывает сводную маскировку для дополнительных каналов, но другой текст в Принципах работы по-прежнему ссылается на ограничение в 7 каналов. Стандартное программное обеспечение поддерживает каналы 0–F.
- ^ Поскольку разработка S/360 происходила одновременно с разработкой ASCII, поддержка ASCII в IBM не соответствовала стандарту, который был в конечном итоге принят.
- ^ В литературе по S/360 не используются термины «ошибка» или «ловушка».
- ^ Перейти обратно: а б На 360/91, [12] : 15 360/95 и 360/195 [10] : 14 Прерывание программы может произойти из-за нескольких неточных исключений. ILC в старом PSW программы равен 0, биты 26–31 равны 0, а биты 16–27 представляют собой маску, указывающую, какие исключения произошли; не существует положения о сообщении о нескольких случаях одного и того же исключения. Отчеты о множественных неточных исключениях не являются частью архитектуры S/360.
- ^ Перейти обратно: а б с д Для 360/67 существует 17 возможных исключений. [11] : 17 но исключение страницы и исключение сегмента не являются частью архитектуры S/360; аналогично код прерывания 18 ('0012'X) на мультипроцессоре 360/65 не является частью архитектуры S/360.
- ^ Бит спецификации не используется для неточных прерываний на 360/195.
- ^ Перейти обратно: а б Не используется в 360/91
- ^ Ключ PSW со значением 0 соответствует любому ключу хранилища.
- ^ Несмотря на то, что истечение таймера является внутренним событием, оно вызывает внешнее прерывание, и по этой причине это прерывание обычно называется таймером/внешним прерыванием.
- ^ Из-за ограничений на количество каналов программное обеспечение S/360 и ранних версий S/370 использовало только 12 бит для хранения адресов устройств.
- ^ Но продолжаем несвязанную работу.
- ^ ОС использует индекс внимания в блоке управления блоком (UCB) в качестве индекса в таблице внимания.
- ^ Также известно как «Подавление неверной индикации длины» (SILI).
- ^ Или эквивалентный автоматизированный объект.
- ^ Читать со всеми битами модификатора, равными нулю.
- ^ Существует несоответствие в том, что прерывания более чем семи каналов PoOps : 121.4 позволяет использовать больше каналов.
Ссылки
[ редактировать ]- С360
- Принципы работы IBM System/360 . Справочная библиотека по системам (Восьмое изд.). ИБМ. Сентябрь 1968 г. А22-6821-7.
- ^ IBM (1964), Принципы работы IBM System/360 (PDF) , первое издание, A22-6821-0
- ^ Перейти обратно: а б с д и ж г час я дж к IBM (сентябрь 1968 г.), Принципы работы IBM System/360 (PDF) , восьмое издание, A22-6821-7 , отредактировано IBM (12 мая 1970 г.), там же. , ГН22-0354 и IBM (8 июня 1970 г.), там же. , ГН22-0361
- ^ Перейти обратно: а б IBM, IBM System/360, канал интерфейса ввода-вывода для информации производителей оригинального оборудования блока управления (PDF) , пятое издание, A22-6843-3
- ^ S360 , с. 15, слово состояния программы .
- ^ S360 , стр. 15 – , 16, Прерывание .
- ^ S360 , с. 77, Перебои .
- ^ Корпорация IBM (1974). Краткое описание системы IBM System/360 (PDF) . п. 3-3 . Проверено 16 июля 2017 г.
- ^ Справочное руководство по системе обработки данных UNIVAC III (PDF) , Sperry Rand Corporation, 1962, UT-2488
- ^ Перейти обратно: а б с IBM (июнь 1968 г.), Функциональные характеристики IBM System / 360 Model 85 (PDF) , ВТОРОЕ ИЗДАНИЕ, A22-6916-1
- ^ Перейти обратно: а б с д и IBM (август 1970 г.), Функциональные характеристики IBM System / 360 Model 195 (PDF) , второе издание, GA22-6943-1
- ^ Перейти обратно: а б с д и ж IBM (февраль 1972 г.), Функциональные характеристики IBM System / 360 Model 67 (PDF) , третье издание, GA27-2719-2
- ^ Перейти обратно: а б IBM (18 марта 1968 г.), Функциональные характеристики IBM System / 360 Model 91 (PDF) , третье издание, A22-6907-2
- ^ Перейти обратно: а б с д и IBM (сентябрь 1968 г.), «Приложение A. Многопроцессорная система», Функциональные характеристики IBM System / 360 Model 65 (PDF) , четвертое издание, стр. 30–34, A22-6884-3
- ^ Интерфейс канала ввода-вывода (PDF) (Отчет). Национальная служба технической информации . 29 июля 1983. ФИПС ПУБ 60-2 . Проверено 18 мая 2023 г.
- ^ S360 , стр. 93–98, Управление устройствами ввода/вывода .
- ^ S360 , стр. 94–95, Запуск ввода-вывода .
- ^ S360 , стр. 95–96, Тест ввода-вывода .
- ^ S360 , стр. 96–98, Остановка ввода-вывода .
- ^ S360 , с. 98, Тестовый канал .
- ^ IBM, IBM System/360 Direct Control и возможности внешних прерываний. Информация для производителей оригинального оборудования (PDF) , третье издание, A22-6845-2
Дальнейшее чтение
[ редактировать ]- Прасад, Н.С. (1989). Мейнфреймы IBM . МакГроу-Хилл. ISBN 0070506868 . — Глава 3 (стр. 41–110) описывает архитектуру System/360.
- Грейнер, Дэн (10 августа 2011 г.). «Функции ЦП IBM z/Architecture — исторический взгляд» (PDF) . Эволюция архитектуры мэйнфреймов IBM . SHARE 117 в Орландо . ДЕЛИТЬСЯ . Сеанс 9220 . Проверено 7 февраля 2023 г.
Внешние ссылки
[ редактировать ]- Введение в архитектуру IBM System/360 (текст для студентов)