Введение
Начало и конец истории мейнфреймов связан с именем IBM, и это не удивительно. В далёкие 1930-е годы, когда “компьютером” фактически был ваш напарник с логарифмической линейкой, который производил за вас все вычисления, компания IBM была в основном известна своими перфорационными машинами. Но во многом благодаря дальновидному руководству, которое в то время было представлено Томасом Уотсоном (Thomas Watson), IBM трансформировалась из одного из многих продавцов офисной техники в компанию, которая позднее стала монополистом по производству компьютеров.
Harvard Mark I
Машина, получившая название Harvard Mark I, стала примером дальновидности Томаса Уотсона, хотя с практической точки зрения она не была технологической отправной точкой последующих открытий. И всё же стоит взглянуть на эту машину, ведь только так мы сможем увидеть, насколько далеко зашёл прогресс.
Всё началось в 1936 году, когда гарвардский математик Говард Айкен (Howard Aiken) пытался решить проблему, связанную с разработкой вакуумных трубок (ламп). Чтобы добиться прогресса, ему нужно было решить систему нелинейных уравнений, а под рукой не было ничего, что могло бы сделать это за него. Айкен предложил гарвардским учёным построить крупномасштабный калькулятор, который мог бы решать подобные задачи. Однако его предложение было встречено без энтузиазма.
Затем Айкен обратился в Monroe Calculating Company, но компания отвергла его предложение. Тогда Айкен пошёл в IBM. Предложение Айкена, по сути, представляло собой список требований, а не настоящий проект, поэтому компании IBM самой нужно было понять, как воплотить эти требования в жизнь. Начальная стоимость проекта была оценена в $15 000, но она быстро взлетела до $100 000 к тому моменту, когда в 1939 году предложение было принято официально. В итоге воплощение данной идеи в жизнь стоило IBM около $200 000.
Только в 1943 году пятитонный механический “монстр” длиной около 15 метров начал выполнять свои первые вычисления. Поскольку компьютеру нужна была механическая синхронизация между разными вычислительными блоками, по всей его длине располагался вал, приводимый в движение мотором мощностью в пять лошадиных сил. Компьютерная “программа” создавалась путём вставки проводков в штекерную панель. Данные считывались с помощью перфокарт, и результаты печатались на перфокартах или выводились с помощью электрических пишущих машин. Даже по тем временам этот “компьютер” работал медленно. Он мог делать только лишь три операции сложения или вычитания в секунду, а на одно умножение у машины уходило целых шесть секунд. Вычисление каждого логарифма и тригонометрические преобразования занимали более одной минуты.
Как уже говорилось выше, машина Harvard Mark I была технологически бесперспективной и не сделала ничего особо важного за все свои 15 лет использования. Тем не менее, она представляла собой первую в истории полностью автоматизированную вычислительную машину. Несмотря на то, что машина Mark I работала очень медленно, была механической, и ей не хватало таких важных операций, как условный переход, это всё же был компьютер, который был лишь маленьким намёком на то, чему ещё предстояло появиться.
ABC (Atanasoff-Berry Computer)
![]() |
Нажмите на картинку для увеличения.
Первым электронным компьютером на самом деле была машина ABC (Atanasoff-Berry Computer), хотя этот факт был признан многими годами позднее. Словосочетание “электронный компьютер” может показаться странным, однако только что на примере Harvard Mark I мы видели, что действительно были компьютеры без электронных компонентов, которые использовали механические переключатели, регулируемые зубчатые колёса, реле и рукоятки. В отличие от таких машин, компьютер ABC все вычисления производил с помощью электроники, поэтому он является очень важным этапом в развитии вычислительной техники.
Несмотря на то, что компьютер ABC был электронным, его компоненты очень сильно отличались от тех, что используются сегодня. На самом деле, здесь потребовались бы транзисторы и интегральные микросхемы, но в 1939 году, когда Джон Атанасов (John Atanasoff) получил финансирование на сборку прототипа, таких компонентов ещё не было, поэтому он использовал то, что было доступно на тот момент: электровакуумные лампы. Электровакуумные лампы могли усиливать сигналы и работать как переключатели, а значит, они могли использоваться для создания логических схем. Впрочем, эти лампы потребляли много энергии, сильно нагревались и были очень ненадёжными. Такими вот недостатками обладали компьютеры, построенные на электровакуумных лампах, но с этим приходилось мириться.
Логические схемы, созданные Атанасовым с помощью электровакуумных ламп, работали быстро и могли выполнять по 30 операций сложения и вычитания в секунду. Сегодня это является нормой, но тогда компьютеры редко использовали двоичную систему счисления, поскольку в то время с ней были знакомы немногие. Ещё одной важной технологией было использование конденсаторов для памяти и “подпитка” их электричеством для сохранения “содержимого” (аналогично регенерации динамической памяти типа DRAM, используемой сегодня). Однако память не была по-настоящему “random” (не обладала произвольным доступом), поскольку она фактически находилась во вращающемся барабане, который совершал полный оборот за 1 секунду. Конкретные области памяти могли быть считаны только тогда, когда участок барабана, где они находились, оказывался над считывателем. Из-за этого возникали серьёзные задержки. Позднее Атанасов добавил перфорационную машину (в те времена перфокарты очень широко использовались организациями для хранения документов и выполнения расчётов), чтобы хранить данные, которые не могли поместиться в барабан памяти.
В ретроспективе, компьютер ABC был не так уж полезен. Его даже нельзя было запрограммировать. Но, по крайней мере, на концептуальном уровне он представлял собой очень важный этап в развитии компьютеров и стал прародителем компьютеров будущего. Работая над этой машиной, Атанасов пригласил Джона Мочли (John W. Mauchly) посмотреть на своё изобретение. Эта встреча оказалась знаковой. И вот почему.
ENIAC
![]() |
Нажмите на картинку для увеличения.
7 декабря 1941 года Япония напала на Перл-Харбор, втянув Соединённые Штаты во Вторую мировую войну. Каждая воюющая страна столкнулась с проблемой создания баллистических таблиц стрельбы для всех производимых типов артиллерии. Это был очень длительный и утомительный процесс. Поэтому армия США предоставляла средства Электротехнической школе Мура при Университете штата Пенсильвания на разработку электронного компьютера, который смог бы облегчить процесс создания баллистических таблиц стрельбы. Вы уже, должно быть, догадались, что участие во всём этом принимал уже известный нам Джон Мочли, он взялся за проект вместе с талантливым аспирантом по имени Дж. Преспер Эккерт (J. Presper Eckert).
Но Вторая мировая война закончилась до того, как машина была готова. Работа над компьютером была завершена в 1946 году, и публике был представлен “монстр” весом в 30 тонн, состоящий из 15-метровых шкафов, 18 000 вакуумных ламп, 1500 реле, 70 000 резисторов, 10 000 конденсаторов и 6000 ручных переключателей и потребляющий 200 киловатт. Хотя разработка этого компьютера закончилась уже после войны, он всё же принёс пользу. Производительность машины была невероятно высокой: 5000 операций сложения, 357 умножений или 38 делений в секунду. Задачи, на которые у математика уходило 20 часов работы, ENIAC решал всего за 30 секунд.
Основная проблема этого компьютера, помимо ненадёжности, присущей всем машинам на вакуумных лампах, заключалась в том, что он не был программируемым в общепринятом смысле этого слова. “Программы” вводили сотрудницы лаборатории (так называемые “ENIAC girls”) с помощью штекерных панелей и блоков переключателей. Этот процесс обычно занимал от нескольких часов до нескольких дней. Кроме того, в отличие от компьютера ABC, ENIAC работал с десятичными, а не с двоичными числами, и это был своего рода шаг назад.
Тем не менее, ENIAC на славу послужил Соединённым Штатам, особенно после дальнейшей модернизации, пока в 1955 году его не “отправили в отставку”. За время своего существования ENIAC работал над самыми разными проблемами: прогнозы погоды, исследование случайных чисел, теплового воспламенения, аэродинамической трубы, расчёт траектории артиллерийских снарядов и даже разработка водородной бомбы. Подсчитали, что за свою “жизнь” ENIAC сделал больше расчётов, чем всё человечество вплоть до 1945 года.
Хотя история компьютера ENIAC заканчивается в 1955 году, Мочли и Эккерту предстоит ещё многое сделать.
EDVAC
Ещё до первого тестирования компьютера ENIAC Джон Мочли и Преспер Эккерт уже знали его недостатки, как и Джон фон Нейман (John Von Neumann), который многим известен по проекту “архитектура фон Неймана” (хотя на самом деле авторство проекта было коллективным). EDVAC стал первым воплощением этой архитектуры, хотя Мочли и Преспер в 1946 году покинули Университет штата Пенсильвания, где собирался этот компьютер, ещё до завершения его сборки.
В то время с машиной ENIAC было связано несколько больших проблем. Конечно, она работала быстро. Однако у неё было очень мало памяти для хранения данных. Более того, для перепрограммирования ENIAC его приходилось заново перекоммутировать, что могло занять несколько часов и даже дней. По природе своей ENIAC был ненадёжен, поскольку в нём использовалось много электровакуумных ламп. Кроме того, эти ненадёжные лампы потребляли много энергии, занимали много места и вырабатывали слишком много тепла. Понятно, что минимизация их использования дала бы много преимуществ.
В модели EDVAC было два важных концептуальных изменения (одно из которых носило революционный характер), которые сегодня кажутся очевидными. Во-первых, EDVAC использовал двоичную систему счисления в отличие от ENIAC, который работал с десятичными числами, что было гораздо эффективнее. Кроме того, вместо того чтобы заново перекоммутировать машину каждый раз, когда нужно было изменить “программу”, EDVAC привнёс идею хранения программы в памяти, так как если бы это были данные. Как раз такой принцип и применяется сегодня, ведь мы не используем отдельные области оперативной памяти для приложений и для их данных (хотя кэш L1 работает таким образом – он состоит из кэша для данных и кэша для команд). Ориентируясь по ситуации, процессор знает, к чему осуществляется доступ: к данным или к исполняемой программе.
Более того, устройство памяти EDVAC состояло не из электровакуумных ламп, а из двух наборов по 64 ртутных акустических линий задержки. Ртутные линии задержки были в 100 раз эффективнее в отношении хранения данных и предоставляли гораздо больше используемой памяти, делая её более надёжной.
EDVAC был огромным шагом вперёд и приносил большую пользу до 1960 года. Это была двоичная вычислительная машина с хранимой программой, которую можно было запрограммировать гораздо быстрее, чем ENIAC. Кроме того, EDVAC был гораздо меньше по размерам, весил меньше девяти тонн и потреблял “всего” 56 киловатт энергии. И всё же главных “героев” мы увидим позже.
UNIVAC
![]() |
Нажмите на картинку для увеличения.
Как уже было сказано, Эккерт и Мочли ушли из Университета штата Пенсильвания в 1946 году и основали собственную фирму “Electronic Control Co”. В 1947 году они зарегистрировали свою компанию под названием “Eckert-Mauchly Computer Corp.”, сокращённо EMCC. Их уход отсрочил завершение компьютера EDVAC настолько, что быстрее закончилась работа над машиной EDSAC, основанной на дизайне EDVAC. Два энтузиаста хотели исследовать коммерческие возможности новой технологии, что было невозможно сделать в стенах университета, поэтому они разработали компьютер, применив идеи, используемые в EDVAC, а также новые разработки. В процессе своей работы Эккерт и Мочли в коммерческих целях создали BINAC, но больший интерес представляет UNIVAC (Universal Automatic Computer).
UNIVAC стал первым компьютером, предназначенным для коммерческого применения. После его появления в 1951 году 46 экземпляров было продано правительственным организациям и фирмам. До этого все машины были уникальны, т.е. делались в единственном экземпляре. А вот моделей UNIVAC одного и того же дизайна было выпущено много. Эккерт и Мочли верно подметили, что компьютер можно использовать не только для вычислений, но и для обработки данных, в то время как многие их современники считали абсурдной идею использования одного и того же компьютера для решения дифференциальных уравнений и оплаты счетов. Во всяком случае, дальновидность Эккерта и Мочли оказала решающее влияние на разработку дизайна компьютера UNIVAC и способствовала его успеху.
UNIVAC состоял из 5200 электровакуумных ламп (почти все были в процессоре), весил 13 тонн, потреблял 125 киловатт и работал на тактовой частоте 2,25 МГц. Компьютер мог выполнять 455 умножений в секунду и хранить 1 000 слов в своей памяти на ртутных линиях задержки. Каждое слово в памяти могло содержать две команды, 11-символьное число или знак или 12 буквенных символов. Скорость обработки данных UNIVAC была примерно равна тому количеству времени, которое ENIAC тратил на выполнение своих задач. Но во всём остальном UNIVAC был лучше.
Возможно, самым важным достоинством можно считать тот факт, что UNIVAC был во много раз надёжнее, чем ENIAC, главным образом благодаря использованию гораздо меньшего числа вакуумных ламп. Более того, слово “Automatic” в его названии указывает на то, что компьютеру для работы не требовалась помощь человека. Все данные хранились и считывались с накопителя на металлической ленте (больше не приходилось каждый раз вручную загружать программы с помощью бумажных лент или перфокарт). Использование металлических лент значительно ускорило быстродействие по сравнению с ENIAC, поскольку сократилось время ввода/вывода. И, конечно же, исчезла необходимость перекоммутирования компьютера для установки новой “программы”, как в случае с ENIAC. Кроме того, у UNIVAC появились и другие преимущества, такие как буфер (подобен кэшу) между относительно быстрыми линиями задержки и сравнительно медленными ленточными накопителями, дополнительные биты для проверки данных и вышеупомянутая возможность работать как с числами, так и с буквенными символами.
Компьютер UNIVAC приобрёл дополнительную славу, точно предсказав полную победу президента Дуайта Эйзенхауэра (Dwight Eisenhower) в 1952 году на национальном телевидении. Благодаря этому факту, а также тому, что UNIVAC был первым серийно выпускаемым компьютером, компания Remington Rand, купившая EMCC заняла очень сильную позицию в развивающейся индустрии электронных вычислительных машин. UNIVAC бросил вызов всем остальным. А чем в это время занималась компания IBM?
IBM 701
Большинство наших уважаемых читателей, конечно, прекрасно осведомлены о доминирующем положении компании IBM в компьютерном мире с середины до конца 20 века, но мало кто знает, с чего начался успех IBM, как и почему это произошло, и как развивались события.
Начнём наш рассказ с одного из двух компьютеров, разработанных IBM одновременно с UNIVAC. IBM 701 был анонсирован в 1952 году и имел много общего со своим прямым конкурентом UNIVAC, хотя и отличий тоже было много. В качестве памяти использовались не ртутные линии задержки, а 3″ запоминающие электронно-лучевые трубки, также известные как трубки Уильямса (названные так в честь изобретателя). Хотя они были более надёжными, чем обычные электровакуумные лампы, они всё равно оставались слабым местом компьютеров. Впрочем, у трубок Уильямса было одно несомненное преимущество: можно было считать все биты слова за раз, в отличие от ртутных линий задержки UNIVAC, где чтение осуществлялось бит за битом. Процессор тоже работал значительно быстрее, чем у UNIVAC: почти 2200 умножений в секунду против 455. Процессор IBM 701 мог в секунду выполнять почти 17 000 сложений и вычитаний, а также большинство других операций. Для того времени это был поразительный результат. Накопитель IBM на магнитной ленте на 8 млн. байт тоже был очень хорошим и мог останавливаться и стартовать гораздо быстрее, чем у UNIVAC. Кроме того, он мог считывать или писать 12 500 символов в секунду. Впрочем, в отличие от UNIVAC с его удобными буферами памяти, процессору IBM приходилось обрабатывать все операции ввода/вывода, что могло сильно повлиять на производительность приложений, интенсивных в этом отношении.
В 1956 году IBM представила технологию под названием RAMAC – это были первые накопители на сменных магнитных дисках для компьютеров. Запоминающие устройства RAMAC позволяли быстро считывать данные с любого места на диске и могли использоваться не только с компьютером 701, но и с другими моделями IBM, включая 650, о которой мы расскажем чуть позже. Как вы уже поняли, эта технология положила начало жёстким дискам, которые сейчас используются повсеместно.
Компания IBM выпустила 19 701 экземпляров модели 701. Это меньше, чем количество выпущенных UNIVAC, но всё равно достаточно, чтобы Remington Rand не была доминирующей компанией на этом рынке. Стоимость IBM 701 не позволяла этому компьютеру проникнуть в массы: 701 обходился пользователю в более чем $16 000 в месяц. Кроме того, как уже говорилось, компания IBM предлагала не только 701, был ещё и 650.
650 Magnetic Drum Data Processing Machine
Хотя самым непосредственным ответом IBM на выпуск UNIVAC был компьютер 701 (а позднее 702), компания работала так же над low-end машиной под названием 650 Magnetic Drum Data Processing Machine (она была так названа потому, что использовала вращающийся барабан со скоростью вращения 12 500 оборотов в минуту, который мог хранить 2500 десятизначных символов). 650 Magnetic Drum Data Processing Machine позиционировалась между большими мейнфреймами, такими как 701 и UNIVAC, и перфокарточными машинами, используемыми в то время (кстати, последние по-прежнему доминировали на рынке).
В то время как модель 701 вызывала восхищение, 650 приносила деньги и гораздо больше способствовала тому, чтобы компания IBM заняла положение не последнего игрока на рынке компьютерной индустрии. Стоимостью $3250 в месяц (тогда IBM не продавала компьютеры, а только сдавала их в аренду), компьютер 650 был гораздо дешевле, чем 701 и UNIVAC, но всё равно обходился значительно дороже, чем перфокарточные машины, распространённые в то время. В общей сложности было собрано и сдано в аренду более 2000 машин 650. Хотя эта цифра значительно превышала число 701 и UNIVAC, это были мелочи по сравнению с количеством перфокарточных счётных машин, которые IBM продала за тот же период. Несмотря на то, что по компьютерным стандартам модель 650 была очень надёжной, она по-прежнему использовала электровакуумные лампы и, следовательно, была, по сути, менее надёжна, чем электромеханические счётные машины IBM. Кроме того, IBM 650 стоила значительно дороже. Наконец, периферия к этой машине была в лучшем случае среднего качества. Поэтому вплоть до конца 1950-х годов самой распространённой машиной IBM была перфокарточная Accounting Machine 407.
Чтобы “свергнуть” IBM Accounting Machine 407, были нужны большие перемены. Компьютеру нужна была лучшая периферия, большая надёжность и скорость, а стоимость при этом должны была снизиться. Далее мы расскажем не о конкретной машине, которая заставила 407, наконец, уйти в прошлое, а о многочисленных технологиях, которые были разработаны для создания такой машины.
Проект Whirlwind
По иронии судьбы, проект Whirlwind (“Вихрь”) вышел за рамки бюджета, занял гораздо больше времени, чем предполагалось, и никогда не использовался по своему прямому назначению, зато стал одним из самых важных технологических достижений в компьютерном мире.
В 1943 году, когда командование ВВС США передало проект Whirlwind Джею Форрестеру (Jay Forrester) из Массачусетского технологического института (MIT), ему было велено создать имитатор полётов, чтобы пилоты могли тренироваться и отрабатывать технику на нём, а не на настоящих самолётах. Перед Форрестером стояла очень важная задача, в том плане, что требовалась так называемая “система реального времени”, поскольку имитатор должен был реагировать достаточно быстро, чтобы соответствовать реальности. В то время как другие инженеры разрабатывали машины, обрабатывающие от 1000 до 10 000 операций в секунду, Форрестеру пришлось создать машину, способную на выполнение как минимум 100 000 операций в секунду. Более того, поскольку это была система реального времени, надёжность должна была быть значительно выше, чем у других систем того времени.
Проект растянулся на многие годы и закончился намного позже окончания Второй мировой войны. К тому времени пропал интерес к использованию этого проекта для имитатора полётов, и в течение какого-то времени разработчики вообще не знали, что делать с этой машиной. Так продолжалось до тех пор, пока Советский Союз не взорвал свою первую атомную бомбу, после чего правительство США решило модернизировать свою устаревшую и неэффективную систему противовоздушной обороны. Одной из задач было создание компьютерных центров оперативного управления. Проект Whirlwind получил новую жизнь. На карту было поставлено многое, поэтому проблем с финансированием не было.
Впрочем, проблемы были с памятью. Ртутные линии задержки, используемые в других машинах, работали слишком медленно, поэтому Форрестер решил испытать одну многообещающую технологию: электростатические запоминающие трубки. Правда, таких трубок пока ещё не было, поэтому прежде чем получить рабочий продукт, нужно было провести большую опытно-конструкторскую работу. Но как только разработка была закончена, электростатические запоминающие трубки посчитали ненадёжными, да и их ёмкость была слишком мала. Поэтому Форрестер, всегда ищущий лучшие технологии, начал работать над тем, что впоследствии было названо “память на магнитных сердечниках”, или “ферритовая память”. Форрестер передал свою работу аспиранту по имени Билл Папьян (Bill Papian), который тоже работал над этим проектом. У Папьяна к 1951 году уже был готов прототип и рабочий проект, который в 1953 году вытеснил электростатическую память. Новая память работала очень быстро, была очень надёжной, и ей даже не требовалось электрических разрядов для сохранения своего значения. Чуть позже мы подробнее остановимся на ферритовой памяти, достаточно лишь сказать, что это был чрезвычайно важный технологический прорыв, и вскоре память на магнитных сердечниках стала стандартом, который просуществовал более десятка лет.
Ферритовая память была последним кусочком “пазла”. Компьютер был успешно закончен в 1953 году и впервые был развёрнут на полуострове Кейп-Код. Хотя планируемой производительности достичь не удалось, компьютер всё равно был способен выполнять 75 000 операций в секунду, что значительно превышало производительность компьютеров того времени. Массачусетский технологический институт поделился технологией с IBM, где серийный вариант получил название IBM AN/FSQ-7 и увидел свет в 1956 году. Эти “монстры” имели более 50 000 электровакуумных ламп и весили свыше 250 тонн, что сделало их самыми большими компьютерами в истории. Компьютеры IBM AN/FSQ-7 потребляли более мегаватта энергии, без учёта системы кондиционирования воздуха.
Система радиолокационного слежения для противовоздушной обороны SAGE (Semi-Automatic Ground Environment), на которую сейчас был нацелен Whirlwind, полностью заработала к 1963 году. По иронии, к тому времени пользы от этого проекта было не так много, поскольку он был предназначен для отслеживания бомбардировщиков, а межконтинентальные баллистические ракеты (ICBM) появились несколькими годами раньше. Тем не менее, несмотря на то, что фактическое применение Whirlwind было сомнительным, технологии, созданные и усовершенствованные в процессе разработки этого проекта, имели чрезвычайно большое значение. Сюда входит не только применение вышеупомянутой ферритовой памяти, но и разработка печатных схем, запоминающих устройств, компьютерных графических систем (для рисования самолёта), электронно-лучевых трубок и даже светового пера. Соединение таких компьютеров вместе дало США большое преимущество в создании сетей и в технологиях цифровой связи. Компьютеры системы SAGE обладали функцией, которой нет в современных компьютерах: встроенная зажигалка и пепельница. Конечно, установка SAGE стоила своих денег ($8 миллиардов), даже если система не помогла перехватить ни одного бомбардировщика.
IBM 704
Анонсированный в 1954 году, IBM 704 стал первой крупномасштабной серийно выпускаемой компьютерной системой, использовавшей полностью автоматические арифметические операции с плавающей запятой и память на магнитных сердечниках, разработанную для Whirlwind.
Память на магнитных сердечниках (ферритовая память) состояла из крошечных металлических колец размером примерно с булавочную головку, через которые проходили провода, которые можно было намагничивать в любом направлении, придавая логическое значение 0 или 1. Память на магнитных сердечниках обладала множеством важных преимуществ, не последним из которых было то, что ей не требовался ток для сохранения содержимого (преимущество над современной памятью). Кроме того, она обеспечивала настоящий произвольный доступ, при котором доступ к любому участку памяти осуществлялся одинаково быстро (конечно, за исключением тех случаев, когда использовался интерливинг). У прежних типов памяти такого не было. Память на магнитных сердечниках работала значительно быстрее, чем другие используемые технологии памяти, поскольку время доступа равнялось 12 микросекундам. Впрочем, самым важным преимуществом была гораздо более высокая надёжность, которую мог обеспечить IBM 704.
В качестве долговременного запоминающего устройства в 704 использовался магнитный барабан. Для дополнительного хранения данных использовались ленты, способные вмещать по пять миллионов символов.
Компьютер 704 был довольно быстрым и мог выполнять 4000 целочисленных умножений или делений в секунду. Впрочем, как мы уже говорили, 704 мог изначально выполнять арифметические операции с плавающей запятой: почти 12 000 сложений или вычитаний чисел с плавающей запятой в секунду. Более того, 704 применял индексные регистры, которые не только сильно ускоряли ветвления, но и снижали время написания программы (поскольку теперь присутствовала их аппаратная реализация).
704 открыл две основные технологии, которыми мы пользуемся в настоящее время: индексные регистры и арифметические операции с плавающей запятой. Память на магнитных сердечниках тоже сыграла важную роль: она обеспечивала гораздо более высокую скорость и надёжность, хотя данная технология оказалась недолговечной.
IBM 1401 Data Processing System
![]() |
Нажмите на картинку для увеличения.
Если компьютер 650 прославил компанию IBM, то его последователь IBM 1401 Data Processing System вытеснил с рынка перфокарточные машины. Здесь можно провести аналогию с первым в мире дешёвым массовым автомобилем “Форд T”, поскольку сочетание функциональности и относительно низкой стоимости IBM 1401 Data Processing System позволило многим фирмам начать пользоваться компьютерными технологиями. Популярность компьютера 1401 помогла IBM стать лидирующей компанией на этом рынке. Как это ни парадоксально, его успех не был целиком на пользу IBM, этот компьютер уж точно не был самым большим или самым выгодным. Фактически, в некоторых случаях IBM 1401 использовали просто как дополнение к его “старшим братьям” для передачи данных с перфокарт на ленты и для печати.
Впрочем, впервые за всю историю сочетание стоимости, надёжности и функциональности сделало компьютеры очень привлекательными для многих потребителей. По сравнению с компьютером 650, которую заменил 1401, последний работал почти в семь раз быстрее, надёжнее и имел лучшую поддержку. Возможно, важнее всего была усовершенствованная система ввода/вывода. IBM оказалась проницательной и разработала машину, которая действительно делала именно то, что нужно было потребителям, и по разумной цене. В некотором смысле 1401 был слишком хорош, поскольку потребители один за другим начали возвращать IBM арендуемые счётные машины, чтобы взять новое “чудо”. Это вызвало у IBM множество кратковременных проблем, но со стороны компании вполне дальновидным решением было перетерпеть этот период. В дальнейшем история показала, как окупилась новая коммерческая модель.
Так почему же этот компьютер нашёл такой отклик у потребителей? Память на магнитных сердечниках, транзисторы, программное обеспечение и принтеры стали огромными достижениями. Каждое из них давало модели 1401 большое преимущество над 650. Благодаря всем этим преимуществам, продажи мейнфрейма 1401 превысили ожидания IBM в 12 раз.
Мы уже говорили о памяти на магнитных сердечниках, когда рассказывали о 704. Преимущества в скорости, надёжности, высокой ёмкости и меньшем энергопотреблении делают её очень важной технологией. Однако компьютер 704 был очень дорогим и многим организациям он был не по карману. Модель 1401 значительно расширила рынок применения данной технологии.
Сейчас все знают, что такое транзисторы, по сравнению с существующими в то время технологиями они были более надёжными, потребляли меньше энергии, лучше рассеивали тепло и стоили дешевле.
Комплексный подход, которого придерживалась IBM, подразумевал также программное обеспечение. Впервые совершенно бесплатно IBM включила пакеты программ, удовлетворявших большую часть потребностей покупателей, а не оставила разработку программ на пользователей. Это было критически важно, поскольку такие программные пакеты экономили значительно времени и денег на собственной разработке и позволили организациям, в которых не было программистов, наконец-то извлечь пользу из компьютеров.
Как ни странно, одним из самых больших преимуществ компьютера 1401 был принтер. “Цепной” принтер 1403 обладал номинальной скоростью 600 строк в минуту, что в четыре раза превышало скорость счётной машины 407. Кроме того, принтер 1403 был очень надёжным. На самом деле, для многих пользователей принтер 1403 являлся характерной чертой системы и часто служил причиной покупки компьютера, который поставлялся с принтером.
Всё вышеназванное способствовало популярности машины, которая изменила всю компьютерную индустрию. IBM 1401 добился огромного успеха не только благодаря своим отличным характеристикам, но и низкой начальной цене: всего $2500 в месяц. Фактически, после выпуска 1401, громче всех в компьютерном мире звучало имя IBM. Так уж хорош был 1401.
IBM 7090
![]() |
Нажмите на картинку для увеличения.
В конце 1958 года устаревающий 709 (последний в линейке 700) был заменён на IBM 7090. На самом деле, во многих отношениях 7090 был аналогичен 709, только имел 50 000 транзисторов вместо электровакуумных ламп. Однако благодаря транзисторам у модели 7090 было много преимуществ, включая скорость и надёжность.
7090, а затем и его обновлённая модель 7094 представляли собой классические, мощные и очень большие мейнфреймы, которые стоили очень дорого. Аренда 7090 в типичной конфигурации стоила около $63 500 в месяц, и это без учёта электричества.
Несмотря на стоимость, высокая скорость этого мейнфрейма делала его очень привлекательным. 7090 работал в 5-6 раз быстрее, чем 709, и мог выполнять 229 000 сложений/вычитаний, 39 500 умножений или 32 700 делений в секунду. Анонсированный в 1962 году мейнфрейм 7094 был способен выполнять 250 000 сложений/вычитаний, 100 000 умножений и 62 500 делений в секунду. Он мог хранить в памяти 32 768 36-битных слов.
Однако за исключением внедрения новейших технологий (память на магнитных сердечниках, RAMAC, транзисторы и т.д.) и соответствующего улучшения скорости, энергопотребления и надёжности, функционально мейнфрейм 7094 не сильно отличался от своего предшественника. Задания запускались после записи на катушки с плёнкой и выполнялись пакетно, а результаты по завершению возвращались программисту.
Хотя производительность, ёмкость и надёжность этих мейнфреймов были впечатляющими (главным образом, благодаря переходу на транзисторы и другим новым технологиям), IBM 7090 лишь с натяжкой можно назвать революционными машинами, расширившими границы компьютерной индустрии.
IBM 7030 (Stretch)
![]() |
Нажмите на картинку для увеличения.
С компьютером IBM 7030 (Stretch) связан парадокс. Он привнёс новые технологии, многие из которых используются и по сей день, и в течение трёх лет после своего появления он был самым быстрым компьютером в мире. Однако 7030 считался таким провалом, что IBM снизила его стоимость, а вскоре вообще сняла с производства, потеряв около 20 миллионов долларов. Как могло такое случиться?
В 1956 году, Лос-Аламосская научная лаборатория (Los Alamos Scientific Laboratory) заключила с IBM контракт на создание суперкомпьютера. Целью данного компьютера было стократное увеличение производительности по сравнению с IBM 704. Это был очень амбициозный проект. Действительно на момент выпуска в 1961 году компьютер 7030 превосходил мейнфрейм 704 в 38 раз. Но такая производительность не соответствовала поставленной цели, и IBM была вынуждена снизить стоимость с $13,7 млн. всего до $7,78 млн., теряя деньги на каждой машине. Таким образом, после выполнения всех контрактных обязательств IBM отозвала с рынка компьютеры 7030, которые стали её самым большим разочарованием и неудачей. А, может, всё было не так плохо?
Не только производительность этой машины значительно опережала время (полмиллиона команд в секунду), но и привнесённые ею технологии по сей день остаются актуальными. Вам знакомо понятие “предварительная выборка команд”? А предварительная выборка операндов? А как насчёт параллельного выполнения арифметических операций? Была также модель 7619, которая передавала по каналам данные из памяти на магнитных сердечниках на внешние устройства, такие как магнитные ленты, консольные печатающие устройства, карточные перфораторы и устройства для считывания с перфокарт. Это своего рода дорогая версия технологии DMA (прямой доступ к памяти), которую мы используем сегодня, хотя каналы мейнфреймов фактически были самими процессорами и обладали гораздо большей функциональностью, чем DMA. Кроме того, мейнфрейм IBM 7030 использовал прерывания, защиту памяти, интерливинг памяти, буферы записи памяти, перенаправление результата и даже упреждающее исполнение команд. Данный компьютер предоставлял даже ограниченную форму исполнения с изменением последовательности команд под названием “instruction pre-execution”. Вы, наверное, уже догадались, что процессор был конвейерный.
Сфера применения IBM 7030 просто потрясает. Этот мейнфрейм использовался для разработки атомных бомб, в метеорологии, в обеспечении национальной безопасности, а также принимал участие в разработке программы “Аполлон”. Только Stretch мог реализовать всё это, благодаря его огромному объёму памяти (256 000 64-битных слов) и невероятной скорости обработки данных. IBM 7030 мог выполнять свыше 650 000 сложений с плавающей запятой и более 350 000 умножений в секунду. До шести команд могли выполняться “на лету” в блоке индексирования и до пяти команд могли быть “на лету” в блоках предварительной выборки и параллельном арифметическом блоке. Таким образом, в любой момент времени до 11 команд могли находиться на определённой стадии выполнения в Stretch. Даже по сравнению с великолепным мейнфреймом 7090, выпущенным в то время, IBM 7030 работал в 8 – 10 раз быстрее, в зависимости от потока команд.
Несмотря на свою короткую жизнь, 7030 принёс много пользы, его технологии и сейчас используются в компьютерной индустрии. IBM 7030 оказал очень большое влияние на легендарное семейство System/360, и его легко можно было бы назвать самым важным компьютером в истории мейнфреймов. Тем не менее, для IBM он был провалом.
B 5000
![]() |
Нажмите на картинку для увеличения.
Впрочем, справедливости ради, нужно сказать, что не только IBM производила компьютеры со времён UNIVAC. Рассмотрим, к примеру, машину под названием B 5000 от компании Burroughs. Эта модель действительно представляет большой интерес, особенно если учесть, что анонсирована она была в 1961 году. На самом деле, по сей день компания UNISYS поддерживает это программное обеспечение.
Компьютер B 5000 был разработан под языки высокого уровня, а именно COBOL и ALGOL. Имеется в виду, что его машинный язык был создан преимущественно для лёгкого перевода с языков более высокого уровня. Он содержал аппаратный стек, сегментацию и много дескрипторов для доступа к данным.
У дескрипторов было много предназначений, в том числе аппаратная проверка выхода за границы, распознавание символьных строк и массивов слов, упрощение динамического выделения памяти под массивы, указание размера символов и даже проверка наличия данных в памяти на магнитных сердечниках. Зачем всё это было нужно? В двух словах, для виртуальной памяти. B 5000 был первым коммерческим компьютером с такой технологией. Он также поддерживал многопроцессорную обработку и мультипрограммирование, даже с использованием ALGOL и COBOL. Фактически, Master Control Program (MCP) (так называлась операционная система) управляла памятью и вводом/выводом, сегментацией программ, связыванием подпрограмм и планированием, освобождая программиста от всех этих утомительных и трудоёмких задач.
Ещё одним аспектом, которым гордилась Burroughs, была модульная природа компьютера. Модули можно было добавлять или убирать без дорогого “перепрограммирования” всей машины.
С коммерческой точки зрения, B 5000 не был так успешен, как мейнфреймы IBM. Можно даже сказать, что эта та машина, которая всем нравилась, но которую никто не покупал. Впрочем, дизайн B 5000 был элегантен и эффективен. Акцент был сделан на решении проблем в контексте того, как человек взаимодействует с компьютером, а не на скорости ради скорости. Самое главное, что некоторые технологии, впервые применённые в B 5000, такие как виртуальная память и многопроцессорная обработка, являются необходимыми в современных компьютерах, и спустя 48 лет некоторые модели всё ещё поддерживают эту великолепную архитектуру.
UNIVAC 1107
В то время как IBM могла похвастаться инновациями, впервые применёнными в Stretch, Remington Rand, вторая на тот момент лидирующая компьютерная компания в мире, занималась созданием своего чуда – UNIVAC 1107 Thin Film Memory Computer.
Из самого названия следует, что основной технологией было использование тонкоплёночной памяти. Время её доступа составляло 300 наносекунд, а полное время цикла – 600 наносекунд, что для 1962 года (а именно тогда вышла эта машина) было очень большим достижением. Впрочем, тонкоплёночная память не заменяла память на магнитных сердечниках, чьё время цикла равнялось примерно двум микросекундам, а скорее использовалась для предоставления множества регистров-аккумуляторов, индексных регистров и регистров управления ввода/вывода. Это обеспечило ещё больший параллелизм и в результате повысило производительность. В общей сложности, на тонкоплёночной памяти (называемой также “управляющей памятью” благодаря своей функциональности) помещалось 128 36-битных слов. По сегодняшним стандартам, это вообще считалось бы не памятью, а частью процессора, наподобие регистров. Хотя в обоих случаях это действительно очень быстрая внутренняя память.
Хотя самой большой “изюминкой” UNIVAC 1107 стала, конечно, тонкоплёночная память, были и другие интересные функции, которые стоит отметить. Во-первых, использовался удобный размер слов: 36 бит. Символы выражались шестью битами. Блоки памяти перемежались (interleave), так что если чтение осуществлялось последовательно из различных блоков, то время доступа составляло всего 1,8 микросекунд. Если слово находилось в одном и том же блоке, то время доступа составляло 4 мкс. В среднем это сводилось к 2 мкс, поскольку вероятность обращения к разным блокам была выше. Кроме того, UNIVAC 1107 содержал 16 каналов ввода и 16 каналов вывода, которые могли использоваться одновременно для поддержки максимум 250 000 слов в секунду.
Основная память мейнфрейма UNIVAC 1107 состояла из 1-8 магнитных барабанов, каждый из которых мог хранить от 262 144 до 6 291 456 слов, что обеспечивало машине огромную ёмкость памяти: свыше 94 миллионов 36-битных слов (или более полумиллиарда символов).
Хотя сам по себе UNIVAC 1107 без сомнения был хорошим мейнфреймом, его самой важной функцией было то, что он положил начало новому семейству компьютеров. Несмотря на то, что линейка UNIVAC 1100 никогда не достигла того объёма продаж, что компьютеры IBM, она многие годы обеспечивала своему производителю вторую лидирующую позицию на мировом рынке и по сей день поддерживается UNISYS. Впрочем, давайте всё же вернёмся к “Голубому гиганту”.
IBM System/360
Когда речь идёт о мейнфреймах, многие люди в первую очередь представляют семейство компьютеров 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 лет составляла основу рынка вычислительной техники, и является одной из самых важных с коммерческой точки зрения архитектур в истории компьютеров.
CDC 6600
В то время как 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/370
Хотя система 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 изначально была построена с учётом двух процессоров и мультипрограммирования.
Несмотря на то, что появление System/370 не было впечатляющим, эта система заделала некоторые “дыры” в System/360, значительно улучшила скорость, расширила набор команд и поддержала высокий уровень совместимости. Это был большой шаг вперёд. System/370 сохранила доминирование компании IBM в мире мейнфреймов.
3033: “The Big One”
Линейка System/370 доминировала в сегменте мейнфреймов в течение многих лет, предоставляя новые модели с новыми функциями и характеристиками производительности, а в марте 1977 года IBM анонсировала преемника этого удачного семейства компьютеров: 3033 (“The Big One”).
Хотя IBM в основном делала акцент на дополнительной скорости (в 1,6 – 1,8 раз быстрее, чем System/370 168-3) и на значительно более компактных размерах (что не вяжется с названием “The Big One”), технические характеристики этой машины и в современном компьютере выглядели бы неплохо. Процессор, работавший на частоте 17,24 МГц, обладал конвейером длиной в 8 стадий, предсказанием ветвлений и даже упреждающим (спекулятивным) исполнением команд. Он содержал несколько логических блоков и 12 каналов. В процессоре 3033 можно было выделить следующие составляющие: функция обработки команд (instruction preprocessing function, IPPF), исполнительная функция (execution function, E-function), функция управления хранением процессора (processor storage control function, PSCF), функцию обслуживания (maintenance) и повтора (retry), а также популярные каналы, свойственные всем мейнфреймам IBM. Блок IPPF выбирал команды и готовил их к исполнению блоком E-function, устанавливал приоритеты и делал запросы операндов. Он не только использовал предсказание ветвлений, но и мог буферизировать одновременно три потока команд. В случае если предсказание было ошибочным, имелась другая готовая к исполнению последовательность команд. Неудивительно, что E-Function являлся механизмом исполнения команд процессора, который впервые мог похвастаться очень большим 64-Кбайт кэшем (с размером строчки 64 байта), ускоряющим доступ к памяти. Сама память использовала 8-way чередование (interleave), позволяя выполнять обновление в семи банках, с которых не производится чтение, что ускоряло время чтения следующего запроса к одному из семи банков (память DRAM требует обновления после чтения, чтобы можно было к ней обратиться вновь).
Функция управления хранением отвечала за все запросы на хранение или выборку данных из процессорной памяти и переводила виртуальные адреса в абсолютные адреса с помощью технологии, которую мы ранее упоминали как динамическую трансляцию адресов. Подобно современным процессорам, для ускорения процесса использовались буферы быстрого преобразования адреса (TLB). По существу, это кэш адресов, уже преобразованных из виртуальных в абсолютные, поэтому если процессор может найти их в этом кэше, необходимость в преобразовании отпадает. В случае с 3033, если адрес можно найти, то на определение адреса уйдёт один такт, если же нет, то весь процесс может занять от 10 до 40 тактов, а это существенная разница.
Функции обслуживания и повтора обеспечивали путь данных между консолью оператора и процессором 3033 для ручного обслуживания.
Итак, хотя 3033 был якобы всего лишь очень скоростным преемником мощного System/370 168-3, если посмотреть внимательнее, то можно увидеть, что он обладал почти всеми технологиями, присущими современному процессору, и даже некоторыми такими технологиями, которых нет у ряда современных CPU. Впрочем, 3033 всё же имел скалярную архитектуру и, несмотря на свои впечатляющие характеристики, он относительно быстро был заменён на модель 3081. Мы, конечно же, ещё вернёмся к 3081, но сначала давайте посмотрим, что на тот момент могла предложить DEC, вторая самая крупная компьютерная компания в мире.
VAX-11/780
![]() |
Нажмите на картинку для увеличения.
Хотя многие наши читатели знают, что набор команд x86 появился в 1978 году вместе с 8086, возможно, более важное событие произошло годом раньше, когда Digital выпустила VAX-11/780. Но разве может быть что-то важнее, чем набор команд x86?
При упоминании о компании DEC многие вспоминают производителя больших миникомпьютеров, который потерпел крах и был куплен компанией Compaq, когда микрокомпьютеры захватили ключевой рынок DEC. Но что же такого важного случилось в 1977 году? Появились DEC VAX и VMS, последний из которых и сегодня имеет большое значение.
По всей видимости, VAX-11/780 был выпущен для того, чтобы исправить недостатки очень популярного и любимого тогда PDP-11. Из всех изменений DEC заострила внимание только на возможности, наконец, сломать 16-битное (64 K) ограничение адресуемой памяти PDP-11, введя 32-битный адрес в VAX-11/780. Однако изменений было намного больше.
Многие считают, что VAX обладает самой лучшей CISC-архитектурой (полный набор команд), причём даже конкурирующие развились под её влиянием. Это была ортогональная система команд с 243 командами над несколькими базовыми типами данных и с 16 разными режимами адресации. Эта элегантная архитектура оказала сильное влияние на семейство Motorola 68000, которое стало платформой для Apple Lisa и Macintosh, пока в 1990-х годах не было заменено на PowerPC. Кстати, производительность VAX-11/780 была принята в качестве стандарта для оценки производительности, когда “VAX MIPS” (позднее просто “one MIPS”) стал мерой производительности компьютера.
Впрочем, самым важным вкладом VAX стала операционная система VMS. Систему Windows NT разработал никто другой как Дэйв Катлер (Dave Cutler), разработчик VMS. Он был одним из тех многих разработчиков VMS, кто перешли в Microsoft работать над Windows NT. Несмотря на все споры вокруг Windows, Windows NT сегодня всё ещё является доминирующей по использованию операционной системой и будет оставаться такой в обозримом будущем, тем более что Windows 7 принимается лучше, чем Vista. Впрочем, нельзя сказать, что вся прелесть операционной системы VMS заключалась только в том, что она оказала влияние на Windows NT, поскольку это была очень удачно спроектированная система с дружелюбным пользовательским интерфейсом.
Многие хвалили эту лёгкую в использовании операционную систему, которая значительно опережала своё время. И хотя VAX уже нет, OpenVMS всё ещё существует и в настоящее время используется в процессорах Intel Itanium и в устаревших процессорах HP Alpha, её новый релиз должен состояться в этом году. Получается, что выпущенная 32 года назад операционная система остаётся в силе и по сей день.
Несмотря на всю прелесть VAX и VMS, они никогда не делали вызов компании IBM в экономическом плане и даже наоборот помогли “конкуренту” в борьбе с правительством, которому не нравилась монополия IBM. В 1981 году Президент Рональд Рейган аннулировал антимонопольный иск против IBM, и в этом же самом году “Голубой гигант” выпустил компьютер 3081, который, между прочим, стал первым мейнфреймом, с которым посчастливилось работать автору.
3081
Я до сих пор помню тот день в 1988 году, когда мне позвонили из IBM и пригласили на собеседование на должность оператора ЭВМ. Я был в восторге от одной мысли, что самая, на мой взгляд, лучшая компания в мире, единственная, где я хотел работать, может стать моим работодателем. В то время компания IBM являла собой вершину успеха.
В первый свой рабочий день я познакомился с машиной, выпущенной в 1981 году: 3081. В колледже у меня был кое-какой опыт работы со старым мейнфреймом Univac 1100/63, но до тех пор я был больше знаком с микрокомпьютерами, такими как 80386 и 68030. Первое впечатление, которое произвели на меня мейнфреймы, было неприятным. Даже по стандартам микрокомпьютеров того времени, интерфейс был примитивным и гораздо менее интуитивным, чем у PC. Одним словом, они меня не впечатлили.
Масштабы просто потрясали. Площадь помещения с воздушным кондиционированием и фальшполом была огромной, в ней размещался с десяток 3081 и огромное количество устройств памяти с прямым доступом (DASD). В нашем распоряжении было шесть громадных принтеров, размером почти как мейнфрейм. Там же было три терминала (консоли): один для зоны печати, второй для области с ленточными накопителями, а компьютерами управляли из основной консоли.
У нас было три интерфейса для операционной системы MVS, название которой расшифровывается как Multiple Virtual Storages (многосегментная виртуальная память), но мы называли её “man versus system” (человек против системы). Использовались системные консоли, которые разделялись по операциям: time share option (TSO) и operations planning and control (OPC). Консоль TSO многие использовали для своей работы, а консоль OPC применялась, главным образом, для планирования пакетных задач, которые должны были выполняться на системе. Многие программисты предпочитали работать с VM (другая операционная система, разработанная IBM для 3081), прежде чем переносить свою работу на машину с MVS.
Наше подразделение отвечало за основную клиентскую базу (customer master record, CMR), которая использовалась многими приложениями, а иногда и непосредственно пользователями. Она работала на внутреннем приложении IBM под названием AAS, которое никогда не продавалось. Было также несколько приложений под CICS – продукт, продаваемый IBM, и сейчас широко распространённый среди многих компаний. Многие из этих приложений были критичными, и любое время простоя в рабочее время очень дорого стоило. Нам сказали, что каждая минута простоя системы обходится компании IBM в миллион долларов (хотя ни тогда, ни сейчас я в это не верю). Как бы то ни было, после приостановки этих онлайн-приложений (обычно примерно в 8 часов вечера), начиналась пакетная обработка данных. Расписание для заданий в OPC создавалось при помощи языка управления заданиями (job control language, JCL). JCL мог запускать несколько программ в одном задании с указанием ресурсов и порядка исполнения. В программе явным образом не указывалось устройство DASD, поскольку JCL сам определял, откуда вводить и куда выводить данные. Как уже отмечалось, задания отслеживались в консоли OPC и выполнялись в зависимости от времени и/или других зависимостей. Они отправлялись в систему ввода заданий (job entry system, JES) и оттуда выполнялись.
Как уже отмечалось, интерфейс был бедным по сравнению с PC того времени, однако надёжность операционной системы была гораздо выше, чем у производных Windows NT, которыми мы пользуемся сегодня. Именно надёжность я оценил со временем и до сих пор восхищаюсь ею. 3081 обладал “двойной” архитектурой, т.е. у него было два процессора, которые делили один и тот же кэш. Их нельзя было разбить на два компьютера, поскольку они были неделимы. Однако операционная система была настолько сложной, что даже если бы один из процессоров вышел из строя, система продолжала бы работать. Приложение, использовавшее дефектный процессор, дало бы сбой, но так аккуратно, чтобы операционная система опознала бы сбой и отправила его в нужное место для “вылетевших” приложений (мы отслеживали его в консоли OPC и исправляли сами, либо перенаправляли проблему команде поддержки). Я не хочу этим сказать, что процессоры 3081 постоянно ломались, напротив, это происходило редко.
А вот устройства памяти с прямым доступом (DASD) довольно часто выходили из строя, хотя чаще всего сбои происходили, когда нам приходилось выключать их питание и периодически проводить резервирование. Такое поведение было ожидаемо, и у нас всегда были запланированы “дыры” в расписании для ремонта особо проблематичных устройств. Как правило, лишь один-два из несколько сотен DASD выходили из строя во время каждого выключения питания.
Каждый процессор 3081 работал на стремительной тактовой частоте почти 38,5 МГц. По оптимистичным подсчётам IBM, базовый компьютер 3081 (модель D) работал в 21 раз быстрее, чем 3033UP, в то время как high-end модель K – почти в 30 раз быстрее. Отчасти, конечно, это была заслуга дополнительного процессора, хотя совместное использование кэша создавало некоторую избыточность. К примеру, монопроцессор 3083 на самом деле работал на 15% быстрее, чем 3081, когда второй процессор 3081 не был задействован. Модель 3084 расширила эту линейку и имела уже пару двойных процессоров. В отличие от 3081, компьютер 3084 можно было разделить на две отдельные машины. Одним из усовершенствований 3081 была возможность адресации более 16 Мбайт памяти и использование 31-битной адресации вместо 24-битной, как у 3033. В общем, если учесть, что 3081 был выпущен всего на 4 года позднее, чем 3033, это была значительно усовершенствованная машина с хорошим аппаратным оснащением и невероятно стабильным программным обеспечением.
По своему опыту могу сказать, что работать с этими машинами было приятно. Но, несмотря на всю прелесть 3081, 3083 и 3084, мы всё же завидовали тем подразделениям, которые работали с 3090, и постоянно слышали рассказы о невероятной производительности этой машины.
3090
![]() |
Нажмите на картинку для увеличения.
Несмотря на то, что IBM 3090, анонсированный в 1985 году, не был одним из самых известных мейнфреймов, он предлагал серьёзное улучшение по сравнению с архитектурой System/370, которое заключалось не только в повышении скорости, но и в увеличении количества процессоров с возможностью обработки векторных данных.
Изначально были доступны всего две модели: Model 200 и Model 400 (первая цифра указывала на количество процессоров), но за 4 года своего существования линейка значительно расширилась. Были добавлены однопроцессорная версия (серия 1xx) и серия процессоров 600, а также расширенная версия каждой модели (обозначалась буквой “E” после названия модели; например, 600E). Даже начальные модели были внушительными: работали на частоте более 54 МГц и выполняли операции почти в два раза быстрее, чем мейнфреймы 3081, которые они заменили.
На следующий год мейнфрейм 3090 был оснащён функцией обработки векторных данных, что добавило ему 171 новую команду и в 1,5-3 раза ускорило программы, требующие большого объёма вычислений. Версия “E” мейнфрейма 3090 работала на частоте 69 МГц и могла выполнять примерно 25 MIPs (миллионов команд в секунду) на процессор. Для сравнения, процессор x86, а именно 80386, работал тогда на частоте 20 МГц, выполнял около 4 MIPs, был исключительно монопроцессором и не имел векторных команд.
Спустя всего 4 года мейнфрейм 3090 был заменён на линейку ES/9000. Благодаря набирающим популярность локальным сетям (LAN), новым мощным процессорам, таким как 80486, и многочисленным RISC-архитектурам (включая собственную архитектуру IBM POWER), становилось ясно, что эти технологии скоро переведут мейнфреймы в разряд устаревших, как это произошло с миникомпьютерами.
ES/9000
В конце 1990 года IBM заменила прославленный мейнфрейм 3090 на линейку ES/9000, которая ознаменовала начало эры оптоволокна, представив технологию, которую IBM назвала ESCON (Enterprise Systems Connection). Конечно, это было не единственным нововведением этой системы. Томас Дж. Уотсон-младший (Thomas J. Watson Jr.) считал ES/9000 самым важным релизом за всю историю компании. Неужели даже важнее, чем System/360? По крайней мере, Уотсон считал именно так.
Допустим, он не преувеличивал. Конечно же, технология ESCON была важной. Это был оптоволоконный канальный интерфейс, обеспечивающий передачу данных со скоростью 10 Мбайт/с на расстояние до 9 км. А может, Уотсон ссылался на огромный объём памяти 9 Гбайт? Или на возможность использования восьми процессоров в одном кластере (sysplex), что позволяло считать его одним логическим блоком? В то же время, впервые можно было создавать много разделов, распределять ресурсы процессора на каждый логический раздел и запускать на них любую новую (и совместимую) операционную систему Enterprise System Architecture/390. Может быть, и так.
Сомневаемся, что всё дело было в производительности, ведь ES/9000 был всего в 1,7 – 1,9 раза быстрее, чем 3090/600J (предыдущий самый быстрый мейнфрейм IBM), в коммерческих приложениях, в 2,0 – 2,7 раза быстрее в скалярной производительности и в 2,0 – 2,8 раза быстрее в векторной производительности. Результаты впечатляют, но мы видели нечто подобное и раньше. Ни одна из этих цифр не звучит настолько шокирующее, чтобы назвать ES/9000 самым важным релизом в истории лидирующей компании. Впрочем, по сегодняшним стандартам 9 Гбайт – это много, и скорость передачи данных 10 Мбайт/с на расстояние 9 км выше, чем скорости в Интернете, доступные большинству из нас. Последовательная передача используется уже несколько лет, и виртуализация получает всё большее распространение. Восемь процессоров – это хорошая цифра, но двухсокетные системы под четырёхъядерные процессоры больше не являются редкостью. А скоро появятся процессоры с таким же количеством ядер.
Как бы то ни было, в контексте того времени (1990 год), ES/9000 считался колоссальным достижением с многочисленными важными усовершенствованиями во многих аспектах. В конечном счёте, трудно не согласиться с Томасом Уотсоном. А чего ещё можно ожидать от такого выдающегося и талантливого человека?
Но, несмотря на то, что это чудо обладало технологиями, которые не устарели даже по сегодняшним стандартам, наша история, конечно, ещё не закончена. Трудно представить, что что-то может превзойти ES/9000, но ещё труднее вообразить линейку компьютеров, не меняющуюся в течение 19 лет. Давайте посмотрим на последнюю великую новинку IBM.
System z10 EC
Хотя данная статья посвящена истории больших мейнфреймов, в конце мы решили рассказать о компьютере, который можно купить и сегодня. Но и раньше он тоже продавался, поэтому его можно записать в историю. Что ж, давайте посмотрим на самый большой и “крутой” компьютер на планете: System z10 EC.
Сегодня трудно представить компьютер больших размеров, однако IBM смогла создать “монстра” размером почти 3 кв.м., весом более двух тонн с энергопотреблением 27 500 Вт. Ещё не впечатляет? А как насчёт 1 520 Гбайт памяти? Да, это побольше, чем 6 Гбайт большинства наборов для энтузиастов под Core i7. На самом деле, это даже чуть больше, чем средний жёсткий диск для ПК с архитектурой Nehalem. Кроме того, он может иметь 1024 канала ESCON, 336 FICON Express4, 336 FICON Express2, 120 FICON Express, 96 OSA-Express3 и 48 OSA-Express2. Согласитесь, это больше возможностей ввода/вывода, чем у X58. Возможно, на несколько порядков. Эта замечательная машина может даже вместить в себя до 16 виртуальных локальных сетей.
Разумеется, такие компьютеры значительно превышают возможности обычного сервера и фактически объединяют в себе много маленьких компьютеров на процессорах x86. Мейнфреймы не только не забыты, они находят своих покупателей, кто раньше их никогда не использовал и хочет объединить свои серверы на x86 для экономии пространства и электроэнергии. Гибкость этих серверов действительно впечатляет, поскольку можно оснастить их 64 специализированными процессорами для Linux-нагрузок (Integrated Facility for Linux, IFL) или добавить до 32 процессоров zAAP чтобы запускать на них web-приложения через Java или XML с базами данных. Возможно использование до 32 процессоров zIIP для обработки данных и транзакций, а также сетевых нагрузок, которые часто используются для ERP, CRM и XML приложений и шифрования данных IPSec.
Главный процессор z10 обладает богатой CISC-архитектурой и может выполнять 894 команд, 668 из которых “зашиты”. Процессор, подобно ENIAC, даже аппаратно поддерживает операции над числами с плавающей запятой, которые могут сократить ошибки округления и выполняются гораздо быстрее, чем использование двоичных чисел и конвертирования. В довершение всего он может запускать программы, написанные для System/360, возраст которых достигает уже 45 лет, и удивительно надёжную операционную систему MVS, которая сейчас называется z/OS. Один сервер может иметь до 64 таких 4,4-ГГц четырёхъядерных “монстров”, способных работать 99,999% времени (uptime). Не удивительно, что такие машины хорошо продаются, ведь они предоставляют невероятную надёжность, отличную производительность и гибкость, немыслимый объём памяти и очень прогрессивное, но надёжное программное обеспечение.
Естественно, возможности виртуализации этих машин значительно превышают возможности обычных серверов. Они могут запускать множество операционных систем, в том числе Linux, z/OS (включает полную версию UNIX), z/VM и OpenSolaris. Более того, они способны перераспределять дисковое пространство “на лету”, когда одному разделу нужно больше дискового пространства. Кроме того, возможно использование дополнительных процессоров на короткий период пиковой активности и задать расписание с учётом самых загруженных часов.
Эти замечательные машины обладает такими продвинутыми возможностями, что трудно себе представить. Даже если забыть на мгновение о поразительной производительности и гибкости System z10 EC, то всё равно потрясает надёжность этих машин. К примеру, они обладают функцией “lock-stepping”, когда каждая ориентированная на результат команда запускается дважды, и результаты сравниваются, чтобы убедиться в их аналогичности. Если результаты получаются разными, то команда выполняется повторно, и компьютер пытается определить, где произошла ошибка. Он может даже передавать “на лету” инструкции другим процессорам, таким образом, исключая негативное влияние ошибки – если смотреть со стороны пользователя. Более того, при использовании кластерной технологии Parallel Sysplex (кластеризация до 32 мейнфреймов в единую логическую единицу) можно обновлять всё программное и аппаратное обеспечение на любом мейнфрейме без какого-либо простоя и приостановки работы.
System z10 EC можно назвать “динозаврами”, только если сравнивать их огромные размеры с обычными настольными компьютерами. В остальном же, это гораздо более усовершенствованные, мощные, гибкие, ёмкие и полезные машины, нежели те ПК, которые мы все знаем и любим, и не только в отношении “железа”, но и по невероятной стабильности системного ПО. Они по-прежнему остаются основой вычислительной техники и абсолютно не показывают никаких признаков вымирания. Наоборот, объём их продаж растёт с каждым годом. А как может быть иначе?
Мейнфреймы являются примером наивысших достижений человечества, не только потому, сколько труда и способностей в них вложено, но и благодаря той великой роли, которую они сыграли и продолжают играть в жизни человека. И, возможно, не стоит называть их “динозаврами”. Как бриллианты, они представляют собой комбинацию множества обычных составляющих, которые при определённом сочетании, силами природы или выдающейся мысли, становятся чем-то гораздо более совершенным, чем обычный набор компонентов.