Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект и план / конспект.doc
Скачиваний:
78
Добавлен:
03.06.2014
Размер:
1.88 Mб
Скачать
  1. Архитектура

Машины серии System/360 имели специфицированную архитектуру компьютерной системы. Эта спецификация не делала никаких предположений о реализации, а скорее описывала интерфейс и ожидаемое поведение реализации. Архитектура описывала обязательные интерфейсы, которые должны были быть доступны во всех реализациях и дополнительные интерфейсы, которые могут или не могут быть реализованы.

Некоторые аспекты этой архитектуры:

  • Порядок байт BigEndian

  • Процессор с

    • 16 32-разрядными регистрами общего назначения (R0-R15)

    • 64-разрядным словом состояния программы (PSW), которое описывает (среди прочего)

      • Маски прерываний

      • Состояния привилегий

      • Код условных операций

      • 24-битный адрес инструкции

    • Механизм прерываний, маскируемые и немаскируемые классы и подклассы прерываний

    • Набор инструкций. Каждая команда полностью описана, а также для нее определены условия, при которых исключение рассматривается как программное прерывание.

  • Подсистема памяти (так называемое Хранилище) с

    • 8 битами на байт

    • Специальной областью межпроцессорной коммуникации, начинающейся с адреса 0

    • 24-разрядную адресацию

  • Операции ручного управления, которые позволяют

    • Загружать первый процесс (т.н. процесс Исходной загрузки или IPL)

    • Вызывать прерывания оператору

    • Перезапускать систему

    • Основные средства отладки

    • Ручное внесение изменений в работу системы (память и процессор)

    • Механизм ввода / вывода, который не описывает сами устройства

Все модели System/360, за исключением модели 20, реализовывали эту спецификацию.

Двоичные арифметические и логические операции выполнялись как в формате регистр-регистр, так и в форматах память-регистр/регистр-память в базовом функционале. Если была установлена опция коммерческого набора инструкций, упакованная десятичная арифметика могла быть выполнена как в формате память-память с некоторыми операциями в формате память-регистр. Опция научного набора инструкций, если была установлена, предоставляла доступ к четырем регистрам с плавающей точкой, которые могли быть запрограммированы как для 32-разрядной, так и для 64-разрядных операций с плавающей точкой. Модели 85 и 195 также могли работать со 128-битным числами с плавающей точкой с повышенной точностью, а программное обеспечение эмулировало это в других моделях. Системы System/360 использовали 8-битный байт, 32-разрядное слово, 64-разрядные двойные слова, а 4-битовый полубайт. Машинные инструкции имели операторы с операндами, которые могли хранить индексы регистров или адреса памяти. Такое сложное сочетание опций с наборами инструкций породило большое количество различных длин инструкций и форматов.

Адресация памяти была реализована по схеме база плюс смещение, с регистрами от 1 до F(15). Смещение кодировалось 12 битами, что позволяло смещениям принимать значения вплоть до 4096 байт (0-4095), так как смещение от адреса помещалось в базовый регистр. Регистр 0 не мог быть использован в качестве базового регистра, так как "0" был зарезервирован для обозначения адреса в первых 4 Кб памяти. Это позволяло выполнять начальную загрузку прерываний, так как базовые регистры не обязательно должны были быть установлены в 0 в течение первых нескольких циклов блока прерываний. Она не требовалось дляIPL("исходной загрузки"), так как всегда можно было очистить регистр без необходимости сохранить его.

За исключением модели 67, все адреса представляли реальные адреса памяти. Виртуальная память не была доступна в большинстве мэйнфреймов IBMвплоть до серииSystem/370. В модели 67 была введена виртуальная архитектура памяти, которая использовалась ОС МТС,CP-67, иTSS/360, но не основной ОСIBMSystem/360.

Машинные коды System/360 были 2 (без операндов), 4 (один операнд), или 6 байт (два операнда) в длину. Инструкция всегда были выровнены по 2-байтовой границе.

Такие операции, как MVC(переместить-символ) (в шестнадцатеричном представленииD2) могли выполняться только на данных менее 256 байт. Перемещение более 256 байт данных требовало несколько операцийMVC. (СерияSystem/370 представила семейство более мощных инструкций, таких какMVCL"переместить-символ-длинный" инструкции, которая позволяла перемещать до 16 МБ за один раз.)

Операнды в два байта, как правило, представляли адреса 4-битных полубайт, обозначающих базовые регистры и 12-разрядные смещения относительно содержания этого регистра, в диапазоне 000-FFF. Адрес, соответствующий этому операнду, вычислялся сложением содержимого указанных регистров общего назначения и смещения. Например, инструкцияMVC, что перемещает 256 байт из базового регистра 7, плюс смещение 000, в базовый регистр 8, плюс смещение 001, кодировалась как 6-байтная инструкции "D2FF8001 7000 "(оператор/длина/адрес1/адрес2).

Линейка System/360 была разработана для того, чтобы разделить "состояние системы" и "состояние задачи". Это дало базовый уровень безопасности и возможность восстановления от ошибок при программировании. Программы задача (пользовательские) не могли изменять данные или программы в хранилище, связанном с системой. Ошибки исключения адресации, данных или операций, вызванные системой, можно было попытаться исправить или закрыть сбойную программу, запустив утилиту операционной системы. Точно так же некоторые ошибки аппаратного уровня можно было исправить с помощью утилит проверки.

  1. Каналы

Периферические устройства соединялись с системой через каналы. Канал представлял собой специализированный процессор с набором команд, оптимизированных для передачи данных между периферической и основной памятью. Говоря современным языком, это можно сравнить с прямым доступом к памяти (DMA).

Существовали первоначально два типа каналов: байт-мультиплексорные, предназначавшиеся для подключения медленных устройств, таких как кард-ридеры, линейные принтеры и контроллеры связи и каналы селекторов для подключения устройств с высокой скоростью, таких как диски, ленточные накопители, барабанные накопители. Каждая модель серии S/360 (кроме модели 20, которая не была стандартнойS/360 моделью) имели байт-мультиплексорный канал и один или более канал селектора. Модели меньшего размера (до модели 50) имели интегрированные каналы, а для более крупных моделей (модели 65 и выше) каналы представляли собой большие отдельные узлы в шкафах, например,IBM2860 и 2870.

Байт-мультиплексорный канал был способен выполнить ввод/вывод в/из нескольких устройств одновременно на самых высоких скоростях устройств, отсюда и название, так как он мультиплексировал ввод/вывод с этих устройств на один канал передачи данных в основную память. Устройства, подключенные к байт-мультиплексорному каналу, были настроены для работы в 1-байтном, 2-байтном, 4-х байтном, или потоковом режимах. Чем больше блоки данных, тем более быстрые устройства были использованы для обработки. Например, в модели 2501 кард-ридер на 600 карт в минуту будет работать в 1-байтном режиме, в то время как 1403-N1 принтер будет работать в потоковом режиме. Кроме того, байт-мультиплексорной канал имел необязательный суб-селекторной раздел, который будет убыстрять работу с ленточными накопителями. Адрес канала байт-мультиплексора был обычно "0", а суб-селекторные адреса были от "C0" до "FF". Таким образом, ленточные накопители наS/360 обычно прикреплялись к 0C0-0C7. Другие распространенные байт-мультиплексоры адреса были: 00A: кард-ридер 2501, 00C/00D: 2540Reader/Punch, 00E/00F: 1403-N1 Принтеры, 010-013: 3211 Принтеры, 020-0BF: 2701/2703 устройства телекоммуникации. Эти адреса по-прежнему широко используется в виртуальных машинах г/VM.

Модели 30, 40 и 50 имели интегрированную 1052-7 консоль, которая, как правило, была прикреплена к каналу 01F, однако, она не была подключена к байт-мультиплексорному каналу, а имела прямую связь с мэйнфреймом.

Селекторные каналы включали ввод/вывод для устройств с высокими скоростями. Эти устройства хранения были прикреплены к блокам управления, а затем к каналу. Блок управления включал кластеры устройств, которые были прикреплены к каналам. На более высокоскоростных моделях S/360, несколько селекторных каналов, которые могли работать одновременно или параллельно, повышали общую производительность.

Блоки управления были подключены к каналам с серыми кабелями шины команд и данных. Общая конфигурация канала для подключения устройств в цепочку, была, например следующая: мэйнфрейм - блок управления X- блок управленияY- блок управленияZ. Каждому блоку управления был назначен "диапазон захвата" адресов, которые он обслуживает. Например,Xблок управления мог захватить адреса 40-4F, блок управленияY:C0-DF, и блок управленияZ: 80-9F. Диапазоны захвата должны были быть кратными 8, 16, 32, 64 или 128 устройствам и быть выровнены по соответствующим границам. Каждый блок управления, в свою очередь, имел одно или несколько устройств, подключенных к нему. Например, вы могли иметь блок управления с подключенными к нему 6 дисками, которые будут прикреплены к блоку какC0-С5.

Порядок кабелей блоков управления на канале был также важен. Каждый блок управления был помечен как имеющий высокий или низкий приоритет. Когда сигнал выбора устройства был разослан по каналу мэйнфрейма, сигнал отправлялся по цепочке X->Y->Z->Y->X. Если блок управления был помечен "высоким", то выбор проводился в исходящем от него направлении, если "низким", то во входящем направлении. Таким образом, блок управленияXбыл или первым или пятым,Yбыл либо 2-й или 4-м иZбыл третьим в очереди. Кроме того, было возможно иметь несколько каналов, подключенных к блоку управления от одного или нескольких мэйнфреймов, обеспечивая тем самым высокую производительность, множественный доступ, резервное копирования и другие возможности.

Обычно общая длина кабеля канала была ограничена 200 футами или меньше. На каждый блок управления выделялось около 10 футов из 200-футового объема.

Соседние файлы в папке Конспект и план