计算机组成原理第五版 白中英(详细)第5章习题参考答案
- 格式:doc
- 大小:594.00 KB
- 文档页数:12
白中英《计算机组成原理》(第5版)笔记和课后习题详解完整版>精研学习网>无偿试用20%资料
全国547所院校视频及题库全收集
考研全套>视频资料>课后答案>往年真题>职称考试
第1章计算机系统概论
1.1复习笔记
1.2课后习题详解
第2章运算方法和运算器
2.1复习笔记
2.2课后习题详解
第3章多层次的存储器
3.1复习笔记
3.2课后习题详解
第4章指令系统
4.1复习笔记
4.2课后习题详解
第5章中央处理器
5.1复习笔记
5.2课后习题详解
第6章总线系统
6.1复习笔记
6.2课后习题详解
第7章外存与I/O设备
7.1复习笔记
7.2课后习题详解
第8章输入输出系统
8.1复习笔记
8.2课后习题详解
第9章并行组织与结构
9.1复习笔记
9.2课后习题详解
第10章课程教学实验设计
第11章课程综合设计。
计算机组成原理第五章部分课后题答案5.1 I/O设备有哪些编址方式,各有何特点?常用的I/O编址方式有两种:I/O与内存统一编址和I/O独立编址·I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备与主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。
·I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。
5.3 I/O设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。
·程序直接控制方式:也称查询方式,采用该方式,数据在CPU和外设间的传送完全靠计算机程序控制,CPU的操作和外围设备操作同步,硬件结构简单,但由于外部设备动作慢,浪费CPU时间多,系统效率低。
·程序中断方式:外设备准备就绪后中断方式猪肚通知CPU,在CPU相应I/O设备的中断请求后,在暂停现行程序的执行,转为I/O 设备服务可明显提高CPU的利用率,在一定程度上实现了主机和I/O设备的并行工作,但硬件结构负载,服务开销时间大·DMA方式与中断方式一样,实现了主机和I/O设备的并行工作,由于DMA 方式直接依靠硬件实现贮存与I/O设备之间的数据传送,传送期间不需要CPU程序干预,CPU可继续执行原来的程序,因此CPU利用率和系统效率比中断方式更高,但DMA方式的硬件结构更为复杂。
5.4 比较程序查询方式、程序中断方式和DMA方式对CPU工作效率的影响。
·程序查询方式:主要用于CPU不太忙且传送速度不高的情况下。
无条件传送方式作为查询方式的一个特例,主要用于对简单I/O设备的控制或CPU明确知道外设所处状态的情况下。
·中断方式:主要用于CPU的任务比较忙的情况下,尤其适合实时控制和紧急事件的处理· DMA方式(直接存储器存取方式):主要用于高速外设进行大批量数据传送的场合。
计算机组成原理 第五版 习题答案第一章 (1)第二章 (3)第三章 (14)第四章 (19)第五章 (21)第六章 (27)第七章 (31)第八章 (34)第九章 (36)第一章1.模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。
数字计算机的主要特点是按位运算,并且不连续地跳动计算。
模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0和1表示数据,采用数字计数的计算方式,程序控制的控制方式。
数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。
2.数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
3.科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。
4.主要设计思想是:采用存储程序的方式,编制好的程序和数据存放在同一存储器中,计算机可以在无人干预的情况下自动完成逐条取出指令和执行指令的任务;在机器内部,指令和数据均以二进制码表示,指令在存储器中按执行顺序存放。
主要组成部分有::运算器、逻辑器、存储器、输入设备和输出设备。
5.存储器所有存储单元的总数称为存储器的存储容量。
每个存储单元都有编号,称为单元地址。
如果某字代表要处理的数据,称为数据字。
如果某字为一条指令,称为指令字。
6.计算机硬件可直接执行的每一个基本的算术运算或逻辑运算操作称为一条指令,而解算某一问题的一串指令序列,称为程序。
7.取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是数据流。
8.半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。
运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。
适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。
9.计算机的系统软件包括系统程序和应用程序。
第五章部分习题参考答案【5-10】一个1K * 8的存储芯片需要多少根地址线,数据输入输出线?解:n = log1024 = 10 根。
由于一次可读写8位数据,所以需要8根数据输入输出线。
2【5-11】某计算机字长32位,存储容量64KB,按字编址的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况?解:因为字长32位,所以64KB = 16KW,要表示16K个存储单元,需要14根地址线。
所以按字编址的寻址范围是0000H ~ 3FFFH 。
若按字节编址,假设采用PC机常用的小端方案,则主存示意图如下:【5-13】现有1024×1的存储芯片,若用它组成容量为16K×8的存储器。
试求:(1)实现该存储器所需芯片数量(2)若将这些芯片分装在若干块板上,每块板的容量是4K×8,该存储器所需的地址线的总位数是多少?其中几位用于选板?几位用于选片?几位用作片内地址?解:(1)需要16组来构成16K,共需芯片16×8 = 128片(2)需要的地址线总位数是14位。
因为共需4块板,所以2位用来选板,板内地址12位,片内地址10位。
1每块板的结构如下图24块板共同组成16K×8存储器的结构图【5-15】某半导体存储器容量16K×8,可选SRAM芯片的容量为4K ×4;地址总线A15~A0(A0为最低位),双向数据总线D7~D0,由R/W线控制读写。
设计并画出该存储器的逻辑图,并注明地址分配、片选逻辑和片选信号的极性。
解:注:采用全译码方式方案片内地片A0A1A3A2A8A9A7A6A5A4A12A15A14A13A11A1000000000000000004K111111100001111100001000000000004K10001111111111114K00000000100000001 1 1 1 1 1 1 1 1 1 1 1 0 0 1 00 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 4K11111111111111时分别选定,11,为A1200,0110,,恒为,由以上真值表可知,采用全译码方式,A15A140A13 RAM芯片。
第二章1.(1) 35 =−100011)[ 35]原10100011[ 35]补11011100[ 35]反11011101 (2)[127]原=01111111[127]反=01111111[127]补=01111111 (3) 127 =−1111111)[ 127]原11111111[ 127]补10000001[ 127]反10000000 (4) 1 =−00000001)[ 1]原10000001( 2= ==( 2===( 2===[ 1]补 11111111[ 1]反 111111102.[x]补 = a 0. a 1a 2…a 6 解法一、(1) 若 a 0 = 0, 则 x > 0, 也满足 x > -0.5此时 a 1→a 6 可任意(2) 若 a 0 = 1, 则 x <= 0, 要满足 x > -0.5, 需 a 1 = 1即 a 0 = 1, a 1 = 1, a 2→a 6 有一个不为 0解法二、-0.5 = -0.1(2) = -0.100000 = 1, 100000(1) 若 x >= 0, 则 a0 = 0, a 1→a 6 任意即可;(2) [x]补= x = a 0. a 1a 2…a 6(2) 若 x < 0, 则 x > -0.5 只需-x < 0.5, -x > 0[x]补 = -x, [0.5]补 = 01000000即[-x]补 < 01000000a 0 * a 1 * a 2 a 6 + 1 < 01000000a 0 * a 1 * a 2 a 6 < 00111111a 0 a 1a 2 a 6 > 11000000即 a 0a 1 = 11, a 2→a 6 不全为 0 或至少有一个为 1(但不是“其余取 0”)3.字长 32 位浮点数,阶码 8 位,用移码表示,尾数 23 位,用补码表示,基为 2EsE 1→E 8MsM 21M 0(1) 最大的数的二进制表示E = 11111111Ms = 0, M = 11…1(全 1)⋅ (1 2 )即: 2 2 ⋅ 2 (最接近 0 的负数)即: 2 2 ⋅ (2 + 2[ 2 2 ⋅ 2⋅ (1 2 ) ] [ 22 1 ⋅ ( 1) , 2 2 ⋅ (2 1 + 2 ) ]1 11111111 01111111111111111111111(2) 最小的二进制数E = 11111111Ms = 1, M = 00…0(全 0) 1 11111111 1000000000000000000000(3) 规格化范围正最大E = 11…1, M = 11…1, Ms = 08 个22 个即: 227122正最小E = 00…0, M = 100…0, Ms = 08 个7121 个负最大E = 00…0, M = 011…1, Ms = 18 个21 个负最小7 1E = 11…1, M = 00…0, Ms =18 个22 个22 )即: 22⋅ ( 1)规格化所表示的范围用集合表示为:71, 227122 7 7 224计算机组成原理第五版习题答案4.在IEEE754 标准中,一个规格化的32 位浮点数x 的真值表示为:X=( 1)s ×(1.M)× 2 E 127(1)27/64=0.011011=1.1011× 22E= -2+127 = 125= 0111 1101 S= 0 M= 1011 0000 0000 0000 0000 000最后表示为:0 01111101 10110000000000000000000(2)-27/64=-0.011011=1.1011× 22E= -2+127 = 125= 0111 1101 S= 1 M= 1011 0000 0000 0000 0000 000最后表示为:1 01111101 101100000000000000000005.(1)用变形补码进行计算:[x]补=00 11011 [y]补=00 00011[x]补= [y]补= [x+y]补=00 11011 + 00 0001100 11110结果没有溢出,x+y=11110 (2) [x]补=00 11011 [y]补=11 01011[x]补= [y]补= [x+y]补=00 11011 + 11 0101100 00110结果没有溢出,x+y=00110(3)[x]补=11 01010 [y]补=11 111111[x]补= [y]补= [x+y]补=00 01010 + 00 1111111 01001结果没有溢出,x+y=−101116.[x-y]补=[x]补+[-y]补(1)[x]补=00 11011 [-y]补=00 11111[x]补= 00 11011[-y]补= + 00 11111[x-y]补= 01 11010结果有正溢出,x−y=11010(2)[x]补=00 10111 [-y]补=11 00101[x]补= 00 10111[-y]补= + 11 00101[x-y]补= 11 11100结果没有溢出,x−y=−001005计算机组成原理第五版习题答案(3)[x]补=00 11011 [-y]补=00 10011[x]补= 00 11011[-y]补= + 00 10011[x-y]补= 01 01110结果有正溢出,x−y=100107.(1)用原码阵列乘法器:[x]原=0 11011 [y]原=1 11111因符号位单独考虑,|x|=11011 |y|=111111 1 0 1 1×) 1 1 1 1 1——————————————————————————1 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 0 0 0 1 0 1[x×y]原=1 1101000101用补码阵列乘法器:[x]补=0 11011 [y]补=1 00001乘积符号位为:1|x|=11011 |y|=111111 1 0 1 1×) 1 1 1 1 1——————————————————————————1 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 16计算机组成原理第五版习题答案1 1 0 1 11 1 0 1 0 0 0 1 0 1[x×y]补=1 0010111011(2) 用原码阵列乘法器:[x]原=1 11111 [y]原=1 11011因符号位单独考虑,|x|=11111 |y|=110111 1 1 1 1×) 1 1 0 1 1——————————————————————————1 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 11 1 1 1 11 1 0 1 0 0 0 1 0 1[x×y]原=0 1101000101用补码阵列乘法器:[x]补=1 00001 [y]补=1 00101乘积符号位为:1|x|=11111 |y|=110111 1 1 1 1×) 1 1 0 1 1——————————————————————————1 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 17计算机组成原理第五版习题答案1 1 1 1 11 1 0 1 0 0 0 1 0 1[x×y]补=0 11010001018.(1) [x]原=[x]补=0 11000 [-∣y∣]补=1 00001被除数X 0 11000+[-|y|]补 1 00001----------------------------------------------------余数为负 1 11001 →q0=0左移 1 10010+[|y|]补0 11111----------------------------------------------------余数为正0 10001 →q1=1左移 1 00010+[-|y|]补 1 00001----------------------------------------------------余数为正0 00011 →q2=1左移0 00110+[-|y|]补 1 00001----------------------------------------------------余数为负 1 00111 →q3=0左移0 01110+[|y|]补0 11111----------------------------------------------------余数为负 1 01101 →q4=0左移0 11010+[|y|]补0 11111----------------------------------------------------余数为负 1 11001 →q5=0+[|y|]补0 11111----------------------------------------------------余数0 11000故[x÷y]原=1.11000 即x÷y= −0.11000余数为0 11000[∣x∣]补=0 01011 [-∣y∣]补=1 00111(2)被除数X 0 01011+[-|y|]补 1 00111----------------------------------------------------余数为负 1 10010 →q0=08计算机组成原理第五版习题答案左移 1 00100+[|y|]补0 11001----------------------------------------------------余数为负 1 11101 →q1=0左移 1 11010+[|y|]补0 11001----------------------------------------------------余数为正0 10011 →q2=1左移 1 00110+[-|y|]补 1 00111----------------------------------------------------余数为正0 01101 →q3=1左移0 11010+[-|y|]补 1 00111----------------------------------------------------余数为正0 00001 →q4=1左移0 00010+[-|y|]补 1 00111----------------------------------------------------余数为负 1 01001 →q5=0+[|y|]补0 11001----------------------------------------------------余数0 00010x÷y= −0.01110余数为0 000109.(1) x = 2-011*0.100101, y = 2-010*(-0.011110)[x]浮= 11101,0.100101[y]浮= 11110,-0.011110Ex-Ey = 11101+00010=11111[x]浮= 11110,0.010010(1)x+y 0 0. 0 1 0 0 1 0 (1)+ 1 1. 1 0 0 0 1 01 1. 1 1 0 1 0 0 (1)规格化处理: 1.010010 阶码11100-4 -4x-y 0 0. 0 1 0 0 1 0 (1)+ 0 0. 0 1 1 1 1 00 0 1 1 0 0 0 0 (1)规格化处理: 0.110000 阶码11110x-y=2-2*0.110001(2) x = 2-101*(-0.010110), y = 2-100*0.010110[x]浮= 11011,-0.010110[y]浮= 11100,0.0101109 x+y= 1.010010*2 = 2 *-0.101110计算机组成原理第五版习题答案Ex-Ey = 11011+00100 = 11111[x]浮= 11100,1.110101(0)x+y 1 1. 1 1 0 1 0 1+ 0 0. 0 1 0 1 1 00 0. 0 0 1 0 1 1规格化处理: 0.101100x+y= 0.101100*2阶码-611010x-y 1 1.1 1 0 1 0 1+ 1 1.1 0 1 0 1 01 1.0 1 1 1 1 1规格化处理: 1.011111 阶码11100x-y=-0.100001*2 -410.(1) Ex = 0011, Mx = 0.110100Ey = 0100, My = 0.100100Ez = Ex+Ey = 0111Mx*My 0. 1 1 0 1* 0.1 0 0 10110100000000000110100000001110101规格化:26*0.111011(2) Ex = 1110, Mx = 0.011010Ey = 0011, My = 0.111100Ez = Ex-Ey = 1110+1101 = 1011 [Mx]补= 00.011010[My]补= 00.111100,[-My]补= 11.00010010计算机组成原理第五版习题答案00011010+[-My] 110001001101111010111100+[My] 001111000.01111100011110000+[My] 001111000.010010110001011000+[-My] 110001000.0110001110000111000+[-My] 11000100111111000.011011111000+[My] 001111000.011010011010001101000+[-My] 1 1 0 00 1 0 00 0 1 0 1 10 0 0.01101商= 0.110110*2-6,4 位加法器如上图,11.C i = A i B i + A i C i 1 + B i C i 1= A i B i + ( A i + B i )C i 1= A i B i + ( A i B i )C i 1(1)串行进位方式余数=0.101100*2-6C1 = G1+P1C0 C2 = G2+P2C1 C3 = G3+P3C2 C4 = G4+P4C3 其中:G1 = A1B1G2 = A2B2G3 = A3B3G4 = A4B4P1 = A1⊕B1(A1+B1也对)P2 = A2⊕B2P3 = A3⊕B3P4 = A4⊕B4(2)并行进位方式C1 = G1+P1C0C2 = G2+P2G1+P2P1C0C3 = G3+P3G2+P3P2G1+P3P2P1C0C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C011计算机组成原理第五版习题答案12.(1)组成最低四位的 74181 进位输出为:C 4 = C n+4 = G+PC n = G+PC 0, C 0 为向第 0 位进位 其中,G = y 3+y 2x 3+y 1x 2x 3+y 0x 1x 2x 3,P = x 0x 1x 2x 3,所以C 5 = y 4+x 4C 4C 6 = y 5+x 5C 5 = y 5+x 5y 4+x 5x 4C 4(2)设标准门延迟时间为 T , 与或非”门延迟时间为 1.5T ,则进位信号 C 0,由最低位传 送至 C 6 需经一个反相器、两级“与或非”门,故产生 C 0 的最长延迟时间为T+2*1.5T = 4T(3)最长求和时间应从施加操作数到 ALU 算起:第一片 74181 有 3 级“与或非”门(产 生控制参数 x 0, y 0, C n+4),第二、三片 74181 共 2 级反相器和 2 级“与或非”门(进 位链),第四片 74181 求和逻辑(1 级与或非门和 1 级半加器,设其延迟时间为 3T ), 故总的加法时间为:t 0 = 3*1.5T+2T+2*1.5T+1.5T+3T = 14T13.设余三码编码的两个运算数为 X i 和 Y i ,第一次用二进制加法求和运算的和数为 S i ’,进位为 C i+1’,校正后所得的余三码和数为 S i ,进位为 C i+1,则有: X i = X i3X i2X i1X i0 Y i = Y i3Y i2Y i1Y i0 S i ’ = S i3’S i2’S i1’S i0’s i3s i2s i1s i0Ci+1FAFAFAFA十进校正+3VF As i3'FA s i2'FA“s i1'FAs i0'二进加法X i3 Y i3 X i2 Y i2X i1 Y i1 X i0 Y i0当 C i+1’ = 1 时,S i = S i ’+0011并产生 C i+1当 C i+1’ = 0 时,S i = S i ’+1101根据以上分析,可画出余三码编码的十进制加法器单元电路如图所示。
计算机组成原理第五版习题答案第一章 (1)第二章 (3)第三章 (14)第四章 (19)第五章 (21)第六章 (27)第七章 (31)第八章 (34)第九章 (36)第一章1.模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。
数字计算机的主要特点是按位运算,并且不连续地跳动计算。
模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0 和1 表示数据,采用数字计数的计算方式,程序控制的控制方式。
数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。
2.数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
3.科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。
4.主要设计思想是:采用存储程序的方式,编制好的程序和数据存放在同一存储器中,计算机可以在无人干预的情况下自动完成逐条取出指令和执行指令的任务;在机器内部,指令和数据均以二进制码表示,指令在存储器中按执行顺序存放。
主要组成部分有::运算器、逻辑器、存储器、输入设备和输出设备。
5.存储器所有存储单元的总数称为存储器的存储容量。
每个存储单元都有编号,称为单元地址。
如果某字代表要处理的数据,称为数据字。
如果某字为一条指令,称为指令字。
6.计算机硬件可直接执行的每一个基本的算术运算或逻辑运算操作称为一条指令,而解算某一问题的一串指令序列,称为程序。
7.取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是数据流。
8.半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。
运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。
适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。
9.计算机的系统软件包括系统程序和应用程序。
1 .已知X 和Y ,试用它们的变形补码计算出X +Y ,并指出结果是否溢出。
(1)X =0.11011,Y =0.11111(2)X =0.11011,Y =-0.10101(3)X =-0.10110,Y =-0.00001(4)X =-0.11011,Y =0.11110解:(1)[X]补=0.11011,[Y ]补=0.1111100.11011[X]补+00.11111[Y ]补01.11010[X +Y ]补结果正溢(2)[X]补=0.11011,[Y ]补=1.0101100.11011[X]补+11.01011[Y ]补00.00110[X +Y ]补X +Y =0.00110(3)[X]补=1.01010,[Y ]补=1.1111111.01010[X]补+11.11111[Y ]补11.01001[X +Y ]补X +Y =-0.10111(4)[X]补=1.00101,[Y ]补=0.1111011.00101[X]补+00.11110[Y ]补00.00011[X +Y ]补X +Y =0.000112 .已知X 和Y ,试用它们的变形补码计算出X -Y ,并指出结果是否溢出。
(1)X =0.11011,Y =-0.11111(2)X =0.10111,Y =0.11011(3)X =0.11011,Y =-0.10011(4)X =-0.10110,Y =-0.00001解:(1)[X]补=0.11011,[Y ]补=1.00001,[-Y ]补=0.1111100.11011[X]补+00.11111[-Y ]补01.11010[X -Y ]补结果正溢(2)[X]补=0.10111,[Y ]补=0.11011,[-Y ]补=1.0010100.10111[X]补+11.00101[-Y ]补11.11100[X -Y ]补X -Y =-0.00100(3)[X]补=0.11011,[Y ]补=1.01101,[-Y ]补=0.1001100.11011[X]补+00.10011[-Y ]补01.01110[X -Y ]补结果正溢(4)[X]补=1.01010,[Y ]补=1.11111,[-Y ]补=0.0000111.01010[X]补+00.00001[-Y ]补11.01011[X -Y ]补X -Y =-0.101013 .已知:X =0.1011,Y =-0.0101求:[1/2X]补,[1/4X]补,[-X]补,[1/2Y]补,[1/4Y]补,[-Y ]补。
第五章 可编程逻辑(习题答案)1. 画出与阵列编程点解: B A A -B -C -C 3333X2. 画出或阵列编程点解: B A A -B -C -C 4444D D -X 1X 2X 3X 43. 与、或阵列均可编程,画出编程点。
解;AF 1A-CBC -B -F 3F 24. 4变量LUT 编程解:A 0A 1A 2A 30123AA A A 0123AA A A 0123AA A A 0123AA A A 0123AA A A 0123AA A A 0123A A A A 0123A A A A 0123A A A A 0123A A A A 0123A A A A 0123A A A A 0123A A A A 0123A A A A 0123A A A A 0123A A A A 00101001110SOP 输出5. 用VHDL 写出4输入与门解: 源代码:LIBRARY IEEE ;USE IEEE .STD_LOGIC_1164.ALL ;ENTITY and4 ISPORT (a ,b ,c ,d :IN STD_LOGIC ;x :OUT STD_LOGIC );END and4;ARCHITECTURE and4_arc OF and4 ISBEGINx <=a AND b AND c AND d ;END and4_arc ;6. 用VHDL 写出4输入或门解: 源代码:LIBRARY IEEE ;USE IEEE .STD_LOGIC_1164.ALL ;ENTITY or4 ISPORT (a,b,c,d:IN STD_LOGIC;x:OUT STD_LOGIC);END or4;ARCHITECTURE or4_arc OF or4 ISBEGINx<=a OR b OR c OR d;END or4_arc;7.用VHDL写出SOP表达式解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sop ISPORT (a,b,c,d,e,f:IN STD_LOGIC;x:OUT STD_LOGIC);END sop;ARCHITECTURE sop_arc OF sop ISBEGINx<=(a AND b) OR (c AND d) OR (e AND f);END sop_arc;8.用VHDL写出布尔表达式解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY boolean ISPORT (a,b,c:IN STD_LOGIC;f:OUT STD_LOGIC);END boolean;ARCHITECTURE boolean_arc OF boolean ISBEGINf<=(a OR (NOT b)OR c) AND (a OR b OR(NOT c))AND ((NOT a) OR (NOT b) OR (NOT c));END boolean_arc;9.用VHDL结构法写出SOP表达式解:源代码:――三输入与非门的逻辑描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY nand3 ISPORT (a,b,c:IN STD_LOGIC;x:OUT STD_LOGIC);END nand3;ARCHITECTURE nand3_arc OF nand3 ISBEGINx<=NOT (a AND b AND c);END nand3_arc;――顶层结构描述文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sop ISPORT (in1,in2,in3,in4,in5,in6,in7,in8,in9:IN STD_LOGIC;out4:OUT STD_LOGIC);END sop;ARCHITECTURE sop_arc OF sop ISCOMPONENT nand3PORT (a,b,c:IN STD_LOGIC;x:OUT STD_LOGIC);END COMPONENT;SIGNAL out1,out2,out3:STD_LOGIC;BEGINu1:nand3 PORT MAP (in1,in2,in3,out1);u2:nand3 PORT MAP (in4,in5,in6,out2);u3:nand3 PORT MAP (in7,in8,in9,out3);u4:nand3 PORT MAP (out1,out2,out3,out4);END sop;10.用VHDL数据流法写出SOP表达式解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sop ISPORT (in1,in2,in3,in4,in5,in6,in7,in8,in9:IN STD_LOGIC;out4:OUT STD_LOGIC);END sop;ARCHITECTURE sop_arc OF sop ISBEGINout4<=(in1 AND in2 AND in3) OR (in4 AND in5 AND in6 ) OR (in7 AND in8 AND in9);END sop_arc;13.用VHDL设计3-8译码器解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 ISPORT(a,b,c,g1,g2a,g2b:IN STD_LOGIC;y:OUT STD_LOGIC _VECTOR(7 downto 0));END decoder_3_to_8;ARCHITECTURE rt1 OF decoder_3_to_8 ISSIGNAL indata:STD_LOGIC _VECTOR(2 downto 0);BEGINindata<=c & b & a;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1=′1′ AND g2a=′0′ AND g2b=′0′)THENCASE indata ISWHEN "000"=>y<="11111110";WHEN "001"=>y<="11111101";WHEN "010"=>y<="11111011";WHEN "011"=>y<="11110111";WHEN "100"=>y<="11101111";WHEN "101"=>y<="11011111";WHEN "110"=>y<="10111111";WHEN others=>y<="01111111";END CASE;ELSEy<="11111111";END IF;END PROCESS;END rt1;14.用VHDL设计七段显示译码器解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY segment7 ISPORT(xin:IN STD_LOGIC _VECTOR(3 downto 0);lt,rbi:IN STD_LOGIC;yout:OUT STD_LOGIC _VECTOR(6 downto 0);birbo:INOUT STD_LOGIC);END segment7;ARCHITECTURE seg7448 OF segment7 ISSIGNAL sig_xin:STD_LOGIC _VECTOR(3 downto 0);BEGINsig_xin<=xin;PROCESS(sig_xin,lt,rbi,birbo)BEGINIF(birbo=′0′)THENyout<="0000000";ELSIF (lt=′0′)THENyout<="1111111";birbo<=′1′;ELSIF (rbi=′0′AND sig_xin="0000")THENyout<="0000000";birbo<=′0′;ELSIF (rbi=′1′ AND sig_xin="0000")THENyout<="1111110";birbo<=′1′;ELSEbirbo<=′1′;CASE sig_xin ISWHEN "0001"=>yout<="0110000";WHEN "0010"=>yout<="1101101";WHEN "0011"=>yout<="1111001";WHEN "0100"=>yout<="0110011";WHEN "0101"=>yout<="1011011";WHEN "0110"=>yout<="0011111";WHEN "0111"=>yout<="1110000";WHEN "1000"=>yout<="1111111";WHEN "1001"=>yout<="1110011";WHEN others=>yout<="0100011";END CASE;END IF;END PROCESS;END seg7448;15.用VHDL设计8/3优先编码器解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY priorityencoder ISPORT(din:IN STD_LOGIC _VECTOR(7 downto 0);ei:IN STD_LOGIC;yout:OUT STD_LOGIC _VECTOR(2 downto 0);eo,gs:OUT STD_LOGIC);END priorityencoder;ARCHITECTURE cod74148 OF priorityencoder IS BEGINPROCESS(ei,din)BEGINIF(ei=′1′)THENyout<="111";eo<=′1′;gs<=′1′;ELSEIF(din(7)=′0′ ) THENyout<="000";eo<=′1′;gs<=′0′;ELSIF(din(6)=′0′ ) THENyout <="001";eo<=′1′;gs<=′0′;ELSIF(din(5)=′0′ ) THENyout<="010";eo<=′1′;gs<=′0′;ELSIF(din(4)=′0′ ) THENyout<="011";eo<=′1′;gs<=′0′;ELSIF(din(3)=′0′ ) THENyout<="100";eo<=′1′;gs<=′0′;ELSIF(din(2)=′0′ ) THENyout<="101";eo<=′1′;gs<=′0′;ELSIF(din(1)=′0′ ) THENyout<="110";eo<=′1′;gs<=′0′;ELSIF(din(0)=′0′ ) THENyout<="111";eo<=′1′;gs<=′0′;ELSIF(din="11111111") THENyout<="111";eo<=′0′;gs<=′1′;END IF;END IF;END PROCESS;END cod74148;16.用VHDL设计BCD码至二进制码转换器。
第5章习题参考答案1.请在括号内填入适当答案。
在CPU中:(1)保存当前正在执行的指令的寄存器是(IR );(2)保存当前正在执行的指令地址的寄存器是(AR )(3)算术逻辑运算结果通常放在(DR )和(通用寄存器)。
2.参见图5.15的数据通路。
画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的内容传送至(R2)为地址的主存单元中。
标出各微操作信号序列。
解:STO R1, (R2)的指令流程图及微操作信号序列如下:STO R1, (R2)R/W=RDR O, G, IR iR2O, G, AR iR1O, G, DR iR/W=W3.参见图5.15的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列。
解:LAD R3, (R0)的指令流程图及为操作信号序列如下:PC O , G, AR i R/W=R DR O , G, IR iR 3O , G, AR i DR O , G, R 0iR/W=R LAD (R3), R04.假设主脉冲源频率为10MHz ,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。
解:5.如果在一个CPU 周期中要产生3个节拍脉冲;T l =200ns ,T 2=400ns ,T 3=200ns ,试画出时序产生器逻辑图。
解:取节拍脉冲T l 、T 2、T 3的宽度为时钟周期或者是时钟周期的倍数即可。
所以取时钟源提供的时钟周期为200ns ,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T 3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C 4外,还需要3个触发器——C l 、C 2、C 3;并令211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下:6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。
已知微指令长度为32位,请估算控制存储器容量。
解:80条指令,平均每条指令由4条微指令组成,其中有一条公用微指令,所以总微指令条数为80⨯ (4-1)+1=241条微指令,每条微指令32位,所以控存容量为:241⨯32位7.某ALU器件是用模式控制码M S3 S2 S1 C来控制执行不同的算术运算和逻辑操作。
下表列出各条指令所要求的模式控制码,其中y为二进制变量,φ为0或l任选。
试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M,S3,S2解:由表可列如下逻辑方程M=GS3=H+D+FS2=A+B+D+H+E+F+GS1=A+B+F+GC=H+D+Ey+Fy8.某机有8条微指令I1—I8,每条微指令所包含的微命令控制信号如下表所示。
a—j分别对应10种不同性质的微命令信号。
假设一条微指令的控制字段仅限为8解:因为有10种不同性质的微命令信号,如果采用直接表示法则需要10位控制字段,现控制字段仅限于8位,那么,为了压缩控制字段的长度,必须设法把一个微指令周期中的互斥性微命令组合在一个小组中,进行分组译码。
经分析,(e,f,h)和(b,i,j)、或(d,i,j)和(e,f,h)、或(g,b,j)和(i,f,h)均是不可能同时出现的互斥信号,所以可将其通过2:4译码后输出三个微命令信号(00表示该组所有的微命令均无效),而其余四个微命令信号用直接表示方式。
因此可用下面的格式安排控制字段。
e f h b i je f h d i jf h i bg j9.微地址转移逻辑表达式如下:μA8 = P1·IR6·T4μA7 = P1·IR5·T4μA6 = P2·C·T4其中μA8—μA6为微地址寄存器相应位,P1和P2为判别标志,C为进位标志,IR5和IR6为指令寄存器的相应位,T4为时钟周期信号。
说明上述逻辑表达式的含义,画出微地址转移逻辑图。
解:μA5=P3·IR5·T4μA4=P3·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4μA1=P1·IR1·T4μA0=P1·IR0·T4+P2·C·T4用触发器强置端(低有效)修改,前5个表达式用“与非”门实现,最后1个用“与或非”门实现μA2、μA1、μA0触发器的微地址转移逻辑图如下:(其他略)10.某计算机有如下部件,ALU,移位器,主存M,主存数据寄存器MDR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0 R3,暂存器C和D。
(1)请将各逻辑部件组成一个数据通路,并标明数据流动方向。
(2)画出“ADD R1,R2”指令的指令周期流程图。
解:(1) 设该系统为单总线结构,暂存器C和D用于ALU的输入端数据暂存,移位器作为ALU输出端的缓冲器,可对ALU的运算结果进行附加操作,则数据通路可设计如下:(2) 根据上面的数据通路,可画出“ADD R1,R2”(设R1为目的寄存器)的指令周期流程图如下:ADD R1, R211.已知某机采用微程序控制方式,控存容量为512*48位。
微程序可在整个控存中实现转移,控制微程序转移的条件共4个,微指令采用水平型格式,后继微指令地址采用断定方式。
请问;(1)微指令的三个字段分别应为多少位?(2)画出对应这种微指令格式的微程序控制器逻辑框图。
解:(1) 因为容量为512*48位,所以下址字段需用9位,控制微程序转移的条件有4个,所以判别测试字段需4位或(3位译码),因此操作控制字段的位数48-9-4=35位(或48-9-3=36位)(2)微程序控制器逻辑框图参见教材P.147图5.2312.今有4级流水线,分别完成取指、指令译码并取数、运算、送结果四步操作。
今假设完成各步操作的时间依次为100ns ,100ns ,80ns ,50ns 。
请问; (1)流水线的操作周期应设计为多少?(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第2条指令要推迟多少时间进行?(3)如果在硬件设计上加以改进,至少需推迟多少时间? 答:(1) 流水操作周期为max(100,100,80,50)=100ns(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么在第1条指令“送结果”步骤完成后,第2条指令的“取数”步骤才能开始,也就是说,第2条指令要推迟两个操作周期,即200ns 才能进行。
(3) 如果在硬件设计上加以改进,采用定向传送的技术,则只要第1条指令完成“运算”的步骤,第2条指令就可以“取数”了,因此至少需推迟100ns 。
13.指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有20条指令连续输入此流水线。
(1)画出流水处理的时空图,假设时钟周期为100ns 。
(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。
(3)求流水线的加速比。
解:(1) 流水处理的空图如下,其中每个流水操作周期为100ns :空间I 20EX ID IF123456⋯192021222324时间T(2) 流水线的实际吞吐量:执行20条指令共用5+1⨯19=24个流水周期,共2400ns ,所以实际吞吐率为:秒百万条指令/333.8102400209≈⨯- (3) 流水线的加速比为 : 设流水线操作周期为τ,则n 指令串行经过k 个过程段的时间为n*k*τ ;而n 条指令经过可并行的k 段流水线时所需的时间为(k+n-1)*τ; 故20条指令经过5个过程段的加速比为:()17.4195520≈⨯+⨯⨯ττ14.用时空图法证明流水计算机比非流水计算机具有更高的吞吐率。
解:设流水计算机的指令流水线分为4个过程段:IF 、ID 、EX 、WB ,则流水计算机的时空图如下:空间T非流水计算机的时空图:空间I 212345678时间T由图中可以看出,同样的8个操作周期内,流水计算机执行完了5条指令,而非流水计算机只执行完了2条指令;由此,可看出流水计算机比非流水计算机具有更高的吞吐率。
15.用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率。
证明:设流水计算机具有k 级流水线,每个操作周期的时间为τ,执行n 条指令的时间为:()τ⨯-+=1n k T ; 吞吐率为:()τ⨯-+=11n k nH而非流水计算机,执行n 条指令的时间为:τ⨯⨯=k n T ;吞吐率为:τ⨯⨯=k n nH 2()1121-+⨯=⨯-+⨯⨯=n k kn n k k n H H ττ 当n=1时,21H H =;当n>1时,21H H >,即:流水计算机具有更高的吞吐率。
16.判断以下三组指令中各存在哪种类型的数据相关?(1) I 1 LAD R1,A ; M(A)→R1,M(A)是存储器单元 I 2 ADD R2,Rl ; (R2)+(R1)→R2 (2) I 1 ADD R3,R4 ; (R3)+(R4)→R3 I 2 MUL R4,R5 ; (R4)⨯(R5)→R4(3) I 1 LAD R6,B ; M(B)→R6,M(B)是存储器单元I 2 MUL R6,R7 ; (R6)⨯ (R7)→R6 解:(1) I 1的运算结果应该先写入R 1,然后再在I 2中读取R 1的内容作为操作数,所以是发生RAW (“写后读”)相关 (2) WAR(3) RAW 和WAW 两种相关17.参考图5.39所示的超标量流水线结构模型,现有如下6条指令序列: I 1 LAD R1,B ; M(B)→R1,M(B)是存储器单元 I 2 SUB R2,Rl ; (R2)-(R1)→R2 I 3 MUL R3,R4 ; (R3)*(R4)→R3 I 4 ADD R4,R5 ; (R4)+(R5)→R4I 5 LAD R6,A ; M(A)→R6,M(A)是存储器单元I6ADD R6,R7 ;(R6)+(R7)→R6请画出:(1)按序发射按序完成各段推进情况图。
(2)按序发射按序完成的流水线时空图。
解:(1)按序发射按序完成各段推进情况图如下(仍设F、D段要求成对输入;F、D、W段只需1个周期;加需要2个周期;乘需要3个周期;存/取数需要1个周期;执行部件内部有定向传送,结果生成即可使用):取/存加法器乘法器(2) 按序发射按序完成的流水时空图如下:II。