计算机硬件基础第2章.ppt_第1页
计算机硬件基础第2章.ppt_第2页
计算机硬件基础第2章.ppt_第3页
计算机硬件基础第2章.ppt_第4页
计算机硬件基础第2章.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章微处理器基础,2,2.1概述,微处理器是微型计算机核心微型机发展与微处理器发展密切相关发展是8086/8088、8028680486、Pentium(80586)系列16位微处理器(8086/8088)是基础下章介绍32位及以上微处理器,单击图片,看插入芯片录像,3,主要内容,8086微处理器内部寄存器8086微处理器功能结构、引脚、工作原理8086的存储器组织,下面分别介绍,4,2.28086CPU内部寄存器,寄存器(Register):用于存放信息(指令、数据)有14个16位寄存器,每个寄存器有一个名字CPU读/写寄存器比内存快得多在用汇编语言编写程序时,可以直接使用寄存器程序设计中惟一可见的CPU部件是系统程序设计员的操作对象,下面分别介绍,5,寄存器分三类,下面分别介绍,SP,IP,FLAGS,AH,AL,BH,BL,CH,CL,DH,DL,AXBXCXDX,BP,SI,DI,CS,DS,ES,SS,8个通用寄存器,2个控制寄存器,4个段寄存器,8个通用寄存器4个段寄存器2个控制寄存器,6,2.2.1通用寄存器,包括:1.数据寄存器(AX,BX,CX,DX):存放运算的数据和结果2.地址指针寄存器(SP,BP):存放内存的偏移地址3.变址寄存器(SI,DI):在变址寻址方式中存放索引地址,下面分别介绍,7,1.数据寄存器(重点),存放运算需要的数据和运算结果含4个16位数据寄存器,分为8个8位寄存器AXAH,AL例MOVAX,1234HBXBH,BL例MOVAH,12HCXCH,CL例MOVAL,34HDXDH,DL,8,数据寄存器习惯用法,AX:累加器(Accumulator寄存器)所有I/O指令都通过AX与接口传送信息,中间运算结果也放AX中BX:基址寄存器(Base寄存器)在间接寻址中用于存放基地址CX:计数寄存器(Count寄存器)用于在循环或串操作指令中存放计数值DX:数据寄存器(Data寄存器)在间接寻址的I/O指令中存放I/O端口地址在32位乘除法运算时,存放高16位数。,9,2.地址指针寄存器,栈顶SP,栈首单元,堆栈段,栈底,偏移量,SP(StackPoint):堆栈指针寄存器,存放栈顶的偏移地址BP(BasePoint):基址指针寄存器,存放内存单元偏移地址BX与BP在应用上的区别做通用寄存器,二者均可用于存放数据;做基址寄存器,用BP时表示数据在堆栈段,用BX数据在数据段,10,3.变址寄存器,SI:源变址寄存器(SourceIndex)DI:目标变址寄存器(DestinationIndex)变址寄存器常用于指令的间接寻址或变址寻址在串操作指令(或成批数据操作指令)中,用SI存放源操作数的偏移地址,用DI存放目标操作数的偏移地址。,源操作数,目标操作数,SI,DI,将数据从SI处移到DI处,11,2.2.2段寄存器(重点),将内存储器分成若干个逻辑段,每段为64KB段寄存器用于存放相应逻辑段的段基地址CS(CodeSegment):代码段寄存器,存放代码段的基地址DS(DataSegment):数据段寄存器,存放数据段的基地址ES(ExtraSegment):附加段寄存器,存放附加段的基地址SS(StackSegment):堆栈段寄存器,存放堆栈段的基地址,存放数据,存放数据,CS,DS,ES,SS,存放代码,段可重叠,12,2.2.3控制寄存器(IP),包括:IP、FLAGS1.IP:指令指针寄存器(InstructionPoint)内容为下一条待取指令的偏移地址偏移地址、段基地址共同确定待取指令的内存实际地址CPU从内存取出指令后,修改IP,使之指向下一条待取指令IP由程序自动控制,程序员不能直接使用2.FLAGS:标志寄存器见下页,13,2.2.3控制寄存器(FLAGS),FLAGS:标志寄存器存放系统的一些标志信息,如运算结果特征、系统状态由系统自动控制,程序员不能直接改变它状态标志位(CF,SF,AF,PF,OF,ZF)控制标志位(IF,TF,DF),14,标志寄存器的标志位(重点),CF(CarryFlag)进位或借位标志位ZF(ZeroFlag)零标志位OF(OverflowFlag)溢出标志位SF(SignFlag)符号标志位PF(ParityFlag)奇偶标志位AF(AuxiliaryFlag)辅助进位标志位有些指令(如算术指令)影响FLAGS的值,有些不影响,例题下页,15,指令影响标志位例题1,b15b14b13b12b11b10b9b8b7b6b5b4b3b2b1b00001010000111001+01000111011010100101101110100011,执行一条加法指令,计算15439H476AH后,标志位的值是多少?,结论:CF=0ZF=0SF=1PF=1AF=1OF=0,5BA3,16,指令影响标志位例题2,b15b14b13b12b11b10b9b8b7b6b5b4b3b2b1b00110010000000000+01101010001111001100111000111100,执行一条加法指令,计算6400H7A3CH后,标志位的值是多少?,结论:CF0,PF1,AF0,ZF0,SF1,OF1,DE3C,17,2.38086CPU的功能结构,按功能分为两大部分:1.执行单元(EUExecuteUnit)2.总线接口单元(BIUBusInterfaceUnit),结构图下页,EUBIU,功能是执行指令,功能是传送信息(存储器、I/O设备),18,8086CPU的结构框图,20位,ALU,运算寄存器,标志,执行部件控制电路,16位,CSDSSSESIP内部暂存器,8位,123456,执行部件(EU),输入/输出控制电路,16位,外部总线,指令队列,总线接口部件(BIU),通用寄存器,地址加法器,运算器通用寄存器8个标志寄存器1个EU控制器件,段寄存器地址加法器指令预取队列总线控制器件,19,总线接口单元BIU的功能,由指令预取单元负责从指定内存单元取出指令,送到指令队列中排队。8088指令队列是6字节的RAM存储器(8088为4字节),队列中最多可存放6个字节的指令,取来的指令按字节顺序存放。当队列有两个以上指令字节空时,BIU自动执行总线操作,继续取指令。执行指令时,如要取操作数,也由BIU从内存或I/O接口指定区域取出,送给EU部件去执行。,负责传送信息(与存储器、输入输出设备),20,执行单元EU的功能,负责从BIU中的指令队列中取得指令和数据。当指令要求向存储器和I/O电路读或写数据时,EU向BIU发出请求,BIU自动完成这些操作。若执行转移指令,则存在指令队列缓冲器中的指令就没用了,应到新的地址单元取出指令。BIU新取出的第一条指令直接送到EU中执行,随后重新填充指令队列。,负责翻译和执行指令,21,引入指令预取队列的优势,EU和BIU两部分(取指令和执行指令)同时工作,提高CPU效率降低对存储器存取速度的要求(指令已放到指令预取队列中),指令预取队列,内存,22,2.3.3微处理器工作方式比较,有两种工作方式:串行方式、并行方式串行方式:取指令和执行指令在不同时刻按顺序执行并行方式:取指令和执行指令同时工作。需要硬件支持,取指令,指令译码,取操作数,执行指令,存放结果,Decode,Fetch,Fetch,Execute,Put,23,串行方式和并行方式的特点,8086以前的CPU采用串行工作方式8086以后CPU采用并行流水线工作方式,取指令1,执行1,取指令2,执行2,CPU,BUS状态,取指令3,执行3,取指令4,执行1,忙,CPU,串行方式,并行流水线方式,BUS状态,取出的指令先放到CPU中的指令预取队列中,排队等待执行,闲,忙,闲,忙,取指令2,执行2,取指令3,执行3,取指令1,忙,忙,忙,忙,闲,24,8086CPU特点,采用并行流水线工作方式:由指令预取单元把从内存取出的指令先存到CPU中的指令预取队列,实现取指令和执行指令的并行流水线工作方式,提高CPU效率。对内存空间实行分段管理:内存分为多个段,设置地址段寄存器,实现1MB空间寻址支持多处理器系统,内存,分段,指令预取队列,段可重叠,25,2.48086CPU的工作模式及引脚信号,8086有两种工作模式:最小模式和最大模式。最小模式(单处理机模式):控制信号少,一般不必接总线控制器。最大模式(多处理机模式):控制信号多,须通过总线控制器与总线相连。注意:80286以后的CPU不再区分这两种工作模式,下面分别介绍,26,最小模式连接示意图,时钟发生器,8086CPU,控制总线,数据总线,地址总线,地址锁存,数据缓存,只有一个CPU,27,最大模式连接示意图,8086CPU,数据总线,地址总线,地址锁存,数据缓存,总线控制器,控制总线,必须通过总线控制器与总线相连,其他CPU,时钟发生器,28,8086CPU引线概述,引脚分类(按信息类型):地址线、数据线、控制线三类单信息引脚:每个引脚只传送一种信息(如RD)一脚两用:通过引脚电平的高低进行区别(如M/IO)不同含义引脚:不同方式下,名称和定义不同(如WR/LOCK)分时复用引脚:如AD15AD0,有时做地址线,有时做数据线双向引脚:既可做输入引脚,也可做输出引脚(RQ/GT0等),共40条引线,29,工作模式引脚MN/MX,MN/MX=0:工作于最大模式MN/MX=1:工作于最小模式,8086CPU,MN/MX,8086CPU,MN/MX,0(接地GND),1(接Vcc),最大模式,最小模式,30,最小模式控制信号引线,WR(Write):写信号,低电位有效,表示CPU正在对内存或外设进行写操作。RD(Read):读信号,低电位有效,表示CPU正在对内存或外设进行读操作。M/IO(Memory/IO):区分是访问内存还是访问I/O设备,高电平时访问内存,低电平时访问外设。DEN(DataEnabled):数据允许信号,低电平有效,表示数据线上存在有效数据,即表示允许读/写操作例当WR=1,RD=0,M/IO=1,DEN=0时,表示CPU正在读内存,接下页,31,最小模式控制信号引线,READY:准备好信号,由存储器或I/O设备发出DT/R(DataTransmit/Receipt):数据传送/接收控制信号。高电位时表示CPU向内存或I/O设备传送数据,低电位时表示CPU接收内存或I/O设备的数据。,接下页,32,最小模式控制信号引线,BHE/S7(ByteHighEnabled/State):字节高位数据总线允许控制/状态分时复用信号线。为低电位时,表示可使用16位数据线AD0AD15,否则只能使用8位数据线AD0AD7。ALE(AddressLockEnabled):地址锁存允许信号,高电位有效,表示CPU地址线上存在有效地址RESET:系统复位信号,接下页,33,最小模式下的地址、数据引线,AD15AD0:地址、数据分时复用信号线。当ALE=1时,用于传输地址信号,单向传输。当DEN=0时,用于传输数据信号,双向传输。A19/S3A16/S6:地址、状态分时复用信号线。当访问内存时,为高4位地址信号。其他时候为状态信号,接下页,34,中断请求和响应信号(重点),INTR(InterruptRequest)可屏蔽中断请求信号(输入端)NMI(NotMaskedInterrupt)非屏蔽中断请求信号(输入端)INTA(InterruptAcknowledge)中断响应信号(输出端),INTR,CPU,NMI,INTA,接下页,35,总线保持信号(重点),HOLD:总线保持请求信号输入端。当CPU以外的其他设备要求占用总线时,通过该引脚向CPU发出请求。HLDA(HOLDAcknowledge):总线保持响应信号输出端。CPU对HOLD信号的响应信号。,HOLD,CPU,HLDA,输入信号,输出信号,36,2.5工作时序,工作时序:当微处理器执行指令时,要送出一系列控制信号,这些控制信号在时间上的关系称为微处理器的时序。微处理器的工作时序可分为4种类型的周期:时钟周期、总线周期、机器周期和指令周期。(见下页),37,1.时钟周期(ClockCycle),也称T状态,是微处理器处理动作的最小时间单位。时钟周期值由系统时钟f确定,两者关系是T=1/f。时钟周期越短,CPU执行速度越快。例如,8086时钟频率为5MHz,即时钟周期为200ns。是计算机的基本工作脉冲,控制计算机的工作节奏,38,2.总线周期(BusCycle),通过总线对存储器或I/O接口进行一次访问需要的时间包括多个时钟周期。执行一条指令需要若干个总线周期,39,3.机器周期(MachineCycle),完成一个基本操作需要的时间称为机器周期。一条指令的执行过程被划分为若干个阶段,每个阶段做一项基本操作。基本操作有取指令、读存储器、写存储器等。一个机器周期由若干个S(State)周期(状态周期)组成。,40,4.指令周期(InstructionCycle),执行一条指令所需时间不同指令,指令周期不同一个指令周期由若干个机器周期组成简单指令只需一个机器周期,复杂需若干个机器周期指令周期=机器周期时钟周期长到短,41,2.68086/8088存储管理(重点),8086存储器:1MB(220B)按字节寻址:每个字节有一个地址存储器分成:若干个逻辑段原因:都是16位寄存器段寄存器:存放段的基地址每段为:216B=64KB,逻辑段,首单元,某单元,物理地址下页,42,由逻辑地址算出物理地址,0000,段基地址(16位),段首地址(后4位是0),例题下页,某段,某单元,偏移量,逻辑地址写成:xxxxH:yyyyH段基地址段内偏移地址如:1E00:3800H计算物理地址:段基地址10H+段内偏移地址如:1E0010H+3800H=1E000+3800=1E3800H,首单元,43,计算物理地址举例1,设:某段的基地址为6000H求:1)段首的物理地址2)偏移量为9的物理地址解:1)段首的物理地址6000H16+0000H=60000H2)偏移量9单元的物理地址6000H16+9H=60009H,逻辑段,首单元,段基址6000H,偏移地址9H,44,计算物理地址举例2,已知各段的基地址:CS=1055H,DS=250AHES=2EF0H,SS=8FF0H求各个段首的物理地址?结果:10550H250A0H2EF00H8FF00H,CS,DS,ES,SS,45,程序,堆栈段,堆栈:内存中的一个逻辑段,用于存放暂时不用或需要保护的数据。用途:用于响应中断或子程序调用指针:栈顶、栈底堆栈操作:入栈、出栈操作原则:先进后出,栈顶SP,栈底,.调用子程序.,子程序,.返回调用处,为什么能够返回调用处?,46,计算堆栈地址举例,已知:SS=1000H,SP=2000H,堆栈段最后一个单元的物理地址为13000H。问:堆栈段的段首物理地址

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论