Speicherbelegung RISC-V Prozessor?


28.07.2023, 18:46

Ich habe gesehen, dass eine ähnliche Frage im Forum existiert, jedoch hat diese mir nicht weiter geholfen.

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Links stehen die Adressen, jede Zeiel erhöht sich die Adresse um 8 (Bytes), also müssen folgerichtig pro Zeile 8 BYtes resp. 2 Maschinenwörter stehen. 0x## ist ein Hexbyte, Hexadezimal ermöglich die Darstellugn eines Bytes mit 2 Stellen.

0xc5 (ganz rechts, erste Zeile) liegt dann entsprechend z.B. an Adressse 0x107.

Die Speicheradressen sind auch Hexadezimal, d.h. nach 0x109 folg 0x10a, 0x10b, ... 0x10f, 0x110.


fastfurry 
Fragesteller
 30.07.2023, 13:03

Ah alles klar danke.

0
Das bedeutet doch dann im obigen Fall befindet sich an Speicheradresse 0x100 doch zwei Wörter? 

An einer Byteadresse befindet sich genau ein Byte. Wenn ein Befehl dort 4 Bytes erwartet, dann nimmt er eben Adresse+0, Adresse+1, Adresse+2, Adresse+3.

Die Darstellung der Speicherbelegung ist einfach so gewählt, dass nicht jedes Byte einzeln mit einer Adresse dargestellt wird. So wie auf einer Landkarte auch nicht Linien für jede Bogensekunde dargestellt werden.


fastfurry 
Fragesteller
 28.07.2023, 19:11

Achso, Danke für die Antwort. Aber wie ist es dann z.b mit 0x110 ?

0
fastfurry 
Fragesteller
 28.07.2023, 19:18
@fastfurry

Ah, also wir sind ja im Hexadezimal das heißt 8 Speicherblöcke angefangen bei 0x108 enden bei 0x110. +8 sind ja im Hexadezimal nicht direkt +8. Stimmt das so?

0