Статьи

System/360 — аппаратное обеспечение

By 28.07.2014 No Comments

40d5ce47435212768af183fb4c63f482

Когда я начинал первую статью про IBM System/360, я не представлял, что это выльется в целую серию статей, настолько оказалась обширной и интересной эта революционная система. Три статьи уже вышли (перваявтораятретья), я пишу эту, и понимаю, что тема себя далеко не исчерпала, и про System/360 можно писать еще долго. На этот раз поговорим о периферии и работе с внешними устройствами в System/360.

Каналы

Поскольку периферийные устройства в то время зачастую были очень не быстрыми, для работы с ними предназначались так называемые «каналы» — отдельные процессоры с уменьшенным набором инструкций, предназначенные для передачи информации между устройством и основной памятью. Концепция каналов немного напоминает современную DMA. По принципу действия, каналы делились на байт-мультиплексорные и селекторные. Первые предназначались для работы с медленными устройствами (принтеры, перфораторы, считыватели перфокарт), вторые — для устройств с большей скоростью (магнитные диски, ленты, внешние ячейки памяти). Практически все машины System/360, кроме «нестандартной» Model 20 оснащались байт-мультиплексорным каналом и одним и более селекторными. В моделях попроще каналы были интегрированные, а в топовых моделях они были выполнены в виде отдельных шкафов.

c4c41c8a8d62a99be110c13c8572a39d

Как несложно понять из названия, мультиплексорный канал позволял обмениваться данными сразу от нескольких устройств через один канал в ОЗУ компьютера. Чаще всего адрес этого канала был 0, а для адресации к суб-каналам использовались адреса от C0 до FF. Например, по адресам 0C0-0C7 размещались стримеры, 00E/00F: принтеры 1403-N, 010-013: принтеры 3211, 020-0BF: телекоммуникационные устройства семейства 270x. Эти адреса до сих пор используются в виртуальных машинах z/VM.

Селекторные каналы позволяли подключать более скоростные устройства. Обычно, между устройством и каналом размещался еще управляющий модуль, позволявший объединять несколько однотипных устройств и направлять данные с них в один или несколько каналов, параллельно или последовательно, что позволяло варьировать варианты подключения для достижения оптимальной производительности.

В моделях 85 и 195 IBM представили новый типа каналов — блок-мультиплексорный. Эти каналы позволяли подключенному устройству приостановить работу текущей программы канала, пока устройство не было готово передать данные, освободив таким образом канал для других устройств. Изначально эти каналы предназначались для работы с дисками с фиксированной головкой семейства 2305.

Именование компонентов

В IBM разработали систему цифровых кодов для маркировки новых устройств. Они маркировались кодом из 4 цифр, начинавшимся с 2. Ряд старых устройств, уже существовавших до System/360 сохранил свои маркировки (например, известнейшие принтеры семейства 1403, на которых печатались те самые репродукции Джоконды).

Устройства нумеровались следующим образом.

20xx: Арифметические процессоры, например IBM 2030, центральный процессор IBM System/360 Model 30
21xx: Блоки питания и прочее оборудование, близко связанное с процессором, например конфигурационный модуль IBM 2167
22xx: Различные устройства вывода, например, CRT мониторы IBM 2250 и IBM 2260, IBM 2203 — принтер System/360 Model 20
23xx: Устройства хранения данных с прямым доступом, например, дисковые накопители IBM 2311 и IBM 2314, или ячейки данных IBM 2321. Так же эта маркировка использовалась для главных устройств хранения (IBM 2361 — хранилище большой емкости, IBM 2365 — хранилище процессора)
24xx: Накопители на магнитной ленте, например IBM 2401, IBM 2405 и IBM 2415
25xx: Устройства для работы с перфокартами, например, считыватель карт IBM 2501, перфоратор IBM 2520, считыватель/перфоратор IBM 2540 и многофункциональная карточная машина IBM 2560
26xx: Устройства для работы с бумажными лентами, например, ридер IBM 2671
27xx: Коммуникационное оборудование, например, интерактивные терминалы IBM 2701, IBM 2705, IBM 2741
28xx: Каналы и контроллеры. Например, управляющий модуль IBM 2821, IBM 2841 и IBM 2844
29xx: Прочие устройства, например, коммутатор каналов данных IBM 2914 и репитер каналов данных IBM 2944

Устройства хранения с прямым доступом

В эту категорию относились в первую очередь разные диски. Первыми дисками, выпущенными с System/360, были IBM 2302s и IBM 2311s.

a7ae9ba5a9b4f4408608f9e71883c017

2302 базировался на более ранней модели 1302 и представлял собой жесткий диск со скоростью доступа 156 Кб/с и поставлялся как модель 3 с двумя модулями по 112.79 Мб, либо как модель 4, с четырьмя такими модулями.

2311 в свою очередь являлся обновленной версией IBM 1311 и позволял работать с пакетами сменных дисков IBM 1316. Теоретическая емкость накопителя составляла 7.2 Мб, но на практике все зависело от формата. Например, при использовании с System/360 Model 20, этот накопитель предоставлял всего лишь 5.4 Мб свободного пространства.

Пакет дисков IBM 1316 по нынешним меркам можно считать огромным. Шесть дисков диаметром около 36 см насаживались по 6 штук на общий шпиндель. Самая верхняя и самая нижняя поверхности стопки не несли на себе никаких данных, таким образом, для записи было доступно 10 поверхностей. Все головки чтения/записи были объединены в один блок и двигались вместе. Число дорожек составляло 203. Чтоб уменьшить количество движений головок, данные записывались «вертикально» на поверхности дисков сверху вниз, формируя «цилиндры». Размер секторов был переменный, как и на магнитной ленте.

Позже, в 1966 году появился накопитель 2314s, использовавший в работе обновленные пакеты дисков 2316 емкостью 28 Мб.

Для тех случаев, когда была важна скорость чтения-записи, а не емкость, использовались барабанные накопители, в которых на каждую дорожку использовалась отдельная головка. Емкость первых моделей составляла около 4 Мб, а скорость операций достигала 303.8 Кб/с, позже, на смену барабанным накопителям пришли дисковые, так же с отдельными головками на дорожку. Таким был, например, IBM 2305, представленный в 1970 году. Диски накопителя вращались со скоростью 6000 оборотов в минуту, скорость обмена данными достигала аж 3 Мб/с, были доступны емкости в 5 и 11 Мб.

Несмотря на малую емкость и высокую цену, подобные устройства были востребованы, например, для размещения оверлеев (модулей программы, которые подгружались в ОЗУ динамически).

Еще более дорогим и редким решением была IBM 2321 Data Cell. Этот накопитель работал с так называемыми «ячейками памяти», каждая из которых содержала внутри 200 магнитных лент, которые могли перематываться и считываться независиом. IBM 2321 позволяла установить до 10 таких «ячеек», обеспечивая хранение до 400 миллионов байт. До 8 IBM 2321 могли подключаться к управляющему модулю IBM 2841, таким образом предоставляя целых 3 Гб хранилища. Время доступа составляло от 95 до 600 миллисекунд, в зависимости от положения пленок.

Таким образом, date cell являлась очень неплохим компромиссом между жесткими дисками и ленточными накопителями. По сравнению с жестким диском IBM 2311, IBM 2321 могла хранить в 55 раз больше данных, при скорости доступа всего в 7 раз ниже.

Так как в Data Cell использовались три раздельных привода, для их смазки в машину заливалось почти 20 литров машинного масла, которое циркулировало в системе под давлением, что порождало много историй про утечки, чаще всего неправдивые. Из-за обилия коротких фрагментов ленты в сменных модулях, их часто сравнивали с лапшой.

Leave a Reply