A basic microprocessor such as the original Intel 8008 device has a 16 bit address bus and an 8 bit data bus so can address 64 Kbytes of memory. It is an A16/D8 memory architecture. Internally it has instruction fetch, decode and execute logic. This device is a bus master or initiator of bus transactions.
It executes a handshake with external devices using the opreq signal as a request and the wait signal as an acknowledge.
In the following slides every device can respond immediately and so no waiting is required. In practice, contention, cache misses and operations on slow busses will cause wait states for the processor. Simple processors stall entirely during this period, whereas advanced cores carry on with other work and can receive responses out of order.
The interrupt input makes it save its PC and load a fixed value instead: an external hardware event forces it to make a jump.
The high-order address bits are decoded to create chip enable signals for each of the connected peripherals, such as the RAM, ROM and UART.
As we shall see, perhaps the first SoCs, as such, were perhaps the microcontrollers. The Intel 8051 used in the mouse shipped with the first IBM PC is a good example. For the first time, RAM, ROM, Processor and I/O devices are all on one piece of silicon. We all now have many of these such devices : one in every card in our wallet or purse. Today's SoC are the same, just much more complex.