第一章
- 冯·诺依曼计算机由哪儿部分组成?各部分的功能是什么?采用什么工作方式?
- 一条指令的执行过程包含哪几个阶段?
- 计算机系统的层次结构如何划分?计算机系统的用户可分哪几类?每类用
户工作在哪个层次? - 程序的 CPI 与哪些因素有关?
- 为什么说性能指标 MIPS 不能很好地反映计算机的性能?
答案
-
输入输出设备 控制器 存储器 运算器
输入输出设备:程序员通过其设备操作计算机
控制器:自动执行指令
存储器:存放数据和指令,形式上无区别,但计算机能区别 开来
运算器:算术运算和逻辑运算
采取“存储程序”的工作方式 -
根据PC取指令 指令译码,PC-PC+"1" 取操作数并执行 送结果
-
应用 算法 编程(语言) 操作系统/虚拟机 指令集体系结构(ISA) 微体系结构 功能部件/RTL 电路 器件
最终用户:应用
系统管理员:操作系统
系统程序员:ISA
应用程序员:语言处理系统层 -
时钟周期 指令条数
-
MIPS 反映了机器执行定点指令的速度,但是,用 MIPS 来对不同的机器进行性能比较有时是不准确
或不客观的
第二章
- 为什么计算机内部采用二进制表示信息?既然计算机内部所有信息都用二
进制表示, 为什么还要用到十六进制或八进制数? - 常用的定点数编码方式有哪几种?通常它们各自用来表示什么?
- 在浮点数的基数和总位数一定的情况下,浮点数的表示范围和精度分别由什
么决定?两者如何相互制约? - 为什么要对浮点数进行规格化?有哪两种规格化操作?
- 为什么计算机处理汉字时会涉及不同的编码(如,输入码、内码、字模码)?
说明这些编码中哪些用二进制编码,哪些不用二进制编码,为什么
答案
- (1)二进制的状态只有两种,可用稳定物理器件就可表示
(2)二进制的编码计算和运算规则简单
(3)‘1’和‘0’正好对应真值和假值为计算机中的逻辑运算和逻辑判断提供了便利的条件
在计算机外部,为了书写和阅读的方便,大都采用八、十或十六进制表示形式
-
原码:浮点数的尾数部分
补码:带符号整数
反码:形式或用于数据校验
移码:浮点数的阶 -
浮点数的取值范围由阶码的位数决定,而浮点数的精度由尾数的位数决定
-
为了在浮点数运算过程中,尽可能多地保留有效数字的位数,使有效数字尽量占满尾数数位
左 规”和“右规 -
字符不能直接在计算机内部进行处理
输入码 机内码 输出码
第三章
- 一条机器指令通常由哪些字段组成?各字段的含义分别是什么?
- 将一个高级语言源程序转换成计算机能直接执行的机器代码通常需要哪几
个步骤? - 按值传递参数和按地址传递参数两种方式有哪些不同点?
- 为什么数据在存储器中最好按地址对齐方式存放?
答案
-
开始的 6 位“100010”表示是 mov 指令;位 D 表示 reg 字段给出的是否为目的操作数,D=1 说明 reg 字段给出的是目的操作数,否则是源操作数;位 W 表示操作数的宽度,W=0 时为 8位,W=1 时为 16 位;mod 字段表示寻址方式;reg 字段是源或目操作数所在的寄存器编号;r/m 字段给出源或目操作数所在寄存器编号或有效地址计算方式;disp8 给出在有效地址计算时用到的 8 位位移量。
-
先将高级语言源程序通过编译器转换为汇编语言目标程序,然后将汇编语言源程序通过汇编程序转换为机器语言目标程序。
-
对于不同类型的形式参数,其传递参数的方式不同,总体来说分为两种:按值传递和按地址传递。当形参是基本类型变量名时,采用按值传递方式;当形参是指针类型变量名或构造类型变量名时,采用按地址传递方式
-
虽然很浪费时间,但提高了执行速度