Эволюция средств автоматизации вычислены 23
•   устройство управления (УУ), обеспечивающее совместное функционирование устройств ВМ;
•    внутренние шины.
На четвертом уровне детализируются элементы третьего уровня. Так, на рис. 1.1, г раскрыта структура устройства управления. УУ представлено в виде че­тырех составляющих:
•   логики программной последовательности — электронных схем, обеспечиваю­щих выполнение команд программы в последовательности, предписываемой программой;
•    регистров и дешифраторов устройства управления;
•    управляющей памяти;
•    логики формирования управления, генерирующей все необходимые управля­ющие сигналы.
Применительно к параллельным и распределенным многопроцессорным и мно­гомашинным1 вычислительным системам зачастую вводят понятие «метауровня». На данном этапе метауровень рассматриваться не будет.
Эволюция средств автоматизации вычислений
Попытки облегчить, а в идеале автоматизировать процесс вычислений имеют давнюю историю, насчитывающую более 5000 лет. С развитием науки и технологий средства автоматизации вычислений непрерывно совершенствовались. Современное состоя­ние вычислительной техники (ВТ) являет собой результат многолетней эволюции. В последнее время вопросы развития ВТ стали предметом особо пристального внимания ученых, свидетельством чего служит активно развивающаяся новая об­ласть знаний, получившая название «Теория эволюции компьютеров» (Computer evolution theory). Создатели теории обратили внимание на сходство закономерно­стей эволюции вычислительной техники и эволюции в биологии. В основу новой науки положены следующие постулаты:
•    самозарождение -«живых» вычислительных систем из «неживых» элементов (в биологии это явление известно как абиогенез);
•  поступательное продвижение по древу эволюции — от протопроцессорных (од-
нопроцессорных) вычислительных машин к полипроцессорным (многопроцес­сорным) вычислительным системам;
•   прогресс в технологии вычислительных систем как следствие полезных мута­ций и вариаций;
отмирание устаревших технологий в результате естественного отбора;
•    закон Мура1 как подтверждение эволюции вычислительных систем.
1 Гордон Мур — один из основателей компании Intel, в 1965 году сделал знаменательное наблюдение, позже получившее название закона Мура. Он заметил, что плотность транзисторов на кремниевой подложке удваивается каждые 18-24 месяца, соответственно в два раза растет их производитель­ность и в два раза падает их рыночная стоимость.
24 Глава 1. Становление и эволюция цифровой вычислительной техники
По мнению специалистов в области теории эволюции компьютеров, изучение закономерностей развития вычислительных машин и систем может, как и в био­логии, привести к ощутимым практическим результатам.
В традиционной трактовке эволюцию вычислительной техники представляют как последовательную смену поколений ВТ. Появление термина «поколение» от­носится к 1964 году, когда фирма IBM выпустила серию компьютеров IBM 360, назвав эту серию «компьютерами третьего поколения». Сам термин имеет разные определения, наиболее популярными из которых являются:
•   «Поколения вычислительных машин — это сложившееся в последнее время разбиение вычислительных машин на классы, определяемые элементной базой и производительностью» [30].
•   «Поколения компьютеров — нестрогая классификация вычислительных систем по степени развития аппаратных и, в последнее время, программных средств» [37].
При описании эволюции ВТ обычно используют один из двух подходов: хро­нологический или технологический. В первом случае — это хронология событий, существенно повлиявших на становление ВТ. Для наших целей больший интерес представляет технологический подход, когда развитие вычислительной техники рассматривается в терминах архитектурных решений и технологий. По словам глав­ного конструктора фирмы DEC и одного из изобретателей мини-ЭВМ Белла: — «История компьютерной индустрии почти всегда двигалась технологией».
В качестве узловых моментов, определяющих появление нового поколения ВТ, обычно выбираются революционные идеи или технологические прорывы, карди­нально изменяющие дальнейшее развитие средств автоматизации вычислений. Одной из таких идей принято считать концепцию вычислительной машины с хра­нимой в памяти программой, сформулированную Джоном фон Нейманом. Взяв ее за точку отсчета, историю развития ВТ можно представить в виде трех этапов:
•   донеймановского периода;
•   эры вычислительных машин и систем с фон-неймановской архитектурой;
•   постнеймановской эпохи — эпохи параллельных и распределенных вычисле­ний, где наряду с традиционным подходом все большую роль начинают играть отличные от фон-неймановских принципы организации вычислительного про­цесса.                                                                                                             '.
Значительно большее распространение, однако, получила привязка поколений . к смене технологий. Принято говорить о «механической» эре (нулевое поколение) и последовавших за ней пяти поколениях ВС [210]. Первые четыре поколения тра- : диционно связывают с элементной базой вычислительных систем: электронные : лампы, полупроводниковые приборы, интегральные схемы малой степени интег­рации (ИМС), большие (БИС), сверхбольшие (СБИС) и ультрабольшие (УБИС) Ϊ интегральные микросхемы. Пятое поколение в общепринятой интерпретации ас­социируют не столько с новой элементной базой, сколько с интеллектуальными возможностями ВС. Работы по созданию ВС пятого поколения велись в рамках четырех достаточно независимых программ, осуществлявшихся учеными США, Японии, стран Западной Европы и стран Совета экономической взаимопомощи. "
Эволюция средств автоматизации вычислений 25
Ввиду того, что ни одна из программ не привела к ожидаемым результатам, разго­воры о ВС пятого поколения понемногу утихают. Трактовка пятого поколения явно выпадает из «технологического» принципа. С другой стороны, причисление всех ВС на базе сверхбольших интегральных схем (СБИС) к четвертому поколению не отражает принципиальных изменений в архитектуре ВС, произошедших за послед­ние годы. Чтобы в какой-то мере проследить роль таких изменений, воспользуем­ся несколько отличной трактовкой, предлагаемой в [174]. В работе выделяется шесть поколений-ВС. Попытаемся кратко охарактеризовать каждое из них, выде­ляя наиболее значимые события.
Нулевое поколение (1492-1945)
Для полноты картины упомянем два события, произошедшие до нашей эры: пер­вые счеты — абак, изобретенные в древнем Вавилоне за 3000 лет до н. э., и их более «современный» вариант с косточками на проволоке, появившийся в Китае при­мерно за 500 лет также до н. э.
«Механическая» эра (нулевое поколение) в эволюции ВТ связана с механичес­кими, а позже — электромеханическими вычислительными устройствами. Основ­ным элементом механических устройств было зубчатое колесо. Начиная с XX века роль базового элемента переходит к электромеханическому реле. Не умаляя зна­чения многих идей «механической» эры, необходимо отметить, что ни одно из со­зданных устройств нельзя с полным основанием назвать вычислительной машиной в современном ее понимании. Чтобы подчеркнуть это, вместо термина «вычисли­тельная машина» будем использовать такие слова, как «вычислитель», «калькуля­тор» и т. п.
Хронология основных событий «механической» эры выглядит следующим об­разом.
1492 год. В одном из своих дневников Леонардо да Винчи приводит рисунок тринадцатиразрядного десятичного суммирующего устройства на основе зубча­тых колес.
1623 год. Вильгельм Шиккард (Wilhelm Schickard, 1592-1635), профессор уни­верситета Тюбингена, разрабатывает устройство на основе зубчатых колес («счи­тающие часы») для сложения и вычитания шестиразрядных десятичных чисел. Было ли устройство реализовано при жизни изобретателя, достоверно неизвест­но, но в 1960 году оно было воссоздано и проявило себя вполне работоспособным.
1642 год. Блез Паскаль (Blaise Pascal, 1623-1663) представляет «Паскалин» — первое реально осуществленное и получившее известность механическое цифро­вое вычислительное устройство. Прототип устройства суммировал и вычитал пя­тиразрядные десятичные числа. Паскаль изготовил более десяти таких вычисли­телей, причем последние модели оперировали числами длиной в восемь цифр.
1673 год. Готфрид Вильгельм Лейбниц (Gottfried Wilhelm Leibniz, 1646-1716) создает «пошаговый вычислитель» — десятичное устройство для выполнения всех четырех арифметических операций над 12-разрядными десятичными числами. Результат умножения представлялся 16 цифрами. Помимо зубчатых колес в уст­ройстве использовался новый элемент — ступенчатый валик.
1786 год. Немецкий военный инженер Иоганн Мюллер (Johann Mueller, 1746-1830) выдвигает идею «разностной машины» — специализированного калькуля-
26 Глава 1. Становление и эволюция цифровой вьмгслителыюй техники
тора для табулирования логарифмов, вычисляемых разностным методом. Кальку­лятор, построенный на ступенчатых валиках Лейбница,'получился достаточно не­большим (13 см в высоту и 30 см в диаметре), но при этом мог выполнять все четыре арифметических действия над 14-разрядными числами.
1801 год. Жозеф Мария Жаккард (Joseph-Marie Jacquard, 1752-1834) строит ткацкий станок с программным управлением, программа работы которого задается с помощью комплекта перфокарт.
1832 год. Английский математик Чарльз Бэббидж (Charles Babbage, 1792-1871) создает сегмент разностной машины, оперирующий шестиразрядными числами и разностями второго порядка. Разностная машина Бэббиджа по идее аналогична калькулятору Мюллера.
1834 год. Пер Георг Шутц (Per George Scheutz, 1785-1873) из Стокгольма, ис­пользуя краткое описание проекта Бэббиджа, создает из дерева небольшую разно­стную машину.
1836 год. Бэббидж разрабатывает проект «аналитической машины». Проект предусматривает три считывателя с перфокарт для ввода программ и данных, па­мять (по Бэббиджу — «склад») на пятьдесят 40-разрядных чисел, два аккумулятора для хранения промежуточных результатов. В программировании машины предус­мотрена концепция условного перехода. В проект заложен также и прообраз мик­ропрограммирования — содержание инструкций предполагалось задавать путем по­зиционирования металлических штырей в цилиндре с отверстиями. По оценкам автора, суммирование должно было занимать 3 с, а умножение и деление — 2-4 мин.
1843 год. Георг Шутц совместно с сыном Эдвардом (Edvard Scheutz, 1821-1881) строят разностную машину с принтером для работы с разностями третьего порядка.
1871 год. Бэббидж создает прототип одного из устройств своей аналитической машины — «мельницу» (так он окрестил то, что сейчас принято называть цент­ральным процессором), а также принтер.
1885 год. Дорр Фельт (Dorr Е. Felt, 1862-1930) из Чикаго строит свой «комп­тометр» — первый калькулятор, где числа вводятся нажатием клавиш.
1890 год. Результаты переписи населения в США обрабатываются с помощью перфокарточного табулятора, созданного Германом Холлеритом (Herman Hollerith, 1860-1929) из Массачусетсского технологического института.
1892 год. Вильям Барроуз (William S. Burroughs, 1857-1898) предлагает уст­ройство, схожее с калькулятором Фельта, но более надежное, и от этого события берет старт индустрия офисных калькуляторов.
1937 год. Джорж Стибитц (George Stibitz, 1904-1995) из Bell Telephone Labo­ratories демонстрирует первый однобитовый двоичный вычислитель на базе элек­тромеханических реле.
1937 год. Алан Тьюринг (Alan М. Turing, 1912-1954) из Кембриджского уни­верситета публикует статью, в которой излагает концепцию теоретической упро­щенной вычислительной машины, в дальнейшем получившей название машины Тьюринга.
1938год. Клод Шеннон (Claude Е. Shannon, 1916-2001) публикует статью ореа-лизации символической логики на базе реле.                                                       
■ Эволюция средств автоматизации вычислений g|J
■ 1938 год. Немецкий инженер Конрад Цузе (Konrad Zuse, 1910-1995) строит механический программируемый вычислитель Z1 с памятью на 1000 бит. ВпослеД: нее время Z1 все чаще называют первым в мире компьютером.                .-,::,;*
1939 год. Джордж Стибитц и Сэмюэль Вильяме (Samuel Williams, 1911-1977) представили Model I - калькулятор на базе релейной логики, управля1мый с по­мощью модифицированного телетайпа, что позволило подключаться к калькудя тору по телефонной линии. Более поздние модификации допускали также , деленную, степень программирования.                       .                 ..,;■■
1940 год. Следующая работа Цузе — электромеханическая машина Z2, основу которой составляла релейная логика, хотя память, как и в Z1, была механической^
1941  год. Цузе создает электромеханический программируемый вычислитель Z3. Вычислитель содержит 2600 электромеханических реле. Z3 — это перваЯг по­пытка реализации принципа программного управления, хотя и не в полном об:ь£ме (в общепринятом понимании этот принцип еще не был сформулирован). В чаетт ности, не предусматривалась возможность условного перехода. Программэехрани-лась на перфоленте. Емкость памяти составляла 64 22-битовых слова. Операция умножения занимала 3-5 с.                                                                  .
1943 год.: Группа ученых Гарвардского университета во главе с Говардом Айке: ном (HowardAiken, 1900- 1973)разрабатываетвычислительASCC MarkI (Automa­tic Sequence-Controlled Calculator MarkI). — первый программно управляемый вычислитель, получивший широкую известность. Длина устройства составила 18 м, а весило оно 5 т. Машина состояла из множества вычислителей, обрабатывающих свои части общей задачи под управлением единого устройства управления»' Ко­манды считывались с бумажной перфоленты и выполнялись в поряди считьван ия. Данные считывались с перфокарт. Вычислитель обрабатывал 23-разрядные числа, при этом сложение занимало 0,3 с, умножение — 4 с, а деление— 10 с. ,и,.(
1945 год. Цузе завершает Z4 — улучшенную версию вычислителя Z3. По архи­тектуре у Z4 очень много общих черт с современными ВМ: память и профессор представлены отдельными устройствами, процессор может обрабатывать числа с плавающей запятой и, в Дополнение к четырем основным арифметическим опера­циям, способен извлекать квадратный корень. Программа хранится на перфоленте и считывается последовательно.                                                              .           ,
Не умаляя важности каждого из перечисленных фактов, в качестве важнейшего момента «механической» эпохи все-таки выделим аналитическую мащину ^арль Бэббиджа и связанные с ней идеи.
Первое поколение (1937-1953)
Нароль первой в истории электронной вычислительной машины в разные периоды претендовало несколько разработок. Общим у них было использование схем на базе электронно-вакуумных ламп вместо электромеханических реле, Предполага дось, что электронные ключи будут значительно надежнее, цоскольку;в них отсут ствуют движущиеся части, однако технология того времени была настолько несо­вершенной, что/ пд надежности электронные лампы оказались ненамного лучше, чем реле. Однако у электронных компонентов имелось одно важное лреимущ^--
28 Глава 1. Становление и эволюция цифровой вычислительной техники
ство: выполненные на них ключи могли переключаться примерно в тысячу раз быстрее своих электромеханических аналогов.
Первой электронной вычислительной машиной чаще всего называют специа­лизированный калькулятор ABC (Atanasoff-Berry Computer). Разработан он был в период с 1939 по 1942 год профессором Джоном Атанасовым (John V. Atanasoff, 1903-1995) совместно с аспирантом Клиффордом Берри (Clifford Berry, 1918-1963) и предназначался для решения системы линейных уравнений (до 29 уравне­ний с 29 переменными). ABC обладал памятью на 50 слов длиной 50 бит, а запо­минающими элементами служили конденсаторы с цепями регенерации. В качестве вторичной памяти использовались перфокарты, где отверстия не перфорирова­лись, а прожигались. ABC стал считаться первой электронной ВМ, после того как судебным решением были аннулированы патенты создателей другого электрон­ного калькулятора — ENIAC. Необходимо все же отметить, что ни ABC, ни ENIAC не являются вычислительным машинами в современном понимании этого терми­на и их правильней классифицировать как калькуляторы.
Вторым претендентом на первенство считается вычислитель Colossus, постро­енный в 1943 году в Англии в местечке Bletchley Park близ Кембриджа. Изобрета­телем машины был профессор Макс Ньюмен (MaxNewman, 1987-1984), аизгото-вил его Томми Флауэрс (Tommy Flowers, 1905-1998). Colossus был создан для расшифровки кодов немецкой шифровальной машины «Лоренц Шлюссель-цузат-40». В состав команды разработчиков входил также Алан Тьюринг. Машина была выполнена в виде восьми стоек высотой 2,3 м, а общая длина ее составляла 5,5 м. В логических схемах машины и в системе оптического считывания информации использовалось 2400 электронных ламп, главным образом тиратронов. Информа­ция считывалась с пяти вращающихся длинных бумажных колец со скоростью 5000 символов/с.
Наконец, третий кандидат на роль первой электронной ВМ — уже упоминав­шийся программируемый электронный калькулятор общего назначения ENIAC (Electronic Numerical Integrator and Computer — электронный цифровой интегра­тор и вычислитель). Идея калькулятора, выдвинутая в 1942 году Джоном Мочли (JohnJ. Mauchly, 1907-1980) из университета Пенсильвании, была реализована им совместно с Преспером Эккертом (J. Presper Eckert, 1919-1995) в 1946 году. С самого начала ENIAC активно использовался в программе разработки водород- ' ной бомбы. Машина эксплуатировалась до 1955 года и применялась для генериро- . вания случайных чисел, предсказания погоды и проектирования аэродинамичес- ΐ ких труб. ENIAC весил 30 тонн, содержал 18 000 радиоламп, имел размеры 2,5 х 30 м \ и обеспечивал выполнение 5000 сложений и 360 умножений в секунду. Использо- ■; валась десятичная система счисления. Программа задавалась схемой коммутации \ триггеров на 40 наборных полях. Когда все лампы работали, инженерный персонал мог настроить ENIAC на новую задачу, вручную изменив подключение 6000 про- ■ водов. При пробной эксплуатации выяснилось, что надежность машины чрезвы-.-чайно низка — поиск неисправностей занимал от нескольких часов до нескольких ] суток. По своей структуре ENIAC напоминал механические вычислительные ма- \ шины. 10 триггеров соединялись в кольцо, образуя десятичный счетчик, который \ исполнял роль счетного колеса механической машины. Десять таких колец плюс '
Эволюция средств автоматизации вычислеьмй 29
два триггера для представления знака числа представляли запоминающий регистр. Всего в ENIAC было 20 таких регистров. Система переноса десятков в накопите­лях была аналогична предварительному переносу в машине Бэббиджа.
При всей важности каждой из трех рассмотренных разработок основное собы­тие, произошедшее в этот период, связано с именем Джона фон Неймана. Амери­канский математик Джон фон Нейман (John von Neumann, 1903-1957) принял участие в проекте ENIAC в качестве консультанта. Еще до завершения ENIAC Эккерт, Мочли и фон Нейман приступили к новому проекту — EDVAC, главной особенностью которого стала идея хранимой в памяти программы.
Технология программирования в рассматриваемый период была еще на зача­точном уровне. Первые программы составлялись в машинных кодах — числах, не­посредственно записываемых в память ВМ. Лишь в 50-х годах началось использова­ние языка ассемблера, позволявшего вместо числовой записи команд использовать символьную их нотацию, после чего специальной программой, также называемой ассемблером, эти символьные обозначения транслировались в соответствующие коды.
Несмотря на свою примитивность, машины первого поколения оказались весьма полезными для инженерных целей и в прикладных науках. Так, Атанасофф под­считал, что решение системы из восьми уравнений с восемью переменными с по­мощью популярного тогда электромеханического калькулятора Маршана заняло бы восемь часов. В случае же 29 уравнений с 29 переменными, с которыми кальку­лятор ABC справлялся менее чем за час, устройство с калькулятором Маршана затратило бы 381 час. С первой задачей в рамках проекта водородной бомбы ENIAC справился за 20 с, в противовес 40 часам, которые понадобились бы при использо­вании механических калькуляторов.
В 1947 году под руководством С. А. Лебедева начаты работы по созданию ма­лой электронной счетной машины (МЭСМ). Эта ВМ была запущена в эксплуата­цию в 1951 году и стала первой электронной ВМ в СССЗ и континентальной Ев­ропе.
В 1952 году Эккерт и Мочли создали первую коммерчески успешную машину UNIVAC. Именно с помощью этой ВМ было предсказано, что Эйзенхауэр в ре­зультате президентских выборов победит Стивенсона с разрывом в 438 голосов (фактический разрыв составил 442 голоса).
Также в 1952 году в опытную эксплуатацию была запущена вычислительная машинаМ-1 (И. С. Брук, Н.Я. Матюхин, А. Б. Залкинд). М-1 содержала730 элек­тронных ламп, оперативную память емкостью 256 25-разрядных слов, рулонный телетайп и обладала производительностью 15-20 операций/с. Впервые была при­менена двухадресная система команд. Чуть позже группой выпускников МЭИ под руководством И. С. Брука создана машина М-2 с емкостью оперативной памяти 512 34-разрядных слов и быстродействием 2000 операций/с. ·
В апреле 1953 года в эксплуатацию поступила самая быстродействующая в Ев­ропе ВМ БЭСМ (С. А. Лебедев). Ее быстродействие составило 8000-10 000 опе­раций/с. Примерно в то же время выпущена ламповая ВМ «Стрела» (Ю. А. Бази-левский, Б. И. Рамееев) с быстродействием 2000 операций/с.
30 Глава 1. Становление и эволюция цифровой вьмгслителыюй техники
Второе поколение (1954-1962)
Второе поколение характеризуется рядом достижений в элементной базе, струк­туре и программном обеспечении. Принято считать, что поводом для выделения нового поколения ВМ стали технологические изменения, и, главным образом, пе­реход от электронных ламп к полупроводниковым диодам и транзисторам со вре­менем переключения порядка 0,3 мс.
Первой ВМ, выполненной полностью на полупроводниковых диодах и транзи­сторах, стала TRADIC (TRAnisitor Digital Computer), построенная в Bell Labs по заказу военно-воздушных сил США как прототип бортовой ВМ. Машина состо­яла из 700 транзисторов и 10 000 германиевых диодов. За два года эксплуатации TRADIC отказали только 17 полупроводниковых элементов, что говорит о проры­ве^ области надежности, по сравнению с машинами на электронных лампах. Дру­гой достойной упоминания полностью полупроводниковой ВМ стала ТХ-0, создан­ная в 1957 году в Массачусетсском технологическом институте.
Со вторым поколением ВМ ассоциируют еще одно принципиальное техноло­гическое усовершенствование — переход от устройств памяти на базе ртутных ли­ний задержки к устройствам на магнитных сердечниках. В запоминающих устрой­ствах (ЗУ) на линиях задержки данные хранились в виде акустической волны, непрерывно циркулирующей по кольцу из линий задержки, а доступ к элементу ' данных становился возможным лишь в момент прохождения соответствующего ι участка волны вблизи устройства считывания/записи. Главным преимуществом ЗУ на магнитных сердечниках стал произвольный доступ к данным, когда в любой момент доступен любой элемент данных, причем время доступа не зависит оттого, какой это элемент.
Технологический прогресс дополняют важные изменения в архитектуре ВМ. Прежде всего, это касается появления в составе процессора ВМ индексных регис­тров, что позволило упростить доступ к элементам массивов. Прежде, при цикли­ческой обработке элементов массива, необходимо было модифицировать код ко­манды, в частности хранящийся в нем адрес элемента массива. Как следствие, в ходе вычислений коды некоторых команд постоянно изменялись, что затрудняло от­ладку программы. С использованием индексных регистров адрес элемента массива вычисляется как сумма адресной части команды и содержимого индексного реги­стра. Это позволяет обратиться к любому элементу массива, не затрагивая код ко­манды, а лишь модифицируя содержимое индексного регистра.
Вторым принципиальным изменением в структуре ВМ стало добавление аппа­ратного блока обработки чисел в формате с плавающей запятой. До этого обработка вещественных чисел производилась с помощью подпрограмм, каждая из которых имитировала выполнение какой-то одной операции с плавающей запятой (сложе­ние, умножение и т. п.), используя для этой цели обычное целочисленное арифме­тико-логическое устройство.
Третье значимое нововведение в архитектуре ВМ — появление в составе вы­числительной машины процессоров ввода/вывода, позволяющих освободить цен­тральный процессор от рутинных операций по управлению вводом/выводом и обеспечивающих более высокую пропускную способность тракта «память — уст­ройства ввода/вывода» (УВВ).
Эволюция средств автоматизации вычислений 31 ЭД?
Ко второму поколению относятся и две первые суперЭВМ, разработанные для ускорения численных вычислений в научных приложениях. Термин «суперЭВМ» первоначально применялся по отношению к ВМ, производительность который На один или более порядков превосходила таковую для прочих вычислительнь ма-
. шин того же поколения. Во втором поколении этому определению отвечали две ВМ (правильнее сказать системы): LARC (Livermore Atomic Research Computor)' и IBM 7030. Помимо прочего, в этих ВМ нашли воплощение еще две новинки со­вмещение операций процессора с обращением к памяти и простейшие формйг па­раллельной обработки данных.                                                 ...
Заметным событием данного периода стало появление в 1958году машины М-20. В этой ВМ, в частности, были реализованы: частичное совмещение операций, ап Паратные средства поддержки программных циклов, возможности параллельной работы процессора и устройства вывода. Оперативная память емкостью 4096
; 45-разрядных слов была выполнена на магнитных сердечниках.
Шестидесятые оды XX века стали периодом бурного развития вычислитель-
, ной техники в СССР. За этот период разработаны и запущены в производство вычислительные машины «Урал-1», «Урал-4», «Урал-11», «Урал-14», БЭСМ-2;
'^М-40, «Минск- 1»,«Минск-2», «Минск-22»,«Минск-32». В 1960 году под руководи
" ством В. М. Глушкова й Б. Н. Малиновского разработана первая полупроводни-
1 коваяуправляющая машина «Днепр».                                                        '·'-■■■
Наконец, нельзя не отметить значительные события в сфере Программного обес­печения, а именно создание языков программирования высокого уровня: Фортка
/ на (1956), Алгола (1958) и Кобола (1959).                                            ■■■"■'■ '
Третье поколение(1963-1972)
ретье поколение ознаменовалось резким увеличением вычислительной Мощно­сти ВМ, ставшим следствием больших успехов в области архитектуры, технолог:
и программного обеспечения. Основные технологические достижения связанны с переходом от дискретных полупроводниковых элементов к интегральным микро­схемам и началом применения полупроводниковых запоминающих устройств начинающих вытеснять ЗУ на магнитных сердечниках. Существенные изменений произошли и в архитектуре ВМ. Это, прежде всего, микропрограммирование как эффективная техника построения устройств управления сложных процессо а также наступление эры конвейеризации и параллельной обработки.- В области программного обеспечения определяющими вехами стали первые операционные
системы и реализация режима разделения времени.                                     . '..'
; В первых ВМ третьего поколения использовались интегральные схемы с ма­лой степенью интеграции (small-scale integrated circuits, SSI), где на одном кр талле размещается порядка 10 транзисторов. Ближе к концу рассматриваемого периода на1 смену SSI стали приходить интегральные схемы средней стейенй ин-теграции (medium-scale integrated circuits, MSI), в которых число транзисторов на Кристалле' увеличилось на порядок. К этому же времени относится повсеместное применение многослойных печатных плат. Все шире востребуются преимущества параллельной обработки; реализуемые за Счёт Множественных функциональных блоков, совмещения во времени работы центрального Процессор и операций ⧧& да/вывода, конвейеризации потоков команд и данных'.                                .■■ "..,-;
32 Глава 1. Становление и эволюция цифровой вычислительной техники
В 1964 году Сеймур Крей (Seymour Cray, 1925-1996) построил вычислитель­ную систему CDC 6600, в архитектуру которой впервые был заложен функцио­нальный параллелизм. Благодаря наличию 10 независимых функциональных бло­ков, способных работать параллельно, и 32 независимых модулей памяти удалось достичь быстродействия в 1 MFLOPS (миллион операций с плавающей запятой в секунду). Пятью годами позже Крей создал CDC 7600 с конвейеризированными функциональными блоками и быстродействием 10 MFLOPS. CDC 7600 называ­ют первой конвейерной вычислительной системой (конвейерным процессором). Революционной вехой в истории ВТ стало создание семейства вычислительных машин IBM 360, архитектура и программное обеспечение которых на долгие тоды служили эталоном для последующих больших универсальных ВМ (mainframes). В машинах этого семейства нашли воплощение многие новые для того периода идеи, в частности: предварительная выборка команд, отдельные блоки для опера­ций с фиксированной и плавающей запятой, конвейеризация команд, кэш-память. К третьему поколению ВС относятся также первые параллельные вычислитель­ные системы: SOLOMON корпорации Westinghause и ILLIAC ГУ — совместная разработка Иллинойского университета и компании Burroughs. Третье поколение ВТ ознаменовалось также появлением первых конвейерно-векторных ВС: TI-ASC (Texas Instruments Advanced Scientific Computer) и STAR-100 фирмы CBC.
Среди вычислительных машин, разработанных в этот период в СССР, прежде всего необходимо отметить «быстродействующую электронно-счетную машину» -БЭСМ-6 (С. А. Лебедев) с производительностью 1 млн операций/с. Продолжены ем линии М-20 стали М-220 и М-222 с производительностью до 200 000 опера ций/с. Оригинальная ВМ для инженерных расчетов «Мир-1» была создана по; руководством В. М. Глушкова. В качестве входного языка этой ВМ использован язык программирования высокого уровня «Аналитик», во многом напоминаю язык Алгол.
В сфере программного обеспечения необходимо отметить создание в 1970 год; Кеном Томпсоном (Kenneth Thompson) из Bell Labs языка В, прямого предшествен ника популярного языка программирования С, и появление ранней версии оперг ционной системы UNIX.
Четвертое поколение (1972-1984)
Отсчет четвертого поколения обычно ведут с перехода на интегральные микро схемы большой (large-scale integration, LSI) и сверхбольшой (very large-scale int-gration, VLSI) степени интеграции. К первым относят схемы, содержащие окол 1000 транзисторов на кристалле, в то время как число транзисторов на одном кр сталле VLSI имеет порядок 100 000. При таких уровнях интеграции стало возмож ным уместить в одну микросхему не только центральный процессор, но и вьгчи лительную машину (ЦП, основную память и систему ввода/вывода).
Конец 70-х и начало 80-х годов — это время становления и последующего по­бедного шествия микропроцессоров и микроЭВМ, что, однако, не снижает важнос­ти изменений, произошедших в архитектуре других типов вычислительных ма­шин и систем.
Одним из наиболее значимых событий в области архитектуры ВМ стала идея вычислительной машины с сокращенным набором команд (RISC, Redused Instru
Эволюция средств автоматизации вычислений 33
tion Set Computer), выдвинутая в 1975 году и впервые реализованная в 1980 году. В упрощенном изложении суть концепция RISC заключается в сведении набора команд ВМ к наиболее употребительным простейшим командам. Это позволяет упростить схемотехнику процессора и добиться резкого сокращения времени вы­полнения каждой из «простых» команд. Более сложные команды реализуются как подпрограммы, составленные из быстрых «простых» команд.
В ВМ и ВС четвертого поколения практически уходят со сцены ЗУ на магнит­ных сердечниках и основная память строится из полупроводниковых запоминаю­щих устройств (ЗУ). До этого использование полупроводниковых ЗУ ограничи­валось лишь регистрами и кэш-памятью.
В сфере высокопроизводительных вычислений доминируют векторные вычис­лительные системы, более известные как суперЭВМ. Разрабатываются новые па­раллельные архитектуры, однако подобные работы пока еще носят эксперимен­тальный характер. На замену большим ВМ, работающим в режиме разделения времени, приходят индивидуальные микроЭВМ и рабочие станции (этим терми­ном обозначают сетевой компьютер, использующий ресурсы сервера).
В области программного обеспечения выделим появление языков программи- -рования сверхвысокого уровня, таких как FP (functional programming — функцио­нальное программирование) и Пролог (Prolog, programming in logic). Эти языки ориентированы на декларативный стиль программирования, в отличие от Паска­ля, С, Фортрана и т. д. — языков императивного стиля программирования. При дек­ларативном стиле программист дает математическое описание того, что должно быть вычислено, а детали того, каким образом это должно быть сделано, возлага­ются на компилятор и операционную систему. Такие языки пока используются недостаточно широко, но выглядят многообещающими для ВС с массовым парал­лелизмом, состоящими из более чем 1000 процессоров. Ъ компиляторах для ВС четвертого поколения начинают применяться сложные методы оптимизации кода.
Два события в области программного обеспечения связаны с Кеном Томпсо­ном (Kenneth Thompson) и Деннисом Ритчи (Dennis Ritchie) из Bell Labs. Это создание языка программирования С и его использование при написании опера­ционной системы иМГХдля машины DEC PDP-11. Такая форма написания опе­рационной системы позволила быстро распространить UNIX на многие ВМ.
Пятое поколение (1984-1990)
Главным поводом для выделения вычислительных систем второй половины 80-х го­дов в самостоятельное поколение стало стремительное развитие ВС с сотнями процессоров, ставшее побудительным мотивом для прогресса в области параллель­ных вычислений. Ранее параллелизм вычислений выражался лишь в виде конвейе­ризации, векторной обработки и распределения работы между небольшим числом процессоров. Вычислительные системы пятого поколения обеспечивают такое рас­пределение задач по множеству процессоров, при котором каждый из процес­соров может выполнять задачу отдельного пользователя.
В рамках пятого поколения в архитектуре вычислительных систем сформиро­вались два принципиально различных подхода: архитектура с совместно исполь­зуемой памятью и архитектура с распределенной памятью.
34 Глава 1. Становление и эволюция цифровой вычислительной техники
Характерным примером первого подхода может служить система Sequent Balan­ce 8000, в которой имеется большая основная память, разделяемая 20 процессорами. Помимо этого, каждый процессор оснащен собственной кэш-памятью. Каждый из процессоров может выполнять задачу своего пользователя, но при этом в составе программного обеспечения имеется библиотека подпрограмм, позволяющая про­граммисту привлекать для решения своей задачи более одного процессора. Систе­ма широко использовалась для исследования параллельных алгоритмов и техни­ки программирования.
Второе направление развития систем пятого поколения — системы с распреде­ленной памятью, где каждый процессор обладает своим модулем памяти, а связь между процессорами обеспечивается сетью взаимосвязей. Примером такой ВС может служить система iPSC-Ι фирмы Intel, более известная как «гиперкуб». Мак­симальный вариант системы включал 128 процессоров. Применение распределен­ной памяти позволило устранить ограничения в пропускной способности тракта «процессор-память», но потенциальным «узким местом» здесь становится сеть взаимосвязей.
Наконец, третье направление в архитектуре вычислительных систем пятого поколения — это ВС, в которых несколько тысяч достаточно простых процессоров работают под управлением единого устройства управления и одновременно про­изводят одну и ту же операцию, но каждый над своими данными. К этому классу можно отнести Connection Machine фирмы Thinking Machines Inc. и MP-1 фирмы MasParlnc.
В научных вычислениях по-прежнему ведущую роль играют векторные супер­ЭВМ. Многие производители предлагают более эффективные варианты с несколь­кими векторными процессорами, но число таких процессоров обычно невелико (от 2 до 8).
RISC-архитектура выходит из стадии экспериментов и становится базовой ар­хитектурой для рабочих станций (workstations).
Знаковой приметой рассматриваемого периода стало стремительное развитие технологий глобальных и локальных компьютерных сетей. Это стимулировало изменения в технологии работы индивидуальных пользователей. В противовес мощным универсальным ВС, работающим в режиме разделения времени, пользо­ватели все более отдают предпочтение подключенным к сети индивидуальным рабочим станциям. Такой подход позволяет для решения небольших задач задей­ствовать индивидуальную машину, а при необходимости в большой вычислитель­ной мощности обратиться к ресурсам подсоединенных к той же сети мощных файл-серверов или суперЭВМ.
Шестое поколение (1990-)
На ранних стадиях эволюции вычислительных средств смена поколений ассоци­ировалась с революционными технологическими прорывами. Каждое из первых четырех поколений имело четко выраженные отличительные признаки и вполне определенные хронологические рамки. Последующее деление на поколения уже не столь очевидно и может быть понятно лишь при ретроспективном взгляде на развитие вычислительной техники. Пятое и шестое поколения в эволюции ВТ — это отражение нового качества, возникшего в результате последовательного на-
Концепция машины с хранимой в памяти программой 35
копнения частных достижений, главным образом в архитектуре вычислительных систем и, в несколько меньшей мере, в сфере технологий.
Поводом для начала отсчета нового поколения стали значительные успехи в области параллельных вычислений, связанные с широким распространением вы­числительных систем с массовым параллелизмом. Особенности организации та­ких систем, обозначаемых аббревиатурой МРР (massively parallel processing), бу­дут рассмотрены в последующих разделах. Здесь же упрощенно определим их как совокупность большого количества (до нескольких тысяч) взаимодействующих, но достаточно автономных вычислительных машин. По вычислительной мощно­сти такие системы уже успешно конкурируют с суперЭВМ, которые, как ранее от­мечалось, по своей сути являются векторными ВС. Появление вычислительных систем с массовым параллелизмом дало основание говорить о производительности, измеряемой в TFLOPS (1 TFLOPS соответствует 1012 операциям с плавающей за­пятой в секунду).
Вторая характерная черта шестого поколения — резко возросший уровень ра­бочих станций. В процессорах новых рабочих станций успешно совмещаются RISC-архитектура, конвейеризация и параллельная обработка. Некоторые рабочие стан­ции по производительности сопоставимы с суперЭВМ четвертого поколения. Впечатляющие характеристики рабочих станций породили интерес к гетерогенным (неоднородным) вычислениям, когда программа, запущенная на одной рабочей стан­ции, может найти в локальной сети не занятые в данный момент другие станции, после чего вычисления распараллеливаются и на эти простаивающие станции.
Наконец, третьей приметой шестого поколения в эволюции ВТ стал взрывной рост глобальных сетей. Этот момент, однако, выходит за рамки данной книги, по­этому далее комментироваться не будет.
Завершая обсуждение эволюции ВТ, отметим, что верхняя граница шестого поколения хронологически пока не определена и дальнейшее развитие вычисли­тельной техники может внести в его характеристику новые коррективы. Не ис­ключено также, что последующие события дадут повод говорить и об очередном поколении.
Концепция машины с хранимой в памяти программой
Исходя из целей данного раздела, введем новое определение термина «вычисли­тельная машина» как совокупности технических средств, служащих для автома­тизированной обработки дискретных данных по заданному алгоритму.
Алгоритм — одно из фундаментальных понятий математики и вычислитель­ной техники. Международная организация стандартов (ISO) формулирует поня­тие алгоритм как «конечный набор предписаний, определяющий решение задачи посредством конечного количества операций» (ISO 2382/1-84). Помимо этой стан­дартизированной формулировки существуют и другие определения. Приведем наиболее распространенные из них. Итак, алгоритм — это:
• способ преобразования информации, задаваемый с помощью конечной систе­мы правил;
Hosted by uCoz