Local Memory bei µC

Gast #1795464
Lesenswert?

Einige Prozessoren haben nur ein Memory und es kommt auf das Programm 
an, an welchen Adressen Programmbefehle und an welchen Adressen Daten 
stehen. Dann gibt es Prozessorregister, Memorybereiche für Stack und bei 
einigen Prozessoren noch gesonderte Bereiche für I/O.

Ich würde mich mal mit etwas allgemeiner Literatur zu Prozessoren 
beschäftigen (ev. Wikipedia), und dan das Datenplatt zu Deinem Prozessor 
lesen.
Gast #1795483
Lesenswert?

Unter "Local Memory" würde ich erst mal den Speicher direkt
auf dem Silizium des Prozessors verstehen im Gegensatz
zu "External Memory", also zusätzliche externe Speicherbausteine.

Die Unterscheidung "Programm-", "Daten-", "I/O-" Memory ist
der nächste Schritt, der aber Prozessor abhängig ist.

Ein Blick ins Datenblatt des Prozessors hilft weiter,
weil manche Hersteller ihre eigenen Definitionen haben.
Gast #1795485
Lesenswert?

Sandy schrieb:
> Es geht um den Local Memory. Was ist der Unterschied zum Daten oder
> Befehls Speicher? Hat der Prozessor dann 3 Speicher (Speicherbereiche).

Speicher kann lokal sein oder global (aus Sicht der CPU).
Bei MC sind oft beide Speicher lokal, intern, internes Bussystem
Bei CPUs oft global, extern, werden über eine Bus-Schnittstelle 
angesprochen.

Ob Daten- und Befehlsspeicher überhaupt als separate Speicherbereiche 
vorliegen, ist eine Design-Entscheidung. Stichwort: 
Von-Neumann-Architektur, Harvard-Architektur.
#1795491
Lesenswert?

Das ist kein wirklich feststehender Begriff, je nach Kontext kann das 
die unterschiedlichsten Dinge bedeuten. Allgemein aber irgendwelcher 
Speicher, der besonders "dicht" an der jeweiligen CPU sitzt, 
insbesondere in Mehrprozessor-Systemen (ggf. dort dann vor allem auch 
exklusiv vom einzelnen Prozessor genutzter Speicher). Im Prinzip kann 
das IMO auch L1/L2-Cache sein, ja.

Ein Beispiel findet sich z.B. bei den Cell-Prozessoren von IBM. Dort hat 
jeder der einzelnen CPU-Kerne nur direkten Zugriff (über 
Load/Store-Befehle) auf einen kleinen lokalen Speicherbereich (derzeit 
AFAIK 256kB SRAM pro Kern), für jeden Kern ein eigener. Zugriff auf den 
Speicher von anderen Kernen oder auf den Hauptspeicher ist nur über 
DMA-Transfers möglich.

Ein anderes Beispiel sind Multiprozessor-AMD-Systeme. Multiprozessor ist 
hier wirklich mit mehreren CPUs in mehreren Sockeln gemeint, nicht 
einfach nur Mehrkerner. Der DRAM-Controller sitzt da in den CPUs selbst, 
und jede der CPUs hat direkten Zugriff nur auf den an der jeweiligen CPU 
angeschlossenen Speicher, während der Zugriff auf den Rest über den 
Systembus erfolgen muss, und dadurch deutlich langsamer ist.

Andreas

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