第4章微处理器系统_第1页
第4章微处理器系统_第2页
第4章微处理器系统_第3页
第4章微处理器系统_第4页
第4章微处理器系统_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

基本概念(总线、堆栈等),微处理器的一般结构,Intel8086微处理器的结构,了解三总线及堆栈的工作原理。,掌握微处理器的一般结构、算逻部件ALU、寄存器结构、控制部件。,重点掌握Intel8086微处理器的结构。,4.1基本概念,一、总线,1.总线的由来,优点:传送速率高,它只受传送线本身的限制,且控制简单。,缺点:机器所需要的信息传送线数量大,增加了复杂性,不便于实现机器的模块和积木化。,图中当A和A门打开时,信息由A传至A;A和C门打开时,信息便从A传至C。,总线上能同时传送二进制信息的位数称为总线宽度。见下图。,由于采用了分时传送的总线结构从而大大减少了机器中信息传送线的数目。,a.分时传送:,多个部件并联在总线上,某一时刻,只允许一路信息在总线上传送。,b.控制复杂:,总线的发送端及接收端均有三态门电路。打开三态门信息经总线传送到目的端。若不传送信息,则使三态门处于高阻状态,相当于此部件在逻辑上与总线脱离联系。,c.系统结构简单,便于扩展。,2.总线的分类,总线按信息传送的方向可分为单向总线和双向总线。单向总线只能向一个方向发送信息。双向总线则可在两个方向传送。,总线按所传信息的类别,通常分为数据总线,地址总线和控制总线。,(1)片内总线,总线按规模、用途及应用场合又可分为以下几种:,(2)芯片总线,(3)内总线,(4)外总线,指微型计算机系统与系统之间或微机系统与外部设备之间的通信线,又称通信总线。CPU与外部设备的基本通信方式有两种:,a.并行通信:数据各位同时传送,有多少位数据就有同样数量的传送线。,b.串行通信:数据逐位顺序传送,适宜长距离传送。,二、堆栈,用作数据暂时存储的一组寄存器或存储单元称为堆栈。,堆栈操作有两种:压入(PUSH)和弹出(POP),而SP始终指向堆栈栈顶的新位置。,1.堆栈的定义,堆栈中数据按“后进先出”的结构方式进行处理,即新入栈的依次堆放在原来数据之上,存放信息的最后一个单元叫做栈顶,用堆栈指针SP(StackPointer)指示。,2.堆栈编址结构的两种形式,3.构成堆栈的两种形式,一种是使用微处理器内部的一组寄存器作为堆栈。优点:访问速度快。缺点:寄存器数量有限。,另一种形式是在随机存储器RAM中开辟一个区间供堆栈使用,较为普遍;若编址采用向下生成,其堆栈操作如下图所示。,当前栈顶地址为M,存内容X,信息B进栈:SPSP1,SP指定的地址B,信息A进栈分两步操作:SPSP1,SP指定的地址单元A,堆栈操作示意图(向下生成),信息C进栈,信息C出栈分两步操作:指定的目的地C,SPSP+1,信息B出栈:指定目的地B,SPSP+1,信息D进栈:SPSP1,SP指定的地址D,信息D出栈,信息A出栈,栈顶地址仍为M,有以下程序main()char*p10=“abc”,“aabdfg”,“dcdbe”,“abbd”,“cd”;printf(“%dn”,strlen(p4);执行后输出结果是A)2B)3C)4D)5,2.2微处理器的一般结构,微处理器一般结构框图,一、算术逻辑部件ALU(ArithmeticLogicUnit),ALU是执行算术运算、逻辑运算及移位的装置。,ALU有两个输入端,一个与累加器相连,另一端与暂存器相连,用于存放参加运算的两个数。,ALU的输出端也有两个,一端将操作结果送回到内部总线再送回累加器,另一端用于输出表示操作结果特征的标志信息。,二、寄存器阵列,一般包括通用寄存器、累加器、标志寄存器、专用寄存器等。寄存器的使用提升了计算机的功能和程序设计的灵活性。,1.通用寄存器组,2.累加器,CPU对I/O接口电路的读出或写入一般也是通过累加器进行的。,3.标志寄存器,4.专用寄存器,它是指令地址寄存器,其内容指出了现行指令在存储器中的存放地址。,注:当按PC的内容从存储器中取出指令时,PC的内容自动加1。,对单字节指令而言,则PC指向了下一条指令所在的地址。,对多字节指令,则每取一个字节,PC自动加1,当取出最后一个指令字节时,PC仍指向下一条指令地址。,用于确定堆栈在内存中的具体位置。SP总是指向栈顶。,用于变址寻址,也可作通用寄存器。,三、控制部件,根据上述结构,微处理器执行一条指令的简要过程,如下图所示。,计算机基本工作原理,指令是能被计算机识别并执行的的二进制代码每一条指令完成一种操作。,数据传送指令数据处理指令程序控制指令输入输出指令其它指令,IfGoto,AndOr,对计算机的硬件进行管理等,指令,结构,分类,操作码:操作类型或性质操作数:操作的数据或数据的地址,NEXT:MOVAH,1INT21HCMPAL,aJBPROG2CMPAL,zJAPROG2SUBAL,20HMOVDL,ALMOVAH,2INT21HJMPNEXTPROG2:问:1)从键盘输入小写字母d时,显示器上显示。2)转向PROG2的条件是:。,微处理器执行一条指令的简要过程,图中取指令包含以下几个步骤:,(2)PC+1PC,同时CPU发出“存储器读”。信号,访问存储器中某一单元。,(3)经过几百ns,在外部数据总线上出现指令的第一个字节,即操作码,经由CPU内部数据缓冲器内部总线指令寄存器。,(4)对于多字节指令,控制部件还会发出取第二、第三等字节的信号,每次PC+1PC,2.3程序指令的执行过程,人们事先把一条条指令预选输到存储器中,在执行时,机器把这些指令一条条地取出来,加以翻译和执行。,例如:若要求机器把两个数7和10相加,其简单程序为:,第一条指令的取指过程。,00000000,00000000,10110000,O,I2,ALU,I1,AL,BL,PLA,ID,IR10110000,DB,A,B,+1,E,AB,C,AR,D,读,F,DR,0001020304,G,PC,取第一条指令的操作示意图,00,00,10110000,PC的内容(00H)送AR(AddressRegister),PC+1PC(01H),00H经AB送至存储器,经地址译码器选中00H单元。,CPU给出读命令。,(00H)=B0H读至DB(DataBus),10110000,B0H送至DR(DataRegister),DR把B0H送IR经ID译码发出对应操作,取指令第二字节的过程如下图所示。,00000001,01,00000111,O,I2,ALU,I1,AL00000111,BL,PLA,ID,IR,00000111,DB,A,B,+1,E,AB,C,AR,D,读,F,DR,G,PC,1000000001,取立即数的操作示意图,PC的内容01H送AR,PC+1PC(02H),01H经AB送至存储器,经地址译码选中01H单元。,CPU发出读命令。,(01H)=07H读至DB,00000111,07H送DR,AL00000111,07H由DR通过内部DB送至AL。,取第二条指令的第一个字节与第一条指令的第一个字节的取指过程相同。对此指令译码后,知为加法指令,AL的内容为一操作数,另一操作数在指令的第二字节中,其执行过程为:,(9)相加结果由ALU输出至AL中,可类似取第三条指令。,(7)DR中的数由内部DB送到ALU的另一输入端。,(1)(6)与第一条指令的第二字节的执行过程相同。,(8)AL中的数送ALU且执行加法操作。,在数据区DAT地址起有10个数据,试编程序对数据进行升序排列。将结果送CRT显示。程序如下:,STACKSEGMENTSTADB100DUP(?)STACKENDS;*DATASEGMENTDATDB2,67,33,78,98,1,77,43,32,76COUNTDB10COUNT1DB100DATAENDS;*CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:,MOVAX,DATAMOVDS,AXMOVAX,0MOVCX,AXLEADI,DATMOVCL,COUNTDECCXINCDI;*LP:MOVSI,DIDECSIMOVAL,DIPUSHDI,CALLLKPOPDIINCDILOOPLPLEADI,DATMOVCL,COUNT;*SC:MOVAX,0MOVBH,2MOVAL,DIDIVCOUNT1MOVDH,AHADDAL,30HMOVDL,ALMOVAH,2INT21H,MOVAL,DHMOVAH,0DIVCOUNTADDAX,3030HMOVDL,ALMOVBL,AH;*OUTP:MOVAH,2INT21HDECBHJZXTMOVDL,BLJMPOUTP;*XT:DECCLJZDONE,INCDIJMPSC;*DONE:MOVAH,4CHINT21H;*LKPROCMOVBL,COUNTSUBBL,CL;*LP1:CMPAL,SIJGRTTMOVDL,SIMOVDI,DLMOVSI,ALDECDIDECSI,DECBLJNZLP1;*RTT:RETLKENDPCODEENDSENDSTART,2.4Intel8086微处理器,8086是Intel系列的16bit微处理器,属第三代。,8086有16bit数据总线和20bit地址线,可寻址1M空间。,8086采用单一+5V电源和单相时钟,频率为5MHZ。,一、8086CPU结构,1、总体功能结构,8086从功能结构来讲,分为两大部分,即总线接口部件BIU(BusInterfaceUnit)和执行部件EU(ExecutionUnit)。,在执行指令时,如要取操作数,则也由BIU从内存或I/O接口指定区域取出,送给EU部件去执行。,BIU负责与存储器、I/O接口电路传送信息。,BIU负责从指定内存单元取出指令,送到指令队列缓冲器中排队。,指令队列缓冲器是一个6字节的RAM存储器(8088为4个字节),队列中最多可同时存放6个字节的指令,取来的指令是按字节顺序存放的。,当队列中有两个以上的指令字节空的时候,BIU会自动地执行总线操作,继续取指令。,若执行的是一条转移指令,则存放在指令队列缓冲器中的指令就没有用了,应到新的地址单元去取出。BIU新取出的第一条指令将直接送到EU中去执行,随后重新填充指令队列缓冲器。,EU从BIU中的指令队列缓冲器中取得指令和数据。,当指令要求将数据写到存储器和I/O电路,或需从存储器和I/O电路中读取数据时,EU向BIU发出请求,BIU自动完成这些操作。,2.寄存器结构,8086CPU内部寄存器,SP堆栈指针,存放堆栈栈顶的现行地址,与SS堆栈段寄存器一起方可确定堆栈的实际地址。,BP基址指针,SI源变址寄存器,AX,BX,CX,DX4个16bit的通用数据寄存器,它们的高8bitAH,BH,CH,DH与低8bitAL,BL,CL,DL又可分别看成8个8bit的寄存器。,DI目的变址寄存器,a.PC是指向下一条即将要执行的指令,而IP一般是指向下一次要取出的指令。,b.在8086中IP要与CS代码段寄存器的内容一起,才能得到指令的实际地址。,标志寄存器格式,a.6个状态标志位,即CF、PF、AF、ZF、SF和OF。,进位标志CF(CarryFlag):,FLAG(标志寄存器)为16bit,其中9位有定义。,当结果的最高位(字节D7,字D15)产生进位(加法运算)或借位(减法运算)时,CF=1,否则CF=0,移位和循环指令也影响CF。,奇偶标志位PF(ParityFlag):若结果中“1”的个数为偶数,则PF=1,否则PF=0。,辅助进位标志AF(AuxitiaryCarryFlag):在低半字节向高半字节有进位或借位时AF=1,否则AF=0。,零标志ZF(ZeroFlag):当运算结果为0时ZF=1,否则ZF=0。,符号标志SF(SignFlag):SF等于最高位,对于带符号数,最高位为符号位,SF=1运算结果为负,SF=0为正。,溢出标志OF(OverflowFlag):带符号数运算结果超出其表达范围时(字节数:-128+127,字类型数:-32768+32767),OF=1,否则OF=0。,b.3个控制标志位,追踪标志TF(TraceFlag):TF=1,处理器进入单步方式,以便调试,CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况;TF=0为连续工作方式。,中断允许标志IF(Interrupt-enableFlag):IF=1,允许CPU响应外部的可屏蔽中断请求;IF=0则禁止响应。IF对外部非屏蔽中断及内部中断不起作用。,方向标志DF(DirectionFlag):在串操作指令中,DF=0时,变址指针自动增量,DF=1时,则自动减量。,(3)段寄存器,CS代码段寄存器,用于定义代码段基地址,该段用于存放指令代码。,DS数据段寄存器,用于定义数据段基地址,该段用于存放程序变量。,SS堆栈段寄存器,用于定义堆栈段基地址,该段作堆栈区使用。,ES附加数据段,用于定义附加段基地址,与DS类似。,上述4个段在8086寻址的1MB空间内,其位置不受限制,可连续排列、分隔排列、部分重叠甚致全部重叠。,(3)8086与传统微处理器指令执行过程比较,传统微处理器的执行方式,传统微处理器取指与执行串行进行,CPU的工作效率低。,8086的指令执行方式,8086CPU取指与执行并行进行,大大减少了等待取指令所需时间,提高了CPU的工作效率。,二、引脚信号及功能,8086的两种工作模式,8086采用双列直插式封装,有40个引脚(如右图所示),但总线信号数量却大于40,故8086采用了分时复用技术,部分引脚传送两种总线信号。,8086芯片的引脚图,1.最小模式下引脚信号及功能:,(1)地址/数据总线AD15AD0(双向、三态),(2)地址/状态信号线A19/S6A16/S3(输出、三态),S6低电平,表示8086当前与总线相连。,S5表示标志寄存器中“中断允许位”的状态(IF)。,S4,S3的组合指出了分段情况。如下表所示。,S4和S3的组合提供的分段信息表,当CPU处于“保持响应”状态时,A19/S6A16/S3置为高阻状态。,若执行I/O指令,则由于8086只访问64K个端口,在T1周期这4个引脚为低电平。,下面介绍引脚中的控制信号。,低电平8086处于最大模式。,高电平8086处于最小模式。,低电平有效。表示将对内存或I/O端口读操作。,是区分CPU进行的存储器还是I/O访问,见下表。,(8)ALE地址锁存允许信号(输出),高电平有效,此信号在T1状态有效,为地址码锁存的选通信号,送地址锁存器。,(9)READY准备就绪信号(输入),高电平有效,是从所寻址的存储器或I/O电路来的响应信号,用于解决CPU与慢速存储器或I/O电路的同步问题。CPU在T3周期开始采样READY线,若为低电平,则T3之后插入TW等待周期直到READY为高电平,进入T4完成数据传送。,(10)INTR可屏蔽中断请求信号(输入),(12)NMI非屏蔽中断请求信号(输入),(13)RESET系统复位信号(输入),8086工作在DMA方式时,DT/R为高阻状态,在最小模式时因无8286而不起作用。,(16)HOLD保持请求信号(输入),(17)HLDA保持响应信号(输出),高电平有效。当CPU响应保持请求HOLD时,便发出HLDA高电平的应答信号,从而将总线控制权让给发出保持请求的设备,直到该设备又将HOLD信号变为低电平,CPU才收回总线控制权,将HLDA信号置为低电平。,(19)CLK系统时钟输入信号,工作在最小模式下8086的典型配置如右图所示。,2.最大模式下引脚信号及功能,两种模式下8086的2431引脚信号表,(1)QS1和QS0指令队列状态信号(输出),QS1和QS0编码与队列状态表,两信号编码和对应的队列状态如下表所示。,这三个状态信号组成的编码表示了当前总线周期是何种操作周期,如下表所示。,2,1和0编码与总线周期表,下图给出了8086在最大模式下的典型配置。,8086在最大模式下的典型配置,2.58086存储器管理,段内偏移量EA(EffectiveAddress):是指某存储单元离开该段段首址的字节数。,逻辑地址(LogicalAddress):是一对地址,包含段寄存器的内容和段内偏移量,如某条指令的逻辑地址可表达为:CS:IP。,物理地址PA(PhysicalAddress):是指某个存储单元实际的20bit的地址,又称绝对地址。,由上面的定义可知:,物理地址PA=对应段寄存器10H十段内偏移量EA。,物理地址的形成如下图所示。,物理地址的形成,例如:若CS=FFFFH,IP=0000H,则指令所在存储单元的物理地址为:,PA=(CS)10H+IP=FFFF0H,当取指令时,自动选择的段寄存器是CS,再加上IP所决定的16位偏移量,得到要取出指令具体的物理地址:,当涉及到取一个堆栈操作时,自动选择的段寄存器是SS,再加上SP所决定的16位偏移量,得到堆栈操作所需要的20位物理地址。,当涉及到取一个操作数时,自动选择DS寄存器或ES附加段寄存器,再加上16位偏移量,得到操作数的20位物理地址。16位偏移量取决于指令的寻址方式。如下图所示:,奔腾4的时代,2000年下半年,Intel推出了代号Willamette的处理器,它是英特尔IA-32CPU家族中最新的成员,也是英特尔P6系列的终结者。这就是PentiumIV(P4)。P4CPU基于新的32位微结构,在许多方面超过了奔腾/等上两代的IA-32CPU。NetBurst微架构是Pentinum4处理器的基石。这里解释一下处理器的架构与微架构:处理机的架构指的是指令集、寄存器和程序员公用的内存驻留的数据结构,它们在处理器的发展进程中得到继承和增强。处理机的微架构指的是处理机架构在硅片上的实现。,NetBurst微架构特点细节:超流水线技术:执行追踪Cache:快速执行引擎REE:400MHz系统总线:先进的动态执行:流式SIMD扩充2(SSE2):,图2-23PentiumIV处理器及搭配的RDRAM内存条,2走近64位CPU,64位处理器针对的主要对象是目前对32位系统感觉受限制的用户。一些用来设计汽车、卫星以及一些其他的非常

温馨提示

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

评论

0/150

提交评论