Процессоры. Исторический обзор семейства ес эвм Система ibm 360 ес эвм

Преклоните колени, оупстите очи долу, задумайтесь о вечном и прошепчите как молитву - "ПРОЦ ОПШЕНС МЭЙН". Можно два раза. Сегодня великий день - 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 является накопитель на магнитной ленте, вернее, корпус от него, хранящийся в Тольяттинском Краеведческом музее.

Мейнфреймы

Мейнфре́йм (от англ. mainframe) - данный термин имеет два основных значения.

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

    Компьютер c архитектурой IBM System/360, 370, 390, zSeries.

Особенности и характеристики современных мейнфреймов:

    Среднее время наработки на отказ оценивается в 12-15 лет. Надежность мейнфреймов - это результат почти 60-летнего их совершенствования. Группа разработки VM/ESA затратила двадцать лет на удаление ошибок из операционной системы, и в результате была создана система, которую можно использовать в самых ответственных случаях.

    Повышенная устойчивость систем. Мейнфреймы могут изолировать и исправлять большинство аппаратных и программных ошибок за счет использования следующих принципов.

    Дублирование: два резервных процессора, запасные микросхемы памяти, альтернативные пути доступа к периферийным устройствам.

    Горячая замена всех элементов вплоть до каналов, плат памяти и центральных процессоров.

    Целостность данных. В мейнфреймах используется память, исправляющая ошибки. Ошибки не приводят к разрушению данных в памяти, или данных, ожидающих устройства ввода-вывода. Дисковые подсистемы построенные на основе RAID-массивов с горячей заменой и встроенных средств резервного копирования защищают от потерь данных.

    Рабочая нагрузка мейнфреймов может составлять 80-95% от их пиковой производительности. Для UNIX-серверов, обычно, рабочая нагрузка не может превышать 20-30% от пиковой загрузки. Серверы типа Unix или Microsoft Windows чтобы быть устойчивыми должны выполнять единственное приложение, то есть под каждое приложение типа базы данных, промежуточного ПО или интернет-сервера должна быть выделена отдельная машина, в то время как операционная система мейнфрейма будет тянуть всё сразу, причем все приложения будут тесно сотрудничать и использовать общие куски ПО.

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

    Масштабирование может быть как вертикальным так и горизонтальным. Вертикальное масштабирование обеспечивается линейкой процессоров с производительностью от 5 до 200 MIPS и наращиванием до 12 центральных процессоров в одном компьютере. Горизонтальное масштабирование реализуется объединением ЭВМ в Sysplex (System Complex) - многомашинный кластер, выглядящий с точки зрения пользователя единым компьютером. Всего в Sysplex можно объединить до 32 машин. Географически распределенный Sysplex называют GeoPlex. В случае использования ОС VM для совместной работы можно объединить любое количество компьютеров. Программное масштабирование - на одном мейнфрейме может быть сконфигурировано фактически бесконечное число различных серверов. Причем все серверы могут быть изолированы друг от друга так, как будто они выполняются на отдельных выделенных компьютерах и в тоже же время совместно использовать аппаратные и программные ресурсы и данные.

    Доступ к данным. Поскольку данные хранятся на одном сервере, прикладные программы не нуждаются в сборе исходной информации из множества источников, не требуется дополнительное дисковое пространство для их временного хранения, не возникают сомнения в их актуальности. Требуется небольшое количество физических серверов и значительно более простое программное обеспечение. Все это, в совокупности, ведет к повышению скорости и эффективности обработки.

    Защита. Встроенные в аппаратуру возможности защиты, такие как криптографические устройства, и Logical Partition, и средства защиты операционных систем, дополненные программными продуктами RACF или VM:SECURE, обеспечивают совершенную защиту.

    Сохранение инвестиций - использование данных и существующих прикладных программ, не влечет дополнительных расходов по приобретению нового программного обеспечения для другой платформы, переучиванию персонала, переноса данных.

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

IBM System/360

IBM System/360 (S/360) - это семейство компьютеров класса мейнфреймов, которое было анонсировано 7 апреля 1964 года. Это был первый ряд компьютеров, в котором проводилось чёткое различие между архитектурой и реализацией.

Рис.6 IBM System/360

Отличие от предыдущих серий, IBM создала линейку компьютеров, от малых к большим, от низкой к высокой производительности, все модели которой использовали один и тот же набор команд (с двумя исключениями из правила - для специфичных рынков). Эта особенность позволяла заказчику использовать недорогую модель, после чего обновиться до более крупной системы, с ростом компании - без необходимости переписывать программное обеспечение. Для обеспечения совместимости, IBM впервые применила технологию микрокода, который применялся во всех моделях серии кроме самых старших.

Затраты на разработку System/360 составили около 5 млрд. долларов США (что соответствует 30 млрд. в ценах 2005 г., если сравнивать с 1964). Таким образом, это был второй по стоимости проект НИОКР 1960-х годов после программы «Аполлон».

Дальнейшим развитием IBM/360 стали системы 370, 390, zSeries и z9. В СССР IBM/360 была клонирована под названием ЕС ЭВМ.

Благодаря широкому распространению IBM/360 8-битные символы и 8-битный байт как минимально адресуемая ячейка памяти стали стандартом для всей компьютерной техники.

Шестнадцатеричная система, широко применявшаяся в документации IBM/360, практически вытеснила ранее доминировавшую восьмеричную.

IBM System/370

Рис.7 IBM System/370


BM System/370 (S/370) - серия мейнфреймов, выпущенная компанией IBM. Впервые анонсирована 30 июля 1970 года. Эти машины обладали теми же преимуществами, что и их предшественники System/360: высокой управляемостью, универсальностью, масштабируемостью и надёжностью при обработке приложений с большим объёмом данных в многопользовательской среде и были совместимы с системами System/360. Основными новациями System/370 можно считать возможность использования нескольких процессоров в рамках одной системы, полноценную поддержку виртуальной памяти и новый 128-разрядный блок вещественной арифметики.

IBM System/390

IBM System/390 (S/390) - мейнфреймы компьютерной архитектуры IBM ESA/390, разработанные компанией IBM.

IBM ESA/390 (англ. Enterprise Systems Architecture/390) является развитием архитектур System/360 и System/370; о её выпуске было объявлено в 1990 г. В результате пересмотра бизнес инфраструктуры в 2000 г., дальнейшее развитие архитектуры линии IBM S/390 получило название z/Architecture, а мейнфреймы - zSeries и System z9.

IBM System z

IBM System z (более раннее название IBM eServer zSeries) - бренд созданный компанией IBM, для обозначения линейки мейнфреймов.

Буква Z происходит от «zero down time», означающее нулевое время простоя, что отражает одно из главных качеств сервера - высочайшую надежность, позволяющую непрерывно поддерживать работу сервера на заданном уровне производительности по схеме 7 × 24 (то есть 24 часа в сутки) × 365 (дней).

Рис.8 zSeries 800

2000 году компания IBM сменила название IBM System/390 на IBM eServer zSeries и уже в октябре 2000 была выпущена первая модель этого семейства zSeries 900. В 2002 году было представлено новое семейство zSeries 800. А в апреле появился сервер zSeries 890. В середине 2005 системы этого типа получили новое обозначение - System Z.

Рассмотрим один из представителей этого семейства мейнфреймов - zSeries 890 - класс мейнфреймов, созданный компанией IBM и предназначенный для предприятий среднего размера. В целом z890 построен на базе технологии сервера z990, но обладает меньшей мощностью.

Общие Характеристики:

    От 1 до 4 процессоров.

    От 8 до 256 GB внутренней памяти.

    До 30 логических разделов LPAR.

    До 256 каналов ввода/вывода.

Конструкция:

z890 построен по классической схеме zSeries, но имеет только один фрейм(A-фрейм), в то время как z990 имеет два фрейма(A и Z фреймы).

Фрейм z890 состоит из:

    CEC каркаса

    Каркаса ввода/вывода

    Источников питания

    Системы воздушного охлаждения

    Системы жидкостного охлаждения

Поскольку для сервера z890 реализована только одна аппаратная модель - А04, CEC cage содержит только один процессорный блок(в то время как CEC cage в z990 имеет 4 блока). Поэтому z890 может иметь от 1 до 4 процессоров и от 8 до 32 GB внутренней памяти. Один из процессоров может быть конфигурован как SAP.

Блоки z890 поддерживают пропускнцую способность данных в 16 Gb/sec между памятью и устройствами ввода/вывода используяю до восьми процессорных шин STI(Self-Timed Interconnect).

Серверы z890 работают только в LPAR-режиме. В одном сервере можно определить до 30 логических разделов(LP), и соответственно до 30 логических канальных подсистем(LCSS). Существуют определенные правила построения LPs и LCSSs:

    1. Суперкомпьютеры

Определение понятия суперкомпью́тер (англ. supercomputer) не раз было предметом многочисленных споров и дискуссий.

Чаще всего авторство термина приписывается Джорджу Мишелю и Сиднею Фернбачу, в конце 60-х годов XX века работавшим в Ливерморской национальной лаборатории и компании Control Data Corporation. Тем не менее, известен тот факт, что ещё в 1920 году газета New York World рассказывала о «супервычислениях», выполняемых при помощи табулятора IBM, собранного по заказу Колумбийского университета.

В общеупотребительный лексикон термин «суперкомпьютер» вошёл благодаря распространённости компьютерных систем Сеймура Крея, таких как, Control Data 6600, Control Data 7600, Cray-1, Cray-2, Cray-3 и Cray-4. Сеймур Крей разрабатывал вычислительные машины, которые по сути становились основными вычислительными средствами правительственных, промышленных и академических научно-технических проектов США с середины 60-х годов до 1996 года. Не случайно в то время одним из популярных определений суперкомпьютера было следующее: - «любой компьютер, который создал Сеймур Крей». Сам Крей никогда не называл свои детища суперкомпьютерами, предпочитая использовать вместо этого обычное название «компьютер».

Из-за большой гибкости самого термина до сих пор распространены довольно нечёткие представления о понятии «суперкомпьютер». Шутливая классификация Гордона Белла и Дона Нельсона, разработанная приблизительно в 1989 году, предлагала считать суперкомпьютером любой компьютер, весящий более тонны. Современные суперкомпьютеры действительно весят более 1 тонны, однако далеко не каждый тяжёлый компьютер достоин считаться суперкомпьютером. В общем случае, суперкомпьютер - это компьютер значительно более мощный, чем доступные для большинства пользователей машины. При этом, скорость технического прогресса сегодня такова, что нынешний лидер легко может стать завтрашним аутсайдером.

Архитектура также не может считаться признаком принадлежности к классу суперкомпьютеров. Ранние компьютеры CDC были обычными машинами, всего лишь оснащёнными быстрыми для своего времени скалярными процессорами, скорость работы которых была в несколько десятков раз выше, чем у компьютеров, предлагаемых другими компаниями.

Большинство суперкомпьютеров 70-х оснащались векторными процессорами, а к началу и середине 80-х небольшое число (от 4 до 16) параллельно работающих векторных процессоров практически стало стандартным суперкомпьютерным решением. Конец 80-х и начало 90-х годов охарактеризовались сменой магистрального направления развития суперкомпьютеров от векторно-конвейерной обработки к большому и сверхбольшому числу параллельно соединённых скалярных процессоров.

Массивно-параллельные системы стали объединять в себе сотни и даже тысячи отдельных процессорных элементов, причём ими могли служить не только специально разработанные, но и общеизвестные и доступные в свободной продаже процессоры. Большинство массивно-параллельных компьютеров создавалось на основе мощных процессоров с архитектурой RISC, наподобие PowerPC или PA-RISC.

В конце 90-х годов высокая стоимость специализированных суперкомпьютерных решений и нарастающая потребность разных слоёв общества в доступных вычислительных ресурсах привели к широкому распространению компьютерных кластеров. Эти системы характеризует использование отдельных узлов на основе дешёвых и широко доступных компьютерных комплектующих для серверов и персональных компьютеров и объединённых при помощи мощных коммуникационных систем и специализированных программно-аппаратных решений. Несмотря на кажущуюся простоту, кластеры довольно быстро заняли достаточно большой сегмент суперкомпьютерного рынка, обеспечивая высочайшую производительность при минимальной стоимости решений.

В настоящее время суперкомпьютерами принято называть компьютеры с огромной вычислительной мощностью («числодробилки» или «числогрызы»). Такие машины используются для работы с приложениями, требующими наиболее интенсивных вычислений (например, предсказания погоды, моделирование ядерных испытаний и т. п.), что в том числе отличает их от серверов и мэйнфреймов (англ. mainframe) - компьютеров с высокой общей производительностью, призванных решать типовые задачи (например, обслуживание больших баз данных или одновременная работа с множеством пользователей).

Компьютеры IBM , имеют архитектуру CISC ... , а процессоры Motorola, используемые фирмой Apple ...

  • Архитектура компьютера и его компоненты

    Реферат >> Информатика

    Объем информации, перерабатываемый процессором компьютера в единицу времени. Ритм работы компьютера навязывается генератором тактовых... . Для примера можно перечислить поколения IBM -компьютеров в порядке возрастания их производительности: Intel ...

  • История развития компьютеров , процессоров ,операционных систем

    Реферат >> Информатика

    ... (операционная система, созданная компанией IBM для компьютера IBM 7094). 1.3. Третье поколение (... достижением явилась многозадачность. На компьютере IBM 7094, когда текущая... 1983 году появился компьютер IBM PC/AT с центральным процессором Intel 80286, ...

  • Устройство компьютера Компоненты персонального

    Дипломная работа >> Информатика

    Использоваться во времена процессоров Intel Pentium. Ранее (начиная с компьютеров IBM PC/AT до... платформ на базе процессоров до Socket ...

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

    Разумеется, никакой революции System/360 не смогла бы совершить, если бы у нового семейства ЭВМ не было тщательно продуманной и спроектированной архитектуры (потом позаимствованной и советскими разработчиками). Два основных руководства назывались «IBM System/360 Principles of Operation» и «IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers" Information manuals».

    Что предлагалось разработчикам в System/360? Шестнадцать 32-битных регистров общего назначения, именовавшихся от R0 до R15. Четыре 64-битных регистра для чисел с плавающей запятой, они именовались FP0, FP2, FP4 и FP6. Один 64-битный регистр состояния (Program Status Word или PSW), помимо прочего содержащий 24-битный адрес инструкции.

    Кроме адреса текущей исполняемой инструкции, PSW сохранял биты, разрешающие/запрещающие прерывания, состояние программы, защитный ключ для сравнения с ключами устройств и другие важные параметры. Привилегированная команда LPSW позволяла целиком загрузить значение этого регистра и использовалась в основном для возврата из обработчика прерывания, восстанавливая то состояние, которое было до вызова обработчика. Так же ряд команд позволял манипулировать отдельными флагами этого регистра, не вызывая переходов в другие участки кода.

    Прерывания делились на 5 «классов» в зависимости от приоритета. С каждым классом были ассоциированы две ячейки памяти размером в двойное слово: старый PSW и новый PSW. Когда происходило прерывание, текущее значение PSW вместе с кодом прерывания сохранялось на место старого PSW, а в сам регистр загружалось значение из нового PSW, вызывая переход в обработчик. Классы прерываний были следующими (в порядке возрастания приоритета).

    Прерывания ввода/вывода: сигнализировали о разнообразных событиях ввода-вывода, в том числе и таких затратных по времени как, например, завершение перемотки пленки.

    Программные прерывания. Сигнализировали о возникновении одного из 15 исключений в ходе выполнения программы. Некоторые из этих прерывания могли быть подавлены с помощью сброса соответствующих флагов в PSW.

    Прерывание вызова супервайзора. Происходило в результате выполнения инструкций, обращенных к супервайзору.

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

    Прерывание машинной проверки, происходило в случаях аппаратных сбоев, например при ошибке четности при проверке содержимого регистров.

    Как уже понятно, для адресации памяти использовались 24 бита, что позволяло адресовать 16 мегабайт памяти, но начиная с модели 67 появилась возможность 32-битной адресации, что расширило объем адресуемой (теоретически) памяти до 4 гигабайт. Использовался big-endian порядок, то есть от старшего к младшему. Различные инструкции позволяли работать с байтами, полу-словами (2 байта), полными словами (4 байта), двойными и четверными словами (соответственно 8 и 16 байт).

    Штатно поддерживались следующие типы данных:

    Целые числа длиной в половину или целое слово
    Два вида упакованных в бинарный формат десятичных чисел
    Дробные числа с плавающей запятой (нюансы реализации зависели от версии)
    Символы, хранились в одном байте каждый

    Адресация чаще всего использовалась «усеченная»: инструкции не содержали полный адрес, а только смещение, относительно базового адреса, содержащегося в одном из регистров общего назначения.

    Инструкции могли быть длиной 2, 4 или 6 байт, при этом код операции хранилися в нулевом байте, а остальное занимало описание операндов. Инструкции выравнивались по границам полуслова, поэтому самый младший бит в адресе текущей инструкции всегда был равен нулю.

    Интересно в System/360 был реализован ввод-вывод. Операции ввода-вывода выполнялись концептуально обособленными процессорами, которые назывались «Каналами». У каналов были собственные наборы инструкций, и они работали с памятью независимо от программы, выполнявшейся центральным процессором. В недорогих моделях для поддержки каналов использовался «движок» микрокода центрального процессора, в более дорогих - каналы размещались в собственных шкафах.

    Очень необычно в IBM подошли к управлению своей ЭВМ. Они определили определенный набор функций, не уточняя при этом с помощью каких именно физических средств они должны реализовываться. Это позволило сделать управление универсальным, не зависящим от конкретного железа, для отдачи команд и вывода результатов в ход могло идти любое оборудование: кнопки, наборные диски, клавиатуры, текст и графика на мониторах и т.п. Любая отсылка к «кнопке» или «переключателю» могла означать любой из возможных вводов, начиная со светового пера и заканчивая выбором опции на экране с помощью ввода с клавиатуры.

    В различных моделях System/360 использовались разные дополнительные возможности, расширявшие базовые.

    Защита записи. Если система поддерживала эту опцию, то каждому блоку внешних хранилищ размером в 2 Кб присваивался ключ, который проверялся при записи на это хранилище каналом. То есть каждый канал мог писать только в «свои» блоки. Обычно канал с нулевым адресом использовался самой операционной системой, и для него проверка ключа не осуществлялась. Этот подход позволял защитить системные файлы от стирания пользовательскими программами. В очень редких моделях так же была возможность выставить и защиту от чтения.

    Поддержка мультисистемности. Расширение набора команд, позволявшее работать нескольким процессорам одновременно.

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

    Интервальный таймер. С этой опцией процессор осуществлял периодический декремент слова, находящегося в памяти по адресу 0x50, когда это значение достигало нуля, происходило прерывание. Младшие модели уменьшали число с частотой, совпадавшей с частотой электрической сети (50 или 60 Гц), старшие модели были оснащены таймерами с куда более высоким разрешением.

    В общем, про System/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 ) за предоставленную информацию, и многое другое. В вычитке этой и предыдущей статьи большую помощь оказала Анна Годес.


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

    Похожие публикации