学号20145220《信息安全系统设计基础》第9周学习总结
教材学习内容总结
存储技术
随机访问存储器
随机访问存储器分为:静态的SRAM、动态的DRAM
静态RAM:
SRAM的特点:存储器单元具有双稳态特性,只要有电就会永远保持它的值,干扰消除时,电路就会恢复到稳定值。
动态RAM:
DRAM的特点:每一位的存储是对一个电容的充电;对干扰非常敏感。
用途:数码照相机和摄像机的传感器
DRAM存储不稳定的应对机制:
存储器系统必须周期性地通过读出,或者重写来刷新存储器的每一位;
使用纠错码
SRAM和DRAM的区别
只要有电,SRAM就会保持不变,而DRAM需要不断刷新;
SRAM比DRAM快;
SRAM对光和电噪声等干扰不敏感;
SRAM比DRAM需要使用更多的晶体管,所以更昂贵
传统的DRAM
DRAM芯片中的单元(位)被分成了d个超单元,每个超单元都由w个DRAM单元组成, 一个d*w的DRAM共存储dw位信息。超单元被组织成一个r行c列的长方形阵列,rc=d。每个超单元的地址用(i,j)来表示(从零开始)。设计成二维矩阵是为了降低芯片上地址引脚的数量。
信息通过称为引脚的外部连接器流入/流出芯片,每个引脚携带一个1位信号。
每个DRAM信号被连接到称为存储控制器的电路,电路每次传输量为8位。行地址i,RAS请求;列地址j,CA
请求共享相同的DRAM地址引脚。组织成二维阵列而不是线性数组的一个原因是降低芯片上地址引脚的数量。
二维阵列阻止的缺点是必须分两步发送地址,这增加了访问时间。
存储器模块
双列直插存储器模块(DIMM):168个引脚,以64位为块传入/传出数据到存储控制器。
单列直插存储器模块(SIMM):72个引脚,以32位为块传入/传出数据到存储控制器。
增强的DRAM
快页模式DRAM(FPM DRAM):异步控制信号,允许对同一行连续的访问可以直接从行缓冲区得到服务。
扩展数据输出DRAM(EDO DRAM):异步控制信号,允许单独的CAS信号在时间上靠的更紧密一点
同步DRAM(SDRAM):同步的控制信号,比异步的快
双倍数据速率同步DRAM(DDR SDRAM):使用两个时钟沿作为控制信号,使DRAM速度翻倍。
Rambus DRAM(RDRAM):一种私有技术
视频RAM(VRAM):用在图形系统的帧缓冲区中。
非易失性存储器
存储在ROM中的程序通常称为固件。
可编程ROM(PROM):只能被编程一次
可擦写可编程ROM(EPROM):使用紫外线实现
电子可擦除PROM(EEROM):使用印制电路卡实现
闪存(FM):非易失性存储设备
访问主存
读事务:从主存传送数据到CPU
写事务:从CPU传送数据到主存
总线:一组并行的导线,能携带地址、数据和控制信号。
系统总线:连接总线接口和I/O桥
存储器总线:连接I/O桥和主存
磁盘存储
磁盘构造:磁盘由盘片构成,表面覆盖着磁性记录材料,中央有一个可以旋转的主轴 ,旋转速率大约为5400-15000每分钟。磁盘的每个表面是一组称为磁道的同心圆组成,每个磁道被划分为一组扇区,扇区之间由一些间隙隔开,间隙存储用来标识扇区的格式化位。
磁盘容量由以下技术因素决定:
记录密度(位/英寸):磁道一英寸的段中可以放入的位数。
磁道密度(道/英寸):从盘片中心出发半径上一英寸的段内可以有的磁道数
面密度(位/平方英寸):记录密度与磁道密度的乘积。
存储器层次结构:
层次结构
中心思想:每层设备都是下一层的缓存
缓存命中
当程序需要第k+1层的某个数据对象d时,首先在当前存储在第k层的一个块中查找d,如果d刚好缓存在第k层中,就称为缓存命中。
该程序直接从第k层读取d,比从第k+1层中读取d更快。
缓存不命中
即第k层中没有缓存数据对象d。
这时第k层缓存会从第k+1层缓存中取出包含d的那个块。如果第k层缓存已满,就可能会覆盖现存的一个块:
覆盖一个现存的块的过程称为替换/驱逐这个块。
被驱逐的块有时也称为牺牲块。
缓存不命中的种类
强制性不命中/冷不命中:即第k层的缓存是空的(称为冷缓存),对任何数据对象的访问都不会命中。通常是短暂事件,不会在反复访问存储器使得缓存暖身之后的稳定状态中出现。 冲突不命中:由于一个放置策略:将第k+1层的某个块限制放置在第k层块的一个小的子集中,这就会导致缓存没有满,但是那个对应的块满了,就会不命中。 容量不命中:当工作集的大小超过缓存的大小时,缓存会经历容量不命中,就是说缓存太小了,不能处理这个工作集。
冲突不命中
第k+1层的第i块,必须放置在第k层的块(i mod 4)中,这种限制性的放置策略引起冲突不命中。
容量不命中:
当工作集的大小超过缓存的大小时
放置策略:
发生了不命中,第k层的缓存就必须执行某个放置策略,确定把它从第k+1层中取出来的块放在哪里
6.4高速缓存存储器:
通用的高速缓存存储器结构
一个计算机系统每个存储地址有m位,形成M=2^m个不同的地址。
高速缓存被组织成一个有S=2s个高速缓存组的数组,每个组包含E个高速缓存行,每个行是由一个B=2b字节的数据块、一位有效位以及t=m-(b+s)个标记位组成,唯一标识存储在这个高速缓存行中的块。
高速缓存的结构用元组(S,E,B,m)来描述,高速缓存的大小C = S * E * B。
s个组索引位:一个无符号整数,说明字必须存储在哪个组中。
t个标记位:组中的哪一行包含这个字。
b个块偏移位:在B个字节的数据块中的字偏移。
直接映射的高速缓存
每组只有一行(E=1)的高速缓存称为直接映射高速缓存。高速缓存确定一个请求是否命中,然后抽取出被请求字的过程分为三步:1)组选择,2)行匹配,3)字抽取。
直接映射高速缓存中的组选择:高速缓存从要抽取的字的地址中抽取出S个组索引位,这些位被解释成一个对应于一个组号的无符号整数。
直接映射高速缓存中的行匹配:当且仅当设置了有效位,而且高速缓存行标记与w的地址中的行标记相匹配时,这一行中包含w的一个拷贝。
直接映射高速缓存中的字抽取:块偏移位提供了所需要的字的第一个字节的偏移。
直接映射高速缓存中不命中时的行替换:需要从存储器层次结构中的下一层取出被请求的块,然后将新的块存储在组索引位指示的组中的一个高速缓存行中。
其他(感悟、思考等,可选)
今天我们做了实验,我只做到实验二,但是我感觉还是有很多不会的地方,希望老师可以多多帮助我。我会尽快完成实验的。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |