Memory Managment und C Programm

Gast #5235260
Lesenswert?
• ▲
▼
Hey ich hab ne Frage zur Verteilung von Memory in einem C Programm.
Also in C ist Memory ja aufgeteilt in (initialized und 
uninitialized)Data Segment,Text Segment,Heap und Stack. Aber zum 
Beispiel auf meinem Arm Cortex a35 habe ich verschiedene Speicher die 
unterschiedlich schnell abrufbar sind L1 und L2 cache und SRam. Wie 
passen die beiden Systeme zueinander. Oder ist die memory Verteilung in 
C nur virtuel und wie der Speicher tatsächlich verteilt wird wird dann 
der MMU überlassen.
Gast #5235310
Lesenswert?
• ▲
▼
Dein Linker (bzw. dessen Script) bestimmt die Lage der Segmente. Meist 
kannst Du per #pragma für verschiedene Arten von Speicher noch 
zusätzliche Segmente selbst erstellen, z.b. einen RAM-Bereich, in dem 
uninitialisierte Variablen nicht genullt werden. Oder einen Bereich im 
langsamen RAM und einen im schnellen RAM. Oder ein Segment für bestimmte 
Codeteile, die dann automatisch dort gruppiert werden.

Finde also heraus, wie Dein Linker arbeitet und was in diesem ominösen 
File steht.
Gast #5235550
Lesenswert?
• ▲
▼
Felix schrieb:
> L1 und L2 cache und SRam

Die Caches liegen hardwaremäßig quasi transparent über dem normalen 
Speicher (egal ob SRam, DRam, Flash, ...), davon bekommt Dein C-Program 
eh nichts mit.

Felix schrieb:
> Oder ist die memory Verteilung in
> C nur virtuel und wie der Speicher tatsächlich verteilt wird wird dann
> der MMU überlassen.

Ja, vorrausgesetzt die MMU wird auch benutzt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.