- Видео 56
- Просмотров 334 490
BitFlip
Россия
Добавлен 24 дек 2019
Канал об электронике для начинающих.
Всегда хотел разобраться в электронике, но как-то все руки не доходили. В школе и в университете тема электричества на физике давалась неплохо, но не было четкого понимания, для чего нужны все эти законы, правила и формулы и как применять их на практике. Здесь попробую шаг за шагом разобраться в теме и поделиться своими открытиями.
Вторая тема, в которой есть желание разобраться - работа компьютера изнутри. Для многих эта часть остается какой-то магией, которая в конечном счете позволяет нам сидеть в Интернете, смотреть ролики на RUclips и листать фотки в Instagram. Но если мы взглянем внутрь компьютера, то сможем увидеть новый мир со своими законами, где тикают свои часики, передаются сигналы от компонента к компоненту и постоянно выполняются разные команды.
Поэтому видео на этом канале будут на стыке электроники и компьютерных наук. Присоединяйтесь, если и вам это все интересно.
Всегда хотел разобраться в электронике, но как-то все руки не доходили. В школе и в университете тема электричества на физике давалась неплохо, но не было четкого понимания, для чего нужны все эти законы, правила и формулы и как применять их на практике. Здесь попробую шаг за шагом разобраться в теме и поделиться своими открытиями.
Вторая тема, в которой есть желание разобраться - работа компьютера изнутри. Для многих эта часть остается какой-то магией, которая в конечном счете позволяет нам сидеть в Интернете, смотреть ролики на RUclips и листать фотки в Instagram. Но если мы взглянем внутрь компьютера, то сможем увидеть новый мир со своими законами, где тикают свои часики, передаются сигналы от компонента к компоненту и постоянно выполняются разные команды.
Поэтому видео на этом канале будут на стыке электроники и компьютерных наук. Присоединяйтесь, если и вам это все интересно.
8-битный компьютер: финальная версия. Подключаем декодер инструкций и проверяем работу программ
В этом видео мы завершаем сборку восьмибитного компьютера. Добавим единственную недостающую часть - декодер инструкций, подключим все его входы и выходы.
Затем введем инструкции команды и проверим работу компьютера в автоматическом режиме.
Сборка компьютера производилась на основе информации из книги Digital Computer Electronics by Albert P. Malvino, Jerald A Brown - www.amazon.com/Digital-Computer-Electronics-Albert-Malvino/dp/0028005945.
Также советую канал Ben Eater - ruclips.net/user/BenEater. Там есть видео по сборке компьютера, а также много других интересных роликов по этой теме.
Затем введем инструкции команды и проверим работу компьютера в автоматическом режиме.
Сборка компьютера производилась на основе информации из книги Digital Computer Electronics by Albert P. Malvino, Jerald A Brown - www.amazon.com/Digital-Computer-Electronics-Albert-Malvino/dp/0028005945.
Также советую канал Ben Eater - ruclips.net/user/BenEater. Там есть видео по сборке компьютера, а также много других интересных роликов по этой теме.
Просмотров: 11 200
Видео
Декодер инструкций: автоматизируем сигналы управляющих входов
Просмотров 4,6 тыс.3 года назад
Декодер инструкций позволяет в автоматическом режиме устанавливать сигналы для управляющих входов на основе текущего номера шага обработки инструкции и кода текущей инструкции. В этом выпуске рассмотрим принципы работы декодера инструкций и один из способов его реализации. Будем использовать микросхемы двоичного счетчика для определения номера шага, микросхему с вентилями И-НЕ для сброса счетчи...
Программируем компьютер и выполняем инструкции в ручном режиме
Просмотров 4,6 тыс.3 года назад
В прошлом выпуске мы познакомились с инструкциями и разобрались, как компьютер должен их исполнять. В этот раз мы перейдем от теории к практике: введем программу в двоичном виде в оперативную память и выполним все инструкции одну за другой. Так как у нас пока еще нет декодера инструкций, подавать сигналы на управляющие входы мы будем в ручном режиме. Это как раз и поможет нам лучше понять, как ...
Программные инструкции и взаимодействие компонентов
Просмотров 3,6 тыс.3 года назад
До сих пор мы собирали разные блоки по отдельности. Но теперь, когда почти все блоки уже готовы, настало время разобраться, как они должны работать вместе. В этом видео разберем, как мы будем координировать работы разных компонентов с помощью управляющих входов. Посмотрим, какие инструкции будет поддерживать компьютер, который мы собираем, в каком виде мы будем вводить эти инструкции в оператив...
Обновляем таймер: добавляем режим ручной генерации импульсов, устраняем дребезг контактов
Просмотров 2,7 тыс.3 года назад
У нас уже есть компонент, который мы назвали таймером - он генерирует периодические импульсы для синхронизации других составных частей компьютера. Но для тестирования его работы неплохо было бы иметь возможность менять режим работы таймера на ручной и генерировать эти импульсы в тот момент, когда нам нужно. При этом мы могли бы наблюдать изменения состояний разных блоков компьютера и отлавливат...
Дополнительные регистры для восьмибитного компьютера: регистр инструкций и регистр вывода
Просмотров 2,8 тыс.3 года назад
В этом выпуске соберем два новых регистра, в дополнение к регистрам А и B, которые мы собирали ранее. Один из новых регистров - регистр инструкций. Его задача - хранить последнюю инструкцию считанную из оперативной памяти для дальнейшей обработки. Второй регистр - регистр вывода. Он нам понадобится, чтобы записывать результат работы программы. Когда программа завершит работу, в регистре вывода ...
Собираем регистр адреса памяти и панель программирования для ввода данных в оперативную память
Просмотров 4,8 тыс.3 года назад
Имея в наличии блок оперативной памяти, нам нужно найти способ, как записывать данные в эту память и как они будут считываться в процессе работы компьютера. Для записи данных мы можем заменить уже имеющиеся перемычки с помощью групп переключателей - нам нужен блок с четырьмя переключателями для задания адреса, по которому нам нужно записать данные, и блок с восемью переключателями для задания в...
Оперативная память / ОЗУ / RAM - как устроена и как собрать на макетной плате
Просмотров 16 тыс.3 года назад
Для выполнения машинной инструкций на компьютере нам нужно какое-то место, где эти инструкции будут находиться, и из которого они будут доступны для быстрого считывания. Таким местом, как правило, является оперативная память. Оперативную память также называют оперативным запоминающим устройством (или сокращенно ОЗУ), а также памятью с произвольным доступом - от английского Random Access Memory ...
Как генерировать последовательные двоичные адреса: собираем счетчик команд на макетной плате
Просмотров 3,7 тыс.4 года назад
Начинаем серию выпусков про оперативную память и дополнительных компонентов, которые позволяют эффективнее с ней работать. Конкретно в этом видео мы рассмотрим принцип работы и внутреннее устройство счетчика команд (его также называют счетчик адреса машинных команд, program counter, instruction pointer). Основная задача этого компонента - предоставлять адрес команды (или по-другому инструкции),...
Как передавать значения между регистрами и АЛУ - соединяем компоненты через общую шину данных
Просмотров 3 тыс.4 года назад
Каждый из двух регистров, которые мы используем, может принимать данные на входе для последующей записи значений, либо выдавать уже хранящееся в нем значение на выходе. АЛУ получает данные напрямую из регистров, но также может выдавать значения на своем выходе. Но как мы можем взять значения с одного из этих устройств и записать в другое? Например, если мы хотим получить результат арифметическо...
Как получить сумму значений из двух регистров: соединяем регистры и арифметико-логическое устройство
Просмотров 3,7 тыс.4 года назад
Мы уже разобрались в устройстве восьмибитного регистра и арифметико-логического устройства (АЛУ). Теперь мы можем объединить эти устройства в составное, объединив два регистра с АЛУ. В результате мы сможем записывать значения в каждый из регистров и при помощи АЛУ сразу же видеть результат заданной арифметической операции - сложения или вычитания.
Собираем 8-битное арифметико-логическое устройство (АЛУ)
Просмотров 10 тыс.4 года назад
В этом выпуске разбираем устройство арифметико-логического устройство, которое позволяет производить операции сложения и вычитания над двумя восьмибитными значениями. Для этого мы используем две микросхемы, в которых реализованы функции четырехбитного сумматора. Вычитание реализуем с помощью дополнительных вентилей исключающее ИЛИ (XOR), которые позволят нам инвертировать одно из значений на вх...
Четырехбитный сумматор в одной микросхеме, стягивающие резисторы и микросхемы ТТЛ логики
Просмотров 3,8 тыс.4 года назад
После того, как мы научились собирать восьмибитные регистры и хранить данные в течение длительного времени, нам нужно собрать арифметико-логическое устройство или, сокращенно, АЛУ. АЛУ позволит нам производить арифметические операции над значениями в регистрах. Начнем с реализации сложения и вычитания. В одном из прошлых выпусков мы собирали четырехбитный сумматор, который позволял нам складыва...
Собираем 8-битный регистр с поддержкой трех состояний на выходах для подключения к шине данных
Просмотров 3,5 тыс.4 года назад
Мы уже собирали четырехбитный регистр с использованием четырех D-триггеров. В этот раз мы будем использовать готовые микросхемы, реализующие четырехбитные регистры, чтобы собрать регистр большей разрядности - восьмибитный. Для поддержки трех состояний, мы используем дополнительную микросхему с управляемыми буферами (буферами с тремя состояниями). В результате, получим восьмибитный регистр, гото...
Как использовать шину данных для передачи значений между компонентами
Просмотров 4,5 тыс.4 года назад
Когда у нас есть в наличии несколько компонентов, и встает задача передачи данных между этими компонентами, то решение этой задачи в лоб - соединение всех компонентов со всеми - не всегда хорошая идея. В компьютерных системах для передачи данных между разными частями системы распространенным решением является создание шины данных - общего участка, доступ к которой для чтения и записи есть у каж...
Как устроен счетчик импульсов (ripple counter)
Просмотров 5 тыс.4 года назад
Как устроен счетчик импульсов (ripple counter)
Сдвиговый регистр: управляем режимами записи и хранения данных
Просмотров 3,7 тыс.4 года назад
Сдвиговый регистр: управляем режимами записи и хранения данных
Как устроен сдвиговый регистр (shift register)
Просмотров 14 тыс.4 года назад
Как устроен сдвиговый регистр (shift register)
Регистр в 1 бит - простейшая ячейка памяти
Просмотров 8 тыс.4 года назад
Регистр в 1 бит - простейшая ячейка памяти
Разбираем устройство JK-триггера, его отличия от RS-триггера и собираем на макетной плате
Просмотров 7 тыс.4 года назад
Разбираем устройство JK-триггера, его отличия от RS-триггера и собираем на макетной плате
D-триггер с динамическим управлением
Просмотров 6 тыс.4 года назад
D-триггер с динамическим управлением
D-триггер: устраняем состояние гонки в RS-триггере
Просмотров 4,6 тыс.4 года назад
D-триггер: устраняем состояние гонки в RS-триггере
Синхронный (тактируемый) RS-триггер - добавляем разрешение на запись данных в RS-триггер
Просмотров 4,5 тыс.4 года назад
Синхронный (тактируемый) RS-триггер - добавляем разрешение на запись данных в RS-триггер
Генератор периодических импульсов на основе таймера 555
Просмотров 11 тыс.4 года назад
Генератор периодических импульсов на основе таймера 555
Стягивающие и подтягивающие резисторы: используем кнопки для подачи значений на логические вентили
Просмотров 7 тыс.4 года назад
Стягивающие и подтягивающие резисторы: используем кнопки для подачи значений на логические вентили
Жаль что канал заброшен
не хватает примера по расчёту сопротивления резистора для светодиода
Этому человеку надо памятник поставить при жизни ,Молодец Как раз у меня на машине диодные фонари подают пять вольт которые мне не нужны,Как раз эти диоды куплю и поставлю
Хорош, как же долго искал ,понятное обьяснение
Скажите как на 220 сделать, что бы ток шёл в одну сторону?
А можно ли соборать такой счетчик просто на последовательных Т триггерах?
Огромоое спасибо
Разгон процессора с помощью потенциометра 😂
Есть же гениальные люди которые такое придумать могут
Здравствуйте. Резистор ставят только после светодиода или можно и до него?
а что за регистры?
Оооочень зрелищно показан конфликт данных на входе и выходе шины при отсутствии плавающего сигнала в режиме изоляции
Почему нельзя использовать два диода и на их выходе не соединить их? Это же помоему более легкий вариант(если увас есть диоды)?
почему для выхода Сout не нужен резистор? не понимаю откуда там берется сопротивление
Пиздец. Это шедеврально. Прям чудо какое-то
Парень, ты офигенно крут! Пусть это даже не 8080, но сдесь весь фундамент IT, с самого нуля и до работаюшего макета. Мои аплодисменты!
NPN проводят ток от эмиттера к коллектору
Здравствуйте, спасибо Вам большое за всё! Я очень люблю ваши видеоролики. Я очень надеюсь что у Вас сейчас всё хорошо. Вы мне очень сильно помогли, я всегда хотел понять как работает компьютер, пускай и в примитивном виде. Я верю что у Вас ещё будут видеоролики (3 года назад вышел этот ролик, как время быстро летит!), я по Вам соскучусь рано или поздно (уже). Не знаю что ещё написать, уж больно Вы крутой) Желаю вам всего хорошего (и много здоровья) Напишу ещё здесь комментарий через пару годков)
Очень полезный курс. Хотелось бы узнать, где работает автор, чтобы всё это применить
ВСЕ современные процессоры наследие релейной автоматики. Пример релейная АТС ка. Ничего прорывного и выдающегося до сих пор не придумали. Лишь уменьшили в размерах и увеличили тактовую частоту. Муравей - пример совершенной организации логических вычислений, разумной кинематики и сенсоров для анализа внешних воздействий. Нужно двигаться в этом направлении. Сейчас же идем по кремниевому пути развития интелекта. В будущем человеку не будет места - это очевидно и невероятно! 😊
А где второй выход в таблице?
Клево все обяснил да еще показал спасибо!
Спасибо огромное
Почему забросил канал? Благодарны тебе за твой труд.
Это называется "срабатывание по уровню" или "по переднему фронту"(есть и по заднему фронту)
На самом деле все сильно проще и можно обойтись вообще без таблиц истинности. Первое что нужно понять - зачем это вообще нужно. Ответ - чтобы вычислять сумму многоразрядных чисел с помощью поразрядного сложения, так же как и в школе. Пусть 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 сигнализирует об ошибке - арифметическое переполнение, вылезли за границу разрядной сетки.
я совершенный 0 в точных науках (как собственно и в естественных и технических, да), неизвестно как я сюда попала, но в этом видео идеально все: качество, звук, способ подачи информации, а особенно - наглядность, спасибо 🥹❤
Классный канал! Жаль перестали выходить новые видео. Автор очень классно все объясняет, с живыми примерами и чертежами с листочком. Чувствую себя как на лабе в универе 😁
🎉🎉🎉
Спасибо за информацию
один я не понял куда подключать первый Cin? я так понял подтягивать на ноль?
Первый собирай полусуматор, и не будет у тебя C in на нем, ещё и блоков меньше использовать будешь
@@АндрейЛаврёнов-к8ш Спасибо товарищ! Но я давно на него уже 0 подтащил. Полусуматор тут нельзя там в следующем видео на него нужно будет флаг вычитания подавать.
Добрый день! Спасибо за контент. Можно заменить микросхему SN7489 на К155РУ2?
Здравствуйте са схемой было бы понятней благодарю
Почему разработчики этой ram так убого располагают входы и выходы? Может есть в этом какой-то сакральный смысл ¿
спасибо большое вам
ЁБАННЫЙ ЮТУБ Я ПОСМОТРЕТЬ ХОЧУ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?!?!?!?!?!?!?!?!?!?!?!?!?!!!!!!!!!!!!!?????????????????????????????!??????????????????????!?!?!?!?!?!?!?!?!??!?!?!?!?!?!?!?!?!??!!
Это про ютуб! Не надо банить
Круто очень объясняешь и без воды. Ты в России живёшь?
Этот чувак реально разжевывает все, что Таненбаум в своей книге не разжевал
Титанический труд. Большое спасибо
Вот такие люди как автор должны преподавать,вам огромная благодарность за очень простую и наглядную подачу материалов, процветания и успехов автору и каналу
Где можно посмотреть элемент XOR реализованный на транзисторах и диодах? ( на уровне протикания тока хотелось бы это расмотреть)
Нпн и пнп тразисоры, это транзисторы с разной полярностью, а не закрытый и открытый...
Приветствую . Скажи пожалуйста на какую максимальную частоту можно настроить 555 микросхему возможно ли до 1 МГц сделать генератор импульсов?
Огромное спасибо за Ваш труд! Всё очень детально, наглядно, понятно👏❤
Здравствуйте, я не понял, не мог бы кто обьяснить байт в дясятичной системе это число от 0 до 255 но на видео говорят что на вход в in мы записываем либо 1 либо 0 получается так что мы можем только записать в 8 регистров число либо 255 либо 0 - почему так - или в чем ошибка в моих суждениях ?
Потому что вход in это только 1 бит из 8, что находятся в 1 байте. Число от 0 до 255 мы можем записать в 8 входов in (от 0 до 7)
Какой потребляемый ток у всей конструкции?
8:27 Я не понимаю почему при нажатой кнопке в этом случае подаётся 0 на вход? Два параллельно соединенных элемента кнопка и нагрузка наша, напряжение на них одинаковое? Кто-то говорит про то что ток будет идти почти только кнопке, но все равно путаница полнейшая
Я вот тоже этого понять не могу
Я тебе объясню. В первом случае когда переключатель разомкнут в этом месте самое большое сопротивление, всё оно падает там, а когда его замыкают в этом же месте теперь падение напряжения 0, а там дальше для параллельно Соединённых участка и один из них резистор который дальше идёт сразу до земли, следовательно на нем падает всё напряжение и по правилу тоже самое напряжение падает и на второй линии
Во втором случае немного интереснее мне кажется. Нужно понимать что там где продолжение провода (то место где провод оборван и там три точки) это место с большим сопротивлением. Когда переключатель разомкнут ничего интересного не происходит, просто очень большое сопротивление параллельно соединено с другим сопротивлением а когда такое происходит это ни как не влияет на общее сопротивление и следовательно на напряжение которое там падает. Когда переключатель замкнули происходит следующее: Большое сопротивление и очень очень маленькое соединены параллельно. А что это значит? Какое бы большое второе сопротивление не было, если оно параллельно соединимости с очень маленьким общее сопротивление будет тоже очень маленьким (общее сопротивление будет даже меньше чем соединённый переключатель в отдельности.
А теперь посмотри на резистор который справа, у него сопротивление будет намного больше чем у общего сопротивления переключателя до земли и провода с тремя точками а это значит что все напряжение батарейки упадёт на этом самом резисторе и схеме, какое бы у неё сопротивление было, почти ничего не останется, на ней упадёт максимум 0,001 вольт (в зависимости от качества переключателя)
8:00 Почему будет подаваться 5 вольт, если на резисторе упадёт напряжение какое-то, или у схемы большое сопротивление? Тогда там будет почти 5 вольт но не будет ток идти из-за этого, тут мне непонятно: главное чтобы был ток или напряжение?
Напряжение. Ток нужен для потребителей. А тут только логическое значение передать нужно. Резистор напрямую просаживает только ток. Напряжение меняется только про нескольких параллельных резисторах. Там в зависимости от номинала каждого резистора происходит деление напряжение
Да, прошло столько времени, успел разобраться с КМОП логикой. Но спасибо за ответ
Если в схеме есть не используемые 2И-НЕ и нужен RS триггер - можно ли собрать этот триггер на элементах что бы дополнительную микросхему не ставить или так лучше не делать?
Умничка! Спасибо за пояснение и практический пример. 👍🙏