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

多模块存储器

随着计算机技术的发展,处理的信息量越来越多,对存储器的速度和容量要求也越来越高;而且随着CPU性能的不断提高、IO设备数量不断增加,导致主存的存取速度已经称为了整个计算机系统的性能瓶颈。这就要求我们必须提高主存的访问速度。

1.单体多字存储器

在主存中,程序和数据是连续存放的,所以CPU访问主存取出的信息也是连续的。

如果将存储器的存储单元进行扩展,让它能够存储更多的字

那么就可以在一个存取周期内,从同一地址取出更多的指令

这样就相当于增大了主存的带宽,提高了速度。

这种方式是对单独的存储器进行扩展,类似于位拓展的思路,不过是把一个地址对应的数据扩展到了多个存储字。

所以这种结构的存储器被称为单体多字存储器

例:单体四字,每字W位的存储器,可以在一个存取周期内取出四个字的信息。假设指令字长就是一个存储字,那么带宽则提高了四倍。

对于一体M字存储器: 

  • 结构特点:存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m个字。
  •  访问方式:一次并行读出m个字,地址必须顺序排列并处于同一存储单元
  • 优点:宽度为单体单字存储器的近m倍
  • 缺点:如果发生访问冲突(需要的内容不在同一行)或遇到转移指令,效率会显著降低。

2.多体并行系统

另外一种思路是采用多模块组成存储器,各个模块都有自己独立的MAR、MDR、地址译码/驱动电路和读/写电路,他们能并行工作也可以交叉工作。

并行工作:CPU可以同时访问N个板块,同时启动,同时读出;当然,由于总线是公共的,同时读出的N个字需要在总线上分时传送。

我们可以根据对这N个模块不同的编制方式分为:

  • 多体高位交叉存储器
  • 多体低位交叉存储器

2.1多体高位交叉存储器

多体高位交叉存储器采用高位交叉方式编址。

高位交叉方式编址:地址分为两部分,高位地址表示体号,低位地址表示体内地址

一个模块内部的地址都是连续的,程序存储时会按照体内地址的顺序存放

也就是说,我们会先存一个模块,存满了再存下一个

因此,这种方式我们也叫“顺序存储”。

只要调用合理,使不同的请求访问不同的模块,就可以实现并行工作。

例:CPU访问M0的同时,IO设备去访问另外一个模块,这样两个体就是并行工作的 

2.2多体低位交叉存储器

 多体低位交叉存储器采用低位交叉方式编址

低位交叉方式编址:主存地址的低位指明存储器模块,高位指明模块内的字地址

这种编址方式下,连续的地址分布在相邻的模块中,同一模块内的地址是不连续的,因此也叫做“交叉存储”。有M个模块的低位交叉编址又称为模M编址

 

程序按照地址连续存放在相邻模块中,采用低位交叉编址后,可以在不改变每个模块存取周期的前提下,采用流水线方式并行存取、提高存储器的带宽。 

 

 

http://www.lryc.cn/news/377682.html

相关文章:

  • Windows反截屏开发实现
  • Android.mk的用法
  • android studio CreateProcess error=2, 系统找不到指定的文件
  • jQuery如何把单选框设置为选中状态
  • Mware Fusion Pro 13 mac版:一键掌控虚拟世界
  • PTA - 函数的定义与调用
  • Solr7.4.0报错org.apache.solr.common.SolrException
  • 从2-3-4树开始理解红黑二叉树(JAVA代码手撸版)
  • 模板类与继承
  • 随手记:uniapp图片展示,剩余的堆叠
  • 微服务迁移、重构最佳经验
  • 【Python】从0开始的Django基础
  • 红黑树(数据结构篇)
  • 高级视频编码器性能对比(H265、VP9、AV1)
  • 示例:WPF中DataGrid简单设置合并列头
  • Matlab图像处理——细胞图像的分割和计数显示
  • 六爻排盘神机
  • 【ARMv8/v9 GIC 系列 2.1 -- GIC SPI 中断的 pending 和 clear pending 配置】
  • SpringBoot集成logback初始化源码解析(部分)
  • 【Linux工具】yum软件包管理器与Vim编辑器的高效运用
  • Matlab数学建模实战应用:案例4 - 图像处理
  • Studying-代码随想录训练营day15| 222.完全二叉树的节点个数、110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和
  • Python 基础:异常
  • XML 应用程序
  • SprringCloud Gateway动态添加路由不重启
  • Windows安装mysql
  • chatgpt: linux 下用纯c 编写ui
  • Java十六进制Dump打印数据
  • 某棋牌渗透测试
  • JAVA面试(六)