Any CPU has address pins which form it's physical address space. Some peripherals, like ram or flash can be classified as one big data register which is mapped directly to CPU address space. On the other hand, same peripherals can be connected to system via bus device, and becomes accesible using bus registers by special protocol(e.g SDC/MMC flash via SPI).
Am I right, that in the second case, spi becomes level 2 bus also becoming a peripheral itself(from CPU's point of view)?
What are proc and cons of first and second way of connecting peripherals?
Is it possible to map e.g SPI flash memory to address space, to avoid manual interaction with SPI bus every time? As I know, PCI bus allows to do something like that.