计算机考研笔记
3.1-3.2主存的简单模型和寻址方式
简单模型
片选线:控制存储器的开关,也可以理解为控制哪一个存储器被选中,配合译码器可以实现容量的扩充
读写控制线:顾名思义
将下图封装起来就成了一个简单的存储器模型
主存的逻辑结构
存储器芯片具有的结构
重点:片选线,数据线,地址线,数据线
其他的做了解
寻址
1.按字节,字,双字,半字寻址
2.多字节存放:大端模式,小端模式
比如按字寻址:
3.3.1半导体存储器RAM
RAM:随机存储器,存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。
随机存储器的类别
1.SRAM静态随机存储器
特点:
1)本质上是一个双稳态触发器(所以是稳定静态的)
2)易失性存储器(以电信号的形式存储01,断电后就会丢失数据)
3)读SRAM存储的值时,只需要看触发器的状态是怎么样的就行,所以不是破坏性读出
4)不需要刷新
5)行地址和列地址不等长,所以需要同时传送进地址线
6)速度快(不需要刷新)
7)集成度高(存储一个二进制数需要6个逻辑器件)-发热量大-成本高
8)常用作cache
2.DRAM动态随机存储器
1)本质上是一个电容(必须进行充放电,所以是动态的)
2)易失性存储器(以电信号的形式存储01,断电后就会丢失数据)
3)读DRAM存储的值时,如果存的是1,用探测电路去ping一下,1就会顺着探测电路流出,存储的值就变成了0,所以这种还需要在读完信息的时候恢复一下信息的电路就叫破坏性读出
4)电容上的电荷只能维持2ms,所以每隔2ms就需要对电容上的电荷进行刷新
5)行地址和列地址等长,所以不需要同时传送进地址线,并且地址线可以服用,线的数目可以减少一半
6)速度慢(需要刷新)
7)集成度低(存储一个二进制数需要3个逻辑器件)-发热量小-成本低
8)常用作主存
DRAM的刷新
多久刷新一次
2ms
每次刷新多少存储单元
刷新一行存储单元
(因为SRAM中,以行号列号来存储数据,可以极大减少选通线数量)
如何刷新
每读出信息后再重新写入
什么时候刷新
假设这样的一种情况:
有一个128×128的DRAM存储器,他的读/写周期是0.5us,所以在2ms的刷新周期有4000个读写周期
分散刷新
每读写完成后立即刷新一行,即让读/写周期编程1us(读0.5us,写0.5us)
集中刷新
将128行的数据放在一个时间里刷新。在前3872个周期中,存储器所以需要128个读写周期(进行数据的写入),这个时间段无法访问存储器(因为数据全部被破坏了需要重新写入),成为访存死区
异步刷新
将刷新平均分布在读/写操作中,在2ms中,只需要每行刷新一次即可,所以平均下来每隔2ms/128=15.6ms,存储器就进行一次刷新,刷新所耗时间就是一个读/写周期(0.5us),所以每个15.6us就有一个0.5ms的死区
两种存储器的存取周期
简单记记结论就好
总结一下:
3.3.2只读存储器ROM
3.3.3存储器的基本概念
存储器分类
(层次)
1.和cpu最近的cache
2.和cpu第二近的主存
3.不能直接和cpu相连接的辅存
(存取方式)
1.随机存取(存取时间和存取位置不同)
2.直接存取(先定位扇区,再在此区域进行随机存取)
3.顺序存取(顾名思义,数据之间是有顺序的,不可跳跃存取)
下一页就有图…
性能指标
层次化结构
结构图
功能
3.4.2主存和cpu的连接
系统程序区使用ROM,用户程序区使用RAM
例题🔗
3.6.1 cache
为什么要使用cache
CPU的运算速度比主内存的读写速度要快得多,这就使得CPU在访问内存时要花很长的等待时间,从而造成系统整体性能的下降。为了解决这种速度不匹配的问题,需要在CPU与主内存之间加入比主内存更快的SRAM(Static Ram,静态存储器)。
cache的工作原理
SRAM储存了主内存中的数据,使CPU可以直接通过访问SRAM来读写数据。由于SRAM的速度与CPU的速度相当,因而大大缩短了数据读写的等待时间,系统的整体速度也就得到了提高。既然SRAM那么快,为什么不用来作为主内存呢?这是因为SRAM采用了与CPU相类似的半导体制造工艺,成本极高,只有在那些只关心性能不考虑价格的场合才会这样做。这也就使得Cache粉墨登场了,它能将CPU用过的数据,以及结果保存起来,让CPU下次处理时先来访问Cache,如果没有可用的数据再去别处找,以此来提高运行速度。
cache的性能指标
命中率
cpu欲访问的数据已经在cache中的概率
当没有命中时,主存会同时给cpu和cache提供数据,当cpu再次欲使用该数据时,就可以直接从cache中访问数据
例题
1.当主存和cache同时访问时
总的周期是,5/1.2=4.17,4.17-1-3.17倍
2.当先访问cache再访问主存时
cache之前的笔记
3.7虚拟存储器
没怎么听懂
标记:就是虚页号
页框号:就是实页号
4.1指令系统
指令格式
一些常见的指令
四地址指令
含义:取出指令op后,执行A1(op)A2,然后将结果存进A3,A4存放下一条将执行的指令
指令操作数得直接寻址范围是26
完成一条指令需要访存4次
三地址指令
含义:不存储下一条指令
二地址指令
一地址指令
含义:
1.比如只对一个数进行运算时(求补,求反等),就只需要一个存储地址的空间
2.设置寄存器acc,将结果的目的地址设置为acc,就可以只用两次访存
零地址指令
含义:
1.当不需要操作数时
2.当使用的是堆栈时,操作数就在堆栈的栈顶,结果就直接压栈时
操作码(op)的扩展(不定长操作码)
全1的数据不能用作操作码,将会用作拓展位
举个例子
操作码功能
指出指令的功能和类别
指令寻址
两种寻址方式
1.存储器寻址
确定
2.指令寻址
确定下一条指令存放的位置
1.指令寻址
确定下一条指令的指令地址
2.数据寻址
确定本条指令对应的 的操作数地址
三种字长
1.指令字长:指令的二进制代码长度
单字长指令:指令的长度等于机器字长
半字长,双字长
2.存储字长:一个存储单元中存储的二进制代码长度
3.机器字长:cpu一次性能够处理的位数
数据寻址
数据寻址2——偏移寻址
和数据寻址的不同
通俗来说就是数据寻址直接取到地址单元,确认操作数即可,但是偏移寻址还需要+一个数a才能得到真正的操作数所在的地址单元
1.基址寻址
变址寻址
相对寻址
例题:
九种寻址方式
4.3CISC和RISC
CISC:复杂指令集
RISC:精简指令集