Forum: Mikrocontroller und Digitale Elektronik Adressbereiche ROM und RAM


von P. S. (Gast)


Lesenswert?

Hallo,

ich habe eine kleine Frage zur Adressierung des ROM und RAMs z. B. bei 
8051-Derivaten. Müssen ROM und RAM zwingend unterschiedliche Adresse 
haben oder kann ich auch gleiche Adressen vergeben und die 
Unterscheidung durch Steuerbussignale regeln?

Besten Dank.

von (prx) A. K. (prx)


Lesenswert?

Hängt davon ab, ob der Prozessor mit getrennten Adressbereichen für Code 
und Daten arbeitet (8051) oder mit einem einzigen Adressbereich.

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Bei ARM Cortex M liegt alles in einem einzigen Addressraum.

Bei 8051 gibt es getrennte Addressräume, d.h. im Code liegen andere 
Daten bei 0x0000 als im DATA oder XDATA.

von P. S. (Gast)


Lesenswert?

Mit einem 8051 kann ich ja sowohl eine Harvard-Architektur, als auch 
eine Von-Neumann-Architektur, richtig? (Quelle: Mikrocomputertechnik mit 
der 8051-Controller-Familie)

Das bedeutet, dass sich bei der Neumann-Architektur (Realisierbar über 
Verknüpfung PSEN und RD über ein AND-Gatter) keine Adresse doppelt 
vorkommen darf.
Andernfalls habe ich eine Harvard-Architektur. Dort können Adresse 
doppelt vorkommen. Ich muss allerdings durch Steuerbussignale 
sicherstellen, dass die entsprechende Adresse immer an dem richtigen 
Speichertyp ankommt.

Habe ich das richtig verstanden, oder bringe ich hier was durcheinander?

Vielen Dank

von Route_66 H. (route_66)


Lesenswert?

P. S. schrieb:
> Habe ich das richtig verstanden, oder bringe ich hier was durcheinander?

Richtig.
Wenn Du beim 8051 durch die Logikverknüpfung eine 
von-Neumann-Architektur aufbaust, kannst Du auch Programme im RAM 
ausführen.

von Jim M. (turboj)


Lesenswert?

Route 66 schrieb:
> Wenn Du beim 8051 durch die Logikverknüpfung eine
> von-Neumann-Architektur aufbaust, kannst Du auch Programme im RAM
> ausführen.

Die 8051 sind nur dann von-Neumann Architektur, wenn man die 
integrierten DATA und IDATA Speicherbereiche nicht beachtet. Die sind 
aber immer vorhanden.

von Route_66 (Gast)


Lesenswert?

@turboj
Erzähl mir nichts vom 8051. Da kenne ich seit über 20 Jahren jedes Bit 
persönlich!

von Route_66 (Gast)


Lesenswert?

Route_66 schrieb:
> @turboj
> Erzähl mir nichts vom 8051. Da kenne ich seit über 20 Jahren jedes Bit
> persönlich!

Jim Meba schrieb:
> integrierten DATA und IDATA

Die werden ganz anders adressiert und da kann man in der Tat keine 
Programme ablaufen lassen.

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.