微型计算机原理与接口技术(2)

上传人:我** 文档编号:116901385 上传时间:2019-11-17 格式:PPT 页数:27 大小:964.50KB
返回 下载 相关 举报
微型计算机原理与接口技术(2)_第1页
第1页 / 共27页
微型计算机原理与接口技术(2)_第2页
第2页 / 共27页
微型计算机原理与接口技术(2)_第3页
第3页 / 共27页
微型计算机原理与接口技术(2)_第4页
第4页 / 共27页
微型计算机原理与接口技术(2)_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《微型计算机原理与接口技术(2)》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术(2)(27页珍藏版)》请在金锄头文库上搜索。

1、第二章8086系统结构Inter8086CPU是16位微处理器,它有16根数据线和20根地址线,直接寻址空间为220,即1MB。8088CPU内部结构与8086基本相同但对外数据总线只有8条,称为准16位微处理器。2.18086CPU结构微型计算机工作时,总是先从存储器中取指令,需要的话再取操作数,然后执行指令,送结果。通常8位机是串行执行的,而16位机可并行操作。8086CPU由总线接口部件BIU和指令执行部件EU组成BIU和EU的操作是并行的。总线接口部件BIU完成取指令,读操作数,送结果,所有与外部的操作由其完成。而指令执行部件EU从BIU的指令队列中取出指令,并且执行指令,不必访问存储

2、器或IO端口。若需要访问存储器或IO端口,也是由EU向BIU发出访问所需要的地址,在BIU中形成物理地址,然后访问存储器或IO端口,取得操作数送到EU,或送结果到指定的内存单元或IO端口。这种并行工作方式,大大提高了系统工作效率。图2-1给出了8086CPU的内部结构框图。一、8086CPU的内部结构1.总线接口部件BIU总线接口部件BIU是8086CPU与外部(存储器和IO端口)的接口,它提供了16位双向数据总线和20位地址总线,完成所有外部总线操作。BIU具有下列功能:地址形成、取指令、指令排队,读写操作数和总线控制。它由下列各部分组成:(1)16位段地址寄存器:CS代码段寄存器DS数据段

3、寄存器ES附加段寄存器SS堆栈段寄存器(2)16位指令指针寄存器IP:存放下一条要执行指令的偏移地址。(3)20位物理地址加法器:将16位逻辑地址变换成存储器读写所需要的20位物理地址,实际上完成地址加法操作。(4)6字节指令队列:预放6字节的指令代码。(5)总线控制逻辑:发出总线控制信号。2.指令执行部件EU指令执行部件EU完成指令译码和执行指令的工作。它由以下几个部分组成:(1)算术逻辑运算单元ALU:完成8位或16位的二进制运算,16位暂存器可暂存参加运算的操作数。(2)标志寄存器PSW:存放ALU运算结果特征。(3)寄存器组:4个通用16位寄存器AX、BX、CX、DX,其中AX又称累加

4、器。4个专用16位寄存器:源变址寄存器SI、目的变址寄存器DI、堆栈指针寄存器SP、基址指针寄存器BP。(4)EU控制器:取指令控制和时序控制部件。二、寄存器结构寄存器结构用来存放运算过程中所需要的操作数地址、操作数及中间结果。8086微处理器内部包含有4组16位寄存器,它们分别是通用寄存器组,指针和变址寄存器,段寄存器,指令指针及标志位寄存器。如图22所示。1.通用寄存器组80868088CPU在指令执行部件EU中有4个16位通用寄存器,它们是AX、BX、CX和DX用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL和DL,高8位为AH、BH、CH和DH,只能存放

5、8位数据,不能存放地址。通用寄存器通用性强,对任何指令它们具有相同的功能。为了缩短指令代码的长度,在8086中,某些通用寄存器用作专门用途。例如,串指令中必须用CX寄存器作为计数寄存器,存放串的长度,这样在串操作指令中不必给定CX的寄存器号,缩短了串操作指令代码的长度,这种寻址方式也称为“隐含寻址”。同样,AX、BX、DX寄存器又可分别称为累加器、基址寄存器及数据寄存器。2.指针和变址寄存器80868088CPU中,有一组4个16位寄存器,它们是基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。这组寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈

6、操作和变址运算中使用。BP和SP寄存器称为指针寄存器,与SS联用,为访问现行堆栈段提供方便。通常BP寄存器在间接寻址中使用,操作数在堆栈段中,由SS段寄存器与BP组合形成操作数地址。即BP中存放现行堆栈段中一个数据区的“基址”的偏移量,所以称BP寄存器为基址指针。SP寄存器在堆栈操作中使用,PUSH和POP指令是从SP寄存器得到现行堆栈段的段内地址偏移量,所以称SP寄存器为堆栈指针,SP始终指向栈顶。寄存器SI和DI称为变址寄存器,通常与DS一起使用,为访问现行数据段提供段内地址偏移量。在串指令中,其中源操作数的偏移量存放在SI中,目的操作敷的偏移量存放在DI中,SI与DI的作用不能互换,否则

7、传送地址相反。在串指令中,SI、DI均为隐含寻址,此时,SI和DS联用,DI和ES联用。3.段寄存器80868088CPU可直接寻址1MB的存储器空间,直接寻址需要20位地址码,而所有内部寄存器都是16位的,只能直接寻址64KB,因此采用分段技术来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB,这些逻辑段在整个存储空间中可浮动。80868088CPU内部设置了4个16位段寄存器,它们分别是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES,由它们给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址组合形成20位物理地址,段内偏移地址可以存放在寄存器中,也可

8、以存放在存储器中。代码段内存放可执行的指令代码,数据段和附加段内存放操作的数据,通常操作数在现行数据段中,而在串指令中,目的操作数指明必须在现行附加段中。堆栈段开辟为程序执行中所要用的堆栈区,采用先进后出的方式访问它。各个段寄存器指明了一个规定的现行段,各段寄存器不可互换使用。程序较小时,代码段、数据段、堆栈段可放在一个段内,即包含在64KB之内,而当程序或数据量较大时,超过了64KB,那么可以定义多个代码段或数据段、堆栈段、附加段。现行段由段寄存器指明段地址,使用中可以修改段寄存器内容,指向其它段。有时为了明确起见,可在指令前加上段超越的前缀字节,以指定操作数所在段。4.指令指针寄存器808

9、68088CPU中设置了一个16位指令指针寄存器IP,用来存放将要执行的下一条指令在现行代码段中的偏移地址。程序运行中,它由BIU自动将其修改,使IP始终指向下一条将要执行的指令的地址,因此它是用来控制指令序列的执行流程的,是一个重要的寄存器。8086程序不能直接访问IP,但可以通过某些指令修改IP的内容。例如,当遇到中断指令或调用于程序指令时,8086自动调整IP的内容,将IP中下一条将要执行的指令地址偏移量人栈保护,待中断程序执行完毕或子程序返回时,可将保护的内容从堆栈中弹出到IP,使主程序继续运行。在跳转指令时,则将新的跳转目标地址送入IP,改变它的内容,实现了程序的转移。5.标志寄存器

10、PSW16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。其中7位没有用,9个标志位分成两类:一类为状态标志,表示运算后结果的状态特征,它影响后面的操作。状态标志有6个:CF、PF,AF、ZF、CF和OF。另一类为控制标志,用来控制CPU操作,控制标志有3个:TF、IF和DF。PSW寄存器的具体格式如下图所示:2.28086CPU的引脚及其功能80868088CPU根据它的基本性能,应包括20条地址线16条数据线,加上控制信号,电源和地线,芯片的引脚比较多。但由于制造工艺的限制,80868088CPU芯片采用40条引脚的双列直插式封装,因此部分引脚采用了分时复用

11、的方式。另外80868088CPU可以工作在两种工作模式(最小模式和最大模式),最小模式用于单机系统。系统中所需要的控制信号全部由8086直接提供。最大模式用于多处理机系统,系统中所需要的控制信号由总线控制器8288提供。这样,24脚31脚的8条引脚在两种工作模式中具有不同的功能,下面简要地介绍80868088CPU各引脚的功能。一、80868088CPU在最小模式中引脚定义二、80868088CPU在最大模式中引脚定义三、8088与8086CPU的不同之处8088CPU的内部结构及外部引脚功能与8086CPU大部分相同。主要不同之处如下:1.8088的指令队列长度是4个字节,指令队列中只要出

12、现一个空闲字节时,BIU就会自动访问存储器,取指令来补充指令队列。(8086要在指令队列中至少出现2个空闲字节时,才预取后续指令)。2.8088CPU中,BIU的总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与专用寄存器组之间的数据总线宽度也是8位,而EU的内部总线是16位,这样,对16位数的存储器读写操作要两个读写周期才可以完成。3.8088外部数据总线只有8条,所以分时复用的地址数据总线为AD7AD0;而AD15AD8成为仅传递地址信息的A15A8。4.8088中,用信号代替信号,低电平时选通存储器,高电平时选通IO接口。5.8088中,只能进行8位数据传输,信号不需要了,改为,

13、与一起决定最小模式中的总线周期操作。下表指出了具体的组合关系。2.38086存储器组织一、存储器地址的分段1.存储器地址的分段在存储器中是以字节为单位存储信息的,每个存储单元有唯一的地址来确定。80868088系统有20根地址线可寻址1MB字节的存储空间,即对存储器寻址要20位物理地址,而8086为16位机,CPU内部寄存器只有16位,可寻址64KB。因此8086系统把整个存储空间分成许多逻辑段,每段容量不超过64KB。8086系统对存储器的分段采用灵活的方法,允许各个逻辑段在整个存储空间中浮动,这样在程序设计时可使程序保持相对的完整性。段和段之间可以是连续的(整个存储空间分成16个逻辑段),

14、也可以是分开的或重叠的。如图27所示:任何一个存储单元的实际地址,都是由段地址及段内偏移地址两部分组成,从图27可以看出,任何一个存储单元,可以在一个段中定义,也可定义在两个重叠的逻辑段中,关键看段的首地址如何指定。IBMPC机对段的首地址有限制规定必须从每小段的首地址开始,每16字节为一小段,所以段起始地址必须能被16整除才行。2.物理地址形成8086系统将段地址放在段寄存器中,称为“段基址”。有4个段寄存器,分别为代码段寄存器CS,数据段寄存器DS,附加段寄存器ES和堆栈段寄存器SS。段内“偏移地址”指出了从段地址开始的相对偏移位置。它可以放在指令指针寄存器IP中,或16位通用寄存器中。逻

15、辑地址:存储器的任一个逻辑地址由段基址和偏移地址组成,都是无符号的16位二进制数,程序设计时采用逻辑地址。物理地址:存储器的绝对地址,从00000FFFFFH,是CPU访问存储器的实际寻址地址,它由逻辑地址变换而来。物理地址计算如下所示:物理地址段基址16偏移地址因为段基址指每段的起始地址,它必须是每小段的首地址,其低4位一定为0,所以在实际工作时,是从段寄存器中取出段基址,将其左移4位,再与16位偏移地址相加,就得到了物理地址,此地址在CPU的总线接口部件BIU的地址加法器中形成。3.逻辑地址来源逻辑地址来源如下表所示:二、8086存储器的分体结构8086系统统中,1MB的存储储空间间分成两

16、个存储储体:偶地址存储储体和奇地址存储储体,各为为512KB示意图图如图图2-10所示:存储器中存放的信息称为存储单元的内容,例如存储单元00100H中的内容为34H,表示为(00100H)34H。一个字在存储器中按相邻两个字节存放,存入时以低位字节在低地址,高位字节在高地址的次序存放,字单元的地址以低位地址表示。例:(00100H)1234H,(00103H)0152H在内存中放的位置如右图示。从中可以看出,一个字可以从偶地址开始存放,也可以从奇地址开始存放,但8086CPU访问存储器时,都是以字为单位进行的,并从偶地址开始。若读写一个字节,只启动某个存储体,只有相应的8位数据在数据总线上有效,即启动偶地址存储体,低8位数据线有效,或启动奇地址存储体高8位数据线有效,另外8位数据被忽略了。当CPU读写一个字时,若字单元地址从偶地址开始,只需访问一次存储器,低位字节在偶地址单元,高位字节在奇地址单元。若字单元地址从奇地址开始,CPU要两次访问存储器,第一次取奇地址上数据(偶地址8位数据被忽略),第二次取偶地址上数据(奇地址8位数据被忽略)。因此为了

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号