I have a a very basic question about how to design a microprocessor based system in contrast to a microcontroller based system. To have a better understanding of what i mean, i am presenting a general example.
Lets say I want to design an embedded system with 32 bit processor having ROM of 1MB and 1MB RAM @500MHz clock.
In micrcontrollers based system what i understand is, we simply burn our program into the internal ROM/Flash, when we power up, it starts with a reset PC(program counter)/IP(instruction pointer) which always indicates to the first RAM address from where the ALU unit begin fetching data from internal ROM/Flash and hence the execution of program starts.
In contrast to that, i assume we can not burn our program into the microprocessor chip as it doesnt have internal Flash for that purpose, so we burn the external ROM with our program, but than i dont understand how we tell the microprocessor to start the execution of the program written into the ROM etc.
As I mentioned my knowledge of digital world is not very limited, i have just used microcontrollers and that's it. I don't know the whole story inside microcontroller/microprocessor.
Can some one explain how the microprocessor starts its execution and how we program the discrete embedded system composed of microprocessor, external ROM and RAM ?
Please also provide some related material to study related to the topic.
I thank you all. Regards, Iftikhar