2018年复旦大学计算机科学技术学院408计算机学科专业基础综合之计算机组成原理考研强化五套模拟题
● 摘要
一、简答题
1. 什么是指令? 什么是程序?
【答案】(1)每一个基本操作称为一条指令。
(1)解决某一问题的一串指令序列,称为程序。
2. 为什么软件能够转化为硬件,硬件能够转化为软件? 实现这种转化的媒介是什么?
【答案】软件能够转化为硬件,硬件能够转化为软件原因如下:
(1)容量大、价格低、体积小、可改写的只读存储器提供了软件固化的良好物质基础。现在已经可以把许多复杂的、常用的程序制作成固件。就它的功能来说,固件是软件,但从形态来说,固件又是硬件。
(2)目前在一片硅单晶芯片上制作复杂的逻辑电路已经是实际可行的,这又为扩大指令的功能提供了相应的物质基础。因此,本来通过软件手段来实现的某种功能,现在可以通过硬件来直接解释执行。传统的软件部分,今后完全有可能“固化”甚至“硬化”。
(3)任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。
实现这种转化的媒介是软件与硬件的逻辑等价性。
3. 说明软件发展的演变过程。
【答案】软件的发展演变主要有以下几个过程:
(1)在早期的计算机中,人们是直接用机器语言即机器指令代码来编写程序的,这种方式编写的程序称为手编程序;
(2)后来,为了编写程序方便和提高机器的使用效率,人们使用一些约定的文字、符号和数字按规定的格式来表示各种不同的指令,然后再用这些特殊符号表示的指令来编写程序,这就是汇编程序;
(3)为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了各种接近于数学语言的算法语言;
(4)随着计算机技术的日益发展,原始的操作方式越来越不适应,特别是用户直接使用大型机器并独占机器,无论是对机器的效率来说还是对方便用户来说都不适宜,于是人们又创造出操作系统;
(5)随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数
据,建立和检索大量的表格。这些数据和表格按一定的规律组织起来,使得处理更方便,检索更迅速,用户使用更方便,于是出现了数据库,数据库和数据库管理软件组成了数据库管理系统。
4. 数字计算机有哪些主要应用?
【答案】数字计算机的主要应用有:科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。
5. 什么是内存? 什么是外存? 什么是CTU? 什么是适配器? 简述其功能。
【答案】(1)内存是指计算机内部的半导体存储器;半导体存储器的存储容量有限,因此计算机中又配备了存储容量更大的磁盘存储器和光盘存储器,称为外存储器,简称外存。内存和外存共同用来保存二进制数据。
(2)把运算器和控制器合在一起称为中央处理器,简称CPU 。它用来控制计算机及进行算术逻辑运算。
(3)适配器是指连接主机与外设的一个中间电路,也称作接口,其作用相当于一个转换器,它可以保证外围设备用计算机系统特性所要求的形式发送或接收信息。
二、分析题
6. 何谓DMA 方式? DMA 控制器可采用哪几种方式与CPU 分时使用内存?
【答案】直接内存访问(DMA )方式是一种完全由硬件执行I/O交换的工作方式。DMA 控
制器从CPU 完全 接管对总线的控制。数据交换不经过CPU ,而直接在内存和1 / 0没备之间进行。
DMA 控制器采用以下三种方式:
(1)停止CPU 访问内存
DMA 控制器获得总线控制当外设要求传送一批数据时,由DMA 控制器发一个信号给CPU 。
权后,开始进行数据传送。一批数据传送完毕后,DMA 控制器通知CPU 可以使用内存,并把总线控制权交还给CPU 。
(2)周期挪用
CPU 按程序要求访问内存:当I/O设备没有DMA 请求时,一旦1/0设备有DMA 请求,则I/O
设备挪用一个或几个周期。
(3)DMA 与CPU 交替访内
一个CPU 周期可分为2个周期,一个专供DMA 控制器访内,另一个专供CPU 访内。不需要总线使用权的申请、建立和归还过程。
7. 假设一条指令的指令周期分为取指令、指令译码、执行指令三个子过程段,且这三个子过程延迟时间相等,即每个子过程延迟时间都为T 。假设某程序共同n=10000条指令,请写出如下两种情况下CPU 执行该程序所需的时间,画出时空图。
(1)指令顺序执行方式;
(2)指令流水执行方式。
【答案】(1)指令顺序执行方式如图1所示。
图1指令顺序执行方式
执行n 条指令的总时间为
:
线中同时有3 条指令在执行,故 其中2T 是填满流水线的时间。
(2)指令流水执行方式如图2所示。执行n 条指令的总时间为:2T 时间延迟后,CPU 流水
图2指令流水执行方式
8. 某磁盘里,平均找道时间为20ms , 平均旋转等待时间为7ms , 数据传输率为
写回磁盘机,每个文件平均需要2ms 的额外处理时间。问:
(1)检查并更新所有文件需要占用多少时间?
(2)若磁盘机的旋转速度和数据传输率都提高一倍,检查并更新全部文件的时间是多少?
【答案】(1)每次磁盘读写的时间=找道时间+等待时间+数据传输时间,故总的文件更新时间为
(2)若磁盘机的旋转速度提高一倍,则平均旋转等待时间缩短为3.5ms ; 若磁盘机的数据传输率都提高一倍,则变为
9. 设变量h 放在寄存器
代码。C 赋值语句是;
【答案】虽然C 语句只有一个相加的操作,但是两个操作数均在存储器中,因此需要更多的ARM 指令。首先用取字(LDR )指令访问存储器单元
存器最后用存字(STR )指令将寄存器,位移量为然后用ADD 指令将放在寄中的结果写到存储器单元此时寄存器作为基地址故总的文件更新时间为
数组A 的基值放在寄存器r3, 请将下面c 语句翻译成ARM 汇编语言磁盘机上存放着500个文件,每个文件的平均长度为1MB 。现需将所有文件逐一读出并检查更新,然后因ARM 也是字节寻址。3条ARM 汇编语言指令形式如下: