天津大学 微机原理 课件 第二章_第1页
天津大学 微机原理 课件 第二章_第2页
天津大学 微机原理 课件 第二章_第3页
天津大学 微机原理 课件 第二章_第4页
天津大学 微机原理 课件 第二章_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

微计算机原理第二章微处理器及其体系结构2.1微处理器的主要性能指标

2.28086/8088微处理器

1.8086的内部结构

2.8086的寄存器2.1微处理器的主要性能指标

1、字长2、指令数3、运算速度-基本指令执行时间4、访存空间5、高速缓存大小6、虚拟存储空间2.28086/8088微处理器

1.8086的内部结构

♦执行部件EU(ExecutionUnit)♦总线接口部件BIU(BusInterfaceUnit)(EU)(BIU)通用寄存器组AXBXCXDX缓冲器地址产生器地址总线数据总线(1)总线接口部件BIU组成:16位段寄存器,指令指针,20位地址加法器,总线控制逻辑,6字节指令队列。作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作数送EU单元去执行。工作过程:由段寄存器与IP形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。*当指令队列有2个或2个以上的字节空余时,BIU自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU重新取新地址中的指令代码,送入指令队列。*指令指针IP由BIU自动修改,IP总是指向下一条将要执行指令的地址。(2)指令执行部件EU组成:通用寄存器,标志寄存器,ALU,EU控制系统等。作用:负责指令的执行,完成指令的操作。工作过程:从队列中取得指令,进行译码,根据指令要求向EU内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O端口,则EU将操作数的偏移地址送给BIU,由BIU取得操作数送给EU。等待取指1执行1等待取指2执行2等待取指3执行3MPU总线忙闲忙闲忙闲传统微处理器的指令执行过程取指1取指2取指3取指4取指5取指6EU总线执行1执行2执行3执行4执行5执行6忙忙忙忙忙忙BIU8086CPU的指令执行过程

(3)8086CPU结构的特点:

减少了CPU为取指令而等待的时间,提高了CPU的运行速度。2.8086的寄存器结构1.数据寄存器组3.2个控制寄存器4.4个段寄存器8088/8086有14个16位寄存器2.指针/变址寄存器(1)数据寄存器

AX(AccumulatorRegister)累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。为16位寄存器,可以分成两个8位寄存器使用16位:AX、BX、CX、DX8位:AL、AH、BL、BH、CL、CH、DL、DHCX(Counter)将它称作计数寄存器,是因为它既可作数据寄存器,又可在串指令和移位指令中作计数用。DX(DataRegister)

DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途。BX(BaseRegister)基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能。寄存器的隐含使用

(2)指针及变址寄存器(SP,BP,SI,DI)堆栈是利用RAM区中某一指定区域(由用户规定),用来暂存数据或地址的存储区。堆栈段是由段定义语句在内存中定义的一个段,段基址由SS指定。堆栈存取数据的原则是“先进后出”,存取数据的方法是压入(PUSH)和弹出(POP)。堆栈:指针寄存器SP,BP:作地址指针,有效地址的偏移量SP:堆栈指针BP:存放于堆栈段某数据区基址的偏移地址变址寄存器SI,DI:当前数据段中数据的偏移地址SI:指向源操作数DI:指向目的操作数

(3)指令指针寄存器IP♦是一个16位的专用寄存器。♦当BIU从内存中取出一条指令,自动修改IP,始终指向下一条将要执行的指令在现行代码段中的偏移量。♦8086/8088中的某些指令执行后会改变IP的内容,但用户不能编写指令直接改变IP的内容。♦IP是指令地址在代码段内的偏移量(又称偏移地址),IP要与CS配合构成共同物理地址。总线接口部件BIU设有4个16位段寄存器(4)段寄存器♦CS(代码段寄存器)指向当前的代码段,指令由此段取出;♦SS(堆栈段寄存器)指向当前的堆栈段,栈操作的对象是该段存储单元的内容;♦DS(数据段寄存器)指向当前的数据段,该段中存放程序的操作数;♦ES(附加段寄存器)指向当前的附加段,主要用于字符串数据的存放,也用于一般数据的存放。实际地址的产生矛盾:存储器地址空间1MB,20bit地址线;内部各寄存器和数据总线均为16bit。

解决方法:将整个存储器分为若干个逻辑段,每段内地址16bit,即最多地址空间64KB。允许各逻辑段在整个存储空间浮动,段与段之间可以是连续的,也可以是分开的或重叠的。A段B段C段D段E段40000H50000H60000H70000H连续排列部分重叠完全重叠断开排列对给定的任一存储单元,有两部分逻辑地址:段首地址——由CS,DS,SS,ES决定段内偏移量地址——该单元相对于段基址的距离段首地址

0000段内偏移地址+0000实际地址(20bit)16bit16bit20bitPA=(段首地址×16)+偏移地址 PA:实际地址

逻辑地址:允许在程序中编排的地址实际地址:存储器中实际存放的地址特性:实际地址具有唯一性逻辑地址不是唯一的逻辑地址的来源:操作类型隐含段地址替换段地址偏移地址取指令CS无IP

堆栈操作SS无SPBP间址SSCS、DS、ESEA存/取操作数DSCS、SS、ESEA源字符串DSCS、SS、ESSI目的字符串ES无DIEA---有效地址,F是一个16位的专用寄存器(6位状态位,3位控制位)存放运算结果的特征。(5)状态标志寄存器

FD0D2D4D6D15D11D8OF位:溢出位(OF=1有溢出;OF=0无溢出)主要对带符号数

例:补码运算FFH+01H=00H11111111

+00000001100000000

丢位3BH+5DH= 00111011

+0101110110011000

发生溢出

溢出:运算数位过大,侵占了符号位带符号数溢出判断: 溢出=CS⊕CP

CS最高位进位,CP次高位进位

FFH+01H=00H11111111

+000000011000000003BH+5DH= 00111011

+0101110110011000

=0结果正确=1溢出CS=1CP=1CS=1CP=0SF位:符号位(SF=1负数;SF=0正数)ZF位:零标志位(ZF=1运算结果为0;ZF=0运算结果不为0)AF位:辅助进位(AF=1有进位;AF=0无进位;辅助位表示低4位有无进位或借位)PF位:奇偶标志位(PF=1运算结果1的个数为偶数;PF=0运算结果1的个数为奇数)CF位:进位标志位(CF=1有进位;CF=0无进位;最高位)DF:方向标志-控制数据串操作指令的步进方向

DF=1减址方式(STD)

DF=0增址方式(CLD)

IF:中断允许标志-对可屏蔽中断

IF=1开中断(STI)

IF=0关中断(CLI)TF:陷阱标志-程序调试

TF=1单步执行

TF=0连续正常执行3个控制位:4.时钟周期和总线周期时钟周期:CPU的基本定时单位,时钟频率的倒数,是CPU的时间基准(T状态)总线周期:

CPU完成对存储器或I/O端口一次访问所需的时间8086一个基本的总线周期一般由4时钟周期个组成读周期:T1:输出地址;T2:总线浮空、缓冲;T3-T4:从总线输入数据传送数据T1T2T3TwTwT4T1T2T4总线周期地址输出数据输入地址输出数据输出缓冲读周期写周期写周期:T1:输出地址;T2-T4:把输出数据送到总线上。若存储器或外设速度慢,则向CPU发送READY无效信号,可在T3后插入一个或多个等待周期TW;就绪后,发READY有效信号,CPU自动脱离TW而进入T4状态。若一个总线周期后不执行下一个总线周期,即总线上无数据传输操作,系统总线处于空闲状态,此时执行空闲周期。

8086是16位CPU。它采用高性能的N—沟道,耗尽型负载的硅栅工艺(HMOS)制造。由于受当时制造工艺的限制,部分管脚采用了分时复用的方式,构成了40条管脚的双列直插式封装。5.8086CPU的管脚及功能VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS1)INTA(QS0)TESTREADYRESETGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND12345678910111213141516171819204039383736353433323130292827262524232221引脚说明(1)

AD15~AD0(AddressDataBus):◆分时复用的存储器或端口的地址/数据总线。◆传送地址时为单向的三态输出,传送数据时可双向三态输入/输出。◆在总线周期的T1状态,输出要访问的存储器或I/O端口的地址;T2状态浮置成高阻状态,为传输数据做准备;在T3状态,用于传输数据;T4状态,结束总线周期。

(2)

A19/S6~A16/S3

(Address/Status):

地址/状态复用信号,输出。在总周期的T1状态A19/S6~A16/S3上是地址的高4位。在T2~T4状态,A19/S6~A16/S3上输出状态信息。S4S3当前正在使用的段寄存器00ES01SS10CS或未使用任何段寄存器11DSs5为1表明8086CPU可以响应可屏蔽中断;

s6为0用以指示8086CPU当前与总线连通;

(3)INTR、NMI:中断请求信号输入引脚INTR(InterruptRequest)

中断请求信号,由外部输入,电平触发,高电平有效。INTR有效时,表示外部设备向CPU发出中断请求,CPU在每条指令的最后一个时钟周期对INTR进行测试,一旦测试到有中断请求,并且当中断允许标志IF=1时,则暂停执行下条指令转入中断响应周期。NMI(Non—MaskableInterruptRequest)

不可屏蔽中断请求信号。由外部输入,边沿触发,正跳沿有效。CPU一旦测试到NMI请求信号,待当前指令执行完就自动从中断入口地址表中找到类型2中断服务程序的入口地址,并转去执行。(4)RD(Read)

读信号,三态输出,低电平有效,表示当前CPU正在读存储器或I/O端口。

(5)READY

准备就绪信号。由外部输入,高电平有效,表示CPU访问的存储器或I/O端口己准备好传送数据。当READY无效时,要求CPU插入一个或多个等待周期Tw,直到READY信号有效为止。

READY=1,内存或I/O准备就绪

READY=0,CPU等待

(6)RESET

复位信号。由外部输入,高电平有效。RESET信号至少要保持4个时钟周期,CPU接收到该信号后,停止进行操作,并对标志寄存器(FR)、IP、DS、SS、ES及指令队列清零,而将CS设置为FFFFH。当复位信号变为低电平时,CPU从FFFF0H开始执行程序,由此可见,采用8086CPU计算机系统的启动程序就保持在开始的存储器中。(7)CLK

时钟。

(8)GND

地。(9)VCC

电源,接+5V。(10)TEST

测试信号。由外部输入,低电平有效。当CPU执行WAIT指令时(WAIT指令是用来使处理器与外部硬件同步),每隔5个时钟周期对TEST进行一次测试,若测试到该信号无效,则CPU继续执行WAIT指令,即处于空闲等待状态;当CPU测到TEST输入为低电平时,则转而执行WAIT的下一条指令。由此可见,TEST对WAIT指令起到了监视的作用。(11)BHE/S7

(BusHighEnable/Status):

数据总线高8位使能和状态复用信号,输出。在总线周期T1状态,BHE有效,表示数据线上高8位数据有效。在T2~T4状态BHE

/S7输出状态信息S7。S7在8086中未定义。高8位数据总线有数据传输时,BHE

=0BHE、AD0的代码组合和对应的操作BHEAD0对应的操作所用的管脚00从偶地址开始读/写一个字AD15~AD001从奇地址单元读/写一个字节AD15~AD810从偶地址单元读/写一个字节AD7~AD00110从奇地址开始读/写一个字(在第一个总线周期,传送低8位数据到AD15~AD8;第二个总线周期传送高8位数据到AD7~AD0)AD15~AD8AD7~AD08086的两种工作方式 系统中只有8086一个处理器最小模式:所有的控制信号都是由8086CPU产生 是单机系统 系统中包含一个以上的处理器最大模式:系统控制信号由总线控制器8288提供 可构成多处理机系统(12)MN/MX (Minimum/MaximumModeControl):MN/MX=1(+5V),CPU工作在最小模式。MN/MX=0(接地),CPU工作在最大模式。两种模式下共用的信号线6.最小模式系统配置及引脚说明◆MN/MX端接VCC或GND,决定工作在最小模式或最大模式◆8084A为时钟发生器,外接15MHz振荡源,经8284A三分频后,得5MHz主频送到8086系统时钟端CLK。◆用3片8282作地址锁存器,在T1时锁存地址/数据复用线上的地址A19-A0和BHE信号◆当系统所连的存储器和外设较多时,需要增加数据总线的驱动能力

◆系统组成还必须有其他的一些,如半导体存储器RAM和ROM,外部设备的I/O接口,中断控制管理部件等组件

82848282存储器8286I/O接口VccVccCLKMN/MXRDWRIO/MALEA16-A19AD0-AD15DT/RDENINTAINTRREADYRESET8086CPUSTBTOE数据总线地址总线OE8086最小组态系统配置图时钟发生器BHEBHE(1)M/IO(Memory/IO)

存储器或I/O端口访问信号。三态输出,

M/IO为高电平时,表示当前CPU正在访问存储器,

M/IO为低电平时,表示当前CPU正在访问I/O端口。

(2)WR(Write)

写信号,三态输出,低电平有效,表示当前CPU正在写存储器或I/O端口。总线周期M/IOWRRD存储器读高高低存储器写高低高I/O读低高低I/O写低低高**在最小模式中,信号M/IO、WR、RD组合起来决定了系统中数据传送方式总线周期M/IOWRRD存储器读高高低存储器写高低高I/O读低高低I/O写低低高总线周期M/IOWRRD存储器读高高低存储器写高低高I/O读低高低I/O写低低高总线周期M/IOWRRD存储器读高高低存储器写高低高I/O读低高低I/O写低低高总线周期M/IOWRRD存储器读高高低存储器写高低高I/O读低高低I/O写低低高

(3)INTR(InterruptRequest)

中断请求信号,由外部输入,电平触发,高电平有效。

(4)INTA(InterruptAcknowledge)

中断响应信号。向外部输出,低电平有效,表示CPU响应了外部发来的INTR信号。

(5)ALE(AddressLatchEnable)

地址锁存信号,输出,高电平有效。用来作为地址锁存器的锁存控制信号。

(6)DEN(DataEnable)

数据使能信号,输出,三态,低电平有效。用于数据总线驱动器的控制信号。(7)

DT/R(DataTransmit/Receive):

数据驱动器数据流向控制信号,输出,三态。在8086系统中,通常采用8286或8287作为数据总线的驱动器,用DT/R信号来控制数据驱动器的数据传送方向。

DT/R=1时,进行数据发送;

DT/R=0时,进行数据接收。缓冲器8286/8287(8)HOLD(HoldRequest)

总线请求信号。由外部输入,高电平有效器向CPU请求使用总线。(9)HLDA(HoldAcknowledge)

共享总线的处理总线请求响应信号。向外部输出,高电平有效。

7.“引脚”小结CPU引脚可分成三类信号16位数据线:D0~D1520位地址线:A0~A19控制线(最小模式下):系统必有:RESET、CLK、Vcc、GND控制外围芯片:DT/R、DEN、ALE控制存储器/IO端口读写:M/IO、BHE、RD、WR、READY。

用于中断联络和控制:INTR、NMI、INTA。

用于DMA联络和控制:HOLD,HLDA。8.存储器组织

(1)字节、字及双字的存放

存储器是按字节进行组织的,两个相邻的字节被称为一个“字”。字节的存放:在存储器中按顺序排列存放;字的存放:将字的低位字节存放在低地址中,高位字节存放在高地址中,并以低地址作为该字的地址。双字的存放:双字通常为地址指针,将偏移量存放于低地址的字单元,段基址存放于高地址的字单元

8086的存储格式D7D000007HFFH00006HDEH00005HBCH00004H9AH00003H78H00002H56H00001H00000H34H12H(00000H)位置:字节存放:12H字存放:3412H双字存放:偏移量:3412H基址:7856H在组成与8086CPU连接的存储器时,1M字节的存储空间实际上被分成两个512K字节的存储体,分别叫高位库和低位库。低位库:与8086CPU的低位字节数据线D7~D0相连,库中的每个单元的地址均为偶数。高位库:与8086CPU的高位字节数据线D15~D8相连,库中的每个单元的地址均为奇数。

(2)高位库和低位库规则字:从偶地址开始存放的字非规则字:从奇地址开始存放的字特点:规则字的存取在一个总线周期内即可完成非规则字的存取则需2个总线周期00002H56H00001H34H00000H12H规则字:3412非规则字:12349.I/O组织

温馨提示

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

评论

0/150

提交评论