0

Je suis censé concevoir un système ayantLe bus de données du processeur ne doit-il pas correspondre à l'entrée de données de la mémoire ROM?

  • CPU avec un large ADRESS et un bus BUS large DATA 8 bits 16 bits.

Dans ce système, je dois me une disposition:

  • RAM avec une largeur de données de 4 bits, et une largeur de ADRESS de 12 bits.

et a:

  • ROM avec une largeur de données de 8 bits, et une largeur de 14 bits de ADRESS.

N'est-ce pas un problème que les tailles des bus de données soient différentes lors de la construction du système? Je veux dire, je sais que lorsque vous utilisez le bus d'adresse, vous pouvez choisir les lignes du bus avec lesquelles vous voulez travailler afin de pouvoir cibler un espace mémoire spécifique. Mais lorsque vous utilisez le bus de données, est-ce vraiment la même idée? Si j'ai mappé l'espace mémoire en continu, les programmes qui s'exécutent dans ce système perdent-ils des données de cette façon puisque seulement 4 bits des 8 bits de données sont lus? Cela me tourne vraiment la tête.

+0

Cela signifie simplement que le bélier ne peut transférer que 4 bits par cycle d'horloge de bus, et ROM peut en transférer 8, et vous devriez en tenir compte lors de la conception de votre logique de contrôle ...? Ai-je manqué une question plus profonde? Ou peut-être si vous supposez qu'un mot de données est transféré dans un cycle de bus, alors vous pouvez voir que les mots de données de RAM sont nécessairement la moitié de la taille des mots de données rom, ce qui pourrait causer des problèmes ... – bdares

+0

tag, comme [il est obsolète] (http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated?cb=1) –

+0

bien non ce genre de l'explique, mais alors la question plus profonde est: est-ce que cela signifie que prendre un mot entier dans le registre (si le mot est un octet) prend deux cycles d'horloge pour le bélier, et peut être fait dans un cycle d'horloge pour le rom? Si c'est le cas, c'est plus simple que je ne le pensais, mais comment concevez-vous la logique de contrôle pour gérer cela et faire la distinction entre les deux? – patriques

Répondre

0

Vous utilisez deux pièces RAM côte à côte.

L'un fournit D0-3 et l'autre D4-7. Regardez un module DIMM d'un ordinateur moderne; il y a beaucoup de puces RAM, mais elles sont en parallèle.

Autrefois, les puces DRAM avaient toutes une largeur de 1 bit, donc vous en aviez besoin d'un très grand nombre pour constituer une banque de mémoire. Est-ce que cela vous amène à penser que les puces RAM fonctionnent à la même vitesse?

Problèmes avec la synchronisation de la RAM à des vitesses croissantes conduit à l'invention de SDRAM (RAM synchrone) avec la machine d'état dans la RAM cadencée par la CPU. Sentez-vous simplement chanceux que votre mission ne dispose pas d'une RAM plus comme une DRAM avec l'adressage de ligne et de colonne au lieu d'un bus d'adresse.

Questions connexes