计算机组成原理第三章总结

常见知识点

1s=103ms(毫秒)=106us(微秒)=109ns(纳秒)

8bit(位)=1Byte(字节)
210B=1KB
210KB=1MB
210MB=1GB
210GB=1TB

char:1字节
int:2字节
short int:2字节
long int:4字节
unsigned: 2字节
float:4字节
double:8字节

  • 位:表示的是二进制的位(bit)
  • 字节:Byte是计算机处理数据的基本单位,计算机以字节为单位存储和解释信息
    性质:字节是最小的计算单位;字节表示存储器的容量
    1Byte=8bit,一个字节是8个比特、一个字节由8位组成。对于8位二进制,00000000~11111111。一个字节可以存入一套ASCII码
  • 字:计算机在进行数据处理,一次存取、加工、传送的数据长度称为字(word)。一个字一般由多个(整数倍)字节构成
    性质:1word=2Byte=16bit
    一个字由两个字节组成,16位组成
    通常称16位是一个字,32位是一个双字,64位是两个双字
    计算机的字长决定CPU一次处理实际位数的多少,字长越大,性能越优
  • 字长:计算机的每个字包含的位数称为字长
    性质:计算的字长是指它一次可处理的二进创数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。
    如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。
    大型计算机的字长为32―64位,小型计算机为12―32位,而微型计算机为4一16位。字长是衡量计算机性能的一个重要因素

存储器层次结构

存储器的基本概念:

一、分类:

一个完整的存储系统应该包括主存、高速缓冲(Cache)和辅存

1、存储器性能指标:存储容量、存取时间、单位成本和存储速度。一般来说,速度越快,价格越高;容量越大,价格就越低,而且容量越大,速度必定越低
1)存储容量 = 存储字数 x 字长
2)单位成本:每位价格 = 总成本 / 总容量
3)存储速度:数据传输率 = 数据的宽度 / 存储周期
注:存储周期:读写周期 或 访问周期,连续两次独立地访问存储器操作之间所需的最小时间间隔。存取周期 < 存储周期

二、存储器层次化结构

计算机组成原理第三章总结_第1张图片

存储系统的层次结构主要体现在缓存-主存和主存-辅存这个两个存储层次上
计算机组成原理第三章总结_第2张图片
Cache的内容可以在主存和辅存中找到;主存的内容可以在辅存中找到

三、

半导体存储芯片基本结构
计算机组成原理第三章总结_第3张图片
计算机组成原理第三章总结_第4张图片
半导体存储芯片的译码驱动方式:
①线选法(单译码) ②重合发(双译码)
1)线选法 (以161B为例):计算机组成原理第三章总结_第5张图片
2)重合法(以1k
1bit为例):
计算机组成原理第三章总结_第6张图片

(一).SRAM存储器:
由六管静态MOS(双稳态管)做存储元件,不掉电的前提下,信息不会丢失,存取速度快,但不宜构造大容量存储器
1.读时序
计算机组成原理第三章总结_第7张图片
2.写时序
计算机组成原理第三章总结_第8张图片

(二).DRAM存储器:
由电容做存储元件,即使不掉电也需要通过刷新保持所存储的信息,存取速度慢,易构成较大容量的存储器;在读取数据时,是破坏性读取
1.DRAM基本单元电路计算机组成原理第三章总结_第9张图片
计算机组成原理第三章总结_第10张图片
2.刷新(与行地址有关):每个存储单元在不指明的情况下,默认为2ms刷新一次
刷新方式:集中刷新、分散刷新和异步刷新(刷新的实质是读出后原样写入)
1)集中刷新:把刷新操作集中到一段时间内集中进行。而刷新时不能进行读写操作,所以刷新这段时间也称“死时间”,又称为访存“死区”
以128x128矩阵为例计算机组成原理第三章总结_第11张图片
2)分散刷新:将刷新操作分进行,周期性地进行。

  • 分散刷新的存储周期已经不再是传统存储周期
    存储周期 = 读或写周期 + 刷新一行的时间
  • 分散刷新将存储器的存储周期人为地延长了,因此严重降低了系统速度
    计算机组成原理第三章总结_第12张图片

3)异步刷新:就是把存储矩阵的每行分散到2ms时间内刷新,但不是集中刷新,而是平均分配
计算机组成原理第三章总结_第13张图片

SRAM与DRAM比较
都采用随机存取方式进行信息访问计算机组成原理第三章总结_第14张图片

(三).只读存储器:
特点:结构简单,非易失性所以可靠性高;访问速度比RAM低
1)掩模型只读存储器(MROM):,制造时写入内容,只能读不能写入;基本原理是以元件的“有/无”来表示该存储单元的信息("1"或“0”)
2)可编程只读存储器(PROM)(使用熔丝存储数据):属于一次性写入的存储器,内容由用户自行写入
3)可擦除可编程只读存储器(EPROM)(使用悬浮栅存储数据):能多次修改ROM内容;是用高压写入数据,可以使用紫外线将其全部内容擦除(不能局部擦除)
4)电可擦除可编程只读存储器(EEPROM):原理同EPROM相同,但擦除也使用高压;既可局部擦除,也可全部擦除
5)Flash:是在EPROM和E2PROM基础上发展来的

  • 主要特点:即可在不加电的情况下长期保存信息,又能在线进行快速擦除和重写

6)固态硬盘(SSD)

四、主存与CPU的连接

连接原理

  • ①主存通过数据总线、地址总线、控制总线与CPU连接
    ②数据总线的位数与工作频率的乘积正比于数据传输率
    ③地址总线的位数决定了可寻址的最大内存空间
    ④控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻

1、位扩展:a x b,增加的是后面的b
2、字扩展:a x b,增加的是前面的a
3、字位扩展先进行位扩充,再进行字扩充

五、双口RAM和多模块存储器

5.1、双口RAM:具有两组相互独立的地址线、数据线和读/写控制线。由于它可以进行并行的独立操作,因此是一种高速工作的存储器;为避免冲突,设有BUSY位(脏位)

  • 可同时对同一区间、同一单元进行读操作;但不能一方读一方写,也不能同时写,只要有写操作就不能同时

5.2、多模块存储器
5.2.1、单体多字存储器:指令和数据在主存内必须连续存放

  • 特点:存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m个字。一次并行读出m个字,地址必须顺序排列并处于同一存储单元。
  • 缺点:指令和数据在主存内必须是连续存放的,一旦遇到转移指令,或操作数不能连续存放,这种方法的效果就不明显。

5.2.2、多体并行存储器:由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器;可并行工作也能交叉工作

  • 1)高位交叉编制:顺序存储(一个体存满后再存入下一个体),高位体号,低位体内地址
    优点:非常有利于存储器的扩充,只需要将存储单元的编号往后加即可。
    缺点:由于各个模块一个接一个地串行工作,因此存储器的带宽受到了限制
  • 2)低位交叉编制:交叉存储,低位体号,高位体内地址
六、Cache

1.基本工作原理:

  • 局部性原理: CPU从主存取指令或取数据,在一定时间内,只是对主存局部地址区域的访问(时间局部性、空间局部性)。==>人们将CPU近期需要的程序提前存放到Cache中。

一般Cache采用SRAM制作(主存一般采用DRAM)

  • 1)主存:由一个个的字块组成,每个字快包含N个字
    主存地址分为两部分:一部分用来寻找某个字块;另一部分用来寻找该字块中的字或字节;高m位表示主存的块地址,低b位表示其块内的字或字节数,则2m=M表示主存的总块数

  • 2)Cache:地址也有两部分,gaoc为表示Cache的块号,低b为表示其块内的字或字节数,则2c=C表示Cache的总块数,当然Cache的块数C应当远远小于主存块数M

2.与主存之间的映射方式:Cache行中的信息是主存中某个快的副本,地址映射是指把主存地址空间映射到Cache地址空间,即把存放在主存中的信息按照某种规则装入Cache

  • 1)直接映射:主存中的每一块只能装入Cache中唯一的位置。若这个位置已有内容,则产生冲突,原来的块会被无条件的替换出去(无替换算法)。
    优点:实现简单
    缺点:不灵活,冲突概率高
    j = i mod 2c ==> j是Cache的块号(行号),i是主存的块号,2c是Cache中总块数。由映射函数可以看出,主存块号的低c位正好是它要装入的Cache行号。给每个Cache行设置一个长为 t = m - c 的标记(tag),当主存调入Cache后,就将其块号的高 t 位设置在对应Cache行的标记中
    直接映射的地址结构:
    | 标记 | Cache行号 | 块内地址 |
  • 2)全相联映射:主存中的块可以装入Cache中的任意位置,每行的标记用于指出该行取自主存的哪一块,所以CPU访存是需要与所有Cache行的标记进行比较。
    优点:冲突概率低、空间利用率高、命中率高
    缺点:标记的比较速度较慢、实现成本高
    全相联映射的地址结构:
    | 标记 | 块内地址 |
  • 3)组相联映射:将Cache空间分为大小相同的组,主存的一个数据块可以装入一组内的任何位置,即组间采用直接映射,而组内采取全相联映射
    j = i mod Q ==> j是Cache行号,i是主存的块号,Q是Cache的组数
    组相联映射的地址结构:
    | 标记 | 组号 | 块内地址 |
  • Cache标记项的概念:每个Cache行对应一个标记项(包括有效位、标记为Tag、一致性维护位、替换算法控制位)

3.替换算法:

  • 1)先进先出(FIFO)算法:选择最早调入的Cache字块进行替换
    优点:容易实现,开销小
    缺点:不能提高Cache的命中率
  • 2)近期最少使用(LRU)算法:最近最少使用。命中率较LRU更高,是堆栈类算法

4.写操作策略:

  • 1)全写法:当CPU对Cache写命中时,必须把数据同时写入Cache和主存。当某块需要替换时,不必把这一块写回主存,用新调入的快直接覆盖即可。
    缺点:增加了访存次数,降低了Cache效率
    优点:实现简单,能随时保持主存数据的正确性
  • 2)写回法:当CPU对Cache写命中时,只修改Cache的内容,而不立即写入主存,只有该块被换出时才写回主存。
    这种方法减少了访存次数,但存在不一致的隐患
  • 3)写一次法
七、虚拟存储器

1.基本概念

  • 1)虚拟存储器是一个逻辑模型。
  • 2)虚拟存储器必须建立在主存-辅存结构上,但两者的差别是:
    虚拟存储器允许使用比主存容量大得多的地址空间;虚拟存储器每次访问时,必须进行虚实地址变换。
  • 3)虚拟存储器的作用是分割地址空间,解决主存的容量问题和实现程序的重定位。
  • 4)虚拟存储器和Cache都基于程序局部性原理

2.页式虚拟存储: 以页为基本单位的虚拟存储器称为页式虚拟存储器。虚拟空间与主存空间都被划分成同样大小的页。
1)虚拟地址分为两个字段:虚页号 + 页内地址
2)每个进程都有一个页表基址寄存器,存放该进程的页表首地址,然后根据虚拟地址高位部分的虚页号和找到对应的页表项,若有效位为1,则取出物理页号,和虚拟地址低位部分的页内地址拼接,形成实际物理地址;若有效位为0,说明缺页。
优点:页面长度固定,页表简单,调入方便
缺点:由于程序不可能正好是页面的整数倍,最后一页的零头将无法利用而造成浪费;不如段式存储方便

3.TLB:一般的页表成为慢表,放在主存中;将当前最常用的页表信息放在一个小容量的高速存储器中,称为快表。
访问页面时,先查块表,若没有==>慢表(类似于主存与Cache的关系)

你可能感兴趣的:(考研)