【计算机组成原理】第一章 计算机系统概述 - 问答题及答案
01 什么是存储程序原理?按此原理,计算机应该具有哪几大功能?
答:存储程序是指将指令以代码的形式事先输入计算机主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
02 计算机由哪几部分组成?以哪部分为中心?
- 计算机由运算器、控制器、存储器、输入设备及输出设备五大部分构成,现代计算机通常把运算器和控制器集成在同一个芯片上,合称中央处理器。
- 在微处理器面世前,运算器和控制器分离,而且存储器的容量很小,因此设计成以运算器为中心的结构,其他部件都通过运算器完成信息的传递。
- 随着微电子技术的进步,同时计算机需要处理、加工的信息量与日俱增,大量I/O设备的速度和CPU的速度差距悬殊,因此以运算器为中心的结构不能满足计算机发展的需求。现代计算机已经发展为以存储器为中心,使I/O操作尽可能绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率。
03 主频高的CPU一定比主频低的CPU快吗?为什么?
- 衡量CPU的运算速度的指标有很多,不能以单独的某个指标来判断CPU的好坏。CPU的主频,即CPU的内核工作的时钟频率。
- CPU的主频表示CPU内数字脉冲信号震荡的速度,主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(架构、缓存、指令集、CPU的位数、Cache的大小等)。
- 由于主频并不直接代表运算速度,因此在一定情况下很可能会出现主频较高的CPU实际运算速度较低的现象。
04 翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?
翻译程序有两种:
- 一种是编译程序,它将高级语言源程序一次全部翻译成目标程序,只要源程序不变,就无须重新翻译。
- 另一种是解释程序,它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。
- 汇编语言也是一种语言翻译程序,它把汇编语言源程序翻译为机器语言程序。
- 编译程序与汇编程序的区别:若源语言是高级语言,而目标语言是类似汇编语言或机器语言等的低级语言,则这样的一个翻译程序称为编译程序,若源语言是汇编语言,而目标语言是机器语言,则这样的一个程序称为汇编程序。
05 不同级别的语言编写的程序有什么区别?哪种语言编写的程序能被硬件直接执行?
机器语言和汇编语言与机器指令对应,而高级语言不与指令直接对应,具有较好的可移植性。其中机器语言可以被硬件直接执行。
06 字、字长、机器字长、指令字长的区别和联系是什么?
- 在通常所说的机器“16位或32位”中,16、32指的是字长,也称机器字长,所谓字长,通常是指CPU内部用于整数运算的数据通路的宽度,因此字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度,它反映了计算机处理信息的能力。
- 字和字长的概念不同,字用来表示被处理信息的单位,用来度量数据类型的宽度,如x86机器中将一个字定义为16位。
- 指令字长:一个指令字中包含的二进制代码位数。
- 存储字长:一个存储单元存储的二进制代码的长度。
他们都必须是字节的整数倍。 - 指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2个访存周期来取出一条指令,若指令字长等于存储字长,则取指周期等于机器周期。
- 早期的存储字长一般与指令字长、字长相等,因此访问一次主存便可以取出一条指令或一个数据。随着计算机的发展,指令字长、字长都可变,但必须都是字节的整数倍。
07 计算机体系结构和计算机组成的区别和联系是什么?
- 计算机体系结构是指机器语言或汇编语言程序员所看得到的传统机器的属性,包括指令集、数据类型、存储器寻址技术等,大多属于抽象的属性。
- 计算机组成是指如何实现计算机体系结构所体现的属性,它包含对许多对程序员来说透明的硬件细节。例如,指令系统属于结构的问题,但指令的实现即如何取指令,分析指令,取操作数,如何运算等都属于组成的问题。
- 因此,当两台计算机指令系统相同时,只能认为它们具有相同的结构,实现指令的方式完全可以不同。可以认为它们的组成方式是不同的。
08 基准程序执行的越快说明机器的性能越好吗?
- 一般情况下,基准测试程序能够反映机器性能的好坏。但是,由于基准程序中的语句存在频度的差异,因此运行结果不能完全说明问题。