Part 1主存储器:
主存储器可以采用直接存储、随机存储,两种方式,可在运行期间内对所需要的程序和数据访问,该速度是影响计算机性能的主要原因。
分类:随机存储器、只读存储器
随机存储器(RAM):特点可读可写;包括DRAM(动态RAM)和SRAM(静态RAM)。DRAM数据易丢失,需要定时刷新需要保存的数据。SRAM断电数据可以保存。其中,DRAM密度>SRAM,切DRAM更便宜;而SRAM速度更快(因为不用刷新电路),但是容量更小,价格高。
只读存储器(ROM),又称固定存储器。特点:只读不写,数据不会改动,常用于存储BIOS。
对主存的编址方式特点,每个单元的位数是相同的,采用按字节编址(8bit),按字编制(字的大小会变,常见是16bit)。
例如:主存地址从AC000H到C7FFFH,如果该主存按字(16bit)编址。若该主存由28片存储器芯片构成,已知构成此主存的芯片每片有16KB,则该芯片每个存储单元存储多少位?
①计算主存的大小:C7FFFH-AC000H=1BFFFH=112KB
②计算主存的位数:112KB*16 = 1792KB
③计算芯片的存储单元:1792/(28*16KB)=4bit
Part 2辅存储器:
辅存储器是常用于和主机成批交换数据的存储器,大多数位于计算机外面,特点:容量大、可靠性高(寿命长)、价格低。
常见的两类辅存储器:
①磁带存储器,特点:数据采用顺序存储,存储时间长,容量大,便于携带,价格便宜。目前常用归档数据存储。
②硬盘存储器,特点:信息存储在磁道上,息分布层次分明,存在以下存储层次(由大到小):记录面、圆柱面、磁道、扇区。读取数据采用磁头臂读取,存在多个磁头臂的时候,单个磁头不能单独移动。在磁盘中,次导数=柱面数。特地划分出柱面的原因:提高存储速度,针对一个较大的数据,一个磁道无法存储完整的时候,尽可能将多的内容存在一个柱面的磁道上,以便于数据的读取。
辅助存储器的存取时间=寻道时间(寻找磁道时间)+ 旋转延迟(磁头移动时间)
Part 3 Cache存储器
Cache的主要功能是:提高CPU数据输入输出的速率。它容量小,速度快。有人说Cache存储器的出现突破了“冯·诺依曼瓶颈”,即采用了Cache提高了CPU与存储系统之间数据传送的速度限制。适当优化调度算法,可以改善系统性能,极限衡量 访存速度=访cache速度。
Cache通常采用项链存储器CAM,CAM是基于数据内容访问的存储器。在写数据时,能够自动选择一个未被使用的空单元存储;在读取数据时,CAM单元中数据与内存中比较,如果满足条件则读取。在数据比较的过程中,是同事并行进行的,所以比基于地址读取要快得多。
Cache的原理得力于程序局部性原理。将正在使用的指令与数据相邻的存储单元内数据放入Cache中,使的未来将要使用的时候,将从Cache中读取,提高了整体运行速度。
系统平均访问周期= Cache访问周期*命中率 + 主存访问周期 * (1-命中率)
例题:设某计算机主存的读写时间为100ns,有一个指令数据合一的cache一直Cache的读写时间为10ns,取指令命中率为98%,取数据命中率95%,在执行某类程序越有1/5指令要存储操作数,若流水线不堵塞,求指令访存时间。
①套用公式:98%*10ns + 100ns*(1-98%) + 1/5 *[(95%*10) + (1-95%)*10ns] = 14.7ns