Morgen, eine kleine Frage: werden in einem Dual Port RAM die einzelnen Bits gespeichert bzw. kann ich auch nur einzelne Bits aus einem Byte aus dem Dual Port RAM ansprechen und auslesen? Oder funktioniert jeder Dual Port RAM byteweise? Mike
Das kommt darauf an, wie das RAM organisiert ist. Das ist wie bei jedem normaln RAM auch. z.B. 64k x 1 würde bedeuten einzelne Bits 64k x 8 nur Byte weiser Zugriff
hab ich noch nciht ganz verstanden... ich hab z.B. einen Dual Port RAM der mir 16x 8k Worte speichern soll. D.h. in diesem Fall würde der Auslesevorgang nur Byteweise gehen - wie bekomm ich in dieser Größenordnung einen Bitweisen Zugriff? Mike
Entweder Bits in ein Register des Mikrocontrollers kopieren und dort die gewünschten Bits maskieren (über Und-Verknüpfung), oder, falls kein Controller gewünscht, einen Multiplexer nachschalten (8 zu 1). Die Adressleitungen des Multiplexers werden als niederwertigste Adreßleitungen zum RAM hinzugefügt.
Wenn das ein 8k x 16 ist dann kannst du nur Wordweise also 16 bittig drauf zugreifen. Also Byteweise ist auch falsch. Ansonsten das übliche Spiel -> DATENBLATT
dann hatte ich bis jetzt noch einen gedanklichen Fehler bezüglich des Auslesens. Bei einem Dual Port RAM kann ich ja von beiden Seiten her, diesen mit Daten befüllen genauso wie auch auslesen. Aber ich muss doch auch die Möglichkeit haben, weniger daten auszulesen, als drinnen stehen? Bzw. auch Daten reinschreiben können - aber nicht den kompletten RAM dabei beschreiben müssen???? Eine Funktion die mir der Dual Port RAM leistet, ist dass ich mit 16x 4k Daten ankomme, diese in einem 8k 16x speichere. Auf Knopfdruck schiebe ich diese Daten (quasi) in den vorderen Teil des RAMs, wo sie von der anderen Seite ausgelesen werden (in anderer Reihenfolge) --> ich brauch auf jeden Fall einen Byte-Zugriff auf die Daten. Gleichzeitig schiebe von der anderen Seite die nächsten 16 4k Daten in den RAM hinein. d.h.
Mike wrote: > Eine Funktion die mir der Dual Port RAM leistet, ist dass ich mit 16x 4k > Daten ankomme, diese in einem 8k 16x speichere. Auf Knopfdruck schiebe > ich diese Daten (quasi) in den vorderen Teil des RAMs, wo sie von der > anderen Seite ausgelesen werden (in anderer Reihenfolge) --> ich brauch > auf jeden Fall einen Byte-Zugriff auf die Daten. > > Gleichzeitig schiebe von der anderen Seite die nächsten 16 4k Daten in > den RAM hinein. Das ist absolut völlig verquirlter Mumpitz. Stell Dir nen RAM als ein Buch vor, die Adressen sind die Seitennummern. Und nun kannst Du einen beliebige Seite aufschlagen, dort was reinschreiben oder auslesen. Du kannst aber auch Seiten nie aufschlagen oder nie lesen oder mehrmals die gleiche Seite lesen oder mehrmals was ausradieren und neu schreiben ohne es vorher gelesen zu haben. RAM (Random Access Memory) bedeutet also völlig zufälliger Zugriff möglich. Und ein Dual Port RAM ist ein spezieller RAM mit 2 getrennten Bussen, d.h. es sind 2 unabhängige Zugriffe zur gleichen Zeit möglich. Einen Dual Port RAM braucht man nur in sehr wenigen Spezialfällen, wo eine so extrem hohe Geschwindigkeit benötigt wird, daß die Zugriffe nicht nacheinander gemacht werden können. Z.B. früher wurden Dual Port RAMs in Grafikkarten eingesetzt, aber heutzutage sind die RAMs schnell genug bzw. es wird einfach die Busbreite erhöht. Daher sind Dual Port RAMs heutzutage Exoten und entsprechend teurer. Peter
>RAM (Random Access Memory) bedeutet also völlig zufälliger Zugriff >möglich. Zufälliger Zugriff ist aber meistens eher unerwünscht, besser sollte man wahlfreier, direkter oder willkürlicher Zugriff sagen. stefan@AMD64X2 ~ $ ding random ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.