计算机组成原理 | 双端口RAM与多模块存储器

发布时间:2026/6/3 7:18:32

计算机组成原理 | 双端口RAM与多模块存储器 双端口RAM与多模块存储器一文讲透“并行”的艺术摘要/导语上一期我们搞懂了SRAM和DRAM的区别点击查看上期也回顾了ROM的前世今生点击查看上上期。但还有一个灵魂拷问CPU的速度是法拉利内存如果是自行车怎么办今天这篇我们不谈芯片材质只谈架构设计。带你解锁“提升主存速度” 的两大杀手锏——双端口RAM和多模块存储器。文末附带经典408真题建议反复研读 正文内容⏱️ 前置知识什么是“存取周期 T”在开始提速之前我们必须先理解一个拦路虎存取周期T TT。很多同学容易混淆“存取时间”和“存取周期”。我们可以把它想象成去银行柜台办业务存取时间 (r rr)你坐在柜台前柜员帮你办理业务的时间比如数钱、敲键盘。恢复时间你办完走了柜员需要整理桌面、叫下一个号、系统刷新状态的时间。存取周期 (T TT)存取时间 (r rr)恢复时间。 划重点只有等整个周期T TT结束存储器才能响应下一次请求。如果CPU想连续读写必须得等这个“冷却CD”。为了让CPU少等一会儿工程师们想了两个绝招️ 第一招双端口 RAM —— “左右互搏”术普通的RAM就像只有一扇门的房间一次只能进一个人一个CPU。而双端口RAM顾名思义就是给存储体装了两套独立的读写电路左端口和右端口。这就好比一家餐厅开了两个大门支持两个CPU同时访问 它能同时干嘛和谐共处✅各玩各的左边读A单元右边写B单元。完全没问题井水不犯河水✅一起看左边读A单元右边也读A单元。也没问题大家只是看看不破坏东西数据是稳定的❌ 它不能干嘛冲突时刻❌抢地盘写-写冲突左边要写A单元右边也要写A单元。这就打架了数据到底听谁的❌边看边改读-写冲突左边在读A单元右边突然要改写A单元。读到的数据可能是旧的也可能是写到一半的乱码。⚠️ 冲突了怎么办这时候硬件逻辑会介入发出一个“BUSY”信号。通常原则是“写优先”或者“先来后到”。结果就是其中一个CPU的访问端口会被暂时关闭必须等待另一个操作完成后才能继续。 考点提炼双端口RAM虽然有两个口但并不是所有时候都能并行。只有在访问不同存储单元或者同时读同一单元时才是真正的并行。️ 第二招多模块存储器 —— “人多力量大”既然单个存储器慢那我们就用多个存储器拼起来这就是多模块存储器。这里分为两种流派单体多字和多体并行。1. 单体多字存储器一次拿一摞这种方案比较简单粗暴。原理虽然还是一个存储体但我把数据线加宽以前一次读1个字比如32位现在我一次并行读出m mm个连续的字。代价总线宽度也要扩展为m mm个字宽。比喻以前你去取快递一次拿一个盒子现在给你换了一辆大卡车一次拉走一排盒子。2. 多体并行存储器真正的“流水线”这是考试的重头戏它有多个独立的存储模块Module 0, Module 1…每个模块都有自己的地址寄存器和读写电路。这里涉及到一个关键概念编址方式。(1) 高位交叉编址顺序编址怎么分地址的高位决定去哪个模块低位决定模块内的位置。效果Module 0 存 0~1023号Module 1 存 1024~2047号…评价这本质上只是扩大了容量并没有提高速度。因为CPU通常是顺序执行指令的0, 1, 2, 3…这意味着CPU会一直盯着 Module 0 猛操其他模块都在围观。实际效果相当于单纯的扩容。(2) 低位交叉编址多体并行重点怎么分地址的低位决定去哪个模块。效果地址0 - Module 0地址1 - Module 1…地址m - Module 0 轮回来了优势当CPU连续读取指令或数据时0, 1, 2, 3…它会依次激活不同的模块。t 1 t_1t1​时刻启动 Module 0t 2 t_2t2​时刻启动 Module 1 此时 Module 0 正在恢复中互不干扰…结论微观上每个模块还是串行工作的但在宏观上每隔T / m T/mT/m的时间就能吐出一个数据实现了流水线的无缝衔接 黄金公式必背要想流水线不间断存储模块数m mm必须满足m ≥ T r m \ge \frac{T}{r}m≥rT​即模块数量≥ \ge≥存取周期 / 存取时间。如果m mm太小前面的模块还没恢复好新的请求又来了流水线就会断档气泡。 总结一张图特性双端口 RAM单体多字多体并行 (低位交叉)核心思路增加接口空间并行增加带宽单次吞吐大轮流启动时间重叠适用场景双CPU共享内存向量处理机通用高性能计算机冲突处理BUSY信号挂起无只要m ≥ T / r m \ge T/rm≥T/r就不冲突 实战演练408 高校期末真题【真题 1】2015年408统考真题·单选某计算机存储器按字节编址采用低位多体交叉编址方式由4个存储体组成设每个存储体的存取周期为200ns则连续读取4个字所需的最短时间为A. 200nsB. 400nsC. 500nsD. 800ns 解析看到“低位多体交叉”马上想到流水线标准答案选 A (200ns)。理由在多体并行存储器中若模块数m mm足够多使得流水线不间断那么在一个存取周期T TT内可以并行地读出m mm个字。所以读4个字刚好等于模块数的时间理论上等于一个存取周期T TT。【真题 2】某高校期末题·判断双端口存储器之所以能提高速度是因为它有两个端口可以同时读写同一个存储单元。( ) 解析错 (×)。根据定义双端口RAM不能同时写或一读一写同一个单元。如果发生这种情况会产生冲突导致其中一个端口暂停BUSY反而降低了效率。它提速的前提是访问不同的单元。【真题 3】概念填空为了提高存储器的带宽可以采用多体并行存储器。其中______编址方式主要用于扩大存储容量而______编址方式可以提高存储器的存取速度。 解析第一空填高位交叉顺序编址。第二空填低位交叉多体并行。 互动话题你觉得现在的电脑内存DDR4/DDR5用的是哪种技术更多呢欢迎在评论区留言讨论如果觉得这篇文章对你有帮助别忘了点赞在看你的支持是我更新的最大动力

相关新闻