




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
冯诺依曼机原理:结构图与各部分功能输入:将信息转换成机器能识别的形式储存器:存放数据和程序运算器:算术运算逻辑运算控制器:指挥程序运行输出:将结果转换成人们熟悉的形式原理:程序储存+程序控制,以二进制表示程序和指令8086CPU的内部双单元结构EU结构与各部分功能作用:负责指令执行,完成指令的操作。BIU结构与原理作用:根据EU的请求,执行CPU对存储器或I/O接口的总线操作取指令的工作过程:由段寄存器与IP形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。8086寄存器组:各寄存器名称作用与特点。数据寄存器AX累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。BX基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能。CX将它称作计数寄存器,是因为它既可作数据寄存器又可在串指令和移位指令中作计数用。DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途。指针寄存器SP,BP:作地址指针,有效地址的偏移量 SP:堆栈指针BP:存放于堆栈段某数据区基址的偏移地址变址寄存器SI,DI :当前数据段中数据的偏移地址,使用时自动加1SI:指向源操作数DI:指向目的操作数F寄存器各位功能SF位:符号位(SF=1 负数;SF=0 正数)ZF位:零标志位(ZF=1 运算结果为0;ZF=0 运算结果不为0)CF位:进位标志位(CF=1最高位有进位/借位;CF=0最高位无进位/借位) AF位:辅助进位(AF=1 有进位;AF=0 无进位;辅助位表示低4位有无进位或借位)PF位:奇偶标志位(PF=1 运算结果1的个数为偶数;PF=0 运算结果1的个数为奇数)OF位:溢出位(OF=1 有溢出;OF=0 无溢出)主要对带符号数 运算数值过大,侵占了符号位三个控制位DF:方向标志控制数据串操作指令的步进方向DF=1 减址方式(STD)DF=0 增址方式(CLD)IF:中断允许标志对可屏蔽中断IF=1 开中断(STI)IF=0 关中断(CLI)TF:陷阱标志程序调试TF=1 单步执行TF=0 连续正常执行总线周期8086一个基本的总线周期一般由4个时钟周期组成。读写周期时序读周期:T1:输出地址;T2:总线浮空、缓冲;T3 T4:从总线输入数据传送数据写周期:T1:输出地址;T2 T4:把输出数据送到总线上。8086存储管理存储器分段及地址加法器将整个存储器分为若干个逻辑段,每段内地址16bit,即最多地址空间64KB。字与字节的保存字节的存放:在存储器中按顺序排列存放;字的存放:将字的低位字节存放在低地址中,高位字节存放在高地址中,并以低地址作为该字的地址。双字的存放:双字通常为地址指针,将偏移量存放于低地址的字单元,段基址存放于高地址的字单元寻址方式寻找指令中所需的操作数或操作数地址的方式称为寻址方式系统设计了多种操作数的来源直接给出所使用的操作数本身给出操作数所在的寄存器、存储器或I/O端口的地址给出操作数所在的寄存器、存储器或I/O端口的地址的计算方法。立即数寻址指令中的操作数直接存放在机器代码中,紧跟在操作码之后立即数可以是8位、16位或32位数值立即数寻址方式只允许源操作数为立即数,目标操作数必须是寄存器或存储器不需要访问存储器,执行速度快Eg:MOV AX, 0102H ; AX0102H固定寻址指令中的操作数是CPU中某个固定寄存器,该寄存器被隐含于操作码中。不需要访问存储器,执行速度快寄存器寻址操作数存放在CPU的内部寄存器reg中:8位寄存器r8:AH、AL、BH、BL、CH、CL、DH、DL16位寄存器r16:AX、BX、CX、DX、SI、DI、BP、SP4个段寄存器seg:CS、DS、SS、ES无需访问存储器,执行速度快源操作数和目的操作数可同时使用寄存器寻址Eg:MOV AX, BX ; AXBX储存器寻址操作数在主存储器中,用主存地址表示程序设计时,8086采用逻辑地址表示主存地址段地址在默认的或用段超越前缀指定的段寄存器中指令中只需给出操作数的偏移地址8086设计了多种存储器寻址方式直接寻址方式直接寻址方式的有效地址在指令中直接给出默认的段地址在DS段寄存器,可使用段超越前缀改变用中括号包含有效地址,表示取该存储单元的内容Eg: MOV AX, 2000H; AXDS:2000HMOV AX, ES:2000H ; AXES:2000H寄存器间接寻址方式有效地址存放在基址寄存器BX或变址寄存器SI、DI中,默认的段地址在DS段寄存器,可使用段超越前缀改变Eg:MOV AX, BX; AXDS:BX如果指令中指定的寄存器是BP,则操作数在堆栈段SS中:MOV BP, AX假设 (SS)= 1000H, (BP)=3000H, (AX)=1234H 物理地址=(SS)*16+(BP)寄存器相对寻址方式有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX、BP或SI、DI段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段超越前缀改变Eg:MOV AX, 06HSI 或 MOV AX, SI 06H基址变址寻址方式有效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成:段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变相对基址变址寻址方式有效地址是基址寄存器(BX/BP)、变址寄存器(SI/DI)与一个8位或16位位移量之和段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变串寻址串寻址方式仅在8086的串指令中使用根据设定的方向标志(DF),SI和DI会自动调整。8086指令包括6大类133条基本指令传送指令通用数据传送指令 MOV PUSH POP XCHG传送指令MOV格式:MOV DST, SRC操作:DST(SRC)即把源操作数的内容送入目的操作数说明:可以进行8位或16位数据的传送源操作数可为立即数、寄存器、存储器操作数目的操作数可为寄存器、存储器操作数MOV指令立即数传送以字母开头的常数要有前导0MOV指令通用寄存器传送寄存器具有明确的字节和字类型MOV指令段寄存器传送对段寄存器的操作不灵活非法指令两个操作数类型不一致在绝大多数双操作数指令中,目的操作数和源操作数必须具有一致的数据类型,或者同为字量,或者同为字节量,否则为非法指令无法确定是字节量还是字量操作当无法通过任一个操作数确定操作类型时,需要利用汇编语言的操作符显式指明两个操作数都是存储器违反对段寄存器操作的限制不允许在段寄存器之间直接传送数据MOV DS, ES;非法指令不允许向段寄存器送立即数MOV DS, 100H;非法指令不允许用CS或IP作为目的操作数MOV CS, SI;非法指令立即数作为目的操作数交换指令XCHG功能:把两个地方的数据进行互换格式:XCHG OPR1, OPR2操作:(OPR1)(OPR2)寄存器与寄存器之间对换数据寄存器与存储器之间对换数据不能在存储器与存储器之间对换数据堆栈操作指令堆栈是一个“后进先出LIFO”(或说“先进后出FILO”)的主存区域,位于堆栈段中;SS段寄存器记录其段地址堆栈只有一个出入口,即当前栈顶;用堆栈指针寄存器SP指定进栈指令PUSH功能:将寄存器、段寄存器或存储器中的一个字数据压入堆栈,堆栈指针减2。格式:PUSH SRC操作: SP(SP)-2(SP)+1,(SP)(SRC)出栈指令POP功能: 将栈顶元素弹出送至某一寄存器、段寄存器(除CS外)或存储器,堆栈指针加2。格式:POP DST操作:DST(SP)+1,(SP)SP(SP)+2堆栈操作的特点l 字操作l 低地址字节送低字节,高地址字节送高字节l 先进后出,但可存储器寻址方式随机存取其中数据l 堆栈段常用来保存临时数据累加器专用传送指令IN OUT XLAT累加器是数据传输的核心IN输入指令格式1:IN AL, Port或IN AX, Port格式2:IN AL, DX或IN AX, DX操作:AL/AX(Port) 从外设读入数据AL/AX(DX)以DX内容为端口地址读入 说明:用Port指明端口地址时,地址范围为00H0FFH以DX间接给出端口地址时,最大地址为0FFFFHOUT输出指令格式1:OUT Port, AL或 OUT Port, AX格式2:OUT DX, AL或OUT DX, AX操作:(Port)(AL)/(AX)传送数据到Port端口(DX)(AL)/(AX)传送数据到DX指出的端口说明:用Port指明端口地址时,地址范围为00H-0FFH以DX间接给出端口地址时,最大地址为0FFFFH注意:只能使用累加器做为I/O指令的取数或送数的寄存器使用IN AL/ AX, DX格式时必须先将端口地址赋给DX寄存器运行I/O程序时,必须确定端口地址查表转换指令XLAT将BX指定的区域中、AL指定的位移处的一个字节数据取出赋给AL格式:XLAT OPR 或 XLAT操作:AL(BX)+(AL)地址目标传送指令 LEA LDS LES有效地址传送指令LEA将存储器操作数的有效地址送至指定的16位通用寄存器格式:LEA DST, SRC操作:DSTSRC的EA注意以下两条指令差别:LEA BX,BUFFER MOV BX,BUFFER前者表示将符号地址为BUFFER的存储单元的偏侈地址取到 BX中;后者表示将BUFFER存储单元中的内容取到 BX中.装载数据段指针指令LDS格式:LDS DST, SRC操作:DST(SRC)DS(SRC+2)装载附加段指针指令LES格式:LES DST,SRC操作:DST(SRC)ES(SRC+2)说明:源操作数必须是存储器操作数目的操作数必须是寄存器标志传送指令 LAHF SAHF PUSHF POPF读标志指令LAHFLAHF把标志寄存器低8位中的5个标志位传送到AH中的指定位设置标志指令SAHFSAHF的功能与LAHF的功能正好相反标志进栈指令PUSHF格式:PUSHF操作:SP(SP)-2(SP)+1,(SP)(FLAGS)标志出栈指令POPF格式:POPF操作:FLAGS(SP)+1,(SP)SP(SP)+2小结数据传送指令不影响标志位, 除SAHF和POPF这两条指令外除XCHG指令外,都是从源到目的的单向传送算术指令这类指令会根据运算结果影响状态标志,有时要利用某些标志才能得到正确的结果。有单操作数指令,也有双操作数指令加法指令 ADD ADC INC AAA DAA 减法指令SUB SBB DEC NEG AAS DAS CMP 乘法指令MUL IMUL AAM除法指令 DIV IDIV AAD CBW CWDADD 常规加指令格式:ADD DST, SRC操作:DST(DST)+(SRC)ADC 带进位加指令格式:ADC DST, SRC操作:DST(DST)+(SRC)+(CF)说明:该指令除了多一个进位标志外,同ADD指令常用于多字节运算双字加法规则:先加低16位,如有进位的话,进位存入CF然后加高16位,必须用ADC,以便能加上进位位INC 增1指令格式:INC DST操作:DST(DST)+1说明:DST可以是寄存器或存储器操作数DST不允许是立即数注意:此指令不影响CF标志组合十进制加法调整指DAA压缩BCD码调整非组合十进制加法调整指AAA非压缩BCD码调整说明:在AL中进行自动完成加6调整一般用于二进制加法指令ADD之后SUB 常规减指令格式:SUB DST, SRC操作:DST(DST)-(SRC)SBB带借位减指令格式:SBB DST, SRC操作:DST (DST)-(SRC)-(CF)说明:该指令除了多一个进位/借位标志外,同SUB常用于多字节运算DEC 减1指令格式:DEC DST操作:DST (DST)-1说明:用法同INC指令NEG 求补指令格式:NEG DST操作:DST -(DST) 说明-(DST)表示操作数按位求反后末位加1执行时,用零减去操作数CMP 比较指令格式 :CMP DST, SRC操作:(DST)-(SRC)说明:两个操作数相减,但结果不回送影响标志位的值,下一指令常是条件转移指令必须区分无符号数比较与有符号数比较 MUL 无符号数乘指令 格式: MUL SRC操作: 字节乘, AX (AL)*(SRC)byte字乘, DX:AX (AX)*(SRC)word说明:约定一个乘数在累加器中 对标志位影响:若乘积的高半部分(字节相乘时为AH,字相乘时为DX)不为零,则CF1,OF1;否则CF=0,OF=0。其它标志位为任意值 IMUL 符号数乘指令 格式: IMUL SRC操作: 字节数乘, AX (AL)*(SRC)byte字数据乘, DX:AX (AX)*(SRC)wordAAM 非压缩BCD码乘调整指令格式:AAM 操作:将AX中的两个非压缩BCD码之积进行调整调整过程:将AL除以10, 商送AH, 余数送AL说明:8086指令系统没有提供对组合BCD码乘法的调整指令DIV 无符号数除指令格式:DIV SRC操作:AL(商), AH(余数)(AX)/(SRC)byteAX(商), DX(余数)(DX:AX)/(SRC)wordIDIV 带符号数除指令格式:IDIV SRC操作:AL(商), AH(余数)(AX)/(SRC)byteAX(商), DX(余数)(DX:AX)/(SRC)word3. AAD 非压缩BCD码除调整指令格式:AAD 操作:在除法运算前,用该指令将AX中 的非压缩BCD码形式的被除数调整为二进制数,然后做除法运算调整过程:(AL)+(AH)*10AL0AH(AX)/除数,商AL,余数AHCBW 符号扩展指令字节扩展成字格式:CBW操作:扩展AL中的符号至AH中,将8位数扩展成等效的16位数CWD 符号扩展指令字扩展成双字格式:CWD操作:扩展AX中的符号至DX中,将16位数扩展成等效的32位数说明:用于在有符号数除法之前,形成双倍长度的被除数小结包括二进制运算及十进制运算调整指令指令操作结果影响标志位注意有符号数与无符号数的区别乘、除法指令是单操作数指令,AX/DXSUB与CMP指令异同INC/DEC多用于修改地址指针和循环 计数器十进制运算调整指令分为压缩的和非压缩的二种,仅限于字节逻辑指令以二进制位为基本单位进行数据的操作当需要对字节或字数据中的各个二进制位操作时,可以考虑采用位操作类指令逻辑运算指令AND OR XOR NOT TESTNOT 逻辑非指令格式: NOT OPR操作: OPR按位取反后送回原处AND 逻辑与指令格式: AND DST, SRC操作: (DST)(DST)&(SRC)OR 逻辑或指令 格式: OR DST, SRC操作:(DST)(DST)|(SRC)XOR 异或指令格式: XOR DST, SRC操作: (DST)(DST)与(SRC)按位异或TEST 测试指令格式:TEST OPR1, OPR2操作:(OPR1)&(OPR2)说明:不送回操作结果,仅影响标志位逻辑运算指令对标志位的影响:无进/借位 ,NOT指令不影响标志位移位指令将操作数移动一位或多位,分成逻辑移位和算术移位,分别具有左移或右移操作第一操作数是指定的被移位的操作数,可以是寄存器或存储单元;第二操作数表示移位位数该操作数为1,表示移动一位该操作数为CL,CL寄存器值表示移位位数 (移位位数大于1只能CL表示)影响标志位移位指令SHL SHR SAL SAR SAL reg/mem,1/CL;reg/mem左移1或CL位;最低位补0,最高位进入CFSAR reg/mem,1/CL;reg/mem右移1/CL位;最高位不变,最低位进入CFSHL reg/mem,1/CL;与SAL是同一条指令SHR reg/mem,1/CL;reg/mem右移1/CL位;最高位补0,最低位进入CF逻辑移位指令用于无符号数的移位算术移位指令用于带符号数的移位移位类指令的特点对寄存器或存储单元中8位或16位数的移位影响C,P,S,Z,O标志。结果未溢出时:左移1位操作数*2右移1位操作数/2带符号数左移会出现溢出情况最高位CF OF=1 溢出最高位CF OF=0 没有溢出循环移位指令ROL ROR RCL RCR循环移位指令类似移位指令,但要将从一端移出的位返回到另一端形成循环。分为:ROL reg/mem,1/CL;不带进位循环左移ROR reg/mem,1/CL;不带进位循环右移RCL reg/mem,1/CL;带进位循环左移RCR reg/mem,1/CL;带进位循环右移循环移位指令的操作数形式与移位指令相同,影响进位标志CF,但不影响SF、ZF、PF、AF标志循环移位指令的主要用途:检测寄存器或存储单元中含1或含0的个数 与移位指令联合使用,实现多倍精度的左移和右移转移指令无条件转移指令 JMP段内直接转移 JMP DISP指令中以符号数的形式直接直接给出一个相对于IP的位移量:位移量 转移范围 汇编语言中格式8位 -128+127 JMP SHORT OPRD16位-32768+32767 JMP NEAR PTR OPRD由于是段内转移,故转移后CS内容保持不变JMP WORD PTR OPR 段内间接转移操作:IP(OPR) /转移地址是reg或mem中的内容 OPR是基址变址寄存器或存储器操作数, 不可为立即数段间直接转移操作数是要转移到的目的段地址和偏移地址如:JMP2000H:1000H执行时,(IP)1000H,(CS)2000H直接地址也可为标号,它是另一段代码段距段首址的偏移量,段间直接转移指令中的符号地址前应加操作符FAR PTR。JMP FAR PTR far_label其中的far_label为远类型的标号。当要转移到的地址由标号给出时IP 标号代表的偏移量 CS标号所在段首地址JMP DWORD PTR OPR ; 段间间接转移OPR是存储器操地址,指向2个字单元IP(DS)*16+OPR)CS(DS)*16+OPR+2)条件转移指令格式:J条件 标号操作:测试条件,若满足,则跳转到标号处执行,即 IP(IP)+disp8 ;否则,执行后续指令说明:根据上一条指令所设置的条件码判别测试条件转移范围在-128到+127字节3.循环指令 LOOP LOOPZ LOOPNZ子程序调用(返回)指令 CALL RET过程(子程序) :一段具有特定功能的,供其它程序调用的公用程序。应用特点子程序执行结束后一般均要返回调用程序。调用子程序时,IP(CS)的内容被压入堆栈栈顶。从子程序返回时,栈顶的内容又被弹出到IP(CS)。一次定义,多次调用;可带参数调用,以完成不同的功能。格式1: CALL 子程序名 ;段内直接调用例如:CALL 1000H;格式2:CALL reg/mem ;段内间接调用 例如:CALL AX;格式3:CALL FAR PTR 子程序名;段间直接调用 例如:CALL 2500H:1000H;格式4:CALL DWORD PTR mem ;段间间接调用例如:CALL DWORD PTR DI;说明:类似于段内无条件转移指令;但CALL执行时,它首先将IP内容压栈,然后把指令中给出的位移量加到IP上。控制转移指令小结无条件转移指令JMP有段内、段间转移之分,有直接、间接转移之分无条件转移指令有短、近、远转移,但条件 转移指令都是短转移跟随在短的或近的转移后面的位移量是从下条指令到 转移地址的距离, IP+disp循环控制指令不影响标志位过程是实现一个任务的指令组,可以用于程序中的任何地方,CALL指令连接到过程,而RET指令从过程返回CALL指令是PUSH和JMP的组合,执行CALL指令时, 将返回地址压入栈中,然后转移到过程过程调用指令CALL也有段内、段间调用之分,有直接、间接调用之分宏汇编与伪指令汇编程序基本结构汇编概念汇编源程序需翻译成机器语言,变成可执行文件,机器才能执行。高级语言中称该过程为“解释”或“编译”。执行翻译的程序称为“汇编程序”。三个逻辑段汇编语言源程序通常由一个或几个程序模块组成,每个模块一般由三个逻辑段组成:数据段存放数据、变量堆栈段堆栈区域代码段存放程序指令伪指令与指令的异同指令语句是由8086指令助记符构成的语句。由CPU执行,每条指令与一条机器码指令对应。伪指令语句是汇编控制指令,用于指示汇编程序如何汇编源程序,利用它定义和说明常量和变量的属性及存储器单元的分配等。在汇编中不产生目标代码,指令语句汇编生成机器码;伪指令汇编不生成机器码。基本伪指令数据定义伪指令(DB/DW/DD/DQ/DT)格式为:变量名 伪指令 初值表操作:为程序分配指定数目的存储单元变量名为用户自定义标识符,表示初值表首单元的逻辑地址常称为符号地址。变量名也可以没有。初值表是用逗号分隔的参数,主要由常量、数值表达式或“?”组成。操作数?表示未赋初值,用来保留存储空间例:ABC DB 0,1,2,3,4,OK,$RSV DW ?,?,?,?,?,?,?,?$表示地址计数器的当前值。多个存储单元如果初值相同,可以用复制操作符DUP进行定义:重复次数 DUP(重复内容)如上面RSV亦可写成: RSV DW 8 DUP(?)示例操作数是常数或表达式 X1 DW 250*250 ;为X1分配2个字节,初值62500X2 DD 10203040H;为X2分配4个字节,并赋初值X3 DQ (120+50)/10;为X3分配8个字节,初值17X4 DB 10, 20, 30;多项定义,X4被分配3个字节操作数为字符串STRING1 DB HELLO STRING2 DB H, E, L, L, O字符串用DB定义,被定义串以单引号括起来串中可包含数字符、大小写英文字母、回车符、 换行符、空格、?、$、下划线_等字符串以ASCII码形式存储在存储单元中。 符号定义伪指令(EQU,=)格式:名字 EQU 表达式 名字 = 表达式 操作:为表达式取一个名字,供以后引用说明:表达式可为常数、变量、标号、指令助记符、字符串 在一个源程序中,被EQU伪指令赋值的符号不能再次赋值,而用=定义的符号名可重复定义 赋值语句仅在汇编源程序时,作为替代符号用,不产生目标代码,也不占有存储单元标号定义伪指令LABEL格式:标号 LABEL 类型(FAR,NEAR) 变量 LABEL 类型(BYTE,WORD,.)过程名 LABEL 类型(FAR,NEAR)操作:在已定义变量基础上赋于新类型变量、标号。一般用于给同一地址指针赋予两种类型属性段定义伪指令格式:段名SEGMENT 定位类型组合类型类别名.段名 ENDS操作:定义逻辑段 成对出现,二者前面的段名应一致。SEGMENT说明了一个段的开始,ENDS说明了一个段的结束。对数据段和堆栈段,段中的语句一般是变量定义。对代码段则是指令语句。SEGMENT语句可选参数,规定逻辑段的其他属性。定位类型说明如何确定逻辑段的边界。有四种:BYTE : 逻辑段从字节边界开始,即段可以从任何地址开始。WORD : 逻辑段从字边界开始。即段的起始地址必须是偶数。PARA(Paragraph): 逻辑段从一个节 (16个字节) 的边界开始。即段的起始地址应能被16整除, 或这说段起始物理地址应为0H。默认类型PAGE : 逻辑段从页边界开始。256字节称为一页,故段的起始物理地址应为00H。组合类型说明不同模块与其它段的组合方式。NONE:该段独立PUBLIC: 所有此类型的同名段组合成一个逻辑段,公用一个段地址,运行时装入同一个物理段中。STACK : 专用于说明堆栈段,组合方式同PUBLICCOMMON : 所有此类型的同名段具有相同的起始地址(覆盖),共享相同的存储区域。AT : 按绝对地址定位,段地址就是表达式的值。MEMORY:本段定位在所有其他段的最高地址段寻址伪指令 格式:ASSUME 段寄存器:段名 , 段寄存器:段名.操作:明确段与段寄存器的关系。说明:代码段中必须至少有一个ASSUME语句ASSUME可以出现在源程序中的任意地方仅说明段与段寄存器的对应关系,并没有把 段基址值送入段寄存器 过程定义伪指令格式:过程名 PROC 属性. 过程体RET. 过程体过程名 ENDP说明:过程名是该子程序名,也是指令CALL的目标 操作数过程的属性有两种:NEAR和FAR,分别表示段内调用和段间调用。若省略,则默认为NEAR至少有一条RET指令,可在过程中的任何位置程序计数器和定位伪指令程序计数器$:表示程序下一个所能分配的存储单元的偏移地址定位伪指令ORG格式1: ORG 表达式 格式2: ORG $+表达式 功能:规定段内指令或数据存放的开始地址存储器体系ROM类型: PROM、EPROM、EEPROM、FLASH闪存掩模(掩膜)式ROMMROM是厂家根据用户事先编写好的机器码程序,把0、1信息存储在掩模图形中而制成的芯片。芯片制成后,存储位的状态即0、1信息就被固定了(未连接MOS管的位线状态为1)。可编程PROM存储原理:二极管破坏型PROM熔丝式PROM编程为一次性的可擦除可编程EPROM可多次编程写入;掉电后内容不丢失;电可擦除EEPROM可在线编程写入;掉电后内容不丢失;电可擦除。Flash(闪存)闪存也称快擦写存储器通过向内部控制寄存器写入命令的方法来控制芯片的工作方式,而非用引脚的信号来控制芯片的工作。ROM原理+RAM功能非易失性RAM类型及特点:SRAM、DRAMSRAM特点:用双稳态触发器存储信息。速度快(曝光) = (显影) =(转印,分离)=(定影)=(清除)喷墨打印机喷墨打印机直接将墨水喷射到普通纸上实现印刷。喷射方式分为连续式和随机式随机式结构与针打类似,核心部件是喷头阵列,墨滴产生方式有压电式和热电式键盘扫描键盘常用扫描方法:行扫描法I/O端口:编址方式、典型接口电路接口电路的典型结构常见的I/O端口编址方式有两种: 一种是I/O端口和存储器统一编址,也称存储器映像的I/O方式;另一种是I/O端口和存储器分开编址(独立编址),也称I/O映像的I/O方式。I/O端口和存储器统一编址优点:可以用访向存储器的指令来访问I/O端口,实现直接对I/O端口内的数据进行处理。缺点:由于I/O端口占用了一部分存储器地址空间,可访问存储地址空间相对减小I/O端口和存储器单独编址优点:I/O端口不占用存储器地址,故不会减少用户的存储器地址空间;单独I/O指令的地址码较短,地址译码方便,I/O指令短,执行速度快;采用单独的I/O指令,使程序中I/O操作和其他操作层次清晰,便于理解缺点:单独I/O指令的功能有限,只能对端口数据进行输入/输出操作,不能直接进行移位、比较等其他操作;由于采用了专用的I/O操作时序及I/O控制信号线,因而增加了微处理器本身控制逻辑的复杂性。输入/输出的控制方式I/O传送方式无条件传送方式在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送无条件传送的接口和操作均十分简单采用这种传送方式的前提是外设必须随时就绪适合于简单设备,如LED数码管、按键、步进电机等条件传送(查询传送)方式CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入/输出 查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪 传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据查询传送方式的特点对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低,外设较多时查询周期长,响应慢DMA方式DMA:不需要CPU干预,而在专门硬件控制电路(DMAC)控制之下进行的外设与存储器间直接数据传送的方式传送时,CPU释放总线,由DMA控制器管理, 数据直接在内存和外设之间交换,可以达到很高的传输速率DMA控制器的基本功能接收I/O接口的DMA请求,并向CPU发出总线请求信号;当CPU发出总线回答信号后,接管对总线的控制,进入DMA传送过程;实现有效的寻址,即输出地址信息并在数据传送过程中自动修改地址;向存储器和I/O接口发出相应的读/写控制信号;控制数据传送的字节数,控制DMA传送是否结束;在DMA传送结束后,释放总线给CPU,恢复CPU对总线的控制。DMA控制器的基本工作方式单字节传输方式在单字节传输方式下,DMA控制器每次请求总线只传送一个字节数据,传送完后即释放总线控制权。在此方式下,总线控制权处于CPU与DMA控制器交替控制之中,其间,总线控制权经过多次交换。块传输方式(成组传输方式)块传输方式是指DMA控制器每次请求总线即连续传送一个数据块,待整个数据块全部传送完成后再释放总线控制权。请求传输方式每传输完一个字节,DMA控制器都要检测由I/O接口发来的“DMA请求”信号是否仍然有效,如果该信号仍有效,则继续进行DMA传输;否则,就暂停传输,交还总线控制权给CPU,直至“DMA请求”信号再次变为有效,数据块传输则从刚才暂停的那一点继续进行下去。总线:分类,三总线、仲裁方式、PCI总线结构与桥接总线传递信息方式并行总线:多条线同时传递所有的二进制数位多位同时传递信息,速度快;结构复杂.计算机部件之间大量采用串行总线:多位二进制信息公用一位信号线传递速度慢,但结构简单.部件之间距离较远时,采用串行总线可降低成本总线位置片内总线、片总线、内总线、外总线总线组织方式单总线与三总线串行总线仲裁方式在串行总线仲裁方式中,各个总线主模块获得的总线优先权决定于该模块在串行链中的位置由串行的总线仲裁方式的工作原理可以看出,越靠近串行模块链前面的模块具有越高的总线优先权。并行总线仲裁方式串行方式机制简单,但由于信号的串行传输会加大延迟,只用于较小的系统中。当高优先级的模块频繁使用总线时,低优先权的模块可能会长时间得不到总线。并行方式仲裁电路较复杂,但允许总线上连接许多主模块适合较大的系统。PCI总线(Peripheral Component Interconnect,外围部件互连总线)是并行总线,且其地址和数据是同一组线,分时复用。由CPU总线、PCI总线及ISA总线组成的三层总线结构。CPU总线也称“CPU-主存总线”或“微处理器局部总线”,CPU是该总线的主控者。此总线实际上是CPU引脚信号的延伸。通过桥芯片(北桥和南桥),上边与高速的CPU总线相连,下边与ISA总线相连。PCI总线是一个32位/64位总线,且其地址和数据是同一组线,分时复用。在现代PC机(如Pentium系列)主板上一般都有23个PCI总线扩充槽。在上述PCI总线结构中,CPU总线、PCI总线及ISA总线通过两个桥芯片连成一个整体,桥芯片起到信号缓冲、电平转换和控制协议转换的作用。通常将“CPU总线/PCI总线桥”称为“北桥”,处理内存、显卡等设备的高速数据称“PCI总线/ISA总线桥”为“南桥”。处理硬盘、键盘等低速外设的数据中断与中断管理器中断类型内部中断指令中断:INT nCPU本身引起的中断,如除法错、单步、溢出外部中断非屏蔽中断NMI(不受IF控制) 可屏蔽中断INTR(受IF控制)中断标志IF的作用IF0:可屏蔽中断不会被响应关中断、禁止中断、中断屏蔽系统复位,使IF0任何一个中断被响应,使IF0执行指令CLI,使IF0IF1:可屏蔽中断会被响应开中断、允许中断、中断开放执行指令STI,使IF1中断优先级CPU对中断的响应内部中断响应过程特点:中断由CPU内部引起,中断类型号的获得与外部无关,CPU不需要执行中断响应周期去获得中断类型号。除单步中断外,内部中断无法用软件禁止,不受中断允许标志IF的影响。内部中断何时发生是可以预测的,这有点类似于子程序调用。外部中断响应过程非屏蔽中断响应NMI (中断类型号为2)高电平有效,边沿触发 NMI中断不受IF标志的影响,也不用外部接口给出中断类型号,CPU响应NMI中断时也没有中断响应周期可屏蔽中断响应INTR (自行安排中断类型号 )高电平有效,电平触发当INTR信号有效时,如果中断允许标志IF1,则CPU就在当前指令执行完毕后,产生两个连续的中断响应总线周期。中断响应步骤五个步骤:中断请求中断判优中断响应中断服务中断返回中断向量与向量表中断向量:中断服务程序的入口地址(首地址)中断向量表(中断服务程序入口地址表):把系统中所有的中断向量集中起来放到存储器的某一区域内。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 墙板厂转让设备合同范本
- 广告合同免责协议书范本
- 塑胶运动场施工合同4篇
- 假期值班合同5篇
- 2025版青岛影视制作居间代理合同范本
- 2025年有限责任公司股东企业上市辅导与规范管理合同
- 2025茶园绿色种植与承包服务合同范本
- 消防设施改造施工合同2篇
- 质子自递反应课件
- 纪检监察财务知识培训课件
- 项目部刻章申请书
- 版挖掘机租赁合同
- 语言学概论全套教学课件
- JJF 1265-2022生物计量术语及定义
- GB/T 8118-2010电弧焊机通用技术条件
- GB/T 17421.7-2016机床检验通则第7部分:回转轴线的几何精度
- 电工技能测试
- 药事管理学全套课件
- 社区心理学课件
- 质量整改通知单(样板)
- 2020届高三北京高考“多文本阅读”总攻略
评论
0/150
提交评论