计算机组成与结构习题集第一章:计算机系统概论1、请指出机器语言、汇编语言和高级语言的区别与联系。
机器语言是由一些二进制代码表示的指令所组成的。
不同的CPU,其指令系统不同,因而由不同的CPU所构成的计算机系统,其机器语言也是不同的。
汇编语言是采用了助记符来代替二进制代码而产生的。
高级语言是一种语义上与自然语言接近,又能被计算机接受的语言。
2、请说明计算机系统的“结构”、“组成”和“实现”。
计算机系统结构:指机器语言级的程序员所了解的计算机的属性即外特性。
计算机组成:是系统结构的逻辑实现。
计算机的实现:指计算机逻辑设计之后的物理实现。
3、冯.诺依曼结构有哪些特点?一般认为,冯.诺依曼计算机具有以下基本特点:①计算机的硬件由运算器、控制器、存储器、输入设备和输出设备构成。
②程序预先存放在存储器中,计算机工作时能自动高速地从存储器中取出指令和数据加以执行。
③数据采用二进制码表示。
④指令由操作码和操作数组成。
⑤指令按执行的顺序存放在存储器中,由程序指针PC指明要执行的指令所在的位置。
⑥以运算器为中心,I/O设备和存储器之间的数据传送都通过运算器。
4、冯·诺依曼机工作的基本方式的特点是_B__。
A 多指令流单数据流B 按地址访问并顺序执行指令C 堆栈操作D 存贮器按内容选择地址5、“解释程序”与“编译程序”的区别在哪里?“编译程序”:先将用户程序翻译成机器语言程序(形成目标程序),然后执行。
“解释程序”:是边翻译边执行。
(不形成目标程序)6、计算机硬件由哪些部分组成?计算机的硬件系统:由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
此题可能改为:计算机系统由哪些部分组成?或计算机软件有哪些组成部分?计算机系统:包括硬件系统和软件系统计算机软件:包括系统软件和应用软件7、完整的计算机系统应包括__D__。
A 运算器、存储器、控制器;B 外部设备和主机;C 主机和实用程序;D 配套的硬件设备和软件系统8、如何正确理解计算机系统的层次结构?⑴、计算机系统的结构是多层次的结构。
⑵、在硬件的基础上,配置不同的软件,可以构成不同的层次。
9、计算机系统具有哪些性能特点?①快速性②通用性③准确性④逻辑性10、按弗林(FLYNN)分类法,计算机系统可分为哪几类?按弗林(FLYNN)分类法(按指令流和数据流的分类法),计算机系统可分为:①单指令流、单数据流(SISD)结构②单指令流、多数据流(SIMD)结构③多指令流、单数据流(MISD)结构④多指令流、多数据流(MIMD)结构第二章:数字化信息的编码与数据表示1. 写出十进制数24的8421码、5211码、2421码、4311码、84-2-1码、余3码、格雷码。
8421码 001001005211码 01000111 001101112421码 10000100 10001010 00100100 001010104311码 00111000 00110110 0011010184-2-1码 01100100余3码 01010111格雷码 00110110此题的十进制数数值会有变化2. 写出下列各数的原码、反码、补码、移码表示(用8位二进制数),其中MSB是最高位(又是符号位),LSB是最低位,如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。
① -35/64 ② 23/128 ③-127 ④用小数表示-1 ⑤注意:①机器数为8位,其中1位符号位,数值部分为7位②移码只用来表示浮点数的阶码,所以只有整数形式的移码,不存在小数形式的移码。
③定点小数-1只存在补码形式此题的十进制数数值会有变化3、某机字长32位,其中1位符号位,31位表示尾数。
若用定点小数表示,则最大正小数为__B___。
A +(1 – 2-32)B +(1 – 2-31)C 2-32D 2-314、8位定点字长的字,采用二进制补码表示时,一个字所能表示的整数范围是__A___。
A . –128 ~ +127 B. –127 ~ +127C. –129 ~ +128D. -128 ~ +1285、用64位字长(其中无符号位)表示定点整数时,所能表示的数值范围是_A_。
A [ 0,264– 1 ]B [ 0,263– 1 ]C [ 0,262– 1 ]D [ 0,263 ]6、设机器字长32位,定点表示,尾数31位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是多少?最大正数是 231 -1 最小负数是 -( 231 -1)(2)定点原码小数表示时,最大正数是多少?最小负数是多少?最大正数是 1 - 2-31最小负数是 -(1 - 2-31)7、定点16位字长的字(其中1位符号位),采用二进制补码形式表示时,一个字所能表示的整数范围是__A__。
A -215 ~ +(215 -1)B -(215 –1)~ +(215 –1)C -(215 +1)~ +215D -215 ~ +2158、用32位字长(其中1位符号位)表示定点小数时,所能表示的数值范围是_以下都不对_。
A [0,1 – 2-32]B [0,1 – 2-31]C [0,1 – 2-30]D [0,1]编码形式不同,所能表示的数值范围不同。
若采用补码形式,所能表示的数值范围是 [-1,1-2-31 ]若采用原码、反码形式,所能表示的数值范围是 [-(1-2-31),1-2-31 ]= 10011011,则X的十进制数值是__B__。
9、已知X为整数,且[X]补A +155B –101C –155D +10110、将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。
① 27/64 ② -27/64① 27/64 = 0.01101100B = 0.1101100B*2-01= 01101100 111[27/64]浮② -27/64 = -0.01101100B = -0.1101100B*2-01= 10010100 111[-27/64]浮11、若浮点数用补码表示,则判断运算结果是否为规格化数的方法是_C_。
A 阶符与数符相同为规格化数B 阶符与数符相异为规格化数C 数符与尾数小数点后第一位数字相异为规格化数D 数符与尾数小数点后第一位数字相同为规格化数12、“8421码就是十进制数”的说法对吗?为什么?不对,“8421码”是一种4位基2码,常常用来表示1位十进制数。
二进制数是任意位基2码。
13、设有效信息为 10101101 ,其偶校验的值为什么?其偶校验的值为 1此题的有效信息数值会有变化14、设有效信息为 10101101 ,若要求海明码不仅具有一位纠错能力,还要能发现两位错,请设计其海明码(设每个校验组均采用偶校验)。
①根据对海明码的要求 r取5②海明码编排 P5 D8 D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P10 1 0 1 0 0 1 1 0 1 1 0 0③编码P1 = D1⊕D2⊕D4⊕D5⊕D7 = 1⊕0⊕1⊕0⊕0 = 0P2 = D1⊕D3⊕D4⊕D6⊕D7 = 1⊕1⊕1⊕1⊕0 = 0P3 = D2⊕D3⊕D4⊕D8 = 0⊕1⊕1⊕1 = 1P4 = D5⊕D6⊕D7⊕D8 = 0⊕1⊕0⊕1 = 0P5 = D1⊕D2⊕D3⊕D5⊕D6⊕D8 = 1⊕0⊕1⊕0⊕1⊕1 = 0④海明码为:0101001101100此题的有效信息数值会有变化15、设有效信息为 10101101 ,选择生成多项式为 1011,求其CRC码。
CRC码为:10101101 000此题的有效信息数值会有变化第三章:运算方法与运算部件1. 已知x和y,用变形补码计算x+y和x-y,并对结果进行讨论。
① x = 0.1101 y= - 0.1110② x = - 0.1011 y= 0.1111③ x = -0.1110 y = -0.1100① [X]补=001101 [Y]补=110010[X]补+[Y]补=001101+110010=111111 无溢出∴ [X+Y]补=111111 X+Y=-0.0001[X]补+[-Y]补=001101+001110=011011 溢出② [X]补=110101 [Y]补=001111[X]补+[Y]补=110101+001111=000100 无溢出∴ [X+Y]补=000100 X+Y=0.0100[X]补+[-Y]补=110101+110001=100110 溢出③ [X]补=110010 [Y]补=110100[X]补+[Y]补=110010+110100=100110溢出[X]补+[-Y]补=110010+001100=111110 无溢出∴ [X-Y]补=111110 X-Y=-0.0010此题x y的数值会有变化2、在定点二进制运算器中,减法运算一般通过__D__来实现。
A 原码运算的二进制减法器B 补码运算的二进制减法器C 原码运算的十进制加法器D 补码运算的二进制加法器3、已知x=0.1011,y=-0.0100,用下列各法求x*y。
①原码一位乘法②原码两位乘法③补码一位乘法(校正法)(一位判定法)④补码一位乘法(Booth法)(两位判定法)⑤补码两位乘法此题x y的数值会有变化,算法可以任选一种,应注意算法的过程。
4、已知x=0.1011,y= - 0.1100,用下列各法求x/y。
①原码一位除法(恢复余数法)②原码一位除法(不恢复余数法)③补码一位除法此题x y的数值会有变化,算法可以任选一种,应注意算法的过程。
5、已知浮点数x=0.1011*210,y= - 0.1100*211,尾数6位(含1位符号位)用补码,阶码4位(含2位符号位)用移码,求x+y、x-y、x*y、x/y。
此题x y的数值会有变化,算法可以任选一种,应注意算法的过程。
第四章:指令系统1、什么是指令?什么是指令系统?指令:指计算机的硬件能够直接识别的命令指令系统:计算机系统中全部指令的集合2、指令字中有哪些字段,各有何作用?指令字中包含两个字段:操作码和地址码操作码:用来指明操作的功能地址码:用来确定操作的对象在哪里、操作的结果存放在哪里、下一条指令在哪里3、假设某计算机指令字长为32位,具有二地址、一地址、零地址3种指令格式,每个操作数地址规定为8位。
若操作码字段规定为8位,现已设计出K 条二地址指令,L条一地址指令,问最多还能设计出多少条零地址指令?28-K-L此题的关键是“操作码字段规定为8位”,指令总数为284、假设某计算机指令字长为20位,具有二地址、一地址、零地址3种指令格式,每个操作数地址规定为6位。
当双操作数指令条数为最大值,单操作数指令条数也为最大值时,该计算机系统最多可有多少条指令?其中,3种指令各有多少条?双操作数指令 28-1单操作数指令 26-1零操作数指令 26最多可有指令 (28-1)+(26-1)+26此题的关键是“指令条数为最大值”,需要进行操作码的扩展。