《计算机硬件基础第2章.ppt》由会员分享,可在线阅读,更多相关《计算机硬件基础第2章.ppt(49页珍藏版)》请在三一办公上搜索。
1、第2章 微处理器基础,2,2.1 概述,微处理器是微型计算机核心微型机发展与微处理器发展密切相关发展是8086/8088、8028680486、Pentium(80586)系列16位微处理器(8086/8088)是基础下章介绍32位及以上微处理器,单击图片,看插入芯片录像,3,主要内容,8086微处理器内部寄存器 8086微处理器功能结构、引脚、工作原理 8086的存储器组织,下面分别介绍,4,2.2 8086CPU内部寄存器,寄存器(Register):用于存放信息(指令、数据)有14个16位寄存器,每个寄存器有一个名字CPU读/写寄存器比内存快得多 在用汇编语言编写程序时,可以直接使用寄存
2、器程序设计中惟一可见的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.数据寄存器(重点),存放运算需要的数据和运算
3、结果 含4个16位数据寄存器,分为8个8位寄存器 AX AH,AL 例 MOV AX,1234H BX BH,BL 例 MOV AH,12H CX CH,CL 例 MOV AL,34H DX DH,DL,8,数据寄存器习惯用法,AX:累加器(Accumulator寄存器)所有I/O指令都通过AX与接口传送信息,中间运算结果也放AX中 BX:基址寄存器(Base寄存器)在间接寻址中用于存放基地址 CX:计数寄存器(Count寄存器)用于在循环或串操作指令中存放计数值 DX:数据寄存器(Data寄存器)在间接寻址的I/O指令中存放I/O端口地址 在32位乘除法运算时,存放高16位数。,9,2.地址
4、指针寄存器,栈顶SP,栈首单元,堆栈段,栈底,偏移量,SP(Stack Point):堆栈指针寄存器,存放栈顶的偏移地址 BP(Base Point):基址指针寄存器,存放内存单元偏移地址BX与BP在应用上的区别 做通用寄存器,二者均可用于存放数据;做基址寄存器,用BP时表示数据在堆栈段,用BX数据在数据段,10,3.变址寄存器,SI:源变址寄存器(Source Index)DI:目标变址寄存器(Destination Index)变址寄存器常用于指令的间接寻址或变址寻址 在串操作指令(或成批数据操作指令)中,用SI存放源操作数的偏移地址,用DI存放目标操作数的偏移地址。,源操作数,目标操作数
5、,SI,DI,将数据从SI处移到DI处,11,2.2.2 段寄存器(重点),将内存储器分成若干个逻辑段,每段为64KB段寄存器用于存放相应逻辑段的段基地址 CS(Code Segment):代码段寄存器,存放代码段的基地址 DS(Data Segment):数据段寄存器,存放数据段的基地址 ES(Extra Segment):附加段寄存器,存放附加段的基地址 SS(Stack Segment):堆栈段寄存器,存放堆栈段的基地址,存放数据,存放数据,CS,DS,ES,SS,存放代码,段可重叠,12,2.2.3 控制寄存器(IP),包括:IP、FLAGS1.IP:指令指针寄存器(Instructi
6、on Point)内容为下一条待取指令的偏移地址 偏移地址、段基地址共同确定待取指令的内存实际地址 CPU从内存取出指令后,修改IP,使之指向下一条待取指令 IP由程序自动控制,程序员不能直接使用2.FLAGS:标志寄存器见下页,13,2.2.3 控制寄存器(FLAGS),FLAGS:标志寄存器存放系统的一些标志信息,如运算结果特征、系统状态由系统自动控制,程序员不能直接改变它 状态标志位(CF,SF,AF,PF,OF,ZF)控制标志位(IF,TF,DF),14,标志寄存器的标志位(重点),CF(Carry Flag)进位或借位标志位ZF(Zero Flag)零标志位OF(Overflow F
7、lag)溢出标志位SF(Sign Flag)符号标志位PF(Parity Flag)奇偶标志位AF(Auxiliary Flag)辅助进位标志位有些指令(如算术指令)影响FLAGS的值,有些不影响,例题下页,15,指令影响标志位例题1,b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 1+0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1,执行一条加法指令,计算 15439H476AH 后,标志位的值是
8、多少?,结论:CF=0 ZF=0 SF=1 PF=1 AF=1 OF=0,5 B A 3,16,指令影响标志位例题2,b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0+0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0,执行一条加法指令,计算6400H7A3CH后,标志位的值是多少?,结论:CF0,PF1,AF0,ZF0,SF1,OF1,D E 3 C,17,2.3 8086CPU的功能结构,按功能
9、分为两大部分:1.执行单元(EU Execute Unit)2.总线接口单元(BIU Bus Interface Unit),结构图下页,EU BIU,功能是执行指令,功能是传送信息(存储器、I/O设备),18,8086CPU的结构框图,20位,ALU,运算寄存器,标志,执行部件 控制电路,16位,CS DS SS ES IP 内部暂存器,8位,1 2 3 4 5 6,执行部件(EU),输入/输出 控制电路,16位,外部总线,指令队列,总线接口部件(BIU),通用寄存器,地址 加法器,运算器通用寄存器8个标志寄存器1个EU控制器件,段寄存器地址加法器 指令预取队列总线控制器件,19,总线接口单
10、元BIU的功能,由指令预取单元负责从指定内存单元取出指令,送到指令队列中排队。8088指令队列是6字节的RAM存储器(8088为4字节),队列中最多可存放6个字节的指令,取来的指令按字节顺序存放。当队列有两个以上指令字节空时,BIU自动执行总线操作,继续取指令。执行指令时,如要取操作数,也由BIU从内存或I/O接口指定区域取出,送给EU部件去执行。,负责传送信息(与存储器、输入输出设备),20,执行单元EU的功能,负责从BIU中的指令队列中取得指令和数据。当指令要求向存储器和I/O电路读或写数据时,EU向BIU发出请求,BIU自动完成这些操作。若执行转移指令,则存在指令队列缓冲器中的指令就没用
11、了,应到新的地址单元取出指令。BIU新取出的第一条指令直接送到EU中执行,随后重新填充指令队列。,负责翻译和执行指令,21,引入指令预取队列的优势,EU和BIU两部分(取指令和执行指令)同时工作,提高CPU效率降低对存储器存取速度的要求(指令已放到指令预取队列中),指令预取队列,内存,22,2.3.3 微处理器工作方式比较,有两种工作方式:串行方式、并行方式串行方式:取指令和执行指令在不同时刻按顺序执行并行方式:取指令和执行指令同时工作。需要硬件支持,取指令,指令译码,取操作数,执行指令,存放结果,Decode,Fetch,Fetch,Execute,Put,23,串行方式和并行方式的特点,8
12、086以前的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空间
13、寻址 支持多处理器系统,内存,分段,指令预取队列,段可重叠,25,2.4 8086CPU的工作模式及引脚信号,8086有两种工作模式:最小模式和最大模式。最小模式(单处理机模式):控制信号少,一般不必接总线控制器。最大模式(多处理机模式):控制信号多,须通过总线控制器与总线相连。注意:80286以后的CPU不再区分这两种工作模式,下面分别介绍,26,最小模式连接示意图,时钟发生 器,8086CPU,控制总线,数据总线,地址总线,地址锁存,数据缓存,只有一个CPU,27,最大模式连接示意图,8086CPU,数据总线,地址总线,地址锁存,数据缓存,总 线控制器,控制总线,必须通过总线控制器与总线相
14、连,其他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),最大模式,
15、最小模式,30,最小模式控制信号引线,WR(Write):写信号,低电位有效,表示CPU正在对内存或外设进行写操作。RD(Read):读信号,低电位有效,表示CPU正在对内存或外设进行读操作。M/IO(Memory/IO):区分是访问内存还是访问I/O设备,高电平时访问内存,低电平时访问外设。DEN(Data Enabled):数据允许信号,低电平有效,表示数据线上存在有效数据,即表示允许读/写操作例 当WR=1,RD=0,M/IO=1,DEN=0时,表示CPU正在读内存,接下页,31,最小模式控制信号引线,READY:准备好信号,由存储器或I/O设备发出DT/R(Data Transmit/
16、Receipt):数据传送/接收控制信号。高电位时表示CPU向内存或I/O设备传送数据,低电位时表示CPU接收内存或I/O设备的数据。,接下页,32,最小模式控制信号引线,BHE/S7(Byte High Enabled/State):字节高位数据总线允许控制/状态 分时复用信号线。为低电位时,表示可使用16位数据线AD0AD15,否则只能使用8位数据线AD0AD7。ALE(Address Lock Enabled):地址锁存允许信号,高电位有效,表示CPU地址线上存在有效地址RESET:系统复位信号,接下页,33,最小模式下的地址、数据引线,AD15AD0:地址、数据分时复用信号线。当ALE
17、=1时,用于传输地址信号,单向传输。当DEN=0时,用于传输数据信号,双向传输。A19/S3A16/S6:地址、状态分时复用信号线。当访问内存时,为高4位地址信号。其他时候为状态信号,接下页,34,中断请求和响应信号(重点),INTR(Interrupt Request)可屏蔽中断请求信号(输入端)NMI(Not Masked Interrupt)非屏蔽中断请求信号(输入端)INTA(Interrupt Acknowledge)中断响应信号(输出端),INTR,CPU,NMI,INTA,接下页,35,总线保持信号(重点),HOLD:总线保持请求信号输入端。当CPU以外的其他设备要求占用总线时,
18、通过该引脚向CPU发出请求。HLDA(HOLD Acknowledge):总线保持响应信号输出端。CPU对HOLD信号的响应信号。,HOLD,CPU,HLDA,输入信号,输出信号,36,2.5 工作时序,工作时序:当微处理器执行指令时,要送出一系列控制信号,这些控制信号在时间上的关系称为微处理器的时序。微处理器的工作时序可分为4种类型的周期:时钟周期、总线周期、机器周期和指令周期。(见下页),37,1.时钟周期(Clock Cycle),也称T状态,是微处理器处理动作的最小时间单位。时钟周期值由系统时钟f确定,两者关系是T=1/f。时钟周期越短,CPU执行速度越快。例如,8086时钟频率为5M
19、Hz,即时钟周期为200ns。是计算机的基本工作脉冲,控制计算机的工作节奏,38,2.总线周期(Bus Cycle),通过总线对存储器或I/O接口进行一次访问需要的时间包括多个时钟周期。执行一条指令需要若干个总线周期,39,3.机器周期(Machine Cycle),完成一个基本操作需要的时间称为机器周期。一条指令的执行过程被划分为若干个阶段,每个阶段做一项基本操作。基本操作有取指令、读存储器、写存储器等。一个机器周期由若干个S(State)周期(状态周期)组成。,40,4.指令周期(Instruction Cycle),执行一条指令所需时间不同指令,指令周期不同一个指令周期由若干个机器周期组
20、成简单指令只需一个机器周期,复杂需若干个机器周期 指令周期=机器周期 时钟周期 长到短,41,2.6 8086/8088存储管理(重点),8086存储器:1MB(220 B)按字节寻址:每个字节有一个地址存储器分成:若干个逻辑段原因:都是16位寄存器段寄存器:存放段的基地址每段为:216B=64KB,逻辑段,首单元,某单元,物理地址下页,42,由逻辑地址算出物理地址,0 0 0 0,段基地址(16位),段首地址(后4位是0),例题下页,某段,某单元,偏移量,逻辑地址写成:xxxxH:yyyyH 段基地址 段内偏移地址如:1E00:3800H计算物理地址:段基地址10H+段内偏移地址如:1E00
21、10H+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=250AH ES=2EF0H,SS=8FF0H 求各个段首的物理地址?结果:10550H 250A0H 2EF00H 8FF00H,CS,DS,ES,SS,45,程序,堆栈段,堆栈:内存中
22、的一个逻辑段,用于存放暂时不用或需要保护的数据。用途:用于响应中断或子程序调用指针:栈顶、栈底堆栈操作:入栈、出栈操作原则:先进后出,栈顶SP,栈底,.调用子程序.,子程序,.返回调用处,为什么能够返回调用处?,46,计算堆栈地址举例,已知:SS=1000H,SP=2000H,堆栈段最后一个单元的物理地址为13000H。问:堆栈段的段首物理地址=?栈顶物理地址=?栈底偏移地址=?答:堆栈段的首地址=10000H 栈顶地址=12000H 栈底偏移地址=3000H,段首,栈底,栈顶,堆栈段,填空题(更多习题见教材),CS、DS、SS、ES表示的寄存器是_、_、_和_。_段用于存放当前要执行的指令段
23、,只有已经放到_段的指令才能被执行。_段用于存放指令要访问的数据,_段用于临时存放一些数据。标志寄存器中有若干个状态标志位。CF是_标志位、OF是_标志位,ZF是_标志位,SF是_标志位。当运算结果为零时,ZF值变为_,否则值为_。标志寄存器由系统_控制,程序员不能直接_。8086微处理器按功能分为两个部件,即_和_,前者负责_,后者负责_。微处理器中的ALU(Arithmetic Logical Unit)称为_,用于_运算和_运算,运算结果的特征反映在_寄存器中。CPU串行工作方式是指_和_不能同时进行,要在_时刻按顺序执行。CPU并行流水线工作方式是指_和_同时进行。,若内存逻辑段的段内采用16根地址线寻址,则一个段的地址最大值是_。设某存储单元的逻辑地址为1E00:3800H。1E00是_地址,3800H是_地址。对应的物理地址是_。设CS段的基地址为1055H,CS段首单元的物理位地址是_。设SS=1000H,SP=2000H,堆栈段首单元的物理地址是_,栈顶单元的物理地址是_。,简答题,什么是CPU的串行工作方式和并行工作方式?CPU内部EU的中文含义和功能,BIU的中文含义和功能。标志寄存器的状态标志位CF、ZF、SF、OF、PF、AF各自的作用和取值。堆栈的用途、操作和操作原则。堆顶和堆首的区别。,