高级程序员考试试题分析
——计算机硬件基础知识(高级程序员级)
高级程序员资格和水平考试试题共15个硬件基础知识4个题内容涉及:
1.随机存储器种类特性。
2.虚拟存储器特性及工作原理。
3.数据可靠性编码CRC及工作原理。
4.精简指令计算机RISC的特性。
一、主存储器的种类和特性(第九题)
主存储器用来存放正在运行的程序所需的和常用的指令和数据。是CPU直接访问的部件。主机对主存的主要要求是速度快。主存通常包括,随机读写存储器RAM和只读存储器ROM。
1.可随机读写,只要不断电其存储内容一直保持不变的存储器芯片叫静态随机读写存储器SRAM,其单元存储原理类似触发器。
2.可随机读写,但需要不断刷新才能保持其中存储信息的芯片称为动态随机读写存储器DRAM,这种芯片是用动态MOS电路构成的。
利用电容的充电来存储数据但因电路本身总有漏电,因此需定期不断补充充电才能保持其存储的数据。
注意DRAM即使在不断电的时候,也必须定时刷新,但这种刷新是自动进行的并不需要使用人员干预。
3.生产厂家在产品出厂前利用掩膜技术已经写好数据的存储器称为只读存储存储器ROM。使用者无法改变其中的内容,常用来存放固定程序。
4.用户在使用ROM时感到不方便,有时偶尔需要改变ROM的内容时,可采用EPROM称为可擦除的可编程的只读存储器。但每次擦除需要用紫外线直接照射这种芯片15~20分钟,而写入数据时必须使用特殊装置。因此在机器运行过程中仍是只读不写的。
5.一种新型的存储器闪速存储器FM已经面世。其特点是可以用信号在几秒钟内快速地擦除芯片内容的一部分或全部但不能对指定单元(字节)单独进行擦除。
二、虚拟存储器(第十题)
1.主存的特点是速度快但容量小,CPU可直接访问。外存的特点的容量大和速度慢,CPU不能直接访问。用户的程序和数据通常放在外存中。因此需要经常在主有与外存间取来送去。由用户来干预调度很不方便。虚拟存储器用来解决这个矛盾,使用户感到他可以直接访问整个内外存空间,而不需用户干预。因此容量很大的速度较快的外存储器(硬磁盘)成为虚拟存储器主要组成部分。
2.虚拟存储器中硬盘中的数据与主存中的数据的调度方法与高速缓存Cache的调度方法类似。即把经常访问的数据调入高速主存中保存。不需要的数据用一定的替代算法再送回硬盘中。这些调入调出的操作都是由虚拟存储器自动完成的。
3.用户程序采用虚地访问整个虚拟空间,而指令执行时只能访问主存空间。因此必须进行虚实地址转换,把不在主存的单元内容调入主存某单元再按转换的实地址进行访问。
4.虚存中虚实地址转换是关键,为了提高转换速度通常采用硬件支持这种转换,即把负页放在相联存储器中,相联存储器是按内容访问的,而直接查找你要访问虚页号是否在相联存储器中,而得到有关的实页号。
三、数据可靠性编码CRC(第十一题)
1.数据在计算机是存储传送上可靠性直接影响计算机可靠性,通过编码技术及时发现和纠正已经产生的数据错误将是非常重要的,CRC是一种常用检错编码,即循环冗余校编码。
2.在产生CRC校验码时使用模二除法
在模二运算中是按位进行的。
模二加减法均不产生进行和借位。
模二除法是利用模二减法求余数的,余数最高位为“1”,则商“1”,否则商“0”,每商1位则余数减少一位,直到余数位数少于除数位数。
3.如果生成多项式G(x)=x4(4次幂)+x3(3次幂)+x+1原始报文为1100 1010 101,则其CRC码求法如下:
将其余数0011添加在该报文最后即得到其CRC编码1100 1010101 0011
因此答案中指出的其它3个编码都是错误的。这个题要求掌握CRC码生成原理和模二除法。
4.校验原理
当接收到一个CRC码时,用生成多项式去除该CRC码。
如果余数是0,则传送正确。
如果余数不是0,则传送有错,根据不同余数可以知是哪位出错,即将该位变反即可。
因此,CRC码,可发现纠正一位错。
CRC码可以检测小于等于校验位长度的突发错。
RISC机器指令系统考虑了操作系统与编译的优化,因此使编译工作更简单。
作者简介:谢树煜,清华大学计算机系教授,中国软件行业协会软件考试培训系校副校长。1959年清华大学自动控制系计算机专业毕业。留校工作,长期从事计算机系统结构方面的教学科研工作,曾主持多项“七五”国家重点科技攻关项目,和国家自然科学基金项目,多次获得国家部级科技进步二等奖。