Сборщик шины (Maker)

Входы (Inputs)

ПинТипОписание
Bit0bitБит 0 (младший, вес 1)
Bit1bitБит 1 (вес 2)
Bit2bitБит 2 (вес 4)
Bit3bitБит 3 (вес 8)
Bit4bitБит 4 (вес 16)
Bit5bitБит 5 (вес 32)
Bit6bitБит 6 (вес 64)
Bit7bitБит 7 (старший, вес 128)

Выходы (Outputs)

ПинТипОписание
OUTbus88-битное число

Логика работы

Maker — собиратель: восемь отдельных проводков сворачиваются обратно в жгут. Если Splitter вскрывает байт, то Maker запечатывает его. Именно через него битовая логика возвращается в мир шин: что бы ты ни делал с отдельными битами, чтобы результат снова стал байтом, его нужно собрать.

Главное свойство: выход — это взвешенная сумма входов, OUT = Bit0 + Bit1×2 + Bit2×4 + … + Bit7×128. Подай единицы на Bit0, Bit2, Bit4 и Bit6 — получишь 1 + 4 + 16 + 64 = 85, то есть 01010101. Каждый бит вносит свой вклад по весу, а остальные просто прибавляют ноль.

Нюанс: порядок входов критичен. Входы подписаны весами, и Bit0 — всегда младший бит: перепутаешь его с Bit7 — вместо 85 получишь 170. Вместе со Splitter Maker образует мост: Splitter — байт в биты, Maker — биты в байт, и почти любая побитовая схема проходит через эту пару.

Примеры

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0OUT (bin)OUT (dec)
010101010101010185
1010101010101010170
000011110000111115
1111111111111111255

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

Применение

На уровне 8 Maker замыкает сумматор: биты суммы, посчитанные цепочкой Full Adder, он собирает обратно в шину Sum. В процессоре без него тоже никуда: из кода операции и операнда собирается полный байт команды, из битов — новое значение счётчика команд, а управляющие сигналы декодера упаковываются в шину, чтобы их удобно было смотреть на LED8.

Конкретное правило: после любой побитовой схемы — AND, OR, XOR над отдельными битами, проверки флагов, чтения кнопок — результат возвращается в «байтовый» мир через Maker. Пока сигналы ходят по одиночным проводам, шинные компоненты (ADDER8, BusAND, RAM) их не видят; Maker переводит их на язык шин.

Собери это сам →

Смежные компоненты

Статьи по теме

Частые вопросы

Когда нужен Maker?

Чтобы собрать 8 отдельных однобитных сигналов в одну 8-битную шину.

Чем Maker отличается от Splitter?

Только направлением: Splitter превращает байт в восемь битов, Maker — восемь битов обратно в байт. Весовые позиции у обоих одинаковы: Bit0 — младший, Bit7 — старший.

Что будет, если оставить часть входов неподключёнными?

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