层次化存储结构
层次化存储结构

层次化的存储结构分为:CPU、Cache(高速缓存)、主存(内存)、外存(辅存)。从左到右,速度越来越慢,容量越来越大。
局部性原理是层次化存储结构的支撑。
局部性原理:一个编写良好的计算机程序常常具有良好的局部性。它们倾向于引用其它最近使用过的指令或访问过的数据。
局部性原理主要分为两类:空间局部性、时间局部性
- 时间局部性:如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。
- 空间局部性:是指一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也可能被访问。
- 工作集理论:工作集是进程运行时被频繁访问的页面集合。
Cache
基本概念和功能
- Cache的功能:提高CPU数据输入输出的速率,突破冯·诺伊曼瓶颈,即CPU与存储系统间数据传送带宽限制。
- 在计算机的存储系统体系中,Cache是访问速度最快的层次,仅次于寄存器。
- 使用Cache改善系统性能的依据是程序的局部性原理。
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统平均周期为t3,则: t3 = h * t1 + (1-h) * t2,其中(1-h)又称为失效率(未命中率)。
主存
分类
主存分类分为两种:随机存取储存器、只读存储器
- 随机存取存储器:(常见的内存就属于)
- DRAM-SDRAM(Dynamic RAM,动态RAM)
- SRAM(Static RAM,静态RAM)
特点:内存一旦断电,内存中的所有数据都会被清除
- 只读存储区:(例如BIOS)
- MORM(Mask ROM,掩模式ROM)
- PROM(Programmable ROM,一次可编程ROM)
- EPROM(Erasable PROM,可擦除的ROM)
- 闪存存储器(flash memory,闪存)
特点:断电之后数据不会丢失。
编址
所谓主存的编址,其实就是将芯片组合成相应的存储器。

8 * 4位的存储器:代表有8个地址空间,4代表每一个地址空间存储了4个bit位的信息。 8 *8 位的存储器:代表有8个地址空间,8代表每一个地址空间存储了8个bit位的信息。 16 * 4位的存储器:代表有16个地址空间,4代表每一个地址空间存储了4个bit位的信息。
内存地址从AC000H到C7FFFH,共有_(1)_ K个地址单元,如果该内存按字(16bit)编址,由28块存储器芯片组成。已知构成此内存的芯片每片有16K个存储但预案,则该芯片每个存储单元存储_(2)_位。(k为1024) (1) A:96 B:112 C:132 D:156 (2) A:4 B:8 C:16 D:24
末尾H代表是十六进制数
- 如何计算地址单元:大地址减去小地址加一 C7FFFH + 1 - AC000H = C8000H - AC000H = 1C000H / 2^10 = 112
- 每个存储单元存储多少位:一共有112K * 16的空间,拆成28个存储器芯片,每个芯片16K个存储单元,则每个存储单元有 位。
磁盘结构与参数
磁盘结构
磁头:读取磁道上的数据
磁道:
- 磁盘上的一组同心圆
- 磁盘上的数据都是存放在磁道上的
- 其宽度与磁头宽度一致
- 为减少磁道与磁道之间的干扰,需要保持一定间隔

扇区
- 磁盘传输的数据是以块为单位的,因此磁盘上也是以块的方式进行存放数据,而这些块通常被称为扇区
- 每个磁道所包括的扇区不等,一般是10~100个扇区,为避免干扰,扇区之间也有间隔空隙

存取时间 = 寻道时间+等待时间(平均定位时间+转动延迟)
注:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下的所用时间。


注意:磁盘一旦开始运行,则不回停止,会一直匀速运动。
旋转周期为33ms,一共11个扇区,则读取时间为3ms。
单缓冲区顺序处理完这些记录耗时:(33ms + 3ms) * 10 + 3ms + 3ms = 366ms
前10个扇区处理时间:3ms为处理数据时间 + 33ms为旋转到对应扇区时间
第11个扇区:3ms旋转时间 + 3ms处理时间
存储优化后的时间:33ms * 2 = 66ms (仅需要旋转两圈) 
