《微机接口技术教学课件作者第三版王成端第2章节微处理器课件》由会员分享,可在线阅读,更多相关《微机接口技术教学课件作者第三版王成端第2章节微处理器课件(124页珍藏版)》请在金锄头文库上搜索。
1、第2章,微处理器,第2章 微处理器,学习目标: 掌握微处理器的一般工作原理,并了解Intel系列CPU的典型产品及其特点; 重点掌握8086/8088微处理器的内部结构、寄存器组织方式、存储器及输入输出方式; 掌握8086/8088微处理器的引脚功能和工作时序; 理解80386、80486微处理器的内部结构、总线周期等。,第2章 微处理器,本章目录: 2.1 8086/8088微处理器 2.2 80386和80486微处理器 2.3 Pentium系列及Core 2 Duo微处理器 习题与思考题,2.1 8086/8088微处理器,2.1.1 8086CPU内部结构 2.1.2 8086CPU
2、寄存器组织 2.1.3 8086CPU引脚功能 2.1.4 8086/8088CPU的存储器组织和I/O组织 2.1.5 最小模式和最大模式下的基本配置 2.1.6 8086/8088CPU内部时序,返回上一级,2.1.1 80386 CPU内部结构,执行单元EU,总线接口单元BIU,返回上一级,1执行单元EU,(1)算术逻辑运算单元(ALU) 是一个16位的运算器,可用于8/16位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器所需的16位偏移量。 (2)标志寄存器(FLAGS) 是一个16位的运算器,用来反映CPU运算的状态特征和存放某些控制标志。 (3)数据暂存寄存器 协助ALU
3、完成运算,暂存参加运算的数据。,返回上一级,1执行单元EU(续),(4)通用寄存器组 包括4个16位的数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。 (5)EU控制电路 负责从BIU的指令队列缓冲器中取指令,并对指令译码,根据指令要求向EU内部各部件发出控制命令,以完成各条指令规定的功能。,返回上一级,2总线接口单元BIU,总线接口单元BIU是8086CPU同存储器和I/O设备之间的接口部件,负责对全部引脚的操作,提供了16位双向数据总线、20位地址总线和若干条控制总线。 总线接口单元BIU由20位地址加法器、四个段寄存器、16位指令指针IP、指令队列缓冲
4、器和总线控制逻辑电路等组成。,返回上一级,(1)地址加法器和段寄存器,16位的寄存器实现20位地址寻址:由专门地址加法器将有关段寄存器内容(段的起始地址)左移四位后,与16位偏移地址相加,形成一个20位的物理地址,以对存储单元寻址。,返回上一级,例:CS=2000H,IP=1000H,则20位物理地址为21000H,(2)16位指令指针IP,指令指针IP(Instruction Pointer)用来存放下一条要执行指令在代码段中的偏移地址。它只有和CS相结合,才能形成指向指令存放单元的物理地址。 在程序运行中,IP的内容由BIU自动修改,使它总是指向下一条要取的指令在现行代码段中的偏移地址。,
5、返回上一级,(3)指令队列缓冲器,总线空闲时,BIU会自动地进行预取指令操作,将所取得的指令按先后次序存入一个6字节的指令队列缓冲器,该队列缓冲器按“先进先出”的方式工作,并按顺序取到EU中执行。,返回上一级,(4)总线控制逻辑电路,将CPU的内部总线和外部总线相连,是8086CPU与内存单元或I/O端口进行数据交换的必经之路。 包括16条数据总线、20条地址总线和若干条控制总线。,返回上一级,2.1.2 8086CPU寄存器组织,14个16位寄存器: 通用寄存器 段寄存器 地址指针和变址寄存器 指令指针和标志寄存器,返回上一级,1通用寄存器,又称为数据寄存器, 可作为16位数据寄存器使用:
6、AX、BX、CX、DX; 也可作为两个8位数据寄存器使用: AH、BH、CH、DH存放高字节 AL、BL、CL、DL存放低字节 并且可独立寻址。,返回上一级,1通用寄存器(续),多数情况下,通用寄存器是用在算术和逻辑运算指令中,用来存放算术逻辑运算的源/目的操作数。 由于特殊使用场合: AX又叫累加器 BX叫基址寄存器 CX又叫计数寄存器 DX叫数据寄存器。,返回上一级,2段寄存器,8086CPU有20条地址线,可直接寻址1MB的存储空间。 将这1MB存储空间分成若干个逻辑段,每个逻辑段长度64KB。 4个16位的段寄存器分别存放各个段的起始地址(又称段基址)。,返回上一级,2段寄存器(续),
7、代码段寄存器CS表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供。 堆栈段寄存器SS指定当前堆栈的底部地址。 数据段寄存器DS指示当前程序使用的数据所存区段的最低地址。 附加段寄存器ES则指出当前程序使用附加段地址的位置,该段一般用来存放原始数据或运算结果。,返回上一级,3地址指针和变址寄址器,地址指针和变址寄存器都是16位寄存器,一般用来存放地址的偏移量(即相对于段起始地址的距离)。 在BIU的地址加法器中,与左移4位后的段寄存器内容相加产生20位的物理地址。,返回上一级,3地址指针和变址寄址器(续1),堆栈指针SP用以指出在堆栈段中当前栈顶的地址,入栈(
8、PUSH)和出栈(POP)指令是由SP给出栈顶的偏移地址。 基址指址BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。 注意: 一是BP只是全部偏移量中的一个基本值; 二是BP所指的物理地址必须用堆栈寄存器SS来计算。,返回上一级,3地址指针和变址寄址器(续2),变址寄存器SI和DI用来存放当前数据段中某个单元的偏移量。 在字符串处理中,源操作数据存放在源变址寄存器SI给出的偏移地址上。而处理后的字符串则放在由目的变址寄存器DI给出的偏移地址上。 BX作基地址用时也可以指定数据段的偏移基本量。,返回上一级,4指令指针和标志寄存器,IP中存放的是BIU要取的下一条指令的偏移地址。 具
9、有自动加1功能,每当执行一次取指操作,将自动加1,使其指向要取的下一内存单元,虽每取一个字节后IP内容加1,但取一个字后IP内容加2。,返回上一级,4指令指针和标志寄存器(续),标志寄存器FLAGS是一个16位的寄存器,8086共使用了9个有效位。其中6位是状态标志位,3位为控制标志位。 状态标志位是当一些指令执行后,所产生数据的一些特征的表征。 控制标志位则是可以由程序写入,以达到控制处理机状态或程序执行方式的表征。,返回上一级,6个状态标志位,CF(Carry Flag)进行标志位:当执行一个加法(或减法)运算使最高位产生进位(或借位)时,CF为1;否则为0。 PF(Prity Flag)
10、奇偶标志位:该标志位反映运算结果中1的个数是偶数个还是奇数个。当指令执行结果的低8位中含有偶数个1时,PF为1;否则为0。 AF(Auxiliary carry Flag)辅助进位标志位:当执行一个加法(或减法)运算使结果的低4位向高4位有进位(或借位)时,AF为1;否则为0。,返回上一级,6个状态标志位(续),ZF(Zero Flag)零标志位:若当前的运算结果为零,ZF为1;否则为0。 SF(Sign Flag)符号标志位:它和运算结果的最高位相同。 OF(Overflow Flag)溢出标志位:当补码运算有溢出时,OF为1;否则为0。,返回上一级,3个控制标志位,DF(Direction
11、 Flag)方向标志位:用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。 IF(Interrupt enable Flag)中断允许标志位:用来控制8086是否允许接收外部中断请求。若IF=1,8086能响应外部中断,反之则不响应外部中断。 注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。,返回上一级,3个控制标志位(续),TF(Trap Flag)跟踪标志位:是为调试程序而设定的陷阱控制位。当该位置“1”时,8086CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断。当该位复位后,CP
12、U恢复正常工作。,返回上一级,2.1.3 8086CPU引脚功能,8086CPU可在两种模式下工作: 最小模式,是指系统中只有一个8086CPU,在这种系统中,8086CPU直接产生所有的总线控制信号。 最大模式,是指系统中常含有两个或多个微处理器,其中一个为主处理器8086CPU,其他的处理器称为协处理器。在最大模式工作时,控制信号是通过8288总线控制器提供的。,返回上一级,8086CPU引脚图,返回上一级,1地址/数据复用总线AD0AD15,分时复用的地址/数据总线,具有双向、三态功能。用于输出低16位地址A0A15和输入/输出数据D0D15。 T1:输出要访问的低16位地址A0A15。
13、 其他时钟周期:读周期时处于悬浮(高阻)状态;写周期时传送数据。,返回上一级,2地址/状态复用总线A19/S6A16/S3,分时复用的地址/状态线,输出、三态。 T1:输出访问存储器的20位物理地址的最高4位地址(A19A16),与AD15AD0一起构成访问存储器的20位物理地址。当CPU访问I/O端口时,A19A16保持为“0”。 其他:输出状态信息。 S6为0,用来指示8086CPU当前正与总线相连; S5状态用来指示中断允许标志位IF的当前设置; S4、S3组合指示CPU当前正在使用哪个段寄存器。,返回上一级,3控制总线,(1)BHE/S7(Bus High Enable/Status)
14、: 高8位数据总线允许/状态复用引脚。 三态输出,低电平有效, T1时表示总线高8位AD15AD8上的数据有效。若=1,表示仅在数据总线AD7AD0上传送数据。 读/写存储器或I/O端口以及中断响应时,用作选体信号,与最低位地址码A0配合,表示当前总线使用情况。 S7用来输出状态信息,暂作备用。,返回上一级,(2)RD(Read):读信号,三态、输出。 当低电平有效时,表示当前CPU正在对存储器或IO端口进行读操作。 (3)WR(Write):写信号,三态、输出。 当低电平有效时,表示当前CPU正在对存储器或I/O端口进行写操作。,返回上一级,(4)M/IO(Memory/Input Oupu
15、t):存储器或I/O端口选择控制信号,三态输出。 高电平表示当前CPU正在访问存储器;低电平表示CPU当前正在访问I/O端口。 一般在前一个总线周期的T时有效,然后在此新的总线周期中,一直保持有效电平,直至T为止。 在DMA方式时,被悬空为高阻状态。,返回上一级,(5)READY:准备就绪信号,输入,高电平有效。 READY=1时,表示CPU访问的存储器或I/O端口已准备好传送数据,马上可以进行读写操作。 (6)INTR(Interrupt Request):可屏蔽中断请求信号,输入,电平触发,高电平有效。 当INTR=1时,表示外设向CPU发出中断请求,CPU在每个指令周期的最后一个T状态去
16、采样该信号,若INTR=1且IF=1时,则CPU就会在结束当前指令后去响应中断,转去执行中断服务程序。,返回上一级,(7)INTA(Interrupt Acknowledge): 中断响应信号,输出,低电平有效。 表示CPU响应了外设发来的INTR信号。在中断响应周期的T、T、T内为低电平,通知外设端口可向数据总线上放置中断类型号。 (8)NMI(NO-Maskable Interrupt): 不可屏蔽中断请求信号,输入,上升沿触发。 此请求不受IF状态的影响,也不能用软件屏蔽。,返回上一级,(9)TEST:测试信号,输入,低电平有效。 与WAIT指令配合,用于多处理器系统中,实现8086CPU与协处理器间的同步协调功能。 (10)RESET:复位信号,输入,高电平有效。 RESET信号至少要保持4个时钟周期。CPU检测到RESET为高电平信号后,停止进行操作,并将标志寄存器、段寄存器、指令指针IP和指令队列等复位到初始状态。CPU复位后,从FFFF0H单元开始读取指令。,返回上一级,(11