微机原理与接口技术第二章 8086系统结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

国脉信息学院微机原理及接口技术第二章8086系统结构第二章8086系统结构工艺集成度数据处理位数据线地址线寻址空间Intel8086HMOS片内含29000晶体管16内16201MB外16Intel8088HMOS16内16201MB外8Intel8088:准16位微处理器。IBMPC/XT的CPU。第二章8086系统结构2.18086CPU结构2.28088/8086的引脚及功能2.38086存储器的组织2.48086的系统配置2.58086CPU时序2.18086CPU结构一、8086CPU的内部结构二、8088/8086的寄存器结构标志寄存器ALUDIDHSPSIBPDLALAHBLBHCLCHESSSDSCS内部暂存器输入/输出控制电路1432EU控制系统20位16位8086总线指令队列总线接口单元执行单元6516位一、8086CPU的内部结构属第三代微处理器运算能力:数据总线:DB-16bit(8086)/8bit(8088)地址总线:AB-20bit内存寻址能力220=1MBESSSDSCS内部寄存器输入/输出控制电路143220位16位8086总线指令队列总线接口单元6516位IP组成:16位段寄存器,指令指针,20位地址加法器,总线控制逻辑,6字节指令队列。*当指令队列有2个或2个以上的字节空余时,BIU自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU重新取新地址中的指令代码,送入指令队列。*指令指针IP由BIU自动修改,IP总是指向下一条将要执行指令的地址。一、8086CPU的内部结构(续)1.总线接口部件BIU工作过程:CS×16+IP20位物理地址送往地址总线控制逻辑发送读有效信号取指令送指令队列2.指令执行部件EU(ExectionUnit)组成:通用寄存器,标志寄存器,ALU,EU控制系统等。标志寄存器ALUDIDHSPSIBPDLALAHBLBHCLCHEU控制系统作用:负责指令的执行,完成指令的操作。工作过程:从队列中取得指令,进行译码,根据指令要求向EU内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O端口,则EU将操作数的偏移地址送给BIU,由BIU取得操作数送给EU。一、8086CPU的内部结构(续)3.8086CPU结构的特点:减少了CPU为取指令而等待的时间,提高了CPU的运行速度。取指1执行1取指1取指4取指3取指2忙执行3执行4执行2忙忙忙执行1执行2执行3执行4取指2取指3取指4取指6取指5执行6执行5忙忙忙忙忙忙CPUBUSEUBIUBUStt一、8086CPU的内部结构(续)SP(堆栈指针)BP(基数指针)DI(目的变址)SI(源变址)F(状态标志)IP(指令指针)DS(数据段)?CS(码段)ES(附加段)SS(堆栈段)?二、8088/8086的寄存器结构1.通用寄存器组3.2个控制寄存器4.4个段寄存器8088/8086有14个16位寄存器2.指针/变址寄存器AHDHCLCHBLBHALDLAXBXCXDX*4个16位的数据寄存器(AX,BX,CX,DX)寄存器既可存放数据,也可存放地址。1.通用寄存器组寄存器操作AX字乘/除指令中作为累加器,字I/O指令中作为数据寄存器AL字节乘/除指令,字节I/O,转移,十进制运算AH字节乘/除指令(高八位/余数),XLAT指令中作为目的寄存器BX作为地址/基址寄存器CX串操作时,循环计数器CL变量位移或循环操作时用作计数器DX字乘/除指令(高十六位/余数),I/O间接寻址*既可作为16位寄存器也可作为8位寄存器。(例:AH,AL)8bit寄存器只能存放数据。*各寄存器隐含用法*通用性强,对任何指令都具有相同的功能二、8088/8086的寄存器结构(续)2.指针及变址寄存器(SP,BP,SI,DI)SP堆栈指针BP在间址寻址中作基址指针SI地址和变址寄存器,串操作时的源变址寄存器(隐含)DI地址和变址寄存器,串操作时的目的变址寄存器(隐含)*BP,SP寄存器称为指针寄存器,与SS联用。*DI,SI寄存器称为变址寄存器,与DS联用,在串指令中,SI,DI均为隐含寻址,此时,SI与DS联用,DI与ES联用。二、8088/8086的寄存器结构(续)3.指令指针和状态寄存器(1)指令指针IP是一个16位的专用寄存器。当BIU从内存中取出一条指令,自动修改IP,始终指向下一条将要执行的指令在现行代码段中的偏移量。8086/8088中的某些指令执行后会改变IP的内容,但用户不能编写指令直接改变IP的内容。*IP是指令地址在代码段内的偏移量(又称偏移地址),IP要与CS配合构成共同物理地址。(2)状态(标志)寄存器PSWPSW是一个16位的专用寄存器(6位状态位,3位控制位)存放运算结果的特征。二、8088/8086的寄存器结构(续)CF(进位标志):当运算结果的最高位(D7/D15)出现进位(借位)时,CF=1;PF(奇偶校验标志):当运算结果中“1”的个数为偶数时,PF=1;AF(辅助进位标志):当结果的D3向D4(低位字节)出现进位(借位)时,AF=1;ZF(零标志):当运算结果为零时,ZF=1;SF(符号标志):当运算结果的最高位D7/D15为1时,SF=1;OF(溢出标志):当运算结果超过机器所能表示的范围时,OF=1;OFDFIFTFSFZFAFPFCFD0D2D4D6D15D11D8(2)状态(标志)寄存器PSW二、8088/8086的寄存器结构(续)DF(方向标志):在字符串操作时,决定操作数地址调整的方向,DF=1,为递减;IF(中断允许标志):IF=1,允许CPU响应外部的可屏蔽中断;TF(陷阱标志):当TF=1,CPU每执行一条指令便自动产生一个内部中断,在中断服务程序中可检查指令执行情况。OFDFIFTFSFZFAFPFCFD0D2D4D6D15D11D8(2)状态(标志)寄存器PSW(续)二、8088/8086的寄存器结构(续)4.段寄存器*CS(代码段寄存器)指向当前的代码段,指令由此段取出;*SS(堆栈段寄存器)指向当前的堆栈段,栈操作的对象是该段存储单元的内容;8086/8088按信息存储的不同性质分为四类,分别由四个段寄存器存放该段的首地址,或称为段地址。二、8088/8086的寄存器结构(续)*DS(数据段寄存器)指向当前的数据段,该段中存放程序的操作数;*ES(附加段寄存器)指向当前的附加段,主要用于字符串数据的存放,也可以用于一般数据的存放。4.段寄存器二、8088/8086的寄存器结构(续)第二章8086系统结构2.18086CPU结构2.28088/8086的引脚及功能2.38086存储器的组织2.48086的系统配置2.58086CPU时序2.28088/8086的引脚及功能8086最小模式下的引脚定义8086最大模式下的引脚定义一、8086最小模式下的引脚定义8086/8088微处理器:40条引线双列直插(DIP)封装。8086/8088微处理器引线是对外前端总线及专用信号引线。8086/8088微处理器引线,在逻辑上可分为3类:地址总线信号、数据总线信号、控制总线信号。还有一些专用信号:电源、地、时钟。8086/8088采用引线分时复用技术,一条引线不同时间代表不同信号,解决引线不够问题。一、8086最小模式下的引脚定义(续)1.基本(共用)引脚信号AD7~AD0(I/O,三态):地址/数据分时复用引脚。A8~A15(O,三态):地址引脚。A19/S6~A16/S3(O,三态):地址/状态分时复用引脚。BHE#/S7(O,三态):高字节允许/状态复用引脚NMI(In):非屏蔽中断请求线,上升边触发。INTR(In):可屏蔽中断请求线,高电平有效RD#(O,三态):读选通信号,低电平有效CLK(In):时钟信号,处理器基本定时脉冲.RESET(In):复位信号,高电平有效。READY(In):准备好信号,高电平有效。处理器与存储器及I/O接口速度同步的控制信号WR#(O,三态):写选通信号,低电平有效一、8086最小模式下的引脚定义(续)TEST#(In):测试信号,低电平有效。处理器执行WAIT指令的控制信号。MN/MX#(In):最大/最小工作模式选择信号。硬件设计者用来决定8086工作模式,MN/MX#=18086为最小模式,MN/MX#=08086为最大模式。VccGND(In):处理器的电源引脚一、8086最小模式下的引脚定义(续)2最小模式下的有关控制信号INTA#(O):最小模式下的中断响应信号。ALE(O):地址锁存允许信号DEN#(O,三态):数据总线缓冲器允许信号DT/R#(O,三态):数据总线缓冲器方向控制信号。M/IO#(O,三态):存储器或I/O接口选择信号WR#(O,三态):写命令信号HOLD(In):总线请求信号HLDA(O):总线请求响应信号SS0#:状态输出线总线状态一、8086最小模式下的引脚定义(续)最大模式下的有关控制信号QS1、QS0(O):指令队列状态信号。表明8086当前指令队列的状态。S2#,S1#,S0#(O,三态):最大模式总线周期状态信号。作为总线控制器8288的输入信号,8288输出各种控制信号。LOCK#(O,三态):总线封锁信号。信号有效时不允许其他主控部件占用总线RQ#/GT#0,RQ#/GT#1(I/O):最大模式总线请求/总线响应信号,每条引线作为输入时是总线请求RQ信号,每条引线作为输出时是总线请求响应GT信号。二、8086最大模式下的引脚定义二、8086最大模式下的引脚定义(续)最大/最小工作模式区别最小NM/MX#=1单处理器直接形成CB最大NM/MX#=0多处理器由8288形成CB三、8088/8086的区别8088为准16位机S4、S3的组合所代表的正在使用的寄存器S4S3当前正在使用的寄存器00ES01SS10CS或未使用任何段寄存器11DSS5:=1,CPU可响应可屏蔽中断请求;=0,CPU禁止一切可屏蔽中断请求。S6:恒等于零。S3-S48088总线操作IO/MDT/RSS0操作100发中断响应信号101读I/O端口110写I/O端口111暂停000取指令001读内存010写内存011无操作S2#,S1#,S0#QS1QS0性能00无操作01第一字节码10队列空11非第一字节码QS1、QS0第二章8086系统结构2.18086CPU结构2.28088/8086的引脚及功能2.38086存储器的组织2.48086的系统配置2.58086CPU时序2.38086存储器组织一、存储器地址的分段二、8086存储器的分体结构一、存储器地址的分段(续)矛盾:存储器地址空间1MB,20bit地址线;内部各寄存器和数据总线均为16bit。段1段2段16段300000H0FFFFH10000H1FFFFH20000H2FFFFHF0000HFFFFFH1.存储器地址的分段解决方法:将整个存储器分为若干个逻辑段,每段内地址16bit,即最多地址空间64KB。允许各逻辑段在整个存储空间浮动。00000H逻辑段2=64KB逻辑段1起点逻辑段2起点逻辑段3起点逻辑段4起点FFFFFH逻辑段1=64KB逻辑段4=64KB逻辑段3=64KB每个段的首地址称为“段基值”,“段基值”必须能被16整除(XXXX0H)。程序执行前,分别对相应的段寄存器CS,DS,SS,ES置“段基值”,若程序长度大于64KB,则可通过对CS送新的“段基值”将程序转移到新段中。1.存储器地址的分段一、存储器地址的分段(续)逻辑地址:允许在程序中编排的地址;2.20位物理地址的形成物理地址:信息在存储器中实际存放的地址;对给定的任一存储单元,有两部分逻辑地址:段基址(段地址)——由CS,DS,SS,ES决定段内偏移量(段内有效地址)——(该单元相对于段基址的距离)段地址0000段内有效地址+0000物理地址(20bit)16bit16bit20bit

1 / 68
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功