www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Dual Port RAM auslesen


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.