Moin wie wird ein Dual Port RAM über die Adressleitungen addressiert? 4k 16x z.B.? kann man die 4k Daten nur komplett aus einem Dual Port RAM auslesen oder ist es auch möglich nur 2k Daten davon auszulesen? Wieviele speicheradressen nehmen 4k Daten in dem Dual Port RAM ein? Ist das von Hersteller zu Hersteller unterschiedlich? Würd gern einen Cypress nehmen, aber ich möchte auch gern dass ich bei 4k Daten auch nur ganz bestimmte Daten davon auslesen kann und nicht immer alle auslesen muss. Verena
Sag mal... Wie viele Threads wollt Ihr denn jetzt noch mit dem Thema "4k x 16Bit Dual Port RAM" eröffnen??? Guckt doch mal selbst hier im Forum nach! Deine Klassen-/Studienkollegen haben hier schon einige Threads zum selben Thema / zur selben Aufgabe eröffnet. Gruß, Magnetus
"Dual Port RAM auslesen": Beitrag "Dual Port RAM auslesen" "Adressleitung Datenleitung" Beitrag "Adressleitung Datenleitung"
das stimmt... nur leider kann ich mit den Antworten nichts anfangen... und im www finde ich auch nichts passendes dazu (weil immer nur das grundprinzip von so einem dual port ram beschrieben wird, aber nicht die einzelheiten betrachtet werden) - in meinem fall, wie groß z.B. eine Speicheradresse im RAM ist - 1Byte, 2Byte, 4Byte etc. bzw. wie variable ich mir die daten wieder rauslesen kann, wenn ich 4k Daten reinschreibe... und den anderen hier wirds genauso gehen... Verena
das mit dem 8k 16x versehe ich aus dem ersten link auch nicht... reinschreiben kann man 16mal 8k Daten und rauslesen soll nur 16Bit also 2Byte gehen? Wie rechnet man das aus bzw. wo steht das?
Hallo, ob Dual-Portet oder ein x-beliebiger Ram: angegeben wird die Anzahl Speicheradressen (hier eben 8k -> 8192 und die "Breite" der Speicehrplätze in Bit, hier also 16. Es ist also ein 16Bit-organisierter Ram, Du hast 16 Datenleitungen, die immer zugleich gelesen oder geschrieben werden können. Stell Dir Speicher als Tabelle vor, 16 Spalten die Datenbits und 8192 Zeilen die Adressen. Jede Zeile wird im Stück gelesen oder geschrieben. Gruß aus Berlin Michael
vielen dank für die erklärung, jetzt wird`s mir klar wie es funktioniert... hatte zeile und spalte immer vertauscht und daher die erklärung von Obelix im anderen thread nicht verstanden. vielen dank verena
Verena wrote: > hatte zeile und spalte immer vertauscht und daher die > erklärung von Obelix im anderen thread nicht verstanden. Wäre ja auch etwas heftig... 16 Adressen zu je 8192Bit... das IC-Gehäuse möchte ich ja mal sehen ;) Gruß, Magnetus
noch eine Frage (ich hoff ihr verzeiht mir)... was passiert eigentlich wenn ich einen xyk x8 Dual Port RAM habe, also sozusagen Byteweise auslese, und ich ein Latch nach dem Dual Port Ram installiere (bei allen Datenleitungen, über die ich den Ram auslese)? z.B. bei 8 Datenleitungen macht das ja ein Latch vom Typ In einem Latch kann ja nur ein Bit zwischengespeichert werden und durch einen Impuls rausgeschickt werden. Was passiert mit den letzten 7bits? Ich weiß, bestimmt eine dumme frage, aber ich kanns mir grad nicht vorstellen bzw. erklären. Verena
Verena wrote:
> noch eine Frage (ich hoff ihr verzeiht mir)...
Das Problem ist nicht, daß keiner antworten will, sondern daß keiner
versteht, wozu ihr überhaupt einen Dual Port RAM benötigt.
Ihr müßt schon mal erzählen, was das Ganze überhaupt werden soll.
Peter
Hallo, wenn Du 8 Datenleitungen hast, brauchst Du ein 8Bit-Latch, wenn Du 16 hast, eben ein 16Bit-Latch... Wenn Du "Latch" jetzt als Begriff für die Funktion bei einem Bit interpretierst, dann sind es eben 8 Latch mit zusammengeschalteten Strobe (oder wie auch immer) Eingang. Es müssen logischerweise alle vorhandenen Datenleitungen gleichzeitig gespeichert oder ausgegeben werden können. Gruß aus Berlin Michael
Hallo Michael, insgesamt kommen aus dem Dual Port RAM 8Byte raus auf 8 Datenleitungen. wenn ich jetzt auf jeder Datenleitung ein Latch nach dem RAM schaltet - kann ja nur ein Bit aufnehmen - was passiert mit den anderen 7Bits? Also ein 8Bit Latch für alle 8 Datenleitungen - nicht für jede Datenleitung ein 8Bit Latch. @Peter wir planen kein Projekt etc. sondern das ist nur das Kennenlernen der einzelnen Bauteile - nur ist die Zeit im Unterricht immer sehr eng bemessen und viele sachen werden nicht angesprochen. Der Dual Port RAM kam z.B. sehr kurz nur dran. Gruß Verena
Ich glaube, ihr solltet erst mal den Unterschied zwischen Bit und Byte lernen, bevor ihr mit dem RAM weitermacht. 1 Bit = kleinste Informationseinheit ( 1 oder 0 ) 1 Byte = 8 Bit 8 Datenleitungen = 8 Bit
das is mir klar - aber aus dem Dual Port RAM werden ja immer 8Bit = 1Byte rausgeschoben und nicht die einzlenen bits.
ok mein verständnisproblem liegt nicht im unterschied zwischen Bit und Byte, sondern inwieweit die Daten vom DualPort RAM ausgelesen werden. bei einem 8k x8 Dual Port RAM kann ich ja nur immer die 8Bit also 1Byte auslesen über die Datenleitung. Der RAM besitzt 8 Datenleitungen. Über die Adressleitungen sag ich dem RAM er soll die ersten 8 Adressen auslesen -> er liest 8 Adressen a 1Byte aus. Nach meiner Wissenstand werden somit über jede Datenleitung 8Bit also 1Byte übertragen und trifft nun auf einen Eingang vom Latch, welches nur ein bit zwischenspeichern kann. - meine frage, was passiert mit den restlichen 7Bit? Verena PS: ich hoffe, etwas verständlicher erklärt bzw. formuliert
> insgesamt kommen aus dem Dual Port RAM 8Byte raus auf 8 Datenleitungen. > wenn ich jetzt auf jeder Datenleitung ein Latch nach dem RAM schaltet - > kann ja nur ein Bit aufnehmen - was passiert mit den anderen 7Bits? Also > ein 8Bit Latch für alle 8 Datenleitungen - nicht für jede Datenleitung > ein 8Bit Latch. Dafür wirfst du hier aber sehr viel durcheinander. ;)
Hallo, >insgesamt kommen aus dem Dual Port RAM 8Byte raus auf 8 Datenleitungen. >wenn ich jetzt auf jeder Datenleitung ein Latch nach dem RAM schaltet - >kann ja nur ein Bit aufnehmen - was passiert mit den anderen 7Bits? Also >ein 8Bit Latch für alle 8 Datenleitungen - nicht für jede Datenleitung >ein 8Bit Latch. ??? Auf einer Datenleitung kann ja wohl auch nur ein Bit sein, welche 7 anderen Bits also? Die auf den anderen 7 Datenleitungen? Die hängen ja an den anderen 7 Latch-Eingängen des 8Bit-Latch... Es wäre mir auch sehr rätselhaft, wie oder besser weshalb Du ein 8Bit-Latch, also 8 Latcheingänge an eine einzelne Datenleitung hängen solltest... Sch Dir mal das Logiksymbao eines 8Bit-Latches an, 74HCT373 zum Beispiel. Außerdem: Dual-Port Ram ist nur für sehr spezielle Anwendungen nötig, eine Erwähnung, daß es das gibt und der Hinweis, was das Besondere daran ist, reicht da auch völlig aus. Weiter: wie kommt eigentlich diese Dual-Port-Ram - Latch Geschichte zu Stande? Es gibt nur recht wenige Gründe, überhaupt ein Latch hinter ein Ram zu hängen. Normalerweise macht man die Steuerung der Ram-Zugriffe so, daß die Daten auch genau dann ausgegeben werden, wenn man sie braucht. Wenn mit Latch, dann stehen die Randbedingungen sowieso fest, sonst würde man es ja nicht einbauen. Gruß aus Berlin Michael
hallo Michael, das mit dem DualPort RAM ist nur weil ich nicht weiß wie die Daten dort ausgelesen werden. Ich weiß jetzt, dass sie bei einem 8k x8 byteweise ausgelesen werden müssen, weil eine Adresse auf 1Byte zeigt, und diese müssen natürlich hintereinander über eine Datenleitung gebracht werden. oder nicht? Wie werden die Daten sonst ausgelesen von einem Dual Port RAM? Verena
eins dieser Bits kann in einem Latch aufgenommen werden, die anderen 7Bit stehen zwischen RAM und Latch?? Das ist mein Problem; ich wieß nicht wie das vorsich geht...
Eben nicht. Du liest byteweise (Also je 8Bit) aus. Und du hast acht Datenleitungen. Hier hast du also die ganze Speicherstelle gleichzeitig auf deinen Datenleitungen. Hintereinander ist da nix. EDIT: Dass es auch wirklich ein DualPort-RAM ist, brauchst du übrigens nicht jedesmal zu schreiben, dein Verständnisproblem ist auch bei normalen RAMs das Selbe. Bei DualPort-RAMs kannst du einfach mit zwei Interfaces gleichzeitig darauf zugreifen. Sonst ist da nix anders.
Verena wrote: > das is mir klar - aber aus dem Dual Port RAM werden ja immer 8Bit = > 1Byte rausgeschoben und nicht die einzlenen bits. Ich habs schonmal gesagt, da wird nichts geschoben, RAM ist doch kein Schieberegister ! Ein Dual Port RAM ist nichts weiter als ein stinknormaler RAM mit 2 Bussen. Und solange ihr den stinknormalen RAM nicht versteht, hats überhaupt keinen Zweck ne Spezialversion anzusehen. Dual Port RAMs sind was gestriges, wo CPUs noch nicht leistungsfähig waren und RAMs noch schnarchlahm und FPGAs zum Ansteuern noch teuer. Haben heutzutage keinen praktischen Wert mehr. Man, was ich für Chips rumliegen habe, die schon wieder längst ausgestorben sind (z.B. T800 Transputer inklusive Occam auf 5,25 Zoll Disketten). Peter
ah ok - ich lese eine Adresse im Speicher aus und schicke die über die 8 Datenleitungen.... macht sinn, dann versteh ich es jetzt. aber ich lese nicht 8 Adressen gleichzeitig aus... das war mein denkfehler... danke Philipp
> 1 Byte = 8 Bit
Das stimmt allgemein so nicht. 1 Byte ist die kleinste einzeln
adressierbare Einheit. Sie ist allerdings bei der überwiegenden Mehrzahl
der Systeme heute 8 Bit groß. Als das Wort "Byte" erfunden wurde, waren
8 Bits dafür aber noch vollkommen unüblich (die ersten Bytes, die das
Licht der Welt erblickten, waren 5 oder 6 Bit groß).
Gut, dann sagen wir speziell für dich 8 Bit = 1 Oktett. Und in diesem Fall ( nk x 8) ist ein Oktett dann auch gleich ein Byte). Besser?
noch zur späten std eine kleine frage: wieso besitzt ein Dual Port RAM nur 8 Datenleitungen aber 15 Adressleitungen? mit den 8 Datenleitungen kann ich 8bits von einer Adresse übertragen. Aber dafür brauch ich ja nur eine Adressleitung (in der ich die Adresse angebe, von der ich den Dateninhalt haben möchte)? Oder muss ich für jedes Bit der 8Bits eine Adressleitung spendieren - sprich dass ich sagen muss 1Bit über Datenleitung 1, 2Bit über Datenleitung 5, 3Bit über Datenleitung2 etc.? Verena PS: vielen dank schon für die infos (hab heute schon einiges dazugelernt)
Ich bin mal so frei, und schmeiße eine kleine Erklärung in die Diskussion... @Verena: Ich glaube Du zäumst den RAM gedanklich falsch auf: Versuche mal, es Dir so vorzustellen: Ein RAM besitzt Adressenleitungen (!)- diese dienen dazu, daß man sagen kann "diese Position im Speicher meine ich". Da wir ja binär arbeiten (jede Leitung nur 1 oder 0), können wir mit n Leitungen 2^n Positionen im Speicher adressieren. Laß das erstmal in Ruhe sacken: Wir sagen erstmal, WO wir vorhaben zu lesen/zu schreiben. Je nachdem ob wir dem RAM mit einer Leitung nun "mitteilen", daß wir schreibend oder lesen zugreifen passiert folgendes: Wollen wir lesen, wird der Speicherinhalt an dieser Position auf die Datenleitungen (!) gelegt: Bei einem ...*16 RAM sind das dann eben 16 Bit. Wollen wir schreiben, so werden an die Speicherposition die Bits geschrieben, die auf den Datenleitungen (!) anliegen. (Die jeweiligen Bits auf den Datenleitungen werden in der Gesamtheit auch als "Datum" oder "Wort" bezeichnet). So... daß war jetzt ein Speicherinterface... ein Dual-Port-RAM hat zwei davon. (Punkt, Aus, Ende) gar nicht so schwer, oder !?
>noch zur späten std eine kleine frage: wieso besitzt ein Dual Port RAM >nur 8 Datenleitungen aber 15 Adressleitungen? Hat das RAM 15 Adressleitungen, kannst du damit 65536 Bytes speichern (2^15). Es gibt auch RAMs mit 8 Adressleitungen, dann kannst du eben nur 256 (2^8) Bytes speichern, etc... >Autor: Verena (Gast) ... >danke Philipp ??? Wärst du gerne ein Mädchen oder anders rum ?!
@Baby: Aus der Anzahl der Datenleitungen folgt die Anzahl der Adressen. Erst in Kombination mit der Wortbreite ergibt sich die Kapazität !!!
Ihr macht es den Erklärern aber nicht einfach. mit 15 Adressleitungen kannst du 1Byte von 2 hoch 15 Bytes auswählen. Du möchtest also das Byte an der Speicherstelle Nr 1654 auf die 8 Datenleitungen legen (auslesen) also legtst du die Adresse 1654 binärkodiert an die 15 Adressleitungen, und du erhältst die 8 Bit dieser Speicherstelle an den 8 Datenleitungen deines 8Bit Datenbusses. PS. Tut mir und den anderen Mitleser einen gefallen. HÖRT AUF VON DIESEM SCH... DUAL-PORT-RAM ZU SCHREIBEN. Dies tut nähmlich überhaupt nix zur Sache. Es sollte für euch erstmal um einen ganz normales RAM gehen mit einem Datenbuss (8Bit), einem Adressbus (z.B. 15Bit (das währe dann aber ein 32k x 8 RAM, da 2 hoch 15 = 32768 = 32k)) und ein Controlbus.
Huch... Aus der Anzahl der ADRESSleitungen folgt die Anzahl der Adressen. (natürlich) ...schon spät...
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.