2017年郑州大学联合培养单位黄淮学院408计算机学科专业基础综合之计算机组成原理考研强化模拟题
● 摘要
一、名词解释
1. 紧耦合系统
【答案】紧耦合系统又称直接耦合系统,指处理机之间物理连接的频带较高,一般是通过总线或高速开关实现互连, 可以共享主存。由于信息传输率较高,因而可以快速并行处理作业或任务。
2. 多处理机
【答案】多处理机指由两台以上处理机组成的计算机系统。每个处理机都有各自的控制和运算部件,可独立地执行程 序,而共享公共的主存储器和外围设备。处理机之间是通过网络实现通讯的。整个计算机系统都在统一的操作系 统控制下工作,按照多指令流、多数据流的模式实现对作业、任务、程序段的并行处理。
二、简答题
3. 现代计算机系统如何进行多级划分? 这种分级观点对计算机设计会产生什么影响?
【答案】(1)现代计算机系统可分为五个层次
① 第一级是微程序设计级或逻辑电路级,是一个实在的硬件级,由硬件直接执行;②
② 第二级是一般机器级,称为机器语言级,也是硬件级,它由微程序解释机器指令系统; ③ 第三级是操作系统级,它由操作系统程序实现;
④第四级是汇编语言级,由汇编程序支持和执行,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性;
⑤第五级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的。
(2)对计算机设计产生的影响
①用这种用一系列的级来组成计算机的概念和技术,对了解计算机如何组成提供了一种好的结构和体制;
②而且用这种分级的观点来设计计算机,对保证产生一个良好的系统结构也是很有帮助的。
4. 为什么在页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址,而在段式虚拟 存储器地址变换时必须用段起址与段内偏移量相加才能得到物理地址?
【答案】由于物理页与虚拟页的页面大小相同,且为2的整数次幂,所以页式虚拟存储器地址变换时可以用物理 页号与页内偏移量直接拼接成物理地址。而段式虚拟存储器的各段大小不同,且段起始地址任意,所以必须用段 起址与段内偏移量相加才能得到物理地址。
5. 说明软件发展的演变过程。
【答案】软件的发展演变主要有以下几个过程:
(1)在早期的计算机中,人们是直接用机器语言即机器指令代码来编写程序的,这种方式编写的程序称为手编程序;
(2)后来,为了编写程序方便和提高机器的使用效率,人们使用一些约定的文字、符号和数字按规定的格式来表示各种不同的指令,然后再用这些特殊符号表示的指令来编写程序,这就是汇编程序;
(3)为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了各种接近于数学语言的算法语言;
(4)随着计算机技术的日益发展,原始的操作方式越来越不适应,特别是用户直接使用大型机器并独占机器,无论是对机器的效率来说还是对方便用户来说都不适宜,于是人们又创造出操作系统;
(5)随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格。这些数据和表格按一定的规律组织起来,使得处理更方便,检索更迅速,用户使用更方便,于是出现了数据库,数据库和数据库管理软件组成了数据库管理系统。
6. 说明总线结构对计算机系统性能的影响。
【答案】总线结构对计算机系统的性能影响有以下四点:
(1)简化了硬件的设计。从硬件的角度看,面向总线是由总线接口代替了专门的
由总线规范给出了传输线或信号的规定,并对存储器、设备和
的规定,所以,面向总线的微型计算机设计只要按照这些规定制作插件等,将它们连入总线即可工作,而不必考虑总线的详细操作。
(2)简化了系统结构。整个系统结构清晰,连线少,底板连线可以印刷化。
(3)系统扩充性好。一是规模扩充,二是功能扩充。规模扩充仅仅需要多插一些同类型的插件;功能扩充 仅仅需要按总线标准设计一些新插件,插件插入机器的位置往往没有严格的限制。这就使系统扩充既简单又快速可靠,而且也便于查错。
(4)系统更新性能好。存储器、接口等都是按总线规约挂到总线上的,故只要总线设计恰当,可以随时随着处理器芯片以及其他有关芯片的进展设计新的插件,对系统进行更新,且这种更新只需更新需要更新 的插件,其他插件和底板连线一般不需更改。
7. 什么是内存? 什么是外存? 什么是CTU? 什么是适配器? 简述其功能。
【答案】(1)内存是指计算机内部的半导体存储器;半导体存储器的存储容量有限,因此计算机中又配备了存储容量更大的磁盘存储器和光盘存储器,称为外存储器,简称外存。内存和外存共同用来保存二进制数据。
(2)把运算器和控制器合在一起称为中央处理器,简称CPU 。它用来控制计算机及进行算术逻辑运算。
接口,如何挂在总线上都作了具体插件、存储器插件以及
(3)适配器是指连接主机与外设的一个中间电路,也称作接口,其作用相当于一个转换器,它可以保证外围设备用计算机系统特性所要求的形式发送或接收信息。
三、综合应用题
8. 已知一个带有表头结点的单链表,结点结构为假设该链表只给出了头指针list 。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k 个位置上的结点(k 为正整数)。若查找成功,算法输出该结点的data 域的值,并返回1;否则,只返回0。要求:
(1)描述算法的基本设计思想;
(2)描述算法的详细实现步骤;
(3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C 或C++或JA V A 语言实,关键之处请给出简要注释。 现)
【答案】(1)算法的基本设计思想定义两个指针变量p 和q ,初始时均指向头结点的下一个结点。p 指针沿链表移动;当p 指针移动到第k 个结点时,q 指针开始与p 指针同步移动;当{)指针移动到链表最后一个结点时,因为p 和q 相隔k ,故q 指针所指元素为倒数第k 个结点。以上过程对链表仅进行一遍扫描。
(2)算法的详细实现步骤
①count=0,p 和q 指向链表表头结点的下一个结点;
, ②若p 为空,转⑤;
③若count 等于k ,则q 指向下一个结点;否则,count=count+l;
④p 指向下一个结点,转步骤②;
⑤若count 等于k ,则查找成功,输出该结点的data 域的值,返回1;否则,查找失败,返回0;
⑥算法结束。
(3)算法实现