Инженер Белл Laboratories Уолтер Браттейн держал в пальцах два золотых контакта на расстоянии волоска друг от друга. Был декабрь 1947 года. Когда он прикоснулся ими к кристаллу германия и подал напряжение - в наушниках зазвучал усиленный звук. Транзистор заработал.
Никто в тот момент не думал о нулях и единицах. Думали об усилителях, телефонных линиях, замене громоздких вакуумных ламп. Идея использовать транзистор как простой переключатель - либо открыт, либо закрыт - пришла чуть позже. И именно она изменила всё.
Почему выбрали два состояния
У этого выбора есть конкретная физическая причина, и называется она помехоустойчивость.
Представьте два способа передать число от одного человека другому через шумную улицу. Первый: крикнуть «три целых семь десятых» - и надеяться, что собеседник расслышит именно «семь», а не «восемь». Второй: поднять руку (единица) или опустить (ноль) - и передавать числа последовательностью таких жестов. Шум улицы не исказит поднятую или опущенную руку.
Электрический сигнал в проводнике - это та самая шумная улица. Температурные флуктуации, электромагнитные помехи от соседних проводников, разброс характеристик между тысячами транзисторов на одном кристалле - всё это непрерывно «подталкивает» напряжение в ту или иную сторону. Аналоговая схема обязана отследить точное значение - скажем, 2,47 В - и любое отклонение приводит к ошибке. Цифровая схема спрашивает только одно: напряжение выше или ниже порога? (смотрите - Аналоговые, цифровые и дискретные сигналы)
В стандарте TTL (питание 5 В) всё, что ниже 0,8 В, схема читает как ноль. Всё, что выше 2,0 В - как единицу. Между ними - запрещённая зона шириной 1,2 В. Это огромный запас: помеха должна «перебросить» сигнал через эту зону, чтобы вызвать ошибку. В аналоговой схеме такого буфера нет в принципе.
Транзистор как выключатель
Биполярный транзистор в аналоговых схемах работает в линейном режиме - усиливает сигнал пропорционально. Входное напряжение 10 мВ превращается в 1 В на выходе, и это точное соотношение важно сохранить.
В цифровой схеме от транзистора требуется прямо противоположное. Два режима и ничего между ними.
Насыщение: транзистор полностью открыт. Сопротивление между коллектором и эмиттером падает до долей ома. Весь ток протекает через нагрузочный резистор, напряжение на коллекторе - 0,1-0,2 В. Это логический ноль.
Отсечка: транзистор полностью закрыт. Ток не течёт. Напряжение на коллекторе - почти равно напряжению питания. Это логическая единица.
Переход между состояниями происходит за наносекунды. Современные транзисторы в процессорах переключаются за 10-20 пикосекунд - это сотые доли наносекунды. За одну секунду один такой транзистор успевает открыться и закрыться 50-100 миллиардов раз.
Именно эта скорость - причина, по которой процессор выполняет миллиарды операций в секунду. Не точность измерений, не сложность схемы. Просто очень быстрые выключатели, работающие согласованно.
Что происходит в «запрещённой зоне»
Вопрос, который редко задают на уроках физики: а что реально происходит, если подать на базу транзистора ровно половину питающего напряжения?
Транзистор переходит в активный режим - тот самый, который используется в усилителях. Выходное напряжение оказывается где-то посередине между нулём и единицей - но не посередине фиксированной, а плавающей. Она зависит от температуры кристалла, от конкретного экземпляра транзистора, от нагрузки, от соседних схем. Разброс может достигать вольта и более.
Для цифровой схемы это катастрофа: следующий вентиль на входе получит сигнал из запрещённой зоны и не поймёт, ноль это или единица. Ошибка распространится дальше по цепи, как волна.
Именно поэтому цифровые схемы специально проектируются так, чтобы транзисторы проводили в промежуточном состоянии как можно меньше времени. Крутой фронт переключения - признак хорошей цифровой схемы. Пологий - источник ошибок и лишнего тепловыделения.
Из истории: от щёлканья реле к безмолвному кремнию
Первый программируемый компьютер Конрада Цузе Z3 (Берлин, 1941) работал на 2000 электромагнитных реле. Реле - это механический переключатель: пружинный контакт либо замкнут, либо разомкнут. Ноль и единица в абсолютно буквальном смысле. Машина весила около тонны и издавала непрерывное щёлканье - как пишущая машинка, умноженная на тысячу. Умножение двух чисел занимало три секунды. Транзистор заменил механику электроникой, но принцип остался тем же: два состояния, ничего между ними.
Откуда берётся число
Один транзистор хранит один бит - одно двоичное состояние. Это ничтожно мало: один бит может закодировать только «да» или «нет».
Восемь транзисторов образуют байт - 256 различных комбинаций нулей и единиц. Этого уже достаточно, чтобы закодировать любую букву латинского или русского алфавита, цифру, знак препинания.
Тридцать два транзистора дают число от нуля до 4 294 967 295. Шестьдесят четыре - от нуля до 18 446 744 073 709 551 615. Именно столько разрядов использует современный процессор в базовых операциях.
Сложение двух таких чисел - это работа схемы из примерно трёхсот транзисторов-вентилей. Умножение - несколько тысяч. Процессор делает это за один такт - примерно за 0,3 наносекунды при частоте 3 ГГц.
Цена выбора
У принципа «только два состояния» есть оборотная сторона, о которой обычно не говорят.
Реальный мир - аналоговый. Температура на улице не бывает ровно «ноль» или «единица». Звук микрофона - непрерывный сигнал. Изображение камеры - непрерывное распределение яркости и цвета. Чтобы обработать это в цифровой схеме, сигнал нужно сначала преобразовать в числа - оцифровать.
Оцифровка неизбежно вносит ошибку. 8-разрядный аналого-цифровой преобразователь при питании 5 В имеет шаг 5/256 -> 0,02 В: любое напряжение округляется до ближайшего из 256 уровней. Это называется ошибкой квантования.
Можно взять 16-разрядный преобразователь - ошибка уменьшится в 256 раз. Или 24-разрядный - используется в профессиональной звукозаписи. Но полностью избавиться от неё нельзя: дискретное всегда лишь приближает непрерывное, никогда не совпадает с ним точно.
Парадокс цифровой эпохи: устройства, которые обрабатывают музыку, голос, видео, медицинские сигналы - работают исключительно на нулях и единицах, то есть не умеют «наполовину» по определению. Качество результата определяется тем, насколько мелко это «наполовину» нарезано.
Запрещённая зона как философия
Отказ от промежуточных состояний - это не техническое ограничение, которое когда-нибудь преодолеют. Это сознательный инженерный выбор, сделанный однажды и зафиксированный в самой архитектуре цифровой техники.
За семьдесят лет, прошедших с рождения транзистора, транзисторы уменьшились с горошины до 3-5 нанометров - это толщина примерно 15 атомов кремния. Напряжение питания упало с 5 В до 0,7 В. Скорость переключения выросла в миллионы раз. Но запрещённая зона никуда не делась. Она просто стала уже - и охраняется теперь ещё тщательнее, потому что на таких размерах случайное туннелирование электрона сквозь затвор транзистора способно само по себе перебросить состояние из нуля в единицу.
Именно с этим - с квантовыми эффектами на нанометровом масштабе - инженеры борются прямо сейчас. Решение пока то же самое, что нашли в 1947 году: отодвинуть рабочие точки как можно дальше от запрещённой зоны. Физика меняется, принцип остаётся.
Продожение смотрите здесь: Запрещённая зона: что происходит, когда транзистор не знает, кто он
Повный А. В., преподаватель Филиала Белорусский государственный технологический университет «Гомельский государственный политехнический колледж»
