Глава 2 · Биты, транзисторы и логика: с 1947 года до наших дней
Компьютер и чип
Хватит двух знаков
Бит — самая маленькая порция информации: 0 или 1, выключено или включено, низкое или высокое напряжение. Восемь бит составляют байт, который может принять 256 разных комбинаций. Двоичная система считает так же, как мы, только с двумя цифрами вместо десяти. Комбинация 1011 означает 1 × 8 + 0 × 4 + 1 × 2 + 1 × 1 = 11. Буквы, цвета и звуки — просто условные комбинации: латинская A записывается как 01000001, то есть 65. В анимации ряд ячеек светится как биты. Переверните один, и число, которое они записывают, сразу изменится.
Переключатель из кремния
В декабре 1947 года в лаборатории Bell Labs в Нью-Джерси Джон Бардин и Уолтер Браттейн в группе под руководством Уильяма Шокли создали первый транзистор. В 1956 году все трое разделили Нобелевскую премию по физике. Транзистор — переключатель без движущихся частей: небольшое напряжение на одном выводе пропускает ток между двумя другими или перекрывает его. Он заменил электронные лампы, которые были размером с большой палец, горячими и хрупкими. Первый транзистор собрали вручную, он был около сантиметра. Сегодня на одном чипе их десятки миллиардов.
Вентили — крошечные правила
Соедините несколько транзисторов, и получится логический вентиль. НЕ переворачивает вход: 0 становится 1. И отвечает 1 только тогда, когда оба входа равны 1. ИЛИ отвечает 1, если хотя бы один вход равен 1. Больше ничего не нужно: из этих трёх можно построить любое логическое правило компьютера. В анимации вентили — маленькие блоки с огоньками на проводах, а сигналы бегут слева направо. В песочнице входные биты задаёте вы сами и следите за результатом.
Как складывают 1 + 1
Сложим два одиночных бита. 0 + 0 = 0, 0 + 1 = 1, а 1 + 1 = 10 в двоичной записи: бит суммы 0 и бит переноса 1. Перенос — это просто a И b. Сумма — «одно или другое, но не оба сразу»: (a ИЛИ b) И НЕ (a И b). Несколько вентилей, и готов полусумматор. Соедините цепочкой несколько таких, передавая перенос дальше, и сможете складывать числа любой длины. Умножение — это повторное сложение. Проверьте все четыре пары входов в песочнице и прочитайте сумму и перенос.
Миллиарды переключателей
Процессор — это вентили, собранные так, чтобы выбирать команду, расшифровывать её и выполнять, снова и снова. Первый однокристальный микропроцессор 1971 года имел 2300 транзисторов и работал на частоте 740 кГц. Современный процессор содержит больше 10 миллиардов транзисторов, самые большие чипы для ИИ около 100 миллиардов, а частота у них от 3 до 5 ГГц. При 3 ГГц один такт длится 1 / 3 000 000 000 с, около 0,33 наносекунды. За это время свет проходит всего 10 сантиметров, и это одна из причин, почему чипы должны быть маленькими.
Память и накопитель
Процессору нужны данные поблизости. Оперативная память — рабочий стол: очень быстрая, но при выключении питания забывает всё. Накопитель, например флеш-чипы в телефоне или SSD, хранит данные без питания, запирая крошечные электрические заряды. В байте 8 бит, поэтому телефон на 256 ГБ хранит около 256 × 8 = 2048 миллиардов бит, то есть примерно 2 триллиона. Правило такое: чем ближе память к процессору, тем она быстрее и меньше. Любое приложение — один и тот же танец битов, повторённый в гигантском масштабе.
В цифрах
- 1947
- Bell Labs создаёт первый транзистор
- > 10 млрд
- транзисторов в современном процессоре
- 0,33 нс
- длится один такт процессора на 3 ГГц