第2章8086、8088微处理器的体系结构_第1页
第2章8086、8088微处理器的体系结构_第2页
第2章8086、8088微处理器的体系结构_第3页
第2章8086、8088微处理器的体系结构_第4页
第2章8086、8088微处理器的体系结构_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息工程学院信息工程学院图图2.1 8086/8088CPU内部结构示意图内部结构示意图从功能结构看,从功能结构看,8086/8088CPU分两部分:分两部分:负责指令的执行负责指令的执行:译码指令并利译码指令并利用内部寄存器和用内部寄存器和ALU来处理数据。来处理数据。 四个数据寄存器:四个数据寄存器:AX,BX,CX,DX 四个地址寄存器:四个地址寄存器:BP,SP,SI,DI 标志寄存器标志寄存器FR(PSW) 算术逻辑单元算术逻辑单元ALU 存放数据或地址存放数据或地址 存放不同寻址方式下的地址偏移量,也可作存放不同寻址方式下的地址偏移量,也可作16位位 通用寄存器通用寄存器 存放存放

2、ALU运算结果特征运算结果特征 内部控制逻辑电路(内部控制逻辑电路(EU) 从指令队列取指令、译码、产生控制信号从指令队列取指令、译码、产生控制信号 算术逻辑运算算术逻辑运算负责负责微处理器内部与外部(存储器和微处理器内部与外部(存储器和I/O接口)的信息传输:取指令、指接口)的信息传输:取指令、指令排队、传送数据(读令排队、传送数据(读/写操作数)、写操作数)、形成物理地址和总线控制形成物理地址和总线控制。 四个段寄存器:四个段寄存器:CS,DS,SS,ES 地址加法器地址加法器 指令队列指令队列 总线控制逻辑总线控制逻辑 存放段地址,与偏移地址配合,寻址存放段地址,与偏移地址配合,寻址1M

3、B空间空间 将将16位逻辑地址变换成位逻辑地址变换成20位物理地址位物理地址 预放指令代码:预放指令代码:6字节字节/8086;4字节字节/8088 发出总线控制信号,控制发出总线控制信号,控制CPU与外部数据的交换与外部数据的交换 指令指针寄存器指令指针寄存器IP 存放下一条要取出指令的地址存放下一条要取出指令的地址BIU 取指取指1 取指取指2 取指取指3 取指取指4 取数据取数据 取指取指5EU等待等待执行执行1执行执行2执行执行3执行执行4 指令队列缓冲器存放预取指令,使指令队列缓冲器存放预取指令,使CPU取指令取指令与执行指令能并行工作,即在一条指令的执行过程与执行指令能并行工作,即

4、在一条指令的执行过程中,可以取出下一条或多条指令,在指令队列中排中,可以取出下一条或多条指令,在指令队列中排队,减少微处理器的等待时间,提高运行效率。这队,减少微处理器的等待时间,提高运行效率。这种结构称为流水线结构。种结构称为流水线结构。图图2.2 BIU与与EU并行操作示意并行操作示意158 70AHBHCHDHALBLCLDLSPBPSIDIIPFRCSDSSSESAXBXCXDX代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器段寄存器段寄存器指令指针指令指针状态标志状态标志控制寄存器控制寄存器累加器累加器基数寄存器基数寄存器计数寄存器计数

5、寄存器数据寄存器数据寄存器堆栈指针堆栈指针基数指针基数指针源变址源变址目的变址目的变址数据寄存器数据寄存器地址寄存器地址寄存器通通用用寄寄存存器器 数据寄存器:数据寄存器:AX,BX,CX,DX。四个数据寄存器四个数据寄存器AX,BX,CX,DX可以作为可以作为16位位寄存器使用,寄存器使用,也可以分别作为也可以分别作为 两个两个8位寄存器使用。位寄存器使用。内部设置较多通用数据寄存器的好处:内部设置较多通用数据寄存器的好处: 提高数据的处理速度;提高数据的处理速度; 减小指令存放的内存空间。减小指令存放的内存空间。BHAHCHDHALBLCLDLAXBXCXDX 隐含用途:隐含用途:AX 累

6、加器;累加器; BX 基址基址/变址;变址; CX 计数器;计数器;DX 字乘字乘/除和除和 I/O的间址。的间址。 地址寄存器:地址寄存器:BP,SP,SI,DI。 BP、SP、SI 和和DI 专门用于存放特定段的偏移地址,专门用于存放特定段的偏移地址,除此以外,还可作为通用数据寄存器用。除此以外,还可作为通用数据寄存器用。 SP 堆栈指针寄存器:栈顶地址。堆栈指针寄存器:栈顶地址。 BP 基数指针寄存器:间接寻址中的基址,也可用作堆栈的基数指针寄存器:间接寻址中的基址,也可用作堆栈的一个附加指针,访问堆栈中任意单元的数据。一个附加指针,访问堆栈中任意单元的数据。 SI 源变址寄存器源变址寄

7、存器 :间接寻址:间接寻址/变址;串操作中源地址。变址;串操作中源地址。 DI 目的变址寄存器:间接寻址目的变址寄存器:间接寻址/变址;串操作中目的地址。变址;串操作中目的地址。 标志寄存器标志寄存器FR(PSW)FR共有共有16位,其中位,其中7位未用,各位的定义如下:位未用,各位的定义如下:15014 13 12 11 10 987654321DF IF TF SF ZFAFPFCFOF两类标志两类标志状态标志:状态标志:CF/PF/AF/ZF/SF/OF控制标志:控制标志:DF/IF/TF状态标志反映状态标志反映EU执行算术执行算术/逻辑运算后结果的状态;逻辑运算后结果的状态;控制标志控

8、制控制标志控制CPU操作。操作。存放下一条要取出的指令的偏移地址。存放下一条要取出的指令的偏移地址。 16位位指令指针寄存器指令指针寄存器IP 中断或调用子程序时,中断或调用子程序时,IP内容(断点地址)内容(断点地址) 自动入栈保护;返回时,断点地址弹出到自动入栈保护;返回时,断点地址弹出到IP, 继续主程序运行。继续主程序运行。 跳转指令时,新的跳转目标地址送入跳转指令时,新的跳转目标地址送入IP,原,原 指令队列内容作废。指令队列内容作废。 CS:代码段寄存器代码段寄存器 DS:数据段寄存器数据段寄存器SS :堆栈段寄存器堆栈段寄存器 ES:附加段寄存器附加段寄存器 8086最大寻址空间

9、达最大寻址空间达1MB(20位地址)位地址) 8086内部寄存器均为内部寄存器均为16位,位,16位地址只可寻址位地址只可寻址64KB 8086采用分段技术解决采用分段技术解决16位地址寄存器寻址位地址寄存器寻址1MB存储存储 空间的问题:空间的问题: 一个逻辑地址由两部分组成:段地址、段内偏移量一个逻辑地址由两部分组成:段地址、段内偏移量 段地址存放在段寄存器中段地址存放在段寄存器中 实际地址(实际地址(20位物理地址)位物理地址)= 段地址段地址16 + 偏移量偏移量1200 H (CS) 2450H ( IP)+14450H20位物理地址位物理地址 = 段地址段地址(CS)16 + 偏移

10、量偏移量(IP)根据不同的应用环境,根据不同的应用环境,8086可以工作在两种模式:可以工作在两种模式:系统中只有系统中只有8086一个微处理器,所有的总线控制信一个微处理器,所有的总线控制信号均由号均由8086产生,系统的总线控制信号被减至最少。产生,系统的总线控制信号被减至最少。系统中除系统中除8086作为主微处理器以外,还有其它的微处作为主微处理器以外,还有其它的微处理器协助工作:理器协助工作:数值运算的协处理器数值运算的协处理器8087,输入,输入/输输出出 (I/O) 协处理器协处理器8089。最大模式用于中规模或大型的最大模式用于中规模或大型的8086系统中。系统中。8086工作在

11、何种模式,完全由硬件决定:工作在何种模式,完全由硬件决定:MN / MX。图图2.4 8086最小模式系统典型配置最小模式系统典型配置图图2.5 8086最大模式系统最大模式系统典型配置典型配置图图2.6 总线控制器总线控制器8288与与8086的连接的连接图图2.7 多处理器系统多处理器系统 地址地址/数据总线数据总线 地址地址/状态总线状态总线 控制总线控制总线 电源电源/地线地线 其它控制线其它控制线五类引脚线五类引脚线图图2.5 8086引引脚脚图图2.6 8088引脚引脚分时复用:在一个总线周期的第一个时钟周期,分时复用:在一个总线周期的第一个时钟周期,AD15 AD0 传送地址信号

12、,在其它的时钟周期,传送地址信号,在其它的时钟周期,作数据总线使用。作数据总线使用。地地 址址锁存器锁存器STBABDBAD15 AD0ALE在一个总线周期的在一个总线周期的T1,输出地址信号的最高输出地址信号的最高4位位A19 A16,在其他的时钟周期,输出状态信号,在其他的时钟周期,输出状态信号S6 S3。同样,这同样,这4个引脚信号也要用外电路将地址信号锁存。个引脚信号也要用外电路将地址信号锁存。 S4、S3 的组合指出当前使用的段码寄存器情况的组合指出当前使用的段码寄存器情况1S4S3意义意义100当前正在使用当前正在使用ES附加段附加段01当前正在使用当前正在使用SS堆栈段堆栈段10

13、当前正在使用当前正在使用CS或者未使用任何寄存器或者未使用任何寄存器当前正在使用当前正在使用DS数据段数据段 S6为低,表示为低,表示8086当前与总线相连当前与总线相连 S5 IF系统处于系统处于DMA,CPU让出总线,让出总线, A19 / S6 A16 / S3进入浮空状态。进入浮空状态。(3)控制总线)控制总线 BHE/S7 高高8位数据总线允许位数据总线允许/ 状态线状态线(输出输出/三态三态)在其他的总线周期,为在其他的总线周期,为S7状态信号,状态信号,8086 中中 S7未作定义。未作定义。 CLK系统时钟输入信号系统时钟输入信号最大时钟频率为最大时钟频率为8MHZ,占空比占空

14、比1/3。在总线周期的在总线周期的T1,为为BHE信号,表示高信号,表示高8位数据线位数据线D15 D8 上的数据有效。上的数据有效。 BHEA0数据传送格式数据传送格式00110101同时传送高、低字节同时传送高、低字节 (AD0 AD15)奇数地址的高位字节奇数地址的高位字节 (AD8 AD15)偶数地址的低位字节偶数地址的低位字节 (AD0 AD7)无效无效BHE 和和 A0 结合控制结合控制CPU与存储器之间数据传送的格式与存储器之间数据传送的格式(因为存储器是按字节组织的)。(因为存储器是按字节组织的)。 MN / MX 最大最大/最小模式控制信号最小模式控制信号 RD 读信号读信号

15、(输出输出/三态,低电平有效三态,低电平有效)RD = 0,读存储器或,读存储器或I/O,DMA时浮空。时浮空。 INTR可屏蔽的中断请求信号可屏蔽的中断请求信号(输入输入/高电平有效高电平有效)外设向外设向CPU提出的中断请求信号,若提出的中断请求信号,若FR中中IF=1,CPU在当前指令后即响应。在当前指令后即响应。不受不受FR中中IF的影响,的影响,CPU在当前指令后响应。在当前指令后响应。 NMI非屏蔽中断请求信号非屏蔽中断请求信号(输入输入/上升沿上升沿 有效有效) READY 准备就绪信号准备就绪信号(输入,高电平有效输入,高电平有效)CPU访问存储器或外设时,访问存储器或外设时,

16、READY有效,表示存有效,表示存储器或外设已准备好传送数据。储器或外设已准备好传送数据。 TEST 测试信号测试信号 (输入,低电平有效输入,低电平有效)WAIT指令指令 TEST 有效?有效?执行后续指令执行后续指令YesNo与等待指令与等待指令WAIT配合使用。配合使用。 4T复位重新启动后,第一条指令地址复位重新启动后,第一条指令地址FFFF0H。 RESET系统复位信号系统复位信号(输入,高电平有效输入,高电平有效)RESET使使CPU复位结束现行操作,复位结束现行操作,初始化内部寄存器。复位信号必初始化内部寄存器。复位信号必须保持须保持4个时钟周期高电平。个时钟周期高电平。CPU中

17、的部分中的部分内容内容标志位标志位清除清除指令指针指令指针(IP)0000HCS寄存器寄存器FFFFHDS寄存器寄存器0000HSS寄存器寄存器0000HES寄存器寄存器0000H指令队列指令队列空空(4)电源和地线)电源和地线VCC电源电源(5V10%) GND地线地线(两条两条) M/IO 存储器存储器/输入输出控制信号输入输出控制信号(输出输出/三态三态)RD与与M/IO组合对应的操作组合对应的操作M/IORD操作操作1000读存储器读存储器读读I/O端口端口(5)其它控制总线)其它控制总线24 31#引脚信号的定义依引脚信号的定义依8086的工作模式而的工作模式而定,以下是在最小模式配

18、置时这些引脚的定义。定,以下是在最小模式配置时这些引脚的定义。 WR 写信号写信号(输出输出/三态,低电平有效三态,低电平有效)WR与与M/IO组合对应的操作组合对应的操作M/IOWR操作操作1000写存储器写存储器写写I/O端口端口 INTA中断响应信号中断响应信号(输出输出/三态,低电平有效三态,低电平有效)CPU响应响应INTR后,用后,用INTA读取外设提供的中断读取外设提供的中断类型号,以取得中断服务程序的入口地址。类型号,以取得中断服务程序的入口地址。在每一总线周期的在每一总线周期的T1状态,状态,ALE都输出都输出有效电平,表示有效电平,表示当前地址当前地址/数据复用总线上输出的

19、是地址信息,供地址数据复用总线上输出的是地址信息,供地址锁存器对地址进行锁存锁存器对地址进行锁存。 ALE地址锁存允许信号地址锁存允许信号(输出输出/三态,高电平有效三态,高电平有效) DEN 数据允许信号数据允许信号(输出输出/三态,低电平有效三态,低电平有效)控制控制CPU外接的数据收发器。外接的数据收发器。DT/R = 1, 即即T = 1,A B (CPU 内存或外设内存或外设)DT/R = 0, 即即T = 0,B A (内存或外设内存或外设 CPU) 8286 2AOETAD0 AD15D0 D15DENDT/RB控制数据总线驱动器的数据传送方向。控制数据总线驱动器的数据传送方向。

20、DMA方式下,方式下,DT/R 浮空浮空 HOLD总线保持请求信号总线保持请求信号(输入,高电平有效输入,高电平有效) HLDA总线保持响应信号总线保持响应信号(输出,高电平有效输出,高电平有效)系统中其它总线主设备(如系统中其它总线主设备(如DMA)通过该总线向)通过该总线向CPU申请对总线的控制权。申请对总线的控制权。CPU响应响应HOLD 信号,让出总线控制权。信号,让出总线控制权。CPU为完成预定功能的操作是在时钟节拍的同为完成预定功能的操作是在时钟节拍的同步下,按时序一步一步执行的,这就构成了步下,按时序一步一步执行的,这就构成了CPU的操作时序。的操作时序。了解了解CPU的操作时序

21、,是设计微机系统的重要的操作时序,是设计微机系统的重要基础,也有助于进一步了解系统总线的功能。基础,也有助于进一步了解系统总线的功能。 系统的复位和启动系统的复位和启动 总线读总线读/写操作写操作 中断操作中断操作 总线保持或总线请求总线保持或总线请求/允许允许/释放操作释放操作 暂停操作暂停操作图图2.7 8086复位操作时序复位操作时序7 T复位操作CPU开始执行程序CPU经总线接口部件经总线接口部件BIU,读,读/写存储器或访问写存储器或访问I/O接口,称为总线操作;执行一次总线操作所花的时接口,称为总线操作;执行一次总线操作所花的时间,称为一个总线周期。间,称为一个总线周期。图图2.3

22、 典型的典型的BIU总线周期波形图总线周期波形图 最小模式下的总线读操作最小模式下的总线读操作 最小模式下的总线写操作最小模式下的总线写操作 最大模式下的总线读操作最大模式下的总线读操作 最大模式下的总线写操作最大模式下的总线写操作图图2.9 最小模式下总线写操作时序最小模式下总线写操作时序图图2.10 最大模式下总线读操作时序最大模式下总线读操作时序图图2.11 最大模式下总线写操作时序最大模式下总线写操作时序当当CPU执行一条暂停命令执行一条暂停命令HLT时,就停止一切操时,就停止一切操作,进入暂停状态。暂停状态一直保持到发生中作,进入暂停状态。暂停状态一直保持到发生中断或对系统进行复位为

23、止。在暂停状态下,断或对系统进行复位为止。在暂停状态下,CPU可接收可接收HOLD线上(最小模式)或线上(最小模式)或RQ/GT线上线上(最大模式)的保持请求。当保持请求消失后,(最大模式)的保持请求。当保持请求消失后,CPU仍回到暂停状态。仍回到暂停状态。图图2.12 中断响应周期时序中断响应周期时序图图2.13 最小模式下总线保持请求最小模式下总线保持请求/保持响应时序保持响应时序图图2.14 最大模式下总线请求最大模式下总线请求/允许允许/释放时序释放时序8086/8088CPU由由20条地址线,存储器地址条地址线,存储器地址的编址范围:的编址范围:00000H FFFFFH(1MB)(

24、2)存储器结构)存储器结构8086系统将系统将1MB存储空间分成两个存储空间分成两个512KB存储体存储体(库),一个只包含(库),一个只包含偶数地址偶数地址,与数据总线,与数据总线D7 D0相连,所以又称相连,所以又称低位库低位库;另一个只包含;另一个只包含奇数地址奇数地址,与数据总线与数据总线D15 D8相连,所以又称相连,所以又称高位库高位库。地址。地址A0和控制线和控制线BHE用于库选择,其余用于库选择,其余19位地址码位地址码(A19 A1)用于访问任何一个库()用于访问任何一个库(219 = 512K)。)。图图2.7 存储体地址存储体地址 空间分配空间分配图图2.8 存储体与总线

25、的连接存储体与总线的连接(3)对存储器中数据的操作)对存储器中数据的操作 字节数据按序存放字节数据按序存放 字数据:高位字节放高地址字数据:高位字节放高地址 低位字节放低地址低位字节放低地址规则字:字数据的低位字规则字:字数据的低位字 节从偶地址开始节从偶地址开始非规则字:字数据的低位非规则字:字数据的低位 字节从奇地址字节从奇地址 开始开始图图2.9 CPU往存储器写一个字或一个字节过程示意图往存储器写一个字或一个字节过程示意图 对规则字的存取可在一个总线周期内完成,对规则字的存取可在一个总线周期内完成, 对非规则字的存取则需两个总线周期才能对非规则字的存取则需两个总线周期才能 完成。完成。

26、 8088因外部数据总线为因外部数据总线为8位,其位,其1MB存储空存储空 间不分高低位库。每个总线周期均只能完间不分高低位库。每个总线周期均只能完 成一个字节的存取操作。成一个字节的存取操作。(4)存储器分段)存储器分段 1MB存储空间分成存储空间分成 若干个逻辑段,每若干个逻辑段,每 一段一段 64K(216)。 逻辑段逻辑段1 64KB逻辑段逻辑段2 64KB逻辑段逻辑段3 64KB逻辑段逻辑段4, 5 64KB00000逻辑段逻辑段1起点起点逻辑段逻辑段2起点起点逻辑段逻辑段3起点起点逻辑段逻辑段4, 5起点起点FFFFF 每个每个段的起始地址段的起始地址 称为段基址称为段基址(首址首

27、址), 由软件设定。由软件设定。 段与段之间可以连段与段之间可以连 续排列,部分重叠,续排列,部分重叠, 断续排列。断续排列。图图2.10 存储器段结构存储器段结构 64KB 64KB 64KB 64KB堆栈段堆栈段0000010550250A08FFB0EFF00FFFFF代码段代码段数据段数据段附加段附加段EFF08FFB250A1055CSDSESSS 可以有多个堆栈同时存在,由各自的段名可以有多个堆栈同时存在,由各自的段名 区分,但只有一个堆栈段为当前堆栈段。区分,但只有一个堆栈段为当前堆栈段。 堆栈深度最大堆栈深度最大64KB。 堆栈操作均为字操作,堆栈操作均为字操作,SP始终指向实栈顶。始终指向实栈顶。 操作数地址:操作数地址:DS(ES) 16+偏移地址偏移地址 (其中的偏移地址取决于指令的寻址方式)(其中的偏移地址取决于指令的寻址方式) 堆栈操作地址:堆栈操作地址:SS 16+SP(6)存储器(内存)地址的一般情况)存储器(内存)地址的一般情况 指令地址:指令地址:CS 16+IP I/O端口地址端口地址 两种两种I/O端口编址方式端口编址方式 8086采用独立编址方式采用独立编址方式 专用的输入专用的输入/输出指令:输出指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论