版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 8086微处理器与汇编语言微处理器与汇编语言8086系统结构系统结构学习目标学习目标n了解了解8086微处理器的基本结构及工作原理。微处理器的基本结构及工作原理。n理解通用寄存器、段寄存器、标志和指针寄理解通用寄存器、段寄存器、标志和指针寄存器、基址和变址寄存器的功能和作用。存器、基址和变址寄存器的功能和作用。n理解理解8086存储器的地址分段和结构、数据和存储器的地址分段和结构、数据和程序地址的计算方法。程序地址的计算方法。教学内容教学内容n8086内部结构内部结构n寄存器组寄存器组n引脚及其功能引脚及其功能n存储器组织存储器组织计划学时:计划学时:48086内部结构内部结构80
2、86微处理器的主要特点:微处理器的主要特点:n 8086是单片集成电路,内部由执行单元是单片集成电路,内部由执行单元EU和总线接口单和总线接口单元元BIU组成组成n 数据总线数据总线(D0D15)和内部结构都是和内部结构都是16位位的的n 能处理能处理16位位数据,也能处理数据,也能处理8位位数据数据n 地址总线地址总线(A0A19)是是20位的,直接寻址能力达位的,直接寻址能力达1M字节字节n 系统时钟为系统时钟为5MHzn HMOS工艺,工艺,40引脚,引脚,+5V供电供电n 有有4组组寄存器寄存器负责从存储器或外部设备中负责从存储器或外部设备中读取操作码和操作数,并将读取操作码和操作数,
3、并将结果写入指令指出的地址结果写入指令指出的地址CPU执行部件执行部件EU(Executive Uint)总线接口部件总线接口部件BIU(Bus Interface Uint)负责执负责执行指令行指令EU和和BIU之间是并行工作的!之间是并行工作的!目的:目的:提高系统工作效率提高系统工作效率ALU暂暂 存存 器器8位队位队列总线列总线总总线线控控制制逻逻辑辑内部总线16位地址加法器地址加法器20位地位地址总线址总线16位位数数据据总总线线总总线线接接口口部部件件BIU1 2 3 4 5 6指令队列指令队列通用寄存器通用寄存器AX AH ALBX BH BLCX CH CLDX DH DL S
4、P BP DI SI标志寄存器标志寄存器CSDSSSESIP暂存器暂存器执行部件EU8086CPU的结构框图的结构框图EU控控制制器器( (1 1) ) 执行部件执行部件EU执行单元执行单元EU算术算术/逻辑单元(逻辑单元(ALU)运算寄存器(暂存器)运算寄存器(暂存器)标志寄存器(标志寄存器(PSW)通用寄存器(通用寄存器(8个个16位位Register)EU 控制器控制器* 这些寄存器不与外部总线相连这些寄存器不与外部总线相连Programer Status Word又称又称FR: Flag Register执行部件工作流程EU控控制制器器ALU暂暂 存存 器器标志寄存器标志寄存器8位队位
5、队列总线列总线执执行行部部件件EU通用寄存器通用寄存器AX AH ALBX BH BLCX CH CLDX DH DL SP BP DI SI读入指令操作码读入指令操作码02H和和06HALUALAL暂暂 存存 器器将数据地址偏移量交给将数据地址偏移量交给BIU暂暂 存存 器器ALU标志寄存器标志寄存器EU控控制制器器读入偏移地址读入偏移地址100H存储器中数据由存储器中数据由BIU读读入入例例 EU执行以下指令执行以下指令:MOV AL,5CHADD AL,100H执行的操作为执行的操作为:将将16进制数进制数5CH送送到到8位寄存器位寄存器AL中中, 将将AL中的值中的值(5CH)与与存储
6、器数据段中偏移存储器数据段中偏移量为量为100H的数据相的数据相加加,结果存入结果存入AL中。中。AL读入读入指令指令操作码操作码B0H读入操作数读入操作数5CHEU控控制制器器内存储器内存储器(程序段程序段)B0H5CH地址地址1001H1002H1003H内容内容1000H02H06H00H01H1004H1005H内存储器内存储器(数据段数据段)B0H地址地址2100H2101H内容内容2000H10H11H16位内位内部总线部总线( (2)2) 总线接口部件总线接口部件BIU总线接口部件总线接口部件BIU段寄存器(段寄存器(CS,DS,SS和和ES)指令指针(指令指针(IP)指令队列缓
7、冲器(指令队列缓冲器(6个字节)个字节) 地址产生器(产生地址产生器(产生20位地址)位地址)总线控制逻辑总线控制逻辑总线接口部件的操作总线接口部件的操作-读指令读指令总总线线控控制制逻逻辑辑地址加法器地址加法器20位地址总线位地址总线(物理地址物理地址)16位位数数据据总总线线总总线线接接口口部部件件BIU1 2 3 4 5 6指令队列指令队列CSDSSSESIP暂存器暂存器 01000H(20位位)+ 0000H(16位位) - 01000H (20位位) 物理地址物理地址(20位位)CPU的取指过程的取指过程:当指令队列有当指令队列有2个或个或2个以上的字节空余个以上的字节空余时时,BI
8、U自动读指令自动读指令,存入指令队列。存入指令队列。指令指令MOV AL,5CHADD AL,100HCS=0100HIP=0000H CSIP地址加法器地址加法器总总线线控控制制逻逻辑辑总总线线控控制制逻逻辑辑11 2 3 4 5 6指令代码指令代码内存储器内存储器(程序段)(程序段)B0H5CH地址地址01001H01002H01003H内容内容01000H02H06H00H01H01004H01005H总线接口部件的操作总线接口部件的操作-读数据读数据总总线线控控制制逻逻辑辑地址加法器地址加法器20位地址总线位地址总线(物理地址物理地址)16位位数数据据总总线线总总线线接接口口部部件件B
9、IU1 2 3 4 5 6指令队列指令队列CSDSSSESIP暂存器暂存器 02000H(20位位) DS + 0100H(16位位) 偏移量偏移量 - 02100H(20位位) 物理地址物理地址(20位位) CPU读取数据过程读取数据过程:偏移地址与偏移地址与DS寄存器中的寄存器中的段基值形成段基值形成20位物理地址,位物理地址,由总线控制逻辑产生总线时由总线控制逻辑产生总线时序,从存储器中读入数据。序,从存储器中读入数据。指令指令ADD AL,100H DS=0200H 偏移地址偏移地址=100H DS暂存器暂存器地址加法器地址加法器总总线线控控制制逻逻辑辑总总线线控控制制逻逻辑辑指令代码
10、指令代码内存储器内存储器(数据段)(数据段)B0H地址地址2100H2101H内容内容2000H10H11H寄存器组数据寄存器数据寄存器地址指针及地址指针及变址寄存器变址寄存器控制寄存器组控制寄存器组段寄存器组段寄存器组AX AH AL 累加器累加器BX BH BL 基址寄存器基址寄存器CX CH CL 计数寄存器计数寄存器DX DH DL 数据寄存器数据寄存器通用寄存器组通用寄存器组 SP 堆栈指针堆栈指针 BP 基址指针基址指针 SI 源变址指针源变址指针 DI 目的变址指针目的变址指针 IP 指令指针指令指针 FLAG 标志寄存器标志寄存器 CS 代码段寄存器代码段寄存器 DS 数据段寄
11、存器数据段寄存器 SS 堆栈段寄存器堆栈段寄存器 ES 附加段寄存器附加段寄存器 15 8 7 0(标志位)(标志位)AXBXCXDX目的变址指针目的变址指针(Destination Index)DI源变址指针源变址指针(Source Index)SI基址指针基址指针(Base Pointer)BP堆栈指针堆栈指针(Stack Pointer)SP数据寄存器数据寄存器(Data)DLDHDX计数寄存器计数寄存器(Count)CLCHCX基址寄存器基址寄存器(Base)BLBHBX累加器累加器(Accumulator)ALAHAX数据寄存器 可分为两个8位,主要用于数据操作地址指针主要用于地址操
12、作CS:Code SegmentDS:Data SegmentSS:Stack Segment ES:Extra Segment8086的的BIU单元中有单元中有4个个16位段寄存器位段寄存器数据段寄存器堆栈段寄存器附加段寄存器代码段寄存器n这个寄存器中的值总是这个寄存器中的值总是自动自动指向下一次所要取出指向下一次所要取出的指令的地址偏移量的指令的地址偏移量n程序不能直接对它进行修改程序不能直接对它进行修改n在程序运行的过程中,在程序运行的过程中,CPU会自动修改其中的值会自动修改其中的值 8086CPU中标志寄存器为中标志寄存器为16位位,其中有意,其中有意义的有义的有9个标志位个标志位,
13、其中,其中6个状态标志位个状态标志位,3个控制标志位。个控制标志位。状态标志有状态标志有:CF:进位标志位进位标志位 (Carry Flag)PF:奇偶位奇偶位 (Parity)AF:辅助进位位辅助进位位 (Auxiliary Carry)ZF:零标志位零标志位 (Zero)SF:符号标志位符号标志位 (Sign)OF:溢出位溢出位 (Overflow)3个控制标志位个控制标志位:DF:方向控制位方向控制位 (Direction Flag)IF: 中断允许控制位中断允许控制位 (Interrupt Flag)TF:跟踪控制位跟踪控制位 (Trace Flag )进位标志进位标志CF:CF=1时
14、,表明指令执行后的结果在最高位时,表明指令执行后的结果在最高位(字节操作时字节操作时的的D7位,字操作时的位,字操作时的D15位位)上产生了一个上产生了一个进位进位或或借位借位;进位标志位(进位标志位(CFCF)例如: MOV AL, 3;SUB AL, 4; SUB=subtract:(ALAL-4)执行后,CF?。CF=0时,则无进位或借位产生。时,则无进位或借位产生。该标志主要用于多字节数的该标志主要用于多字节数的加减法运算加减法运算。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 辅助进位标志位辅助进位标志位AF:对于:对于8位的运算而言位的运
15、算而言,AF=1表示在低表示在低位数的位数的第第4位位上产生了一个进位或借位信号;上产生了一个进位或借位信号;AF=0时表示时表示此位上无进位或借位产生。此位上无进位或借位产生。通常用于对通常用于对BCD码算术运算结码算术运算结果的调整。果的调整。辅辅助进位标志位(助进位标志位(AF)AF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 例如: ADD AL, BL ;AF=0,假设此时AL=09H,BL=5AAA ;AF=1,ASCII Adjust For Addition结果:AX=0104H表示非压缩BCD码结果零标志位ZF:ZF=1表示运算结果为
16、零;ZF=0表示运算结果不为零。 零标志位(零标志位(ZF)例1:MOV AL, 4 SUB AL, 4 ;此时ZF=?例2:XOR AX, AX ;此时ZF=? ;注:XOR表示按位异或ZFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 符号标志位SF:它的值与运算结果的最高位相同。SF=1表示运算结果为负数; SF=0表示运算结果为正数。 符号标志位(符号标志位(SF)SF ZFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 注意负数时符号位为1例1:MOV AL, 5 SUB AL, 4 ;此时SF=
17、? 溢出标志位溢出标志位OF:当运算过程产生溢出时,:当运算过程产生溢出时,OF=1。所谓算术溢出是指算术运算的结果超出了机器所能表达的数所谓算术溢出是指算术运算的结果超出了机器所能表达的数的范围。的范围。对有符号整数对有符号整数(-128127,-3276832767) 溢出控制标志位(溢出控制标志位(OF)用补码表示的!OFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG SF ZF奇偶标志位奇偶标志位PF:PF=1:指令执行的结果:指令执行的结果低字节低字节含偶数个含偶数个1;PF=0:运算结果:运算结果低字节低字节含奇数个含奇数个1。这个标志位
18、可用来检查在数据传送过程中是否发这个标志位可用来检查在数据传送过程中是否发生错误。生错误。奇偶标志位(奇偶标志位(PF)例:MOV AL, 2 ADD AL, 1;AL=03H=0000 0011B 执行后,PF=1PFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 实际应该理解为奇校验(Odd)即原数加上PF位后含奇数个110001101001101100011001000011001+0110011010101001运算结果最高位为1SF=1;D3向D4有进位 AF=1;次高位向最高位有进位 ,最高位向前没有进位,OF=1最高位没有
19、进位 CF=0;低8位中1的个数为偶数个 PF=1;运算结果本身0 ZF=0;10001101001101100011001000011001-0010110010001100运算结果最高位为0SF=0;D3位向D4位没有借位 AF=0;次高位向最高位没有借位 ,最高位向前没有借位,OF=0最高位没有借位 CF=0;低8位中1的个数为奇数个 PF=0;运算结果本身0 ZF=0;01001110010100101000100010000001+1010100000111011运算结果最高位为1SF=1;D3位向D4位没有借位 AF=0;次高位向最高位没有进位 ,最高位向前没有进位,OF=0最高位
20、没有进位 CF=0;低8位中1的个数为奇数个 PF=0;运算结果本身0 ZF=0;方向标志位DF:DF=1时,CPU将以数据串递减的顺序(即地址由高向低)对数据串中的数据进行处理;若DF=0,则将以递加(即地址由低向高)的顺序对数据进行处理。方向控制标志位(方向控制标志位(DFDF)操作指令:STD ,CLDDFPFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 中断允许标志IF:若将IF=1,则处理器允许接受外部可屏蔽中断发来的中断请求;IF=0时,CPU不能接受外部可屏蔽中断发来的请求。 中断允许控制标志位(中断允许控制标志位(IF
21、IF)STI 使使IF置置“1”,即开放中,即开放中断。断。 CLI 使使IF清清“0”,即关闭中,即关闭中断断IFDFPFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 跟踪控制标志位(跟踪控制标志位(TFTF)跟踪标志位TF: 将TF置成1时,处理器处于单步工作方式; 当TF=0时,8086CPU将正常地执行程序。没有专门的操作指令,可间接修改:如用堆栈操作。没有专门的操作指令,可间接修改:如用堆栈操作。TFIFDFPFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG TF标志
22、对于DEBUG软件调试应用程序非常有用作业作业P127:(1)P127:(1)、(2)(2)引脚及其功能引脚及其功能n8086芯片采用双列直芯片采用双列直插式封装,有插式封装,有40个引个引脚。脚。n8086的的40条引脚包含条引脚包含n地址线地址线/数据线数据线n控制和状态线控制和状态线n电源和时钟线电源和时钟线12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD
23、15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET8086( (1 1) ).8086的工作方式的工作方式n两种工作方式两种工作方式: :最小模式最小模式与与最大模式最大模式n当当MN/MX引脚为引脚为高电平高电平时时nCPU工作于最小模式,单机系统控制信号由工作于最小模式,单机系统控制信号由CPU提提供。供。n当当MN/MX引脚为引脚为低电低电平平时时nCPU工作于最大模式,可构成多机系统,系统控制工作于最大模式,可构成多机系统,系统控制信号由专用芯片(信号由专用芯
24、片(常用常用8288总线控制器总线控制器)提供。)提供。AD0-AD15这这16条线条线分时复用分时复用。传送地址时三态输出;传送数传送地址时三态输出;传送数据时双向三态输入据时双向三态输入/输出。输出。地址和数据线地址和数据线AD0AD15地址地址/数据(数据(Address Data Bus)(双向,三态,分时复用)(双向,三态,分时复用)A19/S6A16/S3 地址地址/状态状态(Status)(输出,三态,分时复用)(输出,三态,分时复用)12345678910111213141516171819204039383736353433323130292827262524232221GN
25、DAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET8086( (2)2)与工作方式无关的引脚与工作方式无关的引脚CLKT1T2T3T4AD15AD0 A15 0D15 0 A19A16S6 S3A19A16/S6S3ALE总线周期由总线周期由4时钟周期组成:时钟周期组成:第一个时钟周期第一个时钟周期, AD15AD0表示低表示低16
26、位地址位地址, A19A16/S6S3 为为高四位地址线高四位地址线,形成形成20位地址总线。位地址总线。T1周期结束时通过周期结束时通过ALE信号信号下降沿锁存地址信号。下降沿锁存地址信号。第二个时钟周期的上升沿时第二个时钟周期的上升沿时, A19A16/S6S3表示总线状态。表示总线状态。第三个周期开始第三个周期开始,AD15AD0变为数据总线,传递数据。变为数据总线,传递数据。第四个时钟周期第四个时钟周期,AD15AD0信号变为浮空。信号变为浮空。S6S3继续维持。继续维持。初步理解初步理解“分时复用分时复用”开始接触时序图开始接触时序图S3和和S4表示正在被使用的段寄存器:表示正在被使
27、用的段寄存器:总线周期里总线周期里A16/S3,A17/S4,A18/S5,A19/S6状态信号功能状态信号功能S4S3意义意义00110101附加分段附加分段ES堆栈分段堆栈分段SS代码分段代码分段CS或无分段或无分段数据分段数据分段DSS5 表示状态标志寄存器中中断允许标志位(表示状态标志寄存器中中断允许标志位(IF)的状态。)的状态。S6=1则使则使8086总线浮空,让另外的总线主模块可以取得系总线浮空,让另外的总线主模块可以取得系统总线的控制权。统总线的控制权。 S6=0表示这片表示这片8086连在总线上。连在总线上。S3S6在总线周期在总线周期T1以后的时钟周期里表示总线周期状态以后
28、的时钟周期里表示总线周期状态BHE/S7(高(高8位数据允许位数据允许/状态,输出,三态状态,输出,三态) Bus High Enable/Status当对存储器或当对存储器或 I/O端口读写时,端口读写时,高高8位数据位数据进行操进行操作时,该信号有效。作时,该信号有效。S7为备用状态,始终为为备用状态,始终为1。8086能处理能处理8位也能处理位也能处理16位数据位数据存储器存储器组织部分组织部分将更深入将更深入介绍介绍BHE保持低电平,这时数据在总线的高保持低电平,这时数据在总线的高8位上传送。位上传送。该信号与该信号与AD0一起,产生存储器的选择逻辑信号。一起,产生存储器的选择逻辑信号
29、。控制和状态线控制和状态线控制和状态线包括:RD(读,输出,三态)(读,输出,三态)READY (准备好,输入)(准备好,输入) TEST (测试,输入(测试,输入 )INTR (可屏蔽中断请求,输入(可屏蔽中断请求,输入 )NMI(非屏蔽中断请求,输入(非屏蔽中断请求,输入 )RESET (复位,输入(复位,输入 )CLK (系统时钟,输入(系统时钟,输入 )MN/MX (输入,最小(输入,最小/最大组态最大组态 )8086101821222332INTRNMIRESETREADYTESTRDRD(Read)读选通信号,三态,输读选通信号,三态,输出,低电平有效出,低电平有效,允许,允许CP
30、U读读存储器存储器或或I/O端口端口的数据。的数据。存储器存储器和和I/O设备设备都连接在都连接在CPU外部总线上外部总线上8086101821222332INTRNMIRESETTESTRDREADYREADY信号信号输入信号(由存储器或输入信号(由存储器或I/O端端口发出),口发出),高电平高电平有效。有效。READY信号高电平信号高电平READY信号低电平信号低电平8086将处于将处于“等待等待”状态状态-在总线周期中的在总线周期中的T3状态状态检检测到测到READY为高电平,在为高电平,在T3状态结束后插入一个或状态结束后插入一个或几个几个Tw状态状态。已准备就绪已准备就绪,可以进行数
31、可以进行数据传送操作据传送操作8086101821222332INTRNMIRESETREADYTESTRDINTRINTR是是可屏蔽中断可屏蔽中断请求输入请求输入信号,在每条指令执行的最信号,在每条指令执行的最后一个时钟周期将采样这个后一个时钟周期将采样这个信号。信号。只有标志寄存器中的中断允只有标志寄存器中的中断允许位许位IF为为1,且,且INTR为高时为高时才响应才响应可屏蔽中断可屏蔽中断。INTR信号信号(Interrupt Request)输入信号,输入信号,电平触发电平触发(或(或边边沿触发沿触发),),高电平高电平有效。有效。* 所谓可屏蔽:指可被所谓可屏蔽:指可被FR中的中的I
32、F屏蔽屏蔽8086101821222332INTRNMIRESETREADYTESTRDNMINMI信号(信号(Non-Maskable Interrupt Request)NMI是是不可屏蔽中断不可屏蔽中断请求输请求输入信号,它靠入信号,它靠边沿触发边沿触发。如。如果果NMI从低电平变高电平,从低电平变高电平,则则8086会在完成当前指令后,会在完成当前指令后,把控制转移到不可屏蔽中断把控制转移到不可屏蔽中断服务程序。服务程序。输入信号,边沿触发,输入信号,边沿触发,正跳正跳变(低变(低高)高)有效有效* 不可屏蔽:不受不可屏蔽:不受IF标志的影响,比标志的影响,比INTR级别高级别高808
33、6101821222332INTRNMIRESETREADYTESTRDRESETRESET信号信号RESET系统复位信号。系统复位信号。8086要求该信号至少维持要求该信号至少维持4个时钟个时钟周期的高电平周期的高电平,如果是初次,如果是初次加电引起的复位,则要求维加电引起的复位,则要求维持时间不小于持时间不小于50s的高电平。的高电平。输入信号,高电平有效。输入信号,高电平有效。* 一个微机系统的复位信号的处理很重要!一个微机系统的复位信号的处理很重要!微机系统的常见复位方式:微机系统的常见复位方式:上电复位;手动复位;看门狗复位等上电复位;手动复位;看门狗复位等8086101821222
34、332INTRNMIRESETREADYTESTRDTESTTEST信号输入信号,输入信号,低电平低电平有效。有效。它它与与WAIT等待指令结合等待指令结合使使用。在执行用。在执行WAIT指令时,指令时,8086会停止操作,进入空转会停止操作,进入空转等待状态,每隔等待状态,每隔5个时钟周个时钟周期,对期,对TEST信号检测一次。信号检测一次。若为高电平,若为高电平,CPU保持等待保持等待状态;若为低电平,状态;若为低电平,8086结结束等待状态,继续后续指令。束等待状态,继续后续指令。* WAIT指令用来使指令用来使CPU与外部硬件同步与外部硬件同步INTA (Interrupt Ackno
35、wledge)(中断响应信号中断响应信号,输出,低电平有效),输出,低电平有效) 在在8086响应外部可屏蔽中断请求之后,便发出响应外部可屏蔽中断请求之后,便发出低电平有效的中断响应信号,作为对中断请求的回低电平有效的中断响应信号,作为对中断请求的回答。答。8086在中断响应总线周期产生在中断响应总线周期产生两次负脉冲两次负脉冲(中(中断响应信号两次有效),第一个负脉冲断响应信号两次有效),第一个负脉冲通知外设接通知外设接口已经响应外设的中断请求口已经响应外设的中断请求,第二个负脉冲用作,第二个负脉冲用作中中断类型号的读选通信号断类型号的读选通信号。(3)(3)“最小模式最小模式”时系统的控制
36、和状态线时系统的控制和状态线初步理解中断概念 中断过程8086101821222329INTRNMIRESETREADYTESTWRWR信号信号写读选通信号,三态,输出,写读选通信号,三态,输出,低电平有效低电平有效,允许,允许CPU写存写存储器(数储器(数据从据从CPU到存储器到存储器)或或I/O端口。端口。用于区分用于区分CPU访问存储器访问存储器,还是访问输入还是访问输入/输出输出接口,接口,高选择存储器,低选择高选择存储器,低选择IO。M/IO(存储器(存储器/IO 选择,输出,三态)选择,输出,三态) 28脚脚它常常与它常常与RD或或WR信号及信号及地址地址组合起来使用。组合起来使用
37、。M/IO WR操操 作作 CPU对存储器进行写操作对存储器进行写操作CPU对对I/O端口进行写操作端口进行写操作CPU对存储器进行读操作对存储器进行读操作CPU对对I/O端口进行读操作端口进行读操作10100011RD1100ALE(地址锁存允许,输出)(地址锁存允许,输出)25脚脚 高电平高电平有效。有效。此信号在一个总线周期的此信号在一个总线周期的T1周期,变为有效,将周期,变为有效,将地址地址/数据线上的地址信号锁存在数据线上的地址信号锁存在地址锁存器地址锁存器中,中,从而从而分开数据和地址信号分开数据和地址信号。低电平低电平有效(有效(Data Enable)用于控制用于控制8086
38、外接的数据收发器,提高总线负载能力。外接的数据收发器,提高总线负载能力。为高电平时则禁止收发器传送数据为高电平时则禁止收发器传送数据 为低电平时开启收发器为低电平时开启收发器用于控制数据的传送方向(用于控制数据的传送方向(Data Transmit/Receive)信号为信号为高电平高电平时时8086输出的数据经收发器送到数据总线输出的数据经收发器送到数据总线信号为信号为低电平低电平时时收发器把数据总线上的数据传送到收发器把数据总线上的数据传送到80868086工作于工作于DMA方式时,方式时,以上两信号为高阻状态以上两信号为高阻状态DT/R(数据发送(数据发送/接收,输出,三态)接收,输出,
39、三态) 27 脚脚DEN(数据允许输出信号,输出,三态)(数据允许输出信号,输出,三态) 26脚脚HOLD(保持请求,输入)(保持请求,输入)高电平高电平有效有效 当系统中有其它的总线主设备需要获得对总当系统中有其它的总线主设备需要获得对总线的控制权时,便向线的控制权时,便向8086发出高电平有效的保持发出高电平有效的保持请求信号。请求信号。8086在每个时钟在每个时钟上升沿上升沿对对HOLD引脚引脚信号进行检测,若发现信号进行检测,若发现HOLD为为高电平高电平,则在当,则在当前总线周期结束时,予以响应。前总线周期结束时,予以响应。HLDA(保持响应,输出)(保持响应,输出)高电平高电平有效
40、有效 当当CPU响应保持请求时,便发出响应保持请求时,便发出HLDA高电平高电平有效的应答信号,从而将总线让给发出总线保持响有效的应答信号,从而将总线让给发出总线保持响应请求的设备,直到这个发出总线保持请求的设备应请求的设备,直到这个发出总线保持请求的设备又将又将HOLD信号变为信号变为低电平低电平,CPU才又收回总线控才又收回总线控制权,将制权,将HLDA信号置为信号置为低电平低电平。 CPU 地址寄存器地址寄存器 计数器计数器 控制控制/状态寄存器状态寄存器 存储器存储器 I/O 接口接口 I/O 设备设备 系统总线系统总线HOLDHLDADMA请求请求DMA响应响应DMA控制器控制器总线
41、总线扩展扩展电路电路 局部局部总线总线总线控制权转让的例子:总线控制权转让的例子:DMA控制器使用总线控制器使用总线 DMA的概念的概念:Direct Memory Access 由由DMA控制器控制控制器控制I/O设备与存储器之间的数据设备与存储器之间的数据传输,此时传输,此时CPU可以做别的不使用总线的工作。可以做别的不使用总线的工作。(4)(4)“最大模式最大模式”时系统的控制和状态线时系统的控制和状态线QS1和和QS0指令队列状态信号指令队列状态信号(输出输出) (Instruction Queue Status) 这两个信号组合起来提供了这两个信号组合起来提供了8086内部内部指令队
42、列的状态,以便外部对其动作进行指令队列的状态,以便外部对其动作进行跟踪。跟踪。 空操作空操作 取走指令的一个字节取走指令的一个字节 队列空队列空 取出的字节是指令的后续字节取出的字节是指令的后续字节队列操作队列操作QS1QS000110101 这三个状态信号组成的编码表示了当前总线这三个状态信号组成的编码表示了当前总线周期是何种操作周期。周期是何种操作周期。S2S1S0总线周期总线周期01010101发中断响应信号发中断响应信号读读I/O端口端口写写I/O端口端口暂停暂停取指令取指令读存储器读存储器写存储器写存储器无源状态无源状态0011001100001111S2、S1、S0总线周期状态信号
43、总线周期状态信号S2、S1、S0总线周期状态信号总线周期状态信号RQ/GT1和和RQ/GT0总线请求信号总线请求信号 (Request/Grant)(总线请求信号输入(总线请求信号输入/总线请求允许信号输出)总线请求允许信号输出)输入时输入时:指其他主控者向本:指其他主控者向本CPU请求使用总线。请求使用总线。 输出时输出时:表示本:表示本CPU对总线请求的响应信号。对总线请求的响应信号。请求输入和响应输出在同一引脚上传递。请求输入和响应输出在同一引脚上传递。RQ/GT0的优先级高于的优先级高于RQ/GT1 。LOCK总线封锁信号(总线封锁信号(输出,三态,低电平有效输出,三态,低电平有效)
44、当此信号有效时,当此信号有效时,CPU不允许其它主部不允许其它主部件占有总线。件占有总线。 可通过指令实现总线锁定。可通过指令实现总线锁定。 另外,在另外,在8086的的两个中断响应脉冲两个中断响应脉冲之间之间(INTA),),LOCK信号信号自动变为有效电平自动变为有效电平,以使在中断响应过程不被间断。以使在中断响应过程不被间断。存储器的组织存储器的组织n存储器地址的分段存储器地址的分段n物理地址的形成物理地址的形成(1)(1)存储器地址的分段存储器地址的分段数据段数据段Offset=0 x0000H64KBOffset = 0 xFFFFH存储器存储器地址空间地址空间150 xFFFFFH
45、0IPCSDSSSES0 x00000H代码段代码段64K字节字节堆栈段堆栈段64K字节字节扩展段扩展段64K字节字节数据段数据段64K字节字节0 x003FFH专用专用通用数据区通用数据区 1MB0 x00400HM/IO =1 0 xFFFFHI/O地址空间地址空间0 x0000H 64KBM/IO =0 分段的原因分段的原因 8086寄存器只有寄存器只有16位,只能寻址位,只能寻址64KB。为。为了实现对了实现对1M字节存储空间进行管理,字节存储空间进行管理,8086采用采用了分段的方法。了分段的方法。 存储器的段与段之间可以相存储器的段与段之间可以相互重叠。互重叠。 段的排列段的排列0
46、 xFFFFFH0 x00000HD段C段E段B段A段物理地址高地址高地址代码段代码段存储器存储器低地址低地址CSCSDSDSSSSSESES代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器附加段附加段堆栈段堆栈段数据段数据段图中数据段与堆栈段是重叠的。图中数据段与堆栈段是重叠的。 段的产生段的产生 下图是下图是4 4个段寄存器分别指示着存储器中个段寄存器分别指示着存储器中4 4个当前段个当前段的例子。的例子。 CS、DS、SS、ES 给出给出4个当前可寻址段的基址。个当前可寻址段的基址。 (2)(2)物理地址的形成物理地址的形成物理地址物理地址
47、物理地址物理地址就是在就是在1M1M字节的地址空间中的每一位存字节的地址空间中的每一位存储单元,用一个唯一的储单元,用一个唯一的2020位二进制数所表示的地位二进制数所表示的地址。址。物理地址物理地址的范围从十六进制的的范围从十六进制的00000H到到FFFFFH。CPU在与存储器进行数据交换时使用在与存储器进行数据交换时使用物理地址物理地址。基址和偏移地址的范围都是从基址和偏移地址的范围都是从0000H到到FFFFH。 逻辑地址逻辑地址逻辑地址逻辑地址由两部分组成,即由两部分组成,即段的基址段的基址和和偏移地址偏移地址,分别用分别用16位来表示,其中偏移地址是存储单元所位来表示,其中偏移地址是存储单元所在的位置到段基址的距离。在的位置到段基址的距离。在程序中使用逻辑地址,而不是物理地址。在程序中使用逻辑地址,而不是物理地址。16位地址偏移量位地址偏移量000016位段寄存器中的段基址位段寄存器中的段基址+2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年航空安全员CET练习试卷附答案
- 当宿舍长的心得体会
- 水浒传的读书心得100字
- 2024年新型环保家具供货协议
- 2024年电气系统定期检查合同2篇
- 2024年智能化生产车间租赁及智能系统集成合同2篇
- 2024年游泳器材租赁合同3篇
- 2025年全国名校模考作文:“看人要看大节与最好从小处着眼”
- 2024年度电磁兼容检测技术服务合同3篇
- 移动软件开发课程设计
- 基于费托合成的天然气制合成油工艺技术综述
- 常见抗痛风药物课件整理
- 2023年高考真题-地理(浙江卷)含答案
- 人员招聘与培训实务期末复习资料
- kv杆塔防腐施工组织设计
- 外国文学智慧树知到答案章节测试2023年山东师范大学
- 医院侵害未成年人案件强制报告制度培训课件
- 版管井及轻型井点降水施工方案
- YY/T 0506.6-2009病人、医护人员和器械用手术单、手术衣和洁净服第6部分:阻湿态微生物穿透试验方法
- 《毛泽东思想概论》题库
- 四年级必读书目练习试题附答案
评论
0/150
提交评论