计算机组成原理复习

2018-1-9

第三章 存储器及存储系统

1.虚拟存储器
(1)是一个存储器逻辑模型,而不是物理存储器
(2)扩大主存储器的存储空间,并能进行自动管理调度
(3)由主存-辅存两级存储器组成
(4)逻辑地址映射到物理地址,是一个地址映射的过程
(5)虚实地址转换 页面大小也就是一页的字节数,根据这个我们可以计算出页内地址的位数,虚地址的位数-页内地址的位数就是虚页号,或者用虚存大小/页面大小,2的多少次方吧!实地址的位数-页内地址位数就是实页数,或者用实存大小/页面大小,2的多少次方吧!页表是存储在主存里面的,根据它我们可以根据虚地址求出实地址,页表的长度也就是虚存的大小/页表的大小,为什么这么说呢?因为我们将虚页号和页表地址寄存器里面的值进行运算之后,我们会得到一个地址,然后我们根据这个地址去页表里面求得实地址,当然,我们也要看看这一页是否在主存中,假设我们缩短了页表的长度,那么页表里面的某一个地址就不对应唯一一个虚页号了,那么我们的信息岂不是就乱了,页表的某一行竟然不只对应一个虚页号的信息,那样岂不是很奇怪,所以我们的页表长度就是等于虚存的大小/页表的大小,页表的长度*页表的字长=页表大小,其中页表的字长=实地址长度+有效保护修改使用位。。。
(7)逻辑页和物理页,也就是虚页号和实页号。虚拟存储器地址到主存地址的变换是由放在主存的页表实现的。
页表中每一个虚存逻辑页号有一个表目,表目内容包含该逻辑页所在的主存页面地址(物理页号),用它作为实存地址的高字段,与虚存地址的页内行地址字段相拼接,产生完整的实主存地址,据此来访问主存。
为了避免页表已保存或已调入主存储器时对主存访问次数的增多,把页表的最活跃部分存放在高速存储器中组成快表。
快表由硬件组成,比页表小得多,只是慢表的小副本。
查表时,由逻辑页号同时去查快表和慢表,当在快表中有此逻辑页号时,就能很快地找到对应的物理页号送入实主存地址寄存器。

页式,段式(段长度不定),段页式(先分段,后分页)
①根据基号C执行SC加1(段号)操作,得到段表相应行地址,其内容为页表的起始地址b。
②执行b+2(页号),得到物理页号的地址,其内容即为物理页10。
③物理页号与页内地址拼接即得物理地址。
如计算机只有一个基址寄存器,基号可不要,多道程序切换时,操作系统修改基址寄存器内容。

多体交叉存储快在哪里

2.cache与主存
(1)直接相联 直接求模即可,主存里面的某一块映射cache里面确定的一块,

CPU指定一个想要访问的内存单元的地址,他由tag,行号,字三部分组成,根据地址r位行号去cache里面找到该行号,将该行的标记和地址中s-t位的tag在比较器中进行比较,若相同则命中,在cache中找到了所需要的块,我们根据地址中最低位w位得到我们所需要的字,若不相等则不命中,从主存中读取所需要的块。

优点是硬件简单,成本低。
缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量Cache采用。

主存字块标记+cache字块地址+字块内地址
(2)全相联 主存里面的某一块映射cache里面随机的一块

CPU指定一个想要访问的内存单元的地址,他由块号,块内地址组成,为了加快检索速度,指令中的块号和cache中所有行的标记同时在比较器中进行比较,若块号命中,则按照块内地址在cache中读取一个字,若不相等则不命中,按照内存地址读取这个字,同时将内存块读入到cache行中

可使主存的一个块直接拷贝到Cache中的任意一行上,非常灵活。它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量Cache采用。

主存字块标记+字块内地址
(3)组相联 是上面两种方法的中和,组内采用全相联,组间采用直接相联

CPU指定一个想要访问的内存单元的地址,他由tag,组号,字三部分组成,首先用块号域的第d位找到cache的相应组,然后将块号域的高s-d位与该组行中的所有标记同时进行比较,如果有一行的标记与之相等则命中,以内存地址的w位字域部分检索此行地址的具体字,并完成所需要求的存取操作,如果任意行的标记与之不相符,则cache不命中,按内存地址访问主存。

组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少

主存字块标记+组号+字块内地址
(4)cache与主存之间按照字块传送
(5)cpu和cache之间按照字传送
(6)命中率 平均访问时间 访问效率
(7)单体多字系统以及多体并行系统

3.主存储器的性能指标
主要是存储容量、存取时间、存储周期,存储器带宽
存储元(二进制位)-> 存储单元(字或者字节)-> 存储器
存储容量是一个存储器中可以容纳的主存储器的单元总数
存取时间是从存储器接收到读(或写)申请命令到从存储器读出(或写入)信息所需的时间
存取周期是指连续启动两次独立的存储器操作(如连续两次读操作)所需间隔的最小时间,之前一直没能理解,后来终于明白了。。。假设我们考虑的是两次连续的读操作,第一次存取时间是a1~b1,第二次存取时间是a2~b2,那么这里的存取周期指的是a1到a2的值,但是并不一定是b1-a1,因为我们这里的可能还要进行各种恢复操作等。。。

4.cpu和存储器的连接时需要注意的问题:
(1)片选信号注意是低电平有效,所以说为“0”的时候才表示选中了该存储芯片。
(2)38译码器输出的Y0到Y7也是低电平有效
(3)8086CPU,地址数据线复用,地址锁存器与数据缓冲器。。。‘

5.Cache
是指位于CPU和主存之间的一个高速小容量的存储器,一般由SRAM构成。
功能:用于弥补CPU和主存之间的速度差异,提高CPU访问主存的平均速度。
CPU与Cache之间的数据交换是以字为单位,而Cache与主存之间的数据交换是以块为单位。一个块由若干定长字组成的。

相联存储器CAM是按照内容寻址的。
过程描述:
分配给cache的地址存放在CAM中,相联存储器CAM是按照内容寻址的,当CPU想要访问某个字时,将想要访问的字的地址传送给CAM以及主存,如果CAM指出想要访问的字W在cache中,则将其从cache传送到CPU,如果字W不在cache中,则将字W从主存传送到CPU,并将字W所在的块替换到cache里面,
替换算法采用LRU(Least Recently Used)即最近最少未使用算法。

6.多体交叉存储器
出发点:能够实现同时从存储器取出n条指令
特点:通过改进主存的组织方式,在不改变存储器存取周期的情况下,提高存储器的带宽。
结构特点:多体交叉存储器由M个的存储体(或称存储模块)组成,每个存储体有相同的容量和存取速度,又有各自独立的地址寄存器、地址译码器、读写电路和驱动电路。

每个模块各自以等同的方式与CPU传送信息。CPU同时访问四个模块,由存储器控制部件控制它们分时使用数据总线进行信息传递。这是一种并行存储器结构。

7.存储保护
(1)页表保护和段表保护
每个程序的段表和页表本身都有自己的保护功能。每个程序的虚页号是固定的,经过虚地址向实地址变换后的实存页号也就固定了,所以无论虚地址如何出错,只能影响到相对的几个主存页面。段表中除包括段表起点外,还包括段长(该段所包含的页数)。虚地址由段号,页号与页内位移组成,如果虚段号错定为其他,则他必然在段表中找不到或者只影响其自身,如果段号没错,页号大于段长时,发生越界中断,如果地址各段都没错,则正常访问。
这种段表、页表保护是在未形成主存地址前的保护。但若在地址变换过程中出现错误,形成了错误主存地址,那么这种保护是无效的。因此,还需要其它保护方式。键方式就是一种成功的方式。

这种方法是为主存的每一页配一个键,称为存储键,是由操作系统赋予的。每个用户的实存页面的键都相同。为了打开这个锁,必须有钥匙,称为访问键。访问键赋予每道程序,并保存在该道程序的状态寄存器中。
当数据要写入主存的某一页时,访问键要与存储键相比较。若两键相符,则允许访问该页,否则拒绝访问。

环保护方式可以做到对正在执行的程序本身的核心部分或关键部分进行保护。它是按系统程序和用户程序的重要性及对整个系统的正常运行的影响程度进行分层,每一层叫做一个环。
在现行程序运行前由操作系统定好程序各页的环号,并置入页表中。然后把该道程序的开始环号送入CPU的现行环号寄存器。程序可以访问任何外层空间;访问内层空间则需由操作系统的环控例行程序判断这个向内访问是否合法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值