Je joue avec la conception d'un simple processeur 8 bits à partir de composants logiques de base. J'ai une assez bonne idée de la façon dont mon ALU et mes registres vont interagir, mais la seule chose que je pense pouvoir utiliser est de savoir comment basculer lorsqu'une ligne est autorisée à se connecter au bus de données principal.
Ma pensée initiale était d'utiliser et des portes pour conduire le bus. La sortie des différentes lignes de l'ALU pourrait toutes aller dans un ensemble de puces quad-ET qui sortent sur le bus. Un seul ensemble de portes ET à la fois aurait toutes ses entrées B élevées pour le laisser sortir sur le bus.
Deux choses dont je ne suis pas sûr: il semble inutile d'utiliser huit portes ET complètes par ligne, alors que je n'ai besoin que d'une seule ligne de contrôle. Y a-t-il une meilleure puce plus adaptée à cet usage? Je suis sûr que je pourrais aussi le faire avec huit transistors, mais je voudrais m'en tenir à des circuits intégrés assez courants (et bon marché).
Une telle solution ne permet aux données de circuler que dans un sens à partir du bus. Est-ce un problème? Je ne pense pas, car j'ai d'autres lignes de contrôle qui empêchent les registres de charger les données du bus jusqu'à ce que je le veuille.
Y a-t-il une puce standard à utiliser pour une porte de bus comme celle-ci?
la source
(1) Les portes ET sont intrinsèquement inappropriées pour être utilisées comme tampons de bus transparents car si elles ont des pilotes de sortie pleinement actifs, elles interagissent et si elles sont "à collecteur ouvert", la logique s'inverse.
Vous pouvez utiliser des portes OU à collecteur ouvert à 2 entrées comme pilotes de ligne unique sur un bus commun.
Si vous alimentez "data" et "not_enable" vers une porte OU, la sortie sera élevée si not_enable est élevée et suivra les données si not_enable est faible.
Lorsque la sortie d'une porte à collecteur ouvert est élevée, elle ne charge en aucun cas le bus. Lorsqu'il est faible, il charge le bus avec une sortie basse activée. Ainsi, plusieurs portes O à collecteur ouvert peuvent partager le bus et seules celles activées (généralement une à la fois) peuvent conduire le bus. Vous avez besoin d'un seul pullup pour tirer le bus haut et n'importe quel nombre de portes pour le faire descendre.
(2) EDUC-8 était / est un micro-ordinateur 8 bits basé sur TTL présenté comme un projet de plusieurs mois dans le magazine Electronics Australia d'août 1974 à août 1975. Même si vous ne vouliez pas le copier, vous pourriez apprendre beaucoup en regardant comment il a été mis en œuvre. Il y a plusieurs passionnés qui ont construit des copies ces dernières années.
Documentation très complète du parcours EDUC-8 d'un utilisateur ... Idem ... Comprend des détails sur sa PCB de transfert de toner faisant plusieurs PCB latrgsih et bien plus encore.
Wikipedia EDUC-8
Page de liens
Quelques documents
Image PCB
la source