您好,欢迎访问三七文档
当前位置:首页 > 法律文献 > 理论/案例 > 昆明理工大学微机原理重点难点核心笔记(根据付老师课件-适用于昆工期末考和考研!!)
昆明理工大学微机原理重点难点核心笔记(根据付老师课件整理-适用于昆工期末考和考研!!)2————————————————————————————————作者:————————————————————————————————日期:3第三代微处理器(1978-1982):16位微处理器,如Intel公司的8086、80286、Motorola的68000和Zilog的Z8000。集成度达29000万只晶体管,平均指令执行时间0.5us(200ns),。从大型计算机到微型计算机,其基本结构属于冯.诺依曼结构,即包括运算器、控制器、存储器、输入设备和输出设备5个组成部分。8位带符号数能表示的数据范围为+127~-128。二进制负数的反码就是机器数符号位保持不变,其余各位按位取反。8086CPU是16位微处理器,内部对外有16位数据总线。8086CPU有20位地址总线,直接寻址空间为1MB。8086有一个初级流水线结构,内部操作与对外操作具有并行性。8088CPU是准16位微处理器,因为它的内部有16位数据总线,但对外只有8位数据总线。BusInterfaceUnit,BIU总线接口部件由段寄存器、指令指针寄存器、总线控制逻辑、地址加法器、指令队列等单元组成。BIU功能:地址形成、取指令、指令排队、读/写操作数、总线控制。IP总是指向下一条将要执行的指令。当指令队列有2个或2个以上字节空时,BIU会自动存取指令。ExecutionUnit,EU执行部件EU的组成:算术逻辑单元ALU、寄存器组、标志寄存器、暂存器、EU控制电路。EU的主要任务:指令译码、执行指令。指令顺序执行时,EU和BIU是并行工作方式;若遇到转移指令、调用指令和返回指令时,要将指令队列中的指令4作废,由BIU重新取转移目标地址中的新指令,EU才能继续执行指令,并行操作将受到影响。8086CPU的BIU和EU并行工作的过程:EU的功能是执行指令。EU从指令队列中取出指令编码,将其译码,发出相应的控制信息。控制数据在ALU中进行运算,运算结果的特征保留在标志寄存器PSW中。BIU的功能是负责与存储器、I/O端口传送信息。当EU从指令队列中取走指令,指令队列出现空字节(8086指令队列为6个字节中空出2个字节,8088指令队列为4个字节空出1个字节)时,BIU即从内存中取出后续的指令代码放入队列中;当EU需要数据时,BIU根据EU给出的逻辑地址,在地址加法器中完成20位物理地址的计算,从指定的内存单元或外设中取出数据供EU使用;当运算结束时,BIU将运算结果送入指定的内存单元和外设。当队列空时,EU就等待直到有指令为止。CPU内部可用来提供地址信息的寄存器都是16位的,8086/8088采用了段结构的内存管理的方法:20位物理地址=段地址*16+偏移地址。AX,AL(隐含):在乘法指令中,存放乘数或乘积,在除法指令中存放除数或商。AH(隐含):在LAHF指令中,做目标寄存器。AL(隐含):在十进制运算指令中做累加器;在XLAT指令中作累加器用。BX(隐含):在XLAT指令中作基址寄存器。CX(隐含):在LOOP指令和串操作指令中作计数器,可使程序指令简化,有利于提高程序的运行速度。DX(隐含):在做字乘/除法运算时,DX存放乘积高位或被除数高位或余数。SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移地址。当CPU取出指令代码的一个字节后,IP自动加1,指向指令代码的下一个字节。用户程序不能直接访问IP。指令的物理地址=CS*16+IP。若最高位发生进位(或借位)则CF=1,否则CF=0。当运算结果低8位中含有偶数个1时,PF=1,否则PF=0。结果的低4位向高4位有进位(或借位),则AF=1,否则AF=0。若将TF置1,8086/8088CPU处于单步工作方式,CPU每执行完一条指令,就会自动产生一次内部中断,使用户能逐条跟踪程序。否则,将正常执行程序。DF=1(STD指令),地址指针自动减量,即由高地址向低地址进行串操作。8086/8088芯片:双列直插式封装。40条引脚,部分引脚分时复用。最小模式:单机系统,所有控制信号由8086提供。最大模式:多处理机系统,系统所需的控制信号由8288提供。在最小模式系统配置中,除了8086CPU、存储器、I/O接口芯片外,还要加入:1片8284A作为8086/8088系统的时钟发生器:3片Intel8282/8283或74LS373/74LS273作为地址锁存器,用以锁存当前的地址信号;2片Intel8286/8287或74LS245作为数据收发器(总线收发器)。最大工作模式:系统中有两个或多个微处理器,其中有一个是主处理器8086,其它的处理器称为协处理器,它们协助主处理器工作。DEN(DataEnable)数据允许信号,三态,输出。ALE(AddressLatchEnable)地址锁存允许信号,输出。DT/R(DataTransmit/Receive)数据发送/接收控制信号。RESET(Reset)复位信号,高电平有效,输入,此信号至少保持4个时钟周期以上的高电平,当RESET变低电平时,CPU执行重启过程,8086/8088重启后,从地址FFFF0H开始执行指令,通常此地址放一条无条件转移指令,将入口转到引导和装配程序。HOLD(HoldRequest)总线保持请求信号,输入,高电平有效,在最小模式系统中,HOLD有效,表示其他共享总线的部件向CPU请求使用总线。要求直接与存储器传送数据。HLDA(HoldAcknowledge)总线保持响应信号,输出,高电平有效,表示CPU允许让出总线使用权,并将三条总线置成高阻状态。总线请求部件获得总线使用权后,可进行总线操作(DMA数据传送),总线使用完毕后使HOLD5无效,CPU将HLDA置成低电平,收回总线使用权。8086与8088的区别:8086为16位微处理器,而8088是准16位微处理器,其内部运算为16位,但外部数据总线是8位。从内部结构上:8086的指令队列有6个字节,出现2个空闲字节,BIU就访问存储器取指。8088只有4个字节,只要指令队列出现1个空闲字节,BIU就会访问存储器取指。存储器组织8086把1MB的内存空间分成两个部分:偶地址存贮单元和奇地址存贮单元,分别由A0信号和BHE信号选通。8088对整个内存空间不分奇偶。代码段寄存器CS------存放当前代码段的段基址。数据段寄存器DS-----存放当前数据段的段基址。堆栈段寄存器SS------存放当前堆栈段的段基址。附加段寄存器ES------存放当前附加段的段基址。一旦这四个段寄存器的内容被设定,就规定了CPU当前可寻址的段。8086系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于64K字节。段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定。当堆栈置空时,SP指向栈底。堆栈地址由高向低增长,栈底设在存储器的高地址区。一个端口对应I/O芯片内部的一个寄存器或一组寄存器。8086允许64K(65535个)个I/O端口,用地址总线的低16位AD15~AD0对端口进行编址。8086的时钟频率为5MHZ,1个时钟周期就是200nS。典型的总线周期至少由4个T状态组成,分别以T1、T2、T3、T4来表示,T1状态:传送地址,T2-T4状态:传送数据。8086CPU复位条件:RESET信号脉冲宽度不低于4个时钟周期。T1状态:输出20位地址A19~A0。T2状态:地址信息消失,A19-A16从地址信息变为状态信息S6-S3。T3状态:CPU采样READY信号,若无效,则CPU插入1个或几个Tw等待状态,直至READY有效,数据总线上出现数据。T4状态:在T4后半期,撤除数据,各控制和状态信号线进入无效状态。该总线周期结束。Tw:当存储器或I/O接口速度不够时,T3与T4之间可插入等待状态Tw。Ti:当BIU无访问操作数和取指令的任务时,总线接口部件不和总线打交道,8086就进入了总线空闲周期Ti。此时,CPU对总线进行空操作,但CPU内部操作仍在进行。Ti可看成是BIU对EU的等待。立即寻址:操作数直接包含在指令中。MOVAX,3000H。立即数只能作源操作数,不能作目的操作数。寄存器寻址方式:操作数包含在寄存器中。MOVBX,AX。源操作数的长度必须与目的操作数一致。CS不能用MOV指令修改。寄存器可作源操作数或目的操作数,或同时作两个操作数。直接寻址方式:操作数在存储器中。无段超越前缀:MOVAX,[2000H]。有段超越前缀:MOVAX,ES:[500H]。符号地址:MOVAX,AREA1。寄存器间接寻址:操作数在存储器中,操作数的有效地址包含在指令给出的寄存器中。MOVBX,[DI]。只有BX、BP、SI、DI可用于间接寻址。在无段超越前缀的情况下:使用BX,SI,DI时,默认段基址由DS给出,使用BP,默认段基址由SS给出。寄存器相对寻址:操作数在存储器中,操作数的有效地址是一个基址/变址寄存器的内容与指令中指定的8位或16位位移量之和。基址变址寻址:操作数在存储器中,操作数有效地址=基址寄存器内容+变址寄存器内容。MOVAX,[BX][SI],MOVAX,[BP][DI]。若基址寄存器为BX时,段寄存器使用DS。若基址寄存器为BP时,段寄存器使用SS。相对基址变址寻址:MOVAX,COUNT[BX][DI]6通用寄存器:AX累计器、BX基址寄存器、CX计数器、DX数据寄存器。指针和变址寄存器:SP堆栈指针寄存器、BP基址指针寄存器、SI源变址寄存器、DI目的变址寄存器。指令性语句:不能以数字开头,长度≤31个字符。伪指令语句:没有对应的机器码,在汇编源程序时被处理。操作数:如果开头字母为A~F,则需在数值前加0。如:0FFH。TYPE变量/标号若为变量,返回变量的类型属性。(字节,字,双字,四字变量分别对应返回值1,2,4,8)。若为标号,返回标号的距离属性,返回值-1(FFH),-2(FEH)分别对应类型为近标号,远标号。LENGTH变量当变量用DUP定义时,返回其包含的单元数,对其它变量则返回1。SIZE变量返回SIZE=LENGTH*TYP。类型/距离PTR变量或标号将PTR左边的类型/距离属性赋给右边的变量/标号。用DW定义字符串时,只允许包括两个字符,多于两个字符时,只能用DB定义。例:FIRSTDB‘HELLO’,SECONDDW‘OK’。定义堆栈段通常这样:STACKSEGMENTSTACK‘STACK’;组合类型不能省略。ORG表达式指定下面语句的起始偏移地址。宏是源程序中一段具有独立功能的程序代码。它只需要定义一次,就可以用宏指令语句多次调用。1.宏调用是在汇编期间进行,子程序则在程序执行期间执行。2.子程序调用每次都需保存现场,恢复现场,执行速度慢;宏调用则不需此项工作,节省时间,速度快。3.子程序这组指令的机器码在存储器中只存放一次,而宏调用所占存储空间与调用次数有关,次数越多,所占空间越大。若有多次调用的程序较长,速度要求不高,适宜采用子程序,可节省程序空间,若多次调用的程序较短,需传递的参数较多时或操作希望修改时,适宜采用宏调用。当主程序(调用程序)和过程在同一代码段中,则使用NEAR属性,若不在同一代码段中,则使用FAR属性。RAM随机存取存储器,随机存取存储器,随机读写,断电后数据消失。静态RAM(6264)集成度低,速度快,功耗较大,通常用做高速缓存(Cache)。动态RAM(2164),存储原理:动态RAM依靠电容C存储电荷的情况来决定存放信息是“1”或“0”。电容会缓慢放电而导致信息的丢失必须定时对电容充电,称为刷新,两次刷新的时间间隔与温度有关,典型的刷新时间间隔为2ms,刷新是一行一行进行的,每刷新一行的时间称为刷新周期。刷新和地址两次打入是DRAM芯片的主要特点。密度高,速度慢,成本低。微机中的内存条由DRAM做。位扩展法--当存储芯片所能提供的数据位数不能满足存储器系统的字长要求时,采用位扩展法进行扩展。
本文标题:昆明理工大学微机原理重点难点核心笔记(根据付老师课件-适用于昆工期末考和考研!!)
链接地址:https://www.777doc.com/doc-5048802 .html