Forum: Mikrocontroller und Digitale Elektronik A0 und Adressleitungen


von Bratze (Gast)


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.

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

Big-Endian? (oh, wie Motorola dafür hasse...)

von A.K. (Gast)


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.

von Bratze (Gast)


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...

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

>Jetzt habe ich gelesen dass A0 nicht verbunden werden muss.

Wo?

von A.K. (Gast)


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.

von Bratze (Gast)


Lesenswert?

> Ein Speicher mit 8
> KBytes und 16 Bits Breite hat 12 Adress- und 16 Datenleitungen.

Wie kommst du auf die 12 ?

von Tim (Gast)


Lesenswert?

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

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

8KB = 8192 Bytes

1Word = 16 Bit = 2 Bytes => 4096 Words
4096 = 2^12 (A0..A11)

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

Wenn der Datenspeicher 16Bit breite Daten unterstützt...

von Bratze (Gast)


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 ?

von sepp (Gast)


Lesenswert?

>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 ?

Ja

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.