版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 80868086系统结构系统结构 Inter 8086CPUInter 8086CPU是是1616位微处理器,它有位微处理器,它有1616根数据线和根数据线和2020根地址根地址线,直接寻址空间为线,直接寻址空间为2 22020,即,即1MB1MB。8088CPU8088CPU内部结构与内部结构与80868086基本相基本相同但对外数据总线只有同但对外数据总线只有8 8条,称为准条,称为准1616位微处理器。位微处理器。2.1 8086CPU2.1 8086CPU结构结构 微型计算机工作时,总是先从存储器中取指令,需要的话再取微型计算机工作时,总是先从存储器中取指令,需要的话再取
2、操作数,然后执行指令,送结果。通常操作数,然后执行指令,送结果。通常8 8位机是串行执行的,而位机是串行执行的,而1616位位机可并行操作。机可并行操作。8086 CPU8086 CPU由总线接口部件由总线接口部件BIUBIU和指令执行部件和指令执行部件EUEU组成组成, ,BIUBIU和和EUEU的操作是并行的。总线接口部件的操作是并行的。总线接口部件BIUBIU完成取指令,读操作数,完成取指令,读操作数,送结果,所有与外部的操作由其完成。而指令执行部件送结果,所有与外部的操作由其完成。而指令执行部件EUEU从从BIUBIU的指的指令队列中取出指令,并且执行指令,不必访问存储器或令队列中取出
3、指令,并且执行指令,不必访问存储器或I/OI/O端口。若端口。若需要访问存储器或需要访问存储器或I/OI/O端口,也是由端口,也是由EUEU向向BIUBIU发出访问所需要的地址,发出访问所需要的地址,在在BIUBIU中形成物理地址,然后访问存储器或中形成物理地址,然后访问存储器或I/OI/O端口,取得操作数送端口,取得操作数送到到EUEU,或送结果到指定的内存单元或,或送结果到指定的内存单元或I/OI/O端口。这种并行工作方式,端口。这种并行工作方式,大大提高了系统工作效率。大大提高了系统工作效率。 图图2-12-1给出了给出了8086CPU8086CPU的内部结构框图。的内部结构框图。 一、
4、一、8086CPU8086CPU的内部结构的内部结构1.1.总线接口部件总线接口部件BIUBIU 总线接口部件总线接口部件BIU是是8086CPU与外部与外部(存储器和存储器和I/O端口端口)的接口,它的接口,它提供了提供了16位双向数据总线和位双向数据总线和20位地址总线,完成所有外部总线操作。位地址总线,完成所有外部总线操作。 BIUBIU具有下列功能:地址形成、取指令、指令排队,读具有下列功能:地址形成、取指令、指令排队,读/ /写操作数和写操作数和总线控制。它由下列各部分组成:总线控制。它由下列各部分组成:(1 1)1616位段地址寄存器:位段地址寄存器: CSCS代码段寄存器代码段寄
5、存器 DSDS数据段寄存器数据段寄存器 ESES附加段寄存器附加段寄存器 SSSS堆栈段寄存器堆栈段寄存器(2 2)1616位指令指针寄存器位指令指针寄存器IPIP:存放下一条要执行指令的偏移地址。:存放下一条要执行指令的偏移地址。(3 3)2020位物理地址加法器:将位物理地址加法器:将1616位逻辑地址变换成存储器读位逻辑地址变换成存储器读/ /写所需要写所需要的的2020位物理地址,实际上完成地址加法操作。位物理地址,实际上完成地址加法操作。 (4 4)6 6字节指令队列:预放字节指令队列:预放6 6字节的指令代码。字节的指令代码。(5 5)总线控制逻辑:发出总线控制信号。)总线控制逻辑
6、:发出总线控制信号。 2.2.指令执行部件指令执行部件EUEU指令执行部件指令执行部件EU完成指令译码和执行指令的工作。完成指令译码和执行指令的工作。 它由以下几个部分组成:它由以下几个部分组成:(1)(1)算术逻辑运算单元算术逻辑运算单元ALUALU:完成:完成8 8位或位或1616位的二进制运算,位的二进制运算,1616位暂存器位暂存器可暂存参加运算的操作数。可暂存参加运算的操作数。(2)(2)标志寄存器标志寄存器PSWPSW:存放:存放ALUALU运算结果特征。运算结果特征。(3)(3)寄存器组:寄存器组:4 4个通用个通用1616位寄存器位寄存器AXAX、BXBX、CXCX、DXDX,
7、其中,其中AXAX又称累加器。又称累加器。4 4个专用个专用1616位寄存器:源变址寄存器位寄存器:源变址寄存器SISI、目的变址寄存器、目的变址寄存器DIDI、堆栈指针、堆栈指针寄存器寄存器SPSP、基址指针寄存器、基址指针寄存器BPBP。(4)EU(4)EU控制器:取指令控制和时序控制部件。控制器:取指令控制和时序控制部件。 二、寄存器结构二、寄存器结构寄存器结构用来存放运算过程中所需要的操作数地址、操作数及中间结寄存器结构用来存放运算过程中所需要的操作数地址、操作数及中间结果。果。80868086微处理器内部包含有微处理器内部包含有4 4组组1616位寄存器,它们分别是通用寄存器位寄存器
8、,它们分别是通用寄存器组,指针和变址寄存器,段寄存器,指令指针及标志位寄存器。如图组,指针和变址寄存器,段寄存器,指令指针及标志位寄存器。如图2 22 2所示。所示。 1.1.通用寄存器组通用寄存器组8086/8088CPU8086/8088CPU在指令执行部件在指令执行部件EUEU中有中有4 4个个1616位通用寄存器,它们是位通用寄存器,它们是AXAX、BXBX、CXCX和和DX,DX,用以存放用以存放1616位数据或地址。也可分为位数据或地址。也可分为8 8个个8 8位寄存器来使位寄存器来使用,低用,低8 8位是位是ALAL、BLBL、CLCL和和DLDL,高,高8 8位为位为AHAH、
9、BHBH、CHCH和和DHDH,只能存放,只能存放8 8位位数据,不能存放地址。通用寄存器通用性强,对任何指令它们具有相同数据,不能存放地址。通用寄存器通用性强,对任何指令它们具有相同的功能。为了缩短指令代码的长度,在的功能。为了缩短指令代码的长度,在80868086中,某些通用寄存器用作专中,某些通用寄存器用作专门用途。例如,串指令中必须用门用途。例如,串指令中必须用CXCX寄存器作为计数寄存器,存放串的长寄存器作为计数寄存器,存放串的长度,这样在串操作指令中不必给定度,这样在串操作指令中不必给定CXCX的寄存器号,缩短了串操作指令代的寄存器号,缩短了串操作指令代码的长度,这种寻址方式也称为
10、码的长度,这种寻址方式也称为“隐含寻址隐含寻址”。同样,。同样,AXAX、BXBX、DXDX寄存寄存器器又可分别称为累加器、基址寄存器及数据寄存器。又可分别称为累加器、基址寄存器及数据寄存器。2.2.指针和变址寄存器指针和变址寄存器8086/8088CPU8086/8088CPU中,有一组中,有一组4 4个个1616位寄存器,它们是基址指针寄存器位寄存器,它们是基址指针寄存器BPBP,堆栈指针寄存器堆栈指针寄存器SPSP,源变址寄存器,源变址寄存器SISI,目的变址寄存器,目的变址寄存器DIDI。这组寄存器。这组寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈存放的内容是某
11、一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。操作和变址运算中使用。 BPBP和和SPSP寄存器称为指针寄存器,与寄存器称为指针寄存器,与SSSS联用,为访问现行堆栈段提供方便。联用,为访问现行堆栈段提供方便。通常通常BPBP寄存器在间接寻址中使用,操作数在堆栈段中,由寄存器在间接寻址中使用,操作数在堆栈段中,由SSSS段寄存器与段寄存器与BPBP组合形成操作数地址。即组合形成操作数地址。即BPBP中存放现行堆栈段中一个数据区的中存放现行堆栈段中一个数据区的“基址基址”的偏移量,所以称的偏移量,所以称BPBP寄存器为基址指针。寄存器为基址指针。SPSP寄存器在堆栈操作中
12、使用,寄存器在堆栈操作中使用,PUSHPUSH和和POPPOP指令是从指令是从SPSP寄存器得到现行堆寄存器得到现行堆栈段的段内地址偏移量,所以称栈段的段内地址偏移量,所以称SPSP寄存器为堆栈指针,寄存器为堆栈指针,SPSP始终指向栈顶。始终指向栈顶。寄存器寄存器SISI和和DIDI称为变址寄存器,通常与称为变址寄存器,通常与DSDS一起使用,为访问现行数据段一起使用,为访问现行数据段提供段内地址偏移量。在串指令中,其中源操作数的偏移量存放在提供段内地址偏移量。在串指令中,其中源操作数的偏移量存放在SISI中,中,目的操作敷的偏移量存放在目的操作敷的偏移量存放在DIDI中,中,SISI与与D
13、IDI的作用不能互换,否则传送地的作用不能互换,否则传送地址相反。在串指令中,址相反。在串指令中,SISI、DIDI均为隐含寻址,此时,均为隐含寻址,此时,SISI和和DSDS联用,联用,DIDI和和ESES联用。联用。 3.3.段寄存器段寄存器8086/8088CPU8086/8088CPU可直接寻址可直接寻址1MB1MB的存储器空间,直接寻址需要的存储器空间,直接寻址需要2020位地址码,位地址码,而所有内部寄存器都是而所有内部寄存器都是1616位的,只能直接寻址位的,只能直接寻址64KB64KB,因此采用分段技术,因此采用分段技术来解决。将来解决。将1MB1MB的存储空间分成若干逻辑段,
14、每段最长的存储空间分成若干逻辑段,每段最长64KB64KB,这些逻辑,这些逻辑段在整个存储空间中可浮动。段在整个存储空间中可浮动。 8086/8088CPU8086/8088CPU内部设置了内部设置了4 4个个1616位段寄存器,它们分别是代码段寄存器位段寄存器,它们分别是代码段寄存器CSCS、数据段寄存器、数据段寄存器DSDS、堆栈段寄存器、堆栈段寄存器SSSS、附加段寄存器、附加段寄存器ESES,由它们给出,由它们给出相应逻辑段的首地址,称为相应逻辑段的首地址,称为“段基址段基址”。段基址与段内偏移地址组合形。段基址与段内偏移地址组合形成成2020位物理地址,段内偏移地址可以存放在寄存器中
15、,也可以存放在存储位物理地址,段内偏移地址可以存放在寄存器中,也可以存放在存储器中器中 。代码段内存放可执行的指令代码,数据段和附加段内存放操作的数据,代码段内存放可执行的指令代码,数据段和附加段内存放操作的数据,通常操作数在现行数据段中,而在串指令中,目的操作数指明必须在现通常操作数在现行数据段中,而在串指令中,目的操作数指明必须在现行附加段中。堆栈段开辟为程序执行中所要用的堆栈区,采用先进后出行附加段中。堆栈段开辟为程序执行中所要用的堆栈区,采用先进后出的方式访问它。各个段寄存器指明了一个规定的现行段,各段寄存器不的方式访问它。各个段寄存器指明了一个规定的现行段,各段寄存器不可互换使用。程
16、序较小时,代码段、数据段、堆栈段可放在一个段内,可互换使用。程序较小时,代码段、数据段、堆栈段可放在一个段内,即包含在即包含在64KB64KB之内,而当程序或数据量较大时,超过了之内,而当程序或数据量较大时,超过了64KB64KB,那么可以,那么可以定义多个代码段或数据段、堆栈段、附加段。现行段由段寄存器指明段定义多个代码段或数据段、堆栈段、附加段。现行段由段寄存器指明段地址,使用中可以修改段寄存器内容,指向其它段。有时为了明确起见,地址,使用中可以修改段寄存器内容,指向其它段。有时为了明确起见,可在指令前加上段超越的前缀字节,以指定操作数所在段。可在指令前加上段超越的前缀字节,以指定操作数所
17、在段。 4.4.指令指针寄存器指令指针寄存器8086/8088CPU8086/8088CPU中设置了一个中设置了一个1616位指令指针寄存器位指令指针寄存器IPIP,用来存放将要执行,用来存放将要执行的下一条指令在现行代码段中的偏移地址。程序运行中,它由的下一条指令在现行代码段中的偏移地址。程序运行中,它由BIUBIU自动自动 将其修改,使将其修改,使IPIP始终指向下一条将要执行的指令的地址,因此它是用来始终指向下一条将要执行的指令的地址,因此它是用来控制指令序列的执行流程的,是一个重要的寄存器。控制指令序列的执行流程的,是一个重要的寄存器。80868086程序不能直接程序不能直接访问访问I
18、PIP,但可以通过某些指令修改,但可以通过某些指令修改IPIP的内容。例如,当遇到中断指令或的内容。例如,当遇到中断指令或调用于程序指令时,调用于程序指令时,80868086自动调整自动调整IPIP的内容,将的内容,将IPIP中下一条将要执行的中下一条将要执行的指令地址偏移量人栈保护,待中断程序执行完毕或子程序返回时,可将指令地址偏移量人栈保护,待中断程序执行完毕或子程序返回时,可将保护的内容从堆栈中弹出到保护的内容从堆栈中弹出到IPIP,使主程序继续运行。在跳转指令时,则,使主程序继续运行。在跳转指令时,则将新的跳转目标地址送入将新的跳转目标地址送入IPIP,改变它的内容,实现了程序的转移。
19、,改变它的内容,实现了程序的转移。 5.5.标志寄存器标志寄存器PSWPSW1616位标志寄存器位标志寄存器PSWPSW用来存放运算结果的特征,常用作后续条件转移指用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。其中令的转移控制条件。其中7 7位没有用,位没有用,9 9个标志位分成两类:一类为状态个标志位分成两类:一类为状态标志,表示运算后结果的状态特征,它影响后面的操作。状态标志有标志,表示运算后结果的状态特征,它影响后面的操作。状态标志有6 6个:个:CFCF、PFPF,AFAF、ZFZF、,CF,CF和和OFOF。另一类为控制标志,用来控制。另一类为控制标志,用来控制CPU
20、CPU操作,操作,控制标志有控制标志有3 3个:个:TFTF、IFIF和和DFDF。PSWPSW寄存器的具体格式如下图所示:寄存器的具体格式如下图所示: 2.2 8086CPU2.2 8086CPU的引脚及其功能的引脚及其功能8086/8088CPU8086/8088CPU根据它的基本性能,应包括根据它的基本性能,应包括2020条地址线条地址线,16,16条数据线,加条数据线,加上控制信号,电源和地线,芯片的引脚比较多。但由于制造工艺的限制,上控制信号,电源和地线,芯片的引脚比较多。但由于制造工艺的限制,8086/8088CPU8086/8088CPU芯片采用芯片采用4040条引脚的双列直插式
21、封装,因此部分引脚采条引脚的双列直插式封装,因此部分引脚采用了分时复用的方式。用了分时复用的方式。另外另外8086/8088CPU8086/8088CPU可以工作在两种工作模式可以工作在两种工作模式( (最小模式和最大模式最小模式和最大模式) ),最小模式用于单机系统。系统中所需要的控制信号全部由最小模式用于单机系统。系统中所需要的控制信号全部由80868086直接提供。直接提供。最大模式用于多处理机系统,系统中所需要的控制信号由总线控制器最大模式用于多处理机系统,系统中所需要的控制信号由总线控制器82888288提供。这样,提供。这样,2424脚脚3131脚的脚的8 8条引脚在两种工作模式中
22、具有不同的条引脚在两种工作模式中具有不同的功能,下面简要地介绍功能,下面简要地介绍8086/8088 CPU8086/8088 CPU各引脚的功能。各引脚的功能。 一、一、8086/8088CPU8086/8088CPU在最小模式中引脚定义在最小模式中引脚定义二、二、8086/8088CPU8086/8088CPU在最大模式中引脚定义在最大模式中引脚定义三、三、80888088与与8086CPU8086CPU的不同之处的不同之处8088CPU8088CPU的内部结构及外部引脚功能与的内部结构及外部引脚功能与8086CPU8086CPU大部分相同。主要不同之大部分相同。主要不同之处如下:处如下:
23、1.80881.8088的指令队列长度是的指令队列长度是4 4个字节,指令队列中只要出现一个空闲字节个字节,指令队列中只要出现一个空闲字节时,时,BIUBIU就会自动访问存储器,取指令来补充指令队列。就会自动访问存储器,取指令来补充指令队列。(8086(8086要在指令要在指令队列中至少出现队列中至少出现2 2个空闲字节时,才预取后续指令个空闲字节时,才预取后续指令) )。2.8088CPU2.8088CPU中,中,BIUBIU的总线控制电路与外部交换数据的总线宽度是的总线控制电路与外部交换数据的总线宽度是8 8位,位,总线控制电路与专用寄存器组之间的数据总线宽度也是总线控制电路与专用寄存器组
24、之间的数据总线宽度也是8 8位,而位,而EUEU的内的内部总线是部总线是1616位,这样,对位,这样,对1616位数的存储器读位数的存储器读/ /写操作要两个读写操作要两个读/ /写周期才写周期才可以完成。可以完成。3.80883.8088外部数据总线只有外部数据总线只有8 8条,所以分时复用的地址条,所以分时复用的地址/ /数据总线为数据总线为AD7AD7AD0AD0;而;而AD15AD15AD8AD8成为仅传递地址信息的成为仅传递地址信息的A15A15A8A8。 4.80884.8088中,用中,用 信号代替信号代替 信号,信号, 低电平时选通存储器,低电平时选通存储器,高电平时选通高电平
25、时选通I/OI/O接口。接口。5.80885.8088中,只能进行中,只能进行8 8位数据传输,位数据传输, 信号不需要了,改为信号不需要了,改为 ,与,与 一起决定最小模式中的总线周期操作。一起决定最小模式中的总线周期操作。下表指出了具体的组合关系。下表指出了具体的组合关系。MIO/IOM/MIO/BHE0SSRDT/MIO/2.3 80862.3 8086存储器组织存储器组织一、存储器地址的分段一、存储器地址的分段1.1.存储器地址的分段存储器地址的分段在存储器中是以字节为单位存储信息的,每个存储单元有唯一的地址来在存储器中是以字节为单位存储信息的,每个存储单元有唯一的地址来确定。确定。8
26、086/80888086/8088系统有系统有2020根地址线可寻址根地址线可寻址1MB1MB字节的存储空间,即对存字节的存储空间,即对存储器寻址要储器寻址要2020位物理地址,而位物理地址,而80868086为为1616位机,位机,CPUCPU内部寄存器只有内部寄存器只有1616位,位,可寻址可寻址64KB64KB。因此。因此80868086系统把整个存储空间分成许多逻辑段,每段容量系统把整个存储空间分成许多逻辑段,每段容量不超过不超过64KB64KB。80868086系统对存储器的分段采用灵活的方法,允许各个逻辑系统对存储器的分段采用灵活的方法,允许各个逻辑段在整个存储空间中浮动,这样在程
27、序设计时可使程序保持相对的完整段在整个存储空间中浮动,这样在程序设计时可使程序保持相对的完整性。段和段之间可以是连续的性。段和段之间可以是连续的( (整个存储空间分成整个存储空间分成1616个逻辑段个逻辑段) ),也可以,也可以是分开的或重叠的。如图是分开的或重叠的。如图2 27 7所示:所示: 任何一个存储单元的实际地址,都是由段地址及段内偏移地址两部分组任何一个存储单元的实际地址,都是由段地址及段内偏移地址两部分组成,从图成,从图2 27 7可以看出,任何一个存储单元,可以在一个段中定义,也可以看出,任何一个存储单元,可以在一个段中定义,也可定义在两个重叠的逻辑段中,关键看段的首地址如何指
28、定。可定义在两个重叠的逻辑段中,关键看段的首地址如何指定。IBM PCIBM PC机机对段的首地址有限制规定必须从每小段的首地址开始,每对段的首地址有限制规定必须从每小段的首地址开始,每1616字节为一字节为一小段,所以段起始地址必须能被小段,所以段起始地址必须能被1616整除才行。整除才行。 2.2.物理地址形成物理地址形成80868086系统将段地址放在段寄存器中,称为系统将段地址放在段寄存器中,称为“段基址段基址”。有。有4 4个段寄存器,个段寄存器,分别为代码段寄存器分别为代码段寄存器CSCS,数据段寄存器,数据段寄存器DSDS,附加段寄存器,附加段寄存器ESES和堆栈段寄和堆栈段寄存
29、器存器SSSS。段内段内“偏移地址偏移地址”指出了从段地址开始的相对偏移位置。它可以放在指指出了从段地址开始的相对偏移位置。它可以放在指令令指针寄存器指针寄存器IPIP中,或中,或1616位通用寄存器中。位通用寄存器中。 逻辑地址:存储器的任一个逻辑地址由段基址和偏移地址组成,都是无逻辑地址:存储器的任一个逻辑地址由段基址和偏移地址组成,都是无符号的符号的1616位二进制数,程序设计时采用逻辑地址。位二进制数,程序设计时采用逻辑地址。物理地址:存储器的绝对地址,从物理地址:存储器的绝对地址,从0000000000FFFFFHFFFFFH,是,是CPUCPU访问存储器的访问存储器的实际寻址地址,
30、它由逻辑地址变换而来。物理地址计算如下所示:实际寻址地址,它由逻辑地址变换而来。物理地址计算如下所示: 物理地址段基址物理地址段基址1616偏移地址偏移地址因为段基址指每段的起始地址,它必须是每小段的首地址,其低因为段基址指每段的起始地址,它必须是每小段的首地址,其低4 4位一位一定为定为0 0,所以在实际工作时,是从段寄存器中取出段基址,将其左移,所以在实际工作时,是从段寄存器中取出段基址,将其左移4 4位,位,再与再与1616位偏移地址相加,就得到了物理地址,此地址在位偏移地址相加,就得到了物理地址,此地址在CPUCPU的总线接口的总线接口部件部件BIUBIU的地址加法器中形成。的地址加法
31、器中形成。 3.3.逻辑地址来源逻辑地址来源逻辑地址来源如下表所示:逻辑地址来源如下表所示:二、二、80868086存储器的分体结构存储器的分体结构80868086系统中,系统中,1MB1MB的存储空间分成两个存储体:偶地址存储体和奇地址存的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为储体,各为512KB,512KB,示意图如图示意图如图2-102-10所示:所示: 存储器中存放的信息称为存储单元的内容,例如存储单元存储器中存放的信息称为存储单元的内容,例如存储单元00100H00100H中的内容为中的内容为34H34H,表示为,表示为(00100H)(00100H)34H34H。
32、一个字在存。一个字在存储器中按相邻两个字节存放,存入时以低位字节在低地址,高储器中按相邻两个字节存放,存入时以低位字节在低地址,高位字节在高地址的次序存放,字单元的地址以低位地址表示。位字节在高地址的次序存放,字单元的地址以低位地址表示。例:例:(00100H)(00100H)1234H1234H,(00103H)(00103H)0152H0152H在内存中放的位置在内存中放的位置如右图示。从中可以看出,一个字可以从偶地址开始存放,也如右图示。从中可以看出,一个字可以从偶地址开始存放,也可以从奇地址开始存放,但可以从奇地址开始存放,但8086CPU8086CPU访问存储器时,都是以字访问存储器
33、时,都是以字为单位进行的,并从偶地址开始。若读为单位进行的,并从偶地址开始。若读/ /写一个字节,只启动写一个字节,只启动某个存储体,只有相应的某个存储体,只有相应的8 8位数据在数据总线上有效,即启动位数据在数据总线上有效,即启动偶地址存储体,低偶地址存储体,低8 8位数据线有效,或启动奇地址存储体位数据线有效,或启动奇地址存储体, ,高高8 8位数据线有效,另外位数据线有效,另外8 8位数据被忽略了。位数据被忽略了。 当当CPUCPU读读/ /写一个字时,若字单元地址从偶地址开始,只需访问一次写一个字时,若字单元地址从偶地址开始,只需访问一次存储器,低位字节在偶地址单元,高位字节在奇地址单
34、元。若字单元地存储器,低位字节在偶地址单元,高位字节在奇地址单元。若字单元地址从奇地址开始,址从奇地址开始,CPUCPU要两次访问存储器,第一次取奇地址上数据要两次访问存储器,第一次取奇地址上数据( (偶地偶地址址8 8位数据被忽略位数据被忽略) ),第二次取偶地址上数据,第二次取偶地址上数据( (奇地址奇地址8 8位数据被忽略位数据被忽略) )。因此为了加快程序运行速度,编程时注意从存储器偶地址开始存放字数因此为了加快程序运行速度,编程时注意从存储器偶地址开始存放字数据,这种存放方式也称据,这种存放方式也称“对准存放对准存放”。 三、堆栈的概念三、堆栈的概念 所谓堆栈是在存储器中开辟一个区域
35、,用来存放需要暂时保存的数据。所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据。堆栈段是由段定义语句在存储器中定义的一个段,它可以在存储器堆栈段是由段定义语句在存储器中定义的一个段,它可以在存储器lMBlMB空空间内任意浮动,堆栈段容量小于等于间内任意浮动,堆栈段容量小于等于64KB64KB,段基址由堆栈寄存器,段基址由堆栈寄存器SSSS指定,指定,栈顶由堆栈指针栈顶由堆栈指针SPSP指定,根据堆栈构成方式不同,堆栈指针指定,根据堆栈构成方式不同,堆栈指针SPSP指向的可以指向的可以是当前栈顶单元,也可以是栈顶上的一个是当前栈顶单元,也可以是栈顶上的一个“空空”单元,一般采用单元,
36、一般采用SPSP指向当指向当前栈顶单元。堆栈的地址增长方式一般是向上增长,栈底设在存储器的高前栈顶单元。堆栈的地址增长方式一般是向上增长,栈底设在存储器的高地址区,堆栈地址由高向低增长。地址区,堆栈地址由高向低增长。例:假如当前例:假如当前SSSSC000HC000H,堆栈段,堆栈段64KBSPSP。使。使SPSP指向新栈顶,然后将低位数据压人指向新栈顶,然后将低位数据压人(SP)(SP)单元,高位数据压入单元,高位数据压入(SP+1)(SP+1)单元。单元。当执行当执行POPPOP指令时,指令时,CPUCPU先将当前栈顶先将当前栈顶SP(SP(低位数据低位数据) )和和SP+1(SP+1(高
37、位数据高位数据) )中的中的内容弹出,然后再自动修改指针,使内容弹出,然后再自动修改指针,使SP+2SP+2SPSP,SPSP指向新栈顶。指向新栈顶。 上例中若上例中若AXAX3322H3322H,BXBX1100H1100H,CXCX6655H6655H,执行指令,执行指令PUSH AXPUSH AX,PUSH BXPUSH BX,再执行指令,再执行指令POP CXPOP CX,此时堆栈中内容发生什么变化,此时堆栈中内容发生什么变化,AXAX,BXBX,CXCX中的内容是什么中的内容是什么? ? 堆栈主要用于中断及子程序调用堆栈主要用于中断及子程序调用, ,也可用于数据暂时保存。在进入中也可
38、用于数据暂时保存。在进入中断服务子程序和子程序调用前,原来断服务子程序和子程序调用前,原来CPUCPU中现行信息中现行信息( (指令指针指令指针IPIP,及寄存,及寄存器中有关内容器中有关内容) )都必须保存,在中断服务子程序和子程序调用结束返回主都必须保存,在中断服务子程序和子程序调用结束返回主程序时,又必须恢复原来保存的信息,这些均由堆栈操作来完成。其中指程序时,又必须恢复原来保存的信息,这些均由堆栈操作来完成。其中指令指针的入栈和出栈由令指针的入栈和出栈由CPUCPU自动管理,而一些寄存器中内容的保存及返回,自动管理,而一些寄存器中内容的保存及返回,需要用户自己利用指令需要用户自己利用指
39、令PUSHPUSH、POPPOP来完成。由于堆栈操作的先进后出的特来完成。由于堆栈操作的先进后出的特点,一定要注意两点:点,一定要注意两点: 1)1)先进入的内容要后弹出,保证返回寄存器内容先进入的内容要后弹出,保证返回寄存器内容不发生错误;不发生错误;2) PUSH2) PUSH和和POPPOP的指令要成对,若不匹配的话,会造成返回主的指令要成对,若不匹配的话,会造成返回主程序的地址出错。程序的地址出错。2.4 80862.4 8086系统配置系统配置 根据使用目的不同,根据使用目的不同,8086/80888086/8088系统可以有最小模式和最大模式两种系统可以有最小模式和最大模式两种系统
40、配置方式,两种方式的选择不是由程序进行控制的,而是由硬件设定系统配置方式,两种方式的选择不是由程序进行控制的,而是由硬件设定的。当的。当CPUCPU的引脚的引脚 端接高电平端接高电平+5V+5V时,构成最小模式,当时,构成最小模式,当 接低接低电平时,构成最大模式。最小模式为单机系统,系统中所需要的控制信号电平时,构成最大模式。最小模式为单机系统,系统中所需要的控制信号由由CPUCPU提供,实现和存储器及提供,实现和存储器及I/0I/0接口电路的连接。最大模式可以构成多处接口电路的连接。最大模式可以构成多处理器理器/ /协处理器系统,即一个系统中存在两个以上微处理器,每个处理器协处理器系统,即
41、一个系统中存在两个以上微处理器,每个处理器执行自己的程序,常用的处理器有数值运算协处理器执行自己的程序,常用的处理器有数值运算协处理器80878087,输入,输入/ /输出处输出处理器理器80898089。系统中所需要的控制信号由总线控制器。系统中所需要的控制信号由总线控制器82888288提供,提供,8086 CPU8086 CPU提提供信号控制供信号控制82888288,以实现全局资源分配及总线控制权传递。在两种模式中,以实现全局资源分配及总线控制权传递。在两种模式中,8086/8088CPU8086/8088CPU的的24243131引脚意义不同引脚意义不同, ,具体引脚说明前面已经叙述
42、过了。具体引脚说明前面已经叙述过了。一、最小模式系统一、最小模式系统在最小模式系统中,除了在最小模式系统中,除了8086CPU8086CPU,存储器及,存储器及I/OI/O接口芯片外,还要加入接口芯片外,还要加入: :1 1片片8284A8284A,作为时钟发生器,作为时钟发生器3 3片片8282/82838282/8283或或74L537374L5373,作为地址锁存器,作为地址锁存器2 2片片8286/82878286/8287或或74LS24574LS245,作为双向数据总线收发器,作为双向数据总线收发器才能配置成一个系统。才能配置成一个系统。 MXMN/MXMN/1.1.地址锁存器地址
43、锁存器8282/82838282/8283 CPU CPU与存储器与存储器( (或或I/OI/O端口端口) )进行数据交换时,进行数据交换时,CPUCPU首先要送出地址信号,首先要送出地址信号,然后再发出控制信号及传送数据。由于然后再发出控制信号及传送数据。由于80868086引脚限制,地址和数据分时复引脚限制,地址和数据分时复用一组总线,所以要加入地址锁存器,先锁存地址,使在读用一组总线,所以要加入地址锁存器,先锁存地址,使在读/ /写总线周期写总线周期内地址稳定。内地址稳定。8282/82838282/8283是三态缓冲的是三态缓冲的8 8位数据锁存器,位数据锁存器,82828282的输入
44、和输出的输入和输出信号是同相的,信号是同相的, 82838283的输入和输出信号反相。的输入和输出信号反相。 8282/82838282/8283在最小模式系在最小模式系统中作地址锁存器用,统中作地址锁存器用,2020位物理地址需要用位物理地址需要用3 3片。片。 2.2.双向数据总线收发器双向数据总线收发器8286/82878286/8287 8086CPU 8086CPU驱动数据的负载能力有限,当挂在数据总线上的部件增加时,驱动数据的负载能力有限,当挂在数据总线上的部件增加时,可以利用双向数据总线收发器可以利用双向数据总线收发器8286/82878286/8287来增加驱动能力。来增加驱动
45、能力。8286/82878286/8287是三是三态态8 8位双向数据收发器,位双向数据收发器,82868286数据输入与输出同相,数据输入与输出同相,82878287数据输入与输出数据输入与输出反相。反相。 3.3.时钟发生器时钟发生器82848284 8088CPU 8088CPU的内部和外部的时间基准信号由时钟输入信号的内部和外部的时间基准信号由时钟输入信号CLKCLK提供,提供,CLKCLK信号是由外部时钟发生器信号是由外部时钟发生器82848284产生,并由驱动门电路进行功率放大。产生,并由驱动门电路进行功率放大。82848284时钟时钟发生器包括发生器包括3 3部分电路:部分电路:
46、 二、最大模式系统二、最大模式系统 CPUCPU的引脚的引脚 接地时,接地时,80868086为最大模式系统,在最大模式系统中需为最大模式系统,在最大模式系统中需要增加总线控制器要增加总线控制器82888288和总线裁决器和总线裁决器82898289,以完成,以完成8086CPU8086CPU为中心的多处理为中心的多处理器系统的协调工作。此时器系统的协调工作。此时CPUCPU输出的状态信号输出的状态信号 同时送给同时送给82888288和和82898289,由由82888288输出原输出原CPUCPU所有的控制信号:存储器读所有的控制信号:存储器读/ /写控制,写控制,I/OI/O端口读端口读
47、/ /写控制,写控制,中断响应信号等。由中断响应信号等。由82898289来裁决总线使用权赋给哪个处理器,以实现多主控来裁决总线使用权赋给哪个处理器,以实现多主控者对总线资源的共享。者对总线资源的共享。总线控制器总线控制器82888288 总线控制器总线控制器82888288是是2020个引脚的双极型器件。个引脚的双极型器件。8086CPU8086CPU的总线状态信的总线状态信号号 、 、 输入总线控制器输入总线控制器82888288后,由后,由82888288译码,并与输入控制译码,并与输入控制信号信号 、CENCEN、IOBIOB相配合,输出一系列的总线命令和控制信号。总线控相配合,输出一
48、系列的总线命令和控制信号。总线控制器的跨接线使它能适应于多主机系统总线及局部总线。制器的跨接线使它能适应于多主机系统总线及局部总线。 2.5 8086CPU2.5 8086CPU时序时序 计算机工作过程是执行指令的过程,计算机工作过程是执行指令的过程,8086CPU8086CPU的操作是在时钟脉冲的操作是在时钟脉冲CLKCLK的统一控制下进行的,的统一控制下进行的,80868086的时钟频率为的时钟频率为5MHz5MHz,时钟周期或,时钟周期或T T状态为状态为200ns200ns。 MXMN/2S0S2S0S1SAEN 指令周期:执行一条指令所需的时间称为指令周期。不同指令的指令指令周期:执
49、行一条指令所需的时间称为指令周期。不同指令的指令周期的长短是不同的,一个指令周期由几个总线周期组成。周期的长短是不同的,一个指令周期由几个总线周期组成。 总线周期:总线周期:8086CPU8086CPU中,中,BIUBIU完成一次访问存储器或完成一次访问存储器或I/OI/O端口操作所需端口操作所需要的时间,称作一个总线周期。一个总线周期由几个要的时间,称作一个总线周期。一个总线周期由几个T T状态组成。状态组成。 时钟周期:时钟周期:CPUCPU的时钟频率的倒数,也称的时钟频率的倒数,也称T T状态。状态。 在在8086/8088CPU8086/8088CPU中,每个总线周期至少包含中,每个总
50、线周期至少包含4 4个时钟周期个时钟周期(T1T4)(T1T4),一般情况下,在总线周期的一般情况下,在总线周期的T1T1状态传送地址,状态传送地址,T2T2T4T4状态传送数据。状态传送数据。80868086的主要操作时序有以下几种:的主要操作时序有以下几种: 一、系统的复位与启动一、系统的复位与启动 8086/8088CPU 8086/8088CPU通过通过RESETRESET引脚上的触发引脚上的触发信号来引起信号来引起80868086系统复位和启动,复位信系统复位和启动,复位信号号RESETRESET至少维持至少维持4 4个时钟周期的高电平。个时钟周期的高电平。当当RESETRESET信
51、号变成高电平时,信号变成高电平时,8086/8088CPU8086/8088CPU结束现行操作,各个内部寄存器复位成初结束现行操作,各个内部寄存器复位成初值,如右表所示:值,如右表所示: 其中代码段寄存器其中代码段寄存器CSCS为为FFFFHFFFFH,指令指,指令指针针IPIP清清0 0,所以,所以8086808680888088在复位之后重新在复位之后重新启动时,从内存的启动时,从内存的FFFFOHFFFFOH处开始执行指令。因此在处开始执行指令。因此在FFFF0FFFF0处存放了一条无条处存放了一条无条件转移指令,转移到系统引导程序的入口处,这样系统启动后就自动进入件转移指令,转移到系统引导程序的入口处,这样系统启动后就自动进入系统程序。在复位时,由于标志寄存器被清系统程序。在复位时,由于标志寄存器被清0 0,所有标志位均为,所有标志位均为0 0,这样从,这样从INTRINTR引脚进入的可屏蔽中断就被屏蔽了,因此在系统程序中要用开中断指引脚进入的可屏蔽中断就被屏蔽了,因此在系统程序中要用开中断指令令STISTI来设置中断允许标志。图来设置中断允许标志。图2 22222给出了给出了80868086复位操作时的时序。复位操作时的时序。 二、最小模式下的总线操作二、最小模式下的总线操作1.1.读总线周期读总线周期 一个最基本的读总线周期包含一个最基本的读总线周期包含4 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村镇简约平房装修方案
- p-Nitrophenyl-2-acetamido-2-deoxy-3-4-6-tri-O-acetyl-α-D-glucopyranoside-生命科学试剂-MCE
- 村里公路养护管理方案
- 村落民宿装修方案
- 村级活动阵地修缮方案
- 村级抗旱调度方案
- 村级大岗位制实施方案
- 村级公路扩宽方案
- 村级严打责任分工方案
- 村民广场拆迁补偿方案
- 2023年国家执业兽医资格考试试卷及参考答案下午卷1
- 偏差行为、卓越一生3.0版
- 企业政府沟通与合作制度
- 2024建筑外墙风貌改造工程承包合同
- 2023年中级经济师《人力资源管理》(真题卷)(11月11日下午)
- 【浅析PLC在数控机床中的应用5000字(论文)】
- 企业经营模拟实训智慧树知到期末考试答案章节答案2024年华南农业大学
- 家长会课件:主题班会高二家长会课件
- 肋骨骨折健康宣教内容
- 《大学计算机导论》教案
- 市政设施维护方案
评论
0/150
提交评论