Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
It depends on things like memory types and will I/O devices appear in the memory map. There is no standard approach about where things are located. In many cases the memory map will be different when the system is booting and initializing itself. Once the initialization is done the memory map could easily change. I'm not sure this answer is much help to you.
Difference Between Von Neumann and Harvard Architecture: Von Neumann Architecture uses one single physical address for accessing and storing both data and instructions. Harvard Architecture uses two separate physical addresses for it. Visit to learn more on Von Neumann Vs. Harvard Architecture.
Which microprocessor are you thinking about? Different microprocessors expect various pieces, such as the return stack, the RAM, ROM, and I/O to be in particular address ranges.
There are also variations such as I/O instructions using a separate address range, independent of the instruction/data address range - typical of Intel-based CPUs.
In comparison, other such as many Motorola based ones have a single address range and it's down to the system designer to map I/O somewhere in that range, accessed by the same instructions as any other data.
And such as where the CPU looks for the first instruction on start up / reset, or an address for that - the lowest memory address, or the higher address.
The appropriate area generally needs to have ROM there, to hold the startup code or BIOS etc.
Plus on many systems memory management which allows re-mapping of any section or block of physical memory to any part or block of the CPU basic address space.
That can include stopping the program if an access is requested to an incorrect area so the memory map can be re-arranged to suit, or even for data to be swapped out and in from external storage to free up memory for the present task.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.