




已阅读5页,还剩88页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及应用,北京科技大学信息工程学院,第2章微型计算机中的微处理器,本章主要的内容是8086/8088微处理器的相关知识以及8086/8088CPU系统的组织和工作方式(1)微处理器的内部结构及各相关组件的基本功能(2)8086/8088CPU的内部寄存器的构成及应用特点(3)8086/8088CPU系统中存储器和I/O接口的组织方式(4)8086/8088CPU的外部引脚和应用特征(5)8086/8088CPU的工作模式以及工作时序,应重点掌握和理解的知识(1)重点掌握8086/8088CPU的内部结构特征及外部应用特征(2)重点掌握内部寄存器的构成及应用特点(3)重点掌握8086/8088系统中存储器的组织特点以及物理地址的计算方法(4)掌握8086/8088系统中I/O组织特点及端口的编址方式(5)掌握8086/8088CPU的最大最小两种工作模式(6)理解8086/8088CPU工作周期的相关概念以及CPU外部操作的典型工作时序,8086/8088CPU的编程结构8086/8088的存储器组织8086/8088的I/O组织8086/8088CPU的引脚功能和工作方式8086/8088的典型时序分析,第1个主题8086/8088CPU的编程结构,主要内容:,8086/8088CPU的内部结构8086/8088CPU的寄存器结构,8086/8088CPU的内部结构,8086/8088CPU的内部结构基本相同均由两个独立的工作部件组成一个称为执行部件(EU)一个称为总线接口部件(BIU),8086/8088CPU的内部结构,8088CPU数据总线为8位、指令队列为4字节,寄存器是中央处理器的组成部份。寄存器是高速的存贮部件(但存贮容量有限),它们可用来暂存指令、数据和地址。可将寄存器内的数据进行算术及逻辑运算。存于寄存器内的地址可用来指向内存的某个位置,即寻址。,指令队列的设置使指令的取出与执行并行进行提高了程序的运行速度,地址加法器的作用是根据段寄存器存放的段基地址与EU送出的16位偏移地址计算得到20位的实际地址,输入输出控制电路实现总线控制,决定读或写、对内存或对I/O接口,取指令、指令译码、产生并传送操作指令,算术逻辑单元(运算器)8个通用寄存器1个标志寄存器EU部分控制电路,执行部件EU的组成及作用,取指令,指令译码执行指令,完成运算,总线接口部件BIU的组成及作用,地址加法器6字节指令队列缓冲器4个16位段寄存器16位指令指针寄存器输入输出控制电路,计算20位的存储器地址完成CPU与内存间以及CPU与I/O接口间的信息传送分两种情况:预取指令时:利用CPU执行指令而总线空闲,从内存中取出指令放入指令队列(等待CPU取走)EU执行指令时:按EU的指令,向内存或I/O接口写运算结果,从内存或I/O接口取数据控制外部总线,保证各种信息的正确传送,指令队列缓冲器,指令队列缓冲器8086的指令队列为6个字节8088的指令队列为4个字节指令队列缓冲器的指令存放状态顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令执行转移指令:立即清除指令队列中的内容,从新的地址取入指令,并立即送往执行单元,然后再从新单元开始重新填满队列,实现CPU的流水线处理操作,8086/8088CPU的内部(编程用)寄存器,包括14个16位的寄存器4个数据寄存器2个地址指针寄存器2个变址寄存器4个段寄存器2个控制寄存器,1.数据寄存器,含4个16位寄存器,也可分别作为2个8位的字节寄存器使用;常用来存放参与运算的操作数或运算结果AX(Accumulator)(AH、AL)累加寄存器常用于数据运算或与外设交换数据BX(Base)(BH、BL)基址寄存器在间接寻址中用于存放内存的基地址CX(Count)(CH、CL)计数寄存器在循环、移位等操作中用于计数DX(Data)(DH、DL)数据寄存器常用于数据的传送或配合AX进行双字节运算,2.段寄存器,4个16位段寄存器,用于存放各逻辑段的段基地址;不可互换的使用CS(CodeSegment):代码段寄存器用于存放当前执行程序所在段的段基地址DS(DataSegment):数据段寄存器用于存放当前使用数据所在段的段基地址ES(ExtraSegment):附加段寄存器用于存放当前附加数据段的段基地址SS(StackSegment):堆栈段寄存器用于存放当前堆栈段的段基地址,3.地址指针寄存器,常用于存放段内寻址时的偏移地址SP:堆栈指针寄存器,存放当前堆栈段中栈顶的偏移地址BP:基址指针寄存器,存放位于堆栈中的某个存储单元的偏移地址在寻址操作时一般均与SS搭配使用,4.变址寄存器,SI:源变址寄存器DI:目标变址寄存器变址寄存器常用于指令的间接寻址或相对寻址;存放当前数据段中某一个存储单元的偏移地址与DS配合使用用SI存放源操作数的偏移地址用DI存放目标操作数的偏移地址,IP寄存器指令指针寄存器,存放下一次要取出执行的指令的偏移地址与CS结合使用构成真正的指令物理地址用户不能直接更新使用,只能由系统自动更新,5.指令指针寄存器,部分寄存器一般用途示意,代码段,段基地址CS,某指令地址IP,数据段或附加数据段,段基地址DS或ES,某数据地址DI,某数据地址SI,堆栈段,段基地址SS,堆栈顶地址SP,栈内某数据地址BP,6.标志寄存器,FR(FLAGS)状态标志寄存器8086/8088CPU设有一个16位的状态标志寄存器;使用其中的9位作为状态标志位和控制标志位6个状态标志(也称为条件码)-寄存ALU运算结果的状态信息3个控制标志-寄存CPU的工作状态信息,标志寄存器图示,溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0,方向标志DF位用来决定在“数据串操作”指令执行时的步进方向;DF=1表示由高字节向低字节方向进行称为递减方式,中断允许标志IF位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断请求,以及CPU内部产生的中断请求;IF=1表示开中断,状态控制标志TF位用来控制CPU是正常(TF=0)执行,还是单步(TF=1)执行,符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。对于有符号数就反映运算结果的正负号。运算结果为正数时,SF的值为0,零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,在运算过程中,如果发生低4位向高4位的进位或借位时,辅助进位标志AF的值将被置为1,奇偶标志PF用于标志运算结果的低8位中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,此时其值为1,标志寄存器置位问题,状态标志位由ALU运算的结果置位控制标志位需要在程序中用专门的指令置位,运算对标志位的影响的例,运算对标志位的影响的例,第2个主题8086/8088的存储器组织,主要内容:,存储器组织8086存储器的分体结构存储器的分段和物理地址的形成,存储器的组织,在存储器中,以字节为单位存取数据存储地址即为存储单元编号,称为地址8086/8088提供20条地址总线,可寻址的存储空间为220=1MB每个存储单元的地址均为20位(但一般用5个十六进制数书写)地址范围为:00000H-0FFFFFH,字节数据与字数据的存储,存储在一个存储单元中的数据称为字节数据字节数据的存储:按顺序存放其存储单元的地址,叫做该字节数据的存储地址需要存储在相邻两个存储单元中的数据称为一个“字”,叫做字数据字数据的存储:低字节存于低地址单元,高字节存于高地址单元存放该字数据低字节的存储单元的地址,叫做该字数据的存储地址,存储器中数据的存储方式,00A22H,00B06H,00B07H,03A03H,03A04H,字数据3A0DH的存储地址为:00B06H,字数据325EH的存储地址为:03A03H,规则字与非规则字,存放一个字数据的低字节地址如果是偶数地址,则称为“规则字”存放一个字数据的低字节地址如果是奇数地址,则称为“非规则字”存取“规则字”与“非规则字”,其操作过程不同(即所使用的总线周期数不同),在8086系统中,将其可寻址的1MB存储器分为两个存储体;即奇地址存储体和偶地址存储体,各为512KB,8086存储器的分体结构,奇地址存储体与系统高8位数据总线相连,偶地址存储体与系统低8位数据总线相连读/写偶地址体时,数据从低8位数据总线上传送读/写奇地址体时,数据从高8位数据总线上传送特别提示:关注BHE、A0和SEL信号,8086存储器的分体结构,8086存储器的分体结构,8086CPU是按16位结构设计,可以通过两个存储体直接读/写一个字数据;也可以只从一个存储体中读/写一个8位的字节数据SEL为奇偶地址存储体的“片选”信号奇偶地址存储体的选择由BHE信号和A0决定所以读/写字数据或字节数据就会有几种不同的情况,读/写一个字节数据:如果BHE=1,表示要读/写偶地址存储体,发送偶地址;此时A0=0,DB8-DB15上的数据将被忽略如果BHE=0,表示要读/写奇地址存储体;发送奇地址;此时A0=1,DB0-DB7上的数据将被忽略,读/写偶地址字节,读/写奇地址字节,8086存储器的分体结构,读/写一个规则字数据:该字数据的地址是从偶地址开始的;发送该字数据的地址(一定是偶地址A0=0),同时令信号BHE=0,则只须执行一个总线读/写周期,便可一次完成对该字的读/写操作低位数据线上读写低字节数据高位数据线上读写高字节数据,8086存储器的分体结构,读/写一个非规则字数据:该字数据的地址从奇地址开始,低字节数据放在奇地址存储体中,而高字节数据存放在偶地址存储体中CPU需要发送两个地址,并连续地执行二个总线读/写周期,才能分两次完成对该字的读/写第一次读写奇地址体上数据,发送该字数据的地址(A0一定为1),并令信号BHE=0,通过高位数据线读写低字节数据;偶地址体上的8位数据被忽略第二次读写偶地址体上数据,再发送一个偶地址(A0=0),并令信号BHE=1,通过低位数据线读写高字节数据,8086存储器的分体结构,8086存储器的分体结构,存储器的分段和物理地址的形成,8086/8088的地址总线(AB)为20位直接寻址范围是220=1MB个存储单元但是:8086/8088的寄存器、ALU都是16位,送出的也只能是16位的地址数据最多表示216=64KB个地址编号就是说:16位的寄存器和ALU不能直接存放和处理20位的地址数据,存储器的逻辑分段,CPU对存储器实行“分段”管理即将存储空间分为若干逻辑段,每个逻辑段长度64KB;16位的总线足可以管理和标记它某存储单元的实际地址用段的基本地址(段基址)加该存储单元在该段中的相对位置(偏移地址)共同表示,比喻,假设教室内有200个座位,都编有3位数的号码必须按号入座但,入场卷上的编号只能是两位数解决的办法将全部座位先分为两个区域;各区域的编号用两位数编制(如10、20)各区域可容纳100人,编号为00-99你的实际座位号应为:区域号*10+座位号,存储器的逻辑分段原则,逻辑段的划分原则上不受限制各段之间可连续、可分开、可部分重叠、还可完全重叠但要求:段的分配只能从地址低4位均为0的内存单元开始,存储器分段图示,最大64KB,最小16B,存储器分段例,段首地址、段基地址和偏移地址,60002H,12H,60000H,0000,段基地址(16位),段首地址(20位),偏移地址=0002H,每个段都从低4位为0的存储单元开始段首地址的高16位称为段基地址偏移地址为相对于段首地址的偏移量,00H,一定为0,地址存储与寄存器,基址或变址寄存器,存储相应的偏移地址,段寄存器,存储各段的段基本地址,存储器地址的两种表示方式,物理地址和逻辑地址是两种存储单元地址的表示和标记方法物理地址:存储单元所具有的实际地址由20位二进制代码构成逻辑地址:在程序中(指令中)书写和使用的地址由两部分构成段基地址:偏移地址,物理地址的形成方式,由逻辑地址(即段基地址和偏移地址)通过计算,转换得到,例:假设(DS)=3200H若指令中给出的偏移地址:1050H,物理地址=3200H10H+1050H=33050H,逻辑地址到物理地址的变换例,BIU中的地址加法器,实现逻辑地址到物理地址的变换,左移1位(16进制),例,在内存中某数据区内,连续存放27个字数据。首字的存储地址为BA00H:1BA0H。计算该数据区的首末存储单元的物理地址首地址为:BA00H*10H+1BA0H=BBBA0H末地址为:BBBA0H+35H(27*2-1)=BBBD5H最后一个字数据的存储地址=BBBD5H-1H=BBBD4H,第3个主题8086/8088的I/O组织,CPU与外部设备通过I/O接口芯片连接每个I/O接口芯片上都有若干个寄存器;通过寄存器与外设交换数据信息寄存器可以是8位的,交换字节数据也可以两个相邻8位寄存器合并为一个16位使用,交换字数据称接口中的寄存器为“端口”;相应的就有8位端口和16位端口,端口地址,每一个8位的端口都具有一个编号,端口编号具有唯一性;也称为端口地址外部设备与接口相连接,并通过具体的端口地址和总线与CPU最终实现数据和控制信号的传送端口地址有两种编址方式与存储器统一编址融为一体、使用相同的操作指令独立编址-自成体系、使用单独的操作指令,接口与端口,接口是一种数据设备和另一个数据设备连接的设备,是一个电路结构的芯片,表达一个CPU与外设的连接的笼统的硬件概念端口是CPU对接口的管理上的概念;端口是接口里的一个寄存器,一个接口可以有多个端口;数据的传送和交换通过端口实现,8086/8088的I/O组织,接入的外部设备,通过接入端口地址区分8086/8088采用独立编址方式访问I/O端口8086/8088CPU使用(低)16位地址线寻址I/O端口最多可达64K个端口地址可访问64K个8位(字节数据)的端口若访问16位(字数据)的端口时,最多可达32K个,接口与端口问题示意,端口30B0H,端口30B1H,端口50A0H,端口50A1H,端口41C0H,端口41C1H,CPU,打印机,显示器,其他外设,第4个主题8086/8088的工作模式和引脚功能,主要内容:,8086/8088的引脚和功能8086/8088的两种工作模式(组态),认识8086/8088CPU,40引脚双排直插式,8086/8088CPU芯片的40个引脚,区分引脚上传送的数据信号,引脚完成CPU与外部硬件数据及信号的传送与交换与地址总线连接,传送地址信息与数据总线连接,传送数据信息与控制总线连接,传送控制和状态信号其他信号:电源、接地、时钟等,区分8086/6088的不同,外部数据总线宽度的不同有3处不同将以8086为主做介绍,区分8086/6088,BHE为奇偶地址存储体“片选”信号,区分不同工作模式下的引脚,CPU有两种工作模式部分引脚的功能以及传送的控制信号不同关注24号到31号引脚的信号不同由33号引脚的信号状态决定,区分信号传送的方式及特征,通过引脚,CPU与外界进行信息交流双向传送与单向传送(如地址信号是单向的)双态信号传送与三态信号传送(数据引脚是三态的)一应一答信号(中断请求与中断响应两个引脚)引脚采用分时复用技术,一条引脚在不同时间传送不同信号,解决引脚不够的问题复用传送与单一传送(低16位的地址引脚与16位数据引脚为复用),区分单一引脚信号和组合信号,CPU及其他组件之间传送着大量的控制和状态信号,他们决定着将要进行的操作的不同和类型单一引脚表示一个独立的控制和状态信号若干个引脚以“真值表”方式,表示若干个控制和状态信号,8086公共引脚介绍,32引脚RDCPU读操作选通信号,低电平有效,CPU的写操作选通信号?与工作模式有关,17引脚非屏蔽中断请求线,上升沿触发。CPU收到NMI后,在完成当前指令后,立即进入中断处理程序,响应中断,18引脚可屏蔽中断请求线,高电平有效。CPU在每条指令结束前的最后一个时钟周期检查该信号;若有效且IF1,本次指令结束后转入中断处理程序,响应中断,8086公共引脚介绍,RESET:复位信号,当其有效时CPU结束当前操作全部引脚信号无效或浮空对DS,SS,ES及标志寄存器清零指令队列清空将CS置为FFFFH,IP置为0000HCPU将从内存地址为FFFF0H处开始执行指令一般情况下,在FFFF0H处放有一条JMP指令,将跳转到操作系统的引导程序入口处,系统将被自动引导启动,READY:准备就绪信号,一般由存储器或I/O端口送来,当其有效,表示数据已经准备好,可进行数据传送;若为低,表示未准备好,需插入等待状态Tw,CPU将继续等待,TEST:测试信号(输入),低电平有效;本信号与WAIT指令结合起耒使用;执行WAIT指令时,CPU将等待,并直到TEST有效,CPU结束等待,执行下面指令,BHE/S7:对于8086系统,BHE是奇地址存储体的选通信号,低电平有效。S7用于指示状态,目前还没有定义对于8088系统,SSO为系统状态信号,低电平有效。它与DT/R、IO/M组合使用,决定当前总线的操作类型,CPU的最小模式(单处理器模式),系统中只有一个微处理器8086/8088所有总线的控制信号是由8086/8088产生总线控制逻辑电路被减到最小该模式适用于较小规模的系统应用MN/MX引脚接到+5V时,设置为最小模式,IO/M:存储器与IO控制信号,高电平时表示CPU与存储器进行数据交换;低电平时表示CPU与I/O进行数据交换;(与8088相反)WR:写操作选通信号,低有效,表示CPU正进行存储器写或I/O写INTA:中断响应信号,低电平有效,表示CPU将响应ALE:地址锁存允许信号,高电平有效,有效时将地址信号锁存到地址锁存器中,实现“地址/数据”的复用,对应最小组态的引脚,HOLD:为总线保持请求信号,表示系统中其他总线控制部件(如DMA)向CPU发出的请求占用总线的申请信号HLDA:为总线保持响应信号,表示对总线使用权的响应信号DT/R:为数据发送/接收信号,控制数据的传送方向;高电平为数据发送方向传送;低电平为数据接收方向传送DEN:为数据传送允许信号,表示CPU已经准备好接收或发送数据,对应最小组态的引脚,CPU的最大模式(多处理器模式),系统中一般包括多个微处理器;其中8086/8088为主处理器,其他的为后援处理器(协处理器)MN/MX引脚接地,CPU即被设置为最大模式最大模式下总带有一个总线控制器8288;总线的控制信号由CPU和8288共同产生8288的基本作用是替代CPU的总线控制功能;使总线控制的能力更强大;输入的是CPU送出的“状态信号”;而输出的是“控制信号”,S2S1S0总线周期状态信号;8288将根据他们的状态信息,发出对存储器和I/O的控制操作命令S2S1S0性能000发出中断响应001读I/O端口010写I/O端口011暂停100取指令101读内存110写内存111无源状态,对应最大组态的引脚,该部分总线控制命令将来均由8288产生,RQ/GT0:总线请求/总线请求允许RQ/GT1:总线请求/总线请求允许供CPU以外的两个协处理器用来发出使用总线的请求以及接收CPU对请求的回答;其中RQ/GT0的优先权高于RQ/GT1双向传递信号,输入是请求;输出是响应;均低电平有效,对应最大组态的引脚,对应最大组态的引脚,LOCK:总线封锁信号,当其有效时,别的总线主设备不能占用总线;为CPU独占QS1,QS0:指令队列状态信号,意义如下:QS1QS000无操作01从指令队列中第一字节中取走代码10队列空11除取走第一字节外,还取走了后续字节中的代码,引脚内容的小结,复用传送与单一传送双向传送与单向传送双态信号传送与三态信号传送传送地址信号传送数据信号传送控制操作信号传送电源与时钟信号,控制数据传送控制中断的请求与响应系统的工作状态信号部分信号与工作模式有关,微型计算机工作系统的构成,CPU只是单一的处理器芯片;需要配置必要的支持芯片,才能构成一台计算机硬件系统不同功能模式下,配置的硬件组件不同存储器及I/O接口协处理器(专门处理器)总线控制器总线仲裁器数据收发器信号锁存器时钟信号发生器,与CPU有关的其他芯片(不做详细要求),CPU在最小模式下的典型配置图,CPU在最大模式下的典型配置图,总线控制器8288,状态信号输入:状态输入信号S2、S1、S0由8088送来总线控制器8288接收8088发出的S2、S1、S0后,发出相应的总线命令信号,总线控制器8288,控制信号输入(来自其他芯片)CLK时钟信号;与CPU使用相同时钟,同步CEN命令允许信号;低电平时,所有由8288发出的命令信号及部分控制信号均“无效”AEN地址允许信号;用于多总线结构,控制多总线的同步IOB总线方式控制信号;低电平时8288工作于系统总线方式;高电平时为I/O总线方式,总线控制器8288,命令信号输出:总线控制器8288接收CUP送来的状态信号S2、S1、S0后,发出相应的命令信号,以实现对存储器和I/O接口的读/写操作命令信号都是低电平有效,总线控制器8288,8288命令对应表,AIOWC和AMWC分别为超前写I/O或写内存命令分别提前一个周期进行写操作,以匹配速度,控制信号输出:总线控制器8288的输出控制信号包括:ALE为地址锁存允许信号DEN为数据总线允许信号DT/R为数据发送/接收信号MCE/PDEN具有两种功能:当8288为系统总线方式,用MCE作为级联允许信号;当8288为I/O总线方式,用PDEN作为外设数据传送允许信号,总线控制器8288,第5个主题8086/8088典型时序,主要内容:,总线周期的概念典型时序分析,总线周期、时钟周期的概念,8284A脉冲发生器提供一个频率固定的时钟信号CPU将在其控制下,有节拍的工作,一步一步地完成各种操作时钟周期T:两个时钟脉冲信号上升沿(或下降沿)之间的时间间隔它是频率的倒数:T=1/F一个时钟周期又称为一个T状态,时钟频率(Hz)一个T状态时间5M200ns50M20ns100M10ns200M5ns,总线周期、时钟周期的概念,典型数据:8284A的频率为5MHz,时钟周期为200ns,指令周期:CPU执行一条指令所需的时间不同指令的指令周期是不同的最短指令:寄寄,只需要2个时钟周期最长指令:16位乘、除,约需200个时钟周期,总线周期、时钟周期的概念,总线周期、时钟周期的概念,总线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论