最新微处理器的编程结构PPT课件.ppt
《最新微处理器的编程结构PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微处理器的编程结构PPT课件.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微处理器的编程结构微处理器的编程结构80868086微处理器是微处理器是IntelIntel系列的系列的1616位位微处理器,内部包含约微处理器,内部包含约2900029000个半导个半导体管。体管。16根数据线,可以同时处理可以同时处理1616位二进制数据位二进制数据20根地址线,可用可用2020位二进制数码编写地址,存储器以字节(位二进制数码编写地址,存储器以字节(8 8位二位二进制数据)为单位组织存储,可寻址的地址空间可达进制数据)为单位组织存储,可寻址的地址空间可达2 22020,即,即1M1M字节字节时钟频率为5MHz,工作时,只要一个,工作时,只要一个5V5V电源,电源,除了数据总
2、线宽度不同外,除了数据总线宽度不同外,80888088与与80868086在其他方面几乎完全相同。它在其他方面几乎完全相同。它们的另一个突出特点是其多重处理的能力,能极方便的和数值数据们的另一个突出特点是其多重处理的能力,能极方便的和数值数据处理器(处理器(NPXNPX)80878087,输入输出,输入输出I/OI/O处理器(处理器(IOPIOP)80898089或其他处理或其他处理器组成多处理器系统,大幅度提高系统数据吞吐能力和数据处理能器组成多处理器系统,大幅度提高系统数据吞吐能力和数据处理能力。力。8086/8088微处理器简介微处理器简介3“流水线”结构的指令队列 总线接口部件总线接口
3、部件BIUBIU和执行部件和执行部件EUEU并不是同步工作的,并不是同步工作的,每当每当EUEU从指令队列头部取出一条指令并在分析、执行指令这段时从指令队列头部取出一条指令并在分析、执行指令这段时间内,或当指令队列中有间内,或当指令队列中有2 2个空字节时,个空字节时,BIUBIU会自动把指令取会自动把指令取到指令队列中。当指令队列已满(到指令队列中。当指令队列已满(6 6个字节),而且个字节),而且EUEU对对BIUBIU又无总线访问请求时,又无总线访问请求时,BIUBIU便进入空闲状态;但便进入空闲状态;但EUEU在分析、在分析、执行指令过程中,如须访问内存或执行指令过程中,如须访问内存或
4、I/OI/O设备,设备,EUEU就会向就会向BIUBIU申请总线周期,若申请总线周期,若BIUBIU总线空闲,就会立即响应;若总线空闲,就会立即响应;若BIUBIU此时此时正在取一条指令,正在取一条指令,EUEU就必须等待就必须等待BIUBIU取指令的操作完成以后,取指令的操作完成以后,才会得到才会得到BIUBIU响应。响应。在在8086/80888086/8088中,中,EUEU和和BIUBIU这种并行的工作方式有力地提高了这种并行的工作方式有力地提高了工作效率。工作效率。3.1.2 8086/8088的编程结构的编程结构CSDSESSSFSGSIPFLAGS EIPEFLAGSSPBPSI
5、DIAH ALBH BLDH DLAH ALCH CLAXBXCXDX01531EAXEBXECXEDXESPEBPESIEDI1通用寄存器通用数据寄存器 用来存放用来存放8 8位、位、1616位或位或3232位的操作数。由于具有良好的通用位的操作数。由于具有良好的通用性,因而被称为通用寄存器,其中包括性,因而被称为通用寄存器,其中包括AXAX,BXBX,CXCX,DXDX。通用寄存器主要用来保存算术或逻辑运算的操作数、中间运通用寄存器主要用来保存算术或逻辑运算的操作数、中间运算结果。它们既可以作为一个算结果。它们既可以作为一个1616位的寄存器使用,也可以分位的寄存器使用,也可以分别作为两个
6、别作为两个8 8位的寄存器使用,高位字节的寄存器为位的寄存器使用,高位字节的寄存器为AHAH,BHBH,CHCH,DHDH;低位字节的寄存器为;低位字节的寄存器为ALAL,BLBL,CLCL,DLDL。指针寄存器和变址寄存器 堆栈指针寄存器堆栈指针寄存器ESPESP、基址指针寄存器基址指针寄存器EBPEBP 源变址寄存器源变址寄存器ESIESI、目的变址寄存器目的变址寄存器EDIEDI2.2.指令指针寄存器指令指针寄存器 EIP3.3.标志寄存器标志寄存器 EFLAGS4.4.段寄存器段寄存器寄存器寄存器 执行操作执行操作 AX累加器,累加器,I/O指令中用作数据寄存器整字乘法,整字除法,整字
7、指令中用作数据寄存器整字乘法,整字除法,整字I/O,存放被乘数,乘积,被除数,商,存放被乘数,乘积,被除数,商 ALI/O指令中用作数据寄存器字节乘法,字节除法,字节指令中用作数据寄存器字节乘法,字节除法,字节I/O。存放。存放被乘数,乘积,被除数,商查表,十进制算术运算中用作累加器;被乘数,乘积,被除数,商查表,十进制算术运算中用作累加器;在在XLAT(换码)指令中用作累加器(换码)指令中用作累加器 AH字节乘法,字节除法在字节乘法,字节除法在LAHF(标志寄存器传送)指令中用作目(标志寄存器传送)指令中用作目标寄存器标寄存器 BX用作间接寻址的地址寄存器和基地址寄存器;查表;在用作间接寻址
8、的地址寄存器和基地址寄存器;查表;在XLAT(换码)指令中用作基地址寄存器(换码)指令中用作基地址寄存器 寄存器的特殊用途和隐含用法寄存器的特殊用途和隐含用法CX计数寄存器,在计数寄存器,在LOOP(循环循环)和串操作中充当计数器字符串操作,循和串操作中充当计数器字符串操作,循环环 CL在变量的移位和循环移位指令中用作移位次数计数器在变量的移位和循环移位指令中用作移位次数计数器 DX在乘法、除法指令中作为辅助累加器;在乘法、除法指令中作为辅助累加器;在乘法、除法指令中存放乘积高位、被除数高位或余数在乘法、除法指令中存放乘积高位、被除数高位或余数在间接寻址的在间接寻址的I/O指令中作为地址寄存器
9、;指令中作为地址寄存器;SP堆栈操作中用作堆栈指针堆栈操作中用作堆栈指针 BP在间接寻址中用作基址寄存器;在间接寻址中用作基址寄存器;SI在字符串操作中用作变址寄存器;在间接寻址中用作变址寄存器;在字符串操作中用作变址寄存器;在间接寻址中用作变址寄存器;DI字符串操作字符串操作 寄存器的特殊用途和隐含用法寄存器的特殊用途和隐含用法 标志寄存器共有标志寄存器共有1616位,其中有位,其中有7 7位未用,已用的位未用,已用的9 9个标志位按个标志位按功能可分为功能可分为6 6个条件标志和个条件标志和3 3个控制标志。个控制标志。(1)条件标志(条件标志用于存放程序运行的状态信息,由硬件自动设定。控
10、(条件标志用于存放程序运行的状态信息,由硬件自动设定。控 制标志由软件设定,用于中断、串操作等控制):制标志由软件设定,用于中断、串操作等控制):OF:溢出标志。反映带符号数运算结果是否超过机器所能表示的。反映带符号数运算结果是否超过机器所能表示的数值范围,对字节运算为数值范围,对字节运算为-128+127,对字运算为,对字运算为-32768+32767。若超过上述范围称为若超过上述范围称为“溢出溢出”,OF置置1。否则,置。否则,置0。实际机器。实际机器在进行处理时,是判断最高位的进位(在进行处理时,是判断最高位的进位(CF)与次高位的进位是)与次高位的进位是否相同,若二者相同,则否相同,若
11、二者相同,则OF。否则,。否则,OF。OFDFIFTFSFZFAFPFCF标志寄存器(标志寄存器(Flag RegisterFlag Register)图2-2 标志寄存器志寄存器结构构图SF:符号标志 反映运算结果的符号。若结果为负数,即最高反映运算结果的符号。若结果为负数,即最高位为位为1时,时,SF置置1,否则,置,否则,置0。SF取值与运算结果最高位一致。取值与运算结果最高位一致。ZF:零标志 反映运算结果是否为零。若结果为零,反映运算结果是否为零。若结果为零,ZF置置1,否,否则,置则,置0。AF:半进位标志。反映一个反映一个8位量的低位量的低4位向高位向高4位有无进位或借位。位有无
12、进位或借位。有则置有则置1,否则,置,否则,置0。用于。用于BCD码算术运算指令。码算术运算指令。PF:奇偶标志。:奇偶标志。反映操作结果的低反映操作结果的低8位中位中“1”的个数的奇偶性。若的个数的奇偶性。若“1”的个数为的个数为偶数,偶数,PF置置1,否则,置,否则,置0。CF:进位标志 反映算术运算后最高位出现进位或借位的情况。有反映算术运算后最高位出现进位或借位的情况。有则置则置1,否则,置,否则,置0。移位和循环指令也会改变。移位和循环指令也会改变CF的值。的值。标志寄存器(标志寄存器(Flag Register)(2)控制标志DFDF:方向标志:方向标志 进行字符串操作时,每执行一
13、条串操作指令,对地进行字符串操作时,每执行一条串操作指令,对地址会进行一次自动调整,由址会进行一次自动调整,由DF决定地址是增还是减。若决定地址是增还是减。若DF为为1,则为,则为减,否则为增。减,否则为增。IFIF:中断标志:中断标志 表示系统是否允许表示系统是否允许“外部可屏蔽中断外部可屏蔽中断”(其含义见(其含义见后述后述“中断中断”内容)。若内容)。若IF为为1,表示允许,否则表示不允许。,表示允许,否则表示不允许。IF对非对非屏蔽中断和内部中断请求不起作用。该标志可由中断控制指令设置或屏蔽中断和内部中断请求不起作用。该标志可由中断控制指令设置或清除。清除。TFTF:陷阱标志:陷阱标志
14、。TF为为1时,时,CPU每执行完一条指令,便自动产生一每执行完一条指令,便自动产生一个内部中断,可以利用它对程序进行逐条检查。程序调试过程中的个内部中断,可以利用它对程序进行逐条检查。程序调试过程中的“单步执行单步执行”就是利用这个标志。就是利用这个标志。标志寄存器(标志寄存器(Flag Register)3.1.3 8086/8088的引脚信号的引脚信号12345678910111213141516171819204039383736353433323130292827262524232221 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5
15、 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCC(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE*/S7MN/MX*RD*HOLD(RQ*/GT0*)HLDA (RQ*/GT1*)WR*(LOCK*)M/IO*(S2*)DT/R*(S1*)DEN*(S0)ALE(QS0)INTA*(QS1)TEST*READYRESET8086一、一、8086/8088的两种工作模式的两种工作模式(1)最小工作模式系统中只有系统中只有8086/80888086/8088一个微处理器。一个微处理器。所有的总线控制信号都直接由所有的总线控制信号都直接由8086
16、/80888086/8088产生。产生。(2)最大工作模式构成较大规模的应用系统,系统中包含两个或多个微处构成较大规模的应用系统,系统中包含两个或多个微处理器,其中理器,其中8086/80888086/8088是主处理器,其他的处理器称为是主处理器,其他的处理器称为协处理器。和协处理器。和8086/80888086/8088配合使用的协处理器主要有两配合使用的协处理器主要有两个:数值运算协处理器个:数值运算协处理器80878087和输入和输入/输出协处理器输出协处理器80898089。8086/80888086/8088和总线控制器和总线控制器82888288等共同形成总线控制信号。等共同形成
17、总线控制信号。两种模式利用两种模式利用MN/MX*引脚区别引脚区别MN/MX接高电平为最小工作模式接高电平为最小工作模式MN/MX接低电平为最大工作模式接低电平为最大工作模式两种模式下的内部操作并没有区别两种模式下的内部操作并没有区别IBM PC/XT采用最大模式采用最大模式本节以最小模式展开基本原理本节以最小模式展开基本原理8086/8088的两种工作模式的两种工作模式1.数据和地址引脚数据和地址引脚AD7AD0(Address/Data)地址地址/数据数据分时复用分时复用引脚,双向、三态引脚,双向、三态 在访问存储器或外设的总线操作周期中,这些引脚在第在访问存储器或外设的总线操作周期中,这
18、些引脚在第一个时钟周期输出存储器或一个时钟周期输出存储器或I/OI/O端口的低端口的低8 8位地址位地址A A7 7A A0 0 其他时间用于传送其他时间用于传送8 8位数据位数据D D7 7D D0 0 AD15AD8(Address)中间中间8 8位位地址引脚地址引脚,输出、三态,输出、三态 这些引脚在访问存储器或外设时,提供全部这些引脚在访问存储器或外设时,提供全部2020位地址中位地址中的中间的中间8 8位地址位地址A A1515A A8 8二、引脚功能二、引脚功能1.数据和地址引脚数据和地址引脚(续(续2)A19/S6A16/S3(Address/Status)地址地址/状态状态分时
19、复用引脚,输出、三态分时复用引脚,输出、三态这些引脚在访问存储器的第一个时钟周期输出这些引脚在访问存储器的第一个时钟周期输出高高4 4位地址位地址A A1919A A1616在访问外设的第一个时钟周期全部输出低电平在访问外设的第一个时钟周期全部输出低电平无效无效其他时间输出状态信号其他时间输出状态信号S S6 6S S3 32.读写控制引脚读写控制引脚ALE(Address Latch Enable)地址锁存允许地址锁存允许,输出、三态、高电平有效,输出、三态、高电平有效ALE引脚高有效时,表示复用引脚:引脚高有效时,表示复用引脚:AD7AD0和和A19/S6A16/S3正在传送地址信息正在传
20、送地址信息由于地址信息在这些复用引脚上出现的时间很由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用短暂,所以系统可以利用ALE引脚将地址锁存引脚将地址锁存起来起来2.读写控制引脚读写控制引脚(续(续1)M/IO*(Input and Output/Memory)I/OI/O或存储器访问或存储器访问,输出、三态,输出、三态该引脚输出低电平时,表示该引脚输出低电平时,表示CPUCPU将访问将访问I/OI/O端口,端口,这时地址总线这时地址总线A A1515A A0 0提供提供1616位位I/OI/O口地址口地址该引脚输出高电平时,表示该引脚输出高电平时,表示CPUCPU将访问存储器,
21、将访问存储器,这时地址总线这时地址总线A A1919A A0 0提供提供2020位存储器地址位存储器地址 2.读写控制引脚读写控制引脚(续(续2)WR*(Write)l写控制写控制,输出、三态、低电平有效,输出、三态、低电平有效l有效时,表示有效时,表示CPU正在写出数据给存储器或正在写出数据给存储器或I/O端口端口RD*(Read)l读控制读控制,输出、三态、低电平有效,输出、三态、低电平有效l有效时,表示有效时,表示CPU正在从存储器或正在从存储器或I/O端口读入端口读入数据数据 2.读写控制引脚读写控制引脚(续(续3)lM/IO*、WR*和和RD*是最基本的控制信号是最基本的控制信号l组
22、合组合后,控制后,控制4种基本的总线周期种基本的总线周期总线周期总线周期M/IO*WR*RD*存储器读存储器读高高高高低低存储器写存储器写高高低低高高I/O读读低低高高低低I/O写写低低低低高高2.读写控制引脚读写控制引脚(续(续4)READY l存储器或存储器或I/O口就绪口就绪,输入、高电平有效,输入、高电平有效l在总线操作周期中,在总线操作周期中,8088 CPU会在第会在第3个时钟周期的前个时钟周期的前沿测试该引脚沿测试该引脚u如果测到高有效,如果测到高有效,CPU直接进入第直接进入第4个时钟周期个时钟周期u如果测到无效,如果测到无效,CPU将插入等待周期将插入等待周期TwlCPU在等
23、待周期中仍然要监测在等待周期中仍然要监测READY信号,有效则进信号,有效则进入第入第4个时钟周期,否则继续插入等待周期个时钟周期,否则继续插入等待周期Tw。2.读写控制引脚读写控制引脚(续(续5)DEN*(Data Enable)l数据允许数据允许,输出、三态、低电平有效,输出、三态、低电平有效l有效时,表示当前数据总线上正在传送数据,可利用他有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动来控制对数据总线的驱动 DT/R*(Data Transmit/Receive)l数据发送数据发送/接收接收,输出、三态,输出、三态l该信号表明当前总线上数据的流向该信号表明当前总线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 微处理器 编程 结构 PPT 课件
限制150内