一.什么是IO?什么是内存?
IO是输入输出接口,是CPU和其它外部设备之间的通道。一般的,IO就是指CPU的各种内部或外部外设。
二.内存的访问方式
内存通过CPU的地址总线来寻址定位,然后通过CPU数据总线来读写。
三.IO的访问方式
IO指的是与CPU连接的各种外设。CPU访问外设有两种方式,一种类似于访问内存的方式,即把外设的寄存器当作一个内存地址来读写,从而以访问内存相同的方式来操作外设,叫IO与内存统一编址;另一种是使用专用的CPU指令来访问某种特定外设,叫IO与内存独立编址。
四.统一编址和独立编址的对比
IO的独立编址,需要在CPU内部设计很多处理单元
五.程序与数据
程序是只读的,数据是可以读写的,程序运行的实际就是为了改变数据的值。
六.冯诺依曼结构和哈弗结构
程序和数据交错一起放在内存中,且不彼此分离的结构是冯诺依曼结构。程序和数据分开独立放在不同的内存块中,彼此完全分离的是哈弗结构,哈弗结构的内存块分配更安全,程序是只读的,数据是可读写的。
哈弗结构中程序一般放在ROM,flash中和数据(一般放在RAM中)独立分开存放(需要统一规划链接地址等)。