2017-2018-1 学号20155311 《信息安全系统设计基础》第9周学习总结
2017-2018-1 学号20155311 《信息安全系统设计基础》第9周学习总结
了解常见的存储技术:
RAM、ROM的区别:
- ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
- ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类:
- 一种称为静态RAM(StaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
- 另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
- DRAM分为很多种:
常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
ROM也有很多种,
- PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)
- 两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。
- 举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。
磁盘存储
计算磁盘容量的公式:
磁盘容量 = 字节数/扇区 X 平均磁盘数/磁道 X 磁道数/表面 X 表面数/盘片 X 盘片数/磁盘
- 访问时间=寻道时间+旋转时间+传送时间;
固态磁盘
固态硬盘是一种基于闪存的存储技术。
性能特性:顺序读和写(CPU按顺序访问逻辑磁盘块)性能相当,顺序读比顺序写稍快一点;随机顺序访问逻辑块时,写比读慢一个数量级;读写性能差别是由底层闪存基本属性决定的。
局部性原理
- 程序的局部性原理是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。
- 局部性原理又表现为:时间局部性和空间局部性。
- 时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。
- 空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。
存储器层次结构
- 存储技术:不同的存储技术的访问时间差异很大
- 计算机软件:一个编写良好的程序倾向于展示处良好的局部性
- 存储器层次结构:硬件和软件的基础属性互相补充的完美,使人想到一种组织存储器系统的方法。
存储器层次结构中的缓存
- 高速缓存(cash)是一个小而快速的存储设备,使用高速缓存的过程成为缓存
- 最小的缓存——CPU寄存器集合
- 数据总是以块大小为传送单元在第k层和第k+1层之间来回拷贝。
- 缓存命中:当程序需要第k+1层的某个数据对象d时,它首先在当前存储在第k层的一个块中查找d,如果d刚好缓存在第k层中的情况。
- 缓存不命中:第k层中没有缓存数据对象d的情况
- 强制性不命中或冷不命中:k层的缓存是空的——冷缓存
- 冲突不命中:限制性的放置策略引起的不命中
- 容量不命中:工作集的大小超过缓存的大小时。
- 替换或驱逐:替换一个现存的块的过程。
- 牺牲快:被驱逐的这块。
- 替换策略:控制决定该替换哪个块的策略
- 利用时间的局部性:由于时间局部性,同一数据对象可能会被多次使用。
- 利用空间的局部性:块通常包含有多个数据的对象。
高速缓存存储器
高速缓存组:S = 2^m个高速缓存组的数组
高速缓存行:B = 2^m字节的数据块组成
每个存储器地址有m位,形成M=2^m个不同的地址。
有效位:指明这个行是否包含有意义的信息
标记位:唯一地标识存储在这个高速缓存行中的块,t = m -(b+s)
教材学习中的问题和解决过程
- 高速缓存那里有点没有读懂。。。
- 仔细研究才发现每个寄存器地址有m位,形成M=2^m个不同的抵制
高速缓存被组织成一个有S=2^s个高速缓存组的数组
每个组包含E个高速缓存行
每个行由一个B=2^b字节的数据块组成的
一个有效位指明这个行是否包含有意义的信息
t=m-(b+s)个标记位是当前块的存储器地址的位的子集
高速缓存的大小C:指的是所有块的大小的和,标记位和有效位不包含在内,C=S×E×B
代码调试中的问题和解决过程
无