• Перевод

Примечание. Дата публикации статьи: 26.12.2015. За прошедшее время некоторые тезисы автора подтвердились реальными фактами, а некоторые оказались ошибочными - прим. пер.

В последние 40 лет мы видели, как скорость компьютеров росла экспоненциально. У сегодняшних CPU тактовая частота в тысячу раз выше, чем у первых персональных компьютеров в начале 1980-х. Объём оперативной памяти на компьютере вырос в десять тысяч раз, а ёмкость жёсткого диска увеличилась более чем в сто тысяч раз. Мы так привыкли к этому непрерывному росту, что почти считаем его законом природы и называем законом Мура. Но есть пределы этому росту, на которые указал и сам Гордон Мур . Мы сейчас приближаемся к физическому пределу, где скорость вычислений ограничена размером атома и скоростью света.

Канонические часы Тик-так от Intel начали пропускать такты то здесь, то там. Каждый «тик» соответствует уменьшению размера транзисторов, а каждый «так» - улучшение микроархитектуры. Нынешнее поколение процессоров под названием Skylake - это «так» с 14-нанометровым технологическим процессом. Логически, следующим должен стать «тик» с 10-нанометровым техпроцессом, но Intel теперь выдаёт «циклы обновления» после каждого «так». Следующий процессор, анонсированный на 2016 год, станет обновлением Skylake, всё ещё на 14-нанометровом техпроцессе . Замедление часов Тик-так - это физическая необходимость, потому что мы приближаемся к лимиту, где размер транзистора составляет всего несколько атомов (размер атома кремния - 0,2 нанометра).

Другое физическое ограничение - это скорость передачи данных, которая не может превышать скорость света. Требуется несколько тактовых циклов, чтобы данные попали из одного конца CPU в другой конец. По мере того как микросхемы становятся крупнее с большим и большим количеством транзисторов, скорость начинает ограничиваться самой передачей данных на микросхеме.

Технологические ограничения - не единственная вещь, которая замедляет эволюцию процессоров. Другим фактором является ослабление рыночной конкуренции. Крупнейший конкурент Intel, компания AMD, сейчас больше внимания уделяет тому, что она называет APU (Accelerated Processing Units), то есть процессорам меньшего размера с интегрированной графикой для мини-ПК, планшетов и других ультра-мобильных устройств. Intel теперь завладела подавляющей долей рынка процессоров для высококлассных ПК и серверов. Свирепая конкуренция между Intel и AMD, которая несколько десятилетий толкала вперёд развитие процессоров x86, практически исчезла.

Рост компьютерной мощи в последние годы идёт не столько от увеличения скорости вычислений, сколько от усиления параллелизма. В современных микропроцессорах используется три типа параллелизма:

  1. Одновременное выполнение нескольких команд с изменением их очерёдности.
  2. Операции Single-Operation-Multiple-Data (SIMD) в векторных регистрах.
  3. Несколько ядер CPU на одной микросхеме.
У этих типов параллелизма нет теоретических лимитов, но есть реальные практические. Выполнение команд с изменением их очерёдности ограничено количеством независимых команд в программном коде. Вы не можете одновременно выполнить две команды, если вторая команда ждёт результат выполнения первой. Нынешние CPU обычно могут одновременно выполнять четыре команды. Увеличение этого количества не принесёт много пользы, потому что процессору будет сложно или невозможно найти в коде больше независимых команд, которые можно выполнить одновременно.

В нынешних процессорах с набором инструкций AVX2 есть 16 векторных регистров по 256 бит. Грядущий набор инструкций AVX-512 даст нам 32 регистра по 512 бит, и вполне можно ожидать в будущем расширения на 1024- или 2048-битные векторы. Но эти увеличения векторных регистров будут давать всё меньший эффект. Немногие вычислительные задачи имеют достаточный встроенный параллелизм, чтобы извлечь выгоду из этих векторов большего размера. 512-битные векторные регистры соединяются набором регистров маски, у которых ограничение на размер 64 бита. 2048-битные векторные регистры смогут хранить 64 числа одинарной точности по 32 бита каждое. Можно предположить, что Intel не планирует делать векторные регистры более чем 2048 бита, поскольку они превзойдут ограничения 64-битных регистров маски.

Многочисленные ядра CPU дают преимущество только если имеется множество критических к скорости одновременно работающих программ или если задача делится на многочисленные независимые потоки. Количество потоков, на которые можно с выгодой разделить задачу, всегда ограничено.

Производители без сомнения постараются делать всё более и более мощные компьютеры, но какова вероятность, что эту компьютерная мощь можно будет использовать на практике?

Существует четвёртая возможность параллелизма, которая пока не используется. В программах обычно полно веток if-else, так что если CPU научатся предсказывать, какая из веток сработает, то можно было бы поставить её на выполнение. Можно выполнять одновременно сразу несколько веток кода, чтобы избежать потери времени, если предсказание окажется неправильным. Конечно, за это придётся заплатить повышенным энергопотреблением.

Другое возможное улучшение - разместить программируемое логическое устройство на микросхеме процессора. Подобная комбинация сейчас является обычным делом для так называемых FPGA, которые используются в продвинутой аппаратуре. Такие программируемые логические устройства в персональных компьютерах можно использовать для реализации функций, специфических для конкретных приложений, для задач вроде обработки изображений, шифрования, сжатия данных и нейросетей.

Полупроводниковая индустрия экспериментирует с материалами, которые можно использовать вместо кремния. Некоторые полупроводниковые материалы III-V способны работать на более низком напряжении и на более высоких частотах, чем кремний , но они не делают атомы меньше или свет медленнее. Физические ограничения по-прежнему в силе.

Когда-нибудь мы можем увидеть трёхмерные многослойные чипы. Это позволит уплотнить схемы, уменьшить расстояния, а следовательно, и задержки. Но как эффективно охлаждать такой чип, когда энергия распространяется повсюду внутри него? Потребуются новые технологии охлаждения. Микросхема не сможет передавать питание на все схемы одновременно без перегрева. Ей придётся держать отключенными большинство своих частей основную часть времени и подавать питание в каждую часть только во время её использования.

В последние годы скорость CPU увеличивается быстрее, чем скорость RAM, которая часто становится серьёзным узким местом. Без сомнения, в будущем мы увидим много попыток увеличить скорость оперативной памяти. Вероятной разработкой будет поместить оперативную память на одну микросхему с CPU (или хотя бы в один корпус), чтобы уменьшить расстояние для передачи данных. Это будет полезное использование трёхмерных чипов. Вероятно, RAM будет статического типа, то есть на каждую ячейку памяти будет подаваться питание только когда к ней осуществляется доступ.

Intel также снабжает рынок суперкомпьютеров для научного использования. У процессора Knight"s Corner - до 61 ядра на одной микросхеме. Он имеет слабое соотношение производительность/цена, но его ожидаемый наследник Knight"s Landing должен быть лучше по этому показателю. Он вместит до 72 ядер на чипе и сможет выполнять команды с изменением их очерёдности. Это маленький нишевый рынок, но Intel может повысить свой авторитет.

Сейчас лучшие возможности по улучшению производительности, как я думаю, с программной стороны. Разработчики ПО быстро нашли применение экспоненциальному росту производительности современных компьютеров, который произошёл благодаря закону Мура. Программная индустрия стала использовать её, а также начала использовать более и более продвинутые инструменты разработки и программные фреймворки. Эти высокоуровневые инструменты разработки и фреймворки сделали возможным ускорить разработку ПО, но за счёт потребления большего количества вычислительных ресурсов конечным продуктом. Многие из сегодняшних программ довольно расточительны в своём чрезмерном потреблении аппаратной вычислительной мощности.

На протяжении многих лет мы наблюдали симбиоз между аппаратной и программной индустриями, где последняя производила всё более продвинутые и ресурсоёмкие продукты, которые подталкивали пользователей покупать всё более мощное оборудование. Поскольку скорость роста аппаратных технологий замедлилась, а пользователи перешли на маленькие портативные устройства, где ёмкость батареи важнее, чем производительность, программной индустрии теперь придётся изменить курс. Ей придётся урезать ресурсоёмкие инструменты разработки и многоуровневый софт и разрабатывать программы, не так набитые функциями. Сроки разработки увеличатся, но программы станут потреблять меньше аппаратных ресурсов и быстрее работать на маленьких портативных устройствах с ограниченным ресурсом батареи. Если индустрия коммерческого ПО сейчас не изменит курс, то может уступить долю рынка более аскетичным продуктам open source.

От редакции. Наши постоянные читатели знают, что изредка в нашей газете появляются перепечатки наиболее знаменитых, классических статей и работ в области информатики. “Физические пределы вычислений” мы хотели напечатать давно… лет пятнадцать. Но этой замечательной статье все как-то не находилось места с точки зрения композиции других материалов, слишком странно она смотрелась бы в газете, будучи напечатанной “просто так”. И тут такая удача! Статья была упомянута (абсолютно заслуженно) в последней лекции нашего курса повышения квалификации, как один из немногих источников информации по данной теме на русском языке. Конечно, мы не могли не воспользоваться возможностью. Надеемся, вы получите удовольствие от знакомства с этим прекрасным популярным материалом. Ведь даже 24 (!) года, прошедшие со времени его публикации, не сделали его “устаревшим”, хотя, конечно, технологии ушли вперед на парсеки! Но фундаментальные законы не по зубам даже технологиям!

Какие физические факторы ограничивают процесс вычисления? Существует ли предельный минимум энергии, необходимый, например, для выполнения одного логического шага? По-видимому, такого минимума не существует, однако есть другие вопросы, которые пока остаются открытыми.

Вычисление, независимо от того, выполняется оно электронными устройствами, на обычных счетах или биологической системой, такой, как мозг, - это физический процесс. К нему применимы те же понятия, что и к другим физическим процессам. Какое количество энергии необходимо, чтобы выполнить то или иное вычисление? Сколько времени потребуется на это? Каких размеров должно быть вычисляющее устройство? Другими словами, каковы физические ограничения, накладываемые на процесс вычисления?

Конечно, задавать эти вопросы гораздо легче, нежели отвечать на них. Ограничения, которыми мы интересуемся, так или иначе очень далеки от реальных ограничений, с которыми имеет дело современная техника. Поэтому мы не можем утверждать, что наши исследования помогают в работе инженеру или технологу. Эти исследования носят более теоретический характер. Наша цель - выявить общие законы, которым подчиняются все виды обработки информации, независимо от средств и методов этой обработки. Любые найденные нами ограничения должны быть основаны исключительно на фундаментальных физических принципах, а не на технологиях, используемых в настоящее время.

Подобный поиск фундаментальных ограничений уже имел прецеденты. В 40-х годах К.Шеннон, в то время сотрудник фирмы Bell Telephone Laboratories, установил, что существуют ограничения на количество информации, которое можно передать по каналу связи при наличии шума. Эти ограничения действуют независимо от того, каким образом кодируется сообщение. Работа Шеннона ознаменовала собой рождение современной теории информации. Еще раньше, в середине и конце прошлого столетия, физики, пытаясь определить фундаментальные ограничения на эффективность парового двигателя, создали науку, получившую название “термодинамика”. Приблизительно в 1960 г. Ландауэр (один из авторов данной статьи) совместно с Дж. Суонсоном, работая в фирме IBM, попытались применить анализ подобного рода к процессу вычисления. Начиная с середины 70-х годов к этим исследованиям стали подключаться все более многочисленные группы ученых из других организаций.

В нашем анализе физических ограничений на вычисления мы применяем термин “информация” в том смысле, в котором он определен в теории информации. Согласно этому определению, информация исчезает всякий раз, когда две ранее различавшиеся ситуации становятся неразличимыми. В физических системах, отличающихся отсутствием сил трения, информацию невозможно уничтожить, потому что при уничтожении информации некоторое количество энергии должно перейти в тепло. В качестве примера рассмотрим две легкоразличающиеся физические ситуации. В одной из них резиновый мячик поддерживается на высоте 1 м от пола, в другой - на высоте 2 м. Если мячик отпустить, он упадет и отскочит от пола вверх. При отсутствии трения и при условии, что мячик абсолютно упругий, наблюдатель всегда сумеет сказать, каким было исходное состояние мячика (в данном случае - на какой высоте он находился в начальный момент времени), поскольку мячик, упавший с высоты 2 м, отскочит выше, чем в случае, когда он падает с высоты 1 м.

Однако при наличии сил трения при каждом отскоке мячика от пола некоторое количество энергии будет рассеиваться, и в конце концов мячик перестанет отскакивать и останется лежать на полу. Тогда уже будет невозможно определить, каким было исходное состояние мячика: мячик, упавший с высоты 2 м, будет полностью идентичен мячику, упавшему с высоты 1 м. Информация утратится в результате диссипации энергии.

Обычные вычислительные устройства, счеты и микропроцессор в процессе работы рассеивают энергию. Рассеяние энергии логическими вентилями микропроцессора обусловлено исчезновением информации. Имеются и другие причины: электронные схемы микропроцессора потребляют энергию даже тогда, когда они просто хранят информацию, не обрабатывая ее. Счеты диссипативны из-за сил трения, которые нельзя устранить: в отсутствие статического трения “кости” меняли бы положение под действием случайного теплового движения молекул. Статическое трение представляет собой некую минимальную силу, которая не зависит от скорости перемещения “костей”, и поэтому счеты требуют некоторой минимальной энергии, как бы медленно они не работали.

Приведем другой пример исчезновения информации. Выражение “2 + 2” содержит больше информации, чем выражение “= 4”. Если нам известно лишь то, что число 4 было получено в результате сложения двух чисел, то мы не сможем определить, какие именно числа складывались: 1 + 3, 2 + 2, 0 + 4 или какая-нибудь другая пара чисел. Поскольку выходная информация содержится неявным образом уже во входной, можно считать, что никакое вычисление не порождает информации.

Обычные логические вентили рассеивают энергию потому, что отбрасывают ненужную информацию. Например, если на выходе вентиля И имеется 0, то мы не можем определить, что было на входах.

На самом деле вычисления, выполняемые на современных вычислительных машинах, проводятся при помощи многих операций, уничтожающих информацию. Так называемый “вентиль И ” - это устройство с двумя входными линиями, на каждой из которых может быть установлен сигнал, равный 1 или 0, и одной выходной линией - значение ее сигнала определяется значениями входов. Если на обоих входах 1, то на выходе также будет 1. Если на одном или на обоих входах 0, то и на выходе будет 0. Всякий раз, когда на выходе вентиля 0, мы теряем информацию, потому что нам неизвестно, в каком из трех возможных состояний находились входные линии (0 и 1; 1 и 0 или 0 и 0). На самом деле в любом логическом вентиле, у которого количество входов превышает количество выходов, неизбежно происходит потеря информации, поскольку мы не можем определить состояние входов по состоянию выходов. Поэтому всякий раз, когда мы пользуемся подобным “логически необратимым” вентилем, мы рассеиваем энергию в окружающую среду. Стирание одного бита данных в памяти ЭВМ - другая часто используемая при вычислениях операция, которая также диссипативна по своей природе. При стирании одного бита данных мы теряем всю информацию о предшествовавшем состоянии этого бита.

Однако справедливо задать вопрос, является ли неизбежным использование необратимых логических вентилей и операции стирания при вычислениях? Если это так, то при любом производимом нами вычислении должно рассеиваться некоторое минимальное количество энергии.

Как показал Бенне (один из авторов этой статьи) в 1973 г., при вычислении можно обойтись как без необратимых логических элементов, так и без стирания информации. С тех пор справедливость этого положения была продемонстрирована на нескольких моделях. Проще всего описать модели, основанные на так называемых “обратимых логических элементах”, таких, как вентиль Фредкина, названный по имени Эдуарда Фредкина из Массачусетсского технологического института. У вентиля три входные и три выходные линии. Сигнал на одной входной линии, называемой “управляющим каналом”, не изменяется при прохождении через вентиль. Если сигнал на управляющем канале установлен равным 0, то входные сигналы на двух других линиях также проходят без изменения. Но если на управляющей линии 1, то на двух других выходных линиях происходит переключение: входной сигнал одной линии становится выходным другой, и наоборот. Вентиль Фредкина не теряет информации, поскольку состояние входов можно всегда определить по состоянию выходов.

Фредкин показал, что любое логическое устройство, необходимое для работы ЭВМ, может быть построено в виде соответствующей комбинации вентилей Фредкина. Чтобы выполнить вычисление, на определенных входных линиях некоторых вентилей должны быть предварительно установлены определенные значения (см. нижний рисунок слева).

Обратимый логический вентиль Фредкина может и не рассеивать энергию - состояние на его входах можно определить по состоянию выходов. У вентиля имеется “управляющая” линия, состояние которой не меняется вентилем. Если на управляющей линии 0, то значения сигнала на двух других линиях также не меняются, если же на управляющей линии 1, то вход линии А становится выходом линии S, и наоборот. С помощью обратимых вентилей, соединенных соответствующим образом, можно реализовать любую функцию, выполняемую обычным необратимым устройством. Чтобы реализовать операцию И (справа), один вход устанавливается равным 0 и два выходных бита, называемых “мусорными”, временно игнорируются. Когда вычисление завершено, эти биты используются при работе вентиля в обратном направлении, чтобы вернуть компьютер к исходному состоянию.

У вентилей Фредкина больше выходных линий, чем у тех, которые они моделируют. Поэтому в процессе вычислений образуются, казалось бы, “мусорные биты”, т.е. биты информации, не требующиеся для получения результата. Перед тем как начать другое вычисление, нужно каким-то образом очистить компьютер от этих битов. Но если мы сотрем их, то произойдет та самая диссипация энергии, которой мы хотели избежать.

В действительности эти биты играют очень важную роль. После того как мы получили результат вычисления и скопировали его из машины с обычных выходных линий, процесс следует запустить в обратном направлении. Другими словами, мы используем “мусорные биты” и выходные биты, полученные компьютером в ходе вычислений, в качестве “входа”, вводимого с “обратной стороны” машины. Это оказывается возможным, потому что каждый логический вентиль компьютера является обратимым. В процессе вычисления, выполняемого в обратном направлении, не происходит никакой потери информации, а потому нет нужды рассеивать энергию. В конце концов компьютер придет к состоянию, в котором он находился перед началом вычисления. Следовательно, можно завершить “цикл вычисления” - прогнать компьютер вперед и затем вернуться в исходное состояние, без какого-либо рассеяния энергии.

До сих пор мы говорили об абстрактных логических операциях, не касаясь физических устройств, осуществляющих эти операции. Однако нетрудно представить себе физическое устройство, работающее по принципу Фредкина. В таком устройстве каналы для передачи информации представляются в виде трубок. В свою очередь, бит информации представляется наличием или отсутствием шарика в определенной секции трубки. Присутствие шарика интерпретируется как 1, а отсутствие - как 0.

Управляющая линия представляется узким участком трубки, расщепленной посередине в продольном направлении. Когда шарик входит в расщепленную секцию трубки, он раздвигает ее боковые стенки, приводя таким образом в действие переключающее устройство. Это переключающее устройство направляет входные шарики, которые могут находиться в двух других трубках. Когда в управляющей трубке есть шарик, то любой шарик, приходящий по входной линии, автоматически переводится в другую трубку. Чтобы обеспечить выключение переключающего устройства при отсутствии шарика в управляющей трубке, расщепленные половинки последней прижимаются друг к другу пружинками. Когда шарик входит в управляющую трубку и сжимает пружинки, он должен затрачивать на это некоторое количество энергии. Однако эта энергия не теряется: она отдается обратно, когда управляющий шарик покидает расщепленную трубку и пружинки разжимаются.

Все шарики как бы связаны друг с другом и толкаются вперед одним механизмом, так что они движутся синхронно; в противном случае мы не могли бы обеспечить одновременного прибытия различных входных и управляющих шариков к логическому вентилю. В каком-то смысле процесс вычисления происходит подобно движению с одной степенью свободы, как, например, движение двух колес, жестко сидящих на одной оси. Когда вычисление завершено, мы толкаем все шарики в обратном направлении, ликвидируя все проведенные на пути вперед операции и возвращая компьютер в исходное состояние.

Если устройство целиком погрузить в идеальную вязкую жидкость, то силы трения, действующие на шарики, будут пропорциональны их скорости, статическое же трение будет отсутствовать. Поэтому, если нас устроит медленное движение шариков, сила трения будет очень мала. В любой механической системе работа по преодолению силы трения равна произведению силы трения на расстояние, пройденное телом. (Следовательно, чем быстрее пловец проплывет определенную дистанцию, тем больше энергии он затратит, несмотря на то что расстояние остается одним и тем же независимо от скорости пловца.) Если шарики проходят через вентили Фредкина на малой скорости, то совершаемая при движении работа (произведение силы на расстояние) будет очень малой, так как сила трения прямо пропорциональна скорости шарика. На самом деле мы можем затрачивать сколь угодно мало энергии, просто за счет соответствующего замедления процесса вычисления. Таким образом, мы приходим к выводу, что не существует минимального необходимого количества энергии, которую требуется затратить, чтобы выполнить любое заданное вычисление.

Идеализированная физическая модель вентиля Фредкина: трубки играют роль проводников, а присутствие или отсутствие шарика интерпретируется как 1 или 0. Узкий расщепленный участок трубки - это управляющий канал. Когда в него попадает шарик, стенки трубки расходятся в стороны, приводя в действие переключающий механизм. Последний, в свою очередь, переводит любой прибывший шарик из линии А в линию В и наоборот. Две пружинки поддерживают управляющий канал выключенным, когда в нем нет шарика. Такой вентиль не требует статического трения для выполнения операций. Его можно погрузить в вязкую жидкость, и тогда силы трения будут зависеть лишь от скорости шариков. В этом случае рассеиваемая энергия может быть произвольно малой: чтобы уменьшить количество рассеиваемой энергии, нужно лишь уменьшить скорость прохождения шариков через вентиль.

В рассмотренной модели вычислительного устройства энергия, теряемая на трение, будет очень мала, если это устройство действует достаточно медленно. Можно ли построить модель еще более идеализированной машины, которая могла бы вычислять без всякого трения? Или же трение является необходимым атрибутом вычислительного процесса? Фредкин вместе с Т.Тоффоли и другими специалистами из МТИ показали, что трение не является необходимым.

Они продемонстрировали это на модели вычислительного устройства, в котором вычисления проводятся путем выстреливания навстречу друг другу идеальных бильярдных шаров в отсутствие сил трения. В бильярдной модели идеально отражающие “зеркала” - поверхности, меняющие направление движения шаров, расположены таким образом, что движение шаров по столу моделирует прохождение битов информации через логические вентили (см. рисунок). Как и раньше, присутствие шара в определенной части “компьютера” интерпретируется как 1, а отсутствие - как 0. Если два шара одновременно достигают логического вентиля, то они сталкиваются, и траектории их движения изменяются; новые траектории представляют при этом выходные данные вентиля. Фредкин, Тоффоли и другие разработали схемы расположения зеркал, соответствующие различным типам логических вентилей, и доказали, что можно построить бильярдную модель любого логического элемента, необходимого для вычислений.

Бильярдная модель компьютера: движение бильярдных шаров по поверхности стола моделирует прохождение битов информации через логический вентиль. В бильярдных логических вентилях (слева) траектории шаров изменяются при их столкновениях друг с другом или с “зеркалами”. Кроме функций, выполняемых ими в вентилях, зеркала могут менять угол траектории шара (а), сдвигать ее в сторону (b), задерживать шар, не меняя его конечного направления или скорости (с), или заставлять траектории пересекаться (d). Зеркала можно расставить таким образом, чтобы получившийся в результате “компьютер” выполнял функции любого логического устройства. Например, можно построить бильярдный компьютер для распознавания простых чисел. Такой компьютер (справа) на входе принимает произвольное пятизначное двоичное число (в данном случае 01101, или 13) и фиксированную входную последовательность 01. Как и вентиль Фредкина, бильярдный компьютер возвращает больше битов на выходе, чем нужно пользователю. В рассматриваемом случае он возвращает само исходное число (представляющее собой “лишний” выход) и “ответ”: последовательность 10, если число на входе простое, и 01, если оно составное.

Чтобы начать процесс вычисления, мы выстреливаем бильярдным шаром по входу компьютера, если нужно ввести единицу. Шары должны входить в машину одновременно. Поскольку шары абсолютно упругие, они не теряют энергии при столкновении друг с другом. Они выйдут из машины, обладая тем же количеством кинетической энергии, с которым вошли в нее.

В процессе работы бильярдный компьютер порождает “мусорные биты”, как и компьютер, построенный на вентилях Фредкина. После того как компьютер завершил выполнение задачи, мы отражаем бильярдные шары в обратном направлении, обращая процесс вычисления вспять. Шары выйдут из машины в точности там же, откуда мы их направили в машину, и при этом будут двигаться с той же скоростью. Таким образом, механизм, запустивший шары в машину, может получить теперь обратно их кинетическую энергию. И в этом случае, выполнив вычисление, мы можем вернуть компьютер в исходное состояние, не рассеивая энергии.

У бильярдного компьютера есть один существенный недостаток: он чрезвычайно чувствителен к малейшим неточностям. Если шар послан с небольшим отклонением от правильного направления или зеркало повернуто под углом, слегка отличающимся от расчетного, шары сойдут с нужных траекторий. Один или больше шаров отклонятся от расчетного пути, и через какое-то время совместный эффект этих ошибок нарушит весь процесс вычисления. Даже если можно было бы изготовить абсолютно упругие, лишенные трения шары, случайное тепловое движение молекул, из которых состоят шары, может оказаться достаточным для того, чтобы после нескольких десятков столкновений возникли ошибки.

Конечно, можно было бы установить корректирующую аппаратуру, которая возвращала бы неправильно движущийся шар на нужную траекторию, но в этом случае пришлось бы уничтожать информацию о предшествующих состояниях шара. Например, потребовалось бы уничтожить информацию, касающуюся величины отклонения зеркала от правильного положения. Однако избавиться от информации даже для того, чтобы исправить ошибку, можно только в системе, в которой существуют силы трения и возможна потеря энергии. Поэтому корректирующая аппаратура должна рассеивать некоторое количество энергии.

Многих трудностей, с которыми приходится сталкиваться при использовании бильярдной модели компьютера, можно было бы избежать или, во всяком случае, уменьшить их, если вместо бильярдных шаров воспользоваться субмикроскопическими частицами, такими, например, как электроны. Как указал У.Зурек из Национальной лаборатории в Лос-Аламосе, благодаря законам квантовой механики, накладывающим ограничения на состояние элементарных частиц, возможность небольших отклонений в движении частиц может быть устранена.

Хотя до сих пор наши рассуждения основывались главным образом на классической динамике, несколько исследователей предложили другие модели обратимых вычислительных машин, основанных на принципах квантовой механики. Такие машины, впервые предложенные П.Бениоффом из Национальной лаборатории в Аргонне (Франция) и усовершенствованные другими, в особенности Р.Фейнманом из Калифорнийского технологического института, до сих пор были описаны лишь в самых общих выражениях. По существу, частицы в этих моделях компьютеров должны быть расположены таким образом, чтобы правила квантовой механики, управляющие их взаимодействием, были в точности аналогичны правилам, предсказывающим значения сигналов на выходах обратимых логических вентилей. Предположим, например, что спин частицы может иметь только два возможных значения: направление вверх (соответствующее двоичной 1) и вниз (соответствующее 0). Взаимодействие между значениями спинов частиц должно проходить таким образом, чтобы значение спина данной частицы изменялось в зависимости от спина частиц, находящихся поблизости. При этом спин частицы будет соответствовать одному из выходов логического вентиля.

Выше мы говорили в основном об обработке информации. Но компьютер должен не только обрабатывать данные, но и запоминать их. Взаимодействие между хранением и обработкой информации, пожалуй, лучше всего можно описать на примере устройства, называемого “машиной Тьюринга” (по имени Алана М. Тьюринга, первого, кто предложил такую машину в 1936 г.). Машина Тьюринга может произвести любое вычисление, выполняемое современной ЭВМ. Ш.Бенне (один из авторов этой статьи) доказал возможность построения машины Тьюринга, т.е. такой, которая не теряет информации и, следовательно, в процессе работы может затрачивать любое заранее заданное малое количество энергии.

Машина Тьюринга способна выполнить любое вычисление, которое может выполнить ЭВМ. Бесконечно длинная лента поделена на дискретные сегменты, в каждом из которых записан 0 или 1. “Головка для считывания и записи”, которая может находиться в любом из нескольких внутренних состояний (здесь только два состояния: А и В), перемещается вдоль ленты. Каждый цикл начинается с того, что головка считывает один бит с сегмента ленты. Затем, в соответствии с фиксированным набором правил перехода, она записывает в сегмент ленты бит данных, изменяет свое внутреннее состояние и перемещается на одну позицию влево или вправо. Поскольку данная машина Тьюринга обладает всего двумя внутренними состояниями, ее возможности ограничиваются лишь тривиальными вычислениями. Более сложные машины с большим числом состояний способны смоделировать поведение любой ЭВМ, в том числе и значительно более сложной, чем они сами. Это оказывается возможным благодаря тому, что они хранят полное представление логического состояния большей машины на бесконечной ленте и разбивают каждый вычислительный цикл на большое количество простых шагов. Показанная здесь машина логически обратима: мы всегда можем определить предшествующие состояния машины. Машины Тьюринга, обладающие другими правилами перехода, могут и не быть логически обратимыми.

Машина Тьюринга состоит из нескольких компонентов. Один из них - лента, поделенная на отдельные участки или сегменты, в каждом из которых записаны 0 или 1, представляющие собой входные данные. “Головка для считывания и записи” движется вдоль ленты. Головка может выполнять несколько функций - считать с ленты один бит данных, записать один бит на ленту и переместиться на один сегмент влево или вправо. Чтобы на следующем цикле сохранять информацию о том, что делалось на предыдущем, у механизма головки имеется ряд так называемых “состояний”. Каждое состояние представляет собой свою, несколько отличную от других конфигурацию внутренних частей головки.

На каждом цикле головка считывает бит с того сегмента ленты, напротив которого она в данный момент находится. Затем она записывает новое значение бита на ленту, изменяет свое внутреннее состояние и перемещается на один сегмент влево или вправо. Значение бита, который она записывает, состояние, к которому она переходит, и направление, в котором она перемещается, определяются фиксированным набором правил перехода. Каждое правило описывает определенные действия. Какому правилу следует машина в данный момент, определяется состоянием головки и значением бита, только что прочитанного с ленты. Например, правило может быть следующим: “Если головка находится в состоянии А и расположена напротив сегмента, в котором записан 0, то она должна изменить значение этого бита на 1, перейти к состоянию В и переместиться на один сегмент вправо”. Согласно какому-нибудь другому правилу, машина не должна менять своего состояния или не записывать нового бита на ленту, или же должна остановиться. Не все машины Тьюринга обратимы, но можно построить такую обратимую машину Тьюринга, которая способна выполнить любое вычисление.

Модели, основанные на обратимой машине Тьюринга, имеют преимущество над такими машинами, как бильярдный компьютер, в котором отсутствует трение. В бильярдном компьютере случайное тепловое движение молекул приводит к неизбежным ошибкам. Обратимые машины Тьюринга на самом деле используют случайное тепловое движение: они построены таким образом, что именно тепловое движение при содействии слабой вынуждающей силы переводит машину из одного состояния в другое. Развитие вычислительного процесса напоминает движение иона (заряженной частицы) в растворе, находящемся в слабом электрическом поле. Если наблюдать за поведением иона в течение короткого периода времени, то оно покажется случайным: вероятность движения в одном направлении почти такая же, как и в другом. Однако вынуждающая сила, обусловленная действием электрического поля, придает движению предпочтительное направление. Вероятность того, что ион будет двигаться в этом направлении, несколько больше. На первый взгляд может показаться невероятным, что целенаправленная последовательность операций, свойственная процессу вычисления, может быть реализована аппаратом, направление движения которого в любой момент времени можно считать почти случайным. Однако такой характер действий очень распространен в природе. Его, в частности, можно наблюдать в микроскопическом мире химических реакций. Происходящее по методу проб и ошибок броуновское движение, или случайное тепловое движение, оказывается достаточно эффективным, чтобы реагирующие молекулы вступили в контакт, расположились должным образом относительно друг друга, как этого требует данная реакция, и образовались новые молекулы, представляющие собой продукты реакции. В принципе все химические реакции обратимы: то же броуновское движение, которое обеспечивает выполнение реакции в прямом направлении, иногда заставляет продукты реакции пройти через обратный переход. В состоянии равновесия обратное направление реакции так же вероятно, как и прямое. Чтобы заставить реакцию идти в прямом направлении, нужно постоянно добавлять молекулы, вступающие в реакцию, и удалять молекулы - продукты реакции. Другими словами, мы должны приложить небольшую вынуждающую силу. Когда эта сила очень мала, реакция будет происходить в прямом и обратном направлениях, но в среднем она будет идти в прямом направлении. Чтобы обеспечить наличие вынуждающей силы, мы должны затрачивать энергию, однако, как и в модели вентиля Фредкина из трубок и шариков, количество энергии может быть произвольно малым. Если нас устраивает очень медленное выполнение операций, то не существует минимального необходимого количества энергии, которую нужно затратить на эти операции. Объяснение заключается в том, что полное количество рассеиваемой энергии зависит от числа шагов в прямом направлении, деленного на число шагов в обратном. (На самом деле оно пропорционально логарифму этого отношения; когда само отношение увеличивается или уменьшается, его логарифм изменяется в ту же сторону.) Чем медленнее реакция проходит в прямом направлении, тем меньше будет отношение. (Здесь опять уместна аналогия с быстрым и медленным пловцами: если реакция проходит медленнее, полное количество затрачиваемой энергии будет меньше, несмотря на то что число промежуточных распадов и соединений остается тем же.)

РНК-полимераза - фермент, действующий как обратимая машина для копирования ленты. Она является катализатором реакции синтеза РНК, являющейся копией ДНК. Продвигаясь вдоль цепи ДНК, фермент выбирает из окружающего раствора молекулу нуклеозидтрифосфата (каждый нуклеозидтрифосфат состоит из какого-либо основания РНК, молекулы сахара и трех фосфатных групп), основание которого комплементарно тому основанию ДНК, которое в данный момент должно быть скопировано. Он прикрепляет новое основание к концу строящейся цепи РНК и высвобождает пирофосфат-ион. Реакция обратима: иногда фермент присоединяет к последнему звену РНК пирофосфат (образующийся нуклеозидтрифосфат возвращается в раствор) и отодвигается на одну позицию назад вдоль цепи ДНК. Когда реакция близка к состоянию химического равновесия, фермент совершает почти столько же шагов назад, сколько вперед, и полная энергия, требующаяся для копирования одного сегмента ДНК, очень мала. Диссипация энергии тем меньше, чем медленнее протекает реакция. Поэтому не существует какого-либо минимума энергии, необходимого для того, чтобы скопировать сегмент ДНК.

ПОСМОТРИМ, как работает броуновская машина Тьюринга на примере броуновской машины для копирования ленты. Такая машина уже существует в природе. Это РНК-полимераза - фермент, участвующий в процессе синтеза РНК, являющейся копией ДНК, из которой состоят гены. Одноцепочечная ДНК во многом напоминает ленту машины Тьюринга. В каждом ее элементе, т.е. в каждой позиции вдоль цепи, находится один из четырех нуклеотидов, или оснований: аденин, гуанин, цитозин или тимин (сокращенно A, G, С, Т). Структура РНК очень сходна с ДНК. Это так же длинная цепеобразная молекула, состоящая из оснований четырех типов - аденина, гуанина, цитозина и урацила (соответственно A, G, С и U). Основания РНК способны связываться с комплементарными им основаниями ДНК.

РНК-полимераза катализирует процесс образования на ДНК ее комплементарной копии - РНК. Обычно закрученная в спираль двойная цепь ДНК окружена раствором, содержащим большое количество молекул рибонуклеозидтрифосфатов, каждая из которых состоит из соединенных последовательно рибонуклеотида (основания РНК), сахара и хвоста из трех фосфатных групп. РНК-полимераза выбирает из раствора одно из оснований РНК, комплементарное тому основанию, которое в данный момент должно быть скопировано с цепи ДНК, и прикрепляет его к концу растущей цепи РНК, высвобождая два фосфата в окружающий раствор в виде пирофосфат-иона. Далее фермент перемещается вперед на одну позицию вдоль цепи ДНК, подготавливаясь к тому, чтобы присоединить следующее основание к цепи РНК. В результате образуется цепь РНК, комплементарная к матрице - цепи ДНК. Без РНК-полимеразы эти реакции протекали бы очень медленно и не было бы гарантии, что образующаяся РНК точно комплементарна ДНК.

Описанные реакции обратимы: иногда фермент присоединяет к последнему основанию растущей цепи РНК свободный ион пирофосфата и в окружающую среду высвобождается молекула рибонуклеозидтрифосфата, а сам фермент возвращается на одну позицию назад вдоль цепи ДНК. В состоянии равновесия шаги в прямом и обратном направлениях происходят с одинаковой частотой, но в живой клетке другие процессы метаболизма сдвигают равновесие в сторону прямой реакции за счет удаления пирофосфата и создания избытка рибонуклеозидтрифосфатов. В лабораторных условиях можно регулировать скорость РНК-полимеразной реакции, варьируя концентрации исходных реагентов (это доказали Дж. Левин и М.Чемберлен из Калифорнийского университета в Беркли). По мере того как концентрации приближаются к равновесным, фермент работает все медленнее, и при копировании данного участка ДНК рассеивается все меньше энергии, поскольку отношение числа шагов в прямом и обратном направлениях становится меньше.

РНК-полимераза просто копирует информацию, не обрабатывая ее, нетрудно представить себе, как могла бы работать гипотетическая химическая машина Тьюринга. Лента представляет собой одну длинную скелетную молекулу, к которой через равные промежутки прикрепляются основания двух типов, интерпретируемые как биты 0 и 1. Еще одна небольшая молекула прикреплена к одной из позиций в цепи нулей и единиц. Позиция, к которой прикреплена эта молекула, - не что иное, как сегмент ленты, на котором находится головка машины Тьюринга. Имеется несколько различных типов “молекулы-головки”. Каждый тип представляет одно из возможных внутренних состояний машины.

Правила перехода машины представлены ферментами. Каждый фермент является катализатором определенной реакции. Чтобы лучше понять, как работают эти ферменты, рассмотрим пример.

Предположим, что молекула-головка относится к типу А (это означает, что машина находится в состоянии А ) и прикреплена к нулевому основанию. Предположим также, что действует следующее правило перехода: “Когда головка находится в состоянии А и считывает 0, заменить 0 на 1, перейти к состоянию В и переместиться вправо”. Молекула фермента, представляющего это правило, имеет место, подходящее для прикрепления молекулы-головки типа А , связанной с основанием 1. Она имеет также место, подходящее для прикрепления основания 0, и место, подходящее для головки типа В (см. рисунок).

Чтобы осуществить требуемый переход, молекула фермента сначала приближается к позиции на ленте, находящейся непосредственно справа от основания, к которому в данный момент прикреплена головка типа А . Затем она отделяет от ленты и молекулу-головку, и основание 0, к которому головка прикреплена, и помещает на их место основание 1. Затем она прикрепляет головку типа В к основанию, находящемуся справа от единичного основания, только что прикрепленного к ленте. На этом переход завершается. На исходном сегменте ленты 0 был заменен на 1, молекула-головка относится теперь к типу В и прикреп­лена к основанию, находящемуся на одну позицию правее исходной.

Гипотетическая ферментная машина Тьюринга может выполнить вычисление с произвольно малой затратой энергии. Молекулы, представляющие биты 0 и 1, прикрепляются к скелетной молекуле. Молекула, представляющая головку машины Тьюринга, присоединена к одной из позиций в цепи (7). Различные типы молекул-головок представляют разные состояния машины. Правила перехода представлены ферментами. На каждом цикле фермент соединяется с головкой и молекулой-битом, связанной с головкой (2), отделяет их от цепи, помещает на их место нужную молекулу-бит (3). Делая это, он вращается, прикрепляя соответствующую молекулу-головку к следующему биту справа или слева от только что измененного. Теперь цикл завершен (4): значение бита изменено, головка изменила состояние и переместилась. Реакции, подобные синтезу РНК, могут рассеивать произвольно малое количество энергии.

Броуновская машина Тьюринга - часовой механизм, состоящий из жестких гладких деталей, неплотно прилегающих друг к другу и поддерживаемых в нужном положении не трением, а системой пазов и зубцов. Несмотря на свободное соединение деталей, они могут совершать только такое крупномасштабное движение, которое соответствует шагу вычислений в прямом или обратном направлении, другими словами, они могут следовать только по одному “вычислительному пути”. Механизм слегка подталкивается очень слабой внешней силой, так что вероятность движения вперед почти такая же, как и назад. Однако в среднем машина будет двигаться вперед и вычисление в конце концов будет завершено. Можно заставить машину затрачивать произвольно малое количество энергии за счет соответствующего уменьшения вынуждающей силы.

Сегменты ленты представлены дисками с канавками, а биты - Е-образными блоками, которые прикрепляются к диску либо в верхнем (7), либо в нижнем (0) положении. Головка состоит из жестких деталей, соединенных в сложный механизм (большая часть которого здесь не показана). К нему подвешены читающий элемент, манипулятор и стержень, имеющий форму отвертки. Машина управляется валиком с нанесенными на его поверхность канавками наподобие валика для проигрывания записей на фонографе (слева вверху, справа в глубине). Различные канавки соответствуют разным состояниям головки.

В начале цикла головка расположена над одним из дисков, и “игла” находится в сегменте “считывания” канавки управляющего валика, соответствующей текущему состоянию головки машины. Во время фазы “считывания” цикла (7) читающий элемент определяет, как повернут блок, представляющий бит, вверх или вниз, выполняя процедуру “считывания по препятствию” (в центре справа). Считывающий элемент проходит вдоль блока по верхнему или нижнему пути. На одном из этих путей он должен встретить препятствие в виде выступа на конце блока, поэтому возможным остается только один путь. В точке управляющего валика, соответствующей этому “решению”, канавки разветвляются, и игла направляется в канавку, соответствующую значению бита (2). Затем управляющий валик поворачивается, пока игла не достигнет сегмента “записи” (3). Здесь каждая канавка содержит свой набор “инструкций”, которые передаются машине при помощи замысловатой связи между иглой и остальным механизмом.

Если инструкция требует изменить значение бита, манипулятор приводится в действие и зацепляет за выступ блока, затем отвертка поворачивает диск, пока блок не освободится, манипулятор поворачивает блок вверх или вниз, а отвертка опять поворачивает диск, так что блок занимает свое место. Пройдя сегмент “записи” управляющего валика, игла входит в сегмент “сдвига” (4). Каждая канавка этого сегмента содержит инструкцию перемещения головки на одну позицию влево или вправо. Далее игла входит в сегмент “изменения состояния” (5), где канавки сливаются таким образом, что игла попадает в канавку, представляющую следующее состояние головки. Теперь цикл завершен (6). Диски, соседние со считываемым в данный момент, удерживаются в нужном положении головкой. Диски, отстоящие дальше, заперты на специальный “замок”. Замок каждого диска связан со специальным битом, называемым Q-битом, соседнего диска. Устройство этой связи таково, что диск, читаемый в данный момент, освобожден и его можно двигать, в то время как диски, удаленные от него как слева, так и справа, поддерживаются в неподвижном состоянии.

Для того чтобы броуновская машина Тьюринга работала, лента должна быть погружена в раствор, содержащий много молекул ферментов, а также достаточные запасы “нулей”, “единиц” и “головок” типа А и В . Чтобы реакция проходила в прямом направлении, необходима какая-то другая реакция, которая очищала бы молекулы ферментов от головок и оснований, отделенных от ленты. Концентрации веществ, очищающих молекулы ферментов, представляют собой вынуждающую силу, которая заставляет машину Тьюринга работать в прямом направлении. И опять мы можем затрачивать сколь угодно малое количество энергии, если машина будет выполнять операции достаточно медленно.

Машина Тьюринга на основе ферментов не будет свободна от ошибок. Время от времени могут происходить реакции, протекающие без катализа ферментами. Например, основание 0 может спонтанно отделиться от скелетной молекулы, а основание 1 - занять его место. На самом деле подобные ошибки действительно возникают в процессе синтеза РНК.

В принципе можно было бы избавиться от этих ошибок, построив броуновскую машину Тьюринга на основе жесткого, абсолютно гладкого часового механизма. Такая машина Тьюринга является менее идеализированной моделью, чем бильярдный компьютер, но более идеализированной, чем ферментная машина. С одной стороны, ее детали не требуют абсолютно точной обработки, как это необходимо для бильярдных шаров, детали часового механизма могут иметь некоторые допуски и машина может работать даже в присутствии значительного теплового шума. И все же машина должна быть абсолютно жесткой и свободной от статического трения, а этими качествами не обладает ни одно макроскопическое тело.

Поскольку детали машины прилегают друг к другу неплотно, они удерживаются в нужном положении не трением, а с помощью системы канавок - пазов и зубцов (см. рисунок). Хотя каждая деталь машины имеет небольшой свободный ход, подобно изрядно потертым фишкам деревянной головоломки, в целом механизм может следовать только по одному “вычислительному пути”. Другими словами, детали сцеплены друг с другом таким образом, что в любой момент времени машина может совершать лишь два типа крупномасштабного движения: движение, соответствующее шагу вычислений в прямом направлении, и движение в обратном направлении.

Компьютер совершает переходы между этими двумя типами движения только в результате случайного теплового движения своих частей, обусловленного влиянием слабой внешней силы. Вероятность движения в обратном направлении, ликвидирующего результаты последней операции, почти такая же, как и вероятность движения в прямом направлении. Небольшая сила, приложенная снаружи, подталкивает вычисления вперед. И опять эту силу можно сделать сколь угодно малой; и, следовательно, не существует какого-либо минимума энергии, которую необходимо затрачивать, чтобы обеспечить функционирование машины Тьюринга на основе часового механизма.

Таким образом, по соображениям классической термодинамики необходимого минимума энергии для проведения вычислений не существует. Не вступает ли в таком случае термодинамический анализ в противоречие с квантовой механикой? Ведь, согласно квантовомеханическому принципу неопределенности, должна существовать обратная зависимость между степенью неопределенности относительно того, сколько времени длится процесс, и степенью неопределенности относительно количества затрачиваемой при этом энергии. Некоторые исследователи считают поэтому, что в любом процессе с переключением, протекающим за очень короткий промежуток времени, должна быть затрачена некоторая минимальная энергия.

В действительности принцип неопределенности вовсе не требует какого-то конечного минимума энергии для быстрого переключательного события. Принцип неопределенности был бы применим лишь в том случае, если бы мы попытались измерить точный момент времени, когда произошло событие. Даже по законам квантовой механики чрезвычайно быстрые события могут происходить без всякой потери энергии. Наша уверенность в том, что квантовая механика позволяет проводить вычисления со сколь угодно малой затратой энергии, находит подтверждение в моделях обратимых квантовомеханических вычислительных машин, разработанных Бениоффом с коллегами. Эти модели не рассеивают энергию и подчиняются законам квантовой механики.

Таким образом, принцип неопределенности, по-видимому, не накладывает фундаментальных ограничений на процесс вычисления. Не накладывает их также классическая термодинамика. Означает ли это, что у вычислений нет вообще никаких физических ограничений? Нет, это далеко не так. Реальные ограничения связаны с вопросами, на которые значительно труднее ответить, чем на те, которые мы поставили и рассмотрели в настоящей статье. Например, тре­буют ли элементарные логические операции некоторого минимального конечного времени? Каковы минимальные размеры устройства, способного выполнить такие операции? Поскольку масштабы размера и времени связаны с конечной скоростью света, то, по-видимому, ответы на эти вопросы каким-то образом взаимосвязаны. Однако мы не сможем найти эти ответы, во всяком случае, пока не решится вопрос о том, существует ли какая-то элементарная дискретность в универсальной шкале длины и времени.

На другом полюсе проблемы находится вопрос о том, насколько большой мы можем сделать память компьютера. Как много частиц во Вселенной мы сможем собрать и соединить для этих целей? Дело в том, что максимальный возможный размер памяти компьютера накладывает ограничение на точность, с которой можно проводить вычисления. Например, будет ограничено количество десятичных знаков в вычисленном значении числа p. Другой, возможно связанный с последним, вопрос касается неизбежных процессов разрушения, протекающих в реальных вычислительных машинах по мере того, как они стареют. Возможно ли снизить скорость процесса разрушения и накопления ошибок до произвольно малых величин, или же эта скорость накладывает ограничение на максимальную продолжительность вычисления? Другими словами, существуют ли такие вычислительные задачи, которые невозможно будет завершить до того, как материальная часть компьютера придет в негодность?

На самом деле подобные вопросы касаются ограничений на физическое выполнение математических операций. Физические законы, на которых должны в конечном счете базироваться ответы, сами выражаются при помощи таких математических операций. Таким образом, мы задаемся вопросом о том, в какой форме могут применяться физические законы при ограничениях, накладываемых свойствами Вселенной, которые сами, в свою очередь, описываются этими законами.

В предыдущем номере еженедельника.

Tипичный персональный компьютер среднего класса содержит от 50 до 70 интегральных схем. Это, прежде всего, микропроцессор - наиболее сложная из схем, выполняющий последовательности команд работы с данными. За 40 лет существования интегральных схем инженерная мысль, естественно, не стояла на месте, и развитие полупроводниковых технологий позволяло уменьшать размеры транзисторов, соответственно увеличивая их количество на микропроцессоре. Несколько штук, затем несколько десятков, несколько десятков тысяч, и, наконец, миллион элементов на интегральной схеме. Не раз исследователи и аналитики предсказывали, что процесс миниатюризации достигнет некоторых физических пределов, которые уже нельзя преодолеть. Однако до сего дня ни одно из предсказаний не сбылось. Высочайшая степень интеграции позволяет год от года наращивать мощность микропроцессоров и на исходе тысячелетия делает возможным выпуск чипов оперативной памяти, способных хранить миллиарды бит данных.

Тем не менее увеличивать быстродействие процессора, сокращая размеры транзисторов, размещаемых на нескольких квадратных сантиметрах кремния, действительно становится все сложнее. Именно сейчас, когда транзистор на процессоре имеет размер порядка двух микрон (это примерно в сто раз меньше ширины человеческого волоса) и может содержать элементы размером в несколько десятых микрона, проблема достижения предела в дальнейшей миниатюризации встает настолько остро, что лаборатории крупнейших научных центров и компаний-производителей серьезно работают над средствами усовершенствования современной технологии производства интегральных схем, а в научных кругах все активнее обсуждается вопрос о возможных альтернативах транзистору вообще как основе вычислительной техники.

Снова о физике

Дальнейшее уменьшение размеров транзистора способно породить ряд физических условий, которые будут препятствовать процессу миниатюризации. В частности, может оказаться чрезвычайно сложным, если вообще возможным, соединение друг с другом мельчайших элементов. Приближение областей проводимости друг к другу на расстояние порядка 100 ангстрем может породить квантовые эффекты, которые поставят под угрозу нормальную работу транзисторов. В лабораториях предел уже достигнут, и ученые исследуют возможные последствия, однако для коммерческого производства в ближайшее десятилетие эта проблема еще не будет актуальна.

Миниатюризация полевого транзистора неизбежно сопровождается усилением электрических полей, что может по-разному влиять на перемещения электронов. В частности, электроны, проходящие через такое сильное электрическое поле, могут приобрести очень большую энергию, и в конечном итоге возникнет лавинообразный электрический ток, способный разрушить схему. Современные процессоры в погоне за все более высокой скоростью обработки уже приближаются к черте, за которой вполне возможно подобное усиление электрических полей. Инженеры прибегают к различным ухищрениям, для того чтобы избежать нежелательных последствий. Разработаны полевые транзисторы, в которых поле может перемещаться в место, где оно не оказывает разрушительного влияния на другие электронные функции. Однако подобные трюки неизбежно требуют компромисса в отношении других характеристик устройства, усложняя разработку и производство или снижая надежность и жизненный цикл транзистора и схемы в целом.

Чем меньше размер транзисторов, тем выше плотность их размещения на процессоре, при этом увеличивается расход тепловой энергии. Сейчас каждый квадратный сантиметр схемы выделяет 30 ватт тепловой энергии - излучение, которое характерно для материала, нагретого до температуры порядка 1200 градусов по Цельсию. Естественно, такие температуры недопустимы в производстве микропроцессоров, поэтому используются различные системы охлаждения для удаления лишнего тепла по мере его возникновения. Стоимость применения этих достаточно мощных систем возрастает с увеличением интенсивности выделяемой тепловой энергии.

Проблемы производства

Помимо чисто физических проблем, процесс уменьшения размеров транзисторов и увеличения степени их интеграции на микропроцессоре может натолкнуться на ограничения, связанные с особенностями производства интегральных схем. Вообще говоря, свойства устройств, которые создаются на одной кремниевой пластине, равно как и на разных пластинах, не идентичны. Отклонения могут возникать на каждом из этапов. Характер вероятных различий между производимыми процессорами и частота появления просто бракованных устройств могут стать реальной преградой на пути дальнейшей миниатюризации элементов интегральной схемы.

Миниатюризация касается не только длины и ширины элемента схемы, но и толщины самого процессора. Транзисторы и соединения на нем реализуются с помощью серии уровней, в современных процессорах их может быть пять или шесть. Уменьшение размеров транзистора и увеличение плотности их размещения на процессоре влечет за собой увеличение числа уровней. Однако чем больше слоев в схеме, тем тщательнее должен быть контроль за ними в процессе производства, поскольку на каждый из уровней будут оказывать влияние нижележащие. Стоимость усовершенствования средств контроля и стоимость создания соединений между множеством уровней могут оказаться фактором, сдерживающим увеличение числа слоев.

Кроме всего прочего, усложнение интегральной схемы потребует совершенствования условий производства, к которым и так предъявляются беспрецедентно высокие требования. Понадобится более точный механический контроль за позиционированием исходной кремниевой пластины. "Стерильное" помещение, где создаются микропроцессоры, должно стать еще стерильнее, дабы исключить попадание мельчайших частичек пыли, способных разрушить сложнейшую схему. С усложнением процессора, повышением степени интеграции элементов на нем возрастет число потенциальных деффектов, и, следовательно, потребуются сверхтщательные процедуры проверки качества. Все это сделает еще более дорогим и без того самое дорогостоящее производство в мире. Но, по мнению одного из изобретателей микропроцессора Гордона Мура, процесс миниатюризации транзисторов остановится, если затраты на увеличение числа элементов на процессоре превысят возможную прибыль от использования таких сложных чипов.

И наконец, важнейшие научные и инженерные разработки ведутся в направлении усовершенствования ключевого этапа производства интегральной схемы - литографии, поскольку именно здесь реально возможно достижение определенного предела уже в обозримом будущем.

Литография - что было, что будет

Развитие литографической технологии со времени ее изобретения в начале 70-х шло в направлении сокращения длины световой волны. Это позволяло уменьшать размеры элементов интегральной схемы. С середины 80-х в фотолитографии используется ультрафиолетовое излучение, получаемое с помощью лазера. Сейчас наиболее мощные коммерческие процессоры производятся с помощью ультрафиолетовых лучей с длиной волны 0,248 мк. Для создания кристаллов гигабитной памяти, то есть интегральных схем с миллиардами транзисторов, разработана литорафическая технология с пульсирующим лазером, которая обеспечивает длину волны 0,193 мк. Однако когда фотолитография перешагнула границу 0,2 мк, возникли серьезные проблемы, которые впервые за историю этой технологии поставили под сомнение возможность ее дальнейшего использования. Например, при длине волны меньше 0,2 мк слишком много света поглощается светочувствительным слоем, поэтому усложняется и замедляется процесс передачи шаблона схемы на процессор.

С другой стороны, для гигабитной памяти потребуются транзисторы с элементами размером 0,18 мк, и использование даже излучения с длиной волны 0,193 мк в принципе недостаточно, так как очень сложно строить структуры схемы, размер которых меньше длины световой волны в литографии. Как заметил один из производителей степперов (машин для фотолитографии), это все равно что рисовать тонкую линию значительно более толстой кистью - способ можно найти, но очень трудно держать его под контролем.

Все эти проблемы побуждают исследователей и производителей искать альтернативы традиционной литографической технологии. Фактически их сейчас три - рентгеновское излучение, электронные лучи и так называемый мягкий рентген (soft x-ray).

Возможность замены ультрафиолетовых лучей рентгеновскими исследуется в научных лабораториях США уже более двух десятилетий. Особую активность проявляла в этом плане компания IBM. Несколько лет назад, объединившись с несколькими фирмами, в том числе с Motorola, компания поставила цель вывести литографию на базе рентгена из лаборатории в производство.

Очень короткая, порядка одного нанометра, длина волны рентгеновского излучения составляет всего четыре сотых длины световых волн, которые используются сейчас для производства наиболее совершенных коммерческих процессоров. Поэтому кажется вполне естественным применение именно этой технологии для создания, скажем, интегральных схем оперативной памяти гигабитного объема. Однако когда дело доходит до анализа реального производства на основе рентгеновской литографии, возникают проблемы, которым пока не найдено адекватного решения. Технология получения рентгеновских лучей принципиально отличается от методов излучения, которые используются в современном производстве интегральных схем. В оптической литографии применяются лазерные установки, а необходимое рентгеновское излучение может быть получено только с помощью специального устройства - синхротрона. И хотя стоимость такого генератора рентгеновских лучей составляет не более 3% общей стоимости самых современных полупроводниковых производств, использование литографии на базе рентгена потребует перепроектирования производства в целом. А это уже совсем другие суммы.

Тем не менее все заметнее активность оппонентов рентгеновской технологии, значительные средства вкладываются в поиски средств усовершенствования традиционных способов литографии; ведется поиск и других способов задания рисунка интегральной схемы на кремниевой пластине.

Интересно, что в процессе производства интегральных схем ежедневно используется технология, с помощью которой в принципе возможно создание мельчайших элементов полупроводникового процессора. Электронно-лучевая (electron beams) литография позволяет сфокусированным пучком ("карандашом") заряженных частиц "рисовать" линии непосредственно на светочусвтвительном слое. Этот метод сейчас используется для прорисовки шаблонов схемы на фотолитографической маске. И в течение тех же 20 лет ученые лелеют надежду перенести технологию электронных лучей в процесс создания самой схемы. Однако электронные лучи - слишком медленный способ для данной задачи: электронный "карандаш" рисует каждый элемент процессора отдельно, поэтому на обработку одной схемы может уйти несколько часов, что недопустимо при массовом производстве. С середины 80-х в Bell Labs ведутся исследования сканирования широкого электронного луча по схеме. Как и в фотолитографии, этот метод использует проектирование лучей через маску и уменьшение изображения на маске с помощью линз. По оценкам ряда исследователей, в долгосрочной перспективе именно технология сканирования электронных лучей может стать наиболее реальной заменой традиционной литографии.

Поиск альтернативы транзисторам

В конце концов, компьютер - устройство физическое, и его базовые операции описываются законами физики. А с физической точки зрения тот тип транзистора, который является основой современной интегральной схемы, может быть уменьшен еще примерно в 10 раз, до размера в 0,03 мк. За этой гранью процесс включения/выключения микроскопических переключателей станет практически невозможным. Поведение транзисторов будет похоже на текущие краны - перемещение электрона с одного конца на другой выйдет из-под контроля.

Как уже говорилось, предел миниатюризации элементов процессора может наступить и раньше из-за различных физических и производственных проблем. Поэтому некоторые ученые формулируют задачу однозначно - найти физическую замену основе основ. Не транзистор, передающий и усиливающий электрический сигнал под действием поля, а нечто другое. Но что? Физики утверждают, например, что на определенном этапе миниатюризации элементы схемы станут настолько малы, что их поведение нужно будет описывать законами квантовой механики. В начале 80-х исследователи одной из научных лабораторий США показали, что компьютер в принципе может функционировать по квантово-механическим законам. В таком квантовом компьютере для хранения информации могут использоваться, например, атомы водорода, различные энергетические состояния которых будут соответствовать 0 и 1. Ученые ищут способы реализации квантовой логики. В нынешнем десятилетии в ряде научных центров США велись и ведутся достаточно активные работы по созданию архитектурных принципов квантовых компьютеров. Пока неясно, смогут ли (и насколько эффективно) машины, использующие совершенно иные физические принципы работы, решать традиционные математические задачи и тем более опередить в этом своих классических конкурентов. Однако продвигаются идеи о полезности квантовых компьютеров при моделировании именно квантовых физических систем.

Предлагаются и другие альтернативы транзистору, например нелинейные оптические устройства, в которых электрические токи и напряжения заменяет интенсивность оптических лучей. Реализация этой идеи связана с рядом проблем. Особенно важно, что, в отличие от электричества, свет плохо взаимодействует со светом, а взаимодействие сигналов - необходимое условие для реализации логических функций.

Не приходится пока говорить о перспективах массового производства квантовых или оптических компьютеров. Поэтому будущее (по крайней мере обозримое) компьютерной техники будет по-прежнему связано с транзисторами. Вполне возможно, что те реальные проблемы, которые встают на пути дальнейшего их уменьшения и о которых мы попытались дать представление нашему читателю, приведут к замедлению процесса появления новых поколений схем памяти и микропроцессоров, которые сейчас возникают с периодичностью примерно раз в три года. Разработчики будут искать другие пути повышения производительности процессоров, не связанные непосредственно с уменьшением компонентов интегральных схем. Например, увеличение размеров процессора позволит разместить на нем большее число транзисторов. Кристалл может стать "толще" - за счет увеличения числа горизонтальных уровней схемы можно повысить плотность размещения элементов памяти или логических устройств, не меняя их размера. А может быть, барьеры на пути создания еще более мощных и умных машин будут преодолены с помощью необыкновенно умного и мощного ПО, которое подчиняется уже совсем другим, отнюдь не физическим законам.

Как это делается

Процесс производства микосхемы можно разбить на несколько этапов

1. Разработка микропроцессора. На квадратной кремниевой пластинке размером с ноготь ребенка необходимо построить схему из миллионов транзисторов, при этом их расположение и соединения между ними должны быть разработаны заранее и с предельной тщательностью. Каждый транзистор в схеме выполняет определенную функцию, группа транзисторов комбинируется таким образом, чтобы реализовать определенный элемент схемы. Разработчик должен также учитывать назначение данного кристалла. Структура процессора, выполняющего команды, будет отличаться от интегральной схемы памяти, которая хранит данные. Поскольку современные микропроцессоры имеют очень сложную структуру, их разработка ведется с помощью компьютера.

2. Создание кремниевой пластины. Базовым материалом для построения интегральной схемы выбран кристалл кремния, одного из самых распространенных на земле элементов с естественными свойствами полупроводника. Для производства микропроцессора выделенный из кварца кремний подвергается химической обработке. Из полученного в результате 100-процентного кремния путем переплавки формируют цилиндрический слиток, который затем разрезается на пластины толщиной менее миллиметра. Пластина полируется до тех пор, пока не будет получена абсолютно гладкая, зеркальная поверхность. Кремниевые пластины, как правило, имеют диаметр 200 мм, однако уже в ближайшее время планируется перейти на стандарт диаметра 300 мм. Поскольку на одной пластине размещаются сотни микропроцессоров, увеличение диаметра позволит увеличить число схем, которые производятся за один раз, и, следовательно, снизить стоимость одного процессора.

3. Создание начальных уровней. После того как подготовлена кремниевая пластина, начинается непосредственно процесс создания интегральной схемы. Транзисторы и соединения между ними реализуются за несколько базовых этапов, последовательность которых повторяется множество раз. Наиболее сложные микропроцессоры могут включать более 20 уровней, и для их создания требуется предпринять несколько сотен производственных шагов.

Прежде всего над кремниевой основой чипа создается уровень изолятора - двуокись кремния. Для этого пластина помещается в специальную печь, в которой на ее поверх-

ности наращивается тонкий слой изолятора. Затем пластина подготавливается к первому наложению шаблона схемы. С помощью специальной машины поверхность пластины равномерно покрывается светочувствительным полимерным веществом, которое под действием ультрафиолетовых лучей приобретает способность растворяться.

4. Фотолитография (маскирование). Для того чтобы нанести рисунок схемы на пластину, с помощью управляемой компьютером машины (степпера) выполняется фотолитография - процесс пропускания ультрафиолетовых лучей через маску. Сложная система линз уменьшает заданный на маске шаблон до микроскопических размеров схемы. Кремниевая пластина закрепляется на позиционном столе под системой линз и перемещается с его помощью таким образом, чтобы были последовательно обработаны все размещенные на пластине микропроцессоры. Ультрафиолетовые лучи от дуговой лампы или лазера проходят через свободные пространства на маске. Под их действием светочувствительный слой в соответствующих местах пластины приобретает способность к растворению и затем удаляется органическими растворителями.

5. Травление. На этом этапе оставшийся светочувствительный слой защищает нижележащий уровень изолятора от удаления при обработке кислотой (или реактивным газом), с помощью которой рисунок схемы протравливается на поверхности пластины. Затем этот защитный светочувствительный уровень удаляется.

6. Создание дополнительных уровней. Дальнейшие процессы маскирования и травления определяют размещение дополнительных материалов на поверхности пластины, таких как проводящий поликристаллический кремний, а также различные оксиды и металлы. В результате на кремниевой пластине создается необходимая комбинация проводящих и непроводящих областей, которая на следующем этапе позволит реализовать транзисторы в интегральной схеме.

7. Осаждение примесей. На этом этапе к кремнию на пластине в определенных местах добавляются примеси, такие как бор или мышьяк, которые позволяют изменить способ передачи электрического тока полупроводником. Базовый материал микропроцессора - это кремний с p-проводимостью. Во время травления в нужных местах удаляются нанесенные ранее на базовый кремний слои проводника (поликристаллического кремния) и изолятора (двуокиси кремния), так чтобы оставлять открытыми две полосы р-области, разделенные полосой с неудаленными изолятором и проводником (затвор будущего транзистора). Добавление примесей преобразует верхний уровень р-областей в n-области, формируя исток и сток транзистора. Выполненные многократно, эти операции позволяют создать огромное количество транзисторов, необходимых для реализации микропроцессора. Следующая задача - соединить их между собой, для того чтобы интегральная схема могла выполнять свои функции.

8. Соединения. Очередные операции маскирования и травления открывают области электрических контактов между различными уровнями чипа. Затем на пластину осаждается слой алюминия и на его основе с помощью фотолитографии формируется схема соединений между всеми транзисторами на микропроцессоре.

На этом обработка исходной кремниевой пластины завершается. Затем каждый процессор на пластине подвергается тщательной проверке на правильность функционирования его электрических соединений, после чего специальная машина разрезает пластину на отдельные интегральные схемы. Качественные процессоры отделяются от бракованных и могут использоваться по назначению.

А. ШИШЛОВА. По материалам зарубежной печати (“New Scientist”, Annals of the New York Academy of Sciences).

Стремительный прогресс в развитии компьютерной техники за последние десятилетия невольно заставляет задуматься о будущем компьютеров. Останутся ли они прежними или изменятся до неузнаваемо сти? Сегодня много говорят о том, что традиционные полупроводниковые ЭВМ скоро себя исчерпают. Ожидается, что уже через пять-десять лет их потеснят более мощные молекулярные (см. “Наука и жизнь” № ), квантовые (см. “Наука и жизнь” № ), биологические и другие, весьма экзотические, вычислительные устройства. Сет Ллойд, физик из Массачусетского технологического института (США), идет в своих прогнозах дальше всех. Он считает, что компьютер будущего не будет иметь ничего общего ни с одной из ныне существующих или только еще разрабатываемых вычислительных машин. Скорее, он превратится в нечто вроде огненного шара или даже черной дыры.

Изображение черной дыры, полученное космическим телескопом Хаббла.

Наука и жизнь // Иллюстрации

Графики, иллюстрирующие развитие вычислительной техники за последние десятилетия.

Компактность и быстродействие уже существующих и гипотетических вычислительных устройств.

Что за чепуха, - скажете вы, - развеможно поместить на рабочий стол раскаленный шар или черную дыру, да и как они могут производить вычисления?!

Прежде чем прийти к столь экстравагант ным выводам, Ллойд задал себе вопрос: до каких пор будут уменьшаться размеры вычислительных устройств и возрастать их быстродействие? Уже более тридцати лет развитие компьютеров подчиняется эмпирическому закону, сформулирован ному Гордоном Муром в 1965 году, согласно которому плотность транзисторов на микросхеме удваивается за 18 месяцев. С каждым годом следовать “закону Мура” становится все труднее, поэтому его близкий конец предсказывался уже неоднократно. Однако человечес кий гений и изобретательность находят все новые оригинальные выходы из технологических и производственных сложностей, встающих на пути безудержной “компьютерной гонки”. И все же, считает Ллойд, прогресс вычислительной техники не может продолжаться вечно, рано или поздно мы наткнемся на предел, обусловленный законами природы.

Каков же будет самый последний, самый мощный, “предельный” компьютер? Вряд ли сегодня можно предугадать, как именно он будет устроен. Но для нас это не принципиально, говорит Ллойд, технологические детали - задача инженеров будущего. Важно понимать, что любое вычисление - это прежде всего некий физический процесс. Поэтому задачу “о предельном компьютере” следует решать путем рассмотрения основных физических принципов и величин - таких как энергия, температура, объем.

Предел первый: быстродействие

Все логические операции, осуществляемые компьютером, основаны на переключении битов между условными значениями “0” и “1”, которым отвечают два устойчивых физических состояния. Это могут быть, к примеру, большее или меньшее сопротивление проводящего канала в транзисторе (обычный, или полупроводниковый, компьютер), та или иная структура молекулы (молекулярный компьютер), значения спина атома (квантовый компьютер) и т.д. Во всех случаях скорость переключения битов и, следовательно, быстродействие вычислительного устройства определяются тем, насколько быстро протекает соответству траекториях гамма-фотонов и обрабатывалась за счет их столкновений друг с другом, а также больше подвижность электронов в полупроводнике, скорость перехода молекулы из одной формы в другую определяется вероятностью этого события и т. д. Времена процессов переключения, как правило, очень малы (от 1 до 10 -15 секунды). И все же они конечны.

С точки зрения квантовой механики, утверждает Сет Ллойд, скорость вычислений ограничена полной доступной энергией. В 1998 году это положение было теоретически доказано физиками из Массачусетского технологического университета (США) Норманом Марголусом и Львом Левитиным. Им удалось показать, что минимальное время переключения бита равно одной четверти постоянной Планка, деленной на полную энергию:

Таким образом, чем больше энергия компьютера, используемая им для вычислений, тем быстрее он считает. По мнению Ллойда, “предельный компьютер” - это такой компьютер, вся энергия которого будет расходоваться только на вычислительный процесс.

Исходя из приведенного соотношения, оценим, к примеру, быстродействие некоего гипотетического компьютера массой один килограмм, состоящего всего из одного бита. Как известно, полная энергия тела задается фундаментальным соотношением E=mc 2 , где m - масса, с - скорость света в вакууме. Итого, имеем 10 17 Джоулей. Если бы всю эту энергию, “погребенную” в массе нашего компьютера, можно было бы использовать в вычислительном процессе, время переключения бита достигло бы фантастически малых величин порядка 10 -51 секунды! Полученное значение существенно меньше
называемого “планковского промежутка времени” (10 -44 секунды) - минимального временного интервала, который, с точки зрения квантовой теории гравитации, требуется для протекания любого физического события. “Это довольно-таки странно”, - говорит Ллойд…

Однако мы рассмотрели однобитный компьютер, в то время как на практике любой ЭВМ требуется не один, а множество битов. Если энергию нашего гипотетического компьютера распределить между миллиардом битов, время переключения каждого из них будет уже меньше планковского. “Важно, что при этом общее число переключений всех битов за секунду останется прежним - 10 51 ”, - отмечает Ллойд.

По сравнению с “предельным” компьютером Ллойда нынешние ЭВМ - просто черепахи: при тактовой частоте порядка 500 мегагерц типичный современный компьютер выполняет лишь 10 12 операций в секунду. “Предельный” компьютер работает в 10 39 раз быстрее! А если он будет весить не килограмм, а тонну, быстродействие возрастет еще в 1000 раз.

В чем причина медлительности современных ЭВМ? Все дело в том, - считает Ллойд, - что полезную работу в них совершают лишь электроны, перемещающиеся внутри транзисторов. Что касается основной массы компьютера, то она не только не используется как источник энергии, но, напротив, препятствует свободному движению носителей заряда. Единствен ная ее функция - поддерживать ЭВМ в стабильном состоянии.

Как избавиться от “бесполезной” массы? Надо превратить ее в кванты электромагнитного излучения - фотоны, которые, как известно, не имеют массы покоя (считается, что она равна нулю). Тогда вся энергия, запасенная в массе, перейдет в энергию излучения, и компьютер из неподвижного серого ящика превратится в светящийся огненный шар! Как ни странно, но именно так может выглядеть “предельный” компьютер, утверждает Ллойд. Его вычислительная мощность будет огромна: менее чем за одну наносекунду он сможет решать задачи, на которые у современных ЭВМ ушло бы время, равное жизни Вселенной!

Заметим, что до сих пор все наши рассуждения касались только быстродействия “предельного” компьютера, но мы забыли о такой важной его характеристике, как память. Существует ли предел запоминающей способности вычислительных устройств?

Предел второй: память

Память компьютера ограничена его энтропией , утверждает Сет Ллойд, то есть степенью беспорядка, случайности в системе. В теории информации понятие энтропии - аналог понятия количества информации . Чем более однородна и упорядо
ющий физический процесс. Например, время переключения транзистора тем меньше, чем так чена система, тем меньше информации она в себе содержит.

Величина энтропии (S ) пропорциональна натуральному логарифму числа различимых состояний системы (W ): S = k . ln W , где k - постоянная Больцмана. Смысл этого соотношения очевиден: чем больший объем информации вы хотите сохранить, тем больше различимых состояний вам потребуется. Например, для записи одного бита информации необходимо два состояния: “включено” и “выключено”, или “1” и “0”. Чтобы записать 2 бита, потребуется уже 4 различных состояния, 3 бита - 8, n битов - 2 n состояний. Таким образом, чем больше различимых состояний в системе, тем выше ее запоминающая способность.

Чему равна энтропия “предельного” компьютера Ллойда?

Во-первых, она зависит от объема компьютера: чем он больше, тем большее число возможных положений в пространстве могут занимать его частицы. Допустим, объем нашего компьютера равен одному литру. Во-вторых, необходимо знать распределение частиц по энергиям. Поскольку речь идет о светящемся шаре, можно воспользоваться готовым расчетом, выполненным еще лет сто назад Максом Планком при решении задачи о так называемом абсолютно черном теле. Что же мы получим? Оказывается, литр квантов света может хранить около 10 31 битов информации - это в 10 20 раз больше, чем можно записать на современный 10-гигабайтный жесткий диск! Откуда такая огромная разница? “Все дело в том, - говорит Ллойд, - что способ, которым в современных компьютерах записывается и хранится информация, чрезвычайно неэкономен и избыточен. За хранение одного бита отвечает целый “магнитный домен” - а ведь это миллионы атомов”.

От раскаленного шара - к черной дыре

Итак, подведем итоги. Пытаясь выяснить пределы быстродействия и запоминающей способности вычислительного устройства, мы сначала избавились от лишней массы (1 килограмм), переведя ее в энергию квантов света, а затем каким-то образом запихнули все это в объем, равный 1 литру. В этих условиях температура огненного шара должна достигать миллиарда градусов (!), а излучать он будет гамма-кванты. Что ни говори, наш “предельный” компьютер получился довольно-таки странным… “Как управлять такой огромной энергией - вот в чем проблема”, - справедливо замечает Ллойд.

Но, допустим, каким-то образом нам все же удалось обуздать раскаленный “супчик” из гамма-квантов, заперев его в неком “ящике”. Тогда работа “предельного” компьютера могла бы выглядеть следующим образом. Информация хранилась бы в положениях и с небольшим количеством образующихся при столкновениях электронов и позитронов. Считывать информацию было бы совсем несложно. “Достаточно просто открыть “окошко” в стенке “ящика” и выпустить фотоны, - говорит Ллойд. - Вылетев наружу со скоростью света, они тут же попадут в детектор гамма-излучения, где и будет считано их состояние”. Для ввода информации потребуется управляемый генератор гамма-излучения. Конечно, все эти устройства ввода-вывода неизбежно привнесут с собой и “лишнюю” массу, от которой мы так хотели избавиться. Но Ллойд полагает, что в будущем, возможно, удастся сделать эти приборы очень маленькими и легкими.

Однако, как бы мы ни совершенствовали процесс ввода-вывода, описанная модель “предельного” компьютера имеет один принципиальный недочет. Допустим, максимальный размер (например, диаметр) нашего компьютера равен 10 сантиметрам. Поскольку фотоны движутся со скоростью света, то все 10 31 битов информации, хранящейся в нашем компьютере, не могут быть “скачаны” из него быстрее, чем за время, требующееся свету для прохождения расстояния в 10 сантиметров - то есть за 3 . 10 -10 секунды. Значит, максимальная скорость обмена информацией компьютера с внешним миром равна 10 41 бит в секунду. А предельная скорость обработки информации, как мы уже выяснили раньше, составляет 10 51 бит в секунду, что в десять миллиардов раз быстрее. Таким образом, необходимость связи компьютера с внешним миром, а также отдельных его частей друг с другом будет приводить к существенным потерям в скорости вычислений. “Отчасти решить эту проблему можно, заставив куски компьютера работать независимо друг от друга, в параллели”, - отмечает Ллойд.

Слишком медленный ввод-вывод информации затрудняет коррекцию ошибок в процессе вычислений. В нашей модели “предельного” компьютера для устранения ошибки придется извлечь наружу соответствующие биты, а вместо них поместить туда новые. Мы сможем проделывать эту операцию не чаще 10 41 раз в секунду, тогда как за это же время компьютер обработает 10 51 битов. Таким образом, лишь одна десятимиллиардная часть информации будет проверять ся на наличие ошибок. Придется либо слепо доверять точности расчетов, либо снижать скорость вычислений.

Есть ли способ повысить скорость ввода-вывода? “Да, - говорит Ллойд, - надо уменьшать размеры компьютера”. Тогда обмен информацией будет происходить быстрее, а объем памяти станет меньше. При этом доля последовательных операций в компьютере может возрасти, а доля параллельных - уменьшить ся.

Что произойдет, если мы начнем сжимать “сгусток” гамма-квантов, температура которого равна миллиарду градусов, а объем одному литру? По мере сжатия температура станет еще выше, в результате чего в объеме компьютера начнут рождаться новые, еще более экзотические частицы. “Компьютеры будущего могут превратиться в релятивистские устройства высокой энергии наподобие ускорителей элементарных частиц”, - полагают Вальтер Симмонс и его коллеги Сандип Пакваса и Ксерксес Тата из университета Гавайи, исследующие возможность компьютерных вычислений на уровне элементарных частиц. “По мере роста температуры в компьютере наши знания о том, что происходит у него внутри, становятся все более и более шаткими”, - говорит Ллойд.

Но, к счастью, наступит момент, когда все опять станет “просто”. Сжатый до некоторого предельного значения “компьютер” превратится… в черную дыру. Один килограмм первоначального вещества “схлопнется” в объем менее чем 10 -27 метров в поперечнике! Ну это уж чересчур, - скажете вы, - о каком еще компьютере можно после этого говорить?! Оказывается, можно…

Как известно, черная дыра - это область чрезвычайно сильного гравитационного поля, “всасывающая” в себя всю окружающую материю. Оказавшись вблизи так называемого горизонта событий черной дыры, ни одно тело, даже свет, уже не может ее покинуть (см. “Наука и жизнь” № 8, 2000 г.). Однако это не совсем так. В 1970 году Стефан Хокинг из Кембриджс кого университета теоретически показал, что черные дыры должны испаряться - испускать кванты света и элементарные частицы за горизонт событий . Если черные дыры все же излучают, то, согласно законам термодинамики, они имеют энтропию, а значит, могут запасать в себе информацию. Энтропия черной дыры была вычислена в 1972 году Яковом Бекенштейном. Согласно его расчетам, черная дыра массой один килограмм может хранить примерно 10 16 бит.

Но с тех самых пор, как информация попадает в черную дыру, она становится недоступной для остальной части Вселенной. Значит, использовать черную дыру для каких-либо вычислений в принципе невозможно - мы все равно не сможем извлечь из нее полученный результат. Однако, с точки зрения теории струн (см. “Наука и жизнь” № 4, 1998 г.), не все так безнадежно. Гордон Кейн, физик-теоретик из университета штата Мичиган (США), полагает, что информацию о том, как формировалась черная дыра все же можно добыть. Сет Ллойд считает, что она остается записанной на горизонте событий в форме сжатых струн, “наподобие сплющенных спагетти”.

Если это действительно так, то черная дыра - и есть “предельный” компьютер, причем благодаря его ничтожно малым размерам скорость вычислений и скорость обмена информацией достигнут одного и того же, максимального, значения. Тем самым проблема ввода-вывода будет решена. “Черная дыра - самый мощный последовательный компьютер”, - считает Ллойд.

Представить себе, как может работать “чернодырный” компьютер еще сложнее, чем в случае раскаленного шара из гамма-квантов. По всей видимости, на вход его будет подаваться материя в неком исходном состоянии, программа задаст точный сценарий ее коллапса в черную дыру, а результатом станет анализ излучения вспышки черной дыры, взрывающейся в результате испарения. “Предельный” компьютер - хоть и мощное, но одноразовое устройство: решив задачу, он исчезнет.

Лишь после того, как компьютер превратится в пылающий огненный шар либо в микроскопическую черную дыру, - утверждает Ллойд, - прогресс вычислительной техники прекратится. Фантастика? Нет, “еще одно свидетельство тесной связи физики и теории информации”. Конечно, сегодня мы даже не можем себе представить, как достичь этих невероятных пределов. Однако не стоит отчаиваться - доверьтесь человеческому гению. Если развитие ЭВМ будет идти теми же темпами, все описанное станет реальностью через каких-нибудь две сотни лет.

См. в номере на ту же тему

Микропроцессор (МП) - это программно-управляемое устройство, которое предназначено для обработки цифровой информации и управления процессом этой обработки и выполнено в виде одной или нескольких больших интегральных схем (БИС).

Понятие большая интегральная схема в настоящее время четко не определено. Ранее считалось, что к этому классу следует относить микросхемы, содержащие более 1000 элементов на кристалле. И действительно, в эти параметры укладывались первые микропроцессоры. Например, 4-разрядная процессорная секция микропроцессорного комплекта К584, выпускавшегося в конце 1970-х годов, содержала около 1500 элементов. Сейчас, когда микропроцессоры содержат десятки миллионов транзисторов и их количество непрерывно увеличивается, под БИС будем понимать функционально сложную интегральную схему .

Микропроцессорная система (МПС) представляет собой функционально законченное изделие, состоящее из одного или нескольких устройств, основу которой составляет микропроцессор.

Микропроцессор характеризуется большим количеством параметров и свойств, так как он является, с одной стороны, функционально сложным вычислительным устройством, а с другой - электронным прибором, изделием электронной промышленности. Как средство вычислительной техники он характеризуется прежде всего своей архитектурой , то есть совокупностью программно-аппаратных свойств, предоставляемых пользователю. Сюда относятся система команд, типы и форматы обрабатываемых данных, режимы адресации, количество и распределение регистров, принципы взаимодействия с оперативной памятью и внешними устройствами (характеристики системы прерываний, прямой доступ к памяти и т. д.). По своей архитектуре микропроцессоры разделяются на несколько типов (рис. 1.1).

Универсальные микропроцессоры предназначены для решения задач цифровой обработки различного типа информации от инженерных расчетов до работы с базами данных, не связанных жесткими ограничениями на время выполнения задания. Этот класс микропроцессоров наиболее широко известен. К нему относятся такие известные микропроцессоры, как МП ряда Pentium фирмы Intel и МП семейства Athlon фирмы AMD .


Рис. 1.1.

Характеристики универсальных микропроцессоров :

  • разрядность: определяется максимальной разрядностью целочисленных данных, обрабатываемых за 1 такт, то есть фактически разрядностью арифметико-логического устройства ( АЛУ );
  • виды и форматы обрабатываемых данных;
  • система команд, режимы адресации операндов;
  • емкость прямоадресуемой оперативной памяти: определяется разрядностью шины адреса ;
  • частота внешней синхронизации. Для частоты синхронизации обычно указывается ее максимально возможное значение, при котором гарантируется работоспособность схемы. Для функционально сложных схем, к которым относятся и микропроцессоры, иногда указывают также минимально возможную частоту синхронизации. Уменьшение частоты ниже этого предела может привести к отказу схемы. В то же время в тех применениях МП, где не требуется высокое быстродействие, снижение частоты синхронизации - одно из направлений энергосбережения. В ряде современных микропроцессоров при уменьшении частоты он переходит в < спящий режим >, при котором сохраняет свое состояние. Частота синхронизации в рамках одной архитектуры позволяет сравнить производительность микропроцессоров. Но разные архитектурные решения влияют на производительность гораздо больше, чем частота;
  • производительность: определяется с помощью специальных тестов, при этом совокупность тестов подбирается таким образом, чтобы они по возможности покрывали различные характеристики микроархитектуры процессоров, влияющие на производительность.

Универсальные микропроцессоры принято разделять на CISC - и RISC-микропроцессоры . CISC-микропроцессоры (Completed Instruction Set Computing - вычисления с полной системой команд) имеют в своем составе весь классический набор команд с широко развитыми режимами адресации операндов. Именно к этому классу относятся, например, микро процессоры типа Pentium . В то же время RISC-микропроцессоры ( reduced instruction set computing - вычисления с сокращенной системой команд) используют, как следует из определения, уменьшенное количество команд и режимов адресации. Здесь прежде всего следует выделить такие микропроцессоры, как Alpha 21x64, Power PC. Количество команд в системе команд - наиболее очевидное, но на сегодняшний день не самое главное различие в этих направлениях развития универсальных микропроцессоров. Другие различия мы будем рассматривать по мере изучения особенностей их архитектуры.

Однокристальные микроконтроллеры (ОМК или просто МК) предназначены для использования в системах промышленной и бытовой автоматики. Они представляют собой большие интегральные схемы, которые включают в себя все устройства, необходимые для реализации цифровой системы управления минимальной конфигурации: процессор (как правило, целочисленный), ЗУ команд, ЗУ данных, генератор тактовых сигналов, программируемые устройства для связи с внешней средой ( контроллер прерывания , таймеры-счетчики, разнообразные порты ввода/вывода), иногда аналого-цифровые и цифро-аналоговые преобразователи и т. д. В некоторых источниках этот класс микропроцессоров называется однокристальными микро-ЭВМ (ОМЭВМ).

В настоящее время две трети всех производимых микропроцессорных БИС в мире составляют МП этого класса, причем почти две трети из них имеет разрядность, не превышающую 16 бит. К классу однокристальных микроконтроллеров прежде всего относятся микропроцессоры серии MCS -51 фирмы Intel и аналогичные микропроцессоры других производителей, архитектура которых де-факто стала стандартом.

Отличительные особенности архитектуры однокристальных микроконтроллеров :

  • физическое и логическое разделение памяти команд и памяти данных (гарвардская архитектура), в то время как в классической неймановской архитектуре программы и данные находятся в общем запоминающем устройстве и имеют одинаковый механизм доступа;
  • упрощенная и ориентированная на задачи управления система команд: в МК, как правило, отсутствуют средства обработки данных с плавающей точкой, но в то же время в систему команд входят команды, ориентированные на эффективную работу с датчиками и исполнительными устройствами, например, команды обработки битовой информации;
  • простейшие режимы адресации операндов.

Основные характеристики микроконтроллеров (в качестве примера численные значения представлены для MK-51):

  1. Разрядность (8 бит).
  2. Емкость внутренней памяти команд и памяти данных, возможности и пределы их расширения:
    • внутренняя память команд - 4 Кбайт (в среднем команда имеет длину 2 байта, таким образом, во внутренней памяти может быть размещена программа длиной около 2000 команд); возможность наращивания за счет подключения внешней памяти до 64 Кбайт;
    • память данных на кристалле 128 байт (можно подключить внешнюю память общей емкостью до 64 Кбайт).
  3. Тактовая частота :
    • внешняя частота 12 МГц;
    • частота машинного цикла 1 МГц.
  4. Возможности взаимодействия с внешними устройствами: количество и назначение портов ввода-вывода , характеристики системы прерывания, программная поддержка взаимодействия с внешними устройствами.

Наличие и характеристики встроенных аналого-цифровых преобразователей ( АЦП ) и цифро-аналоговых преобразователей ( ЦАП ) для упрощения согласования с датчиками и исполнительными устройствами системы управления.

Секционированные микропроцессоры (другие названия: микропрограммируемые и разрядно-модульные) - это микропроцессоры, предназначенные для построения специализированных процессоров. Они представляют собой микропроцессорные секции относительно небольшой (от 2 до 16) разрядности с пользовательским доступом к микропрограммному уровню управления и средствами для объединения нескольких секций.

Такая организация позволяет спроектировать процессор необходимой разрядности и со специализированной системой команд. Из-за своей малой разрядности микропроцессорные секции могут быть построены с использованием быстродействующих технологий. Совокупность всех этих факторов обеспечивает возможность создания процессора, наилучшим образом ориентированного на заданный класс алгоритмов как по системе команд и режимам адресации, так и по форматам данных.

Одним из первых комплектов секционированных микропроцессоров были МП БИС семейства Intel 3000. В нашей стране они выпускались в составе серии К589 и 585. Процессорные элементы этой серии представляли собой двухразрядный микропроцессор. Наиболее распространенным комплектом секционированных микропроцессоров является Am2900, основу которого составляют 4-разрядные секции. В нашей стране аналог этого комплекта выпускался в составе серии К1804. В состав комплекта входили следующие БИС:

  • разрядное секционное АЛУ ;
  • блок ускоренного переноса;
  • разрядное секционное АЛУ с аппаратной поддержкой умножения;
  • тип схем микропрограммного управления;
  • контроллер состояния и сдвига;
  • контроллер приоритетных прерываний .

Основным недостатком микропроцессорных систем на базе секционированных микропроцессорных БИС явилась сложность проектирования, отладки и программирования систем на их основе. Использование специализированной системы команд приводило к несовместимости разрабатываемого ПО для различных микропроцессоров. Возможность создания оптимального по многим параметрам специализированного процессора требовала труда квалифицированных разработчиков на протяжении длительного времени. Однако бурное развитие электронных технологий привело к тому, что за время проектирования специализированного процессора разрабатывался универсальный микропроцессор, возможности которого перекрывали гипотетический выигрыш от проектирования специализированного устройства. Это привело к тому, что в настоящее время данный класс микропроцессорных БИС практически не используется.

Процессоры цифровой обработки сигналов , или цифровые сигнальные процессоры , представляют собой бурно развивающийся класс микропроцессоров, предназначенных для решения задач цифровой обработки сигналов - обработки звуковых сигналов, изображений, распознавания образов и т. д. Они включают в себя многие черты однокристальных микро-контроллеров: гарвардскую архитектуру, встроенную память команд и данных, развитые возможности работы с внешними устройствами. В то же время в них присутствуют черты и универсальных МП, особенно с RISC -архитектурой: конвейерная организация работы, программные и аппаратные средства для выполнения операций с плавающей запятой , аппаратная поддержка сложных специализированных вычислений, особенно умножения.

Как электронное изделие микропроцессор характеризуется рядом параметров, наиболее важными из которых являются следующие:

  1. Требования к синхронизации: максимальная частота, стабильность.
  2. Количество и номиналы источников питания, требования к их стабильности. В настоящее время существует тенденция к уменьшению напряжения питания, что сокращает тепловыделение схемы и ведет к повышению частоты ее работы. Если первые микропроцессоры работали при напряжении питания+-15В, то сейчас отдельные схемы используют источники менее 1 В.
  3. Мощность рассеяния - это мощность потерь в выходном каскаде схемы, превращающаяся в тепло и нагревающая выходные транзисторы. Иначе говоря, она характеризует показатель тепловыделения БИС, что во многом определяет требования к конструктивному оформлению микропроцессорной системы . Эта характеристика особенно важна для встраиваемых МПС.
  4. Уровни сигналов логического нуля и логической единицы, которые связаны с номиналами источников питания.
  5. Тип корпуса - позволяет оценить пригодность схемы для работы в тех или иных условиях, а также возможность использования новой БИС в качестве замены существующей на плате.
  6. Температура окружающей среды, при которой может работать схема. Здесь выделяют два диапазона:
    • коммерческий (0 0 С … +70 0 С);
    • расширенный (-40 0 С … +85 0 С).
  7. Помехоустойчивость - определяет способность схемы выполнять свои функции при наличии помех. Помехоустойчивость оценивается интенсивностью помех, при которых нарушение функций устройства еще не превышает допустимых пределов. Чем сильнее помеха, при которой устройство остается работоспособным, тем выше его помехоустойчивость.
  8. Нагрузочная способность , или коэффициент разветвления по выходу, определяется числом схем этой же серии, входы которых могут быть присоединены к выходу данной схемы без нарушения ее работоспособности. Чем выше нагрузочная способность, тем шире логические возможности схемы и тем меньше таких микросхем необходимо для построения сложного вычислительного устройства. Однако с увеличением этого коэффициента ухудшаются помехоустойчивость и быстродействие.
  9. Надежность - это способность схемы сохранять свой уровень качества функционирования при установленных условиях за установленный период времени. Обычно характеризуется интенсивностью отказов (час-1) или средним временем наработки на отказ (час). В настоящее время этот параметр для больших инте- гральных схем обычно не указывается изготовителем. О надежности МП БИС можно судить по косвенным показателям, например, по приводимой разработчиками средств вычислительной техники надежности изделия в целом.
  10. Характеристики технологического процесса . Основной показатель здесь - разрешающая способность процесса. В настоящее время она составляет 32 нм, то есть около 30 тыс. линий на 1 мм. Более совершенный технологический процесс позволяет создать микропроцессор, обладающий большими функциональными возможностями.


Рис. 1.2.

Затраты на изготовление устройств, использующих микропроцессорные БИС, представлены на рис. 1.2 . Здесь:

  1. затраты на изготовление БИС (чем больше степень интеграции элементов на кристалле, тем дороже обходится производство схемы);
  2. затраты на сборку и наладку микропроцессорной системы (с увеличением функциональных возможностей МП потребуется меньше схем для создания МПС);
  3. общая стоимость микропроцессорной системы , которая складывается из затрат (1) и (2). Она имеет некоторое оптимальное значение для данного уровня развития технологии;
  4. переход на новую технологию (оптимальным будет уже другое количество элементов на кристалле, а общая стоимость изделия снижается).

В 1965 году Гордон Мур сформулировал гипотезу, известную в настоящее время как <закон Мура>, согласно которой каждые 1,5-2 года число транзисторов в расчете на одну интегральную схему будет удваиваться. Это обеспечивается непрерывным совершенствованием технологических процессов производства микросхем.

Наиболее развитая в технологическом отношении фирма Intel в жизненном цикле полупроводниковых технологий, создаваемых и применяемых в корпорации, выделяет шесть стадий.

Самая ранняя стадия проходит за пределами Intel - в университетских лабораториях и независимых исследовательских центрах, где ведутся поиски новых физических принципов и методов, которые могут стать основой научно-технологического задела на годы вперед. Корпорация финансирует эти исследования.

На второй стадии исследователи Intel выбирают наиболее перспективные направления развития новых технологий. При этом обычно рассматривается 2-3 варианта решения.

Главная задача третьей стадии - полная черновая проработка новой технологии и демонстрация ее осуществимости.

После этого начинается четвертая стадия, главная цель которой - обеспечить достижение заданных значений таких ключевых технических и экономических показателей, как выход годных изделий, надежность, стоимость и некоторые другие. Завершение этапа подтверждается выпуском первой промышленной партии новых изделий.

Пятая стадия - промышленное освоение новой технологии. Эта проблема не менее сложна, чем разработка самой технологии, поскольку необычайно трудно в точности воспроизвести в условиях реального производства то, что было получено в лаборатории. Обычно именно здесь возникают задержки со сроками выпуска новых изделий, с достижением запланированного объема поставок и себестоимости продукции.

Последняя, шестая стадия жизненного цикла технологии (перед отказом от ее применения) - зрелость. Зрелая технология, подвергаясь определенному совершенствованию с целью повышения производительности оборудования и снижения себестоимости продукции, обеспечивает основные объемы производства. По мере внедрения новых, более совершенных технологий <старые> производства ликвидируются.

Но не сразу: сначала они переводятся на выпуск микросхем с меньшим быстродействием или с меньшим числом транзисторов , например, периферийных БИС.