Процессоры. Третье поколение эвм Кто виноват? Что делать

Преклоните колени, оупстите очи долу, задумайтесь о вечном и прошепчите как молитву - "ПРОЦ ОПШЕНС МЭЙН". Можно два раза. Сегодня великий день - 52 года назад американская корпорация IBM анонсировала систему мейнфреймов System 360. По большому счету именно с этого начался отсчет эры всеобщей компьютеризации и именно тогда родился тот компьютер, который мы знаем сейчас.

IBM 360 model 50 в компании Volkswagen.

После того, как начались массированные поставки 360-х по всему миру, постепенно все забыли о том, что в байте может быть меньше 8 бит, о том, что восьмеричная система лучше шестнадцатеричной и, что самое главное, в мире начало стремительно расти количество программистов, представителей профессии, которая внезапно перестала восприниматься, как нечто волшебное или космическое.

Концептуально, IBM 360 представляла собой фильмы Кубрика в металле. Как Кубрик своими фильмами задавал новые стандарты стиля, используя, все же, уже проверенные технические и идеологические решения (в конце концов до "Пуленепробиваемого жилета" уже был "Отныне и вовек"), так и IBM 360 был прыжком в будущее с опорой на уже имевшиеся технические. Систему делали очень быстро - всего за 2 года и обошлась она концерну в безумные 5 миллиардов долларов (30 миллиардов по нынешним меркам) и это были еще те времена, когда специалисты приходил на работу работать, у них не было персональных "старбаксов" прямо в офисах и никто не устраивал им еженедельные полеты на Бали, чтобы поднабраться интеллектуальных сил (вся эта шняга началась только черел 10-15 лет с подачи Гарри Кинделла из Digital Research). Так что если бы вот эти шкафы разрабатывалис бы сегодня, то на них ушло бы не 2 года и н 30 миллиардов долларов. Возможно именно поэтому, сейчас уже никто не делает таких прорывных вещей.

International Business Machines Corp., Thomas J. Watson Research Center, Yorktown Heights, New York, 1962

Производство советского аналога IBM 360 , который назывался "Единая Система ЭВМ" было организовано на нескольких советских и венгерских заводах. Самые мощные машины - ЕС-1052 ("Первый ряд" - собственно аналог IBM 360) и ЕС-1066 ("Третий ряд" - IBM 370) выпускались на заводе ВЭМ у нас в Пензе. Я немного там работал программистом, как раз в то время, когда планировалось производство самой-самой мощной машины семейства, известного как "Четвертый ряд" - ЕС-1087. Уже было закуплено и привезено оборудование для создания новой сборочной линии, но тут страна пошла в разнос и никто эту линию так и не смонтировал.

Именно на этой технике я учился программировать и некоторое время работал программистом в самом конце 80х. И карты на перфораторах набивал (на первом курсе мы делали лабы на ЕС-1022 у которой вообще еще никаких мониторов не было) и как стучит барабанный принтер хорошо помню и почти крафтовую бумагу на которой печатались тексты программ. Они назывались распечатками или по иностранному - "листингами". И даже успел написать одну программу, считывавшую и записывавшую информацию на магнитную ленту. Да, не забыть - впервые на компе поиграл тоже на ЕС - в "Посадку на Луну".

Программы на ЕС ЭВМ писались, как правило, на четырех языках - PL/I, Cobol, Algol-60 и ассемблере. Алгол был процедурно-ориентированным языком, можно сказать, что он был развитием Бейсика и Фортрана и, одновременно, предтечей Паскаля и Си. В нем впервые использовались циклы.

Программа, выводящая "Hello, World!" на Алгол-60

BEGIN FILE F (KIND=REMOTE); EBCDIC ARRAY E ; REPLACE E BY "HELLO, WORLD!"; WHILE TRUE DO BEGIN WRITE (F, *, E); END; END.

Кобол специально разрабатывался для тех, кому проще было написать программу на простом человеческом языке, а не с помощью операторов, кроме того, он ориентировался на работу с базами данных, поэтому имел развитую систему структур данных, в том числе и "запись". Руководила созданием языка "бабушка программирования", контр-адмирал Грейс Хоппер (1906-92). Кобол с самого начала отличался от подавляющего большинства других языков тем, что был стандартизирован

Программа, выводящая "Hello, World!" на Кобол

IDENTIFICATION DIVISION . PROGRAM-ID . HELLO-WORLD . * ENVIRONMENT DIVISION . * DATA DIVISION . * PROCEDURE DIVISION . PARA-1 . DISPLAY "Hello, world." . * EXIT PROGRAM . END PROGRAM HELLO-WORLD .

Ну а PL/1 был универсальным, нет, не так - ОЧЕНЬ УНИВЕРСАЛЬНЫМ языком, сочетавшем в себе практически все идеи в области языков программирования высокого уровня, имевшиеся к моменту начала его разработки (по сути, это был коктейль из Алгола, Кобола, Снобола и Фортрана). Однако, так получилось, что он так и не был до конца стандартизирован, имелись его различные реализации, он был довольно сложен для изучения (слишком много всего туда засунули) и, в итоге, он так и остался "языком мейнфреймов". Хотя у меня к нему отношение как к первой любви, это правда. И именно со слов "проц опшенс мэйн" начинались все программы на этом языке. Кстати, чем он был еще интересен, так это тем, что любую программу можно было написать совершенно по разному - можно было коротко, а можно и не очень. Это было вызвано тем, что многие определения в языке имели вариант по умолчанию и в написании строк программы можно было опускать значительную часть текста, а другие операторы или определения имели просто краткие формы написания. Идея с длинными наименованиями пришла из Кобола, а с короткими из Фортрана и Алгола.

Программа, выводящая "Hello, World!" на PL/1 - длинный вариант:

Test: procedure options(main); declare My_String char(20) varying initialize("Hello, world!"); put skip list(My_String); end Test;

То же самое, но максимально укороченно:

Test: proc options (main); put list ("Hello, world!"); end;

Почувствовали разницу? Помню, курсе на третьем (последнем курсе на котором мы еще писал на этом языке, потом перешли на Паскаль и ассемблер) мы подкалывали первокурсников предлагая им прочитать свои программы. Они их просто не понимали.

Понятно, что такой громандый проект как IBM 360 не мог быть реализован одним-двумя гениями, как потом случалось в 70е и случается и поныне. IBM уже тогда была одной из крупнейших компаний в мире с более чем ста тысячей работников. Руководил компанией в те годы Томас Уотсон мл. (1914-93), сменивший на посту CEO своего отца, Томаса Уотсона, автора лозунга "Think!", руководивший компанией в 1914-52 годах одновременно и в роли председателя правления и в роли CEO. В годы войны Уотсон мл. был военным летчиком, гонявшим самолеты из США в СССР через Сибирь, в 1979-81 работал послом в СССР. Главным идеологом s/360 был Джин Амдал (1922-2015), в конце 70х ушедший из IBM и занявшийся разработкой и производством сначала микросхем, а затем и компьютеров на них. Он скончался совсем недавно - 10 ноября. Непосредственно созданием системы руководил Филипп Брукс (р.1931), блестящий ученый, бакалавр по физике и доктор по прикладной математике, выпускник Гарварда, где ему преподавал один из создателей первых компьютеров Говард Эйкен, когда система была анонсирована ему было всего 33 года, но напряженная работа в последние годы (он начинал в IBM с разработки предыдущей системы IBM 7030) так его вымотала, что он решил уйти из фирмы и заняться преподаванием компьютерных наук. В том же году он возглавил им же созданный факультет компьютерной техники в Университете Северной Каролины, коий и возглавлял на протяжении 20 лет. Брукс до сих пор в прекрасной форме и занимается исследованиями в области визуализации и виртуальной реальности. В 2010 года, отвечая на вопрос журналистски о своем наибольшем личностном достижении в жизни, он сказал что это было решение использовать в IBM 360 на 6- , а 8-битные байты плюс решение допустимости использования строчных букв при написании кода. Но все их усилия могли бы если не пойти прахом, но уж точно не принести такого успеха, если бы не продавец от Бога, помошник Уотсона-мл. Джон Опел (1925-2011), который занимался собственно продвижением IBM s/360 по всему миру. В 1971 году он возглавит IBM и будет оставаться руководителем до 1986 года, сполна испытав чувство успеха от запуска в производства еще одной компьютерной иконы - персонального компьютера IBM PC. Это именно Опел предложил подключить к работам над софтом еще не родившегося компа молодую компанию Microsoft.

Дисковый накопитель IBM 2311
Поставлялся с самыми первыми моделями семейства. Емкость 7,25 Мб, скорость доступа 85мс, скорость передачи информации 156 кбайт/сек.

В отличии от многих других систем ЭВМ, System 360 развивается до сих пор. С 2000 года в производстве находятся мейнфреймы системы z/Architecture, которые условно можно считать шестым поколением системы 360.

Производство компьютеров System 360 завершилось в 1971 году и в настоящее время не существует ни одной рабочей ЭВМ этого типа. Причина проста - это были очень объемные устройства, притом, с колоссальным количеством изделий из цветных металлов внутри, поэтому после списания никто их не хранил, а быстро сдавали на утилизацию. Тем не менее, в нескольких музеях в США, Новой Зеландии, Австралии и Австрии находятся около полутора десятков компьютеров IBM 360, некоторые из которых даже в условно рабочем состоянии.

Остались ли компьютеры ЕС ЭВМ в странах бывшего СССР я не знаю. Не удивлюсь, что единственным экспонатом российских музеев, имеющим отношение к советскому клону IBM 360 является накопитель на магнитной ленте, вернее, корпус от него, хранящийся в Тольяттинском Краеведческом музее.

К концу 60-х годов в союзе сложилась странная ситуация с математическим обеспечением для ЭВМ. При всей малочисленности сословия "программистов" и конструкторов ЭВМ (а слово "программист" тогда звучало примерно как "физик-ядерщик"), создаваемые программы были не только несовместимы друг с другом (а как же плановая экономика?) но и непереносимы между машинами.

Разумеется, программа для "Урала" не могла бы работать на "БЭСМ-6", равно как и БЭСМ-овская на "Наири" (эта удивительная машина разливалась в подвалах Ереванского коньячного завода в третью смену). Понятно, что и о единообразии ОС речи не шло, как, порой, и о наличии ОС как таковой. Однако, большой стране требовалось много программ, и писать их каждый раз с нуля на ассемблере было глупо. Это понимали даже чиновники высшего уровня.

2. Назревшие проблемы

Именно по этим причинам состоялся ряд заседаний ГКНТ по вопросу унификации архитектуры вычислительных машин. Разумеется, никакого "предательства" или "трагедии" (как любят писать желтые издания и ура-патриоты далекие от IT ,) не было. Академики, военные, чиновники пытались как-то выкрутиться в условиях тотального дефицита, как программистов, так и конструкторов. Проблемы, которые стояли перед информатикой в Союзе, были совершенно не иллюзорны. Все они так или иначе были отмечены выступавшими на заседаниях. Тезисно повторив их, мы получим следующий список:

  1. В стране нет единой концепции развития вычислительной техники. Каждое ведомство выпускает те машины, которые ему нравятся.

  2. В стране нет единой архитектуры ЭВМ, и значит - нет никакой переносимости программ.

  3. Проблема переносимости стоит очень остро еще и потому, что большая часть (около 50%) программ написана в кодах (т.е. на ассемблере, выражаясь современным языком).

  4. Программистов в Союзе не хватает, равно как и не хватает учебных заведений выпускающих их.

  5. Имеется острая нехватка прикладного и системного ПО.
Все эти проблемы нужно было решать, и без принятия срочных мер обойтись казалось невозможным. Унификация была необходима! Конечно, сейчас мы сказали бы, что конкуренция - не такая уж плохая штука, но напомню, что во-первых она была совершенно не в духе плановой экономики, а во-вторых - шла "на государственные деньги", т.е. на деньги налогоплательщиков (как и большинство научно-технических проектов в Союзе). Понятно, что так "конкурировать" можно было очень долго.

Обращаясь к проблеме нехватки ПО, было очевидно, что имевшееся на тот момент количество программистов (1.5 тыс. в 1969 году если верить цитированию А. А. Дородницына в ) не успевало справиться со всеми задачами. Вспомнив слова Брукса, который писал "предлагаю придерживаться следующего правила: трансляторы в три раза сложнее обычных прикладных программ, а операционные системы в три раза сложнее трансляторов" мы можем посчитать необходимые ресурсы. Если учесть затраты IBM на создание OS/360 (5000 человеко-лет по оценкам Брукса), то только на повторение этой ОС у всех программистов Cоюза ушло бы около трех лет (разумеется, повторять OS/360 не лучшая идея, и здесь мы просто иллюстрируем тяжесть задачи которая стояла перед страной). Плюс, нельзя забывать, что кроме системного ПО (OS, трансляторы, базы данных, etc) нужно создавать и прикладное, а это тоже требует труда программистов!

Завезти программистов с Марса и даже из Штатов было совершенно нереально (а ждать никто не хотел), и следовательно, нужно было завести сами программы. Наверняка многие читали высказывание Бабаяна (цитируется в том числе в ): "Расчет был на то, что можно будет наворовать много матобеспечения — и наступит расцвет вычислительной техники. Этого, конечно, не произошло. Потому что после того, как все были согнаны в одно место, творчество кончилось. Образно говоря, мозги начали сохнуть от совершенно нетворческой работы. Нужно было просто угадать, как сделаны западные, в действительности устаревшие, вычислительные машины. Передовой уровень известен не был, передовыми разработками не занимались, была надежда на то, что хлынет матобеспечение… Вскоре стало ясно, что матобеспечение не хлынуло, уворованные куски не подходили друг к другу, программы не работали. Все приходилось переписывать, а то, что доставали, было древнее, плохо работало. Это был оглушительный провал. . Оставим пассажи Бориса Арташесовича о мозгах и творчестве. Оценим лишь сухой остаток. Разумеется, ни расцвет ни рассвет не наступил, но вопрос с мат. обеспечением (по крайней мере - системным) решился на годы вперед. Во всяком случае - его острота была снята. Западные системы и трансляторы прекрасно работали даже без локализации и допиливания рашпилем в НИЦЭВТ. Более того - если имелась возможность выбора, то многие предпочитали оригинальные системы, как более безглючные.

3. То самое заседание

Особенно интересным для нас будет совещание в МинРадиоПроме в декабре 1969 года.
Для того чтобы острее ощутить проблематику того времени нам придется обратиться непосредственно к стенограммам заседаний (цитируется по ). Ниже приведен небольшой фрагмент, и я прошу прочесть его весь внимательно.

Присутствуют : Калмыков, Келдыш, Горшков (председатель ВПК), Савин, Кочетов (представители ЦК КПСС), Раковский (зампред Госплана СССР). Сулим, Лебедев, Крутовских, Горшков (заместитель министра радиопромышленности), Левин, Шура-Бура, Ушаков, Арефьева, Пржиялковский, Маткин, Дородницын.

Сулим . О состоянии переговоров с ГДР и ICL.

Вариант IBM-360. В ГДР принята ориентация на IBM-360. Успешно разрабатывается одна из моделей (Р-40). У нас есть задел, есть коллектив, способный начать работу. На освоение операционной системы IBM-360 потребуется 2200 человеко-лет и 700 разработчиков. С фирмой IBM отсутствуют всякие контакты. Возникнут трудности в приобретении машины-аналога. Ее стоимость 4-5 млн. долларов. В ГДР имеется только часть необходимой документации.

Вариант ICL. Получим всю техническую документацию, помощь в ее освоении. Придется провести небольшие переделки. Фирма предлагает закупить партию выпускаемых ею машин. Есть возможность использовать коллектив программистов для подготовки прикладных программ.
Группа наших программистов уже проходит стажировку на фирме. В перспективе совместная разработка ЭВМ четвертого поколения. Фирма старается помочь во всем, поскольку надеется в союзе с европейскими фирмами, в том числе нами, выступить конкурентом IBM. Согласие фирм Италии и Франции об участии в создании вычислительной техники четвертого поколения имеется.

Пржиалковский. По IBM-360 имеем систему из 6 тыс. микрокоманд, 90% схем ТЭЗов, 70% растрассировано, 7000 единиц конструкторской документации. При переориентировке на ICL придется переработать весь этот задел, это задержит работы на 1-1,5 года. Понадобится много валюты (для закупки ЭВМ фирмы ICL). Вариант сотрудничества с ГДР, успешно ведущей работу по IBM-360, предпочтительнее. Если усилить коллектив математиков, то ДОС можно разработать к 1971 г. Пора прекратить колебания.

Крутовских. Наш проект предусматривал систему моделей IBM-360. При переориентации на фирму ICL состав моделей должен быть другим. Меняются технические характеристики. Нужно 4-5 месяцев на аван-проект. В фирме ICL нет ясности по старшим моделям. Они добавляются к ряду малых и средних ЭВМ, как суперЭВМ. Этого лучше не делать. При переориентации задержатся сроки подготовки техдокументации на 1,5-2 года, а может и больше. Работая с ГДР по IBM-360, можно получить ДОС и ОС к началу серийного производства, снимается вопрос об их разработке . Немцы ушли дальше нас. Они переориентироваться не смогут. Англичанам нужен рынок. Они будут водить нас за нос. По большим машинам они сотрудничать не будут. 150 машин у них купить нельзя.

Дородницын. Вопрос освоения IBM-360 подается в упрощенном виде. Все значительно сложнее. На освоение ОС надо не менее четырех лет, и неизвестно, что получим. Надо самим (вместе с ICL ) создавать ДОС и ОС и ориентироваться на разработки машин совместно с ICL.

Лебедев. Система IBM-360 - это ряд ЭВМ десятилетней давности. Создаваемый у нас ряд машин надо ограничить машинами малой и средней производительности. Архитектура IBM-360 не приспособлена для больших моделей (суперЭВМ). Англичане хотят конкурировать с американцами при переходе к ЭВМ четвертого поколения. Чем выше производительность машины, тем в ней больше структурных особенностей. Англичане закладывают автоматизацию проектирования. Система математического обеспечения для "Системы-4" динамична, при наличии контактов ее вполне можно разработать. Это будет способствовать подготовке собственных кадров. Их лучше обучать путем разработки собственной системы (совместно с англичанами).

Шура-Бура. С точки зрения системы математического обеспечения американский вариант предпочтительнее. ОС требуется усовершенствовать. Для этого надо знать все программы.

Келдыш. Нужно купить лицензии и делать свои машины. Иначе мы будем просто повторять то, что сделали другие. В принципе, большие машины надо создавать самим.

Лебедев. Наши математики считают, что готовить программистов лучше по методике англичан.

Раковский. Нужно думать о перспективе. Нужна единая концепция. Все говорили, что система математического обеспечения IBM совершеннее, но ОС громоздка. В течение четырех-пяти лет ее нельзя полностью освоить. Трудно, но сегодня нужно принять решение . Если ориентироваться на ICL, то будет трудно с ГДР; за пять лет немцы выпустят 200 экземпляров Р-40. И все-таки следует принять предложение ICL.

Крутовских. Все разработчики, кроме Рамеева, не хотят переориентироваться на фирму ICL. P-50 будет готова в 1971 г.

Калмыков. Наличие ДОС сразу дает возможность использовать машины, которые мы начнем выпускать. Много программ можем получить у немцев. Отрицательные моменты. Мы не имеем машин IBM-360. И не будем иметь контактов с фирмой IBM. Если переориентироваться на фирму ICL, то потеряем время. Но с ними возможны прямой контакт и сотрудничество при создании ЭВМ четвертого поколения. Это большое преимущество. Четвертое поколение ЭВМ они будут делать без американцев, хотят быть конкурентоспособными по отношению к IBM.

Келдыш. Не следует переориентироваться на ICL, но переговоры с ними по четвертому поколению ЭВМ нужно вести.

Калмыков. Переориентироваться на ICL не будем. Перед немцами поставим вопрос о том, чтобы больше помогали".

Уже из этого фрагмента можно получить представление о "раскладе сил" в верхах. За сотрудничество с ILC выступали: Сулим, Дородницын, Лебедев, Раковский, Рамеев (не присутствовал). За IBM - Пржиялковский, Крутовских, Калмыков, Шура-Бура, Келдыш. При этом, ни ту ни другую сторону язык не поворачивается назвать "предателями" или "вредителями".

Есть два момента, которые нуждаются в прояснении. Во-первых, мифическое "четвертое поколение" о котором говорит чуть не каждый докладчик. Не вполне ясно, что тогда понимали под ним Лебедев, Келдыш и другие. Если третье поколение - это интегральные схемы, то четвертое - большие интегральные схемы (БИС). Непонятно, как они хотели "перепрыгнуть" этап интегральных схем (ведь имеющиеся тогда машины (даже самые новые!) были транзисторными). И БЭСМ-6 еще многие годы выпускалась на дискретных элементах. О каком "четвертом поколении" могла идти речь? Очевидно, что вопросы архитектуры смешаны с вопросами реализации. Формально, и архитектуру Intel или PPC можно воспроизвести на транзисторах. Во-вторых, важно понять что же такое ILC и загадочная "Система-4". Вы будете смеяться, но это (сюрприз, сюрприз) архитектура IBM-360 с урезанным набором привилегированных команд! Таким образом, выбор на этом заседании стоял между копированием оригинальной IBM/360 и... копированием копий(!) IBM/360! Как мы можем видеть, никто из присутствующих (кроме разве что Келдыша) не заикался о полностью своих машинах (да и он, думаю, не имел их ввиду).

4. Политика и наука.

Итак, вопрос стоял даже не архитектурный, а политический. Идти на поклон к американскому империализму? Нереально. Придется красть. Или все же дружить с англичанами, которые тоже империалисты, но не такие оголтелые? Большинство авторов рассматривающих "эпохальное решение" почему-то упускают из виду, что вопрос о конкуренции БЭСМ-6 c Единой Сериией вообще не ставился. Если бы чаша весов качнулась в другую сторону, то копировали бы машины ILC, а не IBM. Только и всего. Причем, копировать желали именно машину, т.е. железо, а не архитектуру. Это очевидно из реплики Пржиалковского "имеем 90% схем ТЭЗов, 70% растрассировано". Да! Именно reverse engineering стал основным методом для нашей промышленности на много лет вперед. Но программисты ли виноваты в этом? Они ли начали первыми? Разумеется нет. Технология "украсть, разобрать и разобраться" применялась повсеместно. Как в авиации так и в других отраслях промышленности. Так что мы не можем ставить ее в упрек именно IT-отрасли.

5. А что если?

Допустим однако на минуту, что вопрос стоял бы именно так, как ставят его "патриоты от вычислительной техники" - IBM/360 или БЭСМ-6? Что лучше для народного хозяйства, и вообще, с точки зрения вечности. Тут, в нашу плеяду гениев, которая до нынешнего момента включала Крэя, Лебедева и Килбурна врывается еще один американец - Джин Амдал (Gene Amdahl), архитектор IBM/360 и автор закона своего имени. Амдал работал в IBM над машинами IBM-704/709 и Stretch. Затем он покинул IBM, но вернулся в 1960 году, и заложил основы архитектуры, которая почти без изменений просуществовала 30 лет. Почему IBM понадобилась новая архитектура? Потому что даже в рамках одной компании становилось неудобно сопровождать большой парк несовместимых архитектур. Идея S/360 состояла в унификации архитектуры, а также отделения архитектуры от реализации (то, чего еще не понимали толком в ГКНТ). Этих целей Амдалу (и IBM) удалось добиться, пусть и большой ценой (5 млрд долларов США в ценах 1964 года). Кстати, начиная с IBM/360 все большее распространение получил 8-битный байт, вытесняя более экзотические размеры. Ниже мы рассмотрим вопросы архитектуры железа отдельно от ПО, и начнем именно с железа.
5.1. Битва титанов (сравнение архитектур)

Итак, сравним архитектуру S/360 и БЭСМ-6.
Используем тот же формат таблицы что и раньше, за исключением описания системы команд (ибо это заняло бы слишком много места).

Параметр\Машина IBM System/360 БЭСМ-6
Начало серийного выпуска 1965 1968
Элементная база Интегральные схемы Транзисторы
Тип адресации Двухадресная Одноадресная
Разрядность слова 32 бит 48 бит
Длинна команды 16,32 или 48 бит 24 бита
Разрядность сумматора 32 бита 48 бит
Разрядность адреса 24 (32) бита 15 бит
Регистров общего назначения 16 1 (+1)
Индексных регистров 0 15
Регистров с плавающей точкой 4 (64-битных) 1+1 (48-битный)
Обьем ОЗУ от 4 Кб до 8 Мб 32 768 слов

В таблице мы видим несколько отличий, главные из которых - другой тип адресации, наличие регистров общего назначения а также разрядность адреса. К концу 60-х годов архитектура S/360 была уже логически сформировавшейся и законченной. От более современной S/370 ее отделяло только отсутствие механизмов виртуальной памяти и развитой поддержки многопроцессорности. Система 360 включала в себя наборы команд как для научных применений (полноценная арифметика с плавающей точкой) так и для бизнеса (десятичная арифметика, форматирование). Когда Лебедев говорил о том, что архитектура S/360 - десятилетней давности, он либо недопонимал, либо лукавил. По сравнению с IBM/360 как раз архитектура БЭСМ-6 смотрелась архаичной.

БЭСМ-6 как мы уже видели не являлась универсальной машиной. В сегодняшней терминологии это "числодробилка". Применение ее для целей, отличных от научных расчетов не слишком эффективно. Отсутствие целочисленной арифметики (не говоря уж о десятичной) и команд работы с памятью затрудняет применение ее в обработке текстов и экономических расчетах. Конечно, используя языки высокого уровня все эти проблемы можно скрыть, но эффективность все равно будет низкой.


Еще одной проблемой архитектуры БЭСМ-6 был неразвитый ввод/вывод и отстутствие широкого спектра периферии. Представление о системе ввода вывода можно получить хотя бы из этой страницы руководства:

Кстати, по ней же можно судить о качестве документации в целом (и это - еще вполне приличное качество).


На IBM S/360 была впервые применена канальная архитектура ввода/вывода. Все устройства подключались к т.н. каналам (которые по сути были специализированными контроллерами ввода/вывода). Каналы могли быть блок-мультиплексными (для высокоскоростных устройств), байт-мультиплексными и селекторными. Процессор не общался с устройством напрямую. Вместо этого он запускал т.н. канальную программу, исполняемую контроллером независимо от CPU. Канальная программа содержала все данные которые были нужны для операции ввода/вывода, и даже имела поддержку переходов и циклов. Таким образом, процессор существенно разгружался, и, конечно, не занимался прокруткой барабана и управлением молоточками АЦПУ. Похожая архитектура успешно применяется и по сей день, к примеру - в SCSI-дисках.

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

5.2. Надежность и удобство работы
Вопреки расхожему мнению, советские клоны S/360-370 - ЕС (единая серия) не был супер-сложным в производстве или супер-дорогим. Если БЭСМ-6 за все время было произведено (по данным wikipedia) всего 367 штук, и их имели в основном профильные конторы, то EC разных конфигураций было произведено более 15 тыс. штук, и та или иная машина стояла практически в каждом институте. Другой вопрос - была ли она нужна в каждом институте? По большому счету - нет. Ведь копировали не только "большие машины" IBM но и DEC-овские PDP под именем CM (Серия Малых). Их было произведено еще больше. По сути это была самая массовая серия. Очевидно, что при достаточно низком уровне информатизации Союза в целом, нужды в большом парке майнфреймов не было."Ненадежность" же IBM-овских машин вызвана как минимум двумя причинами. Во-первых, низкой культурой производства, и во-вторых - низкой культурой обслуживания. Немалую роль в становлении "дурной славы" EC сыграла и печально известная OS/360, которая отнюдь не была образцом надежности и прозрачности. Отсутствие (или нежелание покупать и распространять) системы терминального доступа к OS/360 (такие как TSO) приводило к созданию "самописных" диалоговых мониторов, таких как Jec, Primus, Jessy и т.п. Разумеется, все это не повышало общей уровень надежности системы. Собственно, испортить жизнь оператору ЕС ЭВМ и другим пользователям мог даже школьник.Проблемой Единой Серии была никак не архитектура (которая жива и по сей день в майнфреймах IBM), а низкое качество элементной базы, культуры эскплуатации, и не вполне удачный выбор базового софта. Понятно, что выбор этот во многом был навязан фирмой IBM (впрочем - не только нам, но и всем западным заказчикам). Не последнюю роль, надо думать, сыграла и поездка Громыко в США, где ему показали то, что он должен был увидеть. Тем не менее, беды советской информатики происходили вовсе не от выбора неправильного эталона для подражания или неудобства ОС ЕС и даже не от малой осведомленности Громыко в информатике.

6. Кто виноват? Что делать?

6.1. Критерии оценки
Дальше полагается сделать выводы, и если читатель еще не сделал их сам, я попробую помочь в этом непростом деле. Итак, как должно было поступить в далеком 1967 году руководство партии и правительства, чтобы не допустить отставания в сфере кибернетики? Вопрос и в самом деле непростой даже сейчас, когда мы смотрим на ситуацию из будущего. Что уж говорить тех временах...
Проблема есть даже в выборе критериев. Что нужно ставить во главу угла - независимость и самостийность развития, или пользу для народного хозяйства? Каждый выбирает для себя... Ниже я дам три критерия, которые, как мне кажется, можно принимать во внимание.
6.2. Сохранение самостийности. Мы пойдем другим путем
Можно было оставить все как есть, не отвлекаясь на зарубежные "штучки" продолжать гнуть свою линию. Некоторые так и поступили! Часто можно прочесть мнение, о том, что начав копирование IBM/360 линию "БЭСМ (и в дальнейшем Эльбрус)" якобы закрыли. На самом деле это не так. БЭСМ-6 выпускалась еще долгие-долгие годы (до 1987 года), да и на Эльбрус выделялись огромные (по тем временам) деньги. Это никак не повлияло на ситуацию. Да и не могло повлиять. Недостаточность БЭСМ-ов понимали не только их противники, но и создатели. Было очевидно, что надо менять и элементную базу и архитектуру в целом (правда, бросок в сторону Эль-Берроуза ничего хорошего не дал). БЭСМ-6 в том виде, в котором она существовала (дорогущий суперкомпьютер для научных применений) не мог решить тех задач, которые возлагались на Ряд. Нужно было эволюционировать. Эволюция в сторону Эльбрусов закончилась еще более оглушительным провалом, как бы не хотел Бабаян обратного.Быть может, пойди мы своим путем, результат был бы если не лучше, то хотя бы интереснее. Пусть народное хозяйство без ЕС накрылось бы медным тазом лет на пять раньше, зато расцвели бы сто цветов, сто языков и сто архитектур. С другой стороны - приобщаться к мировому опыту в 90-х годах было бы гораздо сложнее. C"est la vie...
6.3. Минимизация собственных усилий. В кильватере Голубого Гиганта
Если судить с точки зрения пользы для народного хозяйства, то принятое решение было на мой взгляд верным. Дело в том, что будучи хорошей "числодробилкой" (см. выше) БЭСМ-6 ни в коей мере не была удобной и доступной ЭВМ для других применений (базы данных, обработка текстовой информации, финансовые расчеты, etc). IBM/360-370 подходила для этого гораздо лучше, что и демонстрировалось высокими продажами продукции "голубого гиганта" в те годы. Что до проблем в СССР - то для описания ситуации тут как нельзя лучше подходит фраза "вы просто не умеете их готовить".
В идее копирования часто видят еще одну проблему - падение самооценки. Дескать раньше, пока делали свое на коленке, все чувствовали себя творцами, и креатив так и пер. А после решения перенимать у Запада, иссяк и креатив, и самооценка упала ниже плинтуса. Об этом писал и уже упомянутый Бабаян. Честно говоря - этот аргумент мне кажется надуманным. Ведь его можно применить и сейчас, когда степень "отставания от Запада" стократ больше, и ни о каких альтернативах "буржуазным" архитектурам (типа Intel) речи даже не идет! Мы работаем на полностью чужом железе, под чужими ОС и в чужих IDE. И что же? Многие ли в программистском сообществе (а не в Кремле) комплексуют по этому поводу? Как-то не замечал. Хотя, быть может - у советских была собственная гордость. Кто знает?
6.4. Интеграция с мировым сообществом, ориентация на будущее
Третьим критерием я бы назвал возможности интеграции с мировым сообществом и ориентацию на будущее. Понятно, что варясь в своем соку, т.е. разрабатывая программы и системы полностью самобытные, мы бы отдалялись от мировых трендов сильнее и сильнее (кстати, быть может этого не случилось именно в силу возросшей степени интеграции?). Конечно, "верхушка" нашей IT-индустрии вовсе не отрывалась от западной мысли, и даже "обменивалась работами" (c этим, как его дьявола, Mak , нет, MCarthy , короче, ). Но простые программисты ни о чем таком не знали. Да и как им было узнать, если материалы SIGPLAN не выдавали в институтской библиотеке? Однако документация и переводная литература об IBM S/360 а затем и PDP-11/DEC хоть как-то сближала нас с остальным миром.

7. Гугл затих, я вышел на подмостки... (Лирическое отступление).

Как бы поступил я сам на месте руководства в те далекие годы? Определиться не так просто. С одной стороны - не стал бы навязывать всем одну архитектуру, ибо надо сначала убедить людей в том, что она им подойдет. С другой стороны - производить машины IBM все же стоило, коли уж покупать их не получалось. Разумеется, копировать стоило не все подряд. В 1967 году уже вышла IBM/360-67 с которой можно было начать. В качестве ОС можно было бы взять компактную CP/CMS (и далее VM/370) которую IBM мало того что отдавала бесплатно, так еще и в исходниках вплоть до версии 6. При всем моем уважении к Бруксу, эта ОС была гораздо удачнее OS/360 (и, кстати, все разумные люди в Союзе это быстро поняли). Разрабатывать свой прикладной софт и совершенствовать имеющийся системный. Брать лучшее (но не бинарники, а идеи!) из западных разработок.Кроме того, было просто необходимо наладить обмен студентами и аспирантами с крупными центрами CS как в Европе так и в Америке. Именно они, а не Громыко должны были приобщаться к "мировой компьютерной кухне", составлять мнение о перспективных направлениях, архитектурах и операционных системах. Разумеется, все это было немыслимо в те годы. Вместо широкого потока имелся слабый ручеек. Но даже так идеи, пусть с опозданием, проникали в Союз. Увы, этого было мало.Полагаю, что порочной была сама структура экономики, не позволявшая полноценно развиться хоть чему-нибудь сильно удаляющемуся от нужд ВПК. Наука брошенная на создание бомб и ракет вместо нивы "мирного бурения" (о глубинном, правда, никогда не забывали) не смогла бы достичь тех высот, и решить те задачи, которые важны в "открытом обществе". Иными словами - при сохранении господствующей идеологии никакое решение не спасло бы отечественную информатику от отставания.

На этой пессимистичной ноте, разрешите закончить... algen ) за предоставленную информацию, и многое другое. В вычитке этой и предыдущей статьи большую помощь оказала Анна Годес.

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

Каналы

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

Как несложно понять из названия, мультиплексорный канал позволял обмениваться данными сразу от нескольких устройств через один канал в ОЗУ компьютера. Чаще всего адрес этого канала был 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

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

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 литров машинного масла, которое циркулировало в системе под давлением, что порождало много историй про утечки, чаще всего неправдивые. Из-за обилия коротких фрагментов ленты в сменных модулях, их часто сравнивали с лапшой.


Когда речь идёт о мейнфреймах, многие люди в первую очередь представляют семейство компьютеров System/360 от компании IBM - можно сказать, что это самая важная компьютерная архитектура за всю историю. Во многих отношениях семейство IBM System/360 похоже на процессоры 8086 в том смысле, что оно установило стандарт и породило длинную череду потомков, которые живы и преуспевают по сей день. Единственное большое отличие: IBM изначально нацеливалась на успех линейки System/360, в отличие от процессоров 8086, которые приобрели такую большую важность, о которой производитель даже не думал. Многим из вас, наверняка, известно, что Intel даже пыталась "похоронить" набор инструкций x86 с процессорами Itanium.

Итак, вернёмся к мейнфреймам. До System/360 в ассортименте компании IBM был беспорядок: многие системы были несовместимы друг с другом. Не только пользователям было трудно делать апгрейд, но и самой IBM с точки зрения логистики было очень тяжело поддерживать все эти разные операционные системы на разном аппаратном обеспечении. Поэтому IBM решила создать то, что мы сейчас воспринимаем как само собой разумеющееся: совместимую линейку компьютеров с разной производительностью и ёмкостью, которые при этом способны работать с одними и теми же программами. В апреле 1964 года IBM анонсировала шесть компьютеров в линейке, отличавшихся своей производительностью, причём производительность high-end модели по сравнению с low-end моделью была в 50 раз выше. На самом деле, эта цифра вдвое превышала ожидания IBM (компания рассчитывала на увеличение производительности в 25 раз, что само по себе ставило перед IBM много проблем). Даже знаменитый Джин Амдал (Gene Amdahl) считал невозможным улучшение этого значения. Нельзя было просто создать что-то в 25 раз больше, чем самый маленький элемент, нужно было строить всё заново.

Сегодня отключение части процессора или уменьшение его тактовой частоты для некоторого снижения производительности является нормой. Но в те времена было экономически неоправданно создавать high-end процессор и искусственно снижать его производительность в целях маркетинга. Поэтому IBM решила в System/360 применить идею "микропрограммирования", чтобы все члены семейства использовали один и тот же набор команд (за исключением самой low-end модели Model 20, которая могла выполнять подмножество этих команд). Эти команды затем разбивались на ряд "микроопераций", специфичных для данной реализации системы. Таким образом, процессор мог быть очень разным, что позволило повысить показатель, на который рассчитывала IBM, и, как уже говорилось, даже увеличить его в два раза.

Что-то подобное было реализовано в процессорах x86 после Pentium Pro (или даже NexGen Nx586). Впрочем, как уже отмечалось, IBM всё заранее спланировала. Разработчики x86 пошли на это потому, что набор команд процессора был настолько плох, что не мог выполняться эффективно. У микропрограммирования было одно очень важное преимущество, которое нельзя было легко осуществить в микропроцессоре. Благодаря созданию новых микропрограммируемых модулей, System/360 стал совместим с популярным мейнфреймом 1401 в low-end сегменте и даже с 7070 и 7090 в high-end сегменте. Поскольку это было реализовано в аппаратной части, то это было гораздо быстрее, чем любая программная эмуляция, и в общем случае старые приложения работали быстрее на System/360, чем на "родной" системе из-за технологических продвижений.

Некоторые нововведения System/360 используются и сейчас. Во-первых, в системе System/360 был стандартизирован байт как равный восьми битам, и использовалась длина слова в 32 бита, что помогло упростить архитектуру, поскольку оба были степенями двойки. Все компьютеры, кроме самой low-end модели Model 20, имели 16 регистров общего назначения (как и x86-64), тогда как большинство предшественников использовали регистр-аккумулятор, возможно, индексный регистр и другие регистры специальных функций. System/360 мог работать аж с 16 Мбайт памяти, хотя в то время такой объём памяти был недоступен. Самый high-end процессор мог работать на очень приличной тактовой частоте 5 МГц (кстати, на такой частоте работал процессор 8086, когда он был объявлен на 14 лет позже), тогда как low-end процессоры работали на частоте 1 МГц. Модели, появившиеся позднее, в 1966 году, тоже имели конвейерные процессоры.

Хотя система System/360 открыла много нового, она не использовала некоторые важные технологии. Больше всего не хватало динамической трансляции адресов (которая появилась в более поздней модели 67). Это не только не давало возможности реализовать виртуальную память, но и делало машину непригодной для нормального разделения времени, которое становилось возможным, благодаря растущей производительности и ресурсам компьютеров. Кроме того, IBM оставила в стороне интегральную микросхему, а вместо неё использовала технологию изготовления толстоплёночных логических интегральных схем, которая, грубо говоря, находилась где-то между интегральной микросхемой и простыми транзисторами. Что касается программного обеспечения, у IBM было слишком много амбиций насчёт OS/360 (одна из операционных систем, разработанных для System/360). Она вышла поздно, использовала много памяти, не имела некоторых обещанных функций и содержала множество ошибок, которые потом ещё долго оставались неисправленными. OS/360 можно назвать ярким примером провала, хотя IBM в итоге всё же исправила свою операционную систему, которая впоследствии дала очень важных потомков.

Несмотря на все эти проблемы, компьютер System/360 был принят "на ура": в первый же месяц было заказано более 1 100 экземпляров, что значительно превысило ожидания и возможности самой IBM. Система долго оставалась успешной, и у неё появился целый рынок "клонов". Клоны производились и в Советском Союзе. Линейка System/360 должна была быть очень гибкой и легко адаптируемой, область её применения была самой разнообразной (одно только программа Аполлон чего стоит!).

Важнее всего то, что система System/360 дала начало линейке, которая на протяжении 50 лет составляла основу рынка вычислительной техники, и является одной из самых важных с коммерческой точки зрения архитектур в истории компьютеров.


В то время как IBM занималась разработкой целого ряда совместимых систем в линейке System/360, компания под названием CDC сосредоточилась на другом: на создании по-настоящему быстрого компьютера.

Не обременённый никакими другими заботами, как то совместимость и стоимость, Сеймур Крей (Seymour Cray) мог свободно применить весь свой талант, сфокусировавшись только на скорости. И он преуспел в этом направлении: машина стоимостью около 7 млн. долларов была самой быстрой в период с 1964 по 1969 год, благодаря использованию уникальной архитектуры, основанной на, как бы мы сейчас сказали, асимметричном многопроцессорном дизайне.

Главный процессор работал на невероятно высокой тактовой частоте 10 МГц, но был существенно ограничен в командах, которые он мог выполнять, поскольку это был самый настоящий процессор с сокращённым набором команд (RISC), хотя такого термина тогда ещё не было. Он мог выполнять только очень простые арифметико-логические функции, однако его дополняли 10 логических периферийных процессоров, которые могли делать то, на что не был способен главный CPU, и снабжали его данными, освобождая при этом от обработанных данных. Возможность сделать процессор более специализированным и параллелизм за счёт использования десяти дополнительных процессоров способствовали исключительной производительности машины. Обладая огромным объёмом памяти (128 тысяч слов), этот 60-битный компьютер мог работать с исполняемыми файлами меньшего размера для дополнительной производительности, что для простого набора инструкций было невозможно.

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

DEC PDP-8

Нажмите на картинку для увеличения.

Пока IBM занималась своей внушительной линейкой System/360, компания Digital Equipment Corp. (DEC) готовилась к выпуску компьютера, который тоже окажет значительное влияние на будущее вычислительных систем: PDP-8. Хотя разные компьютеры в линейке System/360 обладали огромным диапазоном производительности и ёмкости, они всё же оставались мейнфреймами, и даже самые low-end модели для многих организаций были не по карману. Основатель компании DEC, Кен Олсен (Ken Olsen) не оставил этот факт без внимания.

Компания DEC начала выпускать компьютеры уже с 1960 года, однако эти модели имели весьма скромный успех и мало повлияли на компьютерную индустрию. Тем не менее, постоянное развитие технологий, главным образом интегральных микросхем, позволило DEC выпустить гораздо более компактный и менее дорогой компьютер, по сравнению с предшествующими мейнфреймами. Интегральные микросхемы позволили значительно снизить энергопотребление и, как следствие, тепловыделение. Это избавило от необходимости оборудовать специальные помещения с кондиционированием воздуха. Когда в 1965 году был выпущен первый PDP-8, он стоил удивительно дёшево - $18 000, что вместе с вышеупомянутыми преимуществами сделало компьютеры доступными для многих компаний, которые раньше считали их приобретение непозволительно дорогим.

Уникальной функцией PDP-1, первого продукта DEC, было использование настоящего прямого доступа к памяти (direct memory access, DMA), который был гораздо дешевле и проще, нежели каналы, используемые мейнфреймами, и сильно не отнимал производительность процессора. Надо сказать, что один канал памяти мейнфрейма стоил дороже, чем весь PDP-1. Прямой доступ к памяти стал использоваться во всех последующих компьютерах DEC, включая PDP-8. Впрочем, не все функции PDP-8, снижающие стоимость, оказались настолько благоприятными. Длина слова в 12 бит значительно ограничила количество непосредственно адресуемой памяти, при этом только 7 бит слова использовались для адресации, позволяя адресовать напрямую только 128 байт. Эту проблему можно было решить, например, путём использования косвенной адресации, при которой 7 бит указывали на область памяти, содержащую фактический адрес, к которому требуется получить доступ. Такой доступ был значительно медленнее, но позволял использовать все 12 бит. Другой способ заключался в делении памяти на сегменты по 128 байт, после чего сегменты можно менять по мере необходимости (и некоторым пользователям после этого не нравятся 64-кбайт сегменты 16-битных процессоров x86). Ни одно из этих решений не было желательным, они сильно ограничивали функциональность PDP-8 с языками высокого уровня. PDP-8 не был монстром скорости и мог выполнять всего 35 000 операций сложения в секунду.

Несмотря на наличие всех этих компромиссов, PDP-8 имел удивительный успех: пока DEC не прекратила производство этих машин, было продано свыше 50 000 экземпляров. Низкая стоимость самого компьютера, низкие затраты на его эксплуатацию и лёгкость установки перекрывали все недостатки PDP-8. Фактически, эта скромная машина породила совершенно новый тип компьютера под названием "миникомпьютер", который за два десятка лет приобрёл огромную популярность и сделал DEC второй самой крупной компьютерной компанией в мире. Пожалуй, жаль, что миникомпьютеры не устояли перед натиском микрокомпьютеров и сейчас являются исчезнувшим видом, заслуживая название "динозавры" больше, чем мейнфреймы. Мейнфреймы всё ещё занимают вершину цепи, и способны решать задачи, непосильные для настольных компьютеров.


Хотя система System/360 имела большой успех и в некотором отношении была революционной и инновационной, она избегала передовых технологий, дав возможность другим компаниям развивать их. Впрочем, надо отдать ей должное: System/360 хорошо продавалась даже спустя шесть лет после того, как система была анонсирована, и заложила фундамент для последующих поколений, первым из которых был System/370.

Первый выпуск System/370 состоялся в 1970 году и включал в себя всего две машины, названные 155 (на частоте почти 8,70 МГц) и 165 (с частотой 12,5 МГц). Как и следовало ожидать, обе машины были совместимы с программами, написанными для систем System/360, и могли даже использовать те же самые периферийные устройства. Кроме того, была существенно улучшена производительность: System/370 165 работала в пять раз быстрее, чем System/360 65, самая скоростная машина из этой линейки, выпущенная в ноябре 1965 года.

По сравнению с System/360, линейка System/370 обладала рядом новых технологий. IBM наконец-то перешла на использование интегральных микросхем, что уже давно пора было сделать. Большинство моделей в линейке имели память на транзисторах, вместо памяти на магнитных сердечниках. Кроме того, System/370 стала поддерживать динамическую трансляцию адресов (на всех моделях, кроме первых двух) - это была важная технология для разделения времени и виртуальной памяти. Появился также высокоскоростной кэш (80 нс у модели 165), который IBM назвала буфером. Он использовался процессором, чтобы уменьшить относительно длительное (2 мкс, или 2 000 нс) время доступа основной памяти. Ещё одним важным решением было то, что System/370 изначально была построена с учётом двух процессоров и мультипрограммирования.

В конце 70-х годов в стране был накоплен достаточный опыт по производству ЭВМ. В этот момент делается решительный шаг от многообразия к унификации, от моделей с различными принципами организации к серии машин единой архитектуры разной

производительности. В качестве образца такой единой серии выбирается архитектура мэйнфреймов IBM 360. Этот поворотный момент в истории советской вычислительной техники трактуется по- разному, в том числе, как начало ее конца.

Создание IBM-подобных компьютеров происходило, по сути, без возможности легального доступа к первоисточникам. Можно только предположить, насколько плодотворным было бы открытое сотрудничество ученых двух стран. Однако тогда машины воспроизводились, во многом, на основании лишь примерных сведений об их прототипах, так что нашим разработчикам все же оставался большой простор для творчества. Создатели ЕС и СМ настаивают на том, что эти машины являются оригинальными разработками, ориентированными на отечественную промышленность.

Накопители на магнитных лентах для машин серии ЕС ЭВМ. Накопители на магнитных лентах использовались и раньше (на БЭСМ-6).

Накопители на

магнитных дисках

Впервые в СССР

появились у ЭВМ Единой Серии

(начало 70-х годов). Первые такие диски имели емкость порядка нескольких Мбайт. Высота устройства примерно 1 метр.

Автоматическое цифровое печатающее устройство (АЦПУ) для ЭС ЭВМ. Печатала только символьную информацию и никаких вам графиков.

Тем, кто с ним работал, никогда не забыть его стрекочущий звук.

Первый

микрокалькулятор

1972 год. Hewlett-Packard анонсирует калькулятор HP-3 как «быструю, супер-точную электронную логарифмическую линейку», с памятью на полупроводниках типа компьютерной. HP-3 отличался от подобных устройств способностью оперировать с щироким спектром логарифмических и тригонометрических функций, запоминать больше промежуточных значений для дальнейшего использования и воспринимать и отображать данные в стандартной инженерной форме.

Генеалогическое древо ЭВМ, созданных в ИТМ и ВТ, Москва, под руководством С.А. Лебедева

Четвертое поколение ЭВМ

Элементная база – большие и сверхбольшие интегральные схемы (БИС и СБИС).

Похожие статьи