Глава 18
От счетов
к микросхемам
На протяжении писаной истории человечество изобрело не-
мало хитроумных приспособлений и машин в непрерывном
стремлении хоть немного облегчить математические вычис-
ления. Хотя человеческий род с рождения наделен способнос-
тью к счету, в вычислениях нам требуется помощь. Зачастую
мы способны формулировать такие сложные задачи, что ре-
шить их самостоятельно нам не по силам.
Развитие систем счисления можно рассматривать как пер-
вое средство для облегчения управления недвижимостью и
собственностью. По-видимому, для счета многие культуры, в
том числе древние греки и американские индейцы, использо-
вали камешки. В Европе это привело к появлению счетных
досок, а на востоке — к изобретению счетов.
290
Глава восемнадцатая
Хотя появление счетов обычно связывают с азиатскими культу-
рами, торговцы в Китае пользовались ими уже в 1200 г. до н. э.
Умножение и деление никому и никогда не доставляли ис-
тинного удовольствия, но внести свой вклад в решение этой
проблемы сумели немногие. В числе этих немногих — шот-
ландский математик Джон Непер (1550–1617), который как раз
для упрощения этих операций изобрел логарифмы. Произве-
дение двух чисел попросту равно сумме их логарифмов. По-
этому, чтобы перемножить два числа, вы находите в таблице
их логарифмы, складываете их, а затем ищете в таблице чис-
ло, логарифм которого равен полученной сумме. Это и есть
искомое произведение.
На протяжении последующих 400 лет одни лучшие умы
человечества строили таблицы логарифмов, другие — изоб-
ретали приспособления, которые позволяли бы обходиться без
этих таблиц. Долгая история логарифмической линейки нача-
лась со счетной линейки, изобретенной Эдмундом Гюнтером
(1581–1626), усовершенствованной Вильямом Отредом (1574–
1660), и практически закончилась в 1976 г., когда компания
Keuffel & Esser презентовала последнюю изготовленную ею
логарифмическую линейку Смитсоновскому институту в Ва-
шингтоне (США).
Непер изобрел и другое приспособление для умножения,
состоявшее из рядов чисел, выгравированных на кости, роге
или слоновой кости. Потому это приспособление иногда на-
зывали костями Непера. Первая механическая счетная маши-
на, созданная приблизительно в 1620 г. Вильгельмом Шикар-
дом (1592–1635), была в некоторой степени автоматизирован-
ным вариантом костей Непера. Примерно в то же время по-
явились и механические калькуляторы, состоящие из зацеп-
ляющихся колес и рычагов. Из наиболее известных создате-
лей механических счетных устройств упомянем философов и
математиков Блеза Паскаля (1623–1662) и Готфрида Вильгель-
ма Лейбница (1646–1716).
Вы, без сомнения, помните, сколько хлопот доставила нам
реализация переноса бита в следующий разряд как в исход-
ном 8-разрядном сумматоре, так и в компьютере, который (сре-
ди прочего) автоматически складывал числа шириной более 8
битов. На первый взгляд, перенос кажется лишь незначитель-
ным нюансом процесса сложения, но в суммирующих маши-
291
От счетов к микросхемам
нах он в действительности является главной проблемой. Со-
здав суммирующую машину, которая делает все, кроме пере-
носа, вы не создали почти ничего!
Способность переносить числа из разряда в разряд — глав-
ный критерий в оценке счетных устройств. Так, в машине Пас-
каля перенос осуществлялся так, что машина не могла вычи-
тать. Чтобы вычесть одно число из другого приходилось при-
бавлять дополнение до девяти примерно так, как я описал в
главе 13. «Нормальные» механические калькуляторы, которые
можно было эффективно использовать в повседневной рабо-
те, появились лишь в конце XIX в.
Приблизительно в 1801 г. появилось занятное изобретение,
которое позже сказалось на истории вычислительной техники
и оказало громадное влияние на текстильную промышлен-
ность, — автоматический ткацкий станок Жозефа Мари Жак-
карда (1752–1834). В «машине Жаккарда» узор, вышиваемый
на ткани, задавался с помощью металлических пластин с про-
битыми отверстиями. Высшим достижением Жаккарда стал
его черно-белый автопортрет, вытканный на шелке и закоди-
рованный на 10 000 пластин.
В XVIII в. (и вплоть до 40-х годов XX в.) компьютером
(computer) назывался человек, нанятый специально для про-
ведения вычислений. Спрос на таблицы логарифмов был вы-
сок, а для проведения навигационных и астрономических рас-
четов требовались еще и таблицы тригонометрических функ-
ций. Человек, желавший опубликовать новый набор таблиц,
нанимал компьютеров, организовывал их работу, а потом со-
бирал воедино все результаты. Естественно, на всех этапах ра-
боты — от вычислений до набора
таблиц в типографии — в них
вкрадывались ошибки.
Стремление избавиться от
ошибок в математических табли-
цах побудило к работе Чарльза
Бэббиджа (1791–1871), британско-
го математика, жившего почти в то
же самое время, что и Сэмюэль
Морзе.
В то время при создании таблиц
логарифмов на самом деле лога-
292
Глава восемнадцатая
рифмы всех чисел в таблице не вычислялись (на это ушло бы
слишком много времени). Их рассчитывали лишь для неко-
торых чисел, а логарифмы остальных чисел вычислялись с
помощью интерполяции. Расчеты при этом оказывались до-
вольно простыми и выполнялись с помощью разностей
(differences).
Около 1820 г. Бэббидж решил, что способен спроектировать
и построить машину, которая автоматизирует создание мате-
матических таблиц вплоть до их верстки, полностью устранив
все ошибки. Задуманная им Машина Разностей (Difference
Engine) была в действительности большой механической сум-
мирующей машиной. Многозначные десятичные числа пред-
ставлялись зубчатыми колесами, каждое из которых могло на-
ходиться в одном из десяти положений. Отрицательные числа
обрабатывались с помощью дополнений до 10. Хотя первые
модели показали перспективность проекта Бэббиджа и он даже
получил какие-то деньги от британского правительства (впро-
чем, недостаточные), Машина Разностей так и не была постро-
ена. В 1833 г. Бэббидж прекратил работу над ней.
К этому времени у него появилась лучшая идея. Он назвал
этот проект Аналитической Машиной (Analytical Engine) и про-
работал над ней до самой смерти, постоянно перерабатывая кон-
струкцию (в «железе» были созданы лишь небольшие модели и
отдельные компоненты). В конструкцию Бэббиджа входило хра-
нилище (концептуально подобное компьютерной памяти) и
«мельница» (арифметическое устройство). Умножение выпол-
нялось с помощью повторных сложений, а деление — с помо-
щью повторных вычитаний. Самый занимательный аспект про-
екта Аналитической Машины в том, что ее можно было про-
граммировать с помощью карточек, идею которых Бэббидж
позаимствовал у Жаккарда. Августа Ада Байрон графиня Лав-
лейс (1815–1852) высказалась об этом так (в заметках к ее пере-
воду статьи, написанной об Аналитической Машине Бэббиджа
итальянским математиком): «Можно сказать, что Аналитичес-
кая Машина вышивает алгебраические узоры, подобно тому,
как станок Жаккарда вышивает цветы и листья».
По-видимому, Бэббидж был первым человеком, осознав-
шим важность условных переходов в программировании. Сно-
ва процитируем Аду Байрон: «Цикл операций нужно понимать
как любой набор операций, который выполняется более одного
293
От счетов к микросхемам
раза. Цикл является таковым независимо от того, повторяется
он дважды или неопределенное число раз; поскольку циклом
его делает сам факт повторения. Во многих задачах встреча-
ются вложенные группы одного или нескольких циклов, т. е.
циклы циклов».
Хотя в 1853 г. машина разностей была наконец построена
Георгом и Эдуардом Шуцами (отцом и сыном), об изобрете-
ниях Бэббиджа на многие годы позабыли и вспомнили опять
лишь в 1930-е годы, когда люди начали интересоваться корня-
ми современной вычислительной техники. К тому времени все,
сделанное Бэббиджем, уже устарело. Ему нечего было предло-
жить компьютерному инженеру XX в., кроме замечательного
предвидения автоматизации.
Вторым верстовым столбом истории вычислительной тех-
ники мы обязаны Конституции Соединенных Штатов Амери-
ки. Среди прочего в ней говорится, что каждые 10 лет в США
проводится перепись населения. В перепись 1880 г. включа-
лась информация о возрасте, поле и национальности. На об-
работку и обобщение данных ушло 7 лет.
Опасаясь, что обработка переписи 1890 г. займет больше
10 лет, Бюро переписей исследовало возможность ее автома-
тизации и остановилось на разра-
ботке Германа Холлерита (Herman
Hollerith) (1860–1929), который
участвовал в обработке переписи
1880 г. в качестве статистика.
Суть проекта Холлерита заклю-
чалась в использовании картонных
карточек 6 5/8
´ 3 1/4 дюйма (Хол-
лерит скорее всего не слышал о
программировании с помощью
карточек Аналитической Машины
Бэббиджа, но почти несомненно
знал об использовании пластин в
ткацком станке Жаккарда). Для отверстий на каждой карточке
было предусмотрено 288 позиций — 24 столбца по 12 пози-
ций в каждом. Эти позиции обозначали определенные харак-
теристики человека, опрашиваемого в ходе переписи. Полу-
чив ответ на вопрос, переписчик пробивал в соответствующей
позиции карточки отверстие диаметром в четверть дюйма.
294
Глава восемнадцатая
Эта книга, вероятно, уже настолько приучила вас мыслить
в терминах двоичных кодов, что вы сразу сообразили: карточ-
ка с 288 позициями может хранить 288 битов информации.
Однако до этого не доходило.
Например, если бы в переписи применялась чисто двоич-
ная система кодирования, на карточке для обозначения пола
нужна была бы всего одна позиция (пробита — мужской, не
пробита — женский или наоборот). Но на карточках Холле-
рита для пола было предусмотрено две позиции. В одной от-
верстие пробивали для мужчин, в другой — для женщин. Два
отверстия пробивалось для записи возраста опрашиваемого.
Первое означало пятилетний интервал: от 0 до 4, от 5 до 9, от
10 до 14 и т. д. Второе отверстие пробивалось в одной из пяти
возможных позиций и указывало точный возраст в пределах
5-летнего интервала. Всего на карточке для кодирования воз-
раста использовалось 28 позиций. В чисто двоичной системе
для кодирования любого возраста от 0 до 127 лет требуется
всего 7 позиций.
Вряд ли стоит обвинять Холлерита в том, что в кодирова-
нии информации он не «дошел» до двоичной системы. Нельзя
требовать от переписчиков 1890 г. умения преобразовывать
возраст в двоичный формат. Карточки с отверстиями не мог-
ли быть двоичными и по практическим причинам. При дво-
ичном кодировании возможны ситуации, когда пробиты дол-
жны быть все (или почти все) отверстия. Весьма вероятно, что
карточка при этом превратится в лохмотья.
Данные переписи должны обобщаться в виде, удобном для
вычислений, т. е. в виде таблиц. Важно, конечно, знать, сколько
человек живет в том или ином районе, но иногда нужны све-
дения и о том, как население распределяется по возрастам. Для
проведения таких расчетов Холлерит создал табулирующую
машину, в которой сочетались автоматизация и ручное управ-
ление. Оператор прижимал к каждой карточке пресс с 288-ю
штырьками на пружинах. В тех позициях, где на карточке было
отверстие, штырек погружался в кювету с ртутью, замыкая
электрическую цепь, которая приводила в действие электро-
магнит. Он в свою очередь увеличивал на единицу значение
десятичного счетчика.
Электромагниты Холлерит применил и в машине, сортиро-
вавшей карточки. Допустим, вы хотите статистически проана-
295
От счетов к микросхемам
лизировать возрасты представителей различных профессий. Для
этого нужно сначала отсортировать карточки по профессиям, а
потом в каждой группе провести анализ возрастов. В сортиру-
ющей машине использовался такой же пресс, как и в табулято-
ре, а электромагниты применялись для того, чтобы открывать
задвижки на одном из 26 отделений. Оператор опускал карточ-
ку в отделение и вручную закрывал задвижку.
Эксперимент по автоматизации переписи 1890 г. закончил-
ся полным успехом. Всего было обработано 62 000 000 карто-
чек. Данных в них содержалось вдвое больше, чем в переписи
1880 г., а времени на обработку ушло втрое меньше. О Холле-
рите и его изобретениях заговорили во всем мире. В 1895 г. он
даже ездил в Россию и продал свое оборудование для исполь-
зования в первой российской переписи, проведенной в 1897 г.
Герман Холлерит положил начало длинной цепи событий.
В 1896 г. он основал компанию Tabulated Machine, которая сда-
вала напрокат и продавала оборудование для работы с карточ-
ками. В 1911 г. после пары слияний она превратилась в компа-
нию Computing-Tabulating-Recording (C-T-R). С 1915 г. прези-
дентом компании C-T-R был Томас Ватсон (Thomas Watson)
(1874–1956). В 1924 г. он переименовал ее в корпорацию
International Business Machines, или просто IBM.
К 1928 г. карточки переписи 1890 г. окончательно превра-
тились в знаменитые перфокарты IBM с 80 столбцами и 12
строками. Они активно применялись в течение 50 лет и даже
на закате своей эпохи иногда назывались картами Холлерита.
К ним я еще вернусь в главах 20, 21 и 24.
Нам пора перебираться в XX век, но мне не хотелось бы
покидать век XIX, не убедившись, что у вас осталось правиль-
ное впечатление об этой эпохе. По очевидным причинам в этой
книге я в основном уделил внимание изобретениям, цифро-
вым по своей природе: телеграфу, азбуке Брайля, машинам
Бэббиджа и картам Холлерита. Имея дело только с цифровы-
ми понятиями и устройствами, легко впасть в иллюзию, что
весь мир должен быть исключительно цифровым. Но XIX век
более прославлен открытиями и изобретениями, решительно
не цифровыми. Честно говоря, окружающий мир, данный нам
в ощущениях, очень редко предстает в цифровом обличье. Он
скорее представляет собой континуум, который не так-то лег-
ко выразить в числах.
296
Глава восемнадцатая
Хотя Холлерит уже использовал реле в своих карточных
табуляторах и сортировщиках, применять реле в компьюте-
рах — которые со временем получили название электромеха-
нических — начали лишь в середине 1930-х. В них использова-
ли, как правило, не телеграфные, а телефонные реле, разрабо-
танные для управления телефонными вызовами.
Первые релейные компьютеры совсем не походили на уст-
ройство, которое мы разработали в предыдущей главе (позже
мы увидим, что архитектуру нашего компьютера я построил
на основе микропроцессоров 1970-х). В частности, нам сегод-
ня кажется очевидным, что действие компьютеров должно ос-
новываться на двоичных числах, но в действительности это
имело место далеко не всегда.
Другое отличие нашего релейного компьютера от настоя-
щих устройств заключается в том, что никто в 30-х годах не
терял рассудок настолько, чтобы пытаться собрать из реле 524
288 битов памяти! По цене, занимаемому пространству и по-
требляемой мощности память такого объема была совершен-
но нереализуема. То мизерное ее количество, что все-таки было
доступно, применялось только для хранения промежуточных
результатов. Сами программы записывали на физических но-
сителях, например ленте с перфорацией. Вообще использован-
ная нами концепция совместного хранения кода и данных в
памяти возникла несколько позже.
По-видимому, хронологически первый релейный компьютер
был построен Конрадом Цузе (Conrad Zuse) (1910–1995), кото-
рый начал собирать его в 1935 г. в квартире своих родителей в
Берлине, будучи студентом инженерного факультета. В нем уже
применялось двоичное кодирование, но в первых версиях в ка-
честве памяти использовались не реле, а механические приспо-
собления. Программы для своих компьютеров Цузе записывал
на 35-мм кинопленке, пробивая в ней отверстия.
В 1937 г. Джордж Стибиц (George Stibitz) (1904–1995) из Bell
Telephone Laboratories принес домой пару телефонных реле и
собрал из них на кухонном столе 1-разрядный сумматор, ко-
торый его жена позже окрестила «К-машиной» (т. е. кухонной
машиной). С этих экспериментов началось создание устрой-
ства под названием «Complex Number Computer» (1939).
Тем временем студенту выпускного курса Гарвардского
университета Говарду Эйкену (Howard Aiken) (1900–1973) по-
297
От счетов к микросхемам
надобилось устройство, способное выполнить большой объем
однообразных вычислений. На этой основе возникло сотруд-
ничество между Гарвардом и IBM, выразившееся в создании
компьютера «Automated Sequence Controlled Calculator»
(ASCC), позже получившего имя «Марк I». Его строительство
завершилось в 1943 г. Это был первый цифровой компьютер,
способный печатать таблицы, т. е. наконец-то реализовавший
мечту Чарльза Бэббиджа. А компьютер «Марк II» стал самым
большим релейным устройством. В нем использовалось 13 000
реле. В Гарвардской вычислительной лаборатории, возглавля-
емой Эйкеном, был прочитан и первый в истории курс ин-
форматики.
Реле оказались далеко не идеальным прибором для созда-
ния компьютеров. Будучи механическими устройствами, дей-
ствие которых основывалось на изгибании металлической пла-
стины, после продолжительной работы они в самом прямом
смысле слова ломались. К неисправности реле приводили и
кусочки грязи или бумаги, застрявшие между контактами.
Особенно прославилась в этом отношении мошка, в 1947 г.
извлеченная из реле компьютера «Марк II». Грейс Мюррей Хоп-
пер (Grace Murray Hopper) (1906–1992), в 1944 г. ставшая со-
трудником Эйкена, а позже прославившаяся как специалист
по языкам программирования, приклеила ее в журнал с при-
мечанием «первый случай выловленного бага»
1
.
Реле можно заменить вакуумной лампой, изобретенной
Джоном Эмброузом Флемингом (John Ambrose Fleming) (1849–
1945) и Ли Форестом (Lee de Forest) (1873–1961) для использо-
вания в радио. К 1940-м радиолампы повсеместно применяли
для усиления телефонных сигналов, и практически в каждом
доме имелся радиоприемник, заполненный этими тускло све-
тящимися стеклянными колбами. Из радиоламп, как и из реле,
можно собрать вентили И, ИЛИ, И-НЕ и ИЛИ-НЕ.
Совершенно не важно, из чего собрана вентильная схема
— из реле или из радиоламп. В любом случае из вентилей мож-
но собрать сумматоры, селекторы, дешифраторы, триггеры и
счетчики. Все, что я говорил в предыдущих главах о компо-
нентах, собранных из реле, остается истинным и после заме-
ны реле на радиолампы.
1
От англ. «bug» — жучок. На компьютерном жаргоне багом называется ошибка в
программе. — Прим. перев.
298
Глава восемнадцатая
Но и у радиоламп свои недостатки. Они дороги, энергоем-
ки, сильно греются и, главное, рано или поздно сгорают. С этим
можно было только смириться. Никто из владельцев лампо-
вых приемников не избежал необходимости время от време-
ни менять в них лампы. Телефонные системы разрабатыва-
лись с избыточной надежностью, поэтому периодический вы-
ход ламп из строя не наносил большого ущерба (да никто и не
ждет, что телефоны будут работать безупречно). Другое дело
— компьютер. Во-первых, в нем выход лампы из строя сразу
можно и не заметить. Во-вторых, ламп в компьютере должно
быть так много, что они будут сгорать в среднем каждые не-
сколько минут.
У ламп по сравнению с реле есть одно большое преимуще-
ство — переключение лампы из состояния в состояние зани-
мает всего одну миллионную долю секунды — одну микросе-
кунду. Это в тысячу раз быстрее, чем реле, которое переключа-
ется в лучшем случае за 1 миллисекунду, т. е. тысячную долю
секунды. Забавно, что создатели первых компьютеров их быс-
тродействию большого внимания не уделяли, поскольку ско-
рость вычислений определялась скоростью считывания про-
граммы с бумажной или пластиковой ленты. В подобных уст-
ройствах более высокая по сравнению с реле скорость радио-
ламп была не важна.
И все же в начале 1940-х вакуумные лампы применялись в
компьютерах все чаще, а к 1945 г. реле были вытеснены окон-
чательно. В отличие от релейных электромеханических ком-
пьютеров новые устройства, основанные на вакуумных лам-
пах, стали называться электронными компьютерами.
Британский компьютер «Колосс» (начал работать в 1943 г.)
создавался в противовес немецкой шифровальной машине
«Энигма». В его разработке (а также в разработке других бри-
танских компьютерных проектов) принимал участие Алан Тью-
ринг (Alan Turing) (1912–1954), прославившийся главным об-
разом благодаря двум своим статьям. В первой, опубликован-
ной в 1937 г., он ввел концепцию «вычислимости», проанали-
зировав, что могут и чего не могут делать компьютеры. Разра-
ботанная им абстрактная модель компьютера известна теперь
как «машина Тьюринга». Вторая знаменитая статья Тьюринга
посвящена проблеме искусственного интеллекта. В ней он опи-
сал способ проверки машины на разумность (тест Тьюринга).
299
От счетов к микросхемам
Компьютер ENIAC (Electronic Numerical Integrator and
Computer, Электронный числовой интегратор и компьютер)
на 18 000 лампах был создан в Школе электроинженерии им.
Мура при Пенсильванском университете Преспером Экертом
(J. Presper Eckert) (1919–1995) и Джоном Моучли (John Mauchly)
(1907–1980). Его создание завершилось в конце 1945 г. По тон-
нажу (30 т) ENIAC был самым большим компьютером в исто-
рии и, вероятно, сохранит этот титул навечно. Домашние ком-
пьютеры обогнали его по быстродействию в 1977 г. Попытка
Экерта и Моучли запатентовать компьютер не удалась из-за
конфликтной заявки конкурента — Джона Атанасоффа (John
Atanasoff) (1903–1995), который несколько ранее собрал элек-
тронный компьютер, который толком так и не заработал.
ENIAC заинтересовал математика Джона фон Неймана
(John von Neumann) (1903–1957), венгра по происхождению,
который с 1930 г. жил в США. Ней-
ман был профессором математики
в Принстонском Институте слож-
ных исследований, славился спо-
собностью производить в уме
сложнейшие вычисления и зани-
мался всем, начиная с квантовой
механики и кончая применением
теории игр в экономике.
Джон Нейман помогал проек-
тировать ENIAC следующего поко-
ления — EDVAC (Electronic Discrete
Variable Automatic Computer, Электронный автоматический
компьютер с дискретными переменными). В статье «Предва-
рительное обсуждение логической конструкции электронной
вычислительной машины», опубликованной в 1946 г. в соав-
торстве с Артуром Берксом (Arthur Burks) и Германом Голд-
стайном (Herman Goldstine), он описал некоторые особеннос-
ти компьютеров, благодаря которым EDVAC оказался значи-
тельным шагом вперед в сравнении с ENIAC. Разработчики
EDVAC понимали, что в компьютерах нужно использовать
двоичное исчисление (в ENIAC применялась десятичная сис-
тема). У компьютера также должно быть как можно больше
памяти, и во время выполнения программы эту память надо
использовать для хранения как команд, так и данных (програм-
300
Глава восемнадцатая
мирование ENIAC осуществлялось с помощью тумблеров и
переключения кабелей). Команды должны храниться в памя-
ти последовательно и адресоваться с помощью счетчика ко-
манд, вместе с тем допуская условные переходы. Эта концеп-
ция теперь известна как концепция запоминаемой программы.
Эти нововведения оказались столь важным эволюционным
этапом, что мы теперь говорим о них, как об архитектуре
Неймана. Компьютер, разработанный нами в предыдущей гла-
ве, — типичная машина Неймана. Но в архитектуре Неймана
есть и «узкое место». Машина Неймана обычно тратит значи-
тельное время не на выполнение команд, а на их загрузку из
памяти. Как вы помните, компьютер из главы 17 в его оконча-
тельной редакции три четверти времени работы с командой
тратил на ее перемещения.
Во времена EDVAC создание объемной памяти из радио-
ламп представлялось неэкономичным, поэтому на замену лам-
пам предлагались порой весьма странные устройства. В одном
из них, успешно работавшем и называвшемся памятью с
ртутной линией задержки (mercury delay line memory), при-
менялись 5-футовые трубки с ртутью. С одного конца трубки
в ртуть с интервалом около микросекунды посылались сла-
бые пульсации, которые приблизительно через 1 миллисекунду
достигали противоположного конца трубки (там они детек-
тировались как звуковые волны и направлялись обратно). Каж-
дая трубка с ртутью могла хранить около 1 024 битов инфор-
мации. В середине 50-х появились запоминающие устройства,
состоящие из большого количества маленьких намагниченных
металлических колец, подвешенных на проводах. Каждое коль-
цо могло хранить 1 бит информации.
О природе компьютеров в 40-е годы задумывался не толь-
ко Нейман. В этом же направлении размышлял и Клод Шен-
нон (род. 1916). В главе 11 я обсуждал его магистерскую дис-
сертацию (1938), в которой он установил взаимосвязь между
тумблерами, реле и булевой алгеброй. В 1948 г., работая в Bell
Telephone Laboratories, он опубликовал в журнале Bell System
Technical Journal статью «Математическая теория коммуника-
ции», в которой не только впервые в печати использовал сло-
во «бит», но и заложил основы того, что сегодня называется
теорией информации. Предметом теории информации явля-
ется передача цифровой информации при наличии шума (ко-
301
От счетов к микросхемам
торый обычно не дает передать информацию полностью) и
способы его компенсации. В 1949 г. он написал первую статью о
программировании на компьютере игры в шахматы, а в 1952 г.
разработал механическую мышь, которая с помощью реле на-
ходила выход из лабиринта. В Bell Telephone Laboratories
Шеннон также был хорошо известен как человек, умеющий
жонглировать, катаясь на одноколесном велосипеде.
Самым известным трудом Норберта Винера (Norbert
Wiener) (1894–1964), который 18 лет от роду защитил диссер-
тацию по математике в Гарвардском университете, является
книга «Кибернетика, или Управление и связь в животном и
машине» (1948). Именно он назвал кибернетикой (от гречес-
кого слова, означающего «кормчий») теорию о взаимосвязи
биологических процессов в человеке и животном с механикой
компьютеров и роботов. В наши дни очень распространена
приставка кибер-, указывающая на отношение чего-либо к ком-
пьютерам. Например, миллионы компьютеров, подключенных
к Интернету, называют киберпространством. Слово это ввел
в романе «Невромант» (1984) писатель Вильям Гибсон (William
Gibson), работающий в жанре «киберпанк».
В 1948 г. корпорация Eckert-Mauchly Computer (позже став-
шая частью Remington Rand) начала работу над первым мас-
совым компьютером — UNIVAC (Universal Automatic
Computer, Универсальный автоматический компьютер). Его
разработка завершилась в 1952 г., и первый экземпляр был
направлен в Бюро переписей. В 1952 г. UNIVAC впервые вышел
в эфир на канале CBS, где его использовали для предсказания
результата президентских выборов, при этом ведущий Уолтер
Кронкайт (Walter Croncite) величал его «электронным мозгом».
В том же 1952 г. свою первую коммерческую компьютерную
систему — 701 — выпустила IBM.
С этого времени начинается история массового примене-
ния компьютеров в бизнесе и государственном секторе. Она
очень интересна, но мы все-таки отвлечемся и перейдем те-
перь к другой истории — истории, которая сделала компью-
теры компактными и дешевыми приборами из разряда быто-
вой техники. Началась она в 1947 г. с прорыва в области элек-
троники, который прошел почти незамеченным.
Фирма Bell Telephone Laboratories в течение многих лет была
местом, где умные люди могли заниматься почти всем, что их
302
Глава восемнадцатая
интересовало. Некоторых из них, к счастью, интересовали ком-
пьютеры. Я уже упоминал Джорджа Стибица и Клода Шенно-
на, которые внесли значительный вклад в развитие вычисли-
тельной техники, работая в Bell Telephone Laboratories. Позже,
в 70-е годы в этой компании родилась компьютерная опера-
ционная система UNIX и язык программирования С, к кото-
рым я вернусь в следующих главах.
Bell Telephone Laboratories возникла 1 января 1925 г., когда
компания American Telephone & Telegraph официально заяви-
ла о выделении научных и технических исследовательских
подразделений в отдельную фирму. Компания Bell Telephone
Laboratories создавалась для разработки технологических ре-
шений по улучшению телефонной связи. К счастью, это целе-
указание довольно расплывчато и охватывает самые разнооб-
разные исследования, включая очевидную вечную тему — уси-
ление звукового сигнала, передаваемого по проводам, без вне-
сения в него искажений.
С 1912 г. в Bell System работали над ламповыми усилителя-
ми, посвятив их усовершенствованию многочисленные иссле-
дования и проекты. И все же вакуумные лампы оставляли же-
лать много лучшего. Они были громоздки, потребляли много
энергии и часто перегорали. Альтернативы им, увы, не было.
Все изменилось 16 декабря 1947 г., когда два физика из Bell
Telephone Laboratories — Джон Бардин (John Bardeen) (1908–
1991) и Уолтер Браттейн (Walter Brattain) (1902–1987) собрали
усилитель иного типа. Он состоял из германиевой пластины и
полоски золотой фольги. Через неделю они продемонстриро-
вали усилитель своему начальнику Вильяму Шокли (William
Shockley) (1910–1989). Это был первый транзистор, прибор,
который порой называют самым важным изобретением XX
века.
Транзистор возник не на пустом месте. Восемью годами
раньше, 29 декабря 1939 г. Шокли записал в своем блокноте:
«Сегодня мне пришло в голову, что в принципе усилитель
можно собрать с помощью полупроводников, а не вакуумных
ламп». После демонстрации первого транзистора несколько лет
ушло на его усовершенствование. Лишь в 1956 г. Шокли, Бар-
дин и Браттейн были удостоены Нобелевской премии по фи-
303
От счетов к микросхемам
зике «за исследования полупроводников и открытие транзис-
торного эффекта».
Раньше я уже говорил о проводниках и изоляторах. Про-
водники получили свое название благодаря тому, что они хо-
рошо проводят электричество. Лучшими проводниками яв-
ляются медь, серебро и золото, и отнюдь не случайно все они
находятся в одном и том же столбце Периодической таблицы.
Как вы, конечно, знаете, электроны в атоме распределены
по оболочкам, окружающим ядро. Атомы всех трех лучших
проводников характеризуются единственным электроном на
самой внешней оболочке. Этот электрон легко покидает атом
и может свободно двигаться, создавая электрический ток. Про-
тивоположностью проводникам являются изоляторы — на-
пример, резина или пластмасса, который ток практически не
проводят.
Элементы германий и кремний (и некоторые их соедине-
ния) называются полупроводниками, но не потому, что они
проводят ток в два раза хуже проводников, а потому, что их
проводимостью можно управлять. У атома полупроводника
на внешней оболочке 4 электрона — половина того, что мо-
жет вместить эта оболочка. В чистом полупроводнике между
атомами формируются очень прочные связи, и возникает кри-
сталлическая решетка, подобная кристаллической решетке ал-
маза. Такие полупроводники проводят ток довольно плохо.
Но полупроводники можно легировать (dope), т. е. добав-
лять в них различные примеси. Примеси одного рода добав-
ляют в кристалл полупроводника избыточные электроны.
Полученное вещество называется полупроводником n-типа (n
означает негативный, т. е. отрицательный). Добавление при-
меси другого типа приводит к созданию полупроводника p-типа
(p — позитивный, т. е. положительный).
Для создания усилителя достаточно между двумя слоями
полупроводника n-типа разместить прослойку из полупровод-
ника p-типа. Полученное устройство называется npn-транзи-
стором, а входящие в его состав полупроводниковые фрагмен-
ты известны как коллектор (collector), база (base) и эмиттер
(emitter).
Вот как схематически изображают npn-транзистор:
304
Глава восемнадцатая
База
Коллектор
Эмиттер
Небольшое напряжение на базе управляет гораздо большим
током, проходящим из коллектора в эмиттер. Если на базе на-
пряжения нет, транзистор практически закрывается.
Транзисторы обычно делают в виде небольших металли-
ческих цилиндров с тремя проводами-выводами.
Появление транзистора ознаменовало зарождение твердо-
тельной электроники: транзисторы изготавливаются не из ва-
куума, а из «твердого» вещества — полупроводника, создавае-
мого в наши дни почти исключительно на основе кремния.
Транзисторы не только компактнее вакуумных ламп, но и по-
требляют меньше энергии, меньше греются и гораздо долго-
вечнее. Невозможно представить себе карманный ламповый
приемник. А вот транзисторному приемнику для питания до-
статочно небольшой батарейки и не нужен мощный теплоот-
вод. Первые счастливчики получили карманные транзистор-
ные приемники в подарок на рождество 1954 г. Транзисторы в
них были изготовлены фирмой Texas Instruments, которая сыг-
рала в полупроводниковой революции важную роль.
Но самым первым коммерческим приложением транзис-
торов стали не приемники, а слуховые аппараты. Александр
Грейам Белл (Alexander Graham Bell) много работал с глухими
людьми, и в память об этом компания AT&T разрешила про-
изводителям слуховых аппаратов применять транзисторные
технологии без платы за пользование патентом. В 1960 г. де-
бютировал транзисторный телевизор, и к настоящему време-
ни ламповые устройства практически исчезли (хотя и не со-
всем — отдельные аудиофилы и электрогитаристы по-прежне-
му предпочитают звук ламповых усилителей).
305
От счетов к микросхемам
В 1956 г. Шокли ушел из Bell Telephone Laboratories, пере-
ехал в город своего детства Пало-Альто (штат Калифорния) и
основал там компанию Shockley Semiconductor Laboratories. Это
была первая компания такого рода в той местности. Со време-
нем там открылись отделения и других полупроводниковых и
компьютерных компаний, и теперь область к югу от Сан-Фран-
циско неофициально известна как Силиконовая долина
1
.
Изначально предполагалось использовать вакуумные лам-
пы в усилителях, но потом оказалось, что они также пригод-
ны для сборки логических схем. То же самое случилось и с тран-
зисторами. На рисунке показан транзисторный вентиль И,
структура которого почти не отличается от релейной версии.
Выход равен 1, только если оба транзистора проводят ток, а
это в свою очередь возможно лишь при условии, что сигналы
на входах А и В оба равны 1. Резистор в цепи нужен, чтобы в
такой ситуации избежать короткого замыкания.
Если соединить транзисторы, как показано на схеме спра-
ва, получится вентиль ИЛИ. В вентиле И эмиттер верхнего
транзистора соединен с коллектором нижнего. В вентиле ИЛИ
к питанию подключены оба транзистора. Эмиттеры соедине-
ны друг с другом.
Вход А
Выход
Вход B
V
Вентиль И
Вход А
Выход
Вход B
V
V
Вентиль ИЛИ
1
Правильнее и понятнее было бы перевести ее название как Кремниевая долина. —
Прим. перев.
306
Глава восемнадцатая
Итак, все, что мы знаем о сборке логических схем и других
компонентов из реле, применимо и к транзисторам. И реле, и
радиолампы, и транзисторы изначально создавались в основ-
ном для усиления сигнала, но из всех этих устройств можно
также создавать и логические схемы, из которых собираются
компьютеры. Первые транзисторные компьютеры появились
в 1956 г., и уже через несколько лет они полностью вытеснили
проекты ламповых компьютеров.
Словом, благодаря транзисторам компьютеры, конечно,
стали надежнее, компактнее и экономичнее. Но облегчили ли
транзисторы сборку компьютеров?
По правде говоря, нет. Конечно, с помощью транзисторов
на небольшом пространстве можно разместить больше логи-
ческих схем, но это не снимает с вас заботы о соединении всех
компонентов. Собирать вентили из транзисторов ничуть не
легче, чем из реле или вакуумных ламп. В какой-то степени
это даже сложнее, так как за небольшой транзистор не так-то
просто ухватиться. Если бы вы решили собрать компьютер из
главы 17 с оперативной памятью 64 кб из транзисторов, вам
пришлось бы приложить немало усилий, чтобы разработать
некую структуру, на которой крепились бы все компоненты.
А собственно процесс сборки в значительной степени состоял
бы из кропотливой спайки миллионов соединений между мил-
лионами транзисторов.
Однако, как мы уже видели, имеются определенные ком-
бинации транзисторов, которые встречаются в схемах неоднок-
ратно. Из пар транзисторов составляются вентили, из венти-
лей — триггеры, сумматоры, селекторы или дешифраторы. Из
триггеров собирают многобитовые защелки или массивы
RAM. Собрать компьютер было бы много легче, если бы наи-
более популярные комбинации транзисторов изначально су-
ществовали в собранном виде.
По-видимому, первым эту идею в мае 1952 г. сформулиро-
вал британский физик Джеффри Даммер (Geoffrey Dummer)
(род. 1909):
Я хотел бы заглянуть в будущее, — сказал он. — Благодаря рас-
пространению транзисторов и успешным исследованиям полу-
проводников теперь, по-видимому, возможно представить себе
электронное устройство в виде сплошного твердого тела, лишен-
307
От счетов к микросхемам
ного соединительных проводов. Это тело может состоять из сло-
ев изолирующих, проводящих, фильтрующих и усиливающих
веществ, в которых электрические функции выполняются про-
сто за счет придания этим слоям определенной формы.
Однако первый работающий образец появился лишь через
несколько лет.
В июле 1958 г. мысль о возможности изготовления несколь-
ких транзисторов, резисторов и других деталей из единого
куска кремния пришла в голову Джека Килби (Jack Kilby) (род.
1923) из Texas Instruments, который ничего не знал о предска-
заниях Даммера. Еще через полгода, в январе 1959 г. пример-
но к такому же заключению пришел и Роберт Нойс (Robert
Noyce) (1927–1990). Поначалу Нойс работал в Shockley
Semiconductor Laboratories, но в 1957 г. он с семью другими
учеными уволился из нее и основал корпорацию Fairchild
Semiconductor.
В истории техники одновременные изобретения происхо-
дят чаще, чем можно предположить. Хотя Килби изобрел уст-
ройство на полгода раньше Нойса, а фирма Texas Instruments
подала заявку на патент раньше, чем Fairchild Semiconductor,
Нойс получил патент первым. Последовавшие за этим судеб-
ные тяжбы завершились ко всеобщему удовлетворению лишь
десять лет спустя. Теперь Килби и Нойса считают соизобрета-
телями интегральной микросхемы (ИС), или попросту чипа,
хотя они никогда не работали вместе.
Для изготовления интегральной микросхемы использует-
ся сложный процесс, заключающийся в сборке тончайших
пленок легированного кремния определенной формы. Разра-
ботка новой интегральной схемы стоит очень дорого, но бла-
годаря массовому производству цена падает: чем больше де-
лают микросхем, тем они дешевле.
Сама по себе кремниевая микросхема очень тонка и хруп-
ка, поэтому она нуждается в прочном корпусе, который с од-
ной стороны защитил бы ее, а с другой — обеспечивал бы воз-
можность ее соединения с другими микросхемами. Чаще дру-
гих используется прямоугольный пластмассовый корпус DIP
(dual inline package, корпус с двухрядным расположением вы-
водов) с 14, 16 или даже 40 выводами.
308
Глава восемнадцатая
На рисунке показана микросхема с 16 выводами. Если взять ее
так, чтобы небольшая прорезь в корпусе оказалась слева (как
на рисунке), то нумерация выводов от 1 до 16 будет идти про-
тив часовой стрелки, начинаясь с левого нижнего вывода и за-
канчиваясь на левом верхнем. Расстояние между выводами
равно 1/10 дюйма (около 2,5 мм).
В 60-е годы развитию рынка интегральных микросхем спо-
собствовали гонка вооружений и освоение космоса. Первым
гражданским коммерческим продуктом, в котором использо-
валась микросхема, опять же стал слуховой аппарат, выпущен-
ный в 1964 г. фирмой Zenith. В 1971 г. фирма Texas Instruments
продала первый электронный калькулятор, а фирма Pulsar —
первые электронные часы (разумеется, микросхемы для часов
размещаются в особых корпусах). Затем последовала целая
лавина различных устройств на микросхемах.
В 1965 г. Гордон Мур (Gordon Moore), в то время работав-
ший в компании Fairchild Semiconductor, а позже ставший од-
ним из основателей корпорации Intel, обратил внимание на
то, что с 1959 г. число транзисторов в одной микросхеме еже-
годно удваивалось. Он предсказал, что эта тенденция сохра-
нится и в будущем. В действительности технологическое раз-
витие шло несколько медленнее, поэтому в окончательной
редакции «закон Мура» предсказывает удвоение числа тран-
зисторов в микросхеме каждые полтора года. Столь стреми-
тельный прогресс объясняет, почему в наше время компьюте-
ры безнадежно устаревают всего за несколько лет. Некоторые
специалисты полагают, что действие закона Мура продлится
до 2015 г.
Для описания микросхем используются следующие поня-
тия: малый уровень интеграции (small-scale integration, SSI) —
микросхемы менее чем с 10 логическими схемами; средний уро-
вень интеграции (medium-scale integration, MSI), или СИС
(средняя интегральная схема) — микросхемы с 10–100 логи-
ческими схемами; высокий уровень интеграции (large-scale
309
От счетов к микросхемам
integration, LSI), или БИС (большая интегральная схема) —
микросхемы с 100–5000 логических схем; сверхвысокий уровень
интеграции (very-large-scale integration, VLSI), или СБИС
(сверхбольшая интегральная схема) — микросхемы с 5000–
50000 логических схем; суперсверхвысокий уровень интеграции
(super-large-scale integration, SLSI) — микросхемы с 50000–
100000 логических схем; ультравысокий уровень интеграции
(ultra-large-scale integration, ULSI), или УБИС (ультрабольшая
интегральная схема) — микросхемы более чем с 100000 логи-
ческих схем.
До конца этой главы и на всю следующую мы остановим
нашу машину времени на середине 70-х годов прошлого века
— темной эпохе, когда люди еще не слыхивали о фильме
«Звездные войны», а СБИС лишь едва замаячили на горизон-
те. В те времена при сборке интегральных схем использова-
лось несколько различных технологий, каждая из которых оп-
ределяет собственное семейство (family) микросхем. В середи-
не 70-х главенствующее положение занимали два семейства:
ТТЛ и КМОП.
Сокращение ТТЛ означает транзисторно-транзисторная
логика (transistor-transistor logic). В те времена неизменным
атрибутом стола инженера цифрового проектирования (т. е.
человека, разрабатывавшего из микросхем большие схемы)
была книга «The TTL Data Book for Design Engineers» — спра-
вочник по ТТЛ-микросхемам фирмы Texas Instruments, опуб-
ликованный в 1973 г. В ней содержались подробные сведения
об интегральных микросхемах ТТЛ серии 7400 (номера всех
микросхем в этой серии начинались с 74), которые продава-
лись компанией Texas Instruments и некоторыми другими.
Любая интегральная микросхема серии 7400 состоит из
нескольких логических вентилей, собранных в некоторой за-
данной конфигурации. В одних микросхемах содержатся про-
стые логические схемы, из которых можно создавать более
крупные компоненты, другие представляют собой готовые
триггеры, сумматоры, селекторы и дешифраторы.
Первая микросхема в серии 7400 имела (вполне ожидаемо)
номер 7400 и описана в справочнике как «счетверенная двух-
входовая положительная схема И-НЕ». Это сложное название
означает, что в данной микросхеме присутствуют четыре двух-
входовых вентиля И-НЕ. Положительными (positive) они на-
310
Глава восемнадцатая
зываются потому, что в них наличие напряжения означает 1, а
его отсутствие — 0. У микросхемы 14 выводов, назначение
которых описано на следующей диаграмме.
8
9
10
11
12
13
14
7
6
5
4
3
2
1
V
CC
4B
4A
4Y
3B
3A
3Y
1B
1Y
2A
2B
2Y
Gnd
1A
На диаграмме показан вид микросхемы сверху (выводы ухо-
дят вниз); прорезь расположена слева.
Вывод 14, обозначенный символом V
CC
, эквивалентен кон-
такту со значком V, которым я обозначал питающее напряже-
ние. Нижний индекс C означает, что в микросхеме питание
подается на коллектор транзистора; удвоен индекс потому, что
так по традиции обозначают входное напряжение. Символы
Gnd в обозначении 7-го контакта означают «ground» — земля.
Любая микросхема должны быть подключена к питанию и к
земле.
Питающее напряжение для ТТЛ-микросхем серии 7400 зак-
лючено в пределах от 4,75 до 5,25 В, иначе говоря 5 вольт ± 5%.
Если напряжение упадет ниже 4,75 В, микросхема не будет ра-
ботать. Если оно превысит 5,25 В, микросхема может испор-
титься. Батарейки для питания микросхем обычно не приме-
няются. Даже если вы найдете 5-вольтовую батарейку, неточ-
ность напряжения в ней превысит допустимые для микросхем
пределы. Для устройств на микросхемах ТТЛ, как правило,
используется питание от розетки.
У каждого из четырех вентилей И-НЕ микросхемы 7400
предусмотрено два входа и один выход. Работают они незави-
симо друг от друга. В предыдущих главах мы говорили о том,
311
От счетов к микросхемам
что входной сигнал равен либо 1 (есть напряжение), либо 0
(нет напряжения). В действительности, входной сигнал любо-
го из вентилей может варьироваться от 0 (земля) до 5 В (V
CC
).
Напряжения в диапазоне 0–0,8 В считаются логическим нулем,
а напряжения от 2 до 5 В — логической единицей. Напряже-
ний между 0,8 и 2 В в схеме следует избегать.
Напряжение около 0,2 В на выходе вентиля ТТЛ соответ-
ствует нулю, напряжение 3,4 В — единице. Поскольку эти на-
пряжения могут несколько варьироваться, иногда говорят не
о 0 и 1, а о низком (low) и высоком (high) уровнях выходного
сигнала. Более того, иногда высокое напряжение соответству-
ет 0, а низкое — 1. Тогда говорят о конфигурации с отрица-
тельной (negative) логикой.
Выходные напряжения 0,2 В (логический 0) и 3,4 В (логи-
ческая 1) на выходе вентиля ТТЛ заведомо попадают в допус-
тимые пределы — от 0 до 0,8 В для нуля и от 2 до 5 В для еди-
ницы. Так микросхемы ТТЛ защищаются от шума. Единич-
ный сигнал может упасть на 1,4 В и все же остаться единицей.
Нулевой сигнал может вырасти на 0,6 В и остаться нулем.
Вероятно, самой важной характеристикой конкретной мик-
росхемы является время установки (propagation time), т. е. вре-
менной интервал между изменением сигнала на входе и соот-
ветствующим изменением сигнала на выходе.
Время установки микросхем обычно измеряется в наносе-
кундах (нс). Наносекунда — это очень короткий промежуток
времени. Одна тысячная секунды называется миллисекундой,
одна миллионная секунды — микросекундой. Наносекунда —
это одна миллиардная доля секунды. Время установки для вен-
тилей И-НЕ в микросхеме 7400 гарантированно не превышает
22 нс — 0,000000022 секунды или 22 миллиардных секунды.
Прочувствовали наносекунду? Нет? Что ж, вы не одиноки.
Никто на этой планете не способен представить себе такое ко-
роткое время. Наносекунда намного короче самых быстрых
изменений, воспринимаемых человеком, поэтому она всегда
будет непостижима. Любая попытка объяснения лишь затруд-
няет восприятие. Например, я могу сказать так: если вы дер-
жите эту книгу на расстоянии 30 см, наносекунда — это вре-
мя, за которое свет проходит расстояние от страницы до глаза.
Как, стало понятнее?
312
Глава восемнадцатая
Но именно благодаря наносекунде возможно само суще-
ствование компьютеров. Как мы убедились в главе 17, действие
компьютера ограничено простыми до занудства операциями:
переместить байт из памяти в регистр, сложить с другим бай-
том, вернуть результат в память. Сделать с помощью компь-
ютера (настоящего, а не из главы 17) хоть что-то стоящее уда-
ется лишь потому, что эти операции выполняются очень быс-
тро. Процитируем Роберта Нойса: «Когда вы свыкаетесь с
мыслью о наносекунде, концептуально действие компьютера
оказывается очень простым».
Но вернемся к справочнику по микросхемам ТТЛ. Вы, ко-
нечно, увидите в нем много старых знакомых. В микросхеме
7402 содержатся 4 двухвходовых вентиля ИЛИ-НЕ, в микро-
схеме 7404 — 6 инверторов, в микросхеме 7408 — 4 двухвхо-
довых вентиля И, в микросхеме 7432 — 4 двухвходовых вен-
тиля ИЛИ, в микросхеме 7430 — 8-входовый вентиль И-НЕ:
8
9
10
11
12
13
14
7
6
5
4
3
2
1
V
CC
Nc
H
G
Nc
Nc
Y
B
C
D
E
F
Gnd
A
Сокращение «Nc» означает «no connection» — не подключено.
Название микросхемы 7474 также звучит знакомо — «сдво-
енный D-триггер со сбросом и предустановкой, срабатываю-
щий по фронту». На диаграмме схематически показано его
устройство.
313
От счетов к микросхемам
Q
8
9
10
11
12
13
14
7
6
5
4
3
2
1
V
CC
2Clr
2D
2Clk
2Pre
2Q
2Q
1D
1Clk
1Pre
1Q
1Q
Gnd
1Clr
Q
D
Clk
Q
PRE
Clr
D
Clk
Q
PRE
Clr
В справочник по микросхемам ТТЛ включены даже логичес-
кие схемы триггеров в этой микросхеме:
Q
Q
Установка
Сброс
D
Синхронизация
Этот рисунок очень похож на диаграмму в конце главы 14 за
исключением того, что там я применил вентили ИЛИ-НЕ. Таб-
лица логики триггера из справочника тоже выглядит немного
иначе.
314
Глава восемнадцатая
В таблице буква В означает высокий уровень сигнала, Н —
низкий. Если хотите, можете считать их 1 и 0. В моем триггере
нормальное значение сигналов «Сброс» и «Установка» 0; здесь
же оно равно 1.
Листая страницы справочника по микросхемам ТТЛ, вы
обнаружите, что в микросхеме 7483 скрывается 4-разрядный
двоичный полный сумматор, в микросхеме 74151 — селектор
с 8 входами и 1 выходом, в микросхеме 74154 — дешифратор с
4 входами и 16 выходами, в микросхеме 74161 — синхронный
4-разрядный двоичный счетчик, в микросхеме 74175 — счет-
веренный D-триггер со сбросом.
Ну что ж, вот вы и догадались, что описания всех компо-
нентов, что мы использовали, начиная с главы 11, я позаим-
ствовал из книги «The TTL Data Book for Design Engineers».
Инженеры проводили над ней долгие часы, знакомясь со
всеми доступными типами микросхем ТТЛ. В принципе из
микросхем ТТЛ уже можно собирать компьютер, описанный
в главе 17. Соединять микросхемы гораздо легче, чем отдель-
ные транзисторы. Но вот оперативную память собирать из
микросхем ТТЛ я бы вам не советовал. Самый емкий чип RAM,
описанный в издании книги «The TTL Data Book for Design
Engineers» 1973 г., имеет объем 256
´ 1 бит. Для создания памя-
ти RAM объемом 64 кб таких схем понадобилось бы 2 048!
Короче, для памяти нужно что-то получше, чем ТТЛ. Но об
этом подробнее в главе 21.
315
От счетов к микросхемам
Вам, вероятно, также понадобится лучший вибратор. Мож-
но, конечно, просто подключить вход ТТЛ-инвертора к его же
входу, но вибратор с более предсказуемой частотой предпоч-
тительней. Такой прибор легко создать, используя кварцевый
кристалл, обычно размещаемый в цилиндрическом корпусе с
двумя выводами. Такие кристаллы вибрируют с определенной
частотой, обычно не меньше миллиона колебаний в секунду.
Миллиону колебаний в секунду соответствует частота 1 мега-
герц (сокращенно МГц). Если бы мы собрали компьютер из
главы 17 с помощью микросхем ТТЛ, для его работы лучше
всего подошла бы тактовая частота 10 МГц. На выполнение
каждой команды уходило бы 400 нс. Это, конечно, невооб-
разимо быстрее, чем даже в самом быстром релейном ком-
пьютере.
Другое популярное семейство микросхем называется
КМОП (комплементарные МОП-структуры), или CMOS
(complementary metal-oxide semiconductor). Если бы вы в сере-
дине 70-х годов в порядке хобби собирали какие-нибудь уст-
ройства из микросхем КМОП, вашей настольной книгой был
бы справочник «CMOS Databook», выпущенный фирмой
National Semiconductor. В нем содержится информация о
КМОП-микросхемах серии 4000.
Для микросхем ТТЛ требуется питание от 4,75 до 5,25 В.
Диапазон допустимых напряжений для микросхем КМОП —
от 3 до 18 В. Есть где размахнуться! Более того, микросхемы
КМОП потребляют гораздо меньше энергии, чем ТТЛ, благо-
даря чему становится возможным создание небольших уст-
ройств с микросхемами, работающих от батареек. Недостаток
микросхем КМОП — низкое быстродействие. Например, га-
рантированное время установки 4-разрядного полного сумма-
тора КМОП 4008, работающего от напряжения 5 В, составляет
750 нс. Если напряжение повысить, микросхема начнет рабо-
тать быстрее: 250 нс при напряжении 10 В и 190 нс при напря-
жении 15 В. Но даже при повышенном напряжении микро-
схема КМОП далека от аналогичного ТТЛ-сумматора, время
установки которого равно 24 нс. Впрочем, такое ясное разли-
чие между быстрыми ТТЛ-микросхемами и экономичными
КМОП-микросхемами существовало лет 25 назад. В наши дни
уже появились ТТЛ-микросхемы с пониженными требовани-
ями к питанию и быстродействующие КМОП-микросхемы.
316
Глава восемнадцатая
Процесс практической сборки устройства на микросхемах
начинается на макетной плате (breadboard).
Под пластмассовым основанием каждые пять отверстий элек-
трически соединены. Микросхема вставляется в макетную пла-
ту над центральной бороздой так, что ее выводы попадают в
отверстия по обе стороны от борозды. При этом каждый вы-
вод микросхемы электрически соединен с четырьмя соседни-
ми отверстиями. В эти отверстия вставляются провода для со-
единения с другими микросхемами.
Для более долговечного соединения микросхем используй-
те монтаж накруткой (wire-wrapping). Каждая микросхема ус-
танавливается в гнездо с длинными квадратными штырьками:
Каждый штырек соответствует выводу микросхемы. Сами
гнезда вставляются в плату с перфорацией. С ее противопо-
ложной стороны с помощью специального устройства на каж-
дый штырек наматывается тонкий провод с изоляцией. На уг-
лах квадратного сечения штырька изоляция рвется, и между
проводом и штырьком возникает контакт.
При серийном производстве приборов на микросхемах
лучше использовать печатные платы (printed circuit boards).
Впрочем, изготовление печатной платы по силам и любите-
лю. Печатная плата — это пластина, покрытая тонкой медной
фольгой. Те участки платы, на которых фольгу нужно оста-
317
От счетов к микросхемам
вить, покрывают химически стойким веществом, а потом про-
травливают ее кислотой. Затем выводы гнезд для микросхем
или самих микросхем припаиваются прямо к медному покры-
тию платы. Поскольку соединений между микросхемами тре-
буется очень много, одного слоя меди часто не хватает. Поэто-
му промышленные печатные платы обычно бывают много-
слойными.
В начале 70-х годов появилась возможность собрать ком-
пьютерный процессор целиком на одной плате. После этого
размещение всего процессора в единой микросхеме было уже
вопросом времени. Хотя патент на «однокристальный» ком-
пьютер в 1971 г. получила фирма Texas Instruments, честь из-
готовления микросхемы-процессора принадлежит компании
Intel, основанной в 1968 г. бывшими сотрудниками Fairchild
Semiconductors Робертом Нойсом и Гордоном Муром. Первым
значительным продуктом Intel была микросхема памяти ем-
костью 1 024 бита — рекорд для того времени, — выпущенная
в 1970 г.
Проектируя микросхемы для программируемого кальку-
лятора, который намеревалась выпускать японская компания
Busicom, инженеры Intel приняли решение испробовать на них
новый подход. Суть его инженер Intel Тед Хофф (Ted Hoff)
выразил так: «Я решил проектировать не устройство, которое
было бы калькулятором с возможностью программирования,
а компьютер общего назначения, запрограммированный вы-
полнять функции калькулятора». Так появилась на свет мик-
росхема 4004 — первый «компьютер в чипе», или микропро-
цессор. Микросхема 4004 появилась на рынке в ноябре 1971 г.
и содержала 2 300 транзисторов (согласно закону Мура, мик-
ропроцессоры, выпущенные через 18 лет после этого собы-
тия, должны содержать в 4 000 раз больше транзисторов, т. е.
около 10 миллионов — весьма точное предсказание).
Помимо числа транзисторов, нужно упомянуть еще о трех
важных характеристиках ИС 4004. Их часто используют и для
описания более поздних процессоров.
Во-первых, 4004 был 4-разрядным процессором, т. е. шина
данных в нем имела ширину 4 бита. При сложении или вычи-
тании чисел процессор мог обрабатывать только 4-битовые
фрагменты. Этим он отличается от 8-разрядного компьютера
из главы 17, шина данных которого имеет ширину 8 битов.
318
Глава восемнадцатая
Естественно, на 4 битах технология задержалась недолго. Как
мы убедимся позже, 4-разрядные процессоры были очень бы-
стро вытеснены 8-разрядными, а в конце 70-х появились уже
16-разрядные процессоры. Вспомните, что в 8-разрядном ком-
пьютере из главы 17 для сложения двух 16-разрядных чисел
требовалось несколько команд, и вы оцените преимущество
16-разрядного процессора. В середине 80-х на первый план
выдвинулись 32-разрядные процессоры, которые с тех пор ста-
ли стандартными для домашних компьютеров.
Во-вторых, 4004 работал на тактовой частоте (clock speed)
108 000 циклов в секунду, т. е. 108 килогерц (кГц). Тактовая
частота это максимально допустимая частота генератора так-
товых импульсов, при которой процессор может работать.
Чуть больше, и в работе возможно появление сбоев. В 1999 г.
процессоры, предназначенные для домашних компьютеров,
пересекли отметку 500 МГц — приблизительно в 5 000 раз
быстрее, чем у 4004.
В-третьих, объем адресуемой памяти у 4004 составлял 640
байт. По сегодняшним временам этот объем кажется смехот-
ворно маленьким, но на большее при тогдашних микросхе-
мах памяти рассчитывать не приходилось. Как вы узнаете из
следующей главы, через пару лет процессоры могли уже обра-
щаться к 64 кб памяти, как компьютер из главы 17. В 1999 г.
адресное пространство микропроцессоров Intel составляло уже
64 терабайта, что значительно превосходит потребности до-
машних компьютеров, оперативная память которых редко
превышает 256 Мб.
Три этих характеристики никак не отражают способности
компьютера. На 4-разрядном процессоре можно складывать
32-разрядные числа, разбивая их на 4-битовые фрагменты. В
каком-то смысле все компьютеры одинаковы. Если в аппарат-
ной части одного процессора отсутствуют возможности, име-
ющиеся у другого, эту недостачу легко возместить средствами
программного обеспечения. В конце концов результат будет
один и тот же. Это, кстати, одно из заключений работы Алана
Тьюринга о «вычислимости».
А вот по скорости выполнения одной и той же задачи про-
цессоры действительно различаются. А ведь быстродействие
— одна из главных привлекательных черт компьютеров.
319
От счетов к микросхемам
На быстродействие процессора, очевидно, влияет макси-
мальная тактовая частота, поскольку она определяет время,
затрачиваемое на выполнение каждой команды. На быстро-
действии сказывается и ширина шины данных. Хотя 4-разряд-
ный процессор и способен складывать 32-разрядные числа,
делает он это гораздо медленнее 32-разрядного процессора. А
вот связь между быстродействием и объемом адресуемой па-
мяти уже не так очевидна. На первый взгляд, размер адресно-
го пространства не имеет отношения к быстродействию и лишь
накладывает ограничение на способность процессора решать
определенные задачи, требующие значительной памяти. Но
ограничение на объем памяти процессор всегда может обой-
ти, используя определенные ее адреса для обмена данными с
внешними накопителями. Можно, например, представить себе,
что каждый байт, записываемый в определенную ячейку па-
мяти, в действительности записывается на перфоленту, а байт,
считываемый из этой ячейки, в действительности считывает-
ся с перфоленты. Однако этот обмен замедляет работу компь-
ютера. Так что опять все упирается в скорость.
Конечно, быстродействие процессора этими тремя числа-
ми характеризуется только приблизительно. Они ничего не
скажут вам об архитектуре процессора, о том, насколько эф-
фективны и функциональны его команды. По мере совершен-
ствования процессоров в них встраиваются многие общие
функции, ранее выполнявшиеся программным обеспечением.
Примеры этого встретятся нам в следующих главах.
Хотя все цифровые компьютеры наделены равными спо-
собностями, хотя они неспособны делать ничего, что выходи-
ло бы за пределы возможностей примитивной вычислитель-
ной машины, придуманной Аланом Тьюрингом, общая полез-
ность компьютерной системы, конечно, определяется быстро-
действием процессора. Например, нет смысла в создании ком-
пьютера, который выполняет вычисления медленнее челове-
ческого мозга. И нам вряд ли удавалось бы смотреть фильмы
на экране компьютера, если бы процессор затрачивал по ми-
нуте на рисование каждого кадра.
Но вернемся в середину 70-х. Несмотря на ограничения
процессора 4004, он был началом новой эры. В апреле 1972 г.
компания Intel выпустила микросхему 8008 — 8-разрядный
320
Глава восемнадцатая
микропроцессор с тактовой частотой 200 кГц и адресным про-
странством 16 кб (видите, как можно легко охарактеризовать
процессор всего тремя числами). Затем в 1974 г. компании Intel
и Motorola выпустили два микропроцессора, которые должны
были заменить 8008. Эти микропроцессоры изменили мир.
|