资源预览内容
第1页 / 共251页
第2页 / 共251页
第3页 / 共251页
第4页 / 共251页
第5页 / 共251页
第6页 / 共251页
第7页 / 共251页
第8页 / 共251页
第9页 / 共251页
第10页 / 共251页
亲,该文档总共251页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
普通高等教育“十一五”国家级规划教材北京高等教育精品教材微型计算机技术及应用(第4版)戴梅萼,史嘉权 编著清华大学出版社2008年1月第2章 16位和32位微处理器本章学习重点1、8086微处理器的结构和工作原理,信号定义,总线的时序,基本系统的组成以及8086的中断系统。2、了解微处理器在进化过程中采用的关键技术以及Pentium的主要技术特点。本章知识结构图微处理器的性能指标: 字长:在同一时间中处理二进制数的位数。 主频 :CPU内部的时钟频率,是CPU进行运算时的工作频率。2.1 16位微处理器80862.1.1 8086的编程结构 从功能上,8086分为两部分,其一:n执行部件(Execution Unit) :负责执行指令。从BIU的指令队列缓冲器中取出指令,由EU控制器的指令译码器译码产生响应的操作控制信号送给各部件。其对操作数进行算术运算和逻辑运算,并将运算结果的状态特征保存到标志(状态)寄存器FR(Flags Register)中。nEU并不直接与CPU外部系统相连,当需要与MPU外部的主存储器或I/O 设备交换数据时,EU向BIU发出命令,并向BIU提供16位有效地址及所需传送的数据。 2.1 16位微处理器80862.1.1 8086的编程结构 从功能上,8086分为两部分,其二:n总线接口部件(Bus Interface Unit):BIU是CPU在内存和各种I/O接口之间的连接部件,负责对CPU全部外部引脚的操作,核心功能是控制系统总线。nBIU通过系统总线从内存中提取基于EU的请求的指令送到指令队列缓冲器中。CPU执行指令时,BIU要配合EU从指定的内存单元或外设端口中取数据,将数据传送给EU或把EU的操作结果传送到指定的内存单元或外设端口中。 8086的功能结构1 2 3 4 5 6内部寄存器IPESSSDSCS输入/输出 控制电路外部总线执行部分 控制电路ALU标志寄存器AH AL BH BL CH CLDH DLSPBPSIDI通用寄存器地址加法器指令队列执行单元 (EU)总线接口单元 (BIU)16位20位16位8086CPU内部寄存器结构 1. 总线接口部件总线接口部件负责与存储器、I/O端口传送数据 ,由下列6部分组成: 4个段地址寄存器(CS、DS、ES、SS) 16位的指令指针寄存器 IP(Instruction Pointer) 20位的地址加法器 6字节的指令队列缓冲器 输入/输出控制电路(总线控制逻辑) 内部暂存器段地址寄存器DS 数据段寄存器 (Data Segment) CS 代码段寄存器 (Code Segment) ES 附加段寄存器 (Extra Segment) SS 堆栈段寄存器 (Stack Segment) 这些段寄存器的内容与有效的地址一起,用 于确定内存的物理地址。通常用CS、DS、ES以及 SS用于确定代码段、数据段、附加段以及堆栈段 的基地址。 指令指针IPn指令指针寄存器IP,指示代码段中指令的偏 移地址。n它与代码段寄存器CS联用,确定下一条指令 的物理地址。n计算机通过CS : IP寄存器来控制指令序列 的执行流程。nIP寄存器是一个专用寄存器。指令队列缓冲器、地址加法器n8086的指令队列有6个字节,当指令队列出现2个 空字节时,BIU就自动执行一次取指令周期,将 下一条要执行的指令从内存单元读入指令队列。 它们采用“先进先出”原则,按顺序存放,并按 顺序取到EU中去执行。n地址加法器的作用是产生20位地址。8086/8088 内部所有的寄存器都是16位的,8086/8088可用 20位地址去寻址1MB的内存空间,这就需要地址 加法器根据16位寄存器提供的信息,计算出20位 物理地址。2. 执行部件 执行部件负责指令的执行 ,由下列6部分组成: 4个数据寄存器,即:AX、BX、CX、DX 4个专用寄存器,即:BP、SP、SI、DI 标志寄存器 算术逻辑部件ALU(Arithmetic Logic Unit) EU控制电路 数据暂存寄存器数据寄存器n数据寄存器用来存放计算的结果和操作数,也可以 存放地址。n每个寄存器又有它们各自的专用目的:nAX累加器,使用频度最高,用于算术、逻辑运算 以及与外设传送信息等;nBX基址寄存器,常用做存放存储器地址;nCX计数器,作为循环和串操作等指令中的隐含计 数器;nDX数据寄存器,常用来存放双字长数据的高16位 ,或存放外设端口地址。指针寄存器、变址寄存器指针寄存器用于寻址内存堆栈内的数据。nSP为堆栈指针寄存器,指示栈顶的偏移地址。nSP不能再用于其他目的,具有专用目的。nBP为基址指针寄存器,表示数据在堆栈段中的基地址。nSP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的 存储单元地址。 变址寄存器常用于存储器寻址时提供地址:nSI是源变址寄存器nDI是目的变址寄存器 串操作类指令中,SI和DI具有特别的功能。ALU、 EU控制器、暂存器nEU中的ALU:可完成16位或8位的二进制运算,运算结果可通过内部总线送到通用寄存器组或BIU的内部寄存器中等待写入存储器。n16位暂存器用来暂存参加运算的操作数。经ALU运算后的结果特征置入标志寄存器FR中保存。n EU控制器负责从BIU的指令队列中取指令,并对指令进行译码,根据指令要求向EU内部各部件发出控制命令以完成各条指令的功能。n标志寄存器的格式及各位的含义1514131211109876543210OFDFIFTFSFZFAFPFCF状态标志方向标志中断标志跟踪标志Trace Flag控制标志进位标志奇偶标志半进位标志零标志符号标志 溢出标志标志寄存器共有16位,其中7位未用n具体分为如下步骤: 1、取指(BIU的工作):指令处理单元将指令从 主存取出,并通过总线传输到处理器内部的指 令寄存器。 2、译码(EU的工作) :指令处理单元通过指令译 码电路获得该指令的功能。 3、执行(EU的工作) :指令处理单元的时序和控 制逻辑按一定的时间顺序发出和接收相应信号 ,完成指令所要求的操作。BIU与EU的动作管理取指取指译码译码执行执行n一般情况下指令按顺序执行,EU可源源不断地从指 令队列中取得执行指令,而省去访问存储器取指令所 需的时间。n如果在执行指令过程中需要访问存储器取操作数,那 么EU将访问地址送给BIU后,将要等待操作数到来后 才能继续操作,遇到转移类指令,要将指令队列中的 后续指令作废,等待BIU重新从存储器取出目标地址 中的指令代码进人指令队列后,EU才能继续执行指 令。n这种情况下,EU和BIU的并行操作会受到一定的影响 。只要转移指令出现概率不是很高,两者的重叠操作 仍然会取得良好的效果。BIU与EU的动作管理等待取指1 执行1等待取指2 执行2等待取指3 执行3MPU总线忙闲忙闲忙闲传统微处理器的指令执行过程 取指1取指2取指3取指4取指5取指6EU总线执行1执行2执行3执行4执行5执行6忙忙忙忙忙忙BIU8086CPU的指令执行过程 当EU执行一条指令时,造成指令队列空出2个时 ,BIU马上 从内存中取出下一条或几条指令,以添满他的指令队列。 一般情况下,CPU在执行完一条指令后,便可马上执行下 一条指令,不像以往8位CPU那样,执行完一条指令后,需 等待下一条指令。机器周期 机器周期机器周期指令周期M1(Machine Cycle) ( 取指)M2(读存储器) M3(写存储器) 时钟周期(T 状态)n在微机领域中,称“机器周期”为“总线周期” BIU完成一次访问存储器操作所需要的时间。n机器周期=总线周期=4个时钟周期T1、T2、T3、T4 。n总线周期之间可能有若干个空闲周期TI。n时钟周期在T3和T4之间可能有若干个等待周期TW。3. 8086的总线周期的概念3. 8086的总线周期的概念T1 T2 T3 Tw T4 TI TI T1 T2 T3总线周期空闲 周期总线周期只有BIU与内存或I/O端口交换数据,以及填充指令 队列时,BIU才执行总线周期。 除此之外,既不需要填充指令队列,EU也没有向 BIU发出总线周期请求时,系统总线就处于空闲状态 ,进入空闲周期,空闲周期由一个或几个Ti状态组 成。如果内存或IO接口速度较慢,来不及响应,则需在T3之后插入1个或几个Tw等待状态。 Ready:准备好信号,输入T1 T2 T3 Tw T4CLKREADY2.1.2 8086的引脚信号和工作模式 1. 最小模式和最大模式的概念 (1)最小模式:在系统中只有一个微处理器。(2)最大模式:两个或多个微处理器(主处理器、协处理器)工作模式最小工作模式:所有的总线控制信号都直接由8088/8086产生最大工作模式:8088/8086要通过总线控制器8288来形成各种总线周期,控制信号由8288供给MN / MX= VCCMN / MX=GND单CPU系统多CPU系统1. 最小模式和最大模式的概念8086/8088CPU引脚 2. 8086/8088的引脚信号和功能引脚信号和总线形成n学习时请特别关注以下几个方面: 引脚的功能 信号的流向 有效电平 三态能力指引脚信号的定义、 作用;通常采用英文 单词或其缩写表示信号从芯片向外输出 ,还是从外部输入芯 片,或者是双向的起作用的逻辑电平 高、低电平有效 上升、下降边沿有效输出正常的低电平、 高电平外,还可以输 出高阻的第三态最小组态的引脚信号1.数据和地址引脚2.读写控制引脚3.中断请求和响应引脚4.总线请求和响应引 脚5.其它引脚 通常在信号名称加 上划线(如:MX)或星号(如:MX*) 表示低电平有效一8086CPU 引脚8086CPU引脚按功能可分为三大类:电源线和地线,地址/数据引脚以及控制引脚。1电源线和地线电源线VCC(引脚40):输入,接入单一+5V电源。地线GND(引脚1和20):输入,两条地线均应接地。 2地址/数据分时复用引脚:AD15AD0(Address Data ):引脚39及引脚216,传送地址时单向输出,传送数据时双向输入或输出。什么是分时复用?n分时复用就是一个引脚在不同的时刻具有 两个甚至多个作用n最常见的总线复用是数据和地址引脚复用 n总线复用的目的是为了减少对外引脚个数n8088 /8086CPU的数据地址线采用了总 线复用方法2. 地址/数据(状态)引脚 1. 在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低16位地址A15A0其他时间用于传送16位数据D15D0 8088中A15A8不复用,输出,三态,这些引脚在访问存储器或外设时,提供全部20位地址中的中间8位地址A15A82. 地址/数据(状态)引脚 地址/状态分时复用引脚A19/S6A16/S3(Address / Status):引脚3538,输出。采用分时输出,即在T1状态作地址线用,T2T4状态输出状态信息。当访问存储器时,T1状态输出A19A15,与AD15AD0一起构成访问存储器的20位物理地址;CPU访问I/O端口时,不使用这4个引脚,A19A16保持为0状态信息中的S6:指示8086/8088当前是否与总线相连,S6总为0,以表示CPU当前连在总线上;状态信息中的S5:表明中断允许标志当前的设置。S4S3用来指示当前正在使用哪个段寄存器,如表所示。S4与S3组合代表的正在使用的寄存器 S4S3当前段寄存器0 0使用附加段寄存器0 1使用堆栈段寄存器1 0使用代码段寄存器1 1使用数据段寄存器3. 控制引脚(1) NMI(Non-Maska
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号