Как считают процессоры: короткий рассказ про XOR и транзисторы
hard

Как считают процессоры: короткий рассказ про XOR и транзисторы

Матлогика + железо = ❤️

В одной из статей мы говорили о транзисторах и о том, как они устроены. Сегодня будет практика — мы соберём из транзисторов XOR и выясним, сколько для этого нужно транзисторов.

Коротко о транзисторах

Чтобы лучше понять, что будет дальше, напомним, что такое транзистор. Если хотите копнуть поглубже, почитайте наш разбор:

Как это устроено: транзисторы

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

Коротко о транзисторах
Это один из вариантов исполнения транзистора: пластиковый корпус и три ноги для соединения с платой

При этом сам транзистор — простейший прибор, который, по сути, похож на кран или электрические ворота. Через транзистор идёт какой-то один ток, а другим током этот поток можно либо пропустить, либо заблокировать. И всё.

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

Транзистор

Ток пытается пройти сквозь транзистор, но транзистор «закрыт»: на его управляющую ногу не подан другой ток.

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

Как считают процессоры: короткий рассказ про XOR и транзисторы

Из миллиардов таких простейших «кранов» и состоит любая современная вычислительная машина: от чайника с электронным управлением до суперкомпьютера в подвалах Пентагона. И до чипа в вашем смартфоне.

Что такое XOR и где это применяется

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

0 XOR 0 = 0

1 XOR 0 = 1

0 XOR 1 = 1

1 XOR 1 = 0

Собираем XOR из транзисторов

Если мы откроем любой учебник по матлогике, там будет написано, как с помощью И, ИЛИ и НЕ получить XOR. Похоже на сложное нечитаемое заклинание:

(НЕ(a) И b) ИЛИ (а И НЕ(b))

Мы уже знаем, как сделать на транзисторах все эти элементы, поэтому просто соберём их в одно целое.

НЕ(a) :И b:

Как считают процессоры: короткий рассказ про XOR и транзисторы

а И НЕ(b):

Как считают процессоры: короткий рассказ про XOR и транзисторы

Теперь объединим это в одно целое, используя логическое ИЛИ.

(НЕ(a) И b) ИЛИ (а И НЕ(b)):

Как считают процессоры: короткий рассказ про XOR и транзисторы
Если хотите потренироваться, мысленно или на бумаге проверьте все 4 разных состояния выключателей и сравните с результатом XOR

На схемах XOR обозначается так:

Как считают процессоры: короткий рассказ про XOR и транзисторы

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

Что дальше

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

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Юлия Зубарева

Во славу могущественных транзисторов

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