• 826.00 KB
  • 2022-04-29 14:37:23 发布

最新微机原理-第5版(周荷琴)-第二章-(1)课件PPT.ppt

  • 38页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'微机原理-第5版(周荷琴)-第二章-(1) 本章主要内容:§2.18086CPU的内部结构§2.28086/8088CPU的引脚功能§2.38086的存储器组织§2.48086的工作模式和总线操作 8086CPU的特点外部有16根数据总线,可并行传送16位数据;具有20根地址总线,能直接寻址220=1MB的内存空间;用低16位地址线访问I/O端口,可访问216=64K个I/O端口。8088的内部结构与8086基本相同,不同点:8086的指令队列为6字节,8088为4字节;8086BIU的外部数据总线为16位,而8088为8位。 8086内部结构指令执行单元(ExecutionUnit,EU)EU负责执行指令:它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(ArithmeticLogicUnit,ALU)完成各种运算。 2.8086CPU的工作过程大致分以下几步:1)先执行读存操作,从给定地址单元中取出指令,送到先进先出的指令队列中等待执行。存储器的物理地址=CS16+IP,在地址加法器中形成。2)执行单元EU从指令队列中取走指令,经EU控制器译码分析后,向各部件发控制命令,以完成执行指令的操作。此时EU不需要使用外部总线,BIU可将6字节的后续指令送到指令队列,将指令队列填满。 8086工作过程3)当指令队列已满,EU在执行指令,未向总线接口单元BIU申请读/写内存或I/O操作时,BIU处于空闲状态。4)指令执行过程中,若需对存储器或I/O端口存取数据,EU就要求BIU去完成相应的总线周期。例如,EU执行从内存读1个数据的指令时,就经内部16位数据总线将操作数偏移地址送到BIU,与BIU中的段地址一起,由地址加法器形成存储单元的物理地址,再从指定单元取出数据送到控制器EU,由EU根据指令要求,发控制命令,完成存储器读总线周期。 8086工作过程5)如遇到JMP或CALL指令,则指令队列中的内容作废,按新的转移地址取指令。6)算术逻辑部件ALU完成算术运算、逻辑运算或移位等操作。参加运算的操作数可从外存、I/O端口或EU内部的寄存器等获取。运算结果送到EU或BIU的寄存器中,也可由BIU写入存储器或I/O端口。本次操作的状态反映在标志寄存器FLAGS中,如进位和溢出等。 8086工作过程8086CPU中,BIU和EU是分开的,取指令和执行指令可重叠进行(JMP、CALL指令除外),这种重叠的操作技术称为流水线(Pipeline),能用来提高程序的运行速度。在高档微处理器中有多条流水线。 2.1.18086CPU内部结构及工作过程2.1.28086CPU内部寄存器§2.18086CPU的内部结构 2.1.28086CPU内部寄存器内部寄存器存放运算中的操作数、操作数地址、中间结果及最后结果。存取速度比存储器快许多。编程时须了解各寄存器的功能和用法。8088与8086内部寄存器完全相同。 8086寄存器1.数据寄存器16位数据寄存器AX、BX、CX、DX,存放16位数据信息或地址信息。每个16位寄存器也可分成2个8位寄存器来使用:AL、BL、CL、DL,AH、BH、CH、DH。只能存放8位数据,不能存放地址。 8086寄存器数据寄存器也可有专门用途(详见第3章)例如AX(Accumulator)累加器,在编程中用得最多;AX、AH和AL在乘、除法中有专门用途;BX(Base)基地址指针,可存放偏移地址;CX(Count)计数寄存器,在循环操作时作计数器用,用于控制循环程序的执行次数;DX(Data)数据寄存器,在乘、除法及I/O端口操作时有专门用途。 8086寄存器2.地址指针和变址寄存器地址指针和变址寄存器SP、BP、SI、DI以及基址寄存器BX,可与段寄存器配合使用,一起构成内存的物理地址。这些寄存器存放段内地址的偏移量(Offset),与段寄存器配合后,可实现灵活的寻址。主要在堆栈操作、字符串操作和访问存储器时使用。 8086寄存器堆栈指针SP(StackPointer)和基址指针BP(BasePointer)可与堆栈段寄存器SS(StackSegment)联合使用,用于设置或访问堆栈段。源变址寄存器SI(SourceIndex)和目的变址寄存器DI(DestinationIndex)具有通用寄存器的功能,通过SI、DI以及基址寄存器BX,可在内存中灵活寻找存储器操作数。在字符串运算中,可由DS:SI指向源串数据,ES:DI指向目的串,实现串数据传送等操作。 8086寄存器3.段寄存器8086/8088用分段技术寻址,用一组段寄存器将1MB空间分成若干逻辑段,每段64KB,段内设偏移地址。8086/8088内部设置了4个16位的段寄存器:代码段寄存器CS(CodeSegment)数据段寄存器DS(DataSegment)堆栈段寄存器SS(StackSegment)附加段寄存器ES(ExtraSegment)段寄存器存放各段始址的高16位,称为段基地址或段基址。段基址与段内偏址Offset(SP、BP、SI、DI、BX)组合可形成20位物理地址。 8086寄存器4.指令指针IP(InstructionPointer)IP指向将要执行的下条指令的偏移地址。下条将要执行指令的地址由CS:IP决定。程序运行时,每当CPU从代码段中取出1字节指令代码后,IP就自动+1。用户程序不能对IP进行存取,只能由BIU自动修改。 8086寄存器5.标志寄存器标志寄存器FLAGS设置了9个标志位,格式:CF、PF、AF、ZF、SF和OF为状态标志,用来表示指令执行后的结果或状态特征,转移指令根据它们来控制程序走向;TF、IF和DF为控制标志,由程序设置或清除。 1)进位标志CF(CarryFlag)最高位向前一位产生进位或借位时,CF=1,否则CF=0。只有在两个无符号数进行加减运算时,CF标志才有意义;移位操作将影响CF标志;执行STC指令可使CF置1,CLC指令使CF清0,CMC指令使CF标志取反。2)奇偶校验标志PF(ParityFlag)PF标志也称为偶标志。若本次运算结果低8位有偶数个1(如01101010B),则PF=1,否则PF=0。8086寄存器 3)辅助进位标志AF(AuxiliaryFlag)AF标志也称为半进位标志。在8位加减运算中,低4位向高4位有进位或借位,AF=1,否则AF=0只有在BCD数运算时AF才有意义。利用调整指令可对运算结果进行调整。8086寄存器 例2.1设AL=BCD数14,BL=BCD数9,用减法指令求两数之差。低4位向高4位有借位,AF=1,需用减法调整指令DAS进行“减6”调整。BCD数进行加法运算时,用加法调整指令DAA,自动进行“加6”调整运算。8086寄存器 4)零标志ZF(ZeroFlag)运算结果为0,则ZF=1,否则ZF=0。5)符号标志SF(SignFlag)也称负标志。运算结果最高位为1,则SF=1,表示该数为负数;否则SF=0,表示该数为正数。6)溢出标志OF(OverflowFlag)带符号数运算时,结果超出了机器能表示的范围,称为溢出。溢出时OF=1,否则OF=0。字节数据的范围为-128~+127,字数据范围为-32768~+32767。OF标志只有在带符号数运算时才有意义。8086寄存器 例2.2两个带符号数(+105+50=155)相加,如何影响各标志位?运算后各标志位状态如下:CF=0,无进位PF=0,结果有奇数个1AF=0,无半进位ZF=0,结果非0SF=1,结果为负数OF=1,溢出(两个正数相加,结果变成了负数-101)如果把数当成无符号数,则不考虑SF和OF标志,运算结果为155,是正确的。假如两个无符号数相加后CF=1,则进位也应算作结果,不能丢掉。 例2.3溢出与自然丢失之间的区别。求(-50)和(-5)之和:运算结果:两数之和为-55,SF=1(负数),OF=0(无溢出),结果正确。虽然CF=1,但它会“自然丢失”,带符号数相加时,判断CF=1?是没有意义的。8位寄存器或存储器位数不够用时,可用16位运算,数字较大时还可采用双字运算。 什么数是正数、负数、带符号数、无符号数和BCD数?实际由编程人员确定;如果你把参加运算的数当成带符号数,运算后可去查SF、OF标志;如果当成无符号数,运算后就去查CF标志;如果当成BCD数,运算后就去查AF标志;不管参加运算的数是什么类型,都可查ZF、PF标志。8086寄存器 7)陷阱标志TF(TrapFlag)若TF=1,CPU处于单步工作方式。每执行完一条指令,自动产生一次单步中断,将寄存器、存储器等内容显示在屏幕上。程序员可查看本条指令执行后的结果,以便逐条检查指令执行结果。若TF=0,则程序正常运行。8)中断标志IF(InterruptFlag)IF=1时,允许CPU响应可屏蔽中断,IF=0时,禁止响应该中断。执行STI指令可使IF置1,CLI指令使IF清0。8086寄存器 9)方向标志DF(DirectionFlag)控制字符串操作指令中地址指针变化的方向。若DF=0,串操作时地址指针SI、DI自动递增;若DF=1,SI、DI自动递减。CLD指令使DF=0,STD指令使DF=1。8086寄存器 视觉传达系统中的VI 视觉传达系统(VisualCommunicationDesigh)给人看的设计告知的设计利用视觉符号来传递各种信息的设计 视觉传达视觉符号传达 视觉符号指人类视觉器官眼睛所能看到的表现事物一定信息的符号图形摄影影视造型艺术文字 指符号信息向接受者传递信息的过程传达包括以下四方面谁把什么向谁传达效果如何 视觉传达设计主要包括标志设计VI设计广告设计包装设计展示设计多媒体设计等由于这些设计都是通过视觉形象传达给消费者的,因此统称为“视觉传达设计” 企业形象设计 (VisualIdentity)简称VI是视觉传达设计的重要组成部分,它主要功能是通过通过视觉符号向消费者传达企业信息,是在企业经营理念指导下,通过平面设计等手法将企业的内在气质和市场定位视觉化、形象化的设计 VI设计就是强调视觉传达设计里的视觉符号设计,力求设计要素与传达媒体的统一,使得企业标志、标准字体、标准色能充分运用于整个企业中,使统一的视觉形象传达给大众企业的整体信息 两大部分基础部分应用部分旗帜、办公用品、公关用品、环境设计、服装、专用车辆等标志、标识、标准字体、标准色、辅助图形、标准印刷字体等'