Я занимаюсь разработкой простого 8-битного процессора из базовых логических компонентов. У меня есть достаточно хорошее представление о том, как будут взаимодействовать мои ALU и регистры, но я могу почувствовать, что некоторые улучшения могут помочь, как переключаться, когда линии разрешено подключаться к основной шине данных.
Моей первоначальной мыслью было использовать и ворота для вождения автобуса. Выходные данные из различных линий в ALU могут все входить в набор четырех И-чипов, которые выводятся на шину. Только для одного набора логических элементов И одновременно все входы B должны быть подняты высоко, чтобы выпустить его на шину.
Несколько вещей, в которых я не уверен: кажется бесполезным использовать восемь полных вентилей AND на линию, когда мне нужна только одна линия управления. Есть ли лучший чип, более подходящий для этой цели? Я уверен, что я мог бы сделать это с восемью транзисторами, но я хотел бы придерживаться довольно распространенных (и дешевых) ИС.
Такое решение позволяет передавать данные только в одну сторону с шины. Это проблема? Я думаю, что нет, так как у меня есть другие линии управления, которые не позволяют регистрам загружать данные шины, пока я этого не хочу.
Есть ли стандартная микросхема, которую можно использовать для таких ворот?
источник
(1) Логические элементы И по своей сути непригодны для использования в качестве прозрачных шинных буферов, потому что, если они имеют полностью активные драйверы вывода, они взаимодействуют, и если «открытый коллектор», логика инвертируется.
Вы можете использовать 2-входные ИЛИ вентили с открытым коллектором в качестве однолинейных драйверов для общей шины.
Если вы подаете «data» и «not_enable» в вентиль OR, выходной сигнал будет высоким, если not_enable высок, и будет следовать данным, если not_enable низок.
Когда выходной сигнал с открытым коллектором высокий, он никак не загружает шину. Когда он низкий, он загружает шину с включенным низким выходом. Таким образом, несколько ворот с открытым коллектором O могут совместно использовать шину, и только включенные (обычно по одному) могут управлять шиной. Вам нужно одно подтягивание, чтобы поднять шину высоко, и любое количество ворот, чтобы поднять ее.
(2) EDUC-8 был / является 8-битным микрокомпьютером на базе TTL, представленным как многомесячный проект в журнале Electronics Australia с августа 1974 года по август 1975 года. Даже если вы не хотите копировать его, вы можете многому научиться, посмотрев, как он был реализован. Есть разные энтузиасты, которые создали копии в последние годы.
Очень обширная документация о путешествии EDUC-8 для одного пользователя ... То же самое ... Включает в себя подробности его изготовления печатных плат для переноса тонера из нескольких печатных плат и многое другое.
Википедия EDUC-8
Страница ссылок
Некоторая документация
Изображение печатной платы
источник