Forum: Mikrocontroller und Digitale Elektronik Dual Port RAM auslesen


von Mike (Gast)


Lesenswert?

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

von Obelix (Gast)


Lesenswert?

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

von Mike (Gast)


Lesenswert?

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

von Sebastian Eckert (Gast)


Lesenswert?

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.

von Obelix (Gast)


Lesenswert?

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

von Mike (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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

von Stefan Salewski (Gast)


Lesenswert?

>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
Noch kein Account? Hier anmelden.