主存储器的组成
MAR:存储地址的寄存器
MDR:存储数据的寄存器
我们的 主存储器,也是 给 这些 二进制数据 进行 一个一个 编号。当然我们知道 二进制数据,它不是 货物呀。所以我们 要统一的 规定一个 大小。这样的话 我们就 可以 更加方便的 构造这个 架构了。
后来我们统一规定:一个内存单元的 大小 就是 1 个字节。等于 8 bit(八位)。 也就是说 一个货物 就这么大。
而我们 为这些货物 编的号,是有 32 位 和 64 位 区分的。现如今 最长的 编号 是 64位的,也就是 64 个 二进制数 组成的 编号。我们 把这个编号 称为 内存地址。
运算器的组成
控制器的组成
计算机的工作过程
代码在计算机中执行的过程
OP:取操作码
Ad: 取地址码
通过 地址线路 来告诉 地址寄存器,数据线路 也可以 跟 数据寄存器进行通讯。
整体流程:比如要存储数据
- CPU 通过数据总线 传递给 MDR 数据,然后 地址总线 给 MAR 内存地址。
- CPU 再通过 控制总线,告诉 主存储器 这次的操作 是 写入操作,是存储。
- 然后根据 发送的 内存地址 和 数据,就会进行存储了。
在地址总线和数据总线相同的前提下,32位CPU(数据总线为32位)的最大支持寻址空间为2^32,即最大支持4G内存。
所以在32位CPU中,编程用到的数据类型,如整型,应优先使用int,一个int占4字节,一个字节为8bit,总共32bit,一次完成传输需要32位数据总线。
而比int占用更小的数据类型,如short int,在32位CPU中要完成一次传输也是需要32位数据总线。