Снижение энергетических потерь
Вторая тема, о которой я хочу рассказать, — это энергетические потери в компьютерах. Тот факт, что они должны охлаждаться, является очевидным ограничением для создания больших компьютеров — уже немало усилий потрачено для охлаждения такой машины. Я хотел бы объяснить, что это просто результат плохой разработки и не содержит ничего фундаментального. Внутри компьютера каждый бит информации контролируется проводом, находящимся под тем или иным напряжением. Это называется «один бит», и нам нужно менять напряжение на проводе от одного значения до другого, увеличивать или снимать с него заряд. Я приведу аналогию с водой: мы наполняем сосуд водой до определенного уровня или опустошаем его до другого уровня. Это только аналогия — если вам нравится более реалистическая задача с подачей электричества, вы можете придумать более точную электрическую схематику. То, что мы сделаем сейчас, есть аналог происходящего в случае с водой: наполним сосуд, наливая в него воду до верхнего края (Рис. 1), и будем понижать ее уровень, открыв нижний кран и позволив всей воде вытечь из сосуда. В обоих случаях существуют потери энергии из-за внезапного перепада уровня воды от высоты верхнего уровня, до которого она была налита, до нижнего уровня дна, и когда вы начинаете снова наливать воду — наоборот. В случае напряжения и заряда возникает та же самая ситуация.
Это аналогично тому, как объяснял мистер Беннет, управляя автомобилем, — он начинает двигаться при включении зажигания и останавливается при нажатии на тормоз. Каждый раз при включении зажигания и затем при нажатии на тормоз вы теряете мощность. Другой способ провести аналогию с автомобилем — обеспечение связи колес с маховиками. Когда автомобиль останавливается, скорость маховика увеличивается; таким образом, сохраняя энергию, связь может заработать, и автомобиль опять начнет двигаться. Аналог с водой будет следующим: пусть у вас есть U-образная трубка с краном в центре на ее дне, соединяющая два рукава U-образной трубки (Рис. 2). Мы начинаем заполнять ее доверху справа, причем левая часть остается пустой, кран перекрыт. Если теперь открыть кран, вода будет перетекать в другую часть трубки, мы снова своевременно перекроем кран, вода сохранится в левой стороне. Теперь мы хотим двигаться в другую сторону — снова откроем кран, и вода потечет обратно, мы ее там опять сохраним. Но налицо некоторые потери, вода уже не поднялась так же высоко, как прежде, и нам надо добавить немного воды, чтобы скорректировать потерю — потеря энергии много меньше, чем в методе прямого заполнения. Эта хитрость использует инерцию воды, аналог этого для электричества — индуктивность. Однако на современных кремниевых транзисторах очень трудно скомпенсировать индуктивность на чипах. Поэтому эта методика не слишком удобна при существующей технологии.
Еще один способ — наполнить резервуар с помощью источника напряжения, который устанавливается лишь не намного выше уровня воды. Источник своевременно поднимается, когда мы заполняем резервуар (Рис. 3),так что перепад уровня воды всегда мал на протяжении всего опыта. Таким же образом мы могли бы воспользоваться выпускным отверстием для понижения уровня в резервуаре, но сбрасывать воду вблизи верха и низа трубки так, чтобы тепловые потери в месте расположения транзистора не возникали или были небольшими. Реальный объем потерь будет зависеть от того, насколько велико расстояние между источником напряжения и поверхностью воды, когда мы наполняем резервуар. Этот метод соответствует изменению со временем подачи напряжения на источник. Итак, если пользоваться источником с меняющимся со временем напряжением, то можно применять этот метод. Безусловно, существуют потери энергии в самом источнике, но все они локализованы в одном месте, где несложно создать одну большую индуктивность. Эта схема называется «горячие часы», так как источник напряжения работает одновременно и как часы, которые фиксируют продолжительность чего-либо. Кроме того, нам не требуется дополнительного сигнала часов, чтобы измерять циклы, как это делается в обычных конструкциях.
Оба последних устройства используют тем меньше энергии, чем медленнее они движутся. Действительно, схема U-образной трубки не будет работать, пока ее центральный кран не сможет открываться и закрываться медленнее, чем вода в трубке будет успевать перетекать туда и обратно. Следовательно, мои устройства должны быть медленными, я сохранил энергетические потери, но сделал устройства медленными. Фактически энергетические потери, умноженные на время, необходимое для рабочего цикла, остаются постоянными. И все-таки это оказывается очень удобным, поскольку время, показываемое часами, много больше времени цикла для транзисторов, и мы можем этим воспользоваться, чтобы понизить энергию. Кроме того, если, к примеру, мы выполняем вычисления в три раза медленнее, мы могли бы использовать одну треть энергии три раза за время, которое содержит в девять раз меньшую мощность, чем должна растрачиваться. Может быть, это стоящая мысль. Может быть, при конструировании с применением параллельного соединения компьютеров или при других способах работы мы затратим немного больше времени, чем при максимальной скорости цикла, сделаем машины больше, чем обычно, но при этом еще снизим энергетические потери.
Для транзистора энергетические потери, умноженные на время, затрачиваемое на работу, являются результатом умножения нескольких факторов (Рис. 4):
1. Тепловой энергии, пропорциональной температуре, кТ,
2. Длины транзистора между источником и выводом тока, деленной на скорость внутренних электронов (тепловая скорость √3kT/m);
3. Длины транзистора в единицах среднего свободного пробега электронов до соударения в транзисторе;
4. Полного числа электронов, находящихся внутри транзистора во время его работы.
Подставляя соответствующие значения всех этих величин, получим, что энергия, используемая в транзисторах, в настоящее время приблизительно в миллиард — десять миллиардов или еще больше раз тепловой энергии кТ. Когда транзистор включен, он использует эту огромную энергию. Это очень большая величина. Безусловно, хорошая мысль — уменьшить размеры транзистора. Мы уменьшаем длину между источником и выводом тока и можем уменьшить число электронов, тем самым существенно понизив энергию. Оказывается, что чем меньше транзистор, тем быстрее он работает, так как электроны могут проходить через него быстрее и быстрее его включать. Исходя из любых соображений, хорошо бы сделать транзистор поменьше, и все пытаются это сделать.
А теперь представьте себе, что нам удалось сделать размер транзистора меньше средней длины свободного пробега. Тогда транзистор уже не будет работать должным образом. Он не будет вести себя так, как мы предполагаем. Это напоминает мне, как еще несколько лет назад считался непреодолимым звуковой барьер. Считалось, что самолеты не могут летать со скоростью, превышающей скорость звука, поскольку, если вы их сконструируете обычным образом и затем попытаетесь вставить скорость звука в уравнения, пропеллер не сможет работать, а крылья не будут обладать подъемной силой, и вообще все будет работать неправильно. Тем не менее самолеты летают со скоростью, превышающей скорость звука. Необходимо понимать, что правильные законы подчиняются правильным условиям, и конструировать приборы необходимо согласно этим законам. Нельзя ждать, что старые разработки будут работать в новых обстоятельствах. В новых обстоятельствах могут работать только новые проекты. И я утверждаю, что абсолютно допустимо делать транзисторные системы, или, более правильно, системы коммутации и компьютерные устройства, размеры которых меньше средней длины свободного пробега. Я говорю, конечно, «принципиально возможно», здесь речь не идет о реальном производстве таких устройств. Давайте обсудим, что произойдет, если мы попытаемся максимально уменьшить размер приборов.