当前位置:文档之家› 《计算机组成原理》课后习题答案

《计算机组成原理》课后习题答案

第1章计算机组成原理考试大纲第一章计算机体系结构和计算机组成冯。

诺伊曼体系的特点Amdahl定律第二章数制和数制转换各种码制的表示和转换浮点数的表示补码加减法布思算法浮点数的加减法海明码的计算练习:5,6,7,8,101、已知X=19,Y=35,用布思算法计算X×Y和X×(-Y)。

2、使用IEEE 754标准格式表示下列浮点数:-5,-1.5,1/16,-6,384,-1/32。

3、已知X=-0.1000101×2-111,Y=0.0001010×2-100。

试计算X+Y,X-Y,X×Y和X/Y。

4、某浮点数字长12位,其中阶符1位,阶码数值3位,尾符1位,尾数数值7位,阶码和尾数均用补码表示。

它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?5、求有效信息位为01101110的海明码校验码。

第三章练习:5解释下列概念:PROM,EPROM,E2PROM,Flash memory,FPGA,SRAM和DRAM。

第四章总线的分类总线操作周期的四个传输阶段总线仲裁的概念及其分类异步通信方式的种类总线的最大传输率第五章存储器的分类存储容量的扩展RAID的概念、特点以及分类Cache的地址映射Cache的写策略Cache的性能分析3C练习:4,5,71.一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?用下列存储芯片时,各需要多少片?1K×4位,2K×8位,4K×4位,16K×l位,4K×8位,8K×8位2.现有1024×l的存储芯片,若用它组成容量为16K×8的存储器。

(1)实现该存储器所需的芯片数量?(2)若将这些芯片分装在若干块板上,每块板的容量为4K×8,该存储器所需的地址线总数是多少?几位用于选片?几位用作片内地址?(3)画出各芯片的连接逻辑图。

3.设某机主存容量为4MB,Cache容量为16KB,每块包含8个字,每字32位,设计一个4路组相联映射(即Cache每组内共有4个块)的Cache组织,要求:(1)画出主存地址字段中各段的位数。

(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?第六章I/O端口的编址方式中断处理的步骤第七章MAR,MBR,PC,IR指令周期的概念,完整的周期包括哪些Pentium处理器中的标志寄存器第八章操作码和地址码扩展操作码技术大端和小端寻址技术中缀和后缀表达式RISC和CISC的比较MMX指令,回绕运算和饱和运算习题1,2,4,5,61、有可能设计出一种12位长的指令格式对下列指令进行编码吗?其中每个寄存器需要3位编码。

a.4条3寄存器指令b.255条单寄存器指令c.16条0寄存器指令2、某机指令字长16位,每个操作数的地址码为6位,指令分为零地址、一地址、二地址三种格式。

若两地址指令有K种,零地址指令有L种,则一地址指令最多有几种?4、一台处理机具有如下指令格式:2位6位3位3位X OP 源寄存器目的寄存器地址格式表明有8位通用寄存器(长度16位),X指定寻址模式,主存实际容量为256k字。

1) 假设不用通用寄存器也能直接访问主存中的每一个单元,请问地址码域应分配多少位?指令字长度应有多少位?2) 假设X=11时,指定的那个通用寄存器用做基值寄存器,请提出一个硬件设计规划,使得被指定的通用寄存器能访问1M主存空间中的每一个单元。

5、请将下面的中缀表达式转换成逆波兰表达式。

a. A+B+C+D-Eb. (A-B)×(C+D)+Ec. (A×B)+(C×D)+Ed. (A-B)×(((C-D×E)/F)/G)×H6、请将下面的逆波兰表达式转换成中缀表达式。

a. AB-C+D×b. AB/CD/+c. ABCDE+××/d. ABCDE×F/+G-H/×+第九章控制器的功能控制器的组成部件微操作命令分析输入控制信号和输出控制信号硬布线控制器的结构微程序控制器的组成部件固件的概念微指令的格式习题31.假定某控制存储器是24位宽。

微指令格式的控制部分分成两个字段。

一个13位的微操作字段用来指定将要完成的微操作,一个地址选择字段用来指明能引起微指令转移的8种条件。

1)地址选择字段有多少位?2)地址字段有多少位?3)控制存储器容量有多大?第十章同时性和并发性并行计算机体系结构的分类流水线及其性能指标UMA的主要特点题型:填空(10*2)选择(10*1)简答(4*5)综合(5*10)第2章课后习题解答第二章习题2.设机器字长为8位(含一位字符位在内),写出对应下列各真值的原码、反码和补码:-1011010B,-87,168 解:-1011010B-87168原码1,101 1010 1,101 0111 -反码1,010 0101 1,010 1000 -补码1,010 0110 1,010 1001 -原码:最高位为符号位,数值部分是真值的绝对值。

反码:正数的反码与原码相同;负数的反码符号位不变,数值部分各位取反。

补码:正数的反码与原码相同;负数的补码符号位不变,数值部分各位取反后再加1。

由于8位有符号的数表示范围:-128~127,所以168溢出。

4.已知X=-66,Y=99。

设机器字长为8位,用补码运算规则计算X+Y和X-Y。

解:[X]原=1,100 0010 [X]补=1,011 1110[Y]原=0,110 0011 [Y]补=0,110 0011 [-Y]补=1,001 1101[X+Y]补=[X]补+[Y]补=1,011 1110 + 0,110 0011=00,010 0001[X-Y]补=[X]补+[-Y]补=1,011 1110 + 1,001 1101=10,101 1011(溢出)5.已知X=19,Y=35,用布思算法计算X⨯Y和X⨯(-Y)。

解:无符号数乘法的规则:Q0=1:A<-A+M,然后C,A,Q右移Q0=0:C,A,Q直接右移其中,C为进位标识符;辅助寄存器A的初始值为0;乘积的高n位存放在辅助寄存器A中,乘积的低n 位存放在寄存器Q中;移位时C标识符用0扩展。

[X]原=010011[Y]原=100011X⨯Y=010011⨯100011的运算过程和结果:C AQM Q n-1~ Q1Q0初值0 000000 10001 1 010011①A<-(A+M)0 010011 10001 1 C,A,Q右移0 001001 11000 1②A<-(A+M)0 011100 11000 1 C,A,Q右移0 001110 01100 0③C,A,Q右移0 000111 00110 0④C,A,Q右移0 000011 10011 0⑤C,A,Q右移0 000001 11001 1⑥A<-(A+M)0 010100 11001 1 C,A,Q右移0 001010 01100 1结果为:001010011001B=665有符号数乘法的规则:Q0Q-1=01:A<-A+M,A,Q,Q-1算术右移Q0Q-1=10:A<-A-M,A,Q,Q-1算术右移Q0Q-1=00或11:A,Q,Q-1算术右移其中,辅助寄存器A,Q-1的初始值为0;乘积的高n位存放在辅助寄存器A中,乘积的低n位存放在寄存器Q中;移位使用算术移位,高位采用符合扩展。

[X]补=0,010011[-X]补=1,101101[-Y]补=1,011101X⨯(-Y)=0010011⨯1011101的运算过程和结果:A Q Q-1M初值0000000 1011101 0 0010011①A<-(A-M)1101101 1011101 0 A,Q,Q-1右移1110110 1101110 1②A<-(A+M)0001001 1101110 1 A,Q,Q-1右移0000100 1110111 0③A<-(A-M)1110001 1110111 0 A,Q,Q-1右移1111000 1111011 1④A,Q,Q-1右移1111100 0111101 1⑤A,Q,Q-1右移1111110 0011110 1⑥A<-(A+M)0010001 0011110 1 A,Q,Q-1右移0001000 1001111 0⑦A<-(A-M)1110101 1001111 0 A,Q,Q-1右移1111010 1100111 1结果为:11,110101100111B=-6656.使用IEEE 754标准格式表示浮点数:-5,-1.5,1/16,-6,384,1/32。

解:最高位表示尾符;后续k位表示阶码,在原数基础上加偏移值2k-1-1;尾数为纯小数表示时,小数点后面的值。

-5=-101B=-1.01⨯210尾符1位阶码8位尾数23位1 1000 0001 01……-1.5=-1.1B=-1.1⨯20尾符1位阶码8位尾数23位1 0111 1111 10……1/16=2-4=1.0⨯2-100尾符1位阶码8位尾数23位0 0111 1011 00……-6=-110B=-1.1⨯210尾符1位阶码8位尾数23位1 1000 0001 10……384=1 1000 0000=1.1⨯21000尾符1位阶码8位尾数23位0 1000 0111 10……1/32=2-5=-1.0⨯2-101尾符1位阶码8位尾数23位1 0111 1010 00……7.已知X= -0.1000101*2-111,Y= 0.0001010*2-100。

试计算X+Y,X-Y,X*Y,X/Y。

解:对阶操作:阶差为-100-(-111)=011,将X的尾数右移3位,得X= -0.0001000*2-100将X和Y的尾数相加得:0.0000010所以,X+Y = 0.0000010*2-100=0.1*2-1001将X和Y的尾数相减得-0.0010010所以,X-Y=-0.0010010*2-100=-0.1001*2-110X=-0.1000101*2-111,Y=0.1010000*2-111阶码相加得:-111+(-111)=-1110尾数相乘:-0.1000101*0.101000=1.1000101*0.101000=-0.01010110010000所以,X*Y=-0.0101011*2-1110=-0.101011*2-1111阶码相减得:-111-(-111)=0尾数相除:-0.1000101/0.1010000=-0.1101110所以,X/Y= -0.110111*2010.求有效信息位为0110 1110的汉明码校验码。

相关主题