您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 微机原理与接口技术 周荷琴 第二章
第二章8086系统结构2.1CPU的内部组成2.28086的编程结构2.38086的引脚信号和工作模式2.48086存储器组织2.1CPU的内部组成1、运算器主要功能:对数据进行算术和逻辑运算。这些功能由算术逻辑运算单元ALU来实现2、寄存器组寄存器可以存放数据或地址,也可存放控制信息和状态信息。CPU中寄存器的数量对CPU的运行速度影响很大。寄存器有以下几类:数据寄存器、地址寄存器、状态寄存器、控制寄存器等3、控制器控制器是指挥与控制计算机各功能部件协同工作,自动执行计算机程序的部件。控制器一般是由指令指针寄存器IP、指令寄存器IR、指令译码器ID、控制逻辑电路和时钟控制电路等组成。2.28086CPU的内部结构8086CPU:16位微处理器,采用HMOS技术,集成度29000个管/片数据总线:16位地址总线:20位,可直接寻址的地址空间1M个字节一、8086CPU的内部结构1、总线接口部件BIUBIU的组成:(1)16位段地址寄存器:CS、DS、ES、SS(2)16位指令指针寄存器IP(3)20位物理地址加法器(4)6字节指令队伍(5)总线控制逻辑BIU的功能:负责CPU与存储器、I/O端口传送数据:从内存取指令送到指令队列在CPU执行指令时,配合EU从指定的内存单元或I/O端口读取数据,再将指令传送给EU,由EU执行把EU的执行结果传送到指定的内存单元或I/O端口2、指令执行部件EUEU的组成:(1)4个通用寄存器组:AX、BX、CX、DX,用以存放16位数据或地址,也可分为8个8位寄存器来使用,只能存放数据不能存放地址。(2)指针和变址寄存器:BP、SP、SI、DI这组寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。BP和SP寄存器称为指针寄存器,与SS联用,为访问现行堆栈段提供方便。SI和DI称为变址寄存器,通常与DS一起使用,为访问现行数据段提供段内地址偏移量。(3)标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。状态标志:表示前面的操作执行后,ALU处于何种状态,可能会影响后面的操作。CF、PF、AF、ZF、SF、OF控制标志:认为设置的,可以专门的设置或删除指令,对某种功能起控制作用。TF、IF、DFSF(符号标志位):和运算结果的最高位相同,指出当前运算执行后的结果是正还是负ZF(零标志位):如果当前运算的结果为0,则ZF=1,否则为0PF(奇偶标志位):如果运算结果的低8位中含有偶数个1,则PF=1,否则为0CF(进位标志位):如果加法操作使最高位产生进位,或减法操作从最高位借位时,CF为1,循环指令也会影响这一标志AF(辅助进位标志位):加法运算时,如果第三位向第四位进位,或减法运算时,第四位向第三位借位时,则AF设为1,否则AF=0用于BCD码运算调整OF(溢出标志位):在运算过程中,如果操作结果超过了模值能表示的数值范围则称为溢出,OF被置为1,否则OF置为0同号数相加,异号数想减双位符号法数值位与最高位的进位值异或DF(方向标志位):控制串操作命令方向的标志。如果DF=0,串操作过程中地址自增;DF=1,串操作过程中地址自减IF(中断标志位):控制可屏蔽中断的标志。如果IF=0,CPU不能对可屏蔽中断做出响应,IF=1,则可以接受可屏蔽中断请求。中断:计算机暂时终止它正在执行的程序,转而去执行请求中断的那个外设或事件的服务程序,待处理完毕后返回到终止了的程序的过程TF(跟踪标志位):如果TF=1,则CPU按跟踪方式执行,例1:执行两个数的加法,分析对标志位的影响例2:执行两个数的加法,分析对标志位的影响(4)算术逻辑单元(ALU)16位加法器,用于对寄存器和指令操作数进行算术或逻辑运算(5)EU控制系统◊接受从总线接口单元的指令队列中取来的指令代码◊对其译码和向EU内各有关部分发出时序命令信号◊协调执行指令规定的操作由此可见,8086取值部分与执行部分是分开的在一条指令的执行过程中可以取出下一条(或多条)指令,指令在指令队列中排队在一条指令执行完成后,就可以立即执行下一条指令,减少CPU为取指令而等待的时间,提高CPU的利用率和整个运行速度8086/8088微处理器:BIU和EU分开,取指和执行可以重迭大大减少了等待取值所需的时间,提高CPU的利用率BIU和EU并行工作的管理原则(1)当8086指令队伍中有2个字节(8088为1个字节)为空时,BIU自动将指令取到指令队伍中(2)当EU执行一条指令时,它先从指令队伍的队首取出指令代码,再用几个时钟周期去执行指令。在指令执行的过程中,如果必须访问存储器或I/O设备,则EU请求BIU进入总线周期去完成访问内存或I/O端口的操作。如果BIU此时刚好空闲,则立即响应总线请求;如果此时BIU正在取指令,需完成当前取指令周期,然后去响应EU的总线请求(3)当指令队列已满,而且EU对BIU无总线请求,BIU进入空闲状态(4)当执行转移、调用和返回指令时,指令队列清零,BIU再向指令队列中装入另一个程序段的指令。原因是下面要执行的指令不是指令队列中的下一条指令了。8086的总线周期的概念EU和BIU之所以能协调工作,必须有一个时钟来控制1、时钟周期:计算机中最基本的时间单元(最短的时间度量单元)为1/主频(s)如:主频为5MHz,则时钟周期为200ns2、总线周期:CPU对存储器或外设读写一次所需的时间,最基本的总线周期包括四个时钟周期在一个最基本的总线周期中,习惯上将4个时钟周期称为4个状态,分别是T1、T2、T3、T4(1)在T1状态:CPU往地址/数据总线上发出地址信号,指出要寻找的存储单元或外设端口地址(2)在T2状态:CPU从总线上撤销地址,而使16位地址/数据总线浮置成高阻状态,为传输数据作准备,4位的地址/状态总线输出本总线周期的状态信息(3)在T3状态:4位地址/状态总线继续提供状态信息,16位地址/数据总线上出现CPU写出的数据或CPU读入的数据如果I/O设备或存储器速度慢,I/O设备或存储器会向CPU发出等待请求信号,于是CPU插入一个或多个附加的时钟周期Tw状态,也称等待状态。(4)在T4状态:完成数据的读写操作,总线周期结束只有在CPU与I/O设备或存储器之间传输数据,以及从内存取指令到指令队列时,CPU才执行总线周期。因此,在两个总线周期之间,总线就可能处于空闲状态Tr,此时执行空闲周期3、指令周期:执行一条指令所需要的全部时间总线周期是CPU对存储器或外设读写一次所需的时间一个指令周期可能包括若干个总线周期不同的指令的指令周期可能不同指令周期由一些基本的总线周期组成:存储器读/写I/O端口读/写终端响应2.38086CPU的引脚及其功能8086/8088CPU芯片采用40条引脚的双列直插式封装。2.3.1最小模式和最大模式8086/8088可以在两种模式下工作:最小模式和最大模式,取决于硬件。1、最小模式:整个微型计算机系统只有一个CPU,所有的总线控制信号都直接由这个CPU产生,因此,系统的总线控制电路被减到最少。2、最大模式:包括两个以上的CPU。其中一个为主处理器8086/8088,其他的称为协处理器,协助主处理器进行工作如:8087-数字运算协处理器;8089-输入输出协处理器3、实现:8086/8088第33根引脚(),接地为最大模式,接+5V电压为最小模式。2.3.28086/8088引脚信号和功能一、几点说明1、总线复用技术:可以减少引脚,提高可靠性,降低工艺难度(1)分时复用:8086/8088的地址线/数据线是复用的,称为多路总线。它们是分时复用的,某些时候总线(引脚)上出现的是地址,有些时候出现的是数据,8086有16位是数据/地址复用引脚,有4位是地址和状态复用。8088有8位数据/地址复用引脚(2)模式复用:不同工作模式下引脚信号的复用。(引脚图中括号中的引脚即为最大模式下的信号)二、8086和8088的引脚定义最大模式和最小模式中定义相同的引脚:☼GND、Vcc(引脚1、20、40):第1、20引脚为地,第40引脚为电源☼AD0~AD15(引脚2~16,39):数据/地址复用引脚,双向工作在总线周期的T1状态,输出要访问的存储器或I/O端口的地址;T2~T3状态,对于写操作,是传输数据;对于读操作,则处于浮空状态,等待数据输入☼A19/S6~A16/S3(引脚35~38):地址/状态复用引脚,输出工作在总线周期的T1状态输出要访问的存储器或I/O端口的地址;在T2~T4状态,用来表示CPU的状态信息。其中:S6:总为0,表示当前8086/8088与总线是相连的S5:中断允许标志的当前设置(IF)1表示允许可屏蔽中断请求S4S3:合起来表示当前正在使用哪个段寄存器☼/S7(引脚34):高8位数据线允许/状态复用,输出信号在总线周期的T1状态输出BHE表示高8位数据线有效,T2~T4状态,输出状态信号S7,但没有赋予任何意义☼NMI(引脚17):不可屏蔽的中断输入引脚上升沿触发,不受IF影响。当上升沿到来时,CPU将结束当前指令,执行对应于中断类型号为2的非屏蔽中断处理子程序☼INTR(引脚18):可屏蔽中断请求信号输入引脚高电平有效,CPU在执行每一条指令的最后一个时钟周期会对INTR信号进行采样,如果FLAG的IF位为1,并且接收到INTR信号,则在结束当前指令后,响应中断请求,执行请求的中断处理子程序。☼(引脚32):读信号,输出低电平有效,有效时是指对内存或I/O端口进行读操作,在总线周期的T2~T4状态保持低电平,具体从内存读还是I/O端口读,取决于M/IO。☼CLK(引脚19):时钟信号,输入☼RESET(引脚21):复位信号,输入高电平有效。复位信号要求至少维持4个时钟周期的高电平,CPU将结束当前操作,并将FLAG、IP、DS、ES、SS以及指令队列清零,CS置为FFFFH,当复位信号变低电平时,CPU从FFFF0H开始执行程序☼READY(引脚22):“准备好”信号,输入高电平有效,是由CPU要访问的存储器或者I/O设备发来的响应信号,表示存储器或者I/O设备已准备好,CPU在总线周期的T3状态决定是否插入Tw☼(引脚23):测试信号,输入低电平有效,结束等待状态,和WAIT指令结合使用,用于CPU与外部硬件同步,CPU执行WAIT指令时,处于等待状态,当TEST信号有效时,结束等待状态,CPU将继续执行被暂停的指令☼(引脚33):最大模式和最小模式控制信号,输入接+5V电压,CPU处于最小模式;接地,CPU处于最大模式最大模式和最小模式定义不同的引脚三、最小模式(1)引脚信号:第24~31引脚在最小模式下的定义☼(引脚24):中断响应信号,输出,是对中断请求设备的响应☼ALE(引脚25):地址锁存允许信号,输出,高电平有效ALE是8086/8088提供给地址锁存器8282/8283的控制信号,在总线周期的T1状态,ALE输出高电平,表示当前地址/数据复用总线上输出的是地址信息,8282/8283将地址进行锁存(对地址进行备份)☼(引脚26):数据允许信号,输出,低电平有效提供控制信号,通知收发器,CPU准备接收或发送一个数据,在读周期从T2状态的中间开始变为低电平,一直保持到T4的中间;写周期时,在T2的一开始就变成低电平,一直保持到T4的中间。☼DT/(引脚27):数据收发信号,输出数据收发方向的控制信号,通知总线收发器是接收还是发送数据。为高电平时,进行的是数据发送,否则是接收数据。☼M/(引脚28):存储器输入/输出控制信号,输出用来区分CPU访问存储器还是I/O端口。高电平时,CPU与存储器;低电平时,CPU与I/O端口,有效电平一直保持到T4状态☼(引脚29):写信号,输出,低电平有效此引脚信号有效时,表示CPU当前正在进行对存储器或者I/O之间的写操作,有效电平保持在T2、T3、Tw状态☼HOLD(引脚31):总线保持请求信号,输入为其他部件向CPU发出的总线请求
本文标题:微机原理与接口技术 周荷琴 第二章
链接地址:https://www.777doc.com/doc-3164742 .html