存储器层次结构5

访问主存:
数据流通过称为总线的共享电子电路在处理器和DRAM主存之间来来回回。每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤称为总线事务。读事务从主存传送数据到CPU。写事务从CPU传送数据到主存。


总线是一组并行的导线,能携带地址、数据和控制信号。取决于总线的设计,数据和地址信号可以共享同一组导线,也可以使用不同的。同时,两个以上的设备也能共享同一总线。控制线携带的信号会同步事务,并标识出当前正在被执行的事务的类型。


一个示例计算机系统的配置。主要部件是CPU芯片、我们将称为I/O桥接器的芯片组,以及组成主存的DRAM内存模式。这些部件由一对总线连接起来,其中一条总线是系统总线,它连接CPU和I/O桥接器,另一条总线是内存总线,它连接I/O桥接器和主存。I/O桥接器将系统总线的电子信号翻译成内存总线的电子信号。


当CPU执行一个 movq A,%rax
这里,地址A的内容被加载到寄存器%rax中。CPU芯片上称为总线接口的电路在总线上发起读事务。读事务是由三个步骤组成的。首先,CPU将地址A放到系统总线上。I/O桥将信号传递到内存总线。接下来,主存感觉到内存总线上的地址信号,从内存总线读地址,从DRAM取出数据字,并将数据写到内存总线。I/O桥将内存总线信号翻译成系统总线信号,然后沿着系统总线传递。最后,CPU感觉到系统总线上的数据,从总线上读数据,并将数据复制到寄存器%rax。
存储器层次结构5

存储器层次结构5

存储器层次结构5

反过来 movq %rax,A CPU则发起写事务。