《计算机组成原理形成性考核作业》由会员分享,可在线阅读,更多相关《计算机组成原理形成性考核作业(5页珍藏版)》请在金锄头文库上搜索。
1、形成性考核作业第 3 章一、说明串行进位和并行进位方式的不同之处。 (P.61.)答:串行进位中进位是逐级形成的,每一级的进位直接依赖于前一级的进位,延迟时间较长,但节省器件,成本低。并行进位中,各位进位信号都有独自的进位形成逻辑,每位进位信号的产生时间都相同,与低位进位无关,可有效地减少进位延迟时间。但这是以增加逻辑线路为代价的。二、用变形补码计算X 补 +Y补 ,并判断是否溢出,是正何种溢出。答:(1)X 补 =00,110011 Y补 =00,101101X补 +Y补 = 01,100000,正溢出(2)X 补 =11,001101 Y补 =11,010011X补 +Y补 = 10,10
2、0000,负溢出三、用变形补码计算X 补 Y补 ,并判断是否溢出,是何种溢出。(1)X 补 =00,110011 Y补 =00,101101 -Y补 =11,010011X补 - Y补 = X补+ -Y补 = 00,000110 无溢出(2)X 补 =11,001101 Y补 =11,010011 -Y补 =00,101101X补 - Y补 = X补+ -Y补 = 11,111010 无溢出四、用无符号数一位乘法计算 X * Y,写出规范的运算过程。(P.74. ) (绿色数字代表部分积,紫色代表部分积进位, 红色是被乘数, 褐色是乘数)答: (1) X=1001 Y=1101B(被乘数) 1
3、001Ca A (部分积) C(乘数) 0 0000 11010 0000 1101 +B 1001C0= 0 10010100 1110+0 0000C0= 0 0100 0010 0111+B 1001C0= 0 10110101 1011+B 1001C0= 0 11100111 0101X * Y =01110101五、用无符号数不恢复余数法求 XY,写出运算过程,分别给出求得的尚和余数。(P.76. )答: (红色是被除数, 褐色是除数)(1) X=00101001 Y=1011B(除数) 01011 -B 补 =10101A (被除数高位) C(被除数低位) 00010 1001
4、初始状态0 01001 1001 A0,商 1,下步左移后-B0 01000 0011 A0,商 1余数 商六、说明什么是组合逻辑控制器,微程序控制器,并解释有关的基本概念。(P.87. P.102. P.103.) 答:组合逻辑控制器是用逻辑门电路产生微命令的。每个微命令都需要一组逻辑门电路,根据相应的逻辑条件(如指令的操作码、寻址方式、时序信号等)产生该微命令。组合逻辑控制器一旦制造完成,这些逻辑电路之间的连接关系就固定了,不易改动,所以又称为硬连逻辑控制器。微程序控制器是采用微程序控制方式来产生微命令。基本思想:(1)将机器指令分解为基本的微命令序列,用二进制代码表示这些微命令,并编成微
5、指令,多条微指令再形成微程序。 (2)一条微指令包含的微命令,控制实现一步(一个节拍)操作;若干条微指令组成的一小段微程序解释执行一条机器指令。组合逻辑控制器其速度主要取决于电路延迟,因此在高速计算机如 RISC 处理器和巨型机中,常采用这种速度较快的硬连控制方式,但组合逻辑控制器的逻辑形态不规则,设计效率低,检查调试难,一旦制造完成,这些逻辑电路之间的连接关系就固定了,不易改动。微程序控制方式,将程序技术引入到 CPU 的构成级,即像编制程序那样编制微命令序列,从而使设计规整化。它将存储结构因入 CPU,只要修改所存储的代码即微命令信息,就可修改有关的功能与执行的方式。七、试说明模型机中下列
6、寄存器的作用:通用寄存器、暂存器、IR、PC 、MAR 、MDR(P.78.) 答:通用寄存器:R0、R1、R2 、R3 这是一组可编程访问,具有多种功能的寄存器。在指令系统中为这些寄存器分配了编号即寄存器地址,因此可编程指定使用某个寄存器。通用寄存器本身在逻辑上只具有接收信息、存储信息和发送信息的功能。但通过编程与运算部件的配合就可以实现多种功能。暂存器:暂存器有 3 个,C, D,Z。可以用来暂存从主存储器读出的数据,这个数据是不能存放在通用寄存器中,否则会破坏其原有的内容。指令系统中没有为暂存器分配编号,因此程序员不能编程访问它们,因而是透明的。IR: 指令寄存器 IR,用来存放当前正在
7、执行的一条指令。当执行一条指令时,应先将指令从主存中读出到 IR 中。PS:程序状态字寄存器又称为标志寄存器,用来存放现行程序的运行状态和工作方式,其内容称为程序状态字 PWS。MAR:地址寄存器 MAR,用于存放 CPU 访问主存或 I/O 接口的地址。MDR:数据寄存器 MDR,用于存放 CPU 访问主存或 I/O 接口之间传送的数据。八、写出下述指令的读取与执行流程:答:(1) MOV R0, R2FT0 PC MARFT1 M MDR IR, PC+1 PCET0 R2 R0(2) ADD R0, X(R1)FT0 PC MARFT1 M MDR IR, PC+1 PCST0 PC M
8、ARST1 M MDR D, PC+1 PCST2 D + R1 ZST3 Z MARST4 M MDR DET0 R0 ADD D ZET1 Z R0(3) JMP ( R0)FT0 PC MARFT1 M MDR IR, PC+1 PCET0 R0 MARET1 M MDR PC第 4 章一、8086/8088 CPU 中有哪些寄存器?各有什么作用?(P.117.)答:8086/8088 CPU 中有:通用寄存器: AX 累加寄存器 BX 基址寄存器CX 计数寄存器DX 数据寄存器SP 堆栈指针寄存器BP 基址指针寄存器SI 源变址寄存器DI 目的变址寄存器段寄存器: CS 代码段寄存器
9、DS 数据段寄存器SS 堆栈段寄存器ES 附加段寄存器控制寄存器: IP 指令指针 FLAGS 标志寄存器二、8086/8088 CPU 中标志寄存器各标志位的含义。(P.120.)答:8086/8088 CPU 中设有一个 16 位标志寄存器 FR,用来记录程序执行时的状态。FR 中共有 9 个标志位。0 CF:进位标志位 有进位(或借位)时,CF=1;否则置 02 PF:奇偶标志位 低 8 位中含“1”的个数为偶数时, PF=1;否则置 04 AF:辅助进位标志位 低字节中低 4 位有进位(或借位)时,AF=1;否则置 06 ZF:零值标志位 结果各位全为“0”时,ZF=17 SF:符号标
10、志位 结果最高位为 1 时,SF=1,否则置 08 TF:单步标志位 设置 TF=1 时,CPU 进入单步执行指令工作方式9 IF:中断标志位 设置 IF=1 时,允许 CPU 响应可屏蔽中断请求。10 DF:方向标志位 DF=0 时,执行串操作指令,SI 或 DI 内容自动递增,否则递减。11 OF:溢出标志位 运算结果超出补码表示数的范围 OF=1。三、在 8086/8088 CPU 中,分别进行下列 8 位二进制数的运算后,标志寄存器中OF,ZF,SF,CF 的值各是多少?(P.120. P.66.)答:(1) 10101011 + 010101011,0101011 + 0,10101
11、01 10,0000000OF=0, 无溢出;ZF=1,结果各位为全 0;SF=0,结果最高位为 0;CF=1,有进位;(2)10110011 - 011000101,0110011- 0,11000100,1010001OF=0, 无溢出;ZF=0,结果各位不为全 0;SF=0,结果最高位为 0;CF=0,无借位;四、说明段基址与段基值的不同之处。( P.122. P.116.)答:8086/8088 将 1M 字节的主存空间按需要划分为若干段(segment) ,每个段都由连续的字节单元组成,最大长度为 64K 字节。一个段起始单元的地址,称为段基址(segment base addres
12、s)20 位。8086/8088 对段基址是有所限制的,不能起始于任意地址,要求其低 4 位必须为 0(被 16 整除) 。在 1M 字节的地址空间中,可作为段基址的共有 64K 个,可表示如下:00000H,00010H,00020H, ,FFFE0H ,FFFF0H 。段基址的高 16 位称为段基值(segment base value) 。如:0000H,0001H,0002H, ,FFFEH ,FFFFH。五、试分别说明下列各指令中源操作数和目的操作数使用的寻址方式。答:(1)ADD AX,0A51H 寄存器寻址, 立即寻址 ( P.128.)(2)MOV BL,DATA1 寄存器寻址
13、, 直接寻址 ( P.129.)(3)PUSH ES 寄存器寻址 ( P.128.)(4)CLC (清进位标志) 寄存器寻址 ( P.128.) 六、指出下列各指令语句的语法是否有错,若有错,指明是什么错误。答:(1)MOV AL,0F5H 正确(2)CMP AL,100H 错误,AL 为 8 位,100H 大于 8 位,类型不匹配。(3)OR CH,CL 正确(4)DEC CX,1 错误,逻辑非操作是单操作指令。( P.143.)七、假设(AX)=0A5C6H, (CX)=0F03H ,则下述指令执行后, (AX)= , (CF)= 。答:STC ;(P.408.)进位位置位,CF = 1,
14、RCL AX,CL ;(AX)=0A5C6H =1010010111000110CL=03H 循环左移 3 次。CF=1(AX)= 0100101110001101 CF=1(AX)= 1001011100011011 CF=0(AX)= 0010111000110110 CF=1AND AH,CH ;(AH)=00101110 (CH)=00001111(AH)=00001110 RCR AX,CL (AX)=0000111000110110 循环右移 3 次。CF=1(AX)= 1000011100011011 CF=0(AX)= 0100001110001101 CF=1(AX)= 1010000111000110=0B1C6H CF=1则指令执行后, (AX)= 0A1C6H , (CF)= 1 。