Из чего сделан микропроцессор. Как работает процессор компьютера? Принцип работы. И началась транзисторная гонка

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

Шаг 1. Песок

Кремний, составляющий по общей массе около 25 процентов всех химических элементов в земной коре, является вторым по распространению после кислорода. Песок имеет высокое процентное содержание диоксида кремния (SiO 2), который является основным ингредиентом не только для производства процессоров Intel, но и вообще для полупроводникового производства.

Расплавленный кремний

Вещество очищается в течение нескольких этапов, пока не получится кремний полупроводниковой чистоты, используемый в полупроводниках. В конечном счете, он поступает в виде монокристаллических слитков диаметром около 300 миллиметров (12 дюймов). Ранее слитки имели диаметр 200 миллиметров (8 дюймов), а в далеком 1970 году - еще меньше - 50 миллиметров (2 дюйма).

На данном уровне производства процессоров после очистки чистота кристалла составляет один атом примеси на миллиард атомов кремния. Вес слитка составляет 100 килограмм.

Шаг 3. Нарезание слитка

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

Экспонирование фоторезистивного слоя

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

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

Шаг 5. Травление

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

Формирование слоев

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

На различных этапах этих процессов производства процессора добавляются дополнительные материалы, которые протравливаются и полируются. Данный процесс повторяется 6 раз для формирования 6 слоев.

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

Многоуровневая обработка повторяется на каждом отдельном небольшом участке поверхности подложки, на котором будут изготовлены чипы. В том числе к таким участкам относятся те из них, которые частично расположены за пределами подложки.

Шаг 7. Тестирование

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

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

Нарезание пластин

Для нарезания пластин применяется очень маленькая пила с алмазным наконечником. База данных, заполненная на предыдущем этапе, используется для определения, какие чипы, отрезанные от подложки, сохранены, а какие отброшены.

Шаг 9. Заключение в корпуса

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

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

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

Например, процессор 8086 имел 29 тысяч транзисторов, в то время как современные центральные процессоры имеют сотни миллионов транзисторов. Столь маленькое по нынешним меркам количество транзисторов не вырабатывало достаточно тепла, чтобы требовалось активное охлаждение. Чтобы отделить данные процессоры от нуждающихся в таком типе охлаждения, впоследствии на керамические чипы ставилось клеймо «Требуется теплоотвод».

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

Сортировка процессоров по характеристикам

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

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

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

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

Производительность процессоров

В процессе сортировки определяются конечные значения скорости, напряжения и тепловые характеристики. Например, на стандартной подложке только 5 % произведенных чипов могут функционировать на частоте более 3,2 ГГц. В то же время 50 % чипов могут функционировать на частоте 2,8 ГГц.

Производители процессоров постоянно выясняют причины, почему основная часть производимых процессоров работает на частоте 2,8 ГГц вместо требуемой 3,2 ГГц. Иногда для увеличения производительности в конструкцию процессора могут быть внесены изменения.

Рентабельность производства

Рентабельность бизнеса по производству процессоров и большинства полупроводниковых элементов лежит в пределах 33-50 %. Это означает, что, по меньшей мере, от 1/3 до 1/2 пластин на каждой подложке рабочие, а компания в этом случае рентабельна.

У компании Intel операционная прибыль при применении технологии 45 нм для подложки 300 мм составляет 95 %. Это означает, что если из одной подложки возможно изготовить 500 кремниевых пластин, 475 из них будут рабочими и только 25 будут выброшены. Чем больше пластин можно получить с одной подложки, тем большую прибыль будет иметь компания.

Технологии Intel, используемые в наши дни

История применения новых технологий Intel для массового производства процессоров:

  • 1999 г. - 180 нм;
  • 2001 г. - 130 нм;
  • 2003 г. - 90 нм;
  • 2005 г. - 65 нм;
  • 2007 г. - 45 нм;
  • 2009 г. - 32 нм;
  • 2011 г. - 22 нм;
  • 2014 г. - 14 нм;
  • 2019 г. - 10 нм (планируется).

В начале 2018 г. компания Intel объявила о переносе массового производства 10-нм процессоров на 2019 год. Причина этого - в большой стоимости производства. На данный момент компания продолжает поставлять 10-нм процессоры в небольших объемах.

Охарактеризуем технологии производства процессоров Intel с точки зрения стоимости. Дороговизну руководство компании объясняет длинным производственным циклом и применением большого количества масок. В основе 10-нм технологии лежит глубокая ультрафиолетовая литография (DUV) с применением лазеров, работающих на длине волны 193 нм.

Для 7-нм процесса будет использоваться экстремальная ультрафиолетовая литография (EUV) с применением лазеров, работающих на длине волны 13,5 нм. Благодаря такой длине волны удастся избежать применения мультипаттернов, широко используемых для 10-нм процесса.

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

Перспективы микропроцессорного производства компании AMD

Единственным реальным конкурентом "Интел" на рынке производства процессоров на сегодняшний день является AMD. Из-за ошибок "Интел", связанных с 10-нм технологией, AMD немного поправила свое положение на рынке. У Intel массовое производство с использованием технологического процесса 10 нм сильно запоздало. Компания AMD, как известно, использует для производства своих чипов третью сторону. И теперь сложилась ситуация, когда AMD для производства использует во всю 7-нм технологии производства процессоров, не уступающие главному конкуренту.

Основными сторонними производителями полупроводниковых устройств с использованием новых технологий для сложной логики являются Тайваньская компания производства полупроводников (TSMC), американская компания GlobalFoundaries и корейская Samsung Foundry.

AMD планирует использовать TSMC исключительно для производства микропроцессоров следующего поколения. При этом будут применяться новые технологии производства процессоров. Компания уже выпустила ряд продуктов с применением 7-нм процесса, включая 7-нм графический процессор. Первый планируется выпустить в 2019 г. Уже через 2 года планируется начать массовое производство 5-нм микросхем.

GlobalFoundaries отказалась от разработки процесса 7 нм, чтобы сосредоточить свои усилия на развитии своих 14/12 нм процессов для клиентов, ориентированных на быстрорастущие рынки. AMD вкладывает в GlobalFoundaries дополнительные инвестиции для производства процессоров AMD текущего поколения Ryzen, EPYC и Radeon.

Производство микропроцессоров в России

Основные микроэлектронные производства расположены в городах Зеленоград ("Микрон", "Ангстрем") и Москва ("Крокус"). Собственное микроэлектронное производство имеется также и в Беларуси - компания "Интеграл", использующая технологический процесс 0,35 мкм.

Производством процессоров в России занимаются компании "МЦСТ" и "Байкал Электроникс". Последняя разработка "МЦСТ" - процессор «Эльбрус-8С». Это 8-ядерный микропроцессор с тактовой частотой 1,1-1,3 ГГц. Производительность российского процессора составляет 250 гигафлопс (операций с плавающей запятой в секунду). Представителями компании заявляется, что по ряду показателей процессор может конкурировать даже с лидером отрасли - компанией Intel.

Производство продолжится моделью "Эльбрус-16" частотой 1,5 ГГц (цифровой индекс в названии обозначает количество ядер). Массовое изготовление этих микропроцессоров будет осуществляться в Тайване. Это должно способствовать уменьшению цены. Как известно, цена на продукцию компании заоблачная. При этом, по характеристикам комплектующие значительно уступают ведущим компаниям в этом секторе экономики. Пока такие процессоры будут использоваться только в государственных организациях и для оборонных целей. В качестве технологии производства процессоров этой линейки будет применяться 28-нм технологический процесс.

"Байкал Электроникс" производит процессоры, предназначенные для использования в промышленности. В частности, это относится к модели "Байкал Т1". Область ее применения - маршрутизаторы, системы с ЧПУ и офисная техника. Компания на этом не останавливается и уже разрабатывается процессор для персональных компьютеров - "Байкал М". Сведений о его характеристиках пока немного. Известно, что у него будет 8-ядерный процессор с поддержкой до 8 графических ядер. Преимущество этого микропроцессора будет заключаться в его энергоэффективности.

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

Итак, что же окажется внутри микропроцессора, если его разобрать:

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

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

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

Крышка (1) крепится к подложке (3) с помощью клея-герметика, устойчивого к высоким температурам. Между кристаллом (2) и крышкой нет воздушного зазора, его место занимает термопаста, при застывании из нее получается "мостик" между кристаллом процессора и крышкой, благодаря чему обеспечивается очень хороший отток тепла.

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

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

Так например выглядит контактная подложка процессора Intel Pentium 4 (процессор перевернут):

Форма контактов и структура их расположения зависит от процессора и материнской платы компьютера (сокеты должны совпадать). Например на рисунке чуть выше контакты у процессора без "штырьков", поскольку штырьки находятся прямо в сокете материнской платы.

А бывает другая ситуация, где "штырьки" контактов торчат прямо из контактной подложки. Эта особенность характерна в основном для процессоров AMD:

Как уже упоминалось выше, устройство разных моделей процессоров одного производителя может различаться, перед нами яркий тому пример - четырехъядерный процессор Intel Core 2 Quad, который по сути представляет собой 2 двухъядерных процессора линейки core 2 duo, совмещенных в одном корпусе:

Важно! Количество кристаллов внутри процессора и количество ядер процессора - не одно и то же.

В современных моделях процессоров Intel умещается сразу 2 кристалла (чипа). Второй чип - графическое ядро процессора, по-сути играет роль встроенной в процессор видеокарты, тоесть даже если в системе отсутствует , графическое ядро возьмет на себя роль видеокарты, причем довольно мощной (в некоторых моделях процессоров вычислительная мощь графических ядер позволяет играть в современные игры на средних настройках графики).

Вот и все устройство центрального микропроцессора , вкратце конечно же.

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

Пластины делаются из кремния, который занимает 2 место по размеру залежей в земной коре.

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

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

Процессор состоит из кремниевой пластины, на поверхности которой располагается до девяти уровней транзисторов, разделенные слоями оксида, для изоляции.

Развитие технологии производства процессоров

Гордон Мур, один из основателей компании Intel, одного из лидеров производства процессоров в мире, в 1965 году на основе своих наблюдений открыл закон, по которому новые модели процессоров и микросхем появлялись через равные отрезки времени. Рост количества транзисторов в процессорах растет примерно в 2 раза за 2 года. Вот уже в течение 40 лет закон Гордона Мура работает без искажений. Освоение будущих технологий не за горами – уже есть рабочие прототипы на основе 32 нм и 22нм технологии производства процессоров. До середины 2004 года мощность процессора зависела в первую очередь от частоты процессора, но, начиная с 2005 года, частота процессоров практически перестала расти. Появилась новая технология многоядерности процессора. То есть создается несколько ядер процессора с равной тактовой частотой, и при работе мощность ядер суммируется. За счет этого повышается общая мощность процессора.

Ниже вы можете посмотреть видео о производстве процессоров.

Это может показаться глупым вопросом, на который можно ответить одним предложением: кремний – 14 элемент в периодической таблице. Тем не менее, кремний чаще других упоминается на сайтах, посвященных электронике, потому что он не только главный компонент большинства строительных материалов, но и основа для современных компьютерных процессоров, и даже наиболее вероятный кандидат на роль базисного элемента «неуглеродной жизни» Что же делает кремний особенным?

Кремний как строительный материал

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

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

Кремний как компьютерный чип

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

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

Кремний как внеземная жизни

Фраза «углеродная жизнь» упоминается довольно часто, но что она значит? Это означает, что основные структурные молекулы нашего тела (белки, аминокислоты, нуклеиновые кислоты, жирные кислоты и другое) строятся на основе атомов углерода. Так происходит потому, что углерод может быть четырехвалентным. Кислород может сформировать две устойчивые химические связи одновременно, азот только три, но углерод может удерживать до четырех разных атомов сразу. Это является мощной основой для построения молекул и развития жизни.

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

Сколько я себя помню, всегда мечтал сделать процессор. Наконец, вчера я его сделал. Не бог весть что: 8 бит, RISC, текущая рабочая частота — 4 кГц, но он работает. Пока что в программе моделирования логических цепей, но все мы знаем: «сегодня — на модели, завтра — на деле!».

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

Двоичная логика

Двоичная система счисления (для тех, кто не в курсе) — это такая система счисления, в которой нет цифр больше единицы. Такое определение многих сбивает с толку, пока они не вспомнят, что в десятичной системе счисления нет цифр больше девятки.

Двоичная система используется в компьютерах потому, что числа в ней легко кодировать напряжением: есть напряжение — значит, единица; нет напряжения — значит, ноль. Кроме того, «ноль» и «один» легко можно понимать как «ложно» и «истинно». Более того, большая часть устройств, работающих в двоичной системе счисления, обычно относится к числам как к массиву «истинностей» и «ложностей», то есть оперирует с числами как с логическими величинами. Для самых маленьких и тех, кто не в курсе, я расскажу и покажу, как работают простейшие элементы двоичной логики.

Элемент «Буфер»

Представьте, что вы сидите в своей комнате, а ваш друг — на кухне. Вы кричите ему: «Друг, скажи, в коридоре горит свет?». Друг отвечает: «Да, горит!» или «Нет, не горит». Ваш друг — буфер между источником сигнала (лампочкой в коридоре) и приемником (вами). Более того, ваш друг — не какой-нибудь там обычный буфер, а буфер управляемый. Он был бы обычным буфером, если бы постоянно кричал: «Лампочка светится» или «Лампочка не светится».

Элемент «Не» — NOT

А теперь представьте, что ваш друг — шутник, который всегда говорит неправду. И если лампочка в коридоре светится, то он скажет вам «Нет, в коридоре совсем-совсем темно», а если не светится — то «Да, в коридоре свет горит». Если у вас есть такой друг на самом деле, значит, он воплощение элемента «Не».

Элемент «Или» — OR

Для объяснения сути элемента «Или» одной лампочки и одного друга, к сожалению, не хватит. Нужно две лампочки. Итак, у вас в коридоре две лампочки — торшер, к примеру, и люстра. Вы кричите: «Друг, скажи, хотя бы одна лампочка в коридоре светит?», и ваш друг отвечает «Да» или «Нет». Очевидно, что для ответа «Нет» все лампочки обязательно должны быть выключены.

Элемент «И» — AND

Та же самая квартира, вы, друг на кухне, торшер и люстра в коридоре. На ваш вопрос «В коридоре обе лампочки горят?» вы получаете ответ «Да» или «Нет». Поздравляю, теперь ваш друг — это элемент «И».

Элемент «Исключающее Или» — XOR

Повторим еще раз эксперимент для элемента «Или», но переформулируем свой вопрос к другу: «Друг, скажи, в коридоре только одна лампочка светит?». Честный друг ответит на такой вопрос «Да» только в том случае, если в коридоре действительно горит только одна лампочка.

Сумматоры

Четвертьсумматор

Четвертьсумматором называют элемент «Исключающее Или». Почему? Давайте разберемся.
Составим таблицу сложения для двух чисел в двоичной системе счисления:
0+0= 0
0+1= 1
1+0= 1
1+1= 10

Теперь запишем таблицу истинности элемента «Исключающее Или». Для этого обозначим светящуюся лампочку за 1, потухшую — за 0, и ответы друга «Да»/«Нет» как 1 и 0 соответственно.
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

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

Полусумматор

При переполнении результат сложения уже не помещается в столько же разрядов, во сколько помещались слагаемые. Слагаемые — два однозначных числа (одна значащая цифра, понимаете?), а сумма — уже двузначное (две значащих цифры). Две цифры одной лампочкой («Светится»/«Не светится») уже не передать. Нужно две лампочки. Нужно — сделаем!

Кроме XOR, для сумматора нам потребуется элемент «И» (AND).
0 XOR 0 = 0 0 AND 0 = 0
0 XOR 1 = 1 0 AND 1 = 0
1 XOR 0 = 1 1 AND 0 = 0
1 XOR 1 = 0 1 AND 1 = 1

Тадам!
0+0= 00
0+1= 01
1+0= 01
1+1= 10

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

Я не буду вдаваться в подробности работы полных и многоразрядных сумматоров, просто надеюсь, что основную идею вы уловили.

Более сложные элементы

Мультиплексор

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

Мультплексоры состоят обычно только из сочетаний элементов «И», «Или» и «Не». У одноразрядного мультиплексора один вход называется «выбор адреса», два входа с общим названием «входной сигнал» и один выход, который так и называется: «выходной сигнал».

Когда на «выбор адреса» подается 0, то «выходной сигнал» становится таким же, как первый «входной сигнал». Соответственно, когда на «выбор» подается 1, то «выходной сигнал» становится равным второму «входному сигналу».

Демультиплексор

А вот эта штучка работает с точностью до наоборот. На «выбор адреса» даем адрес, на «вход данных» даем данные, на выходе с номером «адрес» имеем данные со входа.

Счетчик

Для понимания работы счетчика вам опять понадобится ваш друг. Позовите его из кухни (надеюсь, он не сильно там скучал, и, главное, не съел всю вашу еду), и попросите делать вот что: пусть он запомнит число 0. Каждый раз, когда вы будете прикасаться к нему, он должен прибавить единицу к тому числу, которое помнит, сказать результат и запомнить его. Когда результат будет равен (допустим) 3, он должен выкрикнуть «Абракадабра!» и отвечать при следующем прикосновении, что сейчас он помнит число 0. Немного сложно? Смотрите:

Вы прикасаетесь к другу. Друг говорит «Один».
Вы прикасаетесь к другу. Друг говорит «Два».
Вы прикасаетесь к другу. Друг говорит «Три». Друг выкрикивает «Хабрахабр! ». Критическая атака! Вы временно парализованы и не можете двигаться.
Вы прикасаетесь к другу. Друг говорит «Ноль».

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

Память

Триггер

Давайте продолжим издеваться над вашим несчастным (возможно, даже воображаемым) другом. Пусть теперь он запомнит число ноль. Когда вы касаетесь его левой руки, он должен запоминать число ноль, а когда правой — число один. При вопросе «Какое число ты помнишь?» друг должен всегда отвечать то число, которое запоминал — ноль или один.
Простейшей запоминающей ячейкой является RS-триггер («триггер» значит «переключатель»). RS-триггер может хранить в себе один бит данных («ноль»/«один»), и имеет два входа. Вход Set/Установка (совсем как левая рука вашего друга) записывает в триггер «один», а вход Reset/Сброс (соответственно, правая рука) — «ноль».

Регистр

Немного сложнее устроен регистр. Ваш друг превращается в регистр тогда, когда вы просите его что-нибудь запомнить, а потом говорите «Эй, напомни мне, что я говорил тебе запомнить?», и друг правильно отвечает.

Регистр обычно может хранить в себе чуть больше, чем один бит. У него обязательно есть вход данных, выход данных и вход разрешения записи. С выхода данных вы в любой момент можете прочитать то, что в этом регистре записано. На вход данных вы можете подавать те данные, которые хотите в этот регистр записать. Можете подавать данные до тех пор, пока не надоест. В регистр все равно ничего не запишется до тех пор, пока на вход разрешения записи не подать один, то есть «логическую единицу».

Сдвиговый регистр

Вы когда-нибудь стояли в очередях? Наверняка стояли. Значит, вы представляете, каково быть данными в сдвиговом регистре. Люди приходят и становятся в конец очереди. Первый человек в очереди заходит в кабинет к большой шишке. Тот, кто был вторым в очереди, становится первым, а тот, кто был третьим — теперь второй, и так далее. Очередь — это такой хитрый сдвиговый регистр, из которого «данные» (ну, то есть люди) могут убегать по делам, предварительно предупредив соседей по очереди. В настоящем сдвиговом регистре, разумеется, «данные» из очереди сбегать не могут.

Итак, у сдвигового регистра есть вход данных (через него данные попадают в «очередь») и выход данных (из которого можно прочитать самую первую запись в «очереди»). Еще у сдвигового регистра есть вход «сдвинуть регистр». Как только на этот вход приходит «логическая единица», вся очередь сдвигается.

Есть одно важное различие между очередью и сдвиговым регистром. Если сдвиговый регистр расчитан на четыре записи (например, на четыре байта), то первая в очереди запись дойдет до выхода из регистра только после четырех сигналов на вход «сдвинуть регистр».

Оперативная память

Если много-много триггеров объединить в регистры, а много-много регистров объединить в одной микросхеме, то получится микросхема оперативной памяти. У микросхемы памяти обычно есть вход адреса, двунаправленный вход данных (то есть в этот вход можно записывать, и с него же можно считывать) и вход разрешения записи. На вход адреса подаем какое-нибудь число, и это число выберет определенную ячейку памяти. После этого на входе/выходе данных мы можем прочитать то, что записано в эту самую ячейку.
Теперь мы одновременно подадим на вход/выход данных то, что хотим в эту ячейку записать, а на вход разрешения записи — «логическую единицу». Результат немного предсказуем, не так ли?

Процессор

BitBitJump

Процессоры иногда делят на CISC — те, которые умеют выполнять много разных команд, и RISC — те, которые умеют выполнять мало команд, но выполняют их хорошо. Одним прекрасным вечером мне подумалось: а было бы здорово, если бы можно было сделать полноценный процессор, который умеет выполнять всего одну команду. Вскоре я узнал, что существует целый класс однокомандных процессоров — OISC, чаще всего они используют команду Subleq (вычесть, и если меньше или равно нулю, то перейти) или Subeq (вычесть, и если равно нулю, то перейти). Изучая различные варианты OISC-процессоров, я нашел в сети сайт Олега Мазонки, который разработал простейший однокомандный язык BitBitJump. Единственная команда этого языка так и называется — BitBitJump (скопировать бит и перейти по адресу). Этот, безусловно эзотерический, язык является полным по Тьюрингу — то есть на нем можно реализовать любой компьютерный алгоритм.

Подробное описание BitBitJump и ассемблер для этого языка можно найти на сайте разработчика . Для описания алгоритма работы процессора достаточно знать следующее:

1. При включении процессора в регистрах PC, A и B записаны 0
2. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр A
3. Увеличиваем PC
4. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр B
5. Увеличиваем PC
6. Записываем в ячейку с адресом, записанным в регистре B, содержимое бита с адресом А.
7. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр B
8. Записываем в регистр PC содержимое регистра B
9. Переходим к пункту 2 нашего плана
10. PROFIT!!!

К сожалению, алгоритм бесконечный, и потому PROFIT достигнут не будет.

Собственно, схема

Схема строилась стихийно, поэтому правят бал в ней страх, ужас и кавардак. Тем не менее, она работает, и работает прилично. Чтобы включить процессор, нужно:

1. Ввести программу в ОЗУ
2. Нажать на включатель
3. Установить счетчик в положение 4 (это можно делать и аппаратно, но схема стала бы еще более громоздкой)
4. Включить тактовый генератор

Как видите, использованы один регистр, один сдвиговый регистр, одна микросхема ОЗУ, два двоичных счетчика, один демультиплексор (представленный компараторами), два мультиплексора и немного чистой логики.