




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1第一页,共80页。n 8086微处理器是微处理器是Intel系列微处理器中具有代表性系列微处理器中具有代表性的的16位微处理器。位微处理器。n 8086微处理器采用微处理器采用HMOS工艺技术制造,外型封工艺技术制造,外型封装为双列直插式,有装为双列直插式,有40个引脚。个引脚。n 主时钟频率有主时钟频率有5MHz,8MHz和和10MHz几种。几种。n 内部采用内部采用16位数据通路和流水线结构,使取指令位数据通路和流水线结构,使取指令(zhlng)与执行指令与执行指令(zhlng)实现了并行操作。实现了并行操作。n 8086有有20位地址线,可直接寻址的空间达位地址线,可直接寻址的空
2、间达1MB。n 8086支持多处理器系统,可方便地与数值协处理支持多处理器系统,可方便地与数值协处理器器8087和和I/O处理器处理器8089相连,组成多处理器系统,大相连,组成多处理器系统,大大提高了系统的数据处理能力。大提高了系统的数据处理能力。第1页/共79页第二页,共80页。2.1.1 8086微处理器的功能微处理器的功能(gngnng)结构结构 8086微处理器采用不同于第二代微处理器微处理器采用不同于第二代微处理器(8080,Z80)的一种全新结构形式,由两个独立的单元组成的一种全新结构形式,由两个独立的单元组成,一个称为,一个称为(chn wi)总线端口单元总线端口单元BIU (
3、Bus Interface Unit),另一个称为,另一个称为(chn wi)执行单元执行单元EU (Execution Unit),其功能框图如图,其功能框图如图2.1所示。所示。第2页/共79页第三页,共80页。图图2.1 8086 CPU2.1 8086 CPU的功能的功能(gngnng)(gngnng)结构结构第3页/共79页第四页,共80页。1. 指令执行单元指令执行单元EU 指令执行单元指令执行单元EU的功能是负责执行指令,即负责全的功能是负责执行指令,即负责全部指令的译码和执行,同时管理部指令的译码和执行,同时管理CPU内部内部(nib)的有的有关寄存器。执行单元关寄存器。执行单
4、元EU由算术逻辑单元由算术逻辑单元(ALU)、标志、标志寄存器、寄存器、8个寄存器,以及数据暂存器和个寄存器,以及数据暂存器和EU控制器等控制器等组成。组成。 1) 算术逻辑运算单元算术逻辑运算单元(ALU) 16位的运算器,可用于位的运算器,可用于8位或位或16位二进制算术运算位二进制算术运算或逻辑运算。或逻辑运算。 2) 标志寄存器标志寄存器 用来存放用来存放ALU运算后的结果特征或机器运行状态,运算后的结果特征或机器运行状态,标志寄存器长标志寄存器长16位,实际使用了位,实际使用了9位。位。第4页/共79页第五页,共80页。 3) 通用寄存器组通用寄存器组 包含包含(bohn)8个个16
5、位的寄存器,按功能分为两组,一位的寄存器,按功能分为两组,一组包括组包括AX,BX,CX,DX4个寄存器,称为通用数据寄个寄存器,称为通用数据寄存器,用来存放操作数或地址。另一组包括存器,用来存放操作数或地址。另一组包括DI,SI,SP和和BP4个寄存器,称为专用寄存器。个寄存器,称为专用寄存器。 4) EU控制器控制器 EU控制器的作用是从控制器的作用是从BIU的指令队列中取指令,并对的指令队列中取指令,并对指令进行译码,根据指令要求向指令进行译码,根据指令要求向EU内部各部件发出相应内部各部件发出相应的控制命令以完成每条指令所规定的功能。因此相当于的控制命令以完成每条指令所规定的功能。因此
6、相当于传统计算机传统计算机CPU中的控制器。中的控制器。第5页/共79页第六页,共80页。 指令执行单元指令执行单元EU的工作就是执行指令,并不的工作就是执行指令,并不直接与外部发生联系,而是从总线端口单元直接与外部发生联系,而是从总线端口单元BIU的的指令队列中源源不断地获取指令并执行,省去了访指令队列中源源不断地获取指令并执行,省去了访问存储器取指令的时间,提高了问存储器取指令的时间,提高了CPU的利用率和的利用率和整个系统的运行整个系统的运行(ynxng)速度。速度。第6页/共79页第七页,共80页。2. 总线端口单元总线端口单元BIU BIU是是8086微处理器在存储器和微处理器在存储
7、器和I/O设备之间的端口部设备之间的端口部件,负责对全部引脚的操作,即件,负责对全部引脚的操作,即8086对存储器和对存储器和I/O设备的设备的所有操作都是由所有操作都是由BIU完成的。完成的。BIU提供了提供了16位双向数据总线位双向数据总线、20位地址总线和若干条控制位地址总线和若干条控制(kngzh)总线,其具体任务总线,其具体任务是:负责从内存单元中预取指令,并将其送到指令队列缓是:负责从内存单元中预取指令,并将其送到指令队列缓冲器暂存。冲器暂存。 总线端口单元总线端口单元BIU主要由主要由4个段寄存器、个段寄存器、1个指令指针寄个指令指针寄存器、存器、1个与个与EU通信的内部寄存器、
8、先入先出的指令队列通信的内部寄存器、先入先出的指令队列、总线控制、总线控制(kngzh)逻辑和计算逻辑和计算20位物理地址的地址加法位物理地址的地址加法器组成。器组成。第7页/共79页第八页,共80页。1) 地址加法器和段寄存器地址加法器和段寄存器 8086 微处理器的微处理器的20位物理地址是由专门位物理地址是由专门的地址加法器将有关的地址加法器将有关(yugun)段寄存器内容段寄存器内容(段的起始地址段的起始地址)左移左移4位后,与位后,与16位的偏移地位的偏移地址相加。址相加。2) 16位指令寄存器位指令寄存器(Instruction Pointer,IP) 指令寄存器指令寄存器IP用来
9、存放下一条要执行指用来存放下一条要执行指令的偏移地址令的偏移地址EA(也叫有效地址也叫有效地址),IP只有和只有和CS相结合,才能形成指向指令存放单元的物相结合,才能形成指向指令存放单元的物理地址。理地址。第8页/共79页第九页,共80页。3) 指令队列缓冲器指令队列缓冲器 指令队列的作用是预存指令队列的作用是预存BIU从存储器中取出的指令代从存储器中取出的指令代码。容量为码。容量为6B,按,按“先进先出先进先出”的方式工作,其操作的方式工作,其操作(cozu)遵循以下原则:遵循以下原则: (1) 当指令队列中存入一条指令后,当指令队列中存入一条指令后,EU就立即开始就立即开始执行。执行。 (
10、2) 当当BIU发现队列中空了发现队列中空了2个字节时,就自动地进个字节时,就自动地进行预取指令操作行预取指令操作(cozu),直至填满为止。,直至填满为止。 (3) 当当EU执行一条转移、调用或返回指令后,执行一条转移、调用或返回指令后,BIU就就会清除指令队列,并从新地址开始预取指令,实现程序会清除指令队列,并从新地址开始预取指令,实现程序段的转移。段的转移。第9页/共79页第十页,共80页。 BIU和和EU是各自独立工作的,在是各自独立工作的,在EU执行指令执行指令的同时,的同时,BIU可预取下一条或几条指令。从而减少可预取下一条或几条指令。从而减少了了CPU为取指令而等待的时间,提高了
11、为取指令而等待的时间,提高了CPU的利的利用率,加快了整机的运行用率,加快了整机的运行(ynxng)速度。另外也速度。另外也降低了对存储器存取速度的要求。降低了对存储器存取速度的要求。4) 总线控制逻辑电路总线控制逻辑电路 总线控制逻辑电路将总线控制逻辑电路将8086微处理器的内部总线微处理器的内部总线和外部总线相连,是和外部总线相连,是8086微处理器与内存单元或微处理器与内存单元或I/O端口进行数据交换的必经之路。它包括端口进行数据交换的必经之路。它包括16条数条数据总线、据总线、20条地址总线和若干条控制总线。条地址总线和若干条控制总线。第10页/共79页第十一页,共80页。2.1.2
12、8086的存储器分段的存储器分段(fn dun)组织组织1. 存储存储(cn ch)器地址空间和数据器地址空间和数据存储存储(cn ch)格式格式 8086 8086的存储器是以字节的存储器是以字节(8(8位位) ) 为单位组织的。为单位组织的。具有具有2020条地址总线,所以可寻址的地址空间容量为条地址总线,所以可寻址的地址空间容量为1MB1MB。每个字节对应一个唯一。每个字节对应一个唯一(wi y)(wi y)的地址,地的地址,地址范围为址范围为0000000000FFFFFHFFFFFH,如图,如图2.22.2所示。所示。图2.2 存储器的地址第11页/共79页第十二页,共80页。 存储
13、器内两个连续的字节,定义存储器内两个连续的字节,定义(dngy)为一个字为一个字。一个字中的每个字节,都有一个字节地址,每个。一个字中的每个字节,都有一个字节地址,每个字的低字节字的低字节(低低8位位)存放在低地址中,高字节存放在低地址中,高字节(高高8位位)存放在高地址中,字的地址指低字节的地址。存放在高地址中,字的地址指低字节的地址。图2.3 数据(shj)存储格式第12页/共79页第十三页,共80页。2. 存储器的分段存储器的分段 8086微处理器地址总线微处理器地址总线20条,存储器地址空间为条,存储器地址空间为1MB。但。但是,是,8086 所有的寄存器都是所有的寄存器都是16位的,
14、最多只能寻址位的,最多只能寻址64KB空间空间。为此引入了存储空间分段概念,即将整个。为此引入了存储空间分段概念,即将整个(zhngg)1MB的存的存储空间分成若干个存储段,每个段是存储器中可独立寻址的逻储空间分成若干个存储段,每个段是存储器中可独立寻址的逻辑单位,称为逻辑段,每个段的长度为辑单位,称为逻辑段,每个段的长度为64KB,段内地址是连续,段内地址是连续的,允许各个逻辑段在整个的,允许各个逻辑段在整个(zhngg)1MB存储空间内浮动,但存储空间内浮动,但每个逻辑段的起始地址每个逻辑段的起始地址(简称段基址简称段基址/段首址段首址) 的低的低4位二进制码位二进制码必须是必须是0。一个
15、段的起始地址的高。一个段的起始地址的高16位被称为该段的段地址。位被称为该段的段地址。 第13页/共79页第十四页,共80页。 显然,在显然,在1MB的存储器地址空间中,可以有的存储器地址空间中,可以有216个段地址。任意相邻的两个段地址相距个段地址。任意相邻的两个段地址相距16个存储单元个存储单元。段内一个存储单元的地址,可用相对于段起始地址。段内一个存储单元的地址,可用相对于段起始地址的偏移量来表示,这个的偏移量来表示,这个(zh ge)偏移量称为段内偏移地偏移量称为段内偏移地址,也称为有效地址址,也称为有效地址EA。偏移地址也是。偏移地址也是16位的,所以位的,所以,一个段最大可以包括一
16、个,一个段最大可以包括一个64KB的存储器空间。各个的存储器空间。各个逻辑段之间可以首尾相连,也可以完全分离或者重叠逻辑段之间可以首尾相连,也可以完全分离或者重叠(部分重叠或完全重叠部分重叠或完全重叠),如图,如图2.5所示。所示。第14页/共79页第十五页,共80页。图2.5 存储器分段(fn dun)和段的重叠第15页/共79页第十六页,共80页。3. 物理地址的形成物理地址的形成 任何一个存储单元,可以包含在一个逻辑段中,也任何一个存储单元,可以包含在一个逻辑段中,也可以包含在两个或多个重叠的逻辑段中,只要能得到它可以包含在两个或多个重叠的逻辑段中,只要能得到它所在段的段基址和段内偏移地
17、址就可以对它进行访问。所在段的段基址和段内偏移地址就可以对它进行访问。 在在8086系统中,每个存储单元在存储器中的位置可系统中,每个存储单元在存储器中的位置可以用逻辑地址和物理地址来表示。所谓以用逻辑地址和物理地址来表示。所谓(suwi)逻辑地址逻辑地址,由段基址和段内偏移地址两部分组成,段基址和段内,由段基址和段内偏移地址两部分组成,段基址和段内偏移地址都是无符号的偏移地址都是无符号的16位二进制数。物理地址也叫实位二进制数。物理地址也叫实际地址或绝对地址,是际地址或绝对地址,是CPU访问存储器时实际使用的地访问存储器时实际使用的地址,地址总线上传送的就是这个地址。址,地址总线上传送的就是
18、这个地址。第16页/共79页第十七页,共80页。物理地址应由逻辑地址变换得到物理地址应由逻辑地址变换得到(d do),两者,两者的变换关系如图的变换关系如图2.6所示。即将所示。即将16位段基址左移位段基址左移4位,然后与位,然后与16位段内偏移地址相加而获得位段内偏移地址相加而获得20位位物理地址,这相当于完成以下地址计算:物理地址,这相当于完成以下地址计算:物理地址段基址物理地址段基址(j zh)16段内偏移段内偏移地址地址 图2.6 物理地址的形成(xngchng)过程 第17页/共79页第十八页,共80页。 地址计算过程是由地址计算过程是由CPU内内BIU中的地址中的地址加法器完成加法
19、器完成(wn chng)的。例如,某的。例如,某条指令在代码段中的条指令在代码段中的逻辑地址为:逻辑地址为:CS1000H,IP4052H,则其物理地址为则其物理地址为14052H。图2.7 逻辑(lu j)地址与物理地址第18页/共79页第十九页,共80页。 显然,当显然,当CS1200H,IP2052H时,物理时,物理地址也是地址也是14052H。这就是说,同一个物理地址。这就是说,同一个物理地址可以对应多个逻辑地址。可以对应多个逻辑地址。 段地址总是由段寄存器提供的。段地址总是由段寄存器提供的。8086微处理微处理器的器的BIU单元设有单元设有4个段寄存器个段寄存器(CS、DS、SS、E
20、S),所以,所以CPU可以通过可以通过(tnggu)这这4个段寄存个段寄存器来访问器来访问4个不同的段。用程序对段寄存器的内个不同的段。用程序对段寄存器的内容进行修改,可实现对所有段的访问。容进行修改,可实现对所有段的访问。第19页/共79页第二十页,共80页。4. 信息的分段存储信息的分段存储(cn ch)与段寄存器的与段寄存器的关系关系 为了操作方便,存储器可相应地划分为了操作方便,存储器可相应地划分(hu fn)为:程序区,该区存储程序的指令代码;数据区,为:程序区,该区存储程序的指令代码;数据区,存储原始数据、中间结果和最终结果;堆栈区,存存储原始数据、中间结果和最终结果;堆栈区,存储
21、需要压入堆栈的数据或状态信息。储需要压入堆栈的数据或状态信息。 段寄存器的分工是:代码段寄存器段寄存器的分工是:代码段寄存器CS划定并控划定并控制着程序区;数据段寄存器制着程序区;数据段寄存器DS和附加段寄存器和附加段寄存器ES控制着数据区;而堆栈段寄存器控制着数据区;而堆栈段寄存器SS对应堆栈存储对应堆栈存储区。区。第20页/共79页第二十一页,共80页。表表2-1 2-1 各种类型存储器访问各种类型存储器访问(fngwn)(fngwn)所使用的段寄存器和段内偏移地址所使用的段寄存器和段内偏移地址存储器操作类存储器操作类型型隐含段寄隐含段寄存器存器允许超越的允许超越的段寄存器段寄存器段内偏移
22、地址段内偏移地址来源来源取指令取指令CS无无IP堆栈操作堆栈操作SS无无SP通用数据读取通用数据读取DSCS,ES,SS由寻址方式求由寻址方式求得有效地址得有效地址源数据串源数据串DSCS,ES,SSSI目的数据串目的数据串ES无无DI用用BP作为基作为基址寄存器址寄存器SSCS,DS,ES由寻址方式求由寻址方式求得有效地址得有效地址第21页/共79页第二十二页,共80页。 (1) 段地址要么由默认段寄存器提供,要么由段地址要么由默认段寄存器提供,要么由“指定指定”段寄存器提供。段寄存器提供。 (2) 段寄存器段寄存器DS、ES和和SS的内容是在程序中的内容是在程序中通过指令设置的,任何传送类
23、指令不能直接向通过指令设置的,任何传送类指令不能直接向CS中传送数据,但转移、调用、返回类指令可以设中传送数据,但转移、调用、返回类指令可以设置和影响置和影响CS的内容。的内容。 (3) 取指令访问内存时,段内偏移地址只能由取指令访问内存时,段内偏移地址只能由指令指针指令指针IP提供;当堆栈进行压入和弹出操作时提供;当堆栈进行压入和弹出操作时,段内偏移地址只能由,段内偏移地址只能由SP提供等。除此之外的内提供等。除此之外的内存访问,段内偏移地址则由指令码规定的寻址方存访问,段内偏移地址则由指令码规定的寻址方式式(fngsh)确定。确定。第22页/共79页第二十三页,共80页。 每个段的最大容量
24、为每个段的最大容量为64KB,一般情况下,不需要,一般情况下,不需要(xyo)这么大的空间,因而段有部分重叠。如下图所示。这么大的空间,因而段有部分重叠。如下图所示。(a) 段不重叠(chngdi) (b) 段部分(b fen)重叠 图2.8 典型分段方法 第23页/共79页第二十四页,共80页。2.1.3 8086的寄存器结构的寄存器结构(jigu) 8086 微处理器内部寄存器结构微处理器内部寄存器结构(jigu)如图如图2.9所示。所示。14个寄存器按功能不同可分为个寄存器按功能不同可分为3组,分组,分别为通用寄存器组、段寄存器组和控制寄存器组别为通用寄存器组、段寄存器组和控制寄存器组。
25、1. 通用寄存器组通用寄存器组 8个个16位通用寄存器分为两组:数据寄存位通用寄存器分为两组:数据寄存器及地址器及地址(dzh)指针和变址寄存器。指针和变址寄存器。第24页/共79页第二十五页,共80页。图2.9 8086的寄存器结构(jigu)第25页/共79页第二十六页,共80页。1) 数据数据(shj)寄存器寄存器 数据数据(shj)寄存器包括寄存器包括AX,BX,CX,DX这这4个个寄存器。寄存器。 通用数据通用数据(shj)寄存器主要用来存放算术寄存器主要用来存放算术/逻辑运逻辑运算操作数,中间结果和地址。算操作数,中间结果和地址。 不仅为编程提供方便,更主要的是可以加快不仅为编程提
26、供方便,更主要的是可以加快CPU的运行速度。的运行速度。 数据数据(shj)寄存器既可作为一个寄存器既可作为一个16位的寄存器使位的寄存器使用,也可以分别作为两个用,也可以分别作为两个8位寄存器使用。位寄存器使用。第26页/共79页第二十七页,共80页。2) 地址地址(dzh)指针和变址寄存器指针和变址寄存器包括包括SP,BP,SI,DI 四个四个16位寄存器。位寄存器。一般是用来存放操作数的偏移地址一般是用来存放操作数的偏移地址(dzh)。SP称为堆栈指示器称为堆栈指示器BP为基址寄存器为基址寄存器SI和和DI称为变址寄存器称为变址寄存器通用寄存器除具有通用特性外,还具有各自通用寄存器除具有
27、通用特性外,还具有各自的特定用法的特定用法第27页/共79页第二十八页,共80页。表表2-2 2-2 通用寄存器的特定用法和隐含通用寄存器的特定用法和隐含(yn hn)(yn hn)性质性质寄存器名称寄存器名称特定用法特定用法隐含性质隐含性质AX,AL在乘法和除法指令中作累加器在乘法和除法指令中作累加器在在I/O指令中用作数据寄存器指令中用作数据寄存器隐含寻址隐含寻址显式寻址显式寻址AH在在LAHF中作目的寄存器中作目的寄存器隐含寻址隐含寻址AL在在BCD码及码及ASCII码运算指令中作累加器码运算指令中作累加器 隐含寻址隐含寻址BX在间接寻址中作地址寄存器在间接寻址中作地址寄存器在间接寻址中
28、作基址寄存器在间接寻址中作基址寄存器在在XLAT指令中作基址寄存器指令中作基址寄存器显式寻址显式寻址显式寻址显式寻址隐含寻址隐含寻址CX在循环指令和字符串指令中作循环次数的在循环指令和字符串指令中作循环次数的计数寄存器,计数寄存器,每做一次循环,每做一次循环,CX的内容减的内容减1隐含寻址隐含寻址第28页/共79页第二十九页,共80页。寄存器名称寄存器名称特定用法特定用法隐含性质隐含性质CL在移位及循环移位指令中作移位次数及在移位及循环移位指令中作移位次数及循环移位次数的计数寄存器循环移位次数的计数寄存器隐含寻址隐含寻址DX在在I/O指令间接寻址时作地址寄存器指令间接寻址时作地址寄存器在乘法和
29、除法指令中作为辅助累加器在乘法和除法指令中作为辅助累加器显式寻址显式寻址隐含寻址隐含寻址BP在间接寻址中作为访问堆栈段基址寄存器在间接寻址中作为访问堆栈段基址寄存器显式寻址显式寻址SP在堆栈操作中作堆栈指针在堆栈操作中作堆栈指针显式寻址显式寻址SI在字符串操作指令中作源变址寄存器在字符串操作指令中作源变址寄存器在间接寻址中作地址寄存器在间接寻址中作地址寄存器 在间接寻址中作变址寄存器在间接寻址中作变址寄存器隐含寻址隐含寻址显式寻址显式寻址显式寻址显式寻址DI在字符串操作指令中作目的变址寄存器在字符串操作指令中作目的变址寄存器在间接寻址中作地址寄存器在间接寻址中作地址寄存器在间接寻址中作变址寄存
30、器在间接寻址中作变址寄存器隐含寻址隐含寻址显式寻址显式寻址显式寻址显式寻址第29页/共79页第三十页,共80页。2. 段寄存器组段寄存器组 代码段寄存器代码段寄存器 (CS)。存放当前代码段的段基址值。代码段用来存放程序代。存放当前代码段的段基址值。代码段用来存放程序代码。码。CS的内容左移的内容左移4位再加上指令指针位再加上指令指针IP的内容就是下一条要执行的指令的内容就是下一条要执行的指令。例如,某指令在代码段内的偏移。例如,某指令在代码段内的偏移(pin y)地址为地址为0100H,即,即IP0100H,当前代码段寄存器当前代码段寄存器CS2000H,则该指令在主存储器中的物理地址为,则
31、该指令在主存储器中的物理地址为PA(CS)左移左移4位位(IP)20000H0100H20100H第30页/共79页第三十一页,共80页。p数据段寄存器数据段寄存器 (Data Segment,DS)。它存放当前。它存放当前数据段的段基址。通常数据段用来存放数据和变量。数据段的段基址。通常数据段用来存放数据和变量。当访问数据段中某一变量时,该变量的物理地址当访问数据段中某一变量时,该变量的物理地址(dzh)PA为为pPA(DS)左移左移4位该变量的偏移地址位该变量的偏移地址(dzh)p 堆栈段寄存器堆栈段寄存器 (Stack Segment,SS)。它存放当。它存放当前堆栈段的段基址。栈顶的物
32、理地址前堆栈段的段基址。栈顶的物理地址(dzh)应为应为PA(SS)左移左移4位位(SP)p附加附加(fji)段寄存器段寄存器 (Extra Segment,ES)。第31页/共79页第三十二页,共80页。 一般来说,当程序较少,数据量又不大时一般来说,当程序较少,数据量又不大时,代码段、数据段、堆栈段和附加段可设置在,代码段、数据段、堆栈段和附加段可设置在同一段内。当程序和数据量较大,超过同一段内。当程序和数据量较大,超过64KB时时,可定义多个代码段、数据段、附加段和堆栈,可定义多个代码段、数据段、附加段和堆栈段。这时在段。这时在CS,DS,SS和和ES中存放的是当前中存放的是当前正在使用
33、的逻辑段段正在使用的逻辑段段(dun dun)基址,使用中基址,使用中可以通过修改这些段的寄存器的内容,以访问可以通过修改这些段的寄存器的内容,以访问其他段扩大程序规模。必要时,可通过在指令其他段扩大程序规模。必要时,可通过在指令中增加段超越前缀符来指向其他段。中增加段超越前缀符来指向其他段。第32页/共79页第三十三页,共80页。3. 控制寄存器组控制寄存器组1) 指令指针指令指针 (Instruction Pointer,IP) 用来存放下一条要执行用来存放下一条要执行(zhxng)的指令在的指令在当前代码段中的偏移地址。在程序运行中,当前代码段中的偏移地址。在程序运行中,IP的内容自动修
34、改,总是指向下一条要执行的内容自动修改,总是指向下一条要执行(zhxng)的指令。其内容程序不能直接访问的指令。其内容程序不能直接访问,但当执行,但当执行(zhxng)转移指令、调用指令时转移指令、调用指令时,其内容可被修改,置入的是目标地址或子,其内容可被修改,置入的是目标地址或子程序首地址,程序首地址,IP的原内容被压入堆栈,返回的原内容被压入堆栈,返回时再被恢复。时再被恢复。第33页/共79页第三十四页,共80页。2) 标志标志(biozh)寄存器寄存器(FLAG) 标志标志(biozh)寄存器也称程序状态字寄存器也称程序状态字(PSW)寄寄存器。存器。图2.10 8086标志(bioz
35、h)寄存器格式一类叫状态标志,用来表示运算一类叫状态标志,用来表示运算(yn sun)结果的特结果的特征,共征,共6个个: CF,PF,AF,ZF,SF和和OF。一类叫控制标志,用来控制一类叫控制标志,用来控制CPU的操作或工作状态,的操作或工作状态,共共3个:个:DF,IF和和TF。第34页/共79页第三十五页,共80页。(1) 状态标志位功能说明状态标志位功能说明 进位进位(jnwi)标志标志(Carry Flag,CF) 奇偶标志奇偶标志(Parity Flag,PF) 辅助进位辅助进位(jnwi)标志标志(Auxiliary Carry Flag,AF) 零标志零标志(Zero Fla
36、g,ZF) 符号标志符号标志(Sign F1ag SF) 溢出标志溢出标志(Overflow Flag,OF)(2) 控制标志位功能控制标志位功能 中断中断(zhngdun)允许标志允许标志(Interrupt Enable F1ag,IF) (Direction Flag,DF)方向标志方向标志 (Trap Flag,TF)单步标志单步标志第35页/共79页第三十六页,共80页。2.2.1 8086的两种系统的两种系统(xtng)组态组态1. 最小工作方式最小工作方式 所谓最小工作方式,就是系统中只有一个所谓最小工作方式,就是系统中只有一个8086微处理器,在这种情况下,所有的总线控微处理器
37、,在这种情况下,所有的总线控制信号,都是直接制信号,都是直接(zhji)由由8086 CPU产生的,产生的,系统中的总线控制逻辑电路被减到最少,最小系统中的总线控制逻辑电路被减到最少,最小工作方式适用于由单微处理器组成的小系统。工作方式适用于由单微处理器组成的小系统。在这种系统中,在这种系统中, 8086 CPU直接直接(zhji)产生所有产生所有的总线控制信号,因而省去了总线控制逻辑。的总线控制信号,因而省去了总线控制逻辑。第36页/共79页第三十七页,共80页。图2.11 8086最小系统配置第37页/共79页第三十八页,共80页。1) 时钟发生器时钟发生器8284A2) 为为8086以及
38、其他外设芯片提供以及其他外设芯片提供(tgng)所需所需要的时钟信号。要的时钟信号。2) 数据总线收发器数据总线收发器8286/8287 当系统中数据总线上挂接的外设端口部件较多时当系统中数据总线上挂接的外设端口部件较多时,就必须在数据总线上接入总线收发器以增加,就必须在数据总线上接入总线收发器以增加(zngji)总线的驱动能力。总线的驱动能力。3)地址锁存器)地址锁存器8282 8086的地址的地址/数据和地址数据和地址/状态总线分时复用,必状态总线分时复用,必须加入地址锁存器。须加入地址锁存器。第38页/共79页第三十九页,共80页。2. 最大工作最大工作(gngzu)方式方式 将将808
39、6/8088 CPU的引脚的引脚MN/MX接地,就使接地,就使CPU工作于最大模式。在最大系统下,系统中至少工作于最大模式。在最大系统下,系统中至少包含两个微处理器,其中一个为主处理器,即包含两个微处理器,其中一个为主处理器,即8086CPU,其他的微处理器称之为协处理器。,其他的微处理器称之为协处理器。 与最小方式系统配置相比,增加了一个总线控制与最小方式系统配置相比,增加了一个总线控制器器8288。总线控制器。总线控制器8288用来用来(yn li)产生总线命产生总线命令信号和总线控制信号。也就是说,在最大方式下令信号和总线控制信号。也就是说,在最大方式下,CPU不直接产生系统所需的总线控
40、制信号,所有不直接产生系统所需的总线控制信号,所有的总线控制信号均由总线控制器的总线控制信号均由总线控制器8288产生。产生。第39页/共79页第四十页,共80页。图2.15 8086最大系统配置第40页/共79页第四十一页,共80页。(a) 引脚图 (b) 内部(nib)结构图图2.16 8288的引脚和内部结构第41页/共79页第四十二页,共80页。总线控制器总线控制器8288 (1) 总线命令信号总线命令信号(xnho) 由由CPU输入的总线状态信号输入的总线状态信号(xnho)S2S0经内部经内部状态译码器译码后,经命令信号状态译码器译码后,经命令信号(xnho)产生电路产生产生电路产
41、生总线命令信号总线命令信号(xnho)。操作状态操作状态8288产生产生的信号的信号操作状态操作状态8288产生产生的信号的信号000中断相应中断相应100取指令取指令001读读I/O端口端口101读存储器读存储器010写写I/O端口端口110写存储器写存储器011暂停暂停无无111保留保留无无0S2S1SINTAIORCIOWCAIOWC0S2S1SMRDCMRDCAMWCMWTC第42页/共79页第四十三页,共80页。(2) 总线总线(zn xin)控制信号控制信号(数据数据(shj)发送发送/接收接收)DT/RMCE/PDEN(主控级联允许主控级联允许/外设数据外设数据(shj)允许允许
42、信号信号)ALE(地址锁存允许地址锁存允许) DEN(数据允许数据允许)(3) 控制输入信号控制输入信号IOB(I/O总线方式控制信号,输入,高电平有效总线方式控制信号,输入,高电平有效)CEN(命令允许信号,输入,高电平有效命令允许信号,输入,高电平有效)AEN(地址允许信号,由总线裁决器输入,低电平有效(地址允许信号,由总线裁决器输入,低电平有效)第43页/共79页第四十四页,共80页。2.2.2 8086的引脚功能的引脚功能(gngnng)图2.17 8086引脚图第44页/共79页第四十五页,共80页。1. 两种工作方式公用引脚两种工作方式公用引脚 在在8086 微处理器的微处理器的4
43、0条引脚中,引脚条引脚中,引脚1和和引脚引脚20为接地端为接地端(GND),引脚,引脚40为电源输入为电源输入端端(VCC),采用的电源电压为,采用的电源电压为+5V10%;引;引脚脚19为时钟信号输入端为时钟信号输入端(CLK)。其余。其余36个引个引脚按其功能来分,属地址脚按其功能来分,属地址(dzh)/数据总线的数据总线的有有20条引脚,属控制总线的有条引脚,属控制总线的有16条引脚。具条引脚。具体定义如下。体定义如下。第45页/共79页第四十六页,共80页。1) 地址地址(dzh)/数据总线数据总线 (1) AD15AD0(Address Data Bus,I/O,三态,三态)为分为分
44、时复用的地址时复用的地址(dzh)数据总线。数据总线。 (2) A19/S6A15/S3(Address Status Bus,输出,三态,输出,三态)为分时复用的地址为分时复用的地址(dzh)/状态信号线。状态信号线。S S4 4S S3 3段寄存器段寄存器0 00 0ESES0 01 1SSSS1 10 0CS(CS(或或I/OI/O,中断响应,中断响应) )1 11 1DSDS第46页/共79页第四十七页,共80页。2) 控制总线控制总线(1) NMI (Non-Maskable Interrupt,输入,输入(shr))非可屏蔽中断)非可屏蔽中断请求信号输入请求信号输入(shr)引脚。
45、引脚。INTR( Interrupt Request,输入,输入(shr))中断请求信号输入)中断请求信号输入(shr)引脚。引脚。(3) Read,输出,三态。读控制输出信号引脚。,输出,三态。读控制输出信号引脚。Reset,系统复位信号输入,系统复位信号输入(shr)引脚,高电平有效。引脚,高电平有效。Ready, “准备好准备好”状态信号输入状态信号输入(shr)引脚引脚Test,测试信号输入,测试信号输入(shr)引脚,低电平有效。引脚,低电平有效。MN/MX,最小,最小/最大工作方式设置信号输入最大工作方式设置信号输入(shr)引脚。引脚。BHE/S7,三态输出分时复用引脚,三态输出
46、分时复用引脚,BHE低电平有效。低电平有效。第47页/共79页第四十八页,共80页。表2-6 和A0的代码组合和对应(duyng)的操作 操操 作作 A0使用的数据引脚使用的数据引脚读或写偶地址的一个字读或写偶地址的一个字 0 0AD15AD0读或写偶地址的一个字读或写偶地址的一个字节节 1 0AD7AD0读或写奇地址的一个字读或写奇地址的一个字节节 0 1AD15AD8读或写奇地址的一个字读或写奇地址的一个字 0 11 0AD15AD8(第第1个总线周期放低个总线周期放低位数据字节位数据字节)AD7AD0(第第2个总线周期放高个总线周期放高位数据字节位数据字节)BHEBHE第48页/共79页
47、第四十九页,共80页。2. 最小方式最小方式(fngsh)下引脚定义下引脚定义1)INTA (Interrupt Acknowledge,输出,输出)中断中断(zhngdun)响应信响应信号输出引脚,低电平有效号输出引脚,低电平有效2)ALE (Address Lock Enable,输出,输出) 地址锁存允许输出信号引地址锁存允许输出信号引脚,高电平有效脚,高电平有效3)DEN (Data Enable,三态,输出,三态,输出)数据允许输出信号引脚,数据允许输出信号引脚,低电平有效低电平有效4)DT/R (Data Transmit/Receive,输出,三态)数据收发控,输出,三态)数据收
48、发控制信号输出引脚制信号输出引脚5)M/IO (Memory/Input &Output,输出,三态,输出,三态)存储器存储器/I/O端端口选择信号输出引脚口选择信号输出引脚6)WR (Write,输出,三态,输出,三态)写控制信号输出引脚,低电平有效写控制信号输出引脚,低电平有效第49页/共79页第五十页,共80页。7)HOLD(Hold Request,输入,输入)总线保持请求信号总线保持请求信号(xnho)输入引脚,高电平有效。输入引脚,高电平有效。8)HLDA (Hold Acknowledge,输出,输出)总线保持响应信号总线保持响应信号(xnho)输出引脚,高电平有效。输出
49、引脚,高电平有效。表2-72-7 和和 的组合的组合(zh)(zh)决定的传送类型决定的传送类型 M/IO RDWR传送类型传送类型001读读I/O端口端口010写写I/O端口端口101读存储器读存储器110写存储器写存储器M/IORDWR第50页/共79页第五十一页,共80页。3. 最大方式下引脚定义最大方式下引脚定义1) QS1、QS0(Instruction Queue Status,输出,输出)指令指令队列队列(duli)状态信号输出引脚。状态信号输出引脚。QS1QS0指令队列状态指令队列状态00无操作,队列中指令未被取出无操作,队列中指令未被取出01从队列中取出当前指令的第一个字节从
50、队列中取出当前指令的第一个字节10队列空队列空11从队列中取出指令的后续字节从队列中取出指令的后续字节表表2-8 2-8 指令指令(zhlng)(zhlng)队列状态位的编码队列状态位的编码第51页/共79页第五十二页,共80页。2) ( (输出,三态输出,三态) )总线总线(zn xin)(zn xin)周期状态信号周期状态信号输出引脚输出引脚、2S1RQ/GT1S0S3) (Lock,输出,三态,输出,三态)总线封锁信号总线封锁信号(xnho)引脚,低电平有效引脚,低电平有效LOCK4) (Request/Grant,输入,输入/输出输出)总线请求总线请求(qngqi)信号信号0RQ/GT
51、输入输入/总线允许信号输出引脚。总线允许信号输出引脚。 在最大方式系统中,对存储器和在最大方式系统中,对存储器和I/O端口进行读写的命令信号端口进行读写的命令信号和对和对8282、8286的控制信号均由的控制信号均由8288产生。现对这些信号分别产生。现对这些信号分别说明如下:说明如下:1) 用于对地址锁存器和数据收发器的控制信号用于对地址锁存器和数据收发器的控制信号DT/RALE、 和和DEN2) 用于系统控制总线的命令信号用于系统控制总线的命令信号INTAIORC:向中断控制器或中断设备输出的中断响应信号。:向中断控制器或中断设备输出的中断响应信号。 :I/O读命令读命令第52页/共79页
52、第五十三页,共80页。IOWC:I/O写命令写命令(mng lng):存储器读命令:存储器读命令(mng lng):存储器写命令:存储器写命令(mng lng)(mng lng)MRDCMWTCAIOWC:先行:先行I/O写命令写命令AMWC:先行存储器写命令:先行存储器写命令、INTR、NMI、 、READY和RESET等。 BHEIOWCMRDCMWTCIORCLOCKTEST与最小方式系统相同。控制总线有、1RQ/GT0RQ/GTINTA、 在8086最大方式系统中,系统总线中的地址总线和数据总线第53页/共79页第五十四页,共80页。2.3.1 总线周期的基本概念总线周期的基本概念CP
53、U执行一条指令的时间称为一个指令周期。执行一条指令的时间称为一个指令周期。通过外部总线对存储器或通过外部总线对存储器或I/O端口进行端口进行(jnxng)一一次读次读/写操作的过程称为总线周期。写操作的过程称为总线周期。一个指令周期由若干个总线周期组成。一个指令周期由若干个总线周期组成。一个总线周期由若干时钟周期一个总线周期由若干时钟周期T组成。组成。时钟周期是系统主时钟频率的倒数,是时钟周期是系统主时钟频率的倒数,是CPU的基的基本时间计量单位,例如,某本时间计量单位,例如,某CPU的主频为的主频为5MHz,则其一个时钟周期就是,则其一个时钟周期就是200ns,若主频为,若主频为10MHz,
54、则一个时钟周期为,则一个时钟周期为100ns。第54页/共79页第五十五页,共80页。 8086 CPU的一个基本总线周期由的一个基本总线周期由4个时钟个时钟(shzhng)周期周期或或4个个T状态状态(T1,T2,T3,T4)组成。组成。 T1状态,状态,CPU往数据往数据/地址总线上发出地址信息。地址总线上发出地址信息。T2状态,状态,CPU从总线上撤销地址。从总线上撤销地址。读周期,使数据读周期,使数据/地址总线的低地址总线的低16位处于高阻抗状态,总线的位处于高阻抗状态,总线的高高4位输出本总线周期状态信息。位输出本总线周期状态信息。写周期,写周期,CPU把数据放到总线上。把数据放到总
55、线上。T3状态,数据状态,数据/地址总线的高地址总线的高4位继续传送状态信息,而低位继续传送状态信息,而低16位上出现由位上出现由CPU输出的数据输出的数据(为写周期为写周期)或为或为CPU从存储器或从存储器或I/O端口读入的数据。端口读入的数据。 T4状态,状态,8086完成数据传送,使控制信号变为无效,结束总完成数据传送,使控制信号变为无效,结束总线周期线周期第55页/共79页第五十六页,共80页。 除了除了(ch le)基本总线周期之外,还应注意基本总线周期之外,还应注意等待状态等待状态TW 和空闲状态和空闲状态Ti 。图2.18 8086 CPU典型(dinxng)总线周期第56页/共
56、79页第五十七页,共80页。1. 最小方式最小方式(fngsh)下的存储器读写周期下的存储器读写周期1) 存储器读周期存储器读周期2.3.2 8086的存储器读写周期的存储器读写周期 图2.19 8086的存储器读周期(zhuq)时序第57页/共79页第五十八页,共80页。图2.20 具有(jyu)等待周期的存储器读周期第58页/共79页第五十九页,共80页。图2.21 8086存储器写周期(zhuq)时序(最小方式)2) 存储器写周期存储器写周期(zhuq)第59页/共79页第六十页,共80页。2. 最大方式最大方式(fngsh)下的存储器下的存储器读写周期读写周期1) 最大方式最大方式(f
57、ngsh)存储器读周期存储器读周期图2.22 8086存储器读周期(zhuq)时序(最大方式)第60页/共79页第六十一页,共80页。(1) 在每个总线周期在每个总线周期(zhuq)开始之前的一段时间,开始之前的一段时间, 必定必定(bdng)被置为高电平被置为高电平,即,即 111。(2) 最小方式下由最小方式下由CPU直接直接(zhji)产生的产生的ALE, 等控制信号,在最大模式下由总线控制器等控制信号,在最大模式下由总线控制器8288产生。产生。0S,210S S S DENDT/RRD1S2S(3) 在最大方式下,读存储器用在最大方式下,读存储器用 是像最小方式中用是像最小方式中用
58、信号的组合来表示。信号的组合来表示。 和和 RDM/IOMRDC IORC/*信号,而不信号,而不 最大方式下的存储器读周期时序与最小方式下的读周期时序最大方式下的存储器读周期时序与最小方式下的读周期时序相类似,所不同的只有以下几点:相类似,所不同的只有以下几点:第61页/共79页第六十二页,共80页。(4) 在读周期的T3状态(zhungti),当CPU读取总线上的数据后, 便全部(qunb)变为高电平( T4状态。一旦进入无源状态就意味着很快可以启动(qdng)一个新的总线周期。 (5) 等待状态TW的插入过程与最小模式时相同。(6) 在T4状态,数据从总线上消失,状态信号引脚S7S3进入
59、高则按照下一个总线周期的操作类型产生变000110)。 0S,1S2S0S,1S2S210S S S 210S S S 111),即进入无源状态,并一直保持到阻抗状态,而化(即第62页/共79页第六十三页,共80页。2) 最大方式最大方式(fngsh)存储器写周期存储器写周期图2.23 存储器写周期(zhuq)时序 (最大方式)第63页/共79页第六十四页,共80页。 由图可知,最大方式(fngsh)下的写周期时序与前述的读周期时序有很多相同之处,例如:(1) 和读周期一样(yyng),在总线写周期开始之前, 已经按照操作类型(lixng)设置好相应的电平。 中的变化情况与最大方式下该周期中的
60、变化是一样的。同样,也在T3状态全部恢复为高电平,进入无源状态,从而为启动下一个新的总线周期作准备。 (2) ALE*和DEN*的时序和作用与读周期相同;状态/地址信在各个T状态中的变化与读周期也相同。 (3) 同样,在最大方式下的写周期中,当存储器速度较慢时,也可以用READY信号联络,当在T3开始时READY信号仍无效(即为低电平),也可在T3和T4之间插入1个或几个等待状态TW。0S,1S2S0S,1S2S就在各个T状态号A19/S6Al6/S3及7BHE/S第64页/共79页第六十五页,共80页。写周期时序与读周期时序所不同的是: (1) 在最大方式(fngsh)下的存储器写周期中,CPU通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋租赁员工奖励方案(3篇)
- 《城南旧事》观后感(14篇)
- 同业拆出管理办法
- 后勤风险管理办法
- 员工休班管理办法
- 哨兵枪支管理办法
- 商业承兑管理办法
- 商务绩效管理办法
- 商场货车管理办法
- 商标监测管理办法
- 互联网护理管理
- 骨科降低卧床患者便秘发生率医院护理质量QCC改善案例
- 《业务员基本素质》课件
- 物联网工程专业介绍
- 成人高考成考英语(高起专)试题及答案指导(2025年)
- 血液透析中低血压的预防及处理
- GB/T 2423.17-2024环境试验第2部分:试验方法试验Ka:盐雾
- (高清稿)DB44∕T 2515-2024 水利工程水文化设计导则
- 市场调研表格模板
- JJG(交通) 187-2023 水泥混凝土搅拌机
- (高清版)JTG D81-2017 公路交通安全设施设计规范
评论
0/150
提交评论