
《微机原理及应用》PPT课件.ppt
44页Review•数制(2,8,16,BCD)•数制转换(1.某进制-10进制 2.10进制到某进制 3.2-8(16),4.8(16)-2)•运算•逻辑运算•数值运算 原码 反码 补码溢出:第二章第二章 8086微处理器微处理器2.1 8086微处理器的内部结构微处理器的内部结构2.2 8086微处理器的引脚功能微处理器的引脚功能2.3 8086CPU的工作模式的工作模式2.4 8086CPU的基本总线时序的基本总线时序重点及难点重点:重点:1.存储器管理存储器管理2.Intel8086内部结构内部结构难点:难点:1.8086处理器引脚含义及连接处理器引脚含义及连接 2.8086CPU的总线时序的总线时序2.1 8086微处理器的内部结构微处理器的内部结构F8086是是Intel系列的系列的16位微处理器,有位微处理器,有16根数据线和根数据线和20根地址线根地址线F时钟频率时钟频率:5MHZ、、8MHZ、、10MHZFI/O端口端口:64KB个个(8位位),并且两个编号,并且两个编号相邻的端口可以组合成一个相邻的端口可以组合成一个16位端口字长:字长:CPU可以一次处理可以一次处理的二进制数的位数的二进制数的位数可寻址的地址空间达可寻址的地址空间达220=1MB。
一一. 总体功能结构总体功能结构 8086CPU从功能结构上来讲,可以分为两大部分,即执行部件从功能结构上来讲,可以分为两大部分,即执行部件((Execution Unit, EU)和总线接口部件()和总线接口部件(Bus Interface Unit, BIU))è 1. EU部件部件负责指令的执行,包括负责指令的执行,包括通用寄存器、专用寄存器、标志寄通用寄存器、专用寄存器、标志寄存器及运算器存器及运算器((ALU)等部分组成等部分组成I当指令要求将数据写到存储器或者当指令要求将数据写到存储器或者I/O电路,或电路,或需从存储器和需从存储器和I/O电路读取数据时,电路读取数据时,EU向向BIU发发出请求,出请求,BIU自动完成这些操作自动完成这些操作I若执行的是一条转移指令,则存放在指令队列缓若执行的是一条转移指令,则存放在指令队列缓冲器中的指令就没有用了,应到新的地址单元去冲器中的指令就没有用了,应到新的地址单元去取出指令取出指令BIU新取出的第一条指令将直接送到新取出的第一条指令将直接送到EU中去执行,随后重新填充指令队列缓冲器中去执行,随后重新填充指令队列缓冲器@((1)通用寄存器组)通用寄存器组AX, BX, CX, DX: 存放存放16位位数据或地址数据或地址AH, AL, BH, BL, CH, CL, DH, DL: 8位位寄存器寄存器注:注:ÓAH等用于等用于8位寄存器使用时只可存放数据,位寄存器使用时只可存放数据,不能存放地址;不能存放地址;Ó一般情况,这些寄存器是用在算术运算或逻辑运算指令中,一般情况,这些寄存器是用在算术运算或逻辑运算指令中,以进行算术逻辑运算。
以进行算术逻辑运算Ó某指令中,它们有特定的用途:如某指令中,它们有特定的用途:如AX作累加器用;作累加器用;BX作基作基址(址(Base)寄存器,如在查表指令)寄存器,如在查表指令XLAT中存放表的起始地中存放表的起始地址;址;CX作计数(作计数(Count))寄存器,如在数据串操作指令的寄存器,如在数据串操作指令的REP中用中用CX存放数据单元的个数作为循环操作的次数;存放数据单元的个数作为循环操作的次数;DX作数据(作数据(Data)寄存器,如在字的除法运算指令)寄存器,如在字的除法运算指令DIV中,中,存放余数存放余数主要用于存放主要用于存放I/O或存储器的端口地址或存储器的端口地址@ (2) 专用寄存器专用寄存器SP、、BP、、SI、、DI指针寄存器指针寄存器SP和和BP::存取位于当前堆栈段中的数据,存取位于当前堆栈段中的数据,但但SP和和BP在使用上有区别在使用上有区别入栈(入栈(PUSH)和出栈)和出栈((POP)指令是由)指令是由SP给出栈顶的偏移地址,故称为堆给出栈顶的偏移地址,故称为堆栈指针寄存器栈指针寄存器BP则是用来存放位于堆栈段中的一个则是用来存放位于堆栈段中的一个数据区基址的偏移地址的,故称作基址指针寄存器数据区基址的偏移地址的,故称作基址指针寄存器。
变址寄存器变址寄存器SI和和DI::是用来存放当前数据段的偏移地址是用来存放当前数据段的偏移地址的在字符串操作中,源操作数地址的偏置放于的在字符串操作中,源操作数地址的偏置放于SI中,中,所以所以SI称为源变址寄存器;目的操作数地址的偏置放于称为源变址寄存器;目的操作数地址的偏置放于DI中,所以中,所以DI称为目的变址寄存器称为目的变址寄存器@((3)) 算数逻辑单元算数逻辑单元ALU主要是进行算术和逻辑运算的部件主要是进行算术和逻辑运算的部件@((4)状态标志寄存器()状态标志寄存器(Flag Register, FR))& 8086 CPU的状态标志寄存器是一个的状态标志寄存器是一个16位位的寄的寄存器,存器,9个位用作标志位,其中状态标志位有个位用作标志位,其中状态标志位有6个,控制标志有个,控制标志有3个 状态标志状态标志,,用来表示运算结果的特征,它们是:用来表示运算结果的特征,它们是:CF、、PF、、AF、、ZF、、SF和和OF;;这这6位都是逻辑位都是逻辑值,判断结果为逻辑真(值,判断结果为逻辑真(true)时其值为)时其值为1;判;判断结果为逻辑假(断结果为逻辑假(false)时,其值为)时,其值为0。
控制标志控制标志,用来控制,用来控制CPU的操作,的操作,IF、、DF和和TF e.g. A=10110110,,B=01101000 则:则:A+B=1 0001 1110∴∴ CF=1(有进位);(有进位); PF=1(奇偶校验,运算结果中有偶数个(奇偶校验,运算结果中有偶数个‘1’);); AF=0(辅助进位,低(辅助进位,低4位向高位向高4位无借位);位无借位); ZF=0(运算结果不为(运算结果不为‘0’);); SF=0(符号标志,运算结果最高位(符号标志,运算结果最高位D7为为‘0’);); OF=0(溢出标志,运算结果没超过范围(溢出标志,运算结果没超过范围 -128~+127) 1 0 1 1 0 1 1 0+ 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0è2. BIU部件部件 负责负责CPU与外部即存贮器、与外部即存贮器、I/O端口传送信息端口传送信息 O BIU BIU负责从指定内存单元中取出指令,送到负责从指定内存单元中取出指令,送到指令队列缓冲器中排队指令队列缓冲器中排队O 指令队列缓冲器指令队列缓冲器是一个是一个6 6字节的字节的RAMRAM存储器,存储器,队列中最多可同时存放队列中最多可同时存放6 6个字节的指令,取来的个字节的指令,取来的指令是按字节顺序存放的指令是按字节顺序存放的O 当队列中有两个以上的指令字节空时,当队列中有两个以上的指令字节空时,BIUBIU会自动执行总线操作,继续取指令会自动执行总线操作,继续取指令O 在执行指令时,如果需要取操作数,则也由在执行指令时,如果需要取操作数,则也由BIUBIU从内存或者从内存或者I/OI/O口指定区域取出,送口指定区域取出,送EUEU部件部件执行执行lBIU由四部分组成由四部分组成 :: (1) 四个四个16位的段地址寄存器:位的段地址寄存器: CS 代码段寄存器,定义代码段基址,代码段寄存器,定义代码段基址, 该段存放指令代码该段存放指令代码 DS 数据段寄存器,定义数据段基址数据段寄存器,定义数据段基址 该段存放数据该段存放数据 ES 附加段寄存器,定义附加段基址附加段寄存器,定义附加段基址 同同DS类似类似 SS 堆栈段寄存器,定义堆栈段基址堆栈段寄存器,定义堆栈段基址 该段做堆栈区使用该段做堆栈区使用 (2) 16位指令指针寄存器位指令指针寄存器IP 。
(3) 20位的地址加法器位的地址加法器 (4) 6字节的指令队列字节的指令队列 提供段基址以构成提供段基址以构成物理地址,不能参物理地址,不能参与算术逻辑运算与算术逻辑运算80868086的指令执行方式的指令执行方式取指1取指2取指3取指4取数据取指5……等待执行1执行2执行3执行4执行5……BIUEU 8086CPU取指与执行并行进行,大大取指与执行并行进行,大大减少了等待取指令所需要的时间,提减少了等待取指令所需要的时间,提高了高了CPU的工作效率的工作效率传统处理器的执行方式传统处理器的执行方式取指1执行1取指2执行2取指3执行3…… 二二. 存储器的管理存储器的管理▓ 逻辑地址逻辑地址逻辑地址逻辑地址LALA:是一相对地址,包含段寄存器:是一相对地址,包含段寄存器的内容和段内偏移,某条指令的逻辑地址可表示的内容和段内偏移,某条指令的逻辑地址可表示为:为:CS::IP▓ 段内偏移量段内偏移量段内偏移量段内偏移量EAEA:是指某存储单元离开该段段:是指某存储单元离开该段段首址的字节数首址的字节数▓ 物理地址物理地址物理地址物理地址PAPA:是指某个存储单元的实际:是指某个存储单元的实际20bit的地址,又叫绝对地址的地址,又叫绝对地址物理地址物理地址=段基址段基址×16+偏移量偏移量 二进制:段基址左二进制:段基址左移四位,低位填移四位,低位填0十六进制:段基址左十六进制:段基址左移一位,低位填移一位,低位填0物理地址物理地址=段基址左移段基址左移4位(低位补位(低位补0))+偏移量偏移量 l注意:注意:CS=0000H,,IP=1051H,,CS=0100H,,IP=0051H,,相同的物理地址可以由不同的逻辑地址得到相同的物理地址可以由不同的逻辑地址得到物理地址物理地址01051H物理地址物理地址01051H三三.8086内存的组织和内存的组织和CPU对存储器的访问对存储器的访问(1) 内存的组织形式内存的组织形式☺内存是按字节编址的,每个存储单元中存放一个内存是按字节编址的,每个存储单元中存放一个8bit8bit二进制数二进制数(一个字节,(一个字节,1Byte1Byte),若一个数据),若一个数据长度为长度为2B2B(一个字),则放在连续两个单元中,高(一个字),则放在连续两个单元中,高字节放高地址单元,低字节放低地址单元。
字节放高地址单元,低字节放低地址单元字的地字的地址用低字节存储地址表示址用低字节存储地址表示☺存储器分成两个部分,每部分为存储器分成两个部分,每部分为512KB512KB一部分叫叫偶存储体偶存储体,其中内存单元的地址码都是偶数如,其中内存单元的地址码都是偶数如00000H00000H、、00002H00002H等,该存储体的数据总线对应接等,该存储体的数据总线对应接CPUCPU数据总线的数据总线的低低8 8位位;另一部分叫;另一部分叫奇存储体奇存储体,其中,其中内存单元的地址码都是奇数,如内存单元的地址码都是奇数,如00001H00001H、、00003H00003H等,等,该存储体的数据总线对应接该存储体的数据总线对应接CPUCPU数据总线的数据总线的高高8 8位位lCPU的地址线的地址线A0作为偶存储体的片选信号作为偶存储体的片选信号 lBHE作为奇存储体的片选信号作为奇存储体的片选信号2)) CPU对内存的访问对内存的访问(3) CPU对数据字的访问lCPU如要访问一个偶地址的数据字如要访问一个偶地址的数据字 ,那么用,那么用D15~D0 16条数据总线可一次访问成功若要访条数据总线可一次访问成功。
若要访问一个奇地址的数据字到问一个奇地址的数据字到CPU,需要两次访问,需要两次访问才能获得这个数据字第一次用才能获得这个数据字第一次用D15~D8访问奇访问奇存储体的低字节,第二次用存储体的低字节,第二次用D7~D0访问偶存储访问偶存储体的高字节体的高字节 l为了提高对数据字的访问速度,应将数据字的低字节放为了提高对数据字的访问速度,应将数据字的低字节放在偶存储体中,即使数据字的地址码为偶数这样在存在偶存储体中,即使数据字的地址码为偶数这样在存储器中存储的数据字叫储器中存储的数据字叫对准字对准字而地址码为奇数的数据而地址码为奇数的数据字叫字叫未对准字未对准字 Review:8086微处理器l基本参数:基本参数:16根数据线,根数据线,20根地址线根地址线l结构:结构:EU,,BIUlEU:四部分:四部分lBIU:四部分:四部分l物理地址的形成物理地址的形成l内存的组织形式内存的组织形式2.2~2.3 8086CPU的工作的工作模式和引脚功能模式和引脚功能引脚的基本知识引脚的基本知识l引脚的功能引脚的功能l信号的流向信号的流向l有效电平有效电平l三态能力三态能力l引脚的复用引脚的复用指引脚信号的定义、作用;通常指引脚信号的定义、作用;通常采用英文单词或其缩写表示采用英文单词或其缩写表示信信号号从从芯芯片片向向外外输输出出,,还还是是从从外部输入芯片,或者是双向的外部输入芯片,或者是双向的起起作作用用的的逻逻辑辑电电平平高高、、低低电电平平有有效上升、下降边沿有效效上升、下降边沿有效以少量的引脚提供更多的功能以少量的引脚提供更多的功能输输出出正正常常的的低低电电平平、、高高电电平平外外,,还可以输出高阻的第三态还可以输出高阻的第三态一一. 8086的两种工作模式的两种工作模式最小工作模式:即由8086组成的单处理器系统,所有的总线控制信号都由8086直接产生,系统中的总线控制逻辑电路被减到最少最大工作模式:即由8086组成的中等规模或大规模系统,包含两个或多个处理器,8086为主处理器,其它为协处理器二二. 8086引脚图引脚图8086为双列直为双列直插式封装,有插式封装,有40引脚,但总线信引脚,但总线信号量却大于号量却大于40,,故采用分时复用故采用分时复用技术技术一个引脚在不同的时一个引脚在不同的时刻具有两个甚至多个刻具有两个甚至多个作用作用@(1)地址线、数据线和状态线lAD15~AD0(双向,三态):地址(双向,三态):地址/数据数据分时复用分时复用总总线线 。
为低为低16位地址位地址/数据的复用引脚线采用分时数据的复用引脚线采用分时的多路转换方法来实现对地址线和数据线的复用的多路转换方法来实现对地址线和数据线的复用在在DMA方式时,这些引线被浮空,置为高阻状态方式时,这些引线被浮空,置为高阻状态lA19/S6、、A18/S5、、A17/S4、、A16/S3(输出,三态):(输出,三态):地址地址/状态状态复用复用线lBHE/S7 (输出,三态):(输出,三态):为高为高8位数据总线允许位数据总线允许/状态复用引脚/状态复用引脚8086有有16根数据线,可以用高根数据线,可以用高8位数据线传送一个字节,也可以用低位数据线传送一个字节,也可以用低8位数据线传位数据线传送一个字节,还可以一次传送一个字,送一个字节,还可以一次传送一个字, BHE*是用是用来区分这几类传输的来区分这几类传输的è1. 最小模式下引脚信号及功能最小模式下引脚信号及功能@((2)控制线)控制线①① RD(输出,三态)(输出,三态) ::读读信号线,与信号线,与M/IO配合使配合使用用 ②② WR::写写信号线(输出,三态)信号线(输出,三态) ③③ M/IO(输出,三态输出,三态)::存储器存储器或或I/O端口访问信号。
端口访问信号④④ READY (输入)(输入) ::准备就绪准备就绪信号信号 是由选中是由选中的的存储器或存储器或I/O端口送来的响应信号端口送来的响应信号,当有效时,当有效时(高电平),表示被访问的存储器或(高电平),表示被访问的存储器或I/O端口已准端口已准备就绪,可完成一次数据传送备就绪,可完成一次数据传送⑤⑤ INTR(输入):可屏蔽(输入):可屏蔽中断请求中断请求信号信号 ⑥INTA(输出):(输出):中断响应中断响应信号信号 CPU向外输出向外输出的中断响应信号,用于对外部中断源发出的中断请的中断响应信号,用于对外部中断源发出的中断请求的响应求的响应⑦NMI (输入):非(输入):非可屏蔽可屏蔽中断请求信号中断请求信号 ⑧TEST(输入):(输入):测试测试信号,信号,低电平有效信号和低电平有效信号和WAIT指令配合使用当指令配合使用当CPU执行执行WAIT指令时,指令时,CPU处于等待状态,并且每隔处于等待状态,并且每隔5个个T对该信号进行一对该信号进行一次测试,一旦检测到次测试,一旦检测到 TEST信号为低,则结束等待信号为低,则结束等待状态,继续执行状态,继续执行WAIT指令下面的指令。
指令下面的指令WAIT指指令是使令是使CPU与外部硬件同步的,与外部硬件同步的,TEST相当于外部相当于外部硬件的同步信号硬件的同步信号⑨RESET(输入):(输入):复位复位信号信号 ,输入,高电平有效,输入,高电平有效 ⑩ALE(输出):(输出):地址锁存地址锁存允许信号允许信号 ALE下降沿下降沿锁存地址锁存地址kDT/R(输出,三态):数据(输出,三态):数据发送发送/接收接收控制信号控制信号 在使用在使用8286或或74LS245数据收发器的最小模式数据收发器的最小模式系统中,用系统中,用DT/ R来控制数据传送方向来控制数据传送方向DT/ R为为低电平,进行数据接收(低电平,进行数据接收(CPU读),即收发器把系读),即收发器把系统数据总线上的数据读进来当统数据总线上的数据读进来当CPU处在处在DMA方式方式时,此线浮空时,此线浮空 lDEN(输出,三态):(输出,三态):数据允许信号数据允许信号 在使用在使用8286或或74LS245数据收发器的最小模式系统中,数据收发器的最小模式系统中,允许收发器和系统数据总线进行数据传送允许收发器和系统数据总线进行数据传送mHOLD(输入):总线请求信号(输入):总线请求信号 。
当系统中当系统中CPU之外的总线主设备要求使用总线时,通过之外的总线主设备要求使用总线时,通过HOLD引脚向引脚向CPU发出请求发出请求nHLDA(输出):总线请求响应信号(输出):总线请求响应信号 当当HLDA有效(高电平)时,表示有效(高电平)时,表示CPU对总线请对总线请求主设备作出响应,同意让出总线,与求主设备作出响应,同意让出总线,与CPU相相连的三态引脚都被浮置为高阻态连的三态引脚都被浮置为高阻态 oMN/MX::工作模式选择工作模式选择信号@((3)其它)其它①CLK::8086时钟时钟信号信号 ②Vcc:电源8086用单一的用单一的+5V电压③GND:地线“引脚”小结CPU引脚是系统总线的基本信号引脚是系统总线的基本信号可以分成三类信号:可以分成三类信号:l16位数据线:位数据线:D0~~D16l20位地址线:位地址线:A0~~A19l控制线:控制线:¡ALE、、M/IO、、WR、、RD、、READY¡INTR、、INTA、、NMI,,HOLD、、HLDA¡RESET、、CLK、、Vcc、、GND三、三、 最小工作模式系统最小工作模式系统最小模式硬件连接特点:OMN/MX接高电平(+5V),决定了8086工作在最小模式O有3片8282或74LS373,用来做地址锁存器O当系统中所连存储器和外设较多时,需要增加数据总线的驱动能力,要用两片8286/8287作为总线(数据)收发器O有一片8284A,作为时钟发生器è1.地址锁存器地址锁存器8282或或74LS373l具有三态输出的具有三态输出的TTL电平锁存器电平锁存器lSTB 电平锁存引脚电平锁存引脚lOE 输出允许引脚输出允许引脚828274LS373l具有三态输出的具有三态输出的TTL电平锁存器电平锁存器lLE 电平锁存引脚电平锁存引脚lOE 输出允许引脚输出允许引脚è2.数据收发器数据收发器8286l8位双向缓冲器位双向缓冲器l控制端连接在一起,控制端连接在一起, 低电平有效低电平有效l可以双向导通可以双向导通l输出与输入同相输出与输入同相OE==0,导通,导通 T==1 A→B T==0 A←BOE==1,不导通,不导通è3.时钟发生器时钟发生器8284最小模式的总线形成AD7~AD0A15~A8A19/S6~A16/S3+5V8086ALE8282STB系统总线信号A19~A16A15~A8A7~A0D7~D0M/IORDWR8282STB8282STB8286TMN/MXIO/MRDWRDT/RDEN((1))20位地址总线位地址总线——采用采用3个三态地址锁存器个三态地址锁存器8282进行锁存和驱动进行锁存和驱动((2))16位数据总线位数据总线——采用采用2个数据收发器个数据收发器8286进行驱动进行驱动((3)系统控制信号)系统控制信号——由由8086引脚直接提供引脚直接提供AD15 ~AD8T8286D15 ~D8BHEBHE2.4 8086CPU的基本总线控制时序的基本总线控制时序•指令周期指令周期 执行一条指令所需的时间。
一个指令周期由一个或执行一条指令所需的时间一个指令周期由一个或几个总线周期组成几个总线周期组成•总线周期总线周期 通过总线对存储器或通过总线对存储器或I/O接口进行一次访问所需要接口进行一次访问所需要的时间一般包括的时间一般包括4个时钟周期个时钟周期•时钟周期时钟周期 一个时钟脉冲所持续的时间一个时钟脉冲所持续的时间• 4个时钟周期编号为个时钟周期编号为T1、、T2、、T3和和T4• 总线周期中的时钟周期也被称作总线周期中的时钟周期也被称作“T状态状态”•等待周期:等待周期: 是在一个总线周期的是在一个总线周期的T3和和T4之间,之间,CPU根据根据Ready信号来确定是否插入信号来确定是否插入TW,插入几个,插入几个TW一、最小方式下的总线读操作一、最小方式下的总线读操作T1状态状态——输出输出20位存储器地址位存储器地址A19 ~ A0 IO/M*输出低电平,表示存储器操作;输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址输出正脉冲,表示复用总线输出地址T2状态状态——输出控制信号输出控制信号RD*T3和和Tw状态状态——检测数据传送是否能够完成检测数据传送是否能够完成T4状态状态——完成数据传送完成数据传送二、最小方式下的总线写操作二、最小方式下的总线写操作T1状态状态——输出输出20位存储器地址位存储器地址A19 ~ A0IO/M*输出低电平,表示存储器操作;输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址输出正脉冲,表示复用总线输出地址T2状态状态——输出控制信号输出控制信号WR*和数据和数据D15 ~ D0T3和和Tw状态状态——检测数据传送是否能够完成检测数据传送是否能够完成T4状态状态——完成数据传送完成数据传送。
