2018-2019-1 20165202 《信息安全系统设计基础》第五周学习总结
2018-2019-1 20165202 《信息安全系统设计基础》第五周学习总结
本周学习内容
存储技术
随机访问存储器
随机访问存储器(Random-AccessMem)分为两类:静态的和动态的。静态RAM (SRAM)比动态RAM(DRAM)更快,但也贵得多。SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。
静态存储器:
SRAM将每个位存储在一个双稳态的(bitable)存储器单元里。每个单元是用一个六晶体管电路来实现的。
动态RAM:
DRAM将每个位存储为对一个电容的充电。这个电容非常小,通常只有大约30毫微微法拉 (femtofarad)——30*10^15法拉。不过,回想一下法拉是一个非常大的计量单位。DRAM存储 器可以制造得非常密集——每个单元由一个电容和一个访问晶体管组成。
非易失性存储器
如果断电,DRAM和SRAM会丢失它们的信息,从这个意义上说,它们是易失的(volatile)。另一方面,非易失性存储器(nonvolatilememory)即使是在关电后,也仍然保存着它们的信息。
PROM (Programmable ROM,可编程ROM)只能被编程一次。PROM的每个存储器单元有一种熔丝(fUse),它只能用高电流熔断一次。可擦写可编程ROM (Erasable Programmable ROM, EPROM)有一个透明的石英窗口,允许 光到达存储单元。EPROM能够被擦除和重编程的次数的数量级可 以达到 1000 次。电子可擦除 PROM (Electrically Erasable PROM, EEPROM)类似于 EPROM,但是它不需要一个物理上独立的编程设备,因此可以直接在印制电路卡上编程。EEPROM能够 被编程的次数的数量级可以达到105次。闪存(flash memory)是一类非易失性存储器,基于EEPROM,它已经成为了一种重要的存储技术。
磁盘存储
磁盘是由盘片(platter)构成的。每个盘片有两面或者称为表面(surface),表面覆盖着磁性记录材料。盘片中央有可旋转的主轴,可以让盘片以固定的旋转速率旋转,通常是 5400〜15000 转每分钟,磁盘通常包含一个或多个这样的盘片,封装在密封容器内。
一个典型的磁盘表面的结构。每个表面是由一组称为磁道(track)的同心圆组成的。每个磁道被划分为一组扇区(sector)。每个扇区包含相等数量的数据位(通常是512字 节),这些数据编码在扇区上的磁性材料中。扇区之间由一些间隙(gap)分隔开,这些间隙中不存储数据位。间隙存储用来标识扇区的格式化位。
磁盘容量:
磁盘操作:
固态硬盘
一个编写良好的计算机程序常常具有良好的局部性(locality)。也就是说,它们倾向于引用 邻近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。这种倾向性,被称为 局部性原理(principle of locality),是一个持久的概念,对硬件和软件系统的设计和性能都有着 极大的影响。
局部性通常有两种不同的形式:时间局部性(temporal locality)和空间局部性(spatial locality)。在一个具有良好时间局部性的程序中,被引用过一次的存储器位置很可能在不远的将来再被多次引用。在一个具有良好空间局部性的程序中,如果一个存储器位置被引用了一次,那 么程序很可能在不远的将来引用附近的一个存储器位置。
局部性小结:
在这一节中,我们介绍了局部性的基本思想,还给出了一些量化评价一个程序中局部性的简单原则:
- 重复引用同一个变量的程序有良好的时间局部性。
- 对于具有步长为t的引用模式的程序,步长越小,空间局部性越好。具有步长为1的引 用模式的程序有很好的空间局部性。在存储器中以大步长跳来跳去的程序空间局部性会很差。
- 对于取指令来说,循环有好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。
本周学习问题总结
问题1:
什么是存储器的分层结构?简要说明其特点
解决1:
- 存储器类型:
大部分计算机系统都使用两种基本类型的存储器:随机存储器(RAM)和只读存储器(ROM).
RAM即为主存储器,在计算机执行程序时用来存放程序和数据。但是RAM是一种易失性的存储器,断电时RAM所存储的信息会丢失。
现在的计算机系统一般采用两种类型的存储器芯片来构建大规模的RAM存储器:静态随机存储器(SRAM)和动态随机存储器(DRAM)。
DRAM由一个小电容构成,由于电容会漏电,因此DRAM需每隔几个毫秒充电才能保持数据。相比之下SRAM只需电源供电不断就可以维持它所保存的数据。SRAM由类似之前说过的D触发器电路构成,SRAM速度比DRAM快。但是DRAM的存储密度高,功耗小。
因此,DRAM用作主存储器,而SRAM用作高速缓存存储器。
DRAM还可以分成许多类型:
MDRAM 多层结构的DRAM
FPM 快速翻页模式的DRAM
SDRAM 同步动态随机存储器
- 除了RAM存储器外,大部分计算机系统还使用了一定数目的ROM存储器来存放一些运行计算机系统所需要的关键信息。ROM属于非易失性的存储器。
有5种不同类型的ROM存储器:
ROM、PROM、EPROM 、EEPROM 和闪存
PROM称为可编程只读存储器,它是ROM的一种改进类型。
EPROM为可擦除PROM,是一种可重复编程的可编程存储器(利用紫外线擦除)
EEPROM是电可擦除PROM。
闪存本质上也是一种EEPROM,支持按块来擦写数据。
- 存储器的层次结构:
结构系统基本类型:寄存器、高速缓存、主存储器和辅助存储器。
按存储器离处理器的距离来对存储器进行分类。离处理器最近的存储器,是最快的存储器。
以下是一些基本的术语:
命中:CPU请求的数据就驻留在要访问的存储器层中。
缺失:CPU请求的数据不在要访问的存储器层。
命中率:访问某个特定的存储器层时,CPU找到所需数据的百分比。
缺失率:访问某个特定的存储器层时,CPU找不到所需数据的百分比。
命中时间:在某个特定的存储器层中,CPU取得所请求的信息需要的时间。
缺失损失:CPU处理一次缺失事件所需要的时间。
-
对于任何给定的数据,处理器首先将访问数据的请求传送给存储器中速度最快,规模最小的存储器层,通常是高速缓存存储器,而不是寄存器。因为寄存器通常用于更专门的用途。如果在高速缓存中找到所需数据,这些数据就会被装入CPU的寄存器中。如果没有找到,那么访问数据的请求就会被传送到下一个较低层次的存储器系统。如果找到所需的数据,CPU会将数据所做的整个字块的内容转移到高速缓存中。如果未找到,请求又将传送到下一层次中,以此类推。
这里的重点是:较低层的存储器会响应较高层的存储器对位于存储单元X处的数据请求。同时较低层也会将位于地址X+1,X+2,…处的数据送出,也就是将整块数据块返回较高层的存储器系统。计算机程序都具有局部性,这种局部性的特点是允许处理器可以访问从地址X+1,X+2等处返回的数据。 -
引用局部性:计算机程序对存储器的引用常会有集中成组成簇的形式,这就是引用的局部性。引用局部性有下面三种基本形式:
时间局部性:最近访问过的内容很可能在不久的将来再次被访问
空间局部性:对存储器地址空间的访问形成团簇的集中倾向
顺序局部性:访问存储器的指令倾向于按顺序执行。
-
主存储器的性能指标:
存储容量:指一个存储器中可以容纳的存储单元总数
存取时间:又称存储器访问时间。指一次读操作命令发出到该操作完成,将数据读出到数据总线上所经历的时间。
存储周期:指连续启动两次读操作所需间隔的最小时间。
存储器带宽:单位时间里存储器所存取的信息量。带宽是衡量数据传输速率的重要技术指标。 -
SRAM存储器:
1)基本的静态存储元阵列
SRAM的优点是存取速度快,但存储容量不如DRAM。
所有的SRAM的特征是用一个锁存器(触发器)作为存储元。只要直流供电电源一直加在这个记忆电路上,它就无限期地保持记忆的1状态或0状态。如果电源断电,那么存储的数据就会丢失。
任何一个SRAM,都有三组信号线与外部打交道:
a. 地址线:A1,A2,A3…..An,它指定了存储器的容量是2^6=64个存储单元。
b. 数据线:I/O0,I/O1,I/O2,…,I/On,它指定了存储器字长是n位。
c. 控制线:指定了对存储器进行读(R/非W高电平)还是进行写(R/非W低电平)。
2)基本的SRAM逻辑结构
目前的SRAM芯都采用了双译码的方式,以便组织更大的存储容量。这种译码方式实质上采用了二级译码:将地址分成x向和y向两部分。第一级进行x向(行译码)和y向(列译码)的独立译码。然后在存储阵列中完成第二级交叉译码。 -
DRAM存储器:
1) DRAM的存储元记忆原理:
DRAM存储器容量极大,通常作为计算机的主存储器。
DRAM存储器的存储元是由一个MOS晶体管和电容器组成的记忆电路。MOS作为开关使用,而所存储的信息1或0则由电容器上的电荷量来体现。
2) 刷新周期:
DRAM存储元是基于电容器上的电荷量存储,会随着时间和温度减少,因此必须定期刷新。
刷新操作有集中式刷新和分散式刷新:
集中式刷新:DRAM的所有行在每一个刷新周期中都会被刷新。例如对刷新周期为8ms的内存来说,所有行的集中式刷新必须每隔8ms进行一次。为此将8ms分为两部分:前一段时间进行正常的读/写操作,后一段时间(8ms至正常的读/写周期)作为集中式刷新操作时间。此时正常的读写操作停止,数据线输出被封锁。等所有行刷新结束后,恢复正常的读写周期。
分散式刷新:每一行的刷新插入到正常的读写周期之中。