1.2.4计算机组成原理
3.存储系统例题分析
存储器是存放被运算数据和程序的关键设备,存储器的速度和容设一直是人们努力解决的核心问题。除了提高主存单元的速度外,人们提出了高速缓存、主存和外存储器的三级结构,在现实情况下,给出了一种较好的解决方案。
(2)主存储器的组成和工作原理例题分析
【例1-69】说明存储系统中三级存储系统的作用原理及实现方法上的异同。
解:三级存储系统的主要目的是在现有技术基础上构造一个高速度大容量的存储器,其速度如同访问寄存器,其容量和磁盘系统一样大。
其原理是基于程序访问的局部性。当执行程序时,其后继指令和所需数据都是相对集中存放的,因此只要把包括当前指令的一个程序段一起取到髙速存储器,则访问后继指令或数据时,很大可能性是这些指令和数据己经取到髙速存储器中,CPU访问时可以很快取走,以提髙运算速度。
主存是一个CPU随机访问的存储器,但其速度比CPU慢一个数最级。为了使主存与CPU速度匹配,特别在CPU和主存之间构造一高速缓冲存储器cache,把正在执行的程序段调入髙速cache中,其后CPU再取指令和数据,大部分可在cache中找到,就不用再访问主存了,因而提高了CPU的访存速度。
用户程序可能是很大的,主存容设又满足不了要求,为了扩大存储器的容量,特别又增加了一个大容量的辅助存储器,用来存放暂不使用的程序和数据。当CPU需要使用辅存中的程序时,再将有关程序成批调入主存储器中,由于程序的局部性原理,CPU需要取后继指令或数据时,只要访问主存就可以得到了,不需要访问辅存,因而大大提高了访问辅存的速度,大大扩充了主存的容量。
理想情况下,如果CPU每次访问辅存中的指令或数据都可在主存中得到,每次访问主存单元都可在髙速缓冲存储器cache中找到,则我们好像得到了一个速度与cache-样快,容:S与辅存一样大的主存储器,这是非常理想的。
CaChe~主存层次和主存一辅存层次的工作原理都是相似的。在访问时,都需要经过地址变换,每次交换数据都是以数据块为单位,都是利用程序局部性原理,如果每次访存cache命中率较髙,则我们将得到一个速度比主存快,容?比主存大的存储器,这是我们期望的。
因为cache-主存层次更强调提高速度,所以地址变换等机制都是采用硬件办法实现的。而主存一辅存层次更侧重于扩大容i,并不苛求于速度,所以地址变换等机制采用软件方法实现。
(3)髙速缓冲存储器例题分析
【例1-70】设有一个存储器,容傲是256KB,cache容傲是2KB,每次交换的数据块是16B。
求:①主存可划分为多少块?②主存地址多少位?cache地址多少位?
③cache容可划分为多少块?
④CPU访问cache进行地址映像时,主存地址分为几个部分?每部分多少位?
解:①主存容蛩256KB,每块16B,主存可划分的块数为:256KB+16B=16K块。
②cache容2KB,每块16B,cache或划分的块数为:2KB+16B-2048+16=128块。
③主存容SU56KB,2I8=256K,主存地址位数为丨8位,cache容蛩为2KB.211=2K,cache地址有11位。
④访问cache时,主存地址可划分为3部分:区号、块号、与块内地址。
区号即主存地址高位标志,其位数是主存地址位数与cache地址位数之差。
本例中高位地址标志(区号)=18-11=7位。
也就是说,整个主存可以分为27=128个区,每个区的容量相当于cache的容ift,(即2KB).
块号:cache中可分为128块,27=128,块地址编号7位.
块内地址,决定每块大小,16=24,每块丨6字节,块内地址4位。
返回目录:程序员考试辅导第一章:计算机系统基础知识
编辑推荐:2013年软考程序员理论知识汇总