ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6672
Скачиваний: 8
Развитие компьютерной архитектуры 33
Вторая мировая война повлияла и на развитие компьютерной техники в США.
Армии нужны были таблицы стрельбы, которые использовались при нацелива-
нии тяжелой артиллерии. Сотни женщин нанимались для высчитывания этих таб-
лиц на ручных счетных машинах (считалось, что женщины более аккуратны
при расчетах, чем мужчины). Тем не менее этот процесс требовал много времени,
и часто случались ошибки.
Джон Моушли, который был знаком с работами Атанасова и Стибитса, понимал,
что армия заинтересована в создании механических счетных машин. Он потре-
бовал от армии финансирования работ по созданию электронного компьютера.
Требование было удовлетворено в 1943 году, и Моушли со своим студентом,
Дж. Преспером Экертом, начали конструировать электронный компьютер, который
они назвали
ENIAC
(Electronic Numerical Integrator and Computer — электрон-
ный цифровой интегратор и калькулятор). Он состоял из 18 000 электровакуум-
ных ламп и 1500 реле. ENIAC весил 30 тонн и потреблял 140 киловатт электроэнер-
гии. У машины было 20 регистров, каждый из которых мог содержать 10-разрядное
десятичное число. (Десятичный регистр — это память очень маленького объема,
которая может вмещать число до какого-либо определенного максимального ко-
личества разрядов, что-то вроде одометра, который запоминает километраж прой-
денного автомобилем пути.) В ENIAC было установлено 6000 многоканальных пе-
реключателей и множество кабелей было протянуто к розеткам.
Работа над машиной была закончена в 1946 году, когда она уже была не нужна.
Но поскольку война закончилась, Моушли и Экерту позволили организовать
школу, где они рассказывали о своей работе коллегам-ученым. С этой школы на-
чалось развитие интереса к созданию больших цифровых компьютеров.
После появления школы и другие исследователи взялись за конструирование
электронных вычислительных машин. Первым рабочим компьютером был EDS АС
(1949 год). Эту машину сконструировал Морис Уилкс в Кембриджском универ-
ситете. Далее JOHNIAC — в корпорации Rand, ILLIAC — в Университете Илли-
нойса, MANIAC — в лаборатории Лос-Аламоса и WEIZAC — в Институте Вайц-
мана в Израиле.
Экерт и Моушли вскоре начали работу над машиной
EDVAC
(Electronic Discrete
Variable Computer — электронная дискретная параметрическая машина). К не-
счастью, этот проект закрылся, когда они ушли из университета, чтобы основать
компьютерную корпорацию в Филадельфии (Силиконовой долины тогда еще не
было). После ряда слияний эта компания превратилась в Unisys Corporation.
Экерт и Моушли хотели получить патент на изобретение цифровой вычисли-
тельной машины. После нескольких лет судебной тяжбы было вынесено решение,
что патент недействителен, так как цифровую вычислительную машину изобрел
Атанасов, хотя он и не запатентовал свое изобретение.
В то время как Экерт и Моушли работали над машиной EDVAC, один из участ-
ников проекта ENIAC, Джон фон Нейман, поехал в Институт специальных ис-
следований в Принстоне, чтобы сконструировать свою собственную версию EDVAC,
машину
IAS
1
.
Фон Нейман был гением в тех же областях, что и Леонардо да Вин-
чи. Он знал много языков, был специалистом в физике и математике и обладал
феноменальной памятью; он помнил все, что когда-либо слышал, видел или читал.
Сокр. от Immediate Address Storadge — память с прямой адресацией. —
Примеч. перев.
34
Глава 1. Предисловие
Он мог дословно процитировать по памяти тексты книг, которые читал несколько
лет назад. Когда фон Нейман стал интересоваться вычислительными машинами,
он уже был самым знаменитым математиком в мире.
Фон Нейман вскоре осознал, что создание компьютеров с большим количеством
переключателей и кабелей требует длительного времени и очень утомительно. Он
пришел к мысли, что программа должна быть представлена в памяти компьютера
в цифровой форме, вместе с данными. Он также отметил, что десятичная арифме-
тика, используемая в машине ENIAC, где каждый разряд представлялся 10 элект-
ронными лампами (1 включена и 9 выключены), должна быть заменена бинарной
арифметикой.
Основной проект, который он описал вначале, известен сейчас как
фон-нейма-
новская вычислительная машина. Он
был использован в EDS АС, первой машине
с программой в памяти, и даже сейчас, более чем полвека спустя, является основой
большинства современных цифровых компьютеров. Этот замысел и машина IAS
оказали очень большое влияние на дальнейшее развитие компьютерной техники,
поэтому стоит кратко описать его. Схема архитектуры этой машины дана на рис. 1.4.
Память
Блок
авления
Арифметико-
логичес
устройс
кое
тво
J--
Ввод
Вывод
т
Аккумулятор
Рис. 1.4. Схема фон-неймановской вычислительной машины
Машина фон Неймана состояла из пяти основных частей: памяти, арифмети-
ко-логического устройства, устройства управления, а также устройств ввода-вы-
вода. Память включала 4096 слов, каждое слово содержало 40 битов, бит — это 0
или 1. Каждое слово содержало или 2 команды по 20 битов, или целое число со
знаком на 40 битов. 8 битов указывали на тип команды, а остальные 12 битов опре-
деляли одно из 4096 слов.
Внутри арифметико-логического устройства находился особый внутренний
регистр в 40 битов, так называемый аккумулятор. Типичная команда добавляла
слово из памяти к аккумулятору или сохраняла содержимое аккумулятора в па-
мяти. Эта машина не выполняла арифметические операции с плавающей точкой,
так как фон Нейман понимал, что любой сведущий математик был способен дер-
жать плавающую запятую в голове.
Примерно в то же время, когда фон Нейман работал над машиной IAS, исследо-
ватели МТИ разрабатывали свой компьютер Whirlwind I. В отличие от IAS, ENI АС
и других машин того же типа со словами большой длины, машина Whirlwind I
содержала слова по 16 битов и была предназначена для работы в реальном времени.
Развитие компьютерной архитектуры 35
Этот проект привел к изобретению памяти на магнитном сердечнике (изобрета-
тель Джей Форрестер), а затем и первого серийного мини-компьютера.
В то время IBM была маленькой компанией, производившей перфокарты и ме-
ханические машины для их сортировки. Хотя фирма IBM частично финансирова-
ла проект Айкена, она не интересовалась компьютерами и только в 1953 году
построила компьютер IBM-701, через много лет после того, как компания Экерта
и Моушли со своим компьютером UNIVAC стала номером один на компьютерном
рынке.
В IBM-701 было 2048 слов по 36 битов, каждое слово содержало две команды.
Он стал первым компьютером, лидирующим на рынке в течение десяти лет. Через
три года появился IBM-704, у которого было 4 Кбайт памяти на магнитных сердечни-
ках, команды по 36 битов и процессор с плавающей точкой. В 1958 году компания
IBM начала работу над последним компьютером на электронных лампах, IBM-709,
который по сути представлял собой усложненную версию IBM-704.
Второе поколение — транзисторы (1955-1965)
Транзистор был изобретен сотрудниками лаборатории Bell Laboratories Джоном
Бардином, Уолтером Браттейном и Уильямом Шокли, за что в 1956 году они по-
лучили Нобелевскую премию в области физики. В течение десяти лет транзисто-
ры произвели революцию в производстве компьютеров, и к концу 50-х годов ком-
пьютеры на вакуумных лампах устарели. Первый компьютер на транзисторах был
построен в лаборатории МТИ. Он содержал слова из 16 битов, как и Whirlwind I.
Компьютер назывался ТХ-0 (Transistorized experimental computer 0 — эксперимен-
тальная транзисторная вычислительная машина 0) и предназначался только для
тестирования машины ТХ-2.
Машина ТХ-2 не имела большого значения, но один из инженеров из этой лабо-
ратории, Кеннет Ольсен, в 1957 году основал компанию DEC (Digital Equipment
Corporation — корпорация по производству цифровой аппаратуры), чтобы произ-
водить серийную машину, сходную с ТХ-0. Эта машина, PDP-1, появилась только
через четыре года главным образом потому, что капиталисты, финансирующие
DEC, считали производство компьютеров невыгодным. Поэтому компания DEC
продавала в основном небольшие электронные платы.
PDP-1 появился только в 1961 году. У него было 4 Кбайт слов по 18 битов и время
цикла 5 микросекунд. Этот параметр был в два раза меньше, чем у IBM-7090, тран-
зисторного аналога IBM-709. PDP-1 был самым быстрым компьютером в мире в то
время. PDP-1 стоил $120000, a IBM-7090 стоил миллионы. Компания DEC прода-
ла десятки компьютеров PDP-1, и так появилась компьютерная промышленность.
Одну из первых машин модели PDP-1 отдали в МТИ, где она сразу привлекла
внимание некоторых молодых исследователей, подающих большие надежды. Одним
из нововведений PDP-1 был дисплей с размером 512 на 512 пикселов, на котором
можно было рисовать точки. Вскоре студенты МТИ составили специальную программу
для PDP-1, чтобы играть в «Войну миров» — первую в мире компьютерную игру.
Через несколько лет DEC разработал модель PDP-8, 12-битный компьютер.
PDP-8 стоил гораздо дешевле, чем PDP-1 ($16000). Главное нововведение — одна
шина (Omnibus) (рис. 1.5). Шина — это набор параллельно соединенных проводов
36
Глава 1. Предисловие
для связи компонентов компьютера. Это нововведение сильно отличало PDP-8 от
I AS. Такая структура с тех пор стала использоваться во всех компьютерах. Компа-
ния DEC продала 50 000 компьютеров модели PDP-8 и стала лидером на рынке
мини-компьютеров.
Центральный
процессор
Память
Консоль
Устройство
считывания
перфоленты
Другие
устройства
ввода-вывода
Шина
Omnibus
Рис. 1.5. Шина компьютера PDP-8
Как уже было сказано, с изобретением транзисторов компания IBM построила
транзисторную версию IBM-709 — IBM-7090, а позднее — IBM-7094. У нее время
цикла составляло 2 микросекунды, а память состояла из 32 К слов по 16 битов.
IBM-7090 и IBM-7094 были последними компьютерами типа ENIAC, но они ши-
роко использовались для научных расчетов в 60-х годах прошлого века.
Компания IBM также выпускала компьютеры IBM-1401 для коммерческих
расчетов. Эта машина могла считывать и записывать магнитные ленты и перфо-
карты и распечатывать результат так же быстро, как и IBM-7094, но при этом сто-
ила дешевле. Для научных вычислений она не подходила, но зато была очень удобна
для ведения деловых записей.
У IBM-1401 не было регистров и фиксированной длины слова. Память содер-
жала 4 Кбайт по 8 битов (4 Кбайт). Каждый байт содержал символ в 6 битов, адми-
нистративный бит и бит для указания конца слова. У команды MOVE, например, есть
исходный адрес и адрес пункта назначения. Эта команда перемещает байты из пер-
вого адреса во второй, пока бит конца слова не примет значение 1.
В 1964 году компания CDC (Control Data Corporation) выпустила машину 6600,
которая работала почти на порядок быстрее, чем IBM-7094. Этот компьютер для
сложных расчетов пользовался большой популярностью, и компания CDC пошла
в гору. Секрет столь высокой скорости работы заключался в том, что внутри ЦПУ
(центрального процессора) находилась машина с высокой степенью параллелизма.
У нее было несколько функциональных устройств для сложения, умножения и деле-
ния, и все они могли работать одновременно. Для того чтобы машина быстро рабо-
тала, нужно было составить хорошую программу, но приложив некоторые усилия,
можно было сделать так, чтобы машина выполняла 10 команд одновременно.
Внутри машины 6600 было встроено несколько маленьких компьютеров. ЦПУ,
таким образом, производило только подсчет чисел, а остальные функции (управ-
ление работой машины, а также ввод и вывод информации) выполняли маленькие
компьютеры. Некоторые принципы устройства 6600 используются и в современ-
ных компьютерах.
Разработчик компьютера 6600 Сеймур Крей был легендарной личностью, как
и фон Нейман. Он посвятил всю свою жизнь созданию очень мощных компьюте-
ров, которые сейчас называют суперкомпьютерами. Среди них можно назвать
CDC-6600, CDC-7600 и Сгау-1. Сеймур Крей также является автором известного
Развитие компьютерной архитектуры 37
«алгоритма покупки автомобилей»: вы идете в магазин, ближайший к вашему дому,
показываете на машину, ближайшую к двери, и говорите: «Я беру эту». Этот алго-
ритм позволяет тратить минимум времени на не очень важные дела (покупку авто-
мобилей) и оставляет большую часть времени на важные (разработку суперком-
пьютеров).
Следует упомянуть еще один компьютер — Burroughs B5000. Разработчики
машин PDP-1, ШМ-7094 и CDC-6600 занимались только аппаратным обеспече-
нием, стараясь снизить его стоимость (DEC) или заставить работать быстрее (IBM
и CDC). Программное обеспечение не менялось. Производители В5000 пошли
другим путем. Они разработали машину с намерением программировать ее на языке
Algol 60 (предшественнике языка Pascal), сконструировав аппаратное обеспече-
ние так, чтобы упростить задачу компилятора. Так появилась идея, что программ-
ное обеспечение также нужно учитывать при разработке компьютера. Но вскоре
эта идея была забыта.
Третье поколение — интегральные
схемы (1965-1980)
Изобретение кремниевой интегральной схемы в 1958 году (изобретатель — Роберт
Нойс) дало возможность помещать десятки транзисторов на одну небольшую мик-
росхему. Компьютеры на интегральных схемах были меньшего размера, работали
быстрее и стоили дешевле, чем их предшественники на транзисторах. Ниже опи-
саны наиболее значительные из них.
К 1964 году компания IBM лидировала на компьютерном рынке, но существо-
вала одна большая проблема: компьютеры IBM-7094 и IBM-1401, которые она
выпускала, были несовместимы друг с другом. Один из них предназначался для
сложных расчетов, в нем использовалась двоичная арифметика на регистрах по
36 битов, а во втором использовалась десятичная система счисления и слова разной
длины. У многих покупателей были оба компьютера, и им не нравилось, что они
совершенно несовместимы.
Когда пришло время заменить эти две серии компьютеров, компания IBM
сделала решительный шаг. Она выпустила серию компьютеров на транзисторах,
System/360, которые были предназначены и для научных, и для коммерческих
расчетов. System/360 содержала много нововведений. Это было целое семейство
компьютеров с одним и тем же языком (ассемблером). Каждая новая модель была
больше по размеру и по мощности, чем предыдущая. Компания могла заменить
IBM-1401 на IBM-360 (модель 30), a IBM-7094 - на IBM-360 (модель 75). Мо-
дель 75 была больше по размеру, работала быстрее и стоила дороже, но програм-
мы, написанные для одной из них, могли использоваться для другой. На практике
программы, написанные для маленькой модели, выполнялись большой моделью
без особых затруднений. Но в случае переноса программного обеспечения с боль-
шой машины на маленькую могло не хватить памяти. И все же создание такой
серии компьютеров было большим достижением. Идея создания семейств компью-
теров вскоре стала очень популярной, и в течение нескольких лет большинство
компьютерных компаний выпустило целые серии сходных машин с разной сто-