首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >计算机组成原理笔记(公众号版本)

计算机组成原理笔记(公众号版本)

作者头像
阑梦清川
发布2025-06-28 10:18:48
发布2025-06-28 10:18:48
2980
举报

1.MAR,存储单元和PC位数之间的关系

我们的MAR位数取决于我们的存储单元的个数;

PC位数也是取决于我们的存储单元的个数

假设我们是64个存储单元,我们的这个MAR实际上就是6位,因为这个2的6次方等于我们的64吗,通过二进制的0101之间的组合,这个6位二进制就可以表示64种可能得情况

我们的PC实际上需要执行我们的内存里面的每一个指令吗,所以我们的这个PC也是需要6位的,只有这样才可以保证我们的这个PC可以访问我们的这个内存里面的每一个位置;

真实的场景里面,我们的存储单元肯定不是这个量级的,肯定是KB,MB,GB这个样子的,我们注意这个单位的换算即可,然后就是照猫画虎,直接转换即可;

2.存取周期的定义

存取周期=存取时间+恢复时间(表示的是第一次存取到第二次存取之间的这个间隔)

存取时间=总线的传输周期

其实这个存取周期里面的存取的时间并不是很长,相反,这个占据较大的这个比重的是我们的恢复的时间

在我们的这个SRAM里面,有6个MOS管,因此这个形成的电路非常的稳定(双稳态触发器),所以这个恢复的时间会非常的短;

6个MOS管—>集成度低,但是因为这个恢复时间非常短,因此这个周期会很短,相同时间里面这个读取的速度就会非常得快;

4.DRAM地址复用技术

我们使用下面的这个图片解释一下在我们的DRAM里面的这个地址的复用技术

1)正常的情况下比如是4096(2的12次方)个存储的单元,我们通常使用的就是字节编址,所以一共需要的就是12根线,这个情况成立的前提就是我们的这个每一行对应的都是一个存储的单元

2)地址线的复用技术,就是我们把之前的这个传统的存储体变成类似于下面的这个样子的存储的阵列,或者说是这个存储的矩阵

3)这个时候就是6根行地址线(6个0到6个1的顺序),6跟列地址线,这个时候我们总共需要的这个地址线的条数就是6,因为我们可以先去给这个行地址线使用,再去给这个列地址线使用;

之所以使用上面的这个地址线的复用技术,其实就是为我们下面的这个刷新进行铺垫的,我们知道这个RAM都是容易丢失的,因此这个需要定期的进行刷新,这个要求的就是我们的一行一行刷新,因此如果我们使用地址线的复用的技术,就存在下面的两个优点:

1)节省我们的地址线的根数;

2)提升这个刷新的效率,因为我们是每一行进行一次刷新,因此这个地址线复用情况下刷新的速度就会很快;

5.刷新的方式

接下来,我们需要提到的就是这个刷新的策略,一共是三个方案:

[!note] 刷新的三个方式 1)集中刷新; 2)分散刷新; 3)异步刷新;

其中这个集中刷新就是读写之后,在一个周期的最后留出来一段时间专门进行这个刷新的过程;

分散刷新就是读取一次,刷新一次,这个样子的效果实际上也不是非常的好;

一步刷新则是非常不错的一个解决问题的方案:

假设我们的这个刷新的周期是2ms,也就是我们的每一个存储周期需要间隔2ms进行一次这个刷新的操作,这个时候我们的这个异步刷新的过程如下图所示:

[!abstract] 异步刷新的过程 我们下面的这个事使用的2ms进行举例说明的,假设是4个存储的单元,每一个存储单元的刷新时间就是2/4也就是0.5ms,对于这个具体的刷新的过程,我全部都放到这个下面的这个图片里面去了; 大家可以非常明显的观察到这样的一个现象,就是当我们折返回去对于这个第一个存储单元进行第二次刷新的时候,这个时间正好是2ms,也就是正好是我们的这个每一个存储单元需要进行刷新的这个间隔的时间,非常的完美,这个就是我们的异步刷新的这个具体的原理;

6.高位(低位)交叉编址

首先放出来这个对应的编址的方式对应的这个时间的计算的方法:

为什么这个题目是高位和低位交叉编制,其实这个里面还有其他的方案,诸如这个双端口的,以及这个单体多字的方案,然后才是我们的这个多模块的(多模块里面包含了这个高位交叉编制和低位交叉编制两个具体的方案),但是介绍之后你就可以明白只有我们的这个低位交叉编制才会真正的节省我们的这个过程的时间提高我们的效率;

高位交叉编制:nT;

低位交叉编制:T+(n-1)T

下面的这个:左边的是我们的高位交叉编制,前面是体号,后面的这个事我们的体内部的地址

右边的这个事我们的低位的交叉编制的方式,这个体号和对应的这个体内部的地址排列的方式恰好是相反的;

低位交叉编制:所使用的主要就是横向的方式,即:访问第一个存储体的第一个内存单元—>访问第二个存储体的内存单元,以此类推进行下去;

高位的交叉编制:所使用的主要就是纵向的方式,即:访问第一个存储体的第一个存储单元,访问第一个存储体的第二个存储单元,以此类推;

高位交叉编制造成的这个问题就是我们的这个恢复的时间拖慢了我们的这个整体的效率,因为我们的这个高位交叉编制的方式需要对于每一个存储体按照顺序遍历,只有第一个单元恢复完成,我们才可以进行下一个;

但是我们的低位交叉编制就不是这个样子的,而是我们第一个存储体的第一个存储单元访问之后,你恢复去吧,我直接跳转到这个第二个存储体去访问里面的第一个存储单元,这样既不用去等这个恢复的时间,因此这个流水线式的这个流程也让我们的这个低位交叉编制的这个方式效率真真正正的提升了不少;

[!info] 注意事项 (其实题目里面的这个默认的编址的方式也是我们的低位交叉编址的方式)

7.简单题目

磁盘所属的这个存储区的类型:先随机,然后是按照顺序,所以就是直接存取的存储器

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.MAR,存储单元和PC位数之间的关系
  • 2.存取周期的定义
  • 4.DRAM地址复用技术
  • 5.刷新的方式
  • 6.高位(低位)交叉编址
  • 7.简单题目
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档