《微型计算机原理与接口技术》第2章微型处理器与总线.ppt
《《微型计算机原理与接口技术》第2章微型处理器与总线.ppt》由会员分享,可在线阅读,更多相关《《微型计算机原理与接口技术》第2章微型处理器与总线.ppt(117页珍藏版)》请在三一办公上搜索。
1、第2章 微型处理器与总线,2.1 微处理器概述,微处理器是计算机的核心部件,具有下面几个特点:能够进行算术运算和逻辑运算;能对指令进行译码,寄存并执行指令所规定的操作具有与存储器和I/O接口进行数据通信的能力少量数据的暂存能够提供系统所需要的定时和控制信号能够响应输入输出设备发出的中断请求,人们常说的16位机,32位机是表示计算机中微处理器内部数据总线的宽度-CPU可以同时操作的二进制码的位数。现在的CPU都是32位的。,一、运算器,运算器的组成,算术逻辑单元:它的内部包括加、减、乘、除运算的加法器,及实现与、或、非、异或等逻辑运算功能的部件。,通用或专用寄存器组:提供操作数和暂存中间运算结果
2、及结特征;,内部总线:用于传送数据和指令,运算器的结构按内部总线数量不同分为:1、单总线结构运算器,所有部件通过一条内部总线传递信息,任何时刻只有一组数据从源部件传送到目标部件。当要进行一次双操作数的运算时,首先通过总线将第一个操作数放入锁存器A或B中,然后现通过总线传送另一个操作数到另一个锁存器中,之后进入ALU进行运算。运算结果再通过总线送到内部通用寄存器。,特点:结构简单,但速度比较慢。,2、双总线结构运算器,双总线结构在运算器内部用两条总线来传送数据,参加运算的操作数可以同时通过两条总线送到ALU进行运算,运算结果经缓冲器再通过任意一条总线送到通用寄存器。,特点:运算速度比单总线结构要
3、快。,3、三总线结构运算器,它用两条总线来传送操作数,一条专门用于传送运算结果。,特点:只要ALU运算速度足够快,全部操作可一步完成。,二、控制器,控制器的作用:控制程序的执行,必须具备以下几处功能1、完成指令控制 指令在存储器中是连续存放的,一般情况下,指令被按照顺序一条条取出执行,只有在碰到转移指令时才会改变顺序。控制器要能根据指令所在的地址按顺序或在遇到转移指令时按照转移地址取出指令,分析指令,传送必要的操作数,并在指令执行结束后存放运算结果。,2、实现时序控制 指令的执行是在时钟信号的控制下进行的。一条指令的执行时间为指令周期。不同的指令周期中所包含的机器周期数是不相同的。而一个机器周
4、期中包含多少节拍也是不一样的。时序信号由控制器产生,使系统按一定的时序关系进行工作。,3、完成操作控制、根据指令流程,确定在指令周期的各个节拍中要产生的微操作控制信号,以有效地完成各条指令的操作过程。、还要对异常情况及某些外部请求的处理能力。,控制器的组成:程序计数器PC:用来存放下一条要执行的指令在存储器中的地址指令寄存器IR:用来存放从存储器中取出的待执行的指令。指令译码器ID:对指令寄存器中的指令进行“翻译”以确定进行什么操作;时序控制器:产生计算机工作中所要的各种时序信号;微操作控制部件:用于产生与各条指令相对应的微操作。,一条指令的功能是通过按一定次序执行一系列基本操作完成的。,控制
5、器结构示意图,核心部件,2.2 8088/8086微处理器,主要内容:1.8088CPU外部引线及功能;2.8088CPU的内部结构和特点;3.各内部寄存器的功能;4.8088的工作时序,概述,8088、8086基本类似16位CPU、AB宽度20位差别:1.指令预取队列:8088为4字节,8086为6字节2.数据总线引脚:8088有8根,8086有16根3.控制线引脚:8088为IO/M,而8086为M/IO8088为准16位CPU,内部DB为16位,但外部仅为8位,16位数据要分两次传送本课程主要介绍8088(IBM PC采用),一.8088/8086 CPU的特点,1、采用并行流水线工作方
6、式2、对内存空间实行分段管理:每段大小为16B64KB用段地址和段内偏移实现对1MB空间的寻址设置地址段寄存器指示段的首地址3、支持多处理器系统(最大模式);,指令的一般执行过程:取指令 指令译码 读取操作数 执行指令 存放结果,1.8088/8086的指令流水线,串行和并行方式的指令流水线:,串行工作方式:BIU(总线接口单元)和EU(执行单元)交替工作,按顺序完成上述指令执行过程;并行工作方式:BIU和EU可同时工作。,串行工作方式:,8088以前的CPU采用串行工作方式:1)CPU访问存储器(存取数据或指令)时要等待总线操作的完成 2)CPU执行指令时总线处于空闲状态 缺点:CPU无法全
7、速运行 解决:总线空闲时预取指令,使CPU需要指令时能立刻得到,取指令1,执行1,取操作数2,执行2,CPU,BUS,忙碌,忙碌,忙碌,忙碌,存结果1,取指令2,取指令和执行指令示意图(1),8位CPU(如8080),t,t,将指令的执行过程简化为三步,并设这三步所要的时间完全相等都是执行n条指令所要的时间为:,若不考虑取操作数和写结果,将指令的执行过程可简化为三步,并设这三步所要的时间完全相等,都为,采用顺序执行方式执行n条指令所要的时间为,并行工作方式:,8088CPU采用并行工作方式,忙碌,并行执行n条指令所要的时间为:,8088/8086的流水线操作,1.8088 CPU包括两大部分:
8、EU(执行单元)和BIU(总线接口单元)、BIU不断地从存储器取指令送入IPQ(指令预取列队),EU不断地从IPQ取出指令执行、EU和BIU构成了一个简单的2工位流水线、指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)2.新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令例如,PIII为14个阶段,P4为20个阶段(超级流水线),结论,指令预取队列IPQ的作用:使EU和BIU两个部分可同时进行工作,从而带来了以下两个好处:1、提高了CPU的效率2、降低了对存储器存取速度的要求,2.内存的分段管理技术,8088的CPU的内部结构都是16位的,内部总线只能传送16
9、位二进制码。如果用二进制码表示地址,8088就只能产生64K个地址。为了提高系统的执行速度,8088将内存空间分为多个逻辑段,每个逻辑段最大为64K个单元,段内每个单元的地址码(偏移地址)长度为16位。再为每个段设置段地址(段基地址),以区分不同的逻辑段。8088CPU内部具有专门存放段地址的段寄存器和存放偏移地址的地址寄存器,将两类不同寄存器的内容送入地址加法器合成,形成了指向内存某一具体单元的地址(物理地址),3.支持多处理器系统,8088具有最小和最大两种工作模式及内置的多任务处理能力,可通过模式选择引脚进行选择。最小模式也称为单处理器模式。此时CPU仅支持由少量设备组成的单处理机系统而
10、不支持多处理器结构。系统控制总线的信号由8088CPU直接产生,且构成的系统不能进行DMA(直接存储器存取)传送。最大模式也称多处理模式,此时CPU能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。,二、8088 CPU的引线及功能,40引脚定义方法可大致分为:每个引脚只传送一种信息(RD等);引脚电平的高低不同的信号(IO/M等);CPU工作于不同方式有不同的名称和定义(WR/LOCK 等);分时复用引脚(AD7 AD0 等);引脚的输入和输出分别传送不同的信息(RQ/GT等)。,非屏蔽中断,可屏蔽中断请求,最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大
11、模式,读信号,总线保持请求信号,总线保持相应信号,写信号,存储器/IO控制信号M/IO=1,选中存储器M/IO=0,选中IO接口,数据发送/接收信号DT/R=1,发送DT/R=0,接收,数据允许信号,地址允许信号,中断响应信号,测试信号:执行WAIT指令,CPU处于空转等待;TEST有效时,结束等待状态。,准备好信号:表示内存或I/O设备准备好,可以进行数据传输。,复位信号,8086CPU引脚功能,地址状态复用引脚,地址/数据线,非屏蔽中断,可屏蔽中断请求,最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式,读信号,总线保持请求信号,写信号,存储器/IO控制信号M/IO=1,选中
12、存储器M/IO=0,选中IO接口,数据允许信号,测试信号:执行WAIT指令,CPU处于空转等待;TEST有效时,结束等待状态。,准备好信号:表示内存或I/O设备准备好,可以进行数据传输。,复位信号,地址状态复用引脚,地址允许信号,1、主要引线(最小模式下),8088是工作在最小还是最大模式由MN/MX端状态决定:MN/MX=0时工作于最大模式,反之工作于最小模式。数据信号线(DB)与地址信号线(AB):AD7AD0:地址、数据分时复用的双向信号线,三态。当ALE=1有效时为地址的低8位。当(数据允许信号)DEN=0时,传送数据信号,此时为双向。A19A16:地址、状态复用引脚,三态输出。在某一
13、时刻输出高4位地址信号,另外时刻,送出状态信号S6-S3分时复用。S6恒等于0,S5为指示中断允许标志IF状态,S4,S3组合指示CPU当前正使用的段寄存器。如表2-1。A15A8:中8位地址信号,三态输出。CPU寻址内存或接口时,输出中8位地址信号。,主要的控制(CB)和状态信号,WR:三态,输出。写命令信号,低电平有效;RD:三态,输出。读命令信号,低电平有效;IO/M:三态,输出。指出当前访问的是存储器还是I/O接口。高电平:I/O接口,低电平:内存 DEN:三态,输出。数据允许信号,低电平时,表示DB上的数据有效;RESET:输入,系统复位输入信号;为高时,CPU执行复位;复位后CPU
14、内部寄存器状态如表2-3。ALE:三态,输出,地址锁存信号。高:AB地址有效;DT/R:三态,输出。数据传送方向控制信号,高:CPU输出,低:CPU输入。,例:,当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作。,READY信号(输入):,用于协调CPU与存储器、I/O接口之间的速度差异READY信号由存储器或I/O接口发出。它是高电平有效。,READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。,中断请求和响应信号,INTR:输入,可屏蔽中断请求输入端。高电平:有INTR中断请求 NMI:输入,非屏蔽中断请求输入端。低高(上升沿
15、),有NMI中断请求 INTA:中断响应输出,对INTR信号的响应。,总线保持信号,HOLD:输入总线保持请求信号输入端。当CPU以外的其他设备(如DMA)要求占用总线时,通过该引脚向CPU发出请求。HLDA:总线保持响应信号输出,对HOLD信号的响应。为高电平时,表示CPU已放弃总线控制权,所有三态信号线如读、写信号线,地址信号等均变为高阻状态。,2、最大模式下的引脚,1)、总线周期状态信号输出S2,S1,S0指出当前总线周期操作的类型,低电平有效。如,中断响应、读写存贮器或IO端口等。此信号送至总线控制器8288,以产生相应的总线控制信号。,2)、总线请求/总线响应信号RQ/GT1,RQ/
16、GT0提供2路其他主控设备发出总线请求信号和CPU的响应信号。当其它设备的总线控制设备要使用系统总线时,产生一个总线请求信号,并送到RQ/GT引脚,类似最小模式下的HOLD信号。CPU检测到请求后,在下一个T4或T1期间在RQ/GT送出一个总线响应信号。,4、指令队列状态信号输出QS1,QS0提供当前的指令队列状态。QS1 QS0 含义0 0 无操作0 1 取走指令第1字节代码1 0 队列空(取完)1 1 取走指令后续字节代码,3、总线封锁信号输出LOCK当LOCK=0(有效)时,CPU封锁总线不允许其他总线部件占用总线。,三、8088CPU的功能结构,8088内部由两部分组成:执行单元(EU
17、)总线接口单元(BIU),1.8088CPU内部结构,EU,BIU,执行单元EU,功能:执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果的特征保存在标志寄存器FLAGS中。,执行单元EU包括,算术逻辑单元(运算器ALU)8个通用寄存器(通用Regs)1个标志寄存器(Flags)EU部分控制电路(部分CU),总线接口单元BIU,功能:1、从内存中取指令送入指令预取队列IPQ2、负责与内存或输入/输出接口之间的数据传送 在执行转移程序时,BIU使指令预取队列IPQ复位,从指定的新地址取指令,并立即传给执行单元执行。,总线接口单元BIU的组成,段寄存器 指令指针寄存器 指令
18、队列 地址加法器 总线控制逻辑,2.8088的内部寄存器,含14个16位寄存器,按功能可分为三类 8个通用寄存器(通用Regs)4个段寄存器(Seg Regs)2个控制寄存器(Con Regs),专用Regs,通用寄存器(通用Regs),数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI),数据寄存器,8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AX AH,AL BX BH,BL CX CH,CL DX DH,DL作用:常用来存放参与运算的操作数或运算结果,数据寄存器特有的习惯用法,AX:累加器。多用于存放中间运算结果;所有I/O指令必须
19、都通过AX 与接口传送信息.BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令中存放 循环次数或重复次数.DX:数据寄存器。在32位乘除法运算时存放高16位数;在间接寻址的I/O指令中存放I/O端口地址。,地址指针寄存器,SP:堆栈指针寄存器.其内容为栈顶的偏移地址;BP:基址指针寄存器.常用于在访问内存时存放内存单元的偏移地址。,BX与BP在应用上的区别,相同点:作为通用寄存器,二者均可用于存放数据;不同点:作为基址寄存器,BX通常用于寻址数据段;BP通常用于寻址堆栈段。BX一般与DS或ES搭配使用;BP一般与SS拾配.,注:间接寻址时 仅BX、BP、SI
20、、DI可用于存储器寻址;仅DX可用于I/O寻址。,变址寄存器,SI:源变址寄存器DI:目标变址寄存器作用:变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。,段寄存器(专用Seg Regs),作用:用于存放逻辑段的段基地址(逻辑段的概念后面将要介绍)CS:代码段寄存器 代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参数,控制寄存器(专用Con Regs),IP:指令指针寄存器,其内容为下一条 要执行的指令的
21、偏移地址FLAGS:标志寄存器状态标志:存放运算结果的特征 6个状态标志位(CF,SF,AF,PF,OF,ZF)控制标志:控制某些特殊操作 3个控制标志位(IF,TF,DF),四、存储器的寻址,物理地址8088:20根地址线,可寻址220=1MB个存储单元CPU送到AB上的20位的地址称为物理地址,物理地址,物理地址,存储器的操作完全基于物理地址。问题:8088的内部总线和内部寄存器均为16位,如何生成20位地址?解决:存储器分段,存储器分段,高地址,低地址,段基址,段基址,段基址,段基址,最大64KB,最小16B,段i-1,段i,段i+1,逻辑地址,段基地址和段内偏移组成了逻辑地址 段地址
22、偏移地址(偏移量)格式为:段地址:偏移地址 物理地址=段基地址16+偏移地址,60002H,00H,12H,60000H,0 0 0 0,段基地址(16位),段首地址,偏移地址=0002H,BIU中的地址加法器用来实现逻辑地址到物理地址的变换8088 可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址,段基址,段内偏移,物理地址,+,16位,20位,0000,默认段和偏移寄存器,8086规定了访问存储器段的规则:此规则定义了段地址寄存器和偏移地址寄存器的组合方式,其默认规则如下表:,已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址
23、=0204H,1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=?,解:各段分布及段首址见右图所示。操作数的物理地址为:250AH16H+0204H=252A4H,这个例子说明:段与段可以不连续 段之间可以重叠,堆栈及堆栈段的使用,操作规则:内存中一个按FILO方式(先进后出)操 作的特殊区域。两种操作:每次压栈和退栈均以WORD(16位)为 单位,先进高位,再入栈低8位。操作指示:SS存放堆栈段地址,SP存放段内偏 移,SS:SP构成了堆栈指针。作用:堆栈用于存放返回地址、过程参数或需要 保护的数据;常用于响应中断或子程序调用。,堆栈操作示例,SP,SS,SS,压栈前,
24、退栈后,高,低,低,高,高,12H,SS,F0H,SP,压栈后,低,高,SP,SP,SP,F0H,12H,SP,例:(1)若已知(SS)=1000H(SP)=2000H 则堆栈段的段首地址=?栈顶地址=?(2)若现在把1234H送入堆栈,则它所在的存储单元地址=?(3)若该段最后一个单元地址为12FFFH,则栈底地址=?,段首,栈底,栈顶,堆栈段,解:(1)段首地址=10000H,栈顶地址=10000+2000=12000H(2)低8位数据34H在11FFEH地址中,而高8位数据12H在11FFFH中(3)栈底地址=13000H,12H,34H,五、8088CPU的工作时序,时序的概念:CPU
25、各引脚信号在时间上的关系。时钟周期:每个时钟脉冲的持续时间成为一个时钟周期,用Ti表示,由时钟发生器产生,是CPU工作的基本时间单位。PC/XT时钟频率4.77MHz,时钟周期是210ns。总线周期:CPU完成一次访问内存(或接口)操作所需要的时间。8088执行存储器读或存储器写操作需用4个时钟周期。8088的总线周期由4个时钟周期组成,称为T1、T2、T3、T4状态;指令周期P:由若干个总线周期组成。是从取指令开始到指令执行完毕所需要的时间。,一个总线周期,时钟发生器,RES,8284,CLK,RESET,8088,IO/M,RD,WR,ALE,A19A16,A15A8,+5V,MN/MX,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机原理与接口技术 微型计算机 原理 接口 技术 微型 处理器 总线
链接地址:https://www.31ppt.com/p-6235441.html