版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 8086系统结构2.1 8086CPU结构结构 2.2 8086CPU的引脚及其功能的引脚及其功能2.3 8086存储器组织存储器组织2.4 8086系统配置系统配置2.1 8086CPU结构结构 Inter 8086CPU是是16位微处理器,它有位微处理器,它有16根数据线和根数据线和20根地根地址线,直接寻址空间为址线,直接寻址空间为 ,即,即1MB。8088CPU内部结构与内部结构与8086基本相同但对外数据总线只有基本相同但对外数据总线只有8条,称为准条,称为准16位微处理器。位微处理器。2.1.1 8086CPU的内部结构的内部结构 微型计算机工作时,总是先从存储器中取指令,
2、需要的话再取操作数,微型计算机工作时,总是先从存储器中取指令,需要的话再取操作数,然后执行指令,送结果。通常然后执行指令,送结果。通常8位机是串行执行的,而位机是串行执行的,而16位机可并行操作。位机可并行操作。 8086 CPU由总线接口部件由总线接口部件BIU和指令执行部件和指令执行部件EU组成组成,BIU和和EU的操作的操作是并行的。总线接口部件是并行的。总线接口部件BIU完成取指令,读操作数,送结果,所有与外部完成取指令,读操作数,送结果,所有与外部的操作由其完成。而指令执行部件的操作由其完成。而指令执行部件EU从从BIU的指令队列中取出指令,执行指的指令队列中取出指令,执行指令,不必
3、访问存储器或令,不必访问存储器或I/O端口端口。若需要访问存储器或若需要访问存储器或I/O端口,也是由端口,也是由EU向向BIU发出访问所需要的地址,在发出访问所需要的地址,在BIU中形成物理地址,然后访问存储器或中形成物理地址,然后访问存储器或I/O端口,取得操作数送到端口,取得操作数送到EU,或送结果到指定的内存单元或,或送结果到指定的内存单元或I/O端口。这种端口。这种并行工作方式,大大提高了系统工作效率。并行工作方式,大大提高了系统工作效率。 220图2.1 8086 CPU内部结构示意图AHALBHBLCHCLDHDLSIDISPBPAXBXCXDX运算暂存器ALU标志寄存器执行单元
4、(EU)16位内部总线EU控制电路123456指令队列缓冲器内部暂存器ESSSDSCSIP16位总线20位地址总线总线控制逻辑电路8位8086总线总线接口单元(BIU)通用寄存器组1.1.总线接口部件总线接口部件BIUBIU 总线接口部件总线接口部件BIU是是8086CPU与外部与外部(存储器和存储器和I/O端口端口)的接口,它提供了的接口,它提供了16位双向数据总线和位双向数据总线和20位地址位地址总线,完成所有外部总线操作。总线,完成所有外部总线操作。 BIUBIU具有下列功能:地址形成、取指令、指令排队,具有下列功能:地址形成、取指令、指令排队,读读/ /写操作数和总线控制。它由下列各部
5、分组成:写操作数和总线控制。它由下列各部分组成:(1 1)1616位段地址寄存器:位段地址寄存器: CSCS代码段寄存器代码段寄存器 DSDS数据段寄存器数据段寄存器 ESES附加段寄存器附加段寄存器 SSSS堆栈段寄存器堆栈段寄存器(2 2)1616位指令指针寄存器位指令指针寄存器IPIP:存放下一条要执行指令的:存放下一条要执行指令的偏移地址。偏移地址。(3 3)2020位物理地址加法器:将位物理地址加法器:将1616位逻辑地址变换成存储位逻辑地址变换成存储器读器读/ /写所需要的写所需要的2020位物理地址,实际上完成地址加法位物理地址,实际上完成地址加法操作。操作。 (4 4)6 6字
6、节指令队列:预放字节指令队列:预放6 6字节的指令代码。字节的指令代码。(5 5)总线控制逻辑:发出总线控制信号。)总线控制逻辑:发出总线控制信号。2.2.指令执行部件指令执行部件EUEU 指令执行部件指令执行部件EU完成指令译码和执行指令的工作。完成指令译码和执行指令的工作。 它由以下几个部分组成:它由以下几个部分组成:(1)(1)算术逻辑运算单元算术逻辑运算单元ALUALU:完成:完成8 8位或位或1616位的二进制运位的二进制运 算,算,1616位暂存器可暂存参加运算的操作数。位暂存器可暂存参加运算的操作数。(2)(2)标志寄存器标志寄存器PSWPSW:存放:存放ALUALU运算结果特征
7、。运算结果特征。(3)(3)寄存器组:寄存器组:4 4个通用个通用1616位寄存器位寄存器AXAX、BXBX、CXCX、DXDX,其,其 中中AXAX又称累加器。又称累加器。4 4个专用个专用1616位寄存器:源变址寄存器位寄存器:源变址寄存器SISI、目的变址寄存器、目的变址寄存器DIDI、堆栈指针寄存器、堆栈指针寄存器SPSP、基址指、基址指针寄存器针寄存器BPBP。(4)EU(4)EU控制器:取指令控制和时序控制部件控制器:取指令控制和时序控制部件。2.1.22.1.2寄存器结构寄存器结构 寄存器用来存放运算过程中所需要的操作数地址寄存器用来存放运算过程中所需要的操作数地址、操作数及中间
8、结果。操作数及中间结果。 80868086微处理器内部包含有微处理器内部包含有4 4组组1616位寄存器,它们分别位寄存器,它们分别是通用寄存器组,指针和变址寄存器,段寄存器,指令是通用寄存器组,指针和变址寄存器,段寄存器,指令指针及标志位寄存器。如图指针及标志位寄存器。如图2.22.2所示。所示。2. 8086 CPU的内部寄存器的内部寄存器图2.2 8086 CPU内部寄存器 数据寄存器 指针与变址寄存器AXAHALSP 堆栈指针寄存器BXBHBLBP 基址寄存器CXCHCLSI 源变址寄存器DXDHDLDI 目的变址寄存器 段寄存器 指令指针与标志寄存器CS 代码段寄存器IP 指令指针寄
9、存器DS 数据段寄存器FLAGS 标志位寄存器ES 附加段寄存器 SS 堆栈段寄存器 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、BHBH、CHCH和和DHDH,只能存放,只能存放8 8位数据,不能位数据,不能
10、存放地址。存放地址。 在在80868086中,某些通用寄存器用作专门用途。例如,中,某些通用寄存器用作专门用途。例如,串指令中必须用串指令中必须用CXCX寄存器作为计数寄存器,存放串的长寄存器作为计数寄存器,存放串的长度,同样,度,同样,AXAX、BXBX、DXDX寄存器又可分别称为累加器、基寄存器又可分别称为累加器、基址寄存器及数据寄存器。址寄存器及数据寄存器。2.2.指针和变址寄存器指针和变址寄存器 8086/8088CPU8086/8088CPU中,有一组中,有一组4 4个个1616位寄存器,它们是基位寄存器,它们是基址指针寄存器址指针寄存器BPBP,堆栈指针寄存器,堆栈指针寄存器SPS
11、P,源变址寄存器,源变址寄存器SISI和目的变址寄存器和目的变址寄存器DIDI。 这组寄存器存放的内容是某一段内地址偏移量,用这组寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。来形成操作数地址,主要在堆栈操作和变址运算中使用。BPBP和和SPSP寄存器称为指针寄存器,与寄存器称为指针寄存器,与SSSS联用,为访问现行联用,为访问现行堆栈段提供方便。通常堆栈段提供方便。通常BPBP寄存器在间接寻址中使用,操寄存器在间接寻址中使用,操作数在堆栈段中,由作数在堆栈段中,由SSSS段寄存器与段寄存器与BPBP组合形成操作数地组合形成操作数地址。即址。即BPB
12、P中存放现行堆栈段中一个数据区的中存放现行堆栈段中一个数据区的“基址基址”的偏移量,所以称的偏移量,所以称BPBP寄存器为基址指针。寄存器为基址指针。 SP SP寄存器在堆栈操作中使用,寄存器在堆栈操作中使用,PUSHPUSH和和POPPOP指令是从指令是从SPSP寄存器得到现行堆栈段的段内地址偏移量,所以称寄存器得到现行堆栈段的段内地址偏移量,所以称SPSP寄寄存器为堆栈指针,存器为堆栈指针,SPSP始终指向栈顶。始终指向栈顶。 寄存器寄存器SISI和和DIDI称为变址寄存器,通常与称为变址寄存器,通常与DSDS一起使一起使用,为访问现行数据段提供段内地址偏移量。用,为访问现行数据段提供段内
13、地址偏移量。 在串指令中,其中源操作数的偏移量存放在在串指令中,其中源操作数的偏移量存放在SISI中,中,目的操作数的偏移量存放在目的操作数的偏移量存放在DIDI中,中,SISI与与DIDI的作用不能互的作用不能互换,否则传送地址相反。换,否则传送地址相反。 在串指令中,在串指令中,SISI、DIDI均为隐含寻址,此时,均为隐含寻址,此时,SISI和和DSDS联用,联用,DIDI和和ESES联用。联用。3.3.段寄存器段寄存器 8086/8088CPU8086/8088CPU可直接寻址可直接寻址1MB1MB的存储器空间,直接的存储器空间,直接寻址需要寻址需要2020位地址码,而所有内部寄存器都
14、是位地址码,而所有内部寄存器都是1616位的,位的,只能直接寻址只能直接寻址64KB64KB,因此采用分段技术来解决。将,因此采用分段技术来解决。将1MB1MB的的存储空间分成若干逻辑段,每段最长存储空间分成若干逻辑段,每段最长64KB64KB,这些逻辑段,这些逻辑段在整个存储空间中可浮动。在整个存储空间中可浮动。 8086/8088CPU8086/8088CPU内部设置了内部设置了4 4个个1616位段寄存器,它们分位段寄存器,它们分别是代码段寄存器别是代码段寄存器CSCS、数据段寄存器、数据段寄存器DSDS、堆栈段寄存器、堆栈段寄存器SSSS、附加段寄存器、附加段寄存器ESES,由它们给出
15、相应逻辑段的首地,由它们给出相应逻辑段的首地址,称为址,称为“段基址段基址”。 段基址与段内偏移地址组合形成段基址与段内偏移地址组合形成2020位物理地址,段位物理地址,段内偏移地址可存放在寄存器中,也可存放在存储器中内偏移地址可存放在寄存器中,也可存放在存储器中 。 例2.1 代码段寄存器CS存放当前代码段基地址,IP指令指针寄存器存放了下一条要执行指令的段内偏移地址,其中CS=2000H,IP=003AH.通过组合,形成20位存储单元的寻址地址为2003AH 。 代码段内存放可执行的指令代码,数据段和附加段代码段内存放可执行的指令代码,数据段和附加段内存放操作的数据,通常操作数在现行数据段
16、中,而在内存放操作的数据,通常操作数在现行数据段中,而在串指令中,目的操作数指明必须在现行附加段中。堆栈串指令中,目的操作数指明必须在现行附加段中。堆栈段开辟为程序执行中所要用的堆栈区,采用先进后出的段开辟为程序执行中所要用的堆栈区,采用先进后出的方式访问它。方式访问它。 各个段寄存器指明了一个规定的现行段,各段寄存各个段寄存器指明了一个规定的现行段,各段寄存器不可互换使用。程序较小时,代码段、数据段、堆栈器不可互换使用。程序较小时,代码段、数据段、堆栈段可放在一个段内,即包含在段可放在一个段内,即包含在64KB64KB之内,而当程序或数之内,而当程序或数据量较大时,超过了据量较大时,超过了6
17、4KB64KB,可以定义多个代码段或数据,可以定义多个代码段或数据段、堆栈段、附加段。段、堆栈段、附加段。 现行段由段寄存器指明段地址,使用中可以修改段现行段由段寄存器指明段地址,使用中可以修改段寄存器内容,指向其它段。有时为了明确起见,可在指寄存器内容,指向其它段。有时为了明确起见,可在指令前加上段超越的前缀字,以指定操作数所在段。令前加上段超越的前缀字,以指定操作数所在段。4.4.指令指针寄存器指令指针寄存器 8086/8088CPU8086/8088CPU中设置了一个中设置了一个1616位指令指针寄存器位指令指针寄存器IPIP,用来存放将要执行的下一条指令在现行代码段中的,用来存放将要执
18、行的下一条指令在现行代码段中的偏移地址。程序运行中,它由偏移地址。程序运行中,它由BIUBIU自动将其修改,使自动将其修改,使IPIP始始终指向下一条将要执行的指令的地址,因此它是用来终指向下一条将要执行的指令的地址,因此它是用来控制指令序列的执行流程的。控制指令序列的执行流程的。80868086程序不能直接访问程序不能直接访问IPIP,但可以通过某些指令修改,但可以通过某些指令修改IPIP的内容。例如,当遇到的内容。例如,当遇到中断指令或调用子程序指令时,中断指令或调用子程序指令时,80868086自动调整自动调整IPIP的内的内容,将容,将IPIP中下一条将要执行的指令地址偏移量入栈保中下
19、一条将要执行的指令地址偏移量入栈保护,待中断程序执行完毕或子程序返回时,可将保护的护,待中断程序执行完毕或子程序返回时,可将保护的内容从堆栈中弹出到内容从堆栈中弹出到IPIP,使主程序继续运行。在跳转指,使主程序继续运行。在跳转指令时,则将新的跳转目标地址送入令时,则将新的跳转目标地址送入IPIP,改变它的内容,改变它的内容,实现了程序的转移。实现了程序的转移。 5.标志寄存器标志寄存器PSW 标志寄存器是一个标志寄存器是一个16位的寄存器,位的寄存器,8086共使用了共使用了9个有效个有效位,格式如图位,格式如图2.3所示。其中的所示。其中的6位是状态标志位位是状态标志位: CF、PF 、
20、AF、ZF、CF和和OF。 3位为控制标志位位为控制标志位: TF、IF和和DF。状态标状态标志位是当一些指令执行后,表征所产生数据的一些特征。而控志位是当一些指令执行后,表征所产生数据的一些特征。而控制标志位则可以由程序写入,以达到控制处理机状态或程序执制标志位则可以由程序写入,以达到控制处理机状态或程序执行方式的表征。行方式的表征。图2.3 标志寄存器格式D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0 OFDFIFTFSFZF AF PF CFD15D0 OF DF IF TF SF ZF AF PF CF进进借借位位标标志志奇奇偶偶标标志志半半进进借借位位标
21、标志志零零标标志志符符号号标标志志单单步步中中断断中中断断允允许许方方向向标标志志溢溢出出标标志志1-有进、借位有进、借位0-无进、借位无进、借位1-低低8位有偶数个位有偶数个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有进、借位位有进、借位0-低低4位向高位向高4位无进、借位位无进、借位1-结果为结果为00-结果不为结果不为0 (1) 6个状态标志位的功能分别叙述如下: CF(Carry Flag)进位标志位。当执行一个加法(或减法)运算,最高位产生进位(或借位)时,CF为1;否则为0。 PF(Parity Flag)奇偶标志位。该标志位反映运算结果低8位中“1”的个数是偶数
22、还是奇数。当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。 AF(Auxiliary carry Flag)辅助进位标志位。当执行一个加法(或减法)运算,结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。一般用在BCD码运算中,判断是否需要十进制调整。 ZF(Zero Flag)全零标志位。若当前的运算结果为零,ZF=1;否则ZF=0。 SF(Sign Flag)符号标志位。它和运算结果的最高位相同。 OF(Overflow Flag)溢出标志位。当运算过程中产生溢出时,OF=1;否则OF=0。 (2) 3个控制标志位用来控制CPU的操作,由指令进行置位和复位。
23、DF(Direction Flag)方向标志位。它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。 IF(Interrupt enable Flag)中断标志位。它用来控制8086是否允许接收外部中断请求。若IF=1,允许CPU响应外部中断,反之则不响应外部中断。注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。 TF(Trap Flag)单步标志位。它是为调试程序而设定的控制位。当该位置“1”时,8086 CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断,使用户能逐条跟踪程序进行调试。
24、当该位复位后,CPU恢复正常工作。例2.2 将5394H与777FH两数相加,并说明其标志位状态: 0101 0011 1001 0100 1000 1000 1000 0001 1101 1100 0001 0101 运算结果为23EBH,并置标志位为 CF=0,PF=0,AF=0,ZF=0,SF=1,OF=0。本节主要内容讲解视本节主要内容讲解视频频2.2 8086CPUD 引脚及其功能 8086/8088CPU 8086/8088CPU根据它的基本性能,应包括根据它的基本性能,应包括2020条地址条地址线线,16,16条数据线,加上控制信号,电源和地线,芯片的引条数据线,加上控制信号,电
25、源和地线,芯片的引脚比较多。但由于制造工艺的限制,脚比较多。但由于制造工艺的限制,8086/8088CPU8086/8088CPU芯片芯片采用采用4040条引脚的双列直插式封装,因此部分引脚采用了条引脚的双列直插式封装,因此部分引脚采用了分时复用的方式。分时复用的方式。 另外另外8086/8088CPU8086/8088CPU可以工作在两种工作模式可以工作在两种工作模式( (最小模最小模式和最大模式式和最大模式) ),最小模式用于单机系统。系统中所需要,最小模式用于单机系统。系统中所需要的控制信号全部由的控制信号全部由80868086直接提供。最大模式用于多处理直接提供。最大模式用于多处理机系
26、统,系统中所需要的控制信号由总线控制器机系统,系统中所需要的控制信号由总线控制器82888288提提供。供。这样,这样,2424脚脚3131脚的脚的8 8条引脚在两种工作模式中具有条引脚在两种工作模式中具有不同的功能不同的功能。2.2.1 8086/8088CPU8086/8088CPU在最小模式中引脚定义在最小模式中引脚定义 8086CPU采用双列直插式的封装形式,具有采用双列直插式的封装形式,具有40条引条引脚,见图脚,见图2.4。它采用分时复用的地址。它采用分时复用的地址/数据总线,所以有数据总线,所以有一部分引脚具有双重功能,即在不同时钟周期内,引脚一部分引脚具有双重功能,即在不同时钟
27、周期内,引脚的作用不同的作用不同。图图2.4 8086的引脚信号(括号中为最大模式下的名称)的引脚信号(括号中为最大模式下的名称)1、地址、地址/数据总线数据总线AD15-AD0:地址:地址/数据数据复用引脚,双向,三态。复用引脚,双向,三态。 16位地址总线位地址总线A15-A0,输出访问存储器或,输出访问存储器或I/O的地址的地址信息。信息。 16位数据总线位数据总线D15-D0,与存储器和,与存储器和I/O设备交换数据设备交换数据信息。信息。 地址地址/数据总线复用数据总线复用2、地址、地址/状态总线状态总线A19/S6-A16/S3 :地址:地址/状态总线复用引脚,输出,三态。输出状态
28、总线复用引脚,输出,三态。输出访问存储器的访问存储器的20位地址的高位地址的高4位地址位地址A19-A16或输出或输出CPU的工作状态。的工作状态。S6:指示:指示8086/8088当前是否与总线相连,当前是否与总线相连,S6=0,表示,表示8086/8088当前与总线相连。当前与总线相连。 S5:表明中断允许标志当前的设置。:表明中断允许标志当前的设置。S5=0,表示,表示CPU中断是关闭的,禁止一切可屏蔽中断源的中断请求;中断是关闭的,禁止一切可屏蔽中断源的中断请求;S5=1,表示,表示CPU中断是开放的,允许一切可屏蔽中断中断是开放的,允许一切可屏蔽中断源的中断申请。源的中断申请。 S4
29、、S3:指出当前使用段寄存器的情况。:指出当前使用段寄存器的情况。 S4 S3 段寄存器段寄存器 0 0 当前正在使用当前正在使用ES 0 1 当前正在使用当前正在使用SS 1 0 当前正在使用当前正在使用CS或不需使用段寄存器或不需使用段寄存器 1 1 当前正在使用当前正在使用DS3、控制总线、控制总线(1)(1)、/BHE /BHE / /S7S7:高:高8 8位数据总线允许位数据总线允许/ /状态复用引脚。状态复用引脚。 在总线周期的在总线周期的T1T1状态,此引脚输出状态,此引脚输出/BHE/BHE信号,表示信号,表示高高8 8位数据线位数据线D15-D8D15-D8上的数据有效。上的
30、数据有效。 在在T2T2、T3T3、TWTW和和T4T4状态时,此引脚输出状态时,此引脚输出S7S7状态信号。状态信号。/BHE、A0组合:组合:/BHE A0 总线使用情况总线使用情况 0 0 从偶地址单元开始,在从偶地址单元开始,在16位数据总线上进行字传送位数据总线上进行字传送 0 1 从奇地址单元开始,在高从奇地址单元开始,在高8位数据总线上进行字节传送位数据总线上进行字节传送 1 0 从偶地址单元开始,在低从偶地址单元开始,在低8位数据总线上进行字节传送位数据总线上进行字节传送 1 1 无效无效S7:8086中无定义。中无定义。(2)/RD:读信号,三态输出,低电平有效。:读信号,三
31、态输出,低电平有效。/RD=0,表示当前表示当前CPU正在对存储器或正在对存储器或I/O端口进行读操作。端口进行读操作。(3)/WR:写信号,三态输出,低电平有效。:写信号,三态输出,低电平有效。/WR=0,表示当前表示当前CPU正在对存储器或正在对存储器或I/O端口进行读操作。端口进行读操作。(4)M/IO:存储器或:存储器或IO端口访问信号,三态输出。端口访问信号,三态输出。M/IO=1,表示,表示CPU正在访问存储器;正在访问存储器;M/IO=0,表示,表示CPU正在访问正在访问IO端口。端口。(5)READY:准备就绪信号,输入,高电平有效。:准备就绪信号,输入,高电平有效。READY
32、=1,表示,表示CPU访问的存储器或访问的存储器或IO端口已准备端口已准备好传送数据。若好传送数据。若CPU在总线周期在总线周期T3状态检测到状态检测到READY=0,表示未准备好,表示未准备好,CPU自动插入一个或多个自动插入一个或多个等待状态等待状态TW,直到,直到READY=1为止。为止。(6)INTR:可屏蔽中断请求信号,输入,高电平有效。:可屏蔽中断请求信号,输入,高电平有效。当当INTR=1,表示外设向,表示外设向CPU发出中断请求,发出中断请求,CPU在当在当前指令周期的最后一个前指令周期的最后一个T状态去采样该信号,若此时状态去采样该信号,若此时IF=1,CPU响应中断,执行中
33、断服务程序。响应中断,执行中断服务程序。(7)/INTA:中断响应信号,输出,低电平有效。表示:中断响应信号,输出,低电平有效。表示CPU响应了外设发来的中断申请信号响应了外设发来的中断申请信号INTR。(8)NMI:不可屏蔽中断请求信号,输入,上升沿触:不可屏蔽中断请求信号,输入,上升沿触 发。该请求信号不受发。该请求信号不受IF状态的影响,也不能用软件屏状态的影响,也不能用软件屏 蔽,一旦该信号有效,则执行完当前指令后立即响应蔽,一旦该信号有效,则执行完当前指令后立即响应 中断。中断。(9)/TEST:测试信号,输入,低电平有效。当:测试信号,输入,低电平有效。当CPU执执行行WAIT指令
34、时,每隔指令时,每隔5个时钟周期对个时钟周期对/TEST进行一次进行一次测试,若测试,若/TEST=1,继续等待,直到,继续等待,直到/TEST=0。(10)RESET:复位信号,输入,高电平有效。:复位信号,输入,高电平有效。RESET信号至少要保持信号至少要保持4个时钟周期。复位时:标志寄存器、个时钟周期。复位时:标志寄存器、IP、DS、SS、ES为为0,CS=FFFFH,复位后,复位后CPU从从FFFF0H处开始处开始 执行。执行。(11)ALE:地址锁存允许信号,输出,高电平有效。:地址锁存允许信号,输出,高电平有效。用来锁存地址信号用来锁存地址信号A15-A0,分时使用,分时使用AD
35、15-AD0地址地址/数据总线。数据总线。(12)DT/R:数据发送:数据发送/接收控制信号,三态输出。此接收控制信号,三态输出。此信号控制数据总线上的收发器信号控制数据总线上的收发器8286的数据传送方向,的数据传送方向, DT/R =1,发送数据,发送数据写操作;写操作; DT/R =0,接收数据,接收数据读操作。读操作。(13)/DEN:数据允许信号,三态输出,低电平有效。:数据允许信号,三态输出,低电平有效。作为数据总线上收发器作为数据总线上收发器8286的选通信号。的选通信号。(14)HOLD:总线请求信号,输入,高电平有效。当:总线请求信号,输入,高电平有效。当系统中系统中CPU之
36、外的另一个控制器要求使用总线时,通之外的另一个控制器要求使用总线时,通过它向过它向CPU发一高电平的请求信号。发一高电平的请求信号。(15)HLDA:总线请求响应信号,输出,高电平有效。:总线请求响应信号,输出,高电平有效。当当HLDA有效时,表示有效时,表示CPU对其它控制器的总线请求对其它控制器的总线请求作出响应,与此同时,所有与三总线相接的作出响应,与此同时,所有与三总线相接的CPU的引的引脚呈现高阻抗状态,从而让出总线。脚呈现高阻抗状态,从而让出总线。(16)MN/MX:工作模式选择信号,输入。:工作模式选择信号,输入。 MN/MX =1,表示,表示CPU工作在最小模式系统;工作在最小
37、模式系统; MN/MX =0,表示,表示CPU工作在最大模式系统。工作在最大模式系统。(17)CLK:主时钟信号,输入。:主时钟信号,输入。8086/8088的时钟频率的时钟频率为为5MHZ。4、电源线和地线、电源线和地线8086/8088采用单采用单+5V电源,电源,1、20引脚为地线。引脚为地线。5、最大模式下的有关引脚、最大模式下的有关引脚(1)QS1、QS0:指令队列状态信号,输出。指令队列状态信号,输出。 QS1 QS0 含义含义 0 0 无操作无操作 0 1 将指令首字节送入指令队列将指令首字节送入指令队列 1 0 队列为空队列为空 1 1 将指令其余字节送指令队列将指令其余字节送
38、指令队列(2)/S2、/S1、/S0:总线周期状态信号,三态输出。总线周期状态信号,三态输出。 /S2、/S1、/S0状态信号的编码状态信号的编码 /S2 /S1 /S0 操作过程操作过程 产生信号产生信号 0 0 0 发中断响应信号发中断响应信号 /INTA 0 0 1 读读I/O端口端口 IORC 0 1 0 写写I/O端口端口 IOWC 0 1 1 暂停暂停 无无 1 0 0 取指令取指令 /MRDC 1 0 1 读存储器读存储器 /MRDC 1 1 0 写存储器写存储器 /AMWC 1 1 1 无作用无作用 无无(3)/RQ/GT0、/RQ/GT1:总线请求信号(输入)总线请求信号(输
39、入)/总总线请求允许信号(输出),双向,低电平有效。输入线请求允许信号(输出),双向,低电平有效。输入时表示其他主控者向时表示其他主控者向CPU请求使用总线,输出时表示请求使用总线,输出时表示CPU对总线请求的响应信号,两个引脚可以同时与两对总线请求的响应信号,两个引脚可以同时与两个主控者相连。其中个主控者相连。其中/RQ/GT0比比/RQ/GT1有较高的优有较高的优先权。先权。(4)/LOCK:总线封锁信号,三态输出,低电平有效。总线封锁信号,三态输出,低电平有效。/LOCK=0,CPU不允许其它控制器占用总线。不允许其它控制器占用总线。本节主要内容讲解视本节主要内容讲解视频频2.3 808
40、6存储器组织2.3.1存储器地址的分段存储器地址的分段1.1.存储器地址的分段存储器地址的分段 在存储器中是以字节为单位存储信息的,每个存储在存储器中是以字节为单位存储信息的,每个存储单元有唯一的地址来确定。单元有唯一的地址来确定。8086/80888086/8088系统有系统有2020根地址线根地址线可寻址可寻址1MB1MB字节的存储空间,即对存储器寻址要字节的存储空间,即对存储器寻址要2020位物理位物理地址,而地址,而80868086为为1616位机,位机,CPUCPU内部寄存器只有内部寄存器只有1616位,可寻位,可寻址址64KB64KB。因此。因此80868086系统把整个存储空间分
41、成许多逻辑,系统把整个存储空间分成许多逻辑,每段容量不超过每段容量不超过64KB64KB。 80868086系统对存储器的分段采用灵活的方法,允许各系统对存储器的分段采用灵活的方法,允许各个逻辑段在整个存储空间中浮动,这样在程序设计时可个逻辑段在整个存储空间中浮动,这样在程序设计时可使程序保持相对的完整性。段和段之间可以是连续的使程序保持相对的完整性。段和段之间可以是连续的( (整整个存储空间分成个存储空间分成1616个逻辑段个逻辑段) ),也可以是分开的或重叠的。,也可以是分开的或重叠的。如图如图2 27 7所示:所示:任何一个存储单元的实际地址,都是由段地址及段内偏任何一个存储单元的实际地
42、址,都是由段地址及段内偏移地址两部分组成,从图移地址两部分组成,从图2 27 7可以看出,任何一个存储可以看出,任何一个存储单元,可以在一个段中定义,也可定义在两个重叠的逻单元,可以在一个段中定义,也可定义在两个重叠的逻辑段中,关键看段的首地址如何指定。辑段中,关键看段的首地址如何指定。IBM PCIBM PC机对段的机对段的首地址有限制。规定必须从每小段的首地址开始,每首地址有限制。规定必须从每小段的首地址开始,每1616字节为一小段,所以段起始地址必须能被字节为一小段,所以段起始地址必须能被1616整除才行。整除才行。2.2.物理地址形成物理地址形成 80868086系统将段地址放在段寄存
43、器中,称为系统将段地址放在段寄存器中,称为“段基段基址址”。有有4 4个段寄存器,分别为代码段寄存器个段寄存器,分别为代码段寄存器CSCS,数据段寄存器,数据段寄存器DSDS,附加段寄存器,附加段寄存器ESES和堆栈段寄存器和堆栈段寄存器SSSS。 段内段内“偏移地址偏移地址”指出了从段地址开始的相对偏移指出了从段地址开始的相对偏移位位置。它可以放在指令指针寄存器置。它可以放在指令指针寄存器IPIP中,或中,或1616位通用寄存位通用寄存器中。器中。 逻辑地址逻辑地址:存储器的任一个逻辑地址由段基址和偏移地:存储器的任一个逻辑地址由段基址和偏移地址组成,都是无符号的址组成,都是无符号的1616
44、位二进制数,程序设计时采用位二进制数,程序设计时采用逻辑地址。逻辑地址。物理地址物理地址:存储器的绝对地址,从:存储器的绝对地址,从0000000000FFFFFHFFFFFH,是,是CPUCPU访问存储器的实际寻址地址,它由逻辑地址变换而来。访问存储器的实际寻址地址,它由逻辑地址变换而来。物理地址计算如下所示:物理地址计算如下所示: 物理地址段基址物理地址段基址1616偏移地址偏移地址 因为段基址指每段的起始地址,它必须是每小段的因为段基址指每段的起始地址,它必须是每小段的首地址,其低首地址,其低4 4位一定为位一定为0 0,所以在实际工作时,是从段,所以在实际工作时,是从段寄存器中取出段基
45、址,将其左移寄存器中取出段基址,将其左移4 4位,再与位,再与1616位偏移地址位偏移地址相加,就得到了物理地址相加,就得到了物理地址,此地址在此地址在CPUCPU的总线接口部的总线接口部件件BIUBIU的地址加法器中形成。的地址加法器中形成。 图2.3 物理地址形成过程逻辑地址150偏移地址段寄存器0000加法器15020位物理地址190段地址3.3.逻辑地址来源逻辑地址来源逻辑地址来源如下表所示:逻辑地址来源如下表所示: CS 0000 IP代码段代码段 DS或或ES 0000 SI、DI或或BX SS 0000 SP或或BP数据段数据段堆栈段堆栈段存储器存储器段寄存器和偏移地址寄存器组合
46、关系段寄存器和偏移地址寄存器组合关系2.3.2 80862.3.2 8086存储器的分体结构存储器的分体结构 80868086系统中,系统中,1MB1MB的存储空间分成两个存储体:偶地的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为址存储体和奇地址存储体,各为512KB,512KB,示意图如图示意图如图2-102-10所示:所示:图2-11 8086系统的存储器结构CSA19A1奇地址(高字节)存储体512K8D7D0A19A1地址总线8D15D8高8位数据线CSA19A1偶地址(低字节)存储体512K8D7D08D7D0低8位数据线BHEA0 图2-11所示为8086系统的存储器结
47、构。1 MB存储器分为两个库,每个库的容量都是512 KB。其中和数据总线D15D8相连的库全部由奇地址单元组成,称为高位字节库或奇地址库,利用/BHE信号低电平作为此库的选择信号;另一个库和数据总线D7D0相连,由偶地址单元组成,称为低位字节库或偶地址库,利用地址线A00(低电平)作为此库的选择信号。所以只有A19A1 共19个地址线用来作为两个库内的存储单元的寻址信号。表2-1给出/BHE与A0相配合可能进行的操作。BHEA0操 作数据引脚00从偶地址开始读/写一个字(规则字)AD15AD010从偶地址开始读/写一个字节AD7AD001从奇地址开始读/写一个字节AD15AD80110从奇地
48、址开始读写一个字(非规则字),第一总线周期高8位数据有效,第二总线周期低8位数据有效AD15AD8AD7AD0表表2-1 和和A0的代码组合对应的存取操作的代码组合对应的存取操作BHE 当在偶数地址中存取一个数据字节时,CPU从低位库中经数据线AD7AD0存取数据。由于被寻址的是偶数地址,所以地址位A0=0,由于A0是低电平所以才能在低位库中实现数据的存取。而指令中给出的是在偶地址中存取一个字节,/BHE信号应为高电平,故不能从高位库中读出数据。相反,当在奇数地址中存取一个字节数据时,应经数据线的高8位AD15AD8传送。此时,指令应指出是从高位地址(奇数地址)寻址, /BHE信号为低电平有效
49、状态,故高位库能被选中,即能对高位库中的存储单元进行存取操作。由于是高位地址寻址,故A0=1低位库存储单元不会被选中。如表2-1所示,8086 CPU也可以一次在两个库中同时各存取一个字节,完成一个字的存取操作。 字数据是将连续存放的两个字节数据构成一个16位的字数据。规定字的高8位字节存放在高地址单元,字的低8位字节存放在低地址单元。同时规定将低位字节的地址作为这个字的地址。通常,一个字数据总是位于偶地址,即偶地址对应低位字节,奇地址对应高位字节,符合这种规则存放的字数据称为“规则字”。双字数据要占用4个字节,用以存放连续的两个字。在存放低位字或高位字时,高位字节位于高地址,低位字节位于低地
50、址,以最低位字节地址作为它的地址。 规则字的存取操作可以在一个总线周期中完成。由于地址线A19A1是同时连接在两个库上的,只要BHE和A0信号同时有效,就可以一次实现在两个库中对一个字(高低两字节)完成存取操作。对字的存取操作所需的BHE及A0信号是由字操作指令给出的。 对非规则字的存取操作就需要两个总线周期才能完成:在第一个总线周期中,CPU是在高位库中存取数据(低位字节),此时A0=1,BHE=0。然后再将存储器地址加1,使A0=0,选中低位库;在第二个总线周期中,是在低位库中存取数据(高位字节),此时A0=0,BHE=1。本节主要内容讲解视频本节主要内容讲解视频2.3.3 堆栈的概念堆栈
51、的概念 所谓堆栈是在存储器中开辟一个区域,用来存放需所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据。堆栈段是由段定义语句在存储器中要暂时保存的数据。堆栈段是由段定义语句在存储器中定义的一个段,它可以在存储器定义的一个段,它可以在存储器lMB空间内任意浮动,空间内任意浮动,堆堆栈段容量小于等于栈段容量小于等于64KB,段基址由堆栈寄存器,段基址由堆栈寄存器SS指定,指定,栈顶由堆栈指针栈顶由堆栈指针SP指定,根据堆栈构成方式不同,堆栈指定,根据堆栈构成方式不同,堆栈指针指针SP指向的可以是当前栈顶单元,也可以是栈顶上的指向的可以是当前栈顶单元,也可以是栈顶上的一个一个“空空”单元,
52、一般采用单元,一般采用SP指向当前栈顶单元。堆栈指向当前栈顶单元。堆栈的的地址增长方式一般是向上增长,栈底设在存储器的高地地址增长方式一般是向上增长,栈底设在存储器的高地址区,堆栈地址由高向低增长。址区,堆栈地址由高向低增长。例例2.3 :假如当前:假如当前SSC000H,堆栈段,堆栈段64KB,SP1000H,指出当前栈顶在存储器中的位置。当前栈顶,指出当前栈顶在存储器中的位置。当前栈顶在存储器中的地址为在存储器中的地址为C1000H,如图所示:,如图所示: 堆栈的工作方式是堆栈的工作方式是“先进后出先进后出”,用入栈指,用入栈指令令PUSH和出栈指令和出栈指令POP可将数据压入堆栈或从堆可
53、将数据压入堆栈或从堆栈中弹出数据,栈顶指针栈中弹出数据,栈顶指针SP的变化由的变化由CPU自动管自动管理。堆栈以理。堆栈以字字为单位进行操作,堆栈中的数据项为单位进行操作,堆栈中的数据项以低字节在偶地址,高字节在奇地址的次序存放。以低字节在偶地址,高字节在奇地址的次序存放。 当执行当执行PUSH指令时,指令时,CPU自动修改指针自动修改指针SP-2SP。使。使SP指向新栈顶,然后将低位数据压人指向新栈顶,然后将低位数据压人(SP)单元,高位数据压入单元,高位数据压入(SP+1)单元。当执行单元。当执行POP指令时,指令时,CPU先将当前栈顶先将当前栈顶SP(低位数据低位数据)和和SP+1(高位
54、数据高位数据)中的内容弹出,然后再自动修改中的内容弹出,然后再自动修改指针,使指针,使SP+2SP,SP指向新栈顶。指向新栈顶。 例例2.4 上图中若上图中若AX3322H,BX 1100H , CX6655H,执行指令,执行指令 PUSH AX PUSH BX POP CX此时堆栈中内容发生什么变化此时堆栈中内容发生什么变化?AX,BX,CX中的内容是什么中的内容是什么? 如图如图C所示。所示。 堆栈主要用于中断及子程序调用堆栈主要用于中断及子程序调用,也可用于也可用于数数据暂时保存。在进入中断服务子程序和子程序调据暂时保存。在进入中断服务子程序和子程序调用前,原来用前,原来CPU中现行信息
55、中现行信息(指令指针指令指针IP,及寄,及寄存器中有关内容存器中有关内容)都必须保存,在中断服务子程都必须保存,在中断服务子程序和子程序调用结束返回主程序时,又必须恢复序和子程序调用结束返回主程序时,又必须恢复原来保存的信息,这些均由堆栈操作来完成。其原来保存的信息,这些均由堆栈操作来完成。其中指令指针的入栈和出栈由中指令指针的入栈和出栈由CPU自动管理,而一自动管理,而一些寄存器中内容的保存及返回,需要用户自己利些寄存器中内容的保存及返回,需要用户自己利用指令用指令PUSH、POP来完成。来完成。 由于堆栈操作的先进后出的特点,一定要注由于堆栈操作的先进后出的特点,一定要注意两点:意两点:
56、1)先进入的内容要后弹出,保证返回寄存器内容先进入的内容要后弹出,保证返回寄存器内容不发生错误。不发生错误。例例2.5 PUSH AX PUSH BX PUSH CX POP CX POP AX POP BX 会使会使AX和和BX内容互相交换。内容互相交换。2) PUSH和和POP的指令要成对,若不匹配的话,的指令要成对,若不匹配的话, 会造成返回主程序的地址出错。会造成返回主程序的地址出错。例例2.6 PUSH AX PUSH BX PUSH CX . POP CX POP BX RET 会使会使CPU返回主程序时,返回地址取出的是返回主程序时,返回地址取出的是原来原来AX中的内容,使整个程
57、序执行出错。中的内容,使整个程序执行出错。2.4 8086系统配置 8086/8088系统可以有最小模式和最大模式两种系统系统可以有最小模式和最大模式两种系统配置方式,两种方式的选择是由硬件设定的。当配置方式,两种方式的选择是由硬件设定的。当CPU的的引脚引脚 MN/MX 端接高电平端接高电平+5V时,构成最小模式,当时,构成最小模式,当MN/MX接低电平时,构成最大模式。接低电平时,构成最大模式。 最小模式最小模式: 单机系统,系统中所需要的控制信号由单机系统,系统中所需要的控制信号由CPU提供,实现和存储器及提供,实现和存储器及I/0接口电路的连接。接口电路的连接。 最大模式最大模式:可以
58、构成多处理器可以构成多处理器/协处理器系统,即一个协处理器系统,即一个系统中存在两个以上微处理器,每个处理器执行自己的系统中存在两个以上微处理器,每个处理器执行自己的程序。程序。 常用的处理器有数值运算协处理器常用的处理器有数值运算协处理器8087,输入,输入/输出输出处理器处理器8089。 系统中所需要的控制信号由总线控制器系统中所需要的控制信号由总线控制器8288提供,提供,8086 CPU提供信号控制提供信号控制8288,以实现全局资源分配及总,以实现全局资源分配及总线控制权传递。线控制权传递。2.4.1 最小模式系统最小模式系统 在最小模式系统中,除了在最小模式系统中,除了8086CP
59、U,存储器,存储器及及I/O接口芯片外,还要加入接口芯片外,还要加入: 1片片8284A,作为时钟发生器,作为时钟发生器 3片片8282/8283或或74LS373,作为地址锁存器,作为地址锁存器 2片片8286/8287或或74LS245,作为双向数据总线,作为双向数据总线收发器收发器配置成一个系统。配置成一个系统。图图2.15 8086CPU最小模式下的典型配置最小模式下的典型配置1.地址锁存器地址锁存器8282/8283 CPU与存储器与存储器(或或I/O端口端口)进行数据交换时,进行数据交换时,CPU首首先要送出地址信号,然后再发出控制信号及传送数据。先要送出地址信号,然后再发出控制信
60、号及传送数据。由于由于8086引脚限制,地址和数据分时复用一组总线,所引脚限制,地址和数据分时复用一组总线,所以要加入地址锁存器,先锁存地址,使在读以要加入地址锁存器,先锁存地址,使在读/写总线周期写总线周期内地址稳定。内地址稳定。8282/8283是三态缓冲的是三态缓冲的8位数据锁存器,位数据锁存器,8282的输入和输出信号是同相的,的输入和输出信号是同相的, 8283的输入和输出信的输入和输出信号反相。号反相。 8282/8283在最小模式系统中作地址锁存器用,在最小模式系统中作地址锁存器用,20位物理地址需要用位物理地址需要用3片。片。OODQCLKOSTB。ODI 0DO 0OE。82
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度模特时尚品牌代言聘用合同-@-15
- 2025年度事业单位网络安全管理员劳动合同范本3篇
- 二零二五年度内墙涂料研发生产与品牌营销承包合同
- 2025年度智能晾晒系统配套个人木工装修合同3篇
- 2025年度个人闲置物品转让合同范本3篇
- 2025年度个人投资理财咨询服务合同范本8篇
- 2025年度个人住房贷款质押合同标准文本及贷款逾期处理规定3篇
- 2025年度个人房地产抵押借款合同电子签名版
- 二零二五年度农家乐民宿设施使用权转让合同4篇
- 2025年度个人股权收购与转让合同(资产重组版)3篇
- 射频在疼痛治疗中的应用
- 和平精英电竞赛事
- 四年级数学竖式计算100道文档
- “新零售”模式下生鲜电商的营销策略研究-以盒马鲜生为例
- 项痹病辨证施护
- 职业安全健康工作总结(2篇)
- 怀化市数字经济产业发展概况及未来投资可行性研究报告
- 07FD02 防空地下室电气设备安装
- 教师高中化学大单元教学培训心得体会
- 弹簧分离问题经典题目
- 部编版高中历史中外历史纲要(下)世界史导言课课件
评论
0/150
提交评论