当前位置: 首页 > news >正文

考研408《计算机组成原理》复习笔记,第三章(3)——多模块存储器

一、多模块存储器

因为双端口RAM不考,那老子学408的直接不学!!!节省时间只学【多模块存储器】

为什么要有多模块存储器?他要解决什么问题?(会考概念)

所以记住,【多模块存储器】主要是为了:

1、单体多字存储器

非重点,了解一下即可

总结一下人话:

  • 只有【1个存储体】
  • 每个存储单元存储m个字(在原本1个存储单元1个字的基础上,把m个小存储单元合并成1个大存储单元
  • 数据总线宽度也为m个字,能1次并行读出m个字
  • 每次只能同时取m个字,不能单独取其中某个字

注意缺点:

只有指令和数据在主存中连续存放时,这种方法才能有效提升存取速度;

一旦遇到转移指令、或操作数不能连续存放时,这种方法的提升效果就不明显
(因为每次只能同时取m个字,不能单独取一个字)

然后记一下,跟【位扩展】方式完全相同

2、多体并行存储器

多体交叉存储器由多个存储模块(可理解成多个内存条)构成

  • 这些模块的容量和存取速度相同
  • 各模块都有独立的读写控制电路、地址寄存器和数据寄存器
  • 它们既能并行工作,又能交叉工作

根据对多个模块编址方式的不同又分为以下两种:

  • 高位多体交叉
  • 低位多体交叉

在这之前我们需要知道一个事情:

  1. 程序指令通常都是在存储体中【连续存放】的(大部分情况)
  2. 多体并行存储器的【主存地址】分为【体号(模块地址)】+【体内地址(块内地址)
  3. 体号(模块地址)】就是代表是哪一个存储模块体内地址(块内地址)】就是这个模块内一个存储单元的地址(谁在高位、谁在低位,取决于不同的编制方式)

(1)高位多体交叉编址

概念考点

记住考点:

  • 体号(模块地址)】在主存地址的【高位(也就是左边)】!!!!
  • 高位多体交叉编址是【顺序存取存储器】,存储方式是【串行访问中的“顺序存取”
    • 可以发现一个模块存满了之后,【该模块最后的存储单元的主存地址】加1就是【下1个模块的第1个块存储单元的主存地址】,可以看出每个模块都是按顺序连贯着读写的,而不是并行

缺点(原因)

顺序存取的效率很慢,存取周期长。为什么:

  • 1、因为【存取周期T】分为【存取时间】+【恢复时间,假设T=4r,读写花了r恢复时间花3r,但是因为只有一个再生电路能恢复存储单元,在恢复时间里其他单元也必须干等着上一个存储单元的恢复时间结束才能开始读取

  • 2、一个程序的【指令】和【数据】基本分布在同一个主存模块,那么当一直频繁访问一个主存模块时,别的模块处于空闲状态,就没法实现多模块并行工作

由于这种顺序连续访问,导致效率不高,所以这种多模块存储器实际上只是起到了【扩容】的作用(注意:因为扩展多个存储体,因此是按【字扩展】

耗时计算

访问n个存储字的耗时:【nT】(T是一个存储周期)

(2)低位多体交叉编址

概念考点

记住考点:

  • 反过来【体内地址(块内地址)】在主存地址的【高位(也就是左边)】!!!!
  • 低位多体交叉编址允许【1个模块的恢复时间】直接访问【下一个模块】(高位多体交叉编址只允许【一个模块按顺序访问完,再访问下一个模块】)
  • 采用低位多体交叉编址方式的存储器叫【交叉存储器
    是【随机存储器
  • 宏观上】每个存储周期内所有模块被【并行访问
    微观上】m个模块被【串行访问

为提高顺序访问时各存储模块的并行性,低位多体交叉(交叉编址模式)中各存储模块均有独立的:地址寄存器、数据寄存器、读写控制电路

耗时计算

简单来说就是记公式:

访问n个存储字的耗时:【T + (n-1)r】(T是一个存储周期,r是一个读写时隙)

至于为什么自己看吧:

(3)应该要几个模块?(几个内存条)

结论:

为啥?自己看:

注意一个模块内【要读一个存储单元】必须等【上一个存储单元恢复时间结束】

(4)总结

(5)拓展理解

还有例题讲解,未完待续。。。。

http://www.dtcms.com/a/266938.html

相关文章:

  • Web前端:全选框的使用
  • Abase和ByteKV存储方案对比
  • 【C#】入门
  • tmux 左下角会话名显示不全的解决方法
  • SpringBoot-规划多模块目录结构
  • 项目介绍:Awesome System Prompts
  • 免费PDF处理软件,支持多种操作
  • 开源项目XYZ.ESB:数据库到数据库(DB->DB)集成
  • 系统架构师
  • Class5多层感知机的从零开始实现
  • Linux awk 命令
  • 浅谈 webshell 构造之如何获取恶意函数
  • chrome插件合集
  • 4 位量化 + FP8 混合精度:ERNIE-4.5-0.3B-Paddle本地部署,重新定义端侧推理效率
  • 【LUT技术专题】CLUT代码讲解
  • 写一个Ununtu C++ 程序,调用ffmpeg API, 来判断一个数字电影的视频文件mxf 是不是Jpeg2000?
  • MSPM0G3507学习笔记(一) 重置版:适配逐飞库的ti板环境配置
  • 服装零售企业跨区域运营难题破解方案
  • 深度学习笔记29-RNN实现阿尔茨海默病诊断(Pytorch)
  • 25年Java后端社招技术场景题!
  • MyDockFinder 绿色便携版 | 一键仿Mac桌面,非常简单
  • 应用分发平台的重要性:构建、扩展和管理您的移动应用
  • VR 火化设备仿真系统具备哪些优势?​
  • MySQL 八股文【持续更新ing】
  • 机器学习路径规划中的 net 和 netlist 分别是什么?
  • 《推客分销系统架构设计:从零搭建高并发社交裂变引擎》
  • linux---------------进程信号(下)
  • 将制作的网站部署在公网
  • 电机转速控制系统算法分析与设计
  • 同步(Synchronization)和互斥(Mutual Exclusion)关系