




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、NUIST第第2 2章章 80868086微处理器微处理器 NUIST主要内容主要内容 2.1 8086 CPU2.1 8086 CPU结构结构8086 CPU内部结构18086 寄存器结构2 22.1 8086 CPU2.1 8086 CPU结构结构v指令系统功能齐全,各类指令133条 v多种寻址方式,适用于高级语言中的数组和记录等数据结构形式v16位数据总线与地址总线复用。v20位地址线,存储器可寻址1MB范围v16位I/O端口线,可寻址64K端口地址。Ch3Ch4Ch2Ch6 8086的基本特点2.1 8086 CPU2.1 8086 CPU结构结构v具有较强的中断处理能力(软中断、非屏
2、蔽和可屏蔽三类)v具有管理和响应DMA操作的能力v可以实现多处理器协调和管理总线的能力。Ch7Ch6Ch2 8086的基本特点8086 CPU8086 CPU内部结构内部结构AHALBHBLCHCLDHDLAXBXCXDX通用寄存器SPBPDISI指针和变址寄存器CSDSSSESIP内部寄存器运算寄存器执行控制电路FLAGS输入输出控制电路ALU1234 5 6指令队列缓冲器执行部件(EU)总线接口部件(BIU)ALU数据总线16位8位数据总线16位20位地址总线外部总线(16位数据总线)总线接口部件总线接口部件BIUBIU(Bus Interface UnitBus Interface Un
3、it)CSDSSSESIP内部寄存器1234 5 6指令队列缓冲器总线接口部件(BIU)8位16位20位地址总线外部总线输入输出控制电路功能与内存或I/O端口传送指令或数据产生20位的物理地址组成4个16位的段寄存器(CS,DS, ES,SS)1个16位的指令指针寄存器IP1个地址加法器:用于产生20位物理地址 寄存器都是16位的,如何得到 20位物理地址?总线接口部件总线接口部件BIUBIU(Bus Interface UnitBus Interface Unit)CSDSSSESIP内部寄存器1234 5 6指令队列缓冲器总线接口部件(BIU)8位16位20位地址总线外部总线输入输出控制电
4、路组成 6个字节的指令队列:FIFO 输入/输出控制电路(总线控制逻辑) 内部寄存器指令执行部件指令执行部件EUEU(Execution UnitExecution Unit)功能 执行部件负责执行指令组成ALU(算术逻辑单元)数据寄存器(16位/8位):AX,BX, CX,DX堆栈指针寄存器SP(16位)基址指针寄存器BP(16位)目的变址寄存器DI(16位)源变址寄存器SI(16位)AHALBHBLCHCLDHDLAXBXCXDX通用寄存器SPBPDISI指针和变址寄存器运算寄存器执行控制电路FLAGSALU执行部件(EU)16位组成指令执行部件指令执行部件EUEU(Execution U
5、nitExecution Unit)标志寄存器FLAGS执行部件的控制电路(完成指令译码等)AHALBHBLCHCLDHDLAXBXCXDX通用寄存器SPBPDISI指针和变址寄存器运算寄存器执行控制电路FLAGSALU执行部件(EU)16位功能 执行部件负责执行指令取指令和执行指令重叠进行取指令和执行指令重叠进行一般8位CPU(8080)P总线BUS取指1忙执行1 取指2忙执行2 取指3忙执行3 取指4忙执行48086CPUEUBIUBUSttttt取指1忙执行1取指2忙执行2取指3忙执行3取指4忙执行4取指5忙执行5取指6忙执行6 8086 CPU 为什么分成 EU 和 BIU 两个部分?
6、顺序执行:取指和执行交替进行重叠执行:取指和执行重叠进行大大减少了等待指令所需的时间,提高了CPU的利用率和整个系统的执行速度外部总线(16位数据总线)8086与8088的区别(1)8088的EU与8086一样,而BIU略有区别CSDSSSESIP内部寄存器1234 5 6指令队列缓冲器总线接口部件(BIU)80868位16位20位地址总线输入输出控制电路808812348088的外部数据总线为8位。8088的为8位。2.1 8086 CPU2.1 8086 CPU结构结构8086 CPU内部结构1 18086 寄存器结构2 28086 CPU8086 CPU寄存器组寄存器组AH ALBH B
7、LCH CLDH DL15 8 7 0AX累加器BX基址寄存器CX计数寄存器DX数据寄存器数据寄存器DISIBPSP源变址寄存器目的变址寄存器基址指针寄存器栈指针寄存器指针寄存器变址寄存器FLAGSIP标志寄存器指令指针寄存器通用寄存器CSDSSSES代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器段寄存器通用寄存器通用寄存器数据寄存器AX (Accumulator), BX (Base Register),CX (Count Register), DX (Data Register)AH,AL,BH,BL,CH,CL,DH,DL 用来存放二进制操作数,可以是参加操作的数据、操作的中间结果、操
8、作数的地址。 大多数算术和逻辑运算指令都可以使用这些数据寄存器。通用寄存器通用寄存器指针寄存器和变址寄存器SP (Stack Pointer), BP (Base Pointer), SI (Source Index), DI (Destination Index)只能按16位存取 主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址用于堆栈操作用于变址操作这四个寄存器也可用做数据寄存器。通用寄存器的通用寄存器的特殊特殊用途和隐含性质用途和隐含性质寄存器名 特殊用途隐含性质AX, AL在输入输出指令中作数据寄存器用例:IN AX, 80H不能隐含在乘法指令中存放被乘数或乘积,
9、在除法指令中存放被除数或商例:MUL DX隐 含AH在LAHF指令中,作目标寄存器用隐 含AL在十进制运算指令中作累加器用隐 含在XLAT指令中作累加器用隐 含通用寄存器的通用寄存器的特殊特殊用途和隐含性质用途和隐含性质寄存器名特殊用途隐含性质BX在间接寻址中作基址寄存器用例:MOV AX,BX+1230H不能隐含在XLAT指令中作基址寄存器用隐 含CX在串操作指令和LOOP指令中作计数器用隐 含CL在移位/循环移位指令中作移位次数计数器用不能隐含DX在字乘法/除法指令中存放乘积高位或被除数高位或余数隐 含在间接寻址的输入输出指令中作地址寄存器用例: OUT DX,AL不能隐含通用寄存器的通用
10、寄存器的特殊特殊用途和隐含性质用途和隐含性质寄存器名特殊用途隐含性质SI在字符串运算指令中作源变址寄存器用隐 含在间接寻址中作变址寄存器用不能隐含DI在字符串运算指令中作目标变址寄存器用隐 含在间接寻址中作变址寄存器用不能隐含BP在间接寻址中作基址指针用不能隐含SP在堆栈操作中作堆栈指针用隐 含指令指针指令指针指令指针寄存器 IP (Instruction Pointer) 16位专用寄存器,存放将要执行的下一条指令在现行代码段中的偏移地址。 当BIU从内存中取出一个指令字节后,IP就自动加1,指向下一指令字节。 IP指向的是指令地址的段内地址偏移量,又称偏移地址(Offset Address
11、)或有效地址(Effective Address,EA)标志寄存器标志寄存器FRFR1514131211109876543210状态标志状态标志方向标志中断允许标志陷阱标志(Trap Flag)控制标志进位标志奇偶标志辅助进位标志零标志符号标志溢出标志CFPFAFZFSFOFTFIFDF标志寄存器标志寄存器FRFR0123456789101112131415CF进位标志CF (Carry Flag):加法时,最高位(字节操作时的D7位,字操作时的D15位)是否有进位产生;减法时,最高位是否有借位产生。2345H + 5219H0010 0011 0100 0101 + 0101 0010 00
12、01 10010111 0101 0101 1110CF=02345H 5219H0010 0011 0100 0101 0101 0010 0001 10011101 0001 0010 1100CF=1标志寄存器标志寄存器FRFR0123456789101112131415PF奇偶标志PF(Parity Flag):若运算结果低8位中“1”的个数为偶数,则PF1;否则PF0。2345H + 5219H0010 0011 0100 0101 + 0101 0010 0001 10010111 0101 0101 1110PF=02345H + 5217H0010 0011 0100 0101
13、 + 0101 0010 0001 01110111 0101 0101 1100PF=1标志寄存器标志寄存器FRFR0123456789101112131415AF辅助进位标志AF(Auxiliary carrry Flag):也称“半进位标志”。加法时,D3位向D4位有进位,则AF1,否则为0;减法时,D3位向D4位有借位,则AF1,否则为0 。2345H + 5219H0010 0011 0100 0101 + 0101 0010 0001 10010111 0101 0101 1110AF=02349H + 5219H0010 0011 0100 1001 + 0101 0010 00
14、01 10010111 0101 0110 0110AF=1标志寄存器标志寄存器FRFR0123456789101112131415ZF零标志ZF(Zero Flag):若运算结果为0,则ZF1;否则ZF02345H + 5219H0010 0011 0100 0101 + 0101 0010 0001 10010111 0101 0101 1110ZF=02349H 2349H0010 0011 0100 1001 0010 0011 0100 1001 0000 0000 0000 0000ZF=1标志寄存器标志寄存器FRFR0123456789101112131415SF符号标志SF(S
15、ign Flag):与运算结果的MSB(最高位)相同,标志结果的正负(对有符号数而言)。2345H + 5219H0010 0011 0100 0101 + 0101 0010 0001 10010111 0101 0101 1110SF=02345H 5219H0010 0011 0100 0101 0101 0010 0001 10011101 0001 0010 1100SF=1标志寄存器标志寄存器FRFR0123456789101112131415OF溢出标志OF(Overflow Flag):用于有符号数运算。若运算过程中发生了“溢出”,则OF1。2345H + 5219H0010
16、0011 0100 0101 + 0101 0010 0001 10010111 0101 0101 1110OFCp CsCp 最高数位向符号位的进位, Cs 符号位产生的进位OFCp Cs 0 002345H 5219H0010 0011 0100 0101 0101 0010 0001 10011101 0001 0010 1100OFCp Cs 1 10 例2-1 请分析0FH+ 0F8H后,各标志位的状态。0000 11111111 1000+111000001OF=Cs Cp=1 1=0CsCpCF=1,PF=0,AF=1,SF=0,OF=0,ZF=0标志寄存器标志寄存器FRFRO
17、F=Cs Cp=1 1=0CF对无符号数运算有意义;OF对有符号数运算有意义;某二进制数用作为无符号数还是有符号数,取决于应用的需要。应按需要选择对应的标志位。0FHF8H+15248+107H无符号数263 255 CF=115-8+有符号数7127OF=0标志寄存器标志寄存器FRFR128Y 若当前的减法运算XY后, SF=1, OF=1, 说明两者比较的结果是 。分析:根据符号位判别法可知SF=1,OF=1说明正数减负数溢出。两个符号相同的数相减不会产生溢出。若两个异号数相减,结果的符号位与减数相同,则溢出。溢出Y为负数,X为正数标志寄存器标志寄存器FRFR012345678910111
18、2131415IF中断允许标志IF(Interrupt Enable Flag):如果IF置“1”,则CPU可以接受可屏蔽中断请求;反之,则CPU不能接受可屏蔽中断请求。(第7,9章) 相关指令:CLI/STI。TF陷阱标志TF(Trap Flag):若TF1,则CPU按跟踪方式(单步方式)执行程序。DF方向标志DF(Direction Flag):用于串操作指令中的地址增量修改(DF0)还是减量修改(DF1) (第4章)相关指令: CLD/STD。 (第3章)指示微处理器执行何种操作段寄存器段寄存器微型计算机系统的内存中通常存放着三类信息:代码(指令)程序处理的对象数据被保存的返回地址和中间
19、结果堆栈信息1010 00001001 1001MOV AL,99HB0H99H99B0H可能是:运算的中间结果返回地址同样的若干字节二进制信息会有多种理解方式或含义,到底表示什么取决于它们位于内存的哪个段中。CSDS,ESSS指示微处理器执行何种操作段寄存器段寄存器微型计算机系统的内存中通常存放着三类信息:代码(指令)程序处理的对象数据被保存的返回地址和中间结果堆栈信息代码段寄存器CS ,指向当前的代码段, 指令由此段中取出。数据段寄存器DS ,指向当前的数据段,通常用来存放程序变量(存储器操作数)附加段寄存器ES,指向当前的附加段,通常也用来存放数据以及一些专用指令的操作数堆栈段寄存器SS
20、,指向当前的堆栈段, 堆栈操作的对象就是该段中存储单元的内容。通过适当转换,8086可以访问4个存储段NUIST主要内容主要内容 8086地址总线20位,可以寻址2201M字节的地址空间。但8086的内部寄存器是16位(地址的宽度大于字长),该如何解决此问题?80868086存储器组织存储器组织00000H00001H00002HFFFFFH8086系统中的存储器是一个最多1M8bit的字节序列,即可寻址的存储空间为1M字节。8bit系统为每个字节分配一个20位的物理地址80868086存储器组织存储器组织 存储地址的分段16位寄存器寻址能寻址的最大范围是 64KB对存储器“分段”,即把1M字
21、节内存空间分成若干段;每段最大可达64KB0段000000FFFF1段100001FFFF64KB64KB15段F0000FFFFF64KB段之间无重叠逻辑段164KB逻辑段264KB逻辑段364KBFFFFF段之间有重叠段式地址管理段式地址管理段的起始地址12100H偏移量10H段长要访问的单元12110Hv物理地址: 8086 CPU访问存储器时,在地址总线上实际送出的地址。每个存储单元的地址有两种表示方式物理地址(20位)段基值16偏移量段的起始地址/16段的起始地址必须能被16整除由段寄存器CS、DS、SS和ES提供由BX、BP、IP、SP、SI、DI提供段基值(1210H)12110
22、H1210H1610H段式地址管理段式地址管理段长v逻辑地址:程序设计时,使用的是逻辑地址。逻辑地址由“段基址”和“偏移量”构成(均为16位)每个存储单元的地址有两种表示方式段的起始地址/16段的起始地址必须能被16整除逻辑地址段基址:偏移量段的起始地址12100H偏移量10H要访问的单元12110H段基值(1210H)1210H:0010H段寄存器使用约定段寄存器使用约定操作类型隐含段超越段偏移量逻辑地址取指令CS无IPCS: IP堆栈指令SS无SPSS: SPBP为基址寄存器SSCS,ES,DS有效地址SS: EA通用数据读写DSCS,ES,SS有效地址DS: EA源串变量DSCS,ES,
23、SSSIDS: SI目的串变量ES无DIES: DIv “段基址”由段寄存器CS、DS、SS和ES提供。v “偏移量”由BX、BP、IP、SP、SI、DI提供。段式地址管理段式地址管理段基址15 0偏移量15 0000019 4 3 0物理地址19 0逻辑地址物理地址逻辑地址到物理地址的转换CS:IP=4232H:66H4232H66H0100 0010 0011 001042320H66H42386H物理地址(20位)段基值16偏移量段式地址管理段式地址管理v除非专门指定,一般情况下,段在存储器中的分配是由操作系统负责的。v段的划分:定长,可连续、可离散、可覆盖、可重叠。v每个存储单元有唯一
24、的物理地址,但它却可由不同的“段基址”和“偏移量”组成,即逻辑地址不同。注意1200H:0345H1100H:1345H12345H课堂练习课堂练习给定一个数据的有效地址是2359H,且(DS)= 49B0H,该数据在内存中的实际物理地址= H已知(CS)=1800H, (IP)=1500H, 则指令所处的物理地址= H(CS)16+(IP)=18000H+1500H=19500H(DS)16+2359H=49B00H+2359H=4BE59HNUIST 例2-2 存储器的每一个段最多为64KB,当程序运行后,4个段寄存器的内容分别为CS=1055H,DS=250AH,ES=2EF0H,SS=
25、8FF0H;其中DS段中有一个操作数,其偏移地址=0204H。求:(1) 指出各段首地址和末地址;(2) 求该操作数的物理地址;(3) 画出各段在内存中的分布;NUIST分析:存储器的每一个段最多为64KB,每个段的末地址在段起始地址的基础上增加了64K1=0FFFFH 个字节 代码段首地址 = 1055H 10H + 0 = 10550H末地址 = 10550H + 0FFFFH = 2054FH 数据段首地址 = 250AH 10H + 0 = 250A0H末地址 = 250A0H + 0FFFFH = 3509FHNUIST 附加段首地址 = 2EF0H 10H + 0 = 2EF00H
26、末地址 = 2EF00H + 0FFFFH = 3EEFFH 堆栈段首地址 = 8FF0H 10H + 0 = 8FF00H末地址 = 8FF00H + 0FFFFH = 9FEFFHNUIST00000H代码段10550H2054FH0FFFFFH数据段250A0H3509FH附加段2EF00H3EEFFH堆栈段8FF00H9FEFFH小尾端:低地址,低字节;高地址,高字节字地址00000HFFFFFH3412字:1234H双字地址00000HFFFFFH3412双字:56781234H5678低地址高地址80868086的访存特性的访存特性(1)(1)80868086的访存特性的访存特性(
27、1)(1) 例2-3 在存储器中存放的信息如图所示,试读出20042H单元的字节内容和20041H字单元的内容。 20041HBC9A1F3220040H20043H20042H20042H单元的字节内容= 32H20041H字单元的内容= 329AH低地址高地址80868086存储器的分体结构存储器的分体结构 (补充)(补充)v 8086系统中,存储器是分体结构,1M字节的存储空间分成两个512K字节的存储体。v 一个是偶数地址存储体,一个是奇数地址存储体,两个存储体采用字节交叉编址方式。 512K8位奇地址存储体(A0=1)0000100003000052201=FFFFF512K8位偶地
28、址存储体(A0=0)000000000200004FFFFE=22021587080868086存储器的分体结构存储器的分体结构 (补充)(补充)v 8086系统中,存储器是分体结构,1M字节的存储空间分成两个512K字节的存储体。v 一个是偶数地址存储体,一个是奇数地址存储体,两个存储体采用字节交叉编址方式。 D15D8 奇奇 体体 SEL A19A1D7D0 偶偶 体体 SEL A19A1BHEA0A19 A1D7D0D15D8BHE A0操作总线使用0 00 11 01 1从偶地址开始读/写一个字从奇地址单元读/写一个字节从偶地址单元读/写一个字节无效AD15AD0AD15AD8AD7A
29、D00 11 0 从奇地址开始读/写一个字AD15AD8AD7AD0BHE和A0编码含义80868086存储器的分体结构存储器的分体结构 (补充)(补充)3412(00100H)=1234H00100H(偶地址)(00103H)=0152H520100103H(奇地址)一个字可以从偶地址开始存放,也可以从奇地址开始存放。但是8086 CPU访问存储器时,都是以字为单位,并从偶地址开始。80868086存储器的分体结构存储器的分体结构 (补充)(补充)低地址高地址0011223310000从偶地址读写一个字节0080868086的访存特性的访存特性(2) (2) (补充)(补充)00112233
30、10000从奇地址读写一个字节1110001数据交换:按16位进行,从偶地址开始读写0011223310000从偶地址10000H开始读写一个字00111100100020011223310000从奇地址10001H开始读写一个字112210001为了加快程序运行速度,编程时注意从存储器偶地址开始存放字数据,这种存放方式称为“对准存放”。数据交换:按16位进行,从偶地址开始读写80868086的访存特性的访存特性(2) (2) (补充)(补充) 例2-4 现有8个字节的数据为34H,45H,56H,67H,78H,89H,9AH,ABH,假设它们在存储器中的物理地址为400A5H400ACH,
31、若当前(DS)=4002H,试求各存储单元的有效地址;若从存储器中读出这些数据,需要访问几次存储器?读出哪些数据 ?有效地址 = 物理地址段基值16物理地址(20位)段基值16偏移量第1个单元的有效地址 = 400A5H40020H=0085H80868086的访存特性的访存特性(2) (2) (补充)(补充)34H400A5H45H400A6H56H400A7H67H78H89H9AHABH400A8H400A9H400AAH400ABH400ACHDS:0085HDS:0086HDS:0087HDS:0088HDS:0089HDS:008AHDS:008BHDS:008CH若均以字节的方式
32、读出,每个字节须访问一次存储器,共需8次。读出的数据分别为:34H,45H,56H,67H,78H,89H,9AH,ABH80868086的访存特性的访存特性(2) (2) (补充)(补充)34H400A5H45H400A6H56H400A7H67H78H89H9AHABH400A8H400A9H400AAH400ABH400ACHDS:0085HDS:0086HDS:0087HDS:0088HDS:0089HDS:008AHDS:008BHDS:008CH若均以字的方式读出,由于存放的格式为非对准字,每读出一个非对准字需要访问存储器2次,共需8次。80868086的访存特性的访存特性(2)
33、(2) (补充)(补充)读出的数据分别为:4534H,6756H,8978H,0AB9AH34H400A5H45H400A6H56H400A7H67H78H89H9AHABH400A8H400A9H400AAH400ABH400ACHDS:0085HDS:0086HDS:0087HDS:0088HDS:0089HDS:008AHDS:008BHDS:008CH最少需要访问存储器几次?80868086的访存特性的访存特性(2) (2) (补充)(补充)读出的数据分别为:34H (字节)5645H(字)7867H(字)9A89H(字)0ABH (字节)由于是从奇地址开始存放,至少需要5次存储器操作
34、。8088 8088 存储器系统存储器系统D7D0 存储体1MB A19A0A19 A0D7D08086与8088的区别(2)8086存储器分为奇地址和偶地址两个存储体,交叉编址,通过BHE和A0控制对两个存储体的访问8086数据总线是16根D15D0,一次最多可读写一个字8088 CPU整个存储器1MB看成一个整体由A0A19直接寻址,无需A0=0、BHE=0来选择高8位和低8位数据 (8088 无BHE引脚)外部数据线为8根,每访问存储器一次只能读/写一个字节堆栈段的使用堆栈段的使用( (补充补充) )堆栈 所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据,其工作方式是“先进后
35、出”或“后进先出”的方式。1234栈底栈顶 8086系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于64K字节。段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定。Ch 48086堆栈是递减型的“满”堆栈。堆栈段的使用堆栈段的使用 例2-5 给定一堆栈区,其地址为1250H:0000H 1250H: 0100H, (SP)=0052H,请问: (1) 栈顶地址的值;(2)栈底地址的值;(3)SS的值; (4) 若存入数据2456H,在堆栈区如何放置,此时 SP的值是多少?堆栈栈顶的逻辑地址为SS:SP,物理地址=SS16+SP栈顶地址:逻辑地址 1250H:0052H物理
36、地址=1250H16+0052H=12552H栈底地址:逻辑地址 1250H:0100H物理地址=1250H16+0100H=12600H8086堆栈是递减型的“满”堆栈。(1)栈底在高地址端堆栈段的使用堆栈段的使用 例2-4 给定一堆栈区,其地址为1250H:0000H 1250H: 0100H, (SP)=0052H,请问: (1) 栈顶地址的值;(2)栈底地址的值;(3)SS的值; (4) 若存入数据2456H,在堆栈区如何放置,此时 SP的值是多少?1250:0000H1250:0052H1250:0051H1250:0050HSP(SP)=0050H存放字数据,栈顶指针向低地址方向移
37、动2个字节字数据的存放根据小尾顺序:低字节在低地址,高字节在高地址24561250:0100H8086堆栈是递减型的“满”堆栈。(2)向低地址端生长栈底课后作业1 在某系统中,已知当前(SS)2360H,(SP)0900H,请说明该堆栈段在存储器中的物理地址范围。若向堆栈中存入20个字节数据,那么SP的内容为什么值? 完成下列各式补码数的运算,并根据结果设置标志SF、AF、ZF、PF、CF和OF,指出结果是否溢出(1) 0010 1101 B + 1001 1100 B(2) 1000 0000 B + 1111 1111 B 如果在一个程序开始执行之前,(CS)=0A7EH, (IP)=02
38、B40H,试问:该程序段的第一个字的物理地址?指向这一物理地址的CS值和IP值是唯一的吗?NUIST主要内容主要内容 80868086的工作模式的工作模式最小模式最大模式 也称“单处理器系统”,即在系统中只有一个8086处理器,全部的系统总线信号均由8086直接产生。总线控制逻辑减到最少,故称最小模式。80868086的工作模式的工作模式最小模式最大模式 也称“多处理器系统”,即系统中包含两个或多个处理器,其中一个为主处理器(8086),其他的处理器为“协处理器”(CoProcessor)。 最大模式下必须增加专用的总线控制芯片8288。 通常8086配合使用的协处理器有两个:一个是数值运算协
39、处理器8087,一个是I/O协处理器8089。 当系统为具有两个以上的主CPU的多处理器系统时,必须配上总线仲裁器8289。最小模式最小模式 vs vs 最大模式最大模式NUIST 特点 方式 MN/MX引脚 处理器个数 总线控制信号的产生最小模式最大模式教材 p25 习题2-9课程学习以最小模式为主高电平低电平一个多个总线控制器82888086 CPUv共40条 地址/数据:16条 地址/状态:4条 控制:16条 其他:Vcc,GND2,CLKv公共引脚,最小模式引脚 ( 最大模式引脚)v功能、信号流向、工作电平、驱动能力80868086引脚信号引脚信号两种模式下功能相同同一个引脚在两种模式
40、下功能不相同每个引脚注意这几个方面输入 or 输出 or 双向高电平 or 低电平 有效? T1 T2 T3 Tw T4 TI TI T1 T2 T3 T4 总线周期总线周期空闲空闲周期周期总线周期总线周期8086 8086 总线周期总线周期 在8086中,一个基本的总线周期由4个时钟周期组成。 为了介绍引脚功能,提前简单说明一下总线周期。一些分时复用的引脚在T1T4期间内功能不同8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义AD15AD0:地址/数据复用, 双向, 三态. 在T1状态(地址周期) AD15AD0上为地址信号的低16位A15A0; 在T2T4状态(数据
41、周期)AD15 AD0 上是数据信号D15D0。HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)逻
42、辑“1”,逻辑“0”,高阻态8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义A19/S6A16/S3:地址/状态复用总线,三态 T1,输出地址高4位; T2T4,输出状态 S6:恒为低电平,指示8086当前使用总线 S5:与中断允许标志IF相同 S4,S3:指示当前使用的段寄存器(ES,SS,CS,DS)HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7A
43、D6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)S4S3当前正在使用的段寄存器00ES01SS10CS或未使用任何段寄存器11DSBHE/S7:高8位总线允许(Bus High Enable) T1: 指示高8位数据总线上的数据是否有效 (BHE,AD0)配合: 00时读写字,01时读写奇地址字节10时读写偶地址字节 其他T周期: 输出状态信号S7(S7始终为逻辑1
44、,未定义) DMA方式下,该引脚为高阻态。8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A
45、18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)MN/MX: 最小最大工作模式选择信号, 输入。 接Vcc,最小模式; 接GND, 最大模式8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(
46、S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)RD: 读信号, 三态输出,低电平有效 表示当前CPU正在读存储器或I/O端口。WR: 写信号,三态输出,低电平有效 表示当前CPU正在写存储器或I/O端口。8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524
47、232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)M/IO:三态输出 存储器或I/O端口访问信号。指示8086的访问对象,发给MEM或I/O接口。 M/IO为高电平时,表示当前CPU正在访问存储器; M/IO为低电平时,表示当前CPU正在访问I/O端口HOLD(RQ/GT0)HLDA(RQ/
48、GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)存储器写011存储器读101I/O写010I/O读100含义WRRDM/IO8086 CP
49、U8086 CPU在最小模式中引脚定义在最小模式中引脚定义ALE: 地址锁存使能信号, 输出,高电平有效。 用来作为地址锁存器(如74LS373、8282)的锁存控制信号。8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16
50、/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK) DEN: 数据使能信号, 输出, 三态,低电平有效。用于数据总线驱动器(如74LS245、8286)的控制信号。 表示8086准备发送或接收一个数据8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU1234567891011121314151617181920403938373635343332313029282726
51、2524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK) DT/R: 数据驱动器数据流向控制信号,输出,三态。 在8086系统中,通常采用74LS245、8286或8287作为数据总线的驱动器,用DT/R信号来控制数据驱动器的数据传送方向。 当DT/R1时,进行数据发送; 当DT/R0时,
52、进行数据接收。8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE
53、/S7MN/MXRDWR(LOCK) READY:准备就绪信号 由外部输入, 高电平有效, 表示CPU访问的存储器或IO端口己准备好传送数据。 当READY无效时, 要求CPU插入一个或多个等待周期Tw,直到READY信号有效为止。8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD
54、2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK) 8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD
55、6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)RESET:复位信号, 由外部输入, 高电平有效。RESET信号至少要保持4个时钟周期,CPU接收到该信号后,停止进行操作,并对标志寄存器(FR)、IP、DS、SS、ES及指令队列清零,而将CS设置为FFFFH。 当复位信号变为低电平时,CPU从FFFF0H开始执行程序。由此可见,采用8086 CPU计算机系统的启动程序
56、就保持在存储器的高端。见书p36 习题2-10INTR:可屏蔽中断请求 中断请求信号,由外部输入,电平触发,高电平有效 INTR有效时,表示外部设备向CPU发出中断请求。 CPU在每条指令的最后一个时钟周期对INTR进行测试,一旦测试到有中断请求,并且当中断允许标志IF1时,则暂停执行下条指令转入中断响应周期。8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD1
57、4AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)Chp 7INTA:中断响应信号,输出。低电平有效,表示CPU响应了外部发来的INTR信号。8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141
58、516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESETA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)Chp 7NMI 不可屏蔽中断请求信号。不受IF标志的影响 由外部输入,边沿触发,正跳沿有效 CPU一旦测试到NMI请求信号,待当前指令执行完就自动从中
59、断入口地址表中找到类型2中断服务程序的入口地址,并转去执行8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3M/IO(S2)DT/R(S1)DEN/(S0)ALE(QS0)INTA(QS1)TESTREADYRESE
60、TA17/S4A18/S5A19/S6BHE/S7MN/MXRDWR(LOCK)Chp 7TEST:测试信号。由外部输入,低电平有效 当CPU执行WAIT指令时,每隔5个时钟周期对TEST进行一次测试 WAIT指令是用来使处理器与外部硬件同步。例如,与8087同步 若测试到该信号无效,则CPU继续执行WAIT指令,即处于空闲等待状态;当CPU测到TEST输入为低电平时,则转而执行WAIT的下一条指令。由此可见,TEST对WAIT指令起到了监视的作用8086 CPU8086 CPU在最小模式中引脚定义在最小模式中引脚定义HOLD(RQ/GT0)HLDA(RQ/GT1)8086CPU1234567
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国储备粮管理集团有限公司信息化运维中心招聘14人笔试参考题库附带答案详解
- 临床诊疗规范培训
- 商务谈判模拟康师傅买卖合同
- 场摊位租赁协议书
- 公司合伙人协议书范例模板
- 协议离婚孩子的抚养费协议书二零二五年
- 二零二五本的劳务派遣合同
- 二零二五版签署共建北京印刷学院协议
- 个人车辆抵押借款合同标准范例二零二五年
- 物业抵押担保合同二零二五年
- 斜屋面专项施工方案-挂瓦坡屋面(附图)
- 世界节水日主题班会幻灯片PPT模板课件
- 《有效利用乡土资源开展主题活动的实践研究》课题
- 《红楼梦饮食文化研究》
- 合成气生产甲醇工艺流程图
- 03J111-1轻钢龙骨内隔墙
- KIP3000故障代码
- 项目三 电子生日蜡烛的制作-单元3 D触发器ppt课件
- 纳入仕样书xls
- 土地整治项目监理工作总结报告
- 商业银行票据业务知识考试试题
评论
0/150
提交评论