湖大微机原理及其应用_第2章.ppt
《湖大微机原理及其应用_第2章.ppt》由会员分享,可在线阅读,更多相关《湖大微机原理及其应用_第2章.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、封面8086微处理器第2章 Intel 8086微处理器的结构微处理器的结构 Intel8086CPUIntel8086CPU的总线周期与的总线周期与 时序时序 本章内容本章内容本章内容本章内容 掌握掌握Intel 8086系统的构成和工作原理系统的构成和工作原理 重点掌握重点掌握Intel 8086微处理器的结构微处理器的结构学习目的学习目的学习目的学习目的 掌握时序的概念掌握时序的概念 掌握基本的总线周期时序掌握基本的总线周期时序2.1 8086微处理器的结构微处理器的结构 8086CPU是采用是采用HMOS工艺工艺Intel系列系列16位位微处理器,微处理器,其基本特性如下:其基本特性如
2、下:双列直插、双列直插、40引脚引脚 单一单一+5V电源、电源、时钟时钟频率频率:5MHz10MHz 16位位外部数据总线、外部数据总线、20位位外部地址总线,可寻址外部地址总线,可寻址1MB地址空间地址空间 并行流水线处理并行流水线处理结构结构 8086CPU支持支持多处理器多处理器系统,可以与数值协处理系统,可以与数值协处理器器8087或其他或其他协处理器协处理器一起,方便地构成多处理器系统。一起,方便地构成多处理器系统。20位AH ALBH BLCH CLDH DLSPBPDISIALU运算寄存器标志执行部件控制电路16位CS DS SS ESIP 内部暂存器8位1 2 3 4 5 6执
3、行部件 (EU)输入/输出控制电路16位 外部总线 指令队列缓冲器总线接口部件(BIU)通用寄存器地址加法器2.1.1 8086的功能结构的功能结构8086CPU的结构框图8086从功能结构来讲,分为两大部分,即总总线线接接口口部部件件BIU(Bus Interface Unit)和执执行行部件部件EU(Execution Unit)。1.BIU部件部件由段段寄存器寄存器、指令指针指令指针、地址加法器地址加法器、指令队列缓冲器指令队列缓冲器和控制电路控制电路等部分组成。(1)4个个16位段地址寄存器及一个位段地址寄存器及一个20位物位物理地址加法器理地址加法器8086CPU有20位位外部地址总
4、线,对应的存储器地址空间范围是1MB。CPU寻找某个地址单元时,需要给出该单元的20位地址位地址,该地址称为存储器的物理地址物理地址。由于CPU内部的所有寄存器,包括段寄存器,都是16位位的,用它们作地址寄存器时,只能直接寻址到64KB地址范围。故在8086CPU中采用了分段技术对存储空间进行管理。采用了分段技术对存储空间进行管理。CPUCPU将将lMBlMB的存储空间分成的存储空间分成若干若干个逻辑段,每个逻个逻辑段,每个逻辑段对应一片连续的存储空间,其长度任意,但辑段对应一片连续的存储空间,其长度任意,但最大不超过最大不超过64KB64KB。当要访问逻辑段内的某一单元时,只要给出当要访问逻
5、辑段内的某一单元时,只要给出逻辑逻辑段的起始地址段的起始地址以及该单元与起始地址之间的以及该单元与起始地址之间的距离距离(又称偏移量,或偏移地址,以字节数计量),(又称偏移量,或偏移地址,以字节数计量),即可即可确定确定其物理地址。其物理地址。.图2.2 逻辑段与段内寻址逻辑段可在整个逻辑段可在整个lMBlMB存储空间内存储空间内浮动浮动,即可重定位在不同,即可重定位在不同的位置,但逻辑段的起始地址必须能被的位置,但逻辑段的起始地址必须能被1616整除,即段起始整除,即段起始地址必须是地址必须是XXXX0HXXXX0H的形式。的形式。段起始地址的高段起始地址的高1616位称为位称为段基址段基址
6、,它在访问存储器,它在访问存储器之前之前被被置于某个段地址寄存器中。置于某个段地址寄存器中。CPUCPU访问存储器时,根据所执行的操作,选择某个访问存储器时,根据所执行的操作,选择某个段寄存段寄存器器,将其中的内容,将其中的内容左移左移4 4位位形成形成2020位地址的高位地址的高1616位(低位(低4 4位位自动添自动添0 0););然后通过然后通过2020位地址加法器再与位地址加法器再与1616位偏移量位偏移量相加相加,形成对应,形成对应的的物理地址物理地址,如图,如图2.32.3所示。所示。图2.3 8086物理地址的形成 段寄存器值 0 0 0 0 20位物理地址19 0 15 015
7、 0偏移地址加法器16 位 4位 按不同的用途,段地址寄存器可分为代码段寄存器按不同的用途,段地址寄存器可分为代码段寄存器CSCS、数据段寄存器、数据段寄存器DSDS、附加段寄存器、附加段寄存器ESES和堆栈段寄和堆栈段寄存器存器SSSS,它们分别用于存放当前,它们分别用于存放当前代码段代码段、数据段数据段、附加段附加段和和堆栈段堆栈段的段基址。的段基址。存储器采用存储器采用分段结构,方便分段结构,方便了了CPUCPU对存储器的访问。对存储器的访问。当所访问的存储器处于同一逻辑段时,可以不改变当所访问的存储器处于同一逻辑段时,可以不改变段寄存器的值,只需改变段内的段寄存器的值,只需改变段内的偏
8、移地址偏移地址,此即为,此即为段内寻址段内寻址。当需要改变段寄存器的值寻找新的地址时,称为当需要改变段寄存器的值寻找新的地址时,称为 段间寻址段间寻址 (2)16位指令指针IPIPIP用于存放下一条要从内存中用于存放下一条要从内存中取出来取出来的指令的的指令的有效地址有效地址EAEA(即偏移地址即偏移地址);在取出指令时通常进行在取出指令时通常进行IP+1IPIP+1IP的操作,但在执行转移指的操作,但在执行转移指令、调用指令时,装入令、调用指令时,装入IPIP中的是相应的中的是相应的转移目的地址转移目的地址。由段基址和偏移地址两部分构成了存储器的逻辑地址,如:由段基址和偏移地址两部分构成了存
9、储器的逻辑地址,如:取指令时取指令时CS:IP=3000:2000HCS:IP=3000:2000H,或,或CS:IP=3100:1000HCS:IP=3100:1000H等,等,这两个不同的逻辑地址对应的物理地址这两个不同的逻辑地址对应的物理地址都是都是32000H32000H。由此可见:由此可见:不同的逻辑地址可能对应同一个物理地址不同的逻辑地址可能对应同一个物理地址。用于按用于按先后次序存放先后次序存放待执行的指令,供待执行的指令,供EUEU按顺序取去按顺序取去执行执行。(4)总线控制逻辑 总线控制逻辑负责总线控制逻辑负责产生并发出总线控制信产生并发出总线控制信号号,实现对存储器和,实现
10、对存储器和I/OI/O端口的端口的读写操作。读写操作。(3)6字节的指令队列 2.执行部件EU EUEU的主要功能是的主要功能是执行指令执行指令,EUEU由以下几个部分组成:由以下几个部分组成:(1 1)算术逻辑单元)算术逻辑单元ALUALU ALU ALU用于完成用于完成1616位或位或8 8位的二进制数的位的二进制数的算术逻辑运算算术逻辑运算 (2 2)标志寄存器)标志寄存器FRFR FR FR用来反映最近一次用来反映最近一次运算结果的状态以及存放控制标志运算结果的状态以及存放控制标志 (3 3)通用寄存器组)通用寄存器组 包括包括4 4个数据寄存器个数据寄存器AXAX、BXBX、CXCX
11、、DXDX,4 4个专用寄存器个专用寄存器SPSP、BPBP、DIDI、SISI。(4 4)EUEU控制器控制器 从从BIUBIU中的指令队列获取指令,经过指令译码电路形成中的指令队列获取指令,经过指令译码电路形成各种各种定时控制信号定时控制信号,向各功能部件发送相应的控制命令,向各功能部件发送相应的控制命令,以以完成每条指令所规定的操作。完成每条指令所规定的操作。3.BIU和EU的协调动作 8086CPU中,中,BIU和和EU是是同时工作,不完全同步同时工作,不完全同步。BIU负责从内存中取出指令,送到指令队列供负责从内存中取出指令,送到指令队列供EU执行执行BIU必须保证指令队列必须保证指
12、令队列始终始终有指令可供执行,有指令可供执行,当指令队列有当指令队列有2个字节的空余时,个字节的空余时,BIU将将自动取指令自动取指令到到指令队列。指令队列。EU直接从指令队列中取指令执行,直接从指令队列中取指令执行,由于指令队列中至少有一个以上的指令字节,由于指令队列中至少有一个以上的指令字节,EU就可就可以以节省节省因取指令而访问内存的因取指令而访问内存的等待时间等待时间。8086与传统微处理器指令执行过程比较与传统微处理器指令执行过程比较取指3执行3取指4执行2取指2执行1取指1 传统微处理器的执行方式传传统统微微处处理理器器取取指指与与执执行行串串行行进进行行,CPU的工作效率低。的工
13、作效率低。取数据取指5取指4取指3取指2取指1BIU执行4执行3执行2执行1等待EU 8086的指令执行方式8086CPU取取指指与与执执行行并并行行进进行行,大大大大减减少少了了等等待待取取指指令令所所需需时时间间,提提高高了了CPU的的工作效率工作效率。2.1.2 2.1.2 8086CPU8086CPU的寄存器结构的寄存器结构 8086CPU 内部寄存器DLDHCLCHBLBHALAH通用寄存器AXBXCXDXSPBP SI DI数据寄存器CSDSSSESIPFLAG变址寄存器指针寄存器堆栈指针基数指针源变址目的变址指令指针状态标志代码段数据段堆栈段附加段段寄存器控制寄存器1.1.通用寄
14、存器组通用寄存器组(1 1)数据寄存器)数据寄存器数据寄存器包括数据寄存器包括AXAX、BXBX、CXCX、DXDX等等4 4个个1616位位寄存器,寄存器,主要用来保存算术、逻辑运算的操作数、中间结果或主要用来保存算术、逻辑运算的操作数、中间结果或地址。地址。也可以将每个寄存器高字节和低字节分开作为也可以将每个寄存器高字节和低字节分开作为两个独两个独立的立的8 8位位寄存器使用,寄存器使用,从而得到从而得到8 8个个8 8位位寄存器寄存器ALAL、BLBL、CLCL、DLDL、AHAH、BHBH、CHCH、DHDH等,可用于等,可用于8 8位数据的运算和处理位数据的运算和处理。(2)指针寄存
15、器 堆栈指针堆栈指针SPSP中存放的是中存放的是当前当前堆栈段中堆栈段中栈顶栈顶的的偏移地址;偏移地址;BPBP是访问堆栈时的是访问堆栈时的基址基址寄存器,存放的是寄存器,存放的是堆栈堆栈中某一存中某一存储单元的偏移地址;储单元的偏移地址;SISI和和DIDI是是变址变址寄存器,分别为访问寄存器,分别为访问数据段数据段提供操作数的提供操作数的偏移地址;偏移地址;在串操作指令中规定:在串操作指令中规定:SISI存放源操作数存放源操作数(即即源串源串)的偏移地址,故称之为的偏移地址,故称之为源源变址寄存器变址寄存器;DIDI存放目的操作数存放目的操作数(目的串目的串)的偏移地址,故称之为的偏移地址
16、,故称之为目的变址寄存器目的变址寄存器,二者不能混用。,二者不能混用。以上以上8个个16位通用寄存器都具有位通用寄存器都具有通用性通用性,但是为了但是为了缩短缩短指令代码的长度,某些通用寄存器又规定了指令代码的长度,某些通用寄存器又规定了专门的用途专门的用途。例如,在字符串处理指令中约定必须用例如,在字符串处理指令中约定必须用CX作为计数器存作为计数器存放串的长度。放串的长度。隐含寻址:隐含寻址:即在指令中使用了一些规定的通用寄存器,且即在指令中使用了一些规定的通用寄存器,且这些通用寄存器不直接在指令中这些通用寄存器不直接在指令中体现体现出来。出来。表表2.12.1列出了列出了8086CPU8
17、086CPU中各通用寄存器的中各通用寄存器的专门用途和隐含性质专门用途和隐含性质AXAL16位、8位的累加器累加器;在I/O指令中作数据寄存器数据寄存器;不能隐含乘法指令中存放被乘数被乘数和乘积乘积;除法指令中存放被除数被除数和商商隐含AH在LAHF指令中,用作目标目标寄存器隐含AL在XLAT指令中用作累加器累加器隐含BX在间接寻址中用作基址基址寄存器不能隐含在XLAT中用作基址基址寄存器隐含CX在串操作指令和LOOP指令中用作计数器计数器隐含CL在移位指令中用作移位计数器移位计数器不能隐含DX在字乘法除法指令中存放乘积高位乘积高位或被除数高位和余数被除数高位和余数隐含在间接寻址的I/O指令中
18、用作地址寄存器地址寄存器不能隐含SI在字符串操作指令中用作源地址源地址寄存器隐含在一般的间接寻址中作变址变址寄存器用不能隐含DI在字符串操作指令中用作目的地址目的地址寄存器隐含在一般的间接寻址中用作变址变址寄存器不能隐含BP在间接寻址中用作基址指针基址指针寄存器不能隐含SP在堆栈操作中用作堆栈指针堆栈指针寄存器隐含表表2.1 8086CPU中各通用寄存器的专门用途中各通用寄存器的专门用途四个段寄存器分别用于四个段寄存器分别用于CPUCPU在访问内存时作为在访问内存时作为段基址段基址,但某次访问时究竟是取哪一个段寄存器的内容,则要但某次访问时究竟是取哪一个段寄存器的内容,则要取决取决于于CPUC
19、PU当前执行当前执行什么操作什么操作:取指取指令,选取令,选取CSCS段寄存器(即访问代码段)段寄存器(即访问代码段)存取存取数据,选取数据,选取DSDS段寄存器(即访问数据段)段寄存器(即访问数据段)压栈压栈和和弹栈弹栈,选取,选取SSSS段寄存器(即访问堆栈段)段寄存器(即访问堆栈段)目的串目的串操作,选取操作,选取ESES段寄存器(即访问附加数据段)段寄存器(即访问附加数据段)2.段寄存器组上述各种操作的段寄存器上述各种操作的段寄存器选取规则选取规则称为称为基本段约定基本段约定,采用基本段约定的最大好处是,在指令中就不必给出采用基本段约定的最大好处是,在指令中就不必给出段寄存器名,可以段
20、寄存器名,可以缩短缩短指令代码的长度,指令代码的长度,简化简化指令的指令的书写形式。书写形式。80868086允许在某条指令中允许在某条指令中突破突破基本段约定,称为基本段约定,称为段超越段超越。80868086的基本段的基本段约定和允许约定和允许的段超越如表的段超越如表2.22.2所示所示。表2.2 8086的基本段约定和允许的段超越 CPUCPU执行的操作执行的操作基本段约定基本段约定允许修改的段允许修改的段偏移地址偏移地址取指令取指令CS不允许修改不允许修改IP压栈、弹栈压栈、弹栈SS不允许修改不允许修改SP源串源串DSCS、ES、SSSI目的串目的串ES不允许修改不允许修改DI通用数据
21、读写通用数据读写DSCS、ES、SS有效地址有效地址EABP作间址寄存器作间址寄存器SSCS、DS、ES有效地址有效地址EA3.控制寄存器控制寄存器(1)指令指针指令指针IP IP(Instruction Pointer)指指令令指指针针与与PC类类似似,但但有区别:有区别:a.PC是是指指向向下下一一条条即即将将要要执执行行的的指指令令,而而IP一一般般是指向下一次要取出的指令。是指向下一次要取出的指令。b.在在8086中中IP要要与与CS代代码码段段寄寄存存器器的的内内容容一一起起,才能得到指令的实际地址才能得到指令的实际地址。TFSFZFAFPFOFDFIFCF15 14 13 12 1
22、1 10 9 8 7 6 5 4 3 2 1 0 标志寄存器格式如下:a.6个状态标志位个状态标志位,即CF、PF、AF、ZF、SF、OF 进位标志进位标志CF(Carry Flag):(2)标志寄存器标志寄存器FR当结果的最高位(字节当结果的最高位(字节D7,字字D15)产生)产生进位进位(加法运算)或(加法运算)或借位借位(减法运算)时,(减法运算)时,CF=1;否则,否则,CF=0,移位和循环指令也移位和循环指令也影响影响CF。奇偶标志位奇偶标志位PF(Parity Flag):若结果中的低低8位位含有“1”的个数为偶数,则PF=1;否则,PF=0。辅助进位标志辅助进位标志AF(Auxi
23、tiary Carry Flag):在低半字节低半字节向高半字节有进位或借位时AF=1;否则,AF=0。零标志零标志ZF(Zero Flag):当运算结果为结果为0时ZF=1;否则,ZF=0。符号标志符号标志SF(Sign Flag):SF等于等于最高位最高位,对于带符号数,对于带符号数,SF=1运算结果为负运算结果为负,SF=0为正。为正。溢出标志溢出标志OF(Overflow Flag):带符号数运算结果超出其表达范围时:OF=1;否则,OF=0。(OFCsCS+1)例:F345H+3219H=255EH 6400H+7A3CH=DE3CHCF=1 PF=0 AF=0 ZF=0 SF=0
24、OF=0CF=0 PF=1 AF=0 ZF=0 SF=1 OF=1 b.3个控制标志位个控制标志位中断允许标志中断允许标志IF(Interrupt-enable Flag):IF=1,允许CPU响应外部的可屏蔽中断可屏蔽中断请求;IF=0则禁止响应。IF对外部非屏蔽中断非屏蔽中断及及内部中断内部中断不起作用。追踪标志追踪标志TF(Trace Flag):TF=1 处理器进入单步方式,以便调试程序调试程序,CPU 每执行一条指令自动产生自动产生一个内部中断以利 于检查指令的执行情况;TF=0 为连续工作方式。方向标志方向标志DF(Direction Flag):用在串操作指令串操作指令中:DF=
25、0时,变址指针(SI及DI)自动增量;DF=1时,则变址指针(SI及DI)自动减量。2.2 8086的的引脚信号及工作模式引脚信号及工作模式 最最小小模模式式:即即由由8086组组成成的的单单处处理理器器系系统统,所所有有的的总总线线控控制制信信号号由由8086直直接接产产生生,系系统统中中的的总总线线控控制逻辑电路被减到最少。制逻辑电路被减到最少。最最大大模模式式:即即由由8086组组成成的的中中等等规规模模或或者者大大型型的的系系统统。包包含含两两个个或或多多个个微微处处理理器器,8086为为主主处处理理器器,其它的为其它的为协处理器协处理器。8086808680868086的两种工作模式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 及其 应用
限制150内