7 апреля мы отмечали 50-летие компьютеров, совершивших одну из первых революций на рынке «корпоративных вычислений». Данная модель не была первой, другие ЭВМ уже присутствовали на рынке, но именно героиня сегодняшней статьи перевернула представление про «компьютеры для бизнеса». Думаю, все уже догадались, что речь идет о легендарной IBM/360, во многом заложившей подходы, ставшие основой современных компьютеров, как персональных, так и «больших», без которых мы бы не увидели всех чудес современного IT.
Первый вопрос, на который стоит ответить: почему именно IBM/360 стала переворотом для рынка? Отбросив разные причины, которых немало, стоит сразу назвать главную — правильный подход к архитектуре и конструкции позволил IBM сделать новую модель доступной (относительно, конечно). Именно это позволило умным машинам шагнуть из правительственных и университетских вычислительных центров в области бизнеса, и частный бизнес стал с радостью осваивать новый, невероятно удобный инструмент.
Я расскажу про некоторые нововведения, которые реализовала IBM в System/360, а вы сможете без труда сопоставить их с тем, что мы используем сейчас. Лично я удивился, когда впервые узнал, как многому мы обязаны System/360.
Первой инновацией IBM, использующейся до сих пор, стал анонс целой линейки компьютеров, отличавшихся по цене, размеру и производительности, но использовавших общий набор команд (кроме нескольких моделей для специфичных рынков). Это позволяло компаниям приобрести модель попроще, а по мере роста потребностей, осуществить «апгрейд» железа, без необходимости переписывания уже отлаженного ПО.
Первый анонс обещал 6 моделей IBM/360 и 40 наименований периферии. Были анонсированы модели 30, 40, 50, 60, 62 и 70. Первые три должны были заменить «нижнюю» линейку IBM 1400 series и продавались до 1965 года. Старшие модели разрабатывались на замену IBM 7000 series, но в продажу так и не поступили, так как их заменили модели 65 и 75, вышедшие в конце 1965 и начале 1966 годов соответственно.
Со временем появилось много других интересных вариаций. Например, бюджетная 20 модель, обладавшая всего 4К базовой памяти, 8 16-битными регистрами (а не 16 32-битными как у остальных моделей) и уменьшенным набором инструкций. Еще одна бюджетная модель под номером 22, по сути была переработанной 30 моделью с более медленными портами ввода-вывода и ограничениями по объему памяти.
Разумеется, развивались и небюджетные сегменты. Например, в model 67 IBM впервые реализовали технологию динамической трансляции адресов (DAT или dynamic address translation), которая сейчас известна нам под названием «виртуальная память». DAT в свою очередь позволила реализовать работу с разделением времени.
В моделях 65 и потом 67 была реализована поддержка двух процессоров, и на рынок поставлялись «двухъядерные» модификации этих систем.
В IBM System/360 впервые была применена технология «микрокода». В обычной архитектуре программа на языке высокого уровня транслируется в серию команд процессора, которые последний выполняет. Действия при выполнении команд реализованы аппаратно и изменяться не могут. В случае использования микрокода, именно он определяет, как будут выполняться те или иные команды, ставя в соответствие машинным командам «более низкоуровневые» атомарные операции. Изменяя микрокод, можно было изменять то, как выполняются машинные команды, что в свою очередь позволяло исправить какие-либо ошибки, что было невозможно при реализации машинных команд «в железе». В свою очередь, использование микрокода позволило усложнить набор машинных команд и предоставить больше возможностей разработчикам.
Недостатком подхода с микрокодом выступает более медленная работа компьютера, поэтому в старших моделях System/360 IBM использовали уже «аппаратную» реализацию, исключавшую микрокод.
Поскольку обратная совместимость была очень важна для клиентов IBM, уже инвестировавших огромные деньги в разработку ПО для их предыдущих компьютеров, в System/360 была поддержка эмуляции ЭВМ предыдущего поколения. Так, например, 30 модель могла эмулировать IBM 1400 system, а 65-я — IBM 7094. Для этого использовалась сложная комбинация аппаратного обеспечения, микрокодов и программы виртуализации, позволявшей старому коду работать в новой системе. В первых моделях для запуска программы в режиме виртуализации компьютер нужно было останавливать и запускать заново. Позже, в 85 модели и System/370, подобные программы уже могли быть запущены операционной системой и работать одновременно с «родными» приложениями.
За что еще мы должны быть благодарны System/360?
— девятидорожечная магнитная лента, ставшая практически стандартом хранения цифровой информации;
— кодовая таблица EBCDIC;
— 8-битные байты. Сейчас это может показаться удивительным, но во время разработки System/360 по финансовым причинам хотели ограничить байт 4 или 6 битами. Рассматривался еще вариант байтов с переменной длиной и битовой адресацией как в IBM 7030;
— байтовая адресация памяти;
— 32 битные слова;
— архитектура IBM для дробных чисел (фактически стандарт на протяжении 20 лет);
— шестнадцатеричные константы, использовавшиеся в документации System/360, вытеснили восьмеричные, использовавшиеся до этого.
Разумеется, на смену System/360 пришли следующие поколения компьютеров. System/370, System/390 и System z. Многие другие компании строили свои ЭВМ на основе архитектуры System/360. Среди них Hitachi, UNIVAC, Amdahl, советская серия ЕС ЭВМ и ряд других. System/360 также стала основой System/4 Pi — защищенных от радиации и механических воздействий компьютеров для применения в авиации и космической технике.
Сейчас в мире есть еще несколько ЭВМ System/360, не разобранных на запчасти, но, к сожалению, ни одна из них не работает. Слишком велики затраты на поддержание такого большого компьютера в рабочем состоянии.
Если данная тема будет интересна читателям, в следующей статье я продолжу рассказ об этой революционной ЭВМ.
Автор: alexzeynikov