Сумматор

  Рет қаралды 8,563

BitFlip

BitFlip

Күн бұрын

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

Пікірлер: 20
@elyasd495
@elyasd495 4 ай бұрын
Собираю полный однобитный сумматор на транзисторе и двух типах резисторов. Посмотрев это видео понял всю его работу.
@juliaryabchikova9593
@juliaryabchikova9593 3 жыл бұрын
Очень интересно, для лучшего понимания пересмотрели несколько раз
@gulfstream1800
@gulfstream1800 11 ай бұрын
Прошел все видео, сейчас собираю сумматор, спасибо
@hunter-speexz
@hunter-speexz 2 жыл бұрын
Тут кстати можно логически вывести схему исходя из того, как на самом деле происходит суммирование. Можно представить, что сумматор последовательно выполняет следующие действия, а именно он суммирует сначала A и B, потом ещё суммирует с входящим C и при складывании учитывает флаги переноса: 1) Сначала он складывает A и B (s1=A⊕B) и вычиляет значение флага переноса (c1=A&B). 2) Затем он складывает получившееся значение из пункта 1 с входным Cвх (S=s1⊕Cвх). В итоге у нас получается значение S. Тут также вычисляем значение флага переноса (с2=s1&Свх). 3) Объединяем флаги переноса из пунктов 1 и 2 и получаем Cout (Сout=c1ǀǀc2). В итоге получаем ту же самую схему, что и в видео.
@gulfstream1800
@gulfstream1800 11 ай бұрын
Хорошее объяснение, спасибо.
@ВладимирНиколаевич-ь4о
@ВладимирНиколаевич-ь4о 4 күн бұрын
Черт, я только что такой же комментарий написал, с объяснениями 🤦‍♂️ Нужно сначала комментарии читать. Ну, у меня, вроде, чуть больше деталей, в частности о том почему там OR а не еще один полусумматор, так что наверное кому то будет полезен.
@patssport9174
@patssport9174 4 жыл бұрын
Предлагаю собирать схемы онлайн, так будет нагляднее. Мы видим результат, а его сложно сразу воспринять и повторить. Пожалуйста, сразу поясняйте, где и для чего используется конкретная схема, чтобы люди понимали, что в конечном итоге дадут все получаемые знания.
@ацетон-з8ч
@ацетон-з8ч 3 жыл бұрын
Светодиоды всегда нужно подключать с резисторами, потому что он всегда будет потреблять тока больше, чем ему нужно и таким образом, даже если он не сгорел сейчас, то через некоторое время сгорит, если использовать его без резистора
@rauanspokesman6754
@rauanspokesman6754 Жыл бұрын
О да у нас тут гений
@ВладимирНиколаевич-ь4о
@ВладимирНиколаевич-ь4о 4 күн бұрын
На самом деле все сильно проще и можно обойтись вообще без таблиц истинности. Первое что нужно понять - зачем это вообще нужно. Ответ - чтобы вычислять сумму многоразрядных чисел с помощью поразрядного сложения, так же как и в школе. Пусть p=a+b, где a, b - многоразрядные числа длиной n разрядов, p - их сумма, тоже n разрядов. Каждый разряд p будет вычисляться по правилу p[i] = (a[i] + b[i]) + c[i] Вот это действие выполняет полный сумматор. При этом, нам нужно вычислить 2 суммы одноразрядных чисел. Значит, нам нужна функция/схема, которая умеет складывать 2 одноразрядных (однобитных) числа - это наш полусумматор. Эта функция возвращает уже 2-разрядное число или, можно считать, что 2 одноразрядных числа - цифру d (младший разряд суммы) и перенос разряда в старший разряд (старший разряд суммы) half_adder(a, b) - > (c, d): с = a AND b d = a XOR b После вычисления первой суммы нам нужно сложить вот это уже 2-битное число результата с 1-битным числом переноса разряда - вторая сумма. А для этого нужно 1) сложить их младшие разряды, взять перенос этой суммы 2) сложить старшие разряды; при этом у второго числа тут 0 (оно ж у нас одноразрядное, помните), но из п.1 может прилететь перенос, значит вот что нужно сделать на этом шаге: сложить старший разряд первого числа с переносом из п. 1 Получается вот такая реализация полного сумматора: func full_adder(a, b, c_in) -> (c_out, d_out) : 1) c1, d1 := half_adder(a, b) 2) c2, d2 := half_adder(d1, c_in) 3) c3, d3 := half_adder(c1, c2) d_out := d2 c_out := d3 return (c_out, d_out) Здесь можно заметить что 1) в 3-м полусумматоре мы не используем вычисленное значение переноса c3 (это значение всегда будет 0,можете проверить по таблицам истинности в видео) а значит от этого полусумматора нам нужна только половина, та которая вычисляет d, то есть, вот эта часть d = a XOR b 2) c1 и с2 никогда совместно не принимают значение 1, можно проверить по таблицам истинности, но, вообще это свойство двоичной системы счисления), значит XOR для таких значений превращается в OR (таблица истинности для XOR и OR отличается лишь для аргументов 1 и 1). Значит вызов 3) превращается в 3) d3 = c1 OR c2 Вот и весь полный сумматор. Как теперь с помощью этого сумматора решить исходную задачу, сложение многоразрядных чисел? Для 8-битных чисел : func add_8b(a, b, c_in) -> (c_out, p) : c_0, d_0 := full_adder(a[0], b[0], c_in) p[0] := d_0 c_1, d_1 := full_adder(a[1], b[1], c_0) p[1] := d_1 ... c_7, d_7 := full_adder(a[7], b[7], c_6) p[7] := d_7 c_out := c_7 То есть, для вычисления каждого разряда результата нужен отдельный аппаратный сумматор, они соединены в цепочку. Более того, квждый сумматор не может начать вычислять разряд, пока не получил перенос от предыдущего сумматора. И это печально, потому что процесс становится сугубо последовательным. Для того чтобы это улучшить, есть отдельные схемы формирования ускоренного переноса. В реальных процессорах (точнее их АЛУ) c_in=0, значит первый полный сумматор можно заменить на полусумматор. А c_out = 1 сигнализирует об ошибке - арифметическое переполнение, вылезли за границу разрядной сетки.
@demid_php5337
@demid_php5337 4 жыл бұрын
А как микросхемы называются, и принципиальную схему скачать можно???
@gamespro453
@gamespro453 2 жыл бұрын
спасибо большое за обучение, жаль что новых видосов больше нет...Хотел спросить ещё марку провода который используете на макетной плате,провод тонкий а изоляция толстая.
@BitFlipChannel
@BitFlipChannel 2 жыл бұрын
Использую одножильный провод калибра 22 AWG. Можно найти на AliExpress.
@Tony_Limitless
@Tony_Limitless 2 жыл бұрын
Жирный лайк
@ХатинМаликов
@ХатинМаликов Жыл бұрын
Прожег палец паяльником.
@maslov3760
@maslov3760 Жыл бұрын
Схему можно элементов?
@maslov3760
@maslov3760 Жыл бұрын
Какие диоды стоят?
@Bezdarnyi_Master
@Bezdarnyi_Master Жыл бұрын
да, схему лучше было бы собрать при нас)) было бы нагляднее и понятнее, а времени ушло бы не намного больше, чем на разъяснение постфактум. Спасибо за урок
@gulfstream1800
@gulfstream1800 11 ай бұрын
Сегодня собрал свой сумматор, не самый оптимальный, из 5 XOR и 1 AND. Смотрю, кайфую с решения автора.
@АлишерТашматов-п5й
@АлишерТашматов-п5й 13 күн бұрын
Можно использовать карту Карно для минимизации схемы
Четырехбитный сумматор
13:56
BitFlip
Рет қаралды 8 М.
Сумматор с функцией вычитания
29:45
How do Cats Eat Watermelon? 🍉
00:21
One More
Рет қаралды 7 МЛН
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 236 МЛН
How do Cats Eat Watermelon? 🍉
00:21
One More
Рет қаралды 7 МЛН