计算机组成与汇编语言第4章作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章作业
4.1 简述下列名词:
(1)指令周期
[答案] 指令周期就是CPU从取指令到执行完一条指令的时间。它包括若干机器周期。
(2)机器周期
[答案]机器周期,又称为CPU周期,是微处理器完成各种类型操作所花费的时间,它由若干时钟周期T组成。
(3)时钟周期
[答案] 微机时钟信号CLK的周期长度称为时钟周期T,一般是机器主频的倒数。时钟周期是计算机处理操作的最基本的时间单位。
4.4 结合图4.2,说明下述指令的微操作流程:
(1)SUB R1, R2 ;功能为R1←R1- R2
[答案]SUB R1,R2的操作流程如下:
取指令:① PC→ AR,PC+1→PC;
② Read M,指令→IR。
分析指令:① IR(OP)→CU, IR(OPDAD),即R1,R2→ALU
执行指令:R1- R2→R1
(2)MOV R3, (1000H) ;功能为R3←(1000H),(1000H)表示地址为1000H的存储单元内容。
[答案]MOV R3, (1000H)的操作流程如下:
取指令:① PC→ AR,PC+1→PC;
② Read M,指令→IR。
分析指令:① IR(OP)→CU, IR(OPDAD),即1000H→AR;
② Read M,M→DR。
执行指令:DR→R3
(3)SUB (R1), R2 ;功能为(R1)←(R1)- R2
[答案]
取指令:① PC→ AR,PC+1→PC;
② Read M,指令→IR。
分析指令:① IR(OP)→CU, IR(OPDAD),即R1→AR, R2→ALU;
② Read M,M→DR→ALU。
执行指令:①(R1)- R2→ DR
② Write M, DR→ M。
4.5* 简述微程序控制器的概念和基本工作原理。
[答案] 一条机器指令的执行过程可细分为若干个基本的微过程,每一个微过程的实现是由许多微操作信号来控制有关电路完成的。通常把一个微操作控制信号叫作一个微命令,它是构成控制信号序列的最小单位。一个微过程要实现的操作称为微指令,那么,一条机器指令的执行过程显然可由一组微指令来实现。而每一条微指令将由几个或几十个微命令组成。这样,一条机器指令的执行过程就成为一个微指令序列的执行过程。基于程序控制的概念,这种解释一条机器指令的微指令序列称为微程序。不同的机器指令,对应的微程序是不同的,它取决于机器指令的功能强弱。于是,一个机器语言程序的执行过程,转化为与之对应的微程序的执行过程,机器指令执行过程中需要的微操作便由构成各条微指令的微命令来产生。这种控制方式称作微程序方式,其相应的部件就是微程序控制器。
4.6* 8086处理器分为哪两个部分?试述8086指令重叠运行的情况。
[答案] 8086处理器按功能分为总线接口单元BIU和执行单元EU两大部分。其中BIU 完成从内存单元中预取指令,送到指令队列缓冲器暂存,完成取指令;及从指定的内存单元或I/O 端口中取数据送EU,或把EU的处理结果送指定的内存单元或I/O端口,完成数据存取。执
行单元EU负责从指令队列缓冲器中取指令,并对指令译码,完成指令的执行。这两个功能部件的操作可以并行,即BIU预取指令时,EU可同时分析和执行指令。因此,这两个功能部件及一个缓冲,基本上就能实现取指令和分析执行指令部分重叠。由于8086的指令系统属于CISC,指令执行周期、指令长度很不一致,其指令操作可类似重叠,提高了系统性能,但还不能发挥真正流水线的高效率。
4.7 8086的地址总线和数据总线的宽度各为多少?8086能够寻址多大的存储器空间?为什么?
[答案] 8086的地址总线宽度是20位,数据总线宽度是16位,因为220=1M,所以可寻址的存储器空间为220=1MB。地址编号从00000H号开始,最高为FFFFFH。
4.9 说明让8086执行下列操作后,其标志寄存器的6个状态标志位情况:
(1)8AC3H+B7C2H (2)8AC3H-B7C2H
(3)9D35H+0A08BH (4)9D35H-0A08BH
[答案]
操作运算结果CF ZF SF OF PF AF
(1)8AC3H+B7C2H 4285H 1 0 0 1 0 0
(2)8AC3H-B7C2H D301H 1 0 1 0 0 0
(3)9D35H+0A08BH 3DC0H 1 0 0 1 1 1
(4)9D35H-0A08BH ECAAH 1 0 1 0 1 1
4.10 试述8086处理器中的通用寄存器、指针变址寄存器、控制寄存器和段寄存器包括哪些寄存器,各有何作用?
[答案]通用寄存器包括AX、BX、CX、DX等4个16位数据寄存器,用来暂存操作数。其中,每个寄存器可以作为一个16位的寄存器使用,也可以作为两个8位寄存器单独使用。
指针变址寄存器包括SP、BP、SI和DI等4个16位寄存器。常用来存放不同用途的地址信息,也可以存放数据。SP堆栈指针寄存器,用它指出当前堆栈的栈顶位置。BP基址指针寄存器,与SS联用,确定堆栈段中某一存储单元的物理地址。SI源变址寄存器,与数据段寄存器DS联用,用于确定数据段中某一存储单元的地址。DI为目的变址寄存器,与数据段寄存器DS或辅助段寄存器ES联用,用于确定数据段中某一存储单元的地址。
控制寄存器包括IP和Flag等两个16位寄存器。IP即程序计数器,它存放下一条要执行指令的有效地址EA,其内容由BIU自动修改。Flag标志寄存器是一个16位的寄存器,用来存放6个状态标志和3个控制标志。其中状态标志有:CF、PF、AF、ZF、SF和OF,用来反映运算结果的状态特征,它将影响后面的操作或者作为条件转移的依据。控制标志有:IF、DF、TF,用来控制CPU的操作。控制标志可以用指令设置。
段寄存器包括CS、DS、SS、ES等4个16位段寄存器, CS存放当前代码段,即程序所在段的首地址。DS保存当前程序所用数据段的首地址,数据段用来保存当前程序的操作数据和变量数据。SS存放当前程序所用堆栈段的首地址。ES存放辅助数据所在段的首地址。
4.12 若8086的CS为B000H,试说明现行代码段可寻址存储空间的范围。
[答案] 代码段首地址B0000H,末地址BFFFFH,可寻址存储空间的范围为64KB。
4.13 下面给出8086存储器中的逻辑地址,请分别写出对应的物理地址:
(1)2000H:B7C2H (2)3200H:59BCH
(3)9D36H:A086H (4)D304H:0008H
[答案](1)2 B7C2H (2)379BCH (3)A73E6H (4)D3048H
4.14 已知8086存储器中的物理地址为2085AH,请写出3个可能的逻辑地址。
[答案](1)2000H:085AH (2)2010H:075AH (3)1EEEH:197AH