21典型16位微处理器课件_第1页
21典型16位微处理器课件_第2页
21典型16位微处理器课件_第3页
21典型16位微处理器课件_第4页
21典型16位微处理器课件_第5页
已阅读5页,还剩49页未读, 继续免费阅读

下载本文档

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

文档简介

1第2章典型微处理器结构与技术微机原理2掌握Intel8086/8088的内部结构、内部寄存器组、引脚功能、工作模式和存储器组织;理解Intel8086/8088的工作时序和系统总线技术;了解80x86微处理器及Pentium微处理器的结构及特点。本章主要内容32.1

典型16位微处理器8088、8086基本类似16位CPU、地址总线(AB)宽度20位差别:指令队列:8088为4字节,8086为6字节数据总线:8088有8根,8086有16根8088为准16位CPU:与当时已有的8位外设接口芯片兼容本课程主要介绍8088(IBMPC采用)41.8088的内部结构执行单元(ExecuteUnit

)总线接口单元 (BusInterfaceUnit

)8088的内部结构1234内部暂存器IPESSSDSCS输入/输出控制电路外部总线执行部分控制电路∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位16位8位6总线接口单元BIU功能:从内存中取指令送入指令队列负责与内存或I/O接口之间的数据传送4个段寄存器(CS,DS,SS,ES)1个指令指针寄存器(IP)20位地址加法器()4字节指令队列BIU部分控制电路组成7执行单元EU功能:执行指令

从指令队列中取指令代码译码在ALU中完成数据的运算运算结果的特征保存在标志寄存器FLAGS中。算术逻辑单元(ALU)8个通用寄存器1个标志寄存器(PSW)EU部分控制电路组成8088的内部结构1234内部暂存器IPESSSDSCS输入/输出控制电路外部总线执行部分控制电路∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位16位8位

BIU

功能:负责与内存、I/O

端口传送数据。从内存取指令送到指令队列;CPU执行指令时,要配合执行部件从指定的内存单元或者端口中取数据,将数据传送给EU;把EU的操作结果存储到指定的内存或I/O口。1234内部暂存器IPESSSDSCS输入/输出控制电路外部总线执行部分控制电路∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位16位8位8088的内部结构执行部件(EU)

功能:负责指令执行。组成:4个通用寄存器:AX、BX、 CX、DX4个专用寄存器:BP、SP、 SI、DI1个标志寄存器算术逻辑单元:16位加法器

执行部件控制系统:

接收从总线接口单元的指令队列中取来的指令代码,译码和向EU内各有关部分发出时序命令信号,协调执行指令规定的操作。2.8088的内部寄存器DestinationIndex目的变址寄存器SIDIBPSPAX

累加器AccumulatorBX

基址寄存器BaseCX

计数寄存器CountDX

数据寄存器DataAHBHCHDHALBLCLDLIP

DSESSSCS数据段寄存器DataSegment附加段寄存器ExtraSegment堆栈段寄存器StackSegment代码段寄存器CodeSegmentProcessorStatusWord状态标志寄存器InstructionPointer指令指针寄存器变

址寄存器段寄存器控制寄存器通用寄存器SourceIndex源变址寄存器BasePoint基址指针寄存器StackPoint堆栈指针寄存器指

针寄存器数

据寄存器PSW11(1)数据寄存器数据寄存器包括累加器AX、基址寄存器BX、计数器CX和数据寄存器DX。这4个16位寄存器又可分别分成高8位(AH、BH、CH、DH)和低8位(AL、BL、CL、DL)寄存器。因此,它们既可作为4个16位数据寄存器使用,也可作为8个8位数据寄存器使用,在编程时可存放源操作数、目的操作数或运算结果。12(2)段寄存器在8086/88系统中,访问存储器的地址由段基地址和段内偏移地址两部分组成。段寄存器用来存放各分段的逻辑段基址

,并指示当前正在使用的4个逻辑段,包括代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS和附加段数据寄存器ES。13(3)地址指针与变址寄存器地址指针与变址寄存器一般用来存放主存地址的偏移量(即相对于段起始地址的距离),用于参与地址运算。BIU地址器中的内容与左移4位后的段寄存器内容相加产生20位的物理地址。另外,它们也可作为16位通用寄存器存放操作数或结果。地址指针与变址寄存器包括堆栈指针寄存器SP、基址指针寄存器BP、源变址寄存器SI和目的变址寄存器DI。14(4)控制寄存器包括指令指针寄存器IP和标志寄存器FLAGS1.指令指针(instructionpointer)寄存器IP:用来存放下一条要执行的指令在代码中的偏移地址。和CS段寄存器结合使用。2.标志寄存器FLAGS:一个16位的寄存器,用来表示当前的数据运算状态以及控制处理器状态或过程。(此部分内容放到P56页3.4.3标志传送指令部分讲授)153.8088微处理器引脚与工作模式

为提高系统性能、耐用性及适应性,8086/8088CPU设计为可工作在两种模式下,即最小模式和最大模式。(1).最小模式最小模式用于由8086/8088单一微处理器构成的小系统。16(2).最大模式最大模式用于实现多处理器系统,其中,8086/8088CPU被称为主处理器,其他处理器被称为协处理器。例如:专用于数值计算的协处理器8087,专用于输入/输出操作的协处理器8089本课程只介绍8088CPU,8086CPU类似于8088。17(3)8088的引脚信号及功能外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:引脚的功能信号的流向有效电平三态能力18

8088的两种工作模式两种模式构成两种不同规模的应用系统最小模式构成小规模的应用系统——单处理器系统8088本身提供所有的系统总线信号最大模式构成较大规模的应用系统——多处理器系统,例如可以接入数值协处理器8087控制信号较多,8088和总线控制器8288共同形成系统总线信号198088的两种模式(续)两种模式利用MN/MX*引脚区别MN/MX*接高电平为最小模式MN/MX*接低电平为最大模式硬件决定工作方式两种模式下的内部操作并没有区别本书以最小模式展开基本原理IBMPC/XT采用最大模式通常在信号名称加上划线(如:MX)或星号(如:MX*)表示低电平有效208088的引脚图12345678910111213141516171819204039383736353433323130292827262524232221

GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SS0*(HIGH)MN/MX*RD*HOLD(RQ*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M*/IO(S2*

)DT/R*(S1*

)DEN*(S0*

)ALE(QS0)INTA*(QS1)TEST*READYRESET8088双列直插式封装,40根引脚,工作电源+5V21最小模式的引脚信号数据和地址引脚读写控制引脚中断请求和响应引脚总线请求和响应引脚其它引脚 22a.数据和地址引脚AD7~AD0(Address/Data)地址/数据分时复用引脚,双向、三态在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7~A0其他时间用于传送8位数据D7~D0

23a.

数据和地址引脚(续1)A15~A8(Address)

中间8位地址引脚,输出、三态这些引脚在访问存储器或外设时,提供全部20位地址中的中间8位地址A15~A824a.

数据和地址引脚(续2)A19/S6~A16/S3(Address/Status)地址/状态分时复用引脚,输出、三态这些引脚在访问存储器的第一个时钟周期输出高4位地址A19~A16在访问外设的第一个时钟周期全部输出低电平无效25b.

读写控制引脚ALE(AddressLatchEnable)地址锁存允许,输出、三态、高电平有效ALE引脚高有效时,表示复用引脚:AD7~AD0和A19/S6~A16/S3正在传送地址信息由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来26b.读写控制引脚(续1)IO/M*(InputandOutput/Memory)

I/O或存储器访问,输出、三态该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O口地址该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址27b.读写控制引脚(续2)WR*(Write)

写控制,输出、三态、低电平有效有效时,表示CPU正在写出数据给存储器或I/O端口RD*(Read)读控制,输出、三态、低电平有效有效时,表示CPU正在从存储器或I/O端口读入数据28b.读写控制引脚(续3)IO/M*、WR*和RD*是最基本的控制信号组合后,控制4种基本的总线周期总线周期IO/M*WR*RD*存储器读低高低存储器写低低高I/O读高高低I/O写高低高29b.读写控制引脚(续4)READY

存储器或I/O口就绪,输入、高电平有效在总线操作周期中,8088CPU会在第3个时钟周期的前沿测试该引脚如果测到高有效,CPU直接进入第4个时钟周期如果测到无效,CPU将插入等待周期TwCPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。30b.读写控制引脚(续5)DEN*(DataEnable)

数据允许,输出、三态、低电平有效有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动DT/R*(DataTransmit/Receive)数据发送/接收,输出、三态该信号表明当前总线上数据的流向高电平时数据自CPU输出(发送)低电平时数据输入CPU(接收)

31b.读写控制引脚(续6)SS0*(SystemStatus0)

最小组态模式下的状态输出信号它与IO/M*和DT/R*一道,通过编码指示CPU在最小组态下的8种工作状态:1.取指 5.中断响应2.存储器读 6.I/O读3.存储器写 7.I/O写4.过渡状态 8.暂停32c.中断请求和响应引脚INTR(InterruptRequest)

可屏蔽中断请求,输入、高电平有效有效时,表示请求设备向CPU申请可屏蔽中断该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽33c.中断请求和响应引脚(续1)INTA*(InterruptAcknowledge)

可屏蔽中断响应,输出、低电平有效有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设他们的中断请求已被响应、并令有关设备将中断向量号送到数据总线34c.中断请求和响应引脚(续2)NMI(Non-MaskableInterrupt)

不可屏蔽中断请求,输入、上升沿有效有效时,表示外界向CPU申请不可屏蔽中断该请求的优先级别高于INTR,并且不能在CPU内被屏蔽当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务主机与外设进行数据交换通常采用可屏蔽中断不可屏蔽中断通常用于处理掉电等系统故障35d.

总线请求和响应引脚HOLD总线保持(即总线请求),输入、高电平有效有效时,表示总线请求设备向CPU申请占有总线该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权DMA控制器等主控设备通过HOLD申请占用系统总线(通常由CPU控制)36d.总线请求和响应引脚(续1)HLDA(HOLDAcknowledge)总线保持响应(即总线响应),输出、高电平有效有效时,表示CPU已响应总线请求并已将总线释放此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权

37e.

其它引脚RESET复位请求,输入、高电平有效该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作8088复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H38e.其它引脚(续1)CLK(Clock)

时钟输入系统通过该引脚给CPU提供内部定时信号。8088的标准工作时钟为5MHzIBMPC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns39e.其它引脚(续2)Vcc电源输入,向CPU提供+5V电源GND接地,向CPU提供参考地电平MN/MX*(Minimum/Maximum)组态选择接高电平时,8088引脚工作在最小组态;反之,8088工作在最大组态40e.

其它引脚(续3)TEST*测试,输入、低电平有效该引脚与WAIT指令配合使用当CPU执行WAIT指令时,他将在每个时钟周期对该引脚进行测试:如果无效,则程序踏步并继续测试;如果有效,则程序恢复运行在使用协处理器8087时,通过引脚和WAIT指令,可使8088与8087的操作保持同步414.8086/8088的存储器组织

(1)内存物理地址的形成(2)逻辑地址与物理地址(3)内存单元内容的存放及表示42取指令、存取数时,都要访问内存,被访问内存单元的地址由CPU提供。CPU送到AB上的20位的地址,就是物理地址。8088:20根地址线,可寻址1MB,范围:00000H~0FFFFFH。(1)内存物理地址的形成DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器AB43物理地址..60000H60001H60002H60003H60004H...12HF0H1BH08H

存储器的操作完全基于物理地址。问题:8088的内部总线和内部寄存器均为16位,如何生成20位地址?解决:存储器分段44a.存储器分段高地址低地址段地址段地址段地址段地址最大64KB段i-1段i段i+1最小16B16位二进制数可表示216=65536=64K个地址范围:0000H~FFFFH45b.物理地址的形成段地址:只取段起始地址高16位值,存放于段寄存器(CS、DS、ES、SS);偏移地址:段内某内存单元物理地址相对段起始地址的偏移值,通常来自于IP、SP、SI和DI中。0000段地址(16位)段首地址(20位)××ו••×××60002H00H12H60000H物理地址=段地址×16+偏移地址物理地址=段地址×10H+偏移地址段地址00003210150偏移地址基址加法器物理地址015019......20000H25F60H25F61H25F62H25F63H段地址:2000H段内偏移地址:5F62H逻辑地址与物理地址逻辑地址2FFFFHBIU中的地址加法器用来实现逻辑地址到物理地址的变换8088可同时访问4个段,4个段寄存器指示了每个段的段地址16位段地址16位段内偏移20位物理地址+16位20位000048段寄存器:专门存放段地址代码段寄存器:CS数据段寄存器:DS堆栈段寄存器:SS附加段寄存器:ES

存储器8K代码2K数据2K堆栈02000H04800H04000H0200H0400H0480H

DSESSSCSIPAB地址加法器49

特殊的内存区域①中断矢量区:00000H—003FFH共1K字节,用以存放256种中断类型的中断矢量,每个中断矢量占用4个字节,共256×4=1024=1K

温馨提示

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

评论

0/150

提交评论