计算机组成原理:有哪些技术能够提高CPU访存速度?---双端口存储器和多模块存储器
知识总览:
存取周期~衡量整个存储器的工作速度
为了提高CPU 访问存储器的速度,可以采用双端口存储器、多模块存储器等技术,它们同属并行技术,前者为空间并行,后者为时间并行。
一、双端口存储器
双端口RAM 是指同一个存储器有左、右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许两个独立的控制器同时异步地访问存储单元,如图所示。当两个端口的地址不相同时,在两个端口上进行读写操作一定不会发生冲突。
两个端口对同一主存操作有以下4种情况:
1,两个端口不同时对同一地址单元存取数据 √
2,两个端口同时对同一地址单元读出数据 √
3,两个端口同时对同一地址单元写入数据 (×写入错误)
4,两个端口同时对同一地址单元,一个写入数据,一个读出数据 (×读出错误)
解决办法:加一个控制信号,忙信号(如图所示)。置
“忙”信号为0,由判断逻辑决定暂时关闭一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。
二、多模块存储器
CPU 的速度比存储器的快,若同时从存储器中取出n 条指令,就可充分利用CPU 资源,提高运行速度。多模块存储器就是基于这种思想提出的。
(1)单体多字存储器
单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储m 个字,总线宽度也为m 个字。一次并行读出m 个字,地址必须顺序排列并处于同一存储单元。单体多字系统在一个存取周期内从同一地址取出m条指令,然后将指令逐条送至CPU执行,即每隔1/m 存取周期, CPU 向主存取一条指令。显然,这增大了存储器的带宽,提高了单体存储器的工作速度。
缺点:指令和数据在主存内必须是连续存放的,一旦遇到转移指令,或操作数不能连续存放,这种方法的效果就不明显。
(2)多休并行存储器
多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交叉工作。
多体并行存储器分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)两种。
地位交叉编址 -->流水线技术
补充:可以并行工作。如总线宽度为mW时,可以同时取出长度为mW的数据。