下面是由希赛软考网提供的2016年软考程序员例题分析之计算机组成原理,供您参考学习。
1.存储系统例题分析
存储器是存放被运算数据和程序的关键设备,存储器的速度和容设一直是人们努力解决的核心问题。除了提高主存单元的速度外,人们提出了高速缓存、主存和外存储器的三级结构,在现实情况下,给出了一种较好的解决方案。
(1)主存储器的组成和工作原理例题分析
【例1-69】说明存储系统中三级存储系统的作用原理及实现方法上的异同。
解:三级存储系统的主要目的是在现有技术基础上构造一个高速度大容量的存储器,其速度如同访问寄存器,其容量和磁盘系统一样大。
其原理是基于程序访问的局部性。当执行程序时,其后继指令和所需数据都是相对集中存放的,因此只要把包括当前指令的一个程序段一起取到髙速存储器,则访问后继指令或数据时,很大可能性是这些指令和数据己经取到髙速存储器中,CPU访问时可以很快取走,以提髙运算速度。
主存是一个CPU随机访问的存储器,但其速度比CPU慢一个数最级。为了使主存与CPU速度匹配,特别在CPU和主存之间构造一高速缓冲存储器cache,把正在执行的程序段调入髙速cache中,其后CPU再取指令和数据,大部分可在cache中找到,就不用再访问主存了,因而提高了CPU的访存速度。
用户程序可能是很大的,主存容设又满足不了要求,为了扩大存储器的容量,特别又增加了一个大容量的辅助存储器,用来存放暂不使用的程序和数据。当CPU需要使用辅存中的程序时,再将有关程序成批调入主存储器中,由于程序的局部性原理,CPU需要取后继指令或数据时,只要访问主存就可以得到了,不需要访问辅存,因而大大提高了访问辅存的速度,大大扩充了主存的容量。
理想情况下,如果CPU每次访问辅存中的指令或数据都可在主存中得到,每次访问主存单元都可在髙速缓冲存储器cache中找到,则我们好像得到了一个速度与cache-样快,容:S与辅存一样大的主存储器,这是非常理想的。
CaChe~主存层次和主存一辅存层次的工作原理都是相似的。在访问时,都需要经过地址变换,每次交换数据都是以数据块为单位,都是利用程序局部性原理,如果每次访存cache命中率较髙,则我们将得到一个速度比主存快,容?比主存大的存储器,这是我们期望的。
因为cache-主存层次更强调提高速度,所以地址变换等机制都是采用硬件办法实现的。而主存一辅存层次更侧重于扩大容i,并不苛求于速度,所以地址变换等机制采用软件方法实现。
(2)髙速缓冲存储器例题分析
【例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位。
中断系统例题分析
【例1-106】什么叫中断?为什么要设置中断?
解:CPU在执行程序过程中,产生一些突发的偶然事件,要求CPU暂停当前正在执行的程序,转去为突发事件服务。CPU为之服务完毕又自动返回继续执行原程序,这个过程称为中断,因为处理过程是用程序实现的,又叫程序中断。
设置中断的原因。
①提髙CPU工作效率,把CPU从查询I/O状态的等待过程中解放出来。办法是CPU启动I/O后,I/O设备开始工作,CPU自己继续处理原来的工作,等待I/O工作完成后再请求CPU取走数据。这种情况为CPU与丨/0并行工作。
②多台I/O并行工作,提髙I/O速度。
③解决实时处理问题。生产过程中的异常情况,计算机必须立即处理。④计算机运行中出现故障,必须及时处理,因为已经出错了,再继续工作下去也没意义,等待排除故障后再继续运算。
⑤实现多机系统或网络环境下计算机间的通信要求。
⑥提供人机联系的手段。
【例1-107】主机在什么条件下响应中断?
解:外部事件随机提出中断请求,CPU也不是即刻响应的,必须在一定条件下才可能暂时停止现行程序的执行,转去处理中断请求要做的
①CPU允许中断。CPU在一些特殊情况下不允许中断,大多数时候允许中断。为满足这种需要,在CPU中设置一个"中断允许"触发器,当CPU不允许中断时,把"中断允许"触发器置"0",称"关中断",CPU允许中断时,使用指令"开中断",把"允许中断"触发器置"1".
②有中断源请求中断。计算机可以处理哪些中断是在设计计算机时决定的,我们把引起中断的原因称为中断源。因此CPU响应中断时,必须有中断源谘求中断。
③当前指令完成后才能响应中断。因为,处理中断诮求时,还要保存CPU现场,以便返回原程序。只有一条指令完成后才便于保存和返回现场,因此又作此规定。
④申请中断的中断源的级别圾商。因中断源的种类较多。当它们同时请求中断时,必须有一定的优先顺序,CPU先响应级别较高的中断。另外数据通道和DMA的传送请求级别都比中断诮求的级别高,当响应某个中断源的诮求时,必须是当时它的优先级别较高。
⑤申请中断的中断源未被屏蔽。
设计机器时,每一级中断的优先级都是规定了的,是用硬件实现的。但有时希望改变中断源的优先级别,可采用置"屏蔽"的办法,把某个中断源的诮求屏蔽起来,这种中断提出申请也送不到CPU,因为这种屮断源己经被屏蔽了。
具体屏蔽的办法是为每一个中断请求,设置一个"中断屏蔽"触发屏,当该屏蔽触发器为"丨"时,表示该中断源不能申请中断。只有当该中断源的屏蔽触发器为"0"时,该中断但CPU只有在一条指令完成时,才去检査有没有中断请求,有关条件是否具备。如果条件具备。则在此时即可响应中断,转入中断处理程序,此时有一些工作必须马上做,如保存原程序断点,转向中断程序入口等,若用程序实现是很麻烦的。因为不可能在每条指令后都设S这些指令,另外也太耽误时间。为了响应中断。实际上机器中都是采用硬件的办法,设计一个硬件周期--中断周期。当有中断请求,CPU允许中断,在一条指令做完后进行检查,一旦条件具备,机器即转入"中断"周期,采用硬件的办法完成紧要事项。不猫响应中断时,即不插入中断周期。
中断周期内完成三件褀。
①关中断
为了保存完整的CPU现场,转入中断保存现场时,不准再响应新的中断,直到现场保存完毕。
②保存断点
断点是原程序停止时正在执行的指令的地址,为了处理完中断,返回原程序,必须把程序断点保存起来,以便继续执行原来的程序。
③转入中断处理程序总入口
希赛软考网,拥有十四年软考培训经验,希赛教育一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括在线辅导、面授、和网络课堂,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,保障学员顺利通过考试,软考平均通过率在全国。