8.0 KiB
概述习题
计算机的发展
例题 只有当程序执行时才将源程序翻译成机器语言,并且一次只能翻译一行语句,边翻译边执行的是()程序,把汇编语言源程序转变为机器语言程序的过程是()。
Ⅰ.编译
Ⅱ.目标
Ⅲ.汇编
Ⅳ.解释
$A.$Ⅰ、Ⅱ
$B.$Ⅳ、Ⅱ
$C.$Ⅳ、Ⅰ
$D.$Ⅳ、Ⅲ
解:$D$。解释程序的特点是翻译一句执行一句,边翻译边执行;由高级语言转化为汇编语言的过程称为编译,把汇编语言源程序翻译成机器语言程序的过程称为汇编。
计算机系统层次结构
例题 以下说法错误的是()。
$A.$硬盘是外部设备
$B.$软件的功能与硬件的功能在逻辑上是等效的
$C.$硬件实现的功能一般比软件实现具有更高的执行速度
$D.$软件的功能不能用硬件取代
解:$D$。软件和硬件具有逻辑上的等效性,硬件实现具有更高的执行速度,软件实现具有更好的灵活性。执行频繁、硬件实现代价不是很高的功能通常由硬件实现。因此选$D$。
例题 将高级语言源程序转换为机器级目标代码文件的程序是()。
$A.$汇编程序
$B.$链接程序
$C.$编译程序
$D.$解释程序
解:$C$。由于是高级语言,所以不可能是汇编,$A$排除。由于是转换为机器代码,所以不是连接,所以$B$排除。编译和解释都属于翻译程序,重点是会转换为目标代码文件,由于解释程序是翻译一条执行一条,所以不会产生代码文件,所以选择$C$。
例题 关于相联存储器,下列说法中正确的是()。
$A.$只可以按地址寻址
$B.$只可以按内容寻址
$C.$既可按地址寻址又可按内容寻址
$D.$以上说法均不完善
解:$C$。相联存储器既可以按地址寻址又可以按内容(通常是某些字段)寻址,为与传统存储器区别,又称按内容寻址的存储器。
例题 在$CPU$的寄存器中,()对用户是完全透明的。
$A.$程序计数器
$B.$指令寄存器
$C.$状态寄存器
$D.$通用寄存器
解:$B$。在计算机概念中透明是指看不到,而不是能看的很清楚,所以这个题目指用户看不到哪个寄存器。汇编程序员可以通过指定待执行指令的地址来设置$PC$的值,状态寄存器、通用寄存器只有为汇编程序员可见,才能实现编程,所以不是完全透明的。而$IR$、$MAR$、$MDR$是$CPU$的内部工作寄存器,对程序员均不可见。
计算机性能指标
例题 存储字长是指()。
$A.$存放在一个存储单元中的二进制代码组合
$B.$存放在一个存储单元中的二进制代码位数
$C.$存储单元的个数
$D.$机器指令的位数
解:$B$。存储体由许多存储单元组成,每个存储单元又包含若干存储元件,每个存储元件能寄存一位二进制代码“$0$”或“$1$”。可见,一个存储单元可存储一串二进制代码,称这串二进制代码为一个存储字,称这串二进制代码的位数为存储字长。
例题 下列关于机器字长、指令字长和存储字长的说法中,正确的是()。
Ⅰ.三者在数值上总是相等的
Ⅱ.三者在数值上可能不等
Ⅲ.存储字长是存放在一个存储单元中的二进制代码位数
Ⅳ.数据字长就是$MDR$的位数
$A.$Ⅰ、Ⅲ
$B.$Ⅰ、Ⅳ
$C.$Ⅱ、Ⅲ
$D.$Ⅱ、Ⅳ
解:$C$。机器字长、指令字长和存储字长,三者在数值上可以相等也可以不等,视不同机器而定。一个存储单元中的二进制代码的位数称为存储字长。存储字长等于$MDR$的位数,而数据字长是数据总线一次能并行传送信息的位数,它可以不等于$MDR$的位数。
例题 $CPU$的$CPI$与下列()因素无关。
$A.$时钟频率
$B.$系统结构
$C.$指令集
$D.$计算机组织
解:$A$。$CPI$是执行一条指令所需的时钟周期数,系统结构、指令集、计算机组织都会影响$CPI$,而时钟频率并不会影响$CPI$,但可加快指令的执行速度(一秒内时钟周期增多)。
例题 下列说法中,正确的是()。
Ⅰ.在微型计算机的广泛应用中,会计电算化属于科学计算方面的应用
Ⅱ.决定计算机计算精度的主要技术是计算机的字长
Ⅲ.计算机“运算速度”指标的含义是每秒能执行多少条操作系统的命令
Ⅳ.利用大规模集成电路技术把计算机的运算部件和控制部件做在一块集成电路芯片上,这样的一块芯片称为单片机
$A.$Ⅰ、Ⅲ
$B.$Ⅱ、Ⅳ
$C.$Ⅱ
$D.$Ⅰ、Ⅲ、Ⅳ
解:$C$。Ⅰ会计电算化是指会计业务通过计算机计算来简化计算压力,属于数据处理方面,而科学计算是指科学研究的大数据计算方面。Ⅲ含义是指多少条指令而不是单指操作系统指令。Ⅳ这种集成运算器和控制器的芯片是$CPU$,而单片机不止包括$CPU$还包括一些外围接口,且运算能力不如$CPU$。
例题 下列关于“兼容”的叙述,正确的是()。
$A.$指计算机软件与硬件之间的通用性,通常在同一系列不同型号的计算机间存在
$B.$指计算机软件或硬件的通用性,即它们在任何计算机间可以通用
$C.$指计算机软件或硬件的通用性,通常在同一系列不同型号的计算机间通用
$D.$指软件在不同系列计算机中可以通用,而硬件不能通用
解:$C$。兼容指计算机软件或硬件的通用性,因此选项$A$、$D$错。选项$B$中,它们在任何计算机间可以通用,错误。选项$C$中,兼容通常在同一系列的不同型号计算机间,正确。
例题 某台计算机只有$Load/Store$指令能对存储器进行读/写操作,其他指令只对寄存器进行操作。根据程序跟踪试验结果,已知每条指令所占的比例及$CPI$数如下表所示。
| 指令类型 | 指令所占比例 | CPI | 指令类型 | 指令所占比例 | CPI |
|---|---|---|---|---|---|
| 算术逻辑指令 | 43% | 1 | Store指令 | 12% | 2 |
| Load指令 | 21% | 2 | 转移指令 | 24% | 2 |
假设程序由$M$条指令组成。算术逻辑运算中$25%$的指令的两个操作数中的一个已在寄存器中,另一个必须在算术逻辑指令执行前用$Load$指令从存储器中取到寄存器中。因此有人建议增加另一种算术逻辑指令,其特点是一个操作数取自寄存器,另一个操作数取自存储器,即寄存器-存储器类型,假设这种指令的$CPI$等于$2$。同时,转移指令的$CPI$变为$3$。求新指令系统的平均$CPI$。
解:首先我们必须明白这里是做了什么。
首先原来的算术逻辑运算是对数据进行算术逻辑操作,数据都是从寄存器中获取,所以需要$Load$指令将数据从存储器中取到寄存器中,所以每操作一个算术逻辑,都需要$Load$两个数据。
而现在发现有一个数据已经在寄存器中了,所以只用取一个数据到寄存器就可以了。所以就定义这个只用取一个操作数的指令为一个新的算术逻辑指令,$CPI=2$,又算术逻辑运算中$25%$的指令是这种指令,所以算术逻辑指令拆出了$0.25\times0.43M$条指令。
因为新指令包含了$Load$操作,所以$Load$指令也需要拆出$0.25\times0.43M$条指令。
这样就拆出两个合成了一个$0.25\times0.43M$条新指令,即原来是逻辑运算和$Load$各$1+2$,现在是逻辑运算、新逻辑运算和$Load$各$1+1+1$,多余的$0.25\times0.43M$条取数操作就被简略了。
所以新指令总数为$M+(0.25\times0.43M)-(0.25\times0.43M)-(0.25\times0.43M)=0.8925M$。
其他指令数量不变,需要更新$CPI$和对应的占比:
| 指令类型 | 指令所占比例 | CPI |
|---|---|---|
| 算术逻辑指令 | (0.43M-0.43M×0.25)/0.8925M=0.3613 | 1 |
| 算术逻辑指令(新) | (0.43M×0.25)/0.8925M=0.1204 | 2 |
| Load指令 | (0.21M-0.43M×0.25)/0.8925M=0.1148 | 2 |
| Store指令 | 0.12M/0.8925M=0.1348 | 2 |
| 转移指令 | 0.24M/0.8925M=0.2689 | 3 |
所以新$CPI'=1\times0.3613+2\times0.1204+2\times0.1148+2\times0.1348+3\times0.2689=1.9076$。