1、第二章思考题,1、 18086CPU由哪两部分构成?它们的主要功能是什么?答:8086CPU由EU(指令执行部件)利BIU(总线接口部件)两部分构成。指令执行部件的功能:该部件由算术逻辑运算单元(ALU)、标志寄行器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)的功能:该部件由地址加法器、指令指针寄存器、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,以及访问存储器或I/O端口读取操作数以参加运算或存放运算结果等。,2、8086CPU的指令队列有什么好处?8086CPU内部的并行
2、操作体现在哪里?,8086CPU的指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件在执行指令时,不是直接通过访问存储器去取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,指令执行部件从指令队列中获得指令的速度会远远超过直接从内存中读取指令。总线接口部件从给定的地址中取出指令代码送指令队列中等待执行,当指令队列中空出2个字节,总线接口部件将自动进入读指令的操作以填满指令队列;当遇到转移类指令并执行转移时,总线接口部件将指令队列中尚存的指令“作废”,重新从存储器新的目标地址取指令并送指令队列中。 般情况下,总线接口部件尽量保证指令队列中总是
3、填满指令,使得指令执行部件可以不断地得到等待执行的指令。而8086CPU内部的并行操作就体现在指令执行的同时,后续待执行的指令也同时从内存中读取,并送至指令队列。,38086CPU中有哪些寄存器?,各有什么用途?,(1)通用寄存器,包括AX、BX、CX、DX、SI、DI、SP、BP。这些寄存器可用来存放地址或数据。其中,寄存器BX,BP,SI,DI可用来存放地址。,(3)代码段寄存器,包括代码段寄存器CS,数据段寄存器DS,堆栈段寄存器SS,附加段寄存器ES。这些段寄存器的作用是存放各段的起始地址,即基地址。,(2)专用寄存器,包括指令指针寄存器,标志寄存器。 指令指针寄存器:指向要执行的下一
4、条指令的偏移地址。 标志寄存器:用于指示CPU的状态,并控制其操作。,4、下列各种情况下应判定哪个标志位并说明其状态。,1)比较两个无符号数是否相等。,判定ZF,即零标志,当两个无符号数相等时ZF=1,否则ZF=0,2) 两个无符号数相减后比较大小。,判定CF标志,当被减数大时CF=0,否则CF=1.,3)两数运算后结果是正数还是负数?,判定SF标志,若结果是正数SF=0,否则SF=1.,4)两数相加后是否产生了溢出?,判定OF标志,溢出时OF=1,否则OF=0。,5、8086系统中,物理地址如何形成?最大的物理地址空间是多少?什么是逻辑地址?,物理地址的形成:段寄存器中的16位段基址左移4位
5、,再与偏移地址相加即得20位的物理地址。,8086的地址线为20条,故最大的物理地址空间为220=1MB,逻辑地址:由两部分构成,表示为段基址:偏移地址。一个物理地址可对应多个逻辑地址。,6、8086系统中的存储器为什么要采用分段结构?,因为内存的物理地址为20位,但CPU中的寄存器是16位的,为了能访问20位的物理地址空间,就需要将内存空间分段,分段后物理地址可由逻辑地址代替,即段基址:偏移地址这两部分地址都为16位的地址。段基址表示一个段的起始地址,偏移地址表示相对于段基址的偏移量。,7、段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?,8、什么是最小模式(即最小工作方式)和最大模式(即最小工作方式) ?9.对存储器进行读操作时,有哪些控制信号线与此操作有关,其取值为多少?,10、一个总线周期完成一次数据传输,至少要有传送( )和传送( )两个过程?什么情况下需要插入等待状态Tw?Tw在哪儿插入?,数据,地址,