1.1 解释下列名词
- 摩尔定律:指在计算机发展时期中,当价格不变时,集成电路上可以容纳的晶体管数量大约在18~24个月翻一番,性能也将提升一倍。其表现在:
- 单个芯片集成度提高之后,其成本变化不大,因此总体成本明显下降。
- 高集成度的芯片中,电路之间的距离更近,其连线更短,工作速度可以更高。
- 增加了芯片内部的连线,从而减少了外部连线,可靠性得以提高。
- 计算机体积越来越小,减少了电能的消耗,适应性更好。
- 汇编器:将汇编语言翻译成机器语言目标程序的汇编程序,称为汇编器。
- 编译器:将高级语言翻译为汇编语言的程序,称为编译器。
- 解释器:将源程序中的语句按照顺序逐条翻译为机器语言目标程序并执行,且不生成目标程序的程序称为解释器。
- 链接器:将汇编器产生的多个可重定向目标程序整合为一个可执行的二进制程序的链接程序,称为链接器。
- 时钟周期:计算机最基本、最小的时间单位,在一个时钟周期之内,CPU仅完成一个最基本的动作。
- 机器字长:CPU一次处理的数据位数,一般等于计算机内部寄存器、运算器、数据总线的位宽。
- 主存容量:主存能够存储的最大信息量,一般用M(存储单元数)×N(每一个存储单元存储的二进制位数)表示。
- CPI:Clock Cycles Per Instruction,CPU执行一条指令所需要的平均时钟周期数量。
- IPC:CPI的倒数,一个时钟周期平均执行的指令数量。
- MIPS:Million Instructions Per Second,每秒执行的指令数量(以百万计数)
- MFLOPS:Million Floating-Point Operations Per Second,每秒执行的浮点数运算数量(以百万计数)
- CPU时间:指某段程序执行的总时间(按照秒计算),等于程序执行需要的时钟周期数量乘以时钟周期长。(注意与程序的运行时间不同,程序运行时不止有CPU在工作,还有IO设备等,因此程序的运行时间大于等于CPU时间)
1.2 选择题
- D
- C
- C
- A
- D
- D
- C
错误的计算方法:根据CPI和计算机主频可以计算出每种指令的执行速度:MIPSA=600,MIPSB=400,MIPSC=300,MIPSD=240,然后计算加权平均:MIPS=600×0.5+400×0.2+300×0.1+240×0.2=458
正确的计算方法:首先应该对CPI求加权平均为3,然后计算MIPS=400
错误原因:MIPS=f/CPI,第一种方法相当于先除再加权,与第二种方法先加权再除的结果不同。第一种方法相当于是将一秒钟分为0.5、0.2、0.1、0.2四份,每一份执行一种指令,但是很显然这样执行的结果是四种指令的比例必然是不正确的。 - D
注意:这里是CPU速度提高50%,CPU时间是原来的1/150%=2/3,即60秒。 - D
执行时间=指令数量×CPI×时钟周期,优化后的执行时间是原来时间的1.2×70%=84%,即16.8秒。 - C
二者的MIPS分别为750和1200,因此比值为750/1200=0.625。但是题目问的是时间的比值,因此取倒数为1.6。
1.3
冯诺依曼计算机的基本思想是:存储程序和程序控制的思想,存储程序将解题的步骤编制为程序,然后将程序和运行程序所需要的数据以二进制的形式存放到存储器中,方便执行。程序控制指计算机中的控制器逐条取出存储器中的指令并按顺序执行,控制各个功能部件进行相应的操作,完成数据的加工处理。
部件包含:运算器、控制器、存储器、输入设备和输出设备五大部件。
1.4
从功能上可以分为:逻辑门层次、微代码层次、指令集架构层次、操作系统层次、汇编语言层次、高级语言层次。
- 逻辑门层次是最为底层的计算机系统,由逻辑门、触发器等逻辑电路构成。
- 微代码层为实际的机器层,该层的用户使用微代码编写程序,写的程序由硬件直接执行。
- 指令集架构层次可以通过机器语言编写程序实现对计算机硬件的控制,也称为传统机器层或ISA层,是计算机硬件和软件之间的界面和纽带。
- 操作系统层用于对计算机的硬件和软件资源进行统一管理和调度,提高计算机的使用效率并方便用户使用计算机。
- 汇编语言层为用户提供助记符表示的汇编语言编程,与机器结构直接相关。
- 高级语言层是面向用户的抽象层次,用户使用与机器无关的高级语言编程,编程过程中不需要知道机器的技术细节,大大降低了用户学习和使用计算机的难度。
1.5
CPI1=2×0.4+3×0.2+4×0.15+5×0.25=3.25
CPI2=2.65
MIPS1=184.6
MIPS2=301.9
1.6
- 优化前程序的CPI为1.6,优化后为1.75
- 优化前程序的MIPS为312.5,优化后为285.7
- 这次优化效果欠佳,最好应该减少CPI大的指令。