Публикуем перевод замечательного видео, в котором меньше чем за 15 минут объясняется, как компьютеры складывают числа с помощью транзисторов, двоичной системы счисления, простых логических схем и их хитрых комбинаций.
P.S. В начале видео ошибочно процессором называют северный мост.
Комментарии (25)
kirill89
17.07.2015 13:22+6Не хватает объяснения как работает «НЕ» на транзисторах. Показал жене, она спросила — пришлось объяснять :)
nckma
17.07.2015 13:56-2Интересно, но подключать лампочку накаливания к транзистору как-то немного… кажется странновато. Вообще, конечно, понятно что невозможно создать обучающий материал который устроит всех. Уровень у учеников всегда разный. Приходится делать какие-то упрощения, допускать неточности. Без упрощений новичок не поймет, а специалист за эти упрощения закритикует…
AxisPod
17.07.2015 14:39Ну ведь ALU блоки строятся на однотипных вентилях, а не на всей куче OR, AND и т.д., а типа на NAND и всё выводят через них в конечном итоге. А тут как-то сильно упростили.
lorc
17.07.2015 16:47+2Ну классический полусумматор выглядит именно так. А то что схемотехнически всё проще делать на NAND — это уже второй вопрос. Схемотехнически и ключ на транзисторах работает совсем не так, потому что используется комплементарная пара, а не один транзистор. Но зачем вдаваться аж в такие дебри?
Stalker_RED
17.07.2015 16:59Мне показалось, или местами видеоряд рассинхронизирован с голосом?
monah_tuk
17.07.2015 17:16Похоже, побочный эффект озвучки: фраза на русском звучит или дольше или короче оригинала. В челом — даже не заметил: когда смотрел советские учебные фильмы, к примеру, по химии или физике, там бывали такие же «заминки», но там: что нужно уже сказали, а опыт-то всё равно своего времени требует. Не будешь же говорить: брюки превращаются… превращаются брюки… превращаются…
Mrrl
17.07.2015 17:54+1Представленный алгоритм требует линейного времени от числа битов? И в реальных процессорах действительно так делают? Как же они успевают выполнить 64 переноса разряда за 1 такт? Я знаю, как сложить два числа за логарифм длины — но и это кажется слишком долгим. Как же компьютеры складывают числа на самом деле?
lorc
17.07.2015 18:41Да, этот сумматор с последовательным переносом. У него линейная сложность относительно количества бит. Есть ещё сумматор с ускоренным переносом, которому надо log2(n) тактов на суммирование.
Ещё есть хитрый сумматор с сохранением переноса, который может складывать числа за константное время. Но проблема в том, что для вычисления результата нужно всё-таки произвести перенос, что займет тех же log2(2) тактов. Зато он может накапливать сумму от нескольких сложений, а потом единократно произвести вычисление результата. Т.е. по факту его стоит применят только в тех местах, где надо складывать больше двух чисел.UA3MQJ
17.07.2015 19:54Почему вы говорите про такты? Сумматор — асинхронная схема. У него линейная сложность от количества бит. Но от их количества увеличивается не число тактов, а время установки результата.
lorc
17.07.2015 20:38+1Да, действительно. Правильно было бы использовать в качестве единицы времени не такты, a gate delays.
UA3MQJ
17.07.2015 19:42Перенос происходит не за такт, а за определенное время. И все они работают параллельно. Но схеме нужно какое-то время, чтобы она установилась в устойчивое состоятие. Время установки укладывается в период до следующего такта (когда делаешь такие схемы на HDL языке, например, для ПЛИС, то можно рассчитать максимальную частоту работы того же сумматора и понять, успеет ли он за такт).
Если ничего не путаю, в Z80 складывается за 2 такта, двумя кусками по 4 бита (1).
MrGobus
17.07.2015 19:52+12:50
«Если вы активируете только правый выключатель, лампочка тоже не зажжётся, потому что электричество не поступит через правый транзистор на вход второго» — там два транзистора, правый второй, и через правый транзистор на вход второго ничего поступать не может так как по схеме поступает с выхода первого (левого транзистора)
И еще, в начале видео, то, что под радиатором, это не процессор, не помню как он называется, но точно не процессор (какой то контроллер, южного моста что ли), да думаю там есть логика, да наверное даже наверняка, но все же, да и почему такая древняя мамка на картинке, агп и даже, о боже, исо разьемы. И проц там слотовый, были такие в начале 2000, недолго слава богу интелл нас радовал.
После того как двоичную систему начали объяснять на десятичных числах пропуская десятки и сотни смотреть не смог. Где вас этому учат, я закончил МПТ (Московский Приборостроительный Техникум) но даже там такого кашмара я не видел, рыдаю.JC_Piligrim
18.07.2015 00:08Зачем вы разговариваете с копипастой?
Это же перевод. Ребятам-переводчикам — большое спасибо, что потрудились. Многое понятнее стало. Что касается объяснения двоичной логики — тут да, трэш. Но, может, любознательным гуманитариям так действительно нагляднее?MrGobus
18.07.2015 06:11-2Я вне себя от благородного гнева, вот и с копипастой заговорил =) А переводчикам надо дать ремня, чтобы думали что на хабру выкладывать, а то придется их хвалить за то, что они напереводят то что на заборах пишут.
А гуманитария надо както так:
Энергий призрачный полет
Чей путь к эмиттеру направлен
Коллектором приостановлен может
Коль слаб его сигнал
dolphin4ik
Ясно XOR не ясно
qw1
= trueЪ
freetonik Автор
Не ясно, что именно не ясно.
Конкретно как работает схема XOR? Или зачем она нужна?
dolphin4ik
Да ясно в какой-то степени, а в какой-то нет. Вот и написал