The CPU request information. This can be instructions or data. If the CPU request information it want
to have some information filled in the registers. The way to do this is to set a address in the HL
register. This address is than forwarded to the address buffer, which holds the next address to be
addressed and the content which needs to be transferred. All this goes to the external bus and from
there on it goes to the cache, if we find something than it is directly returned, otherwise it goes over
de bus to the memory. The program counter and branch prediction set an address for an instruction,
which will be stored in the instruction pointer, this instruction address is forwarded to the address
buffer and the instruction is either fetched from cache or memory.
Information can be hold at different points → memory hierarchy.
, Virtual address base: is needed to segmentation and paging. Segmentation is used to distinguish
between instructions/program parts in memory. We have a program/instruction segment, data
segment and stack segment.
This is mainly to protect access and distinguish between fetching data and fetching instuctions.
Paging, allow to have and use more memory than physicall available. We segment out memory to
little pieces called pages. They hold information blocks that are of the same segments. We have
instrcution/program pages, data pages and stack pages. These are fetched in one go.
Memory management unit(MMU): You send the requested address you want to have the content of
in the memory address register. The content of the memory address register(MAR) is then
transferred and decoded into a physical address and transferred to the memory, the memory than
sends back the information that is standing in memory into the memory data register(MDR). There
are pages that are not active in memory at that point.