《法学洪8086CPU结构课件》由会员分享,可在线阅读,更多相关《法学洪8086CPU结构课件(56页珍藏版)》请在金锄头文库上搜索。
1、第第2章章 微处理器微处理器2.1 8086微处理器的结构微处理器的结构2.2 8086系统组成和总线时序系统组成和总线时序2.3 高档微处理器高档微处理器法学洪 8086CPU结构2.1 8086微处理器的结构微处理器的结构n8086/8088 8086/8088 是是IntelIntel公司的第三代微处理器,其中:公司的第三代微处理器,其中:q80868086为为1616位机,主频位机,主频5MHz5MHz;内部数据总线和外部;内部数据总线和外部数据总线都是数据总线都是1616位;地址总线为位;地址总线为2020位,可最大寻位,可最大寻址址1MB1MB。q80888088为准为准1616位
2、机,时钟频率为位机,时钟频率为4.77MHz 4.77MHz ;内部数;内部数据总线据总线1616位,外部数据总线是位,外部数据总线是8 8位;地址总线为位;地址总线为2020位,可最大寻址位,可最大寻址1MB1MB。与。与8028680286统称为统称为1616位计算位计算机系列机系列法学洪 8086CPU结构 1. 执行部件执行部件 EU负责执行指令。对指令译码、负责执行指令。对指令译码、 分析并发出控制命令,执行算术和逻辑运算。包含:分析并发出控制命令,执行算术和逻辑运算。包含: 算术逻辑运算单元算术逻辑运算单元 ALU 运算器,用于运算器,用于8位、位、16位二进制算术和逻辑运算,计算
3、位二进制算术和逻辑运算,计算寻址存储器所需的寻址存储器所需的16位偏移量。位偏移量。 通用寄存器组通用寄存器组 AX、BX、CX、DX、SP、BP、SI、DI。 标志寄存器标志寄存器 16位的寄存器,反映运算结果的状态特征和控制标志。位的寄存器,反映运算结果的状态特征和控制标志。 控制电路控制电路 负责从负责从BIU的指令队列缓冲器中取指令,并对指令译码,的指令队列缓冲器中取指令,并对指令译码,并向并向EU内部各部件发出控制命令内部各部件发出控制命令。法学洪 8086CPU结构2. 总线接口部件总线接口部件BIU 负责负责CPU对存储器和外设进对存储器和外设进行的信息交换,提供总线地址,将数据
4、和指令存放行的信息交换,提供总线地址,将数据和指令存放到目的单元。包含:到目的单元。包含: 地址加法器和段寄存器地址加法器和段寄存器 1个个20位地址加法器、用于形成位地址加法器、用于形成20位的物理地址。位的物理地址。 16位指令指针位指令指针IP 指令指针指令指针IP用来存放下一条要执行指令的偏移地址。用来存放下一条要执行指令的偏移地址。 指令队列缓冲器指令队列缓冲器 当当EU正在执行指令中,且不需占用总线时,正在执行指令中,且不需占用总线时,BIU会自会自动地进行预取指令操作,将所取得的指令按先后次序存动地进行预取指令操作,将所取得的指令按先后次序存入入1个个6字节的指令队列寄存器字节的
5、指令队列寄存器,该队列寄存器按,该队列寄存器按“先进先进先出先出”的方式工作,并按顺序取到的方式工作,并按顺序取到EU中执行。中执行。 总线控制逻辑电路总线控制逻辑电路法学洪 8086CPU结构2.1.2 8086的寄存器结构的寄存器结构 8086的寄存器都为的寄存器都为16位,分为:位,分为:通用数据寄存器通用数据寄存器:AX、BX、CX、DX 地址地址指针和变址寄存器指针和变址寄存器: BP、SP 、 DI、SI段寄存器段寄存器: CS、SS、DS、ES 指令指针和指令指针和标志寄存器标志寄存器IP 、PSW 掌握通用寄存器的作用掌握通用寄存器的作用,熟悉熟悉PSW中各个标志的含义,中各个
6、标志的含义,才能正确地使用微机解决实际问题。才能正确地使用微机解决实际问题。法学洪 8086CPU结构通用数据寄存器通用数据寄存器8086的的16位通用寄存器是:位通用寄存器是:AXBXCXDX4个个16位位数据寄存器数据寄存器都可以分成高都可以分成高8位和低位和低8位两位两个独立的寄存器,它们是:个独立的寄存器,它们是: AH BH CH DH AL BL CL DL对其中某个对其中某个8位寄存器的操作,并不影响它所对应位寄存器的操作,并不影响它所对应的另外一个的另外一个8位寄存器。各寄存器的用法是:位寄存器。各寄存器的用法是:法学洪 8086CPU结构n数据寄存器用来存放参加运算和运算结果
7、的操作数据寄存器用来存放参加运算和运算结果的操作数的,数的,每个寄存器又有它们各自的专用目的:每个寄存器又有它们各自的专用目的:qAX16位累加器,位累加器,使用频度最高,用于算术、逻使用频度最高,用于算术、逻辑运算以及与外设传送信息等;辑运算以及与外设传送信息等;AL为为8位累加器位累加器。qBX基址寄存器,基址寄存器,常用来做基址指针,指向一批常用来做基址指针,指向一批连续存放操作数的基地址。连续存放操作数的基地址。qCX计数器,计数器,作为循环和串操作等指令中的隐含作为循环和串操作等指令中的隐含计数器。计数器。qDX数据寄存器,数据寄存器,用来存放外设端口的用来存放外设端口的16位地址,
8、位地址,或双字长数据的高或双字长数据的高16位。位。法学洪 8086CPU结构变址寄存器变址寄存器n变址寄存器常用于存储器寻址时提供地址变址寄存器常用于存储器寻址时提供地址nSI是源变址寄存器是源变址寄存器nDI是目的变址寄存器是目的变址寄存器n在串操作类指令中,在串操作类指令中,SI和和DI具有具有特别的功能特别的功能指针寄存器指针寄存器指针寄存器指针寄存器用于寻址内存用于寻址内存堆栈堆栈内的数据内的数据SP为堆栈指针寄存器,指示栈顶的偏移地址。为堆栈指针寄存器,指示栈顶的偏移地址。BP为基址指针寄存器,表示数据在堆栈段中的基地址为基址指针寄存器,表示数据在堆栈段中的基地址指令指针寄存器指令
9、指针寄存器 IP IP指令指针寄存器指令指针寄存器IP,指示代码段指令的偏移地址,指示代码段指令的偏移地址IP寄存器是一个专用寄存器,用户不能直接访问。寄存器是一个专用寄存器,用户不能直接访问。法学洪 8086CPU结构段寄存器段寄存器CS 代码段寄存器代码段寄存器 计算机通过计算机通过CS : IP寄存器寄存器联合使用联合使用来读取程序存来读取程序存储器的指令代码,从而控制指令序列的执行流程。储器的指令代码,从而控制指令序列的执行流程。 DS 数据数据段寄存器段寄存器 计算机通过计算机通过DS : BX/SI/DI寄存器联合使用来存取寄存器联合使用来存取数据区(数据区(RAM)的临时数据。)
10、的临时数据。SS 堆栈段寄存器堆栈段寄存器计算机通过计算机通过SS:SP/BP寄存器联合使用以确定堆栈段中寄存器联合使用以确定堆栈段中的存储单元地址。的存储单元地址。ES 附加段寄存器附加段寄存器计算机通过计算机通过ES : DI寄存器联合使用来存取附加段的数据。寄存器联合使用来存取附加段的数据。法学洪 8086CPU结构标志寄存器标志寄存器标志标志(FLAGSFLAGS)是用于存放)是用于存放ALUALU执行完算术和逻辑运执行完算术和逻辑运算后的状态标志和控制标志的寄存器。反映指令执行算后的状态标志和控制标志的寄存器。反映指令执行结果或控制指令执行形式。结果或控制指令执行形式。8086808
11、6处理器中各种常用的标志形成了一个处理器中各种常用的标志形成了一个1616位的标位的标志寄存器志寄存器FLAGSFLAGS(也称程序状态字(也称程序状态字PSWPSW寄存器寄存器)。)。OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0控制标志控制标志反映结果状态反映结果状态反应运算过程反应运算过程法学洪 8086CPU结构标志的作用标志的作用标志分成两类:标志分成两类:n状态标志状态标志用来记录程序运行结果的状态用来记录程序运行结果的状态信息,许多指令的执行都将自动地改变它信息,许多指令的执行都将自动地改变它。CF OF AF SF ZF PF控制标志控制标志可由用户
12、根据需要用指令进行设可由用户根据需要用指令进行设置,用于控制处理器的具体工作方式置,用于控制处理器的具体工作方式。DF IF TF法学洪 8086CPU结构进位标志进位标志CFn当运算结果的最高有效位有进位(加法)或借位当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置(减法)时,进位标志置1,即,即CF = 1;否则;否则 CF=0。例如(以例如(以8位运算为例):位运算为例):3AH + 7CHB6H 没有进位:没有进位:CF=0AAH + 7CH (1) 26H有进位:有进位:CF=1符号标志符号标志SF运算结果最高位为运算结果最高位为1,则,则SF=1;否则;否则SF=0
13、。3AH + 7CHB6H最高位最高位D71:SF=186H + 7CH 00H 最高位最高位D70:SF=0法学洪 8086CPU结构奇偶标志奇偶标志PFn当运算结果最低字节中当运算结果最低字节中“1”的个数为零或偶数的个数为零或偶数时,时,PF=1;否则;否则PF=0。q3AH + 7CHB6H10110110B,q结果中有结果中有5个个1,是奇数,则,是奇数,则 PF=0注意:注意:PF标志仅反映最低标志仅反映最低8位中位中“1”的个数是偶的个数是偶或奇,即使是进行或奇,即使是进行16位字操作。位字操作。辅助进位标志辅助进位标志AF运算时运算时D3位(低半字节)有进位或借位时,位(低半字
14、节)有进位或借位时,AF=1;否则;否则AF=0。例如:。例如:3AH + 7CHB6H D3向前有进位:向前有进位:AF=1法学洪 8086CPU结构溢出标志溢出标志OF若算术运算的结果有溢出,则若算术运算的结果有溢出,则OF=1;否则;否则 OF0。例。例:q3AH + 7CHB6H产生溢出:产生溢出:OF=1 AAH + 7CH (1) 26H 没有溢出:没有溢出:OF=0 什么是溢出?什么是溢出?q溢出和进位有什么区别?溢出和进位有什么区别?q处理器怎么处理,程序员如何运用?处理器怎么处理,程序员如何运用?q如何判断是否溢出?如何判断是否溢出?零标志零标志ZF若算术运算的结果为若算术运
15、算的结果为0,则,则ZF=1;否则;否则 ZF0法学洪 8086CPU结构举例如:举例如:(AX)=734AH (BX)=5289H求(求(AX)+(BX)?)? 0111 0011 0100 1010+ 0101 0010 1000 1001- 1011 0101 1101 0011 ZF=0 PF=0(低(低8位)位) SF=1 CF=0 OF=1 AF=1(低(低4位)位)法学洪 8086CPU结构方向标志方向标志DFn用于串操作指令中,控制地址的变化方向:用于串操作指令中,控制地址的变化方向:q设置设置DF0,串操作后存储器地址自动增量,串操作后存储器地址自动增量 ;q设置设置DF1,
16、串操作后存储器地址自动减量,串操作后存储器地址自动减量 。中断允许标志中断允许标志IF用于控制外部可屏蔽中断是否可以被处理器响应:用于控制外部可屏蔽中断是否可以被处理器响应: 设置设置IF1,则允许中断;,则允许中断; 设置设置IF0,则禁止中断,则禁止中断陷阱标志陷阱标志TF用于控制处理器是否进入用于控制处理器是否进入单步执行单步执行方式:方式:设置设置TF0,处理器正常工作;,处理器正常工作;设置设置TF1,处理器每执行一条指令就中断一次,处理器每执行一条指令就中断一次法学洪 8086CPU结构2.1.3 8086的工作模式和引脚特性的工作模式和引脚特性n8086CPU可工作在两种不同的模
17、式可工作在两种不同的模式n最小模式最小模式q单处理器模式,只有单处理器模式,只有1个主控制器构成小规模的应用个主控制器构成小规模的应用系统系统q8088CPU本身提供所有的系统总线信号本身提供所有的系统总线信号n最大模式最大模式q多处理器模式,多处理器模式,8086为主处理器,可以接入数值协为主处理器,可以接入数值协处理器处理器8087和输入输出协处理器和输入输出协处理器8089构成大规模的构成大规模的应用系统应用系统q8086和总线控制器和总线控制器8288共同形成系统总线信号共同形成系统总线信号2. 8086的工作模式的工作模式法学洪 8086CPU结构3. 8086的引脚特性的引脚特性1
18、2345678910111213141516171819204039383736353433323130292827262524232221 GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCCAD15AD16 / S3AD17 / S4AD18 / S5AD19 / S6BHE/S7 MN / MX*RD*HOLD (RQ)*/ GT0*)HLDA (RQ1* /GT1*)WR* (LOCK*)M / IO* (QS2 )DT / R* (QS1)DEN (QS0 )ALEINTAT
19、EST*READYRESET80868086CPU为双列直为双列直插插40引脚引脚的芯片的芯片法学洪 8086CPU结构n两种模式利用两种模式利用MN/MX*引脚区别引脚区别qMN/MX*接高电平为最小模式接高电平为最小模式qMN/MX*接低电平为最大模式接低电平为最大模式n两种组态下的内部操作并没有区别两种组态下的内部操作并没有区别IBM PC/XT采用最大最小两种模式的信号分为:采用最大最小两种模式的信号分为:除除读写控制引脚读写控制引脚和和总线请求和响应引脚总线请求和响应引脚不同不同而数据和地址引脚相同、中断请求和响应引脚相同而数据和地址引脚相同、中断请求和响应引脚相同其它引脚也相同其它
20、引脚也相同法学洪 8086CPU结构Vccn电源输入,向电源输入,向CPU提供提供5V电源电源GNDn接地,向接地,向CPU提供参考地电平提供参考地电平MN/MX*n组态选择组态选择,输入,输入n接高电平时,接高电平时,8086引脚工作在最小组态;反引脚工作在最小组态;反之,之,8086工作在最大组态工作在最大组态 1、 最小模式下的引脚信号最小模式下的引脚信号法学洪 8086CPU结构数据和地址引脚数据和地址引脚AD15AD0:地址地址/数据数据分时复用引脚,双向分时复用引脚,双向A19/S6A16/S3:地址地址/状态状态分时复用,输出、三态分时复用,输出、三态ALE 地址锁存允许地址锁存
21、允许,输出、三态、高电平有效,输出、三态、高电平有效ALE引脚高有效时,表示复用引脚:引脚高有效时,表示复用引脚:AD7AD0和和A19/S6A16/S3正在传送地址信息正在传送地址信息由于地址信息在这些复用引脚上出现的时间很短由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以暂,所以系统可以利用利用ALE引脚将地址锁存起来引脚将地址锁存起来法学洪 8086CPU结构RESET 复位信号复位信号,输入、高电平有效输入、高电平有效n该信号有效,将使该信号有效,将使CPU回到其初始状态;当他回到其初始状态;当他再度返回无效时,再度返回无效时,CPU将重新开始工作将重新开始工作n8086复位
22、后复位后CSFFFFH、IP0000H,所以程,所以程序入口在物理地址序入口在物理地址FFFF0HCLK 时钟输入,时钟输入,系统通过该引脚给系统通过该引脚给CPU提供内部定时信号提供内部定时信号。8086的标准工作时钟为的标准工作时钟为5MHzIBM PC/XT机的机的8088采用了采用了4.77MHz的时钟,的时钟,其周期约为其周期约为210ns 法学洪 8086CPU结构M/IO* I/O/存储器访问选择,输出、三态存储器访问选择,输出、三态n该引脚输出低电平时,表示该引脚输出低电平时,表示CPU将访问将访问I/O端口,这时地址总线端口,这时地址总线A15A0提供提供16位位I/O口口地
23、址地址n该引脚输出高电平时,表示该引脚输出高电平时,表示CPU将访问存储将访问存储器,这时地址总线器,这时地址总线A19A0提供提供20位存储器位存储器地址地址 WR* 写控制写控制,输出、三态、低电平有效输出、三态、低电平有效表示表示CPU正在写出数据给存储器或正在写出数据给存储器或I/O端口端口法学洪 8086CPU结构nM/IO*、WR*和和RD*是最基本的控制信号是最基本的控制信号n组合后,控制组合后,控制4种基本的总线周期种基本的总线周期总线周期总线周期M/IO*WR*RD*存储器读存储器读低低高高低低存储器写存储器写低低低低高高I/O读读高高高高低低I/O写写高高低低高高RD* 读
24、控制,输出、三态、低电平有效读控制,输出、三态、低电平有效表示表示CPU正在从存储器或正在从存储器或I/O端口读入数据端口读入数据 法学洪 8086CPU结构DEN* 数据允许,输出、三态、低电平有效数据允许,输出、三态、低电平有效n表示当前数据总线上正在传送数据,可利用表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动他来控制对数据总线的驱动 DT/R* 数据发送数据发送/接收,输出、三态接收,输出、三态n该信号表明当前总线上数据的流向该信号表明当前总线上数据的流向n高电平时数据自高电平时数据自CPU输出(发送)输出(发送)n低电平时数据输入低电平时数据输入CPU(接收)(接收)
25、BHE * /S7 高高8位数据总线允许位数据总线允许/状态状态 复用引复用引脚(参看表脚(参看表2-3)法学洪 8086CPU结构READY 存储器或存储器或I/O口准备就绪信号口准备就绪信号输入、高电平有效输入、高电平有效n在总线操作周期中,在总线操作周期中,8088 CPU会在第会在第3个时钟周期的个时钟周期的前沿测试该引脚:如果测到高有效,前沿测试该引脚:如果测到高有效,CPU直接进入第直接进入第4个时钟周期,否则将插入等待周期个时钟周期,否则将插入等待周期TwnCPU在等待周期中仍然要监测在等待周期中仍然要监测READY信号,有效则信号,有效则进入第进入第4个时钟周期,否则继续插入等
26、待周期个时钟周期,否则继续插入等待周期Tw。 TEST* 测试,输入、低电平有效测试,输入、低电平有效当当CPU执行执行WAIT指令时,他将在每个时钟周期对该指令时,他将在每个时钟周期对该引脚进行测试:如果无效继续测试;如果有效,则程引脚进行测试:如果无效继续测试;如果有效,则程序恢复运行序恢复运行在使用协处理器在使用协处理器8087时,通过该引脚和时,通过该引脚和WAIT指令,指令,可使可使8088与与8087的操作保持同步的操作保持同步 法学洪 8086CPU结构INTR 可屏蔽可屏蔽中断请求和响应引脚中断请求和响应引脚) n可屏蔽中断请求,输入、高电平有效可屏蔽中断请求,输入、高电平有效
27、n有效时,表示请求设备向有效时,表示请求设备向CPU申请可屏蔽中断申请可屏蔽中断n并可通过关中断指令并可通过关中断指令CLI清除标志寄存器中的清除标志寄存器中的IF标志、从而对中断请求进行屏蔽标志、从而对中断请求进行屏蔽INTA* 可屏蔽中断响应,输出、低电平有效可屏蔽中断响应,输出、低电平有效表示来自表示来自INTR引脚的中断请求已被引脚的中断请求已被CPU响应,响应,CPU进入中断响应周期进入中断响应周期NMI 非屏蔽中断请求,输入、上升沿有效非屏蔽中断请求,输入、上升沿有效该请求的优先级别高于该请求的优先级别高于INTR,并且不能在,并且不能在CPU内被屏蔽,当系统发生紧急情况时,可内被
28、屏蔽,当系统发生紧急情况时,可通过他向通过他向CPU申请不可屏蔽中断申请不可屏蔽中断服务服务 法学洪 8086CPU结构HOLD 总线请求,输入、高电平有效总线请求,输入、高电平有效n表示总线请求设备向表示总线请求设备向CPU申请占有总线申请占有总线HLDA 总线响应,输出、高电平有效总线响应,输出、高电平有效表示表示CPU已响应总线请求并已将总线释放已响应总线请求并已将总线释放此时此时CPU的地址总线、数据总线及具有三态输的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线求设备可以顺利接管总线待到总线请求信号
29、待到总线请求信号HOLD有效,总线响应信号有效,总线响应信号HLDA也转为无效,也转为无效,CPU重新获得总线控制权重新获得总线控制权 法学洪 8086CPU结构“引脚引脚”小结小结CPU引脚是系统总线的基本信号引脚是系统总线的基本信号可以分成三类信号:可以分成三类信号:n16位数据线:位数据线:D0D15n20位地址线:位地址线:A0A19n控制线:控制线:qALE、IO/M*、WR*、DT/R* 、DEN、RD*、READYqINTR、INTA*、NMI,HOLD、HLDAqRESET、CLK、Vcc、MN/MX、GNDq为兰色信号线在最大模式下有不同的定为兰色信号线在最大模式下有不同的定
30、义义法学洪 8086CPU结构2、 最大模式下的引脚信号最大模式下的引脚信号nS2、S1、S0:总线周期状态信号,总线周期状态信号,为最大模为最大模式下连接式下连接8288总线控制器的信号线,在执总线控制器的信号线,在执行不同指令的总线周期有行不同指令的总线周期有6种不同的控制信种不同的控制信号输出。见表号输出。见表2-4 P27nQS1、 QS0指令队列状态信号指令队列状态信号,表,表2.5 p47nRQ/GT0、RQ/GT1总线请求总线请求/总线允许总线允许nLOCK 总线封锁信号总线封锁信号法学洪 8086CPU结构2、最小组式的系统组成(、最小组式的系统组成(P27)1、 8086的系
31、统组成的系统组成(1)20位地址总线位地址总线采用采用3片片8282锁存器提供锁存器提供(2)16位数据总线位数据总线采用采用2片片8286数据收发器进行驱动数据收发器进行驱动(3)系统控制信号)系统控制信号由引脚直接或由由引脚直接或由8288总线控制器总线控制器提供(最大模式)提供(最大模式)(4)时钟、复位、准备好信号)时钟、复位、准备好信号-由时钟发生器由时钟发生器 8284提供提供2 .2 8086的系统组成和总线时序的系统组成和总线时序法学洪 8086CPU结构3、最大组式的系统组成、最大组式的系统组成 系统地址总线系统地址总线q采用三态锁存器采用三态锁存器74LS373 系统数据总
32、线系统数据总线q通过三态双向缓冲器通过三态双向缓冲器74LS245形成和驱动形成和驱动 系统控制总线系统控制总线q主要由总线控制器主要由总线控制器8288形成形成qMEMR*、MEMW*、IOR*、IOW*、INTA*(4)中断控制器)中断控制器8259形成中断响应控制线形成中断响应控制线法学洪 8086CPU结构系统总线信号系统总线信号MEMR*MEMW*IOR*IOW*INTA*DMA控制器控制器AENBRDAEN*AEN*CENA19A12A11A8A7A0D16D0AD7AD0A11A8A19/S6A16/S3A15A1274LS24574LS37374LS373GGG*DIR74LS
33、3738086OE*8288DT/R*DENALES2*S0*S2*S0*MN/MX*OE*E*MRDC*AMTW*IORC*AIOWC*INTA*法学洪 8086CPU结构74LS373同同8282具有三态输出的具有三态输出的TTL电平锁存器电平锁存器LE 电平锁存引脚电平锁存引脚OE* 输出允许引脚输出允许引脚D QC QSR上升沿锁存:上升沿锁存:用负脉冲触发锁存用负脉冲触发锁存法学洪 8086CPU结构74LS245同同82868位双向缓冲器,控制端连位双向缓冲器,控制端连接在一起,低电平有效可接在一起,低电平有效可双向导通,输出与输入同相双向导通,输出与输入同相E*0,导通,导通 D
34、IR1 AB DIR0 ABE*1,不导通,不导通ABTOE*法学洪 8086CPU结构n物理存储器是指实际的存储器芯片物理存储器是指实际的存储器芯片n存储器内每存储器内每1 1个存储单元存放个存储单元存放8 8位位2 2进制树进制树n8086CPU8086CPU有有2020条地址线条地址线q最大可寻址空间为最大可寻址空间为2 220201MB1MBq物理地址范围从物理地址范围从00000H00000HFFFFFHFFFFFH为地址空间为地址空间q一个存储单元除具有一个唯一的一个存储单元除具有一个唯一的物理地址编号物理地址编号n1MB1MB的内存分为偶地址和奇地址两个区域。的内存分为偶地址和奇
35、地址两个区域。4. 8086 的存储器组织与分段的存储器组织与分段1) 物理存储器和地址空间物理存储器和地址空间法学洪 8086CPU结构8086系统的存储体结构系统的存储体结构 通常将通常将8086CPU的的地址线、数据地址线、数据线、读写线与线、读写线与内存条小板上内存条小板上对应存储器芯对应存储器芯片引脚对应相片引脚对应相连接,设计出连接,设计出具含有偶地址具含有偶地址区和奇地址区区和奇地址区的存储体结构。的存储体结构。512KB 需要需要19根根地址线地址线法学洪 8086CPU结构8086CPU有有16位数据线位数据线,每次与内存,每次与内存传送的数据为传送的数据为16位(位(1个字
36、)或个字)或8位(位(1个字节个字节)。)。字长是字长是1616位,位,数据以字节数据以字节为单位按地址存放,一个字存入存储器为单位按地址存放,一个字存入存储器占有相继的二个单元:占有相继的二个单元: 若低位字节存若低位字节存入低地址,高位字节存入高地址则为规入低地址,高位字节存入高地址则为规则字,相反为非规则字。则字,相反为非规则字。字单元的地址采用它的低地址来表示。字单元的地址采用它的低地址来表示。例:例: 字单元字单元 : :(0004H0004H)=1234H, =1234H, 字节单元字节单元 : :(0004H0004H)=34H=34H规则字的存取操作可以在规则字的存取操作可以在
37、1个总线周期内完成个总线周期内完成非规则字的存取操作需要非规则字的存取操作需要2个总线周期才能完成个总线周期才能完成法学洪 8086CPU结构存储器的分段结构和物理地址的形成存储器的分段结构和物理地址的形成n8088有有20条地址总线,直接寻址能力为条地址总线,直接寻址能力为220=1M字字节。用节。用16进制数表示进制数表示1M字节的地址范围应为字节的地址范围应为00000HFFFFFH。称为物理地址称为物理地址n1、存储器的分段结构存储器的分段结构 程序员在编制程序时把存储器划分成逻辑段。程序员在编制程序时把存储器划分成逻辑段。n段内地址段内地址16位位,每个段的大小最大可达每个段的大小最
38、大可达64KB;n当然可以根据需要来确定段大小,可以是当然可以根据需要来确定段大小,可以是1,100,1000等在等在64K范围内的任意字节数。范围内的任意字节数。nIBM PC机对段的起始地址有限制,机对段的起始地址有限制,n段必须从任一小段的首地址开始。段必须从任一小段的首地址开始。n从从0地址开始每地址开始每16字节为一小段字节为一小段法学洪 8086CPU结构物理地址是对应每个物理存储单元都有一个唯一物理地址是对应每个物理存储单元都有一个唯一的的20位编号,从位编号,从00000HFFFFFH。逻辑地址是程。逻辑地址是程序中出现的序中出现的16位位段基地址和段内偏移地址。是段基地址和段
39、内偏移地址。是CPUCPU中的中的2020位地址加法器将段寄存器和通用寄存器中的位地址加法器将段寄存器和通用寄存器中的1616位地址码计算后由位地址码计算后由2020位地址线上送出的。位地址线上送出的。2. 8086内部内部20位物理地址形成位物理地址形成逻辑地址逻辑地址段地址:偏移地址段地址:偏移地址物理地址的形成物理地址的形成:物理地址物理地址=段基地址段基地址*16(左移(左移4位)位) + 偏移地址偏移地址 =(CS,DS,SS,ES)*10H + (IP,BX,SI,DI,BP,SP,)法学洪 8086CPU结构逻辑段逻辑段段基址段基址偏移地址偏移地址物理地址计算物理地址计算可替换段
40、可替换段代码段代码段CSIP(CS) 16d+(IP)无无堆栈段堆栈段SSSP, BP(SS) 16d+(SP、BP)无无数据段数据段DSBX、SI、DI、有效、有效地址地址EA(DS ) 16d+(BX、SI)(DS ) 16d+EACS,ES,SS附加段附加段ESDI(ES) 16d+(DI)无无编程各逻辑段的物理地址获得的方法如下:编程各逻辑段的物理地址获得的方法如下:每个存储单元都有一个唯一每个存储单元都有一个唯一20位位物理地址物理地址,但可有多个逻辑,但可有多个逻辑段地址和偏移地址在指令执行时由地址加法器形成。段地址和偏移地址在指令执行时由地址加法器形成。例如:物理地址:例如:物理
41、地址: 00200H逻辑地址:逻辑地址: 0000H : 0200H逻辑地址:逻辑地址: 0020H : 0000H法学洪 8086CPU结构2.2.2 8086的总线时序的总线时序n时序是指信号高低电平(有效或无效)变化及时序是指信号高低电平(有效或无效)变化及相互间的时间顺序关系。相互间的时间顺序关系。n总线时序描述总线时序描述CPU引脚如何实现引脚如何实现总线操作总线操作nCPU时序决定系统各部件间的同步和定时时序决定系统各部件间的同步和定时n总线操作总线操作是指是指CPU通过总线对外的各种操作通过总线对外的各种操作n8086的总线操作主要有:的总线操作主要有:q存储器读、存储器读、I/
42、O读操作读操作q存储器写、存储器写、I/O写操作写操作q中断响应操作中断响应操作q总线请求及响应操作总线请求及响应操作法学洪 8086CPU结构n时钟周期时钟周期:一个时钟脉冲时间称为一个时钟周期。一个时钟脉冲时间称为一个时钟周期。时钟周期由计算机的主频决定,是时钟周期由计算机的主频决定,是CPU的定时基准,的定时基准,例如,例如,8086的主频为的主频为5MHz则则1个时钟为个时钟为200ns。n总线周期:总线周期:8086CPU通过总线与存储器或外设交换通过总线与存储器或外设交换信息,存取一个字节(字)基本操作所需的时间。信息,存取一个字节(字)基本操作所需的时间。即一个总线周期完成一个基
43、本的操作,由四个时钟即一个总线周期完成一个基本的操作,由四个时钟周期组成,分别称为周期组成,分别称为T1、T2、T3和和T4状态。状态。当需当需要延长总线周期时需要插入等待状态要延长总线周期时需要插入等待状态Twn指令周期指令周期:一条指令从开始取指令到最后执行完毕一条指令从开始取指令到最后执行完毕所需的时间称为一个指令周期所需的时间称为一个指令周期 。1个指令周期由若个指令周期由若干个总线周期组成。干个总线周期组成。法学洪 8086CPU结构(1)最小组态的总线读操作)最小组态的总线读操作T4T3T2T1ALECLKA19/S6A16/S3A15A8AD7AD0A15A8A7A0输入数据输入
44、数据A19A16S6S3READY(高电平)(高电平)IO/M*RD*T1状态状态输出输出20位存储器地址位存储器地址A19A0IO/M*输出低电平,表示存储器操作;输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址输出正脉冲,表示复用总线输出地址T2状态状态输出控制信号输出控制信号RD*T3和和Tw状态状态检测数据传送是否能够完成检测数据传送是否能够完成T4状态状态前沿读取数据,完成数据传送前沿读取数据,完成数据传送法学洪 8086CPU结构存储器写总线周期存储器写总线周期T4T3T2T1ALECLKA19/S6A16/S3A15A8AD7AD0A15A8A7A0输出数据输出
45、数据A19A16S6S3READY(高电平)(高电平)IO/M*WR*T1状态状态输出输出20位存储器地址位存储器地址A19A0IO/M*输出低电平,表示存储器操作;输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址输出正脉冲,表示复用总线输出地址T2状态状态输出控制信号输出控制信号WR*和数据和数据D7D0T3和和Tw状态状态检测数据传送是否能够完成检测数据传送是否能够完成T4状态状态完成数据传送完成数据传送法学洪 8086CPU结构I/O读总线周期读总线周期T4T3T2T1ALECLKA19/S6A16/S3A15A8AD7AD0A15A8A7A0输入数据输入数据S6S3R
46、EADY(高电平)(高电平)IO/M*RD*0000T1状态状态输出输出16位位I/O地址地址A15A0IO/M*输出高电平,表示输出高电平,表示I/O操作;操作;ALE输出正脉冲,表示复用总线输出地址输出正脉冲,表示复用总线输出地址T2状态状态输出控制信号输出控制信号RD*T3和和Tw状态状态检测数据传送是否能够完成检测数据传送是否能够完成T4状态状态前沿读取数据,完成数据传送前沿读取数据,完成数据传送法学洪 8086CPU结构I/O写总线周期写总线周期T4T3T2T1ALECLKA19/S6A16/S3A15A8AD7AD0A15A8A7A0输出数据输出数据0000S6S3READY(高电
47、平)(高电平)IO/M*WR*T1状态状态输出输出16位位I/O地址地址A15A0IO/M*输出高电平,表示输出高电平,表示I/O操作;操作;ALE输出正脉冲,表示复用总线输出地址输出正脉冲,表示复用总线输出地址T2状态状态输出控制信号输出控制信号WR*和数据和数据D7D0T3和和Tw状态状态检测数据传送是否能够完成检测数据传送是否能够完成T4状态状态完成数据传送完成数据传送法学洪 8086CPU结构插入等待状态插入等待状态Twn同步时序通过插入等待状态,来使速度同步时序通过插入等待状态,来使速度差别较大的两部分保持同步差别较大的两部分保持同步n在在读写总线周期中,判断是否插入读写总线周期中,
48、判断是否插入Twq1. 1. 在在T3T3的前沿检测的前沿检测READYREADY引脚是否有引脚是否有效效q2. 2. 如果如果READYREADY无效,在无效,在T3T3和和T4T4之间插之间插入一个等效于入一个等效于T3T3的的Tw Tw ,转,转1 1q3. 3. 如果如果READYREADY有效,执行完该有效,执行完该T T状态,状态,进入进入T4T4状态状态法学洪 8086CPU结构2.5.3最大组态的读总线时序最大组态的读总线时序 111101A15A8A19A16S6S3ALES2*S0*CLKA19/S6A16/S3A15A8DEN由由8288产生产生输入数据输入数据A7A0A
49、D7AD0T4T3T2T1DT/R*MRDC*法学洪 8086CPU结构最大组态的写总线时序最大组态的写总线时序111110T4T3T2T1A15A8A19A16S6S3由由8288产生产生ALES2*S0*CLKA19/S6A16/S3A15A8DEN写命令写命令AD7AD0A7A0输出数据输出数据DT/R*AMWTC*MWTC*法学洪 8086CPU结构各状态下的操作各状态下的操作 nT1状态:传送地址信息状态:传送地址信息q从地址从地址/数据复用线数据复用线AD15AD0和地址和地址/状状态复用线态复用线A19/S6A16/S3发存储器单元地发存储器单元地址址(20位位)或发或发I/O端
50、口地址端口地址(16位位)。 q锁存地址信号锁存地址信号ALE输出一个正脉冲作输出一个正脉冲作8282地地址锁存器的地址锁存信号。址锁存器的地址锁存信号。T2状态状态:地址信息传送完毕为传送数据作准备地址信息传送完毕为传送数据作准备n1)地址信号消失,此时)地址信号消失,此时AD15AD0进入高阻进入高阻缓冲期,以便为读入数据作准备。缓冲期,以便为读入数据作准备。n2)A19/S6A16/S3及及 7线开始输出状态线开始输出状态信息信息法学洪 8086CPU结构T3状态:传送数据到数据线状态:传送数据到数据线q把数据送上数据总线把数据送上数据总线AD15AD0,MEMW,MEWR IOR、IO
51、W 有效。有效。n当系统中的存储器或外设的工作速度较慢,将通过当系统中的存储器或外设的工作速度较慢,将通过8284A时钟产生器给时钟产生器给CPU送一个送一个READY信号。信号。 CPU当采到的当采到的READY=0时(表示时(表示“末就绪末就绪”),),就会在就会在T3和和T4之间插入之间插入1个或多个等待状态个或多个等待状态TW。T4状态:总线结束周期状态:总线结束周期,表明表明CPU(或外设)已(或外设)已从数据线上取走稳定出现在数据线上的数据,各控从数据线上取走稳定出现在数据线上的数据,各控制和状态信号失效,从而撤销数据信息制和状态信号失效,从而撤销数据信息法学洪 8086CPU结构
52、80868086到到8038680386的改进的改进:16位寄存器发展为位寄存器发展为32位寄存器;位寄存器;增加了保护方式;增加了保护方式;引入了多任务、任务切换的概念;引入了多任务、任务切换的概念;引入了四级特权机制,程序能在不同特权间切换;引入了四级特权机制,程序能在不同特权间切换;引入了存储器管理单元引入了存储器管理单元MMU;增加了新指令。增加了新指令。由由1MB4GB 5MHZ33MHZ由并行工作方式由并行工作方式-1条流水线工作方式条流水线工作方式2.6 Intel 8086系列微处理器简介法学洪 8086CPU结构8038680386的主要特性的主要特性n灵活的灵活的3232位
53、微处理器,提供位微处理器,提供3232位的指令。位的指令。n提供提供3232位外部总线接口,最大数据传输速率位外部总线接口,最大数据传输速率为为32Mbps32Mbps。n具有片内集成的存储器管理部件具有片内集成的存储器管理部件MMUMMU,可支,可支持虚拟存储和特权保护持虚拟存储和特权保护 。n具有实地址方式、保护方式和虚拟具有实地址方式、保护方式和虚拟80868086方式。方式。n具有极大的寻址空间。具有极大的寻址空间。 n通过配用数值协处理器可支持高速数值处理。通过配用数值协处理器可支持高速数值处理。n在目标码一级与在目标码一级与80868086、8028680286芯片完全兼容。芯片完全兼容。 法学洪 8086CPU结构