A0 und Adressleitungen

Gast #478719
Lesenswert?

Hallo,

Warum lässt man eigentlich manchmal die Adressleitung A0 weg, wenn man 
einen Speicherbaustein (16-Bit Zugriffe auf Register) auslesen will?
Es stehen z.B. A0 bis A10 zur Verfügung, aber es werden nur A1 bis A10 
benutzt.
Wenn ich 16 Bit Register adressiere, brauche ich da nicht auch 16 Pins 
also hier A0 bis A15 ?
Da liegt grade ein Verständnisproblem bei mir.
Gast #478723
Lesenswert?

Und bei 128bit breitem Speicher (PC) also 128 Adresspins?

Nö, du bringst Adressen und Daten durcheinander. Ein Speicher mit 8 
KBytes und 16 Bits Breite hat 12 Adress- und 16 Datenleitungen.

Ansonsten: was meinst du mit "weglassen von A0"? Bei 16 Bit breitem 
Zugriff auf 16 Bit breites Register wird A0 nicht weggelassen, sondern 
hat den Wert 0.
Gast #478728
Lesenswert?

Ich will z.B. Das Register R mit einem 16Bit Wort beschreiben
R-Adresse: 0x07FC
Dataword: 0xFFAA

Ich habe Adressleitungen am Speicherbaustein: A0 .... A10
Und Datenleitungen D0...D15

Jetzt war mein Gedanke:
0x07FC = 11111111100 also 11Bit lang (passt also mit A0..A10)

Jetzt habe ich gelesen dass A0 nicht verbunden werden muss.
Kann ich mir nicht erklären...
Gast #478733
Lesenswert?

A0 adressiert das Byte innerhalb des Wortes. Der Speicherbaustein kennt 
aber keine Bytes, nur Worte, adressiert also nur Worte. Folglich ist das 
A0 von dessen Wortadresse das A1 der Byteadresse, und die Byteadresse 
0x200 wird zur Wortadresse 0x100.
Gast #478747
Lesenswert?

> Wenn man  nur 16 bit Worte schreiben will kann man A0 schon weglassen,
> man schreibt dann nur an gerade Adressen z.B.
Letzt leuchtet es endlich...

Weil sich eben die letzte Stelle nie ändert (Null bleibt) spart man A0.
Bei 32-Bit Zugriff kann man also 2 Leitungen weglassen; A0+A1 ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren