Среди наиболее важных технологий, созданных человечеством за всю его историю, компьютеры — пожалуй, самое недавнее изобретение. Однако потребность в вычислениях существовала с глубокой древности. Уже первые сельскохозяйственные цивилизации Месопотамии столкнулись с такими объемами цифр и данных, хранить и пересчитывать которые в уме было слишком сложно. Тогда и появился первый прообраз компьютера — абак.
Несложное устройство, похожее на старые бухгалтерские счеты, позволяло манипулировать цифрами обычной десятеричной системы. Каждый дальнейший ряд костяшек представлял следующую степень десяти: пятнадцати, например, соответствовали пять сдвинутых костяшек на нижней планке плюс одна — на второй снизу.
Чтобы прибавить к нему 115, достаточно было сдвинуть одну костяшку в третьем ряду (100), одну во втором (10) и пять в нижнем (пять), а поскольку 10 сдвинутых костяшек нижнего ряда равны одной во втором ряду, осталось вернуть их назад и добавить одну выше — 130. Готово.
Эта «модель» оказалась настолько удобной и универсальной, что ее совершенствовали и использовали в течение многих столетий, невзирая на появление более сложных и специализированных механизмов — начиная с астролябии и заканчивая логарифмической линейкой.
Скажем, суммирующая машина, созданная Паскалем еще в XVII веке, была, по сути, механизированными счетами. Зубчатые колеса с тем же передаточным отношением 1:10, делая определенное число оборотов, позволяли складывать числа с пятью-восемью десятичными разрядами. Чуть позже появился механизм Лейбница, способный производить все четыре основных арифметических действия.
Устроен он был сложнее: соответствующий разряд представлялся ступенчатым цилиндром, каждый из которых, совершив десять оборотов, возвращался в исходное положение и передавал один оборот на следующий цилиндр — так работают одометры в современных автомобилях. Те же движения в обратном порядке позволяли вычитать, а дополнительные механизмы, автоматизировавшие многократное сложение и вычитание, обеспечили умножение и деление.
Сам Лейбниц говорил, что простой счет «не стоит внимания и времени достойного человека, раз любой крестьянин способен выполнить ту же работу с той же точностью, если будет пользоваться машиной». Однако первое задокументированное употребление слова «компьютер» (Ричард Брейтвейт, 1613 год) обозначало не машину, а профессию. В те годы настоящими «компьютерами» были действительно опытные в арифметике люди — и такая ситуация сохранялась вплоть до середины XIX века, когда их понемногу стали вытеснять механизмы. С 1890-х слово «компьютер» входит в Оксфордский словарь английского языка — уже в качестве механического устройства.
Однако практически все арифмометры того времени были лишь более усовершенствованными, дешевыми и надежными версиями машины Лейбница: полностью избавиться от ручного труда при счете они не позволяли. Большинство практических задач — будь то расчет баллистического полета снаряда или опор железнодорожного моста — требуют ввода, обработки и считывания десятков, сотен и тысяч чисел. Вычисления отнимали массу сил и ресурсов, и, чтобы действительно освободить «достойных людей» от унизительной работы «счетчиком», была необходима машина, способная производить любые вычисления и обладающая памятью, устройствами ввода и вывода данных.
Впервые о таком универсальном механизме задумался Чарльз Бэббидж, который в 1820-1840 годах работал над разностной машиной для разложения функций на многочлены. Сложнейшая система из десятков тысяч деталей так никогда и не была им до конца построена, и лишь к 200-летию со дня рождения Бэббиджа в Великобритании собрали и ее (доказав правильность расчетов инженера), и спроектированный им примитивный принтер.
Идея универсальной машины Бэббиджа — хотя и не была реализуема с технологиями того времени — произвела большое впечатление на умы. Уже в середине XIX века графиня Ада Лавлейс описала работу такого механизма, введя представления об алгоритмах, циклах, и стала первым программистом еще не существующего компьютера. Впрочем, ждать оставалось недолго.
К концу того же XIX века правительство США столкнулось с быстрым ростом населения — в основном за счет наплыва мигрантов из Европы. Законодательство страны предписывает проводить перепись населения каждые 10 лет, но уже в 1880 году анкет собрали столько, что их ручная обработка заняла семь лет. Дотошные статистики подсчитали, что на перепись в 1890-м потребуется уже больше 10 лет — объемы росли как снежный ком. Именно для их обработки инженер Герман Холлерит создал табуляционную машину, которая использовала перфокарты. Отверстия, соответствующие ответам анкеты, позволяли тонким гибким проводам проходить перфокарту насквозь и соединяться внизу с проводящими ячейками, жидкими электродами из ртути. Замыкание контактов заставляло крошечный мотор крутить соответствующее колесо на один оборот, фиксируя позицию.
Соединяя электроды в схемы, можно было производить сложение и комбинаторные вычисления: например, при выяснении общего числа женатых мужчин. Это был большой шаг вперед — уже не механический, а электромеханический компьютер. Табуляторы Холлерита позволили обрабатывать данные на порядок быстрее — их закупило даже правительство царской России, где они были использованы для переписи 1897 года. Созданная инженером компания Computing-Tabulating-Recording (CTR) разрабатывала и выпускала все более сложные табуляторы, а с 1924 года стала известна под новым, ныне всем знакомым названием — International Business Machines, или просто IBM.
Продукты компании были чрезвычайно успешны, но их способностей быстро стало не хватать. Индустриализация и Первая мировая война, бурное развитие заводов и городов, науки и транспорта требовали все большей производительности. Росли и усложнялись электромеханические системы: построенная той же IBM в 1941 году машина «Марк I» по заказу американского ВМФ занимала целое здание и была невероятно сложна в управлении и эксплуатации.
Она использовала десятки перфолент и миллионы вариантов соединений, но главной новинкой стало внедрение электромеханических реле. Это устройство можно назвать переключателем, который задерживает или пропускает ток (вращающий все то же счетное колесо) в зависимости от того, есть ли ток во втором, управляющем контуре. Пришла пора использовать логику.
Комбинируя такие переключатели, можно получать логические вентили для проведения вычислений. Представим, что нам необходимо сложить пять и шесть. В бинарной системе это означает суммировать 0101 и 0110, разряд за разрядом, по правилам: 0 + 1 = 1 + 0 = 1, 0 + 0 = 0, 1 + 1 = 10. Нам потребуются всего два логических вентиля: первый будет выдавать ток (1), если один из суммируемых регистров содержит 1 и в нашем случае даст 0011; второй будет срабатывать только на 1 и 1 — в нашем случае это соответствует 1000. Одновременная работа двух схем даст 1011 — или 11 в десятеричной системе.
С бытовой точки зрения не слишком удобно, но для компьютера — что надо. В качестве носителей нулей и единиц могут выступать перфокарты, магнитные ленты или ячейки памяти, а как логические элементы — «переключатели». К моменту, на котором мы остановились, они эволюционировали до полностью электрических.
В самом деле, все 3,5 тысячи механических реле «Марк I» требовали физического переключения, заставляя цепь то замыкаться, то размыкаться снова. В результате они обладали лишь ограниченным запасом выносливости и требовали замены спустя примерно 50 тысяч переключений. Это снижало и их быстродействие: машина могла производить лишь три операции сложения или вычитания в секунду. Наконец, механическое решение крайне ненадежно: обычное насекомое, пробравшееся внутрь системы, грозило нарушить ее работу — что и случалось то и дело, породив современное словечко «баг». Неудивительно, что вскоре инженеры обратили внимание на другой способ получить управляемые переключатели — электронные ламповые диоды, превратившие электромеханические системы в полностью электрические.
Такие приборы создали еще в 1900-х: вакуумная лампа содержит электроды, один из которых, нагреваясь при подаче тока, начинает испускать электроны, которые устремляются к противоположно заряженному электроду. Однако установленный между ними третий электрод может управлять этим потоком. Если на него подано отрицательное напряжение, он блокирует движение электронов, а если положительное — облегчает его.
Ламповые диоды были куда надежнее и быстрее механических реле, они могли переключаться сотни и тысячи раз в секунду и служили дольше. Их широко использовали в усилителях звука: слабый ток в управляющем контуре замыкал более мощный рабочий контур, тем самым усиливая сигнал. Но если бытовой усилитель требовал одну лампу, компьютеру были нужны сотни — хрупких, дорогих, требовавших регулярной замены и энергетически прожорливых.
При этом уже первые ламповые компьютеры — такие как Colossus, взламывавший шифры радиосообщений вермахта в годы Второй мировой — быстро перевалили через планку в тысячи диодов. Для проведения каждого конкретного вычисления приходилось перепрограммировать систему полностью, по-новому комбинируя логические вентили из электронных ламп.
Автоматизировали этот процесс лишь создатели следующей машины — ENIAC, законченной к 1945 году и использовавшейся для разработки термоядерного оружия. Это был первый действительно программируемый компьютер, способный проводить уже до 500 тысяч операций в секунду. Тем не менее стало очевидно, что необходим принципиально иной механизм создания переключателей-реле: приближалось время транзисторов.
Заслуга создания полупроводниковых транзисторов принадлежит Уильяму Шокли и его коллегам из Bell Laboratories. По сути, это те же переключатели, далекие потомки механических и ламповых систем, но действующие уже на более миниатюрном уровне.
Чтобы понять, как они действуют, нам придется снова спуститься к атомному масштабу. Кремний — один из основных элементов в земной коре — образует кристаллическую решетку со свойствами полупроводника. В чистом виде все четыре электрона, которые есть на внешних оболочках атомов кремния, оказываются разделенными между соседними узлами решетки.
Они стабилизированы и не способны двигаться, так что безупречный кремниевый кристалл ток не проводит. Однако внесение уже небольших количеств добавок (допирование) из элементов с другим числом внешних электронов (например, бора) создает в решетке свободные носители заряда — или вакансии (дырки), — которые те будут стремиться занять. Мы получим материал с электронной (N-) или дырочной (P-) проводимостью.
Теперь представим, что аккуратным допированием мы превратили небольшой фрагмент чистого кремния в N-полупроводник с тонкой полоской Р-проводимости, разделяющей его пополам. Избыток электронов из N-областей займет ближайшие дырки в P-области, создав область с избыточным отрицательным зарядом. Она будет препятствовать дальнейшему движению электронов, запирая течение тока, как третий управляющий электрод в вакуумной лампе. Но если на Р-область подается положительный заряд, он удалит лишние электроны, позволив току двигаться.
Мы получили все тот же переключатель, но уже невероятно компактный и быстрый, энергоэффективный и совершенно неизнашивающийся. Комбинируя кремниевые NPN- или PNP-транзисторы, можно выстраивать любые логические схемы для сверхбыстрых расчетов, размещая в крошечном объеме миллиарды транзисторов и контактов между ними. Остается лишь произвести их.
Современные технологии производства полупроводниковых микросхем точнее ювелирных и требуют более чем хирургической чистоты. Температура, которая на некоторых этапах доводится до 1500 °C, контролируется до десятых долей градуса, а пылинок в воздухе огромных производственных помещений должно содержаться не больше пяти на литр объема. Только так можно добиться достаточной точности и размещать на микросхеме все больше и больше транзисторов — от 2300 на революционном микропроцессоре 1971 года Intel 4004, до 3,1 миллиона транзисторов на Intel Pentium 1993 года и сотен миллионов в каждом из десяти ядер современного процессора Xeon.
Высокая чистота требуется и от основного ресурса производства — кварцевого песка, который прокаливают в присутствии магния для дополнительной очистки и удаления кислорода. Полученный кремний расплавляют и погружают в него затравку — крошечный кристалл, который медленно вытягивают, наращивая все новые атомарные слои, пока не будет получен достаточных размеров монокристалл. Нарезая его, получают тонкие — меньше миллиметра — пластины чистого полупроводника, которые после шлифования и дополнительной обработки превращаются в заготовки для того, чтобы «вырезать» целую систему транзисторов и связей — микросхему будущего процессора.
Для этого кремний (полупроводник) покрывают слоем оксида кремния (изолятор) и фоторезистивного материала. Под действием ультрафиолетового луча он затвердевает, а в остальных участках впоследствии смывается, позволяя удалить и изолирующий слой оксида. Процесс похож на средневековую технологию литографии, при которой краска сохранялась лишь в процарапанных в металлической пластинке канавках, образуя готовый рисунок для отпечатка. Он и называется фотолитографией, хотя «канавки» тут — уже нанометровый рисунок тончайшей микросхемы.
При этом используются заранее подготовленные трафареты, пропускающие ультрафиолет в одних участках и задерживающие в других. Аналогичным образом наносят другие слои, содержащие бор или другие примеси для формирования NPN-переходов, медь или прочие металлы — для будущих контактов.
Размеры трафаретов намного больше, чем у будущего процессора, поэтому «снопы» излучения после них фокусируются на крошечной площади с помощью специальных линз. Уже в 1980-х точность работы таких систем удалось довести до микрометров, а современные технологии позволяют «уменьшать» картинку трафарета при переносе на кремниевый кристалл еще на много порядков — вплоть до 10 нанометров.
Прогресс впечатляет и до сих пор полностью согласуется с правилом, которое еще на заре развития кремниевой электроники утвердил Гордон Мур, один из руководителей IBM: каждые 18 месяцев производительность микросхем удваивается. Такому развитию давно и безуспешно завидуют прочие области техники (представьте, если бы скорость транспортных перевозок росла подобными темпами!), однако и ему, видимо, скоро придет конец.
В самом деле, меньше известно другое замечание Мура — о том, что затраты на каждый следующий шаг миниатюризации кремниевых микросхем растут почти с той же скоростью, что и их производительность. В последние годы это привело к некоторому отставанию схемотехники от привычной скорости развития, да и инженеры вплотную приблизились к пределу минимума. Транзисторы — размерами лишь в сотни, а то и десятки атомов — уже проявляют себя как квантовые системы. В них возникают случайные эффекты, вносящие искажения в точность вычислений, — и ускорение суперкомпьютеров все больше полагается не на мощь отдельных микросхем, а на большое число совместно работающих элементов.
Впрочем, даже закат кремниевых транзисторов не будет означать, что мы подошли к пределу производительности компьютеров как таковых. Большую перспективу некоторые специалисты видят за ДНК-вычислениями, комбинирующими парные нуклеотиды в цепочках нуклеиновых кислот: теоретически они обещают невероятно высокую производительность при решении многих задач, требующих параллельных вычислений. Еще больше надежд связано с квантовыми компьютерами, которые способны опираться на те самые случайные и странные эффекты квантовой механики, от которых страдают невероятно миниатюризированные кремниевые микросхемы. Первые из них уже начали работу — впрочем, они достойны отдельного рассказа.
Комментарии
Выключите, пожалуйста, вашу ебанутую гифку.
Это не привлечение трафика, а наоборот!
Да ладно ругаться, тут хотя бы не редиректят на яндекс, как на одном конкурентском сайте, название которого я с сегодняшнего дня навсегда забыл.
Гифку же куда быстрее вырезать в 2 клика адблоком на стороне браузера, чем матюгаться и писать в Спортлото.
Да, эта гипножаба скорей раздражает.
Заменили гифку.