微型计算机技术及应用(第3版)第3章16位和32位微处理器的指令系统-第4章存储器和高速缓存技术_第1页
微型计算机技术及应用(第3版)第3章16位和32位微处理器的指令系统-第4章存储器和高速缓存技术_第2页
微型计算机技术及应用(第3版)第3章16位和32位微处理器的指令系统-第4章存储器和高速缓存技术_第3页
微型计算机技术及应用(第3版)第3章16位和32位微处理器的指令系统-第4章存储器和高速缓存技术_第4页
微型计算机技术及应用(第3版)第3章16位和32位微处理器的指令系统-第4章存储器和高速缓存技术_第5页
已阅读5页,还剩202页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

第3章16位和32位微处理器的指令系统本章要点汇编语言的寻址方式8086的传送指令尤其是堆栈操作指令、交换指令和换码指令的用法算术运算指令涉及的规则和各种算术运算指令的使用逻辑运算指令和移位指令的用法

5条串操作指令的特点和使用方法,尤其是串操作指令和DF标志的关系控制转移指令特别是段内转移指令、带参数的返回指令和循环控制指令的用法

各内部中断的含义

汇编语言程序的规范格式

伪指令及其使用80386对寻址方式的补充教材中表3.4所列出的传送指令的含义和使用80386的条件设置指令和位操作指令的用法

Pentium和80486新增加的指令的含义和用法

教学建议

以8086的指令系统为基础,在讲述汇编语言规范程序基础上,让学生按本书配套教材《习题与实验题集》的软件实验部分要求,设计5——8个程序并上机调试;对32位机的指令扩充部分,重点讲清双字交换指令、32位比较指令、字交换加法指令、64位比较指令和读时钟周期指令。

学时分配本章用8学时,其中:

基本指令系统 6学时 规范程序 1学时 32位扩充指令 1学时

3.18086的寻址方式和指令系统汇编语言指令要解决的两个问题:要指出进行什么操作——操作符;要指出操作数和操作结果放在何处——寻址方式。3.1.18086的寻址方式立即数寻址寄存器寻址直接寻址

寄存器间接寻址立即数寻址操作数就在指令中提供,叫立即数寻址方式。比如:

;将16进制数80H送入AL MOV AL,80H ;将1090H送AX,AH中为10H,AL中为90H MOV AX,1090H 寄存器寻址操作数用内部寄存器——寄存器寻址方式。 比如: INC CX ;将CX的内容加1 ROL AH,1 ;将AH中的内容循环左移一位直接寻址数据在存储器中,有效地址由指令——直接寻址。比如: MOV AX,[1070H] ;将DS段的1070H和1071H两单元的内容取到AX中寄存器间接寻址寄存器间接寻址可分为四种:(1)以BX寄存器进行间接寻址—数据段基址寻址 MOV AX,[BX] ES:MOV CX,[BX](2)以BP寄存器进行间接寻址—堆栈段基址寻址 MOV BX,[BP](3)以SI、DI寄存器进行间接寻址——变址寻址(4)将BX、BP和SI、DI寄存器组合起来进行间接寻址——基址加变址的寻址

MOV AX,[BX+SI]

例:设BX=0158H,DI=10A5H,位移量=1B57H,DS=2100H,各种寻址方式下,有效地址和物理地址如下:①直接寻址:有效地址=1B57H物理地址=21000H+1B57H=22B57H

②寄存器间接寻址(寄存器为BX):有效地址=0158H物理地址=21000H+0158H=21158H③BX寄存器相对间接寻址:有效地址=0158H+1B57H=1CAFH物理地址=21000H+1CAFH=22CAFH④变址寻址(寄存器为DI):有效地址=10A5H物理地址=21000H+10A5H=220A5H⑤DI寄存器相对变址寻址:有效地址=10A5H+1B57H=2BFCH物理地址=21000H+2BFCH=23BFCH⑥基址加变址的寻址(BX为基址寄存器,DI为变址寄存器):有效地址=0158H+10A5H=11FDH物理地址=21000H+11FDH=221FDH⑦相对的基址加变址的寻址(BX为基址寄存器,DI为变址寄存器):有效地址=0158H+10A5H+1B57H=2D54H物理地址=21000H+2D54H=23D54H3.1.28086指令系统的概况指令格式指令执行时间

指令格式大多数操作码含3个特征位:W位、D位S位含义:

W位是字操作标志位。D位是对目的操作数进行寄存器寻址的标志

S位是符号扩展位。

几点注意:

①一条指令中可以包含一个或多个操作数 ②涉及一个操作数的指令称为单操作数指令③如位移量或立即数为16位,那么低位在前,高位在后

指令执行时间

总时间=基本执行时间+计算有效地址的时间+读取内存的时间 字操作数在内存的存放格式也是影响一条指令执行时间的因素。

8086数据总线的传输特性:读写偶地址字

读写偶地址字节

读写奇地址字节

读写奇地址字

8086指令系统传送指令逻辑运算和移位指令控制转移指令算术运算指令串操作指令传送指令通用传送指令

累加器专用传送指令

地址传送指令

标志传送指令

通用传送指令(1)最基本的传送指令(MOV)

MOV AL,BL ;BL中的8位数据送AL MOV ES,DX ;DX中16位数据送ES

几点注意:①通用传送指令可传送8位和16位数据。②通用传送指令中总是既含源操作数,又含目的操作数。③不能在两个内存单元之间直接传送数据④CS和IP寄存器不能作为目的操作数⑤用BX、SI、DI来间接寻址时,默认的段寄存器为DS,而用BP来间接寻址时,默认的段寄存器为SS。

⑥执行SS寄存器赋值的传送指令时,系统自动禁止外部中断。⑦所有的通用传送指令都不改变标志。(2)堆栈操作指令推入堆栈指令PUSH和弹出堆栈指令POP。如: PUSHAX PUSHDS POP DS

POP AX 几点注意:①堆栈操作总是按字进行的。②推入指令,SP减2,数据在栈顶。弹出指令正好相反。③允许PUSHCS,但不允许POPCS。④堆栈的后进先出。(3)交换指令 交换指令XCHG可以实现字节或字交换。如:

XCHGAL,BL XCHGBX,CX XCHG[2530],CX 交换指令注意点:①目的操作数和源操作数不能均为内存单元。②段寄存器和IP不能作为交换指令的操作数。

累加器专用传送指令(1)输入输出指令分为:直接的输入输出指令间接的输入输出指令。直接的输入输出指令提供端口号。如:IN AL,50H ;将50H端口的字节读入ALIN AX,70H ;分别将70H、71H端口的内容读入AL、AHOUT44H,AL ;将AL中的内容输出到44H

端口OUT80H,AX ;将AL、AH中的内容分别输出到80H、81H两端口

间接的输入输出指令,如: IN AL,DX ;从DX所指的端口中读取 IN AX,DX ;从DX和DX+1所指出的两个端口中读取 OUTDX,AL ;将AL中的字节输出到DX所指的端口中 OUTDX,AX ;将AL中的字节输出到DX所指的端口中,同时将AH中的字节输出到DX+1所指的端口中输入输出指令注意点:①只能用累加器作为执行输入输出的机构②寻址范围: 直接输入输出指令为0~255

间接输入输出指令为0~65535。(2)换码指令

换码指令为XLAT,使累加器中的一个值变换为内存表格中的某一个值

换码指令的功能

地址传送指令(1)取有效地址指令(LEA)

如: LEA AX,[2728] ;将内存单元的偏移量2728送AX LEA BX,[BP+SI] ;指令执行后,BX中内容为BP+SI的值 LEA SP,[0482] ;使堆栈指针SP为482(2)装入地址指令

LDS功能:将4字节的地址指针传送到2个目的寄存器,比如: LDS DI,[2130H] ;使2130H和2131H中的偏移量送

DI,2132H和2133H中的段值DS。

(3)装入地址的指令LES功能:将一个地址指针装入ES和另一个寄存器。例:LES DI,〔BP+04〕 ;将堆栈中存放的字符串首址送到ES和DI中

标志传送指令(1)读取标志指令(LAHF) 将标志寄存器的低8位送AH。(2)设置标志指令SAHF

将AH寄存器的相应位送标志寄存器的低8位。

(3)对标志寄存器的堆栈操作指令

PUSHF将标志寄存器的值推入堆栈顶部。

POPF从堆栈弹出一个字送标志寄存器。算术运算指令算术运算指令涉及两种类型的数据无符号数8位无符号数的范围为0~25516位无符号数的范围为0~65535有符号数 8位有符号数的范围为-128~+12716位有符号数的范围为-32768~+32767

所有算术运算指令均影响状态标志。规则:当无符号数运算产生溢出时,CF为1;当有符号数运算产生溢出时,OF为1;如运算结果为0,则ZF=1;

如运算结果为负数,则SF=1;

如运算结果中有偶数个1,则PF=1。加法指令(1)不带进位位的加法指令

如:

ADD AL,50H ;AL和50H相加,结果放在AL中 ADD DI,SI ;DI和SI的内容相加,结果在DI

ADD[BX+DI],AX ;BX+DI和BX+DI+12个单元和AX相加,结果在BX+DI和BX+DI+1所指单元 ADD AX,[BX+2000H] ;BX+2000H和BX+2001H所指单元内容和AX的内容相加,结果在AX中(2)带进位位的加法指令

如:

ADC AX,SI ;AX和SI中的内容以及CF的值相加,结果在AX ADC DX,[SI] ;SI和SI+1所指的单元的内容和DX的内容以及CF的值相加,结果在DX(3)增量指令

将操作数的内容加1。如:INCAL ;将AL中的内容加1INC CX ;将CX中的内容加1INC BYTEPTR[BX+DI+500];将BX+DI+500所指单元的内容加1减法指令(1)不考虑借位的减法指令

SUB完成2个字节或2个字的相减。如: SUBBX,CX;将BX中的内容减去CX中的内容,结果在BX中 SUB[BP+2],CL;将BP+2所指的单元中的值减去CL中的值,结果在BP+2所指的堆栈单元中

SUBAL,20 ;AL中的数减去20,结果在AL中 SUBSI,5010H ;SI中的数减去5010H,结果在SI中 SUBWORDPTR[DI],1000H ;DI和DI+1所指的两单元中的数减去1000H,结果在DI和DI+1所指的单元中(2)考虑借位的减法指令如:

SBBAX,2030H ;将AX的内容减去2030H,并减去CF值 SBBWORDPTR[DI+2],1000H ;将DI+2和DI+3所指两单元的内容减去1000H,并减去CF值,结果在DI+2和DI+3所指的单元(3)减量指令将操作数减1。如:DECAX ;将AX的内容减1,再送回AX中DECBL ;将BL的内容减1,结果送回BL中DECBYTEPTR[DI+2] ;将DI+2所指单元的内容减1,结果送回此单元(4)求补指令

操作数取补码如:

NEGAL ;将AL中的数取补码 NEGCX ;将CX中的内容取补码

(5)比较指令如:CMPAX,2000H ;将AX的内容和2000H相比较,结果影响标志位CMP AL,50H ;将AL中的数和50H比较,结果影响标志位乘法指令(1)无符号数的乘法指令如:MULBL ;AL中数和BL中数相乘,结果在AX中MULCX ;AX中数和CX中数相乘,结果在DX和AX中MULBYTEPTR〔DI〕;AL中数和DI所指的单元中数相乘,结果在AX中(2)有符号数的乘法指令

如: IMULCL ;AL中有符号数与CL中有符号数相乘,结果在AX中 IMULBX;AX和BX中的两个有符号数相乘,结果在DX和AX中IMULBYTEPTR〔BX〕;AL中的8位有符号数和BX所指单元的8位有符号数相乘,结果在AXIMULWORDPTR〔DI〕;AX中的16位有符号数和DI、DI+1所指的单元16位有符号数相乘,结果在DX和AX中

MUL和IMUL执行时,会影响标志位CF和OF,但,AF、PF、SF和ZF无意义。

除法指令注意:

当被除数为16位,除数为8位时,8位的商放在AL,8位的余数放在AH当被除数为32位,除数为16位,16位的商放在AX中,16位的余数放在DX

(1)无符号数的除法指令如:DIV CL ;AX中的数据除以CL中的数据,商在AL中,余数在AH中DIV WORDPTR〔DI〕 ;DX和AX中的32位数除以DI、DI+1所指的16位数,商在AX中,余数在DX中(2)有符号数的除法指令 如: IDIVBX ;将DX和AX中的32位数除以BX中的16位数,商在AX中,余数在DX中 IDIVBYTEPTR〔DI〕 ;将AX中16位数除以DI所指单元中的8位数,商在AL,余数在AH除法指令几点注意:

①标志位AF、CF、OF、PF、SF和ZF无意义。②商范围如下,超出了范围则产生0号中断:双字除以字为-32768~+32767字除以字节-128~+127③有符号数除法规定余数的符号和被除数的符号相同。④要求用16位数除以8位数,或者用32位数除以16位数。

(3)将字节扩展成字的指令CBW功能:将AL寄存器中的符号位扩展到AH中。

执行时,不影响标志位。(4)将字扩展成双字的指令CWD功能:将AX中的被除数扩展成双字,即把AX中的符号位扩展到DX中。

执行时,不影响标志位。BCD码运算指令(1)BCD码的加法十进制调整指令

AAA对非组合BCD码相加结果调整, DAA对组合的BCD码相加结果进行调整。(2)BCD码的减法十进制调整指令AAS对非组合BCD码相减结果进行调整DAS对组合的BCD码相减结果进行调整(3)BCD码的乘法十进制调整指令AAM功能:对非组合的BCD码相乘结果进行调整(4)BCD码的除法十进制调整指令AAD功能:在除法之前,对除数和被除数进行非组合的BCD码调整。逻辑运算和移位指令逻辑运算指令

移位指令

逻辑运算指令逻辑运算指令包括AND(与)OR(或)NOT(非)XOR(异或)TEST(测试)比如:

AND AL,0FH ;AL中内容和0FH相与,结果在AL

OR AX,00F0H ;AX和00F0H相或,结果在AX

XOR AX,AX ;AX内容本身进行异或,结果AX清零

TEST和AND执行同样操作,但TEST指令不送回操作结果,而仅仅影响标志位。如:TEST AX,8000H ;如AX的最高位为1,则ZF=0,否则ZF=1

NOT指令求操作数的反码。比如: NOT AL ;AL中内容求反码,结果AL中移位指令(1)非循环移位指令 4条移位指令:算术左移指令SAL逻辑左移指令SHL算术右移指令SAR逻辑右移指令SHR移位指令SALSHLSARSHR

(2)循环移位指令 4条循环移位指令循环左移指令ROL循环右移指令ROR带进位位的循环左移指令RCL带进位位的循环右移指令RCR循环移位指令ROLRORRCLRCR串操作指令字符串传送指令字符串比较指令字符串检索指令取字符串指令存字符串指令字符串传送指令字符串传送指令MOVSB/MOVSW

MOVSB用于字节传送 MOVSW用于字传送。

特点:

指令前面常加重复前缀REP。

如:MOV SI,1000H ;源地址为1000HMOV DI,2000H ;目的地址为2000HMOV CX,100 ;字符串长100个字节CLD ;方向标志清0,使指针按增量方向修改REPMOVSB ;将源地址开始的100个字节传送到目的地址MOVSB指令注意点:①源地址用SI寄存器指出 目的地址用DI寄存器指出②CX中为字节数或字数。③若DF为0,则用MOVSB时,每传送一次,SI和DI自动增1;用MOVSW时,每传送一次,SI和DI自动增2。字符串比较指令

字符串比较指令CMPSB/CMPSW功能:把DS段由SI所指的字节或者字和ES段由DI所指的字节或者字相比较。 CMPSB/CMPSW指令注意点:①预先将 源字符串的首址设置到DS段和SI中 目的字符串的首址设置到ES段和DI中 比较的字节数或字数设置到CX中 设置方向标志②在DF为0或为1,影响比较SI和DI的修改方向。③CMPSB/CMPSW指令通常加前缀

REPNZ/REPNE

REPZ/REPE字符串检索指令

SCASB或者SCASW功能:将AL中的字节或者AX中的字与位于ES段由DI寄存器所指的内存单元的字节或字相比较。取字符串指令LODSB/LODSW功能:将位于DS段由SI所指的存储单元的内容取到AL或AX中。 LODSW取字,DF=1时地址作减量修改DF=0时地址作增量修改

存字符串指令STOSB/STOSW功能:把AL或AX中的数据存到ES段DI寄存器所指的内存单元。控制转移指令控制转移指令中包括5类指令,即子程序调用和返回指令无条件转移和条件转移指令循环控制指令中断指令处理器控制指令

关于转移指令和调用指令的寻址段内直接转移;段内间接转移;段间直接转移;段间间接转移

子程序调用和返回指令子程序调用指令:段内直接调用指令段内间接调用指令段间直接调用指令段间间接调用指令。例:CALL 1000H ;段内调用地址在指令中给出CALL AX ;段内间接调用地址由AX给出

CALL 2500H:3600H ;段间直接调用,段地址和偏移量由指令给出CALL DWORDPTR〔DI〕;段间间接调用,调用地址在DI、DI+1、DI+2、DI+3所指单元

RET功能:返回高一层的程序。特点:可带参数RET n

n为0~FFFFH范围中的偶数。无条件转移指令和条件转移指令无条件转移指令有四种形式如:

JMP1000H JMPCX JMP2000H:0100H JMPDWORDPTR〔ST〕条件转移指令特点:都是相对转移形式的根据比较结果决定是否转移

大部分转移指令有两种不同的助记符

条件转移指令的形式:JE/JZ;结果为0,则转移JNE/JNZ ;结果不为0,则转移JG/JNLE ;大于不小于且不等于则转移JNG/JLE ;不大于即小于或等于则转移JL/JNGE ;小于,即不大于且不等于则转移JNL/JGE ;不小于,即大于或者等于则转移JB/JNAE ;低于,即不高于且不等于则转移JNB/JAE ;不低于,即高于或者等于则转移JA/JNBE ;高于,即不低于且不等于则转移JNA/JBE ;不高于,即低于或者等于则转移JS ;符号标志SF为1则转移JNS ;符号标志SF为0则转移JO ;溢出标志OF为1则转移JNO ;溢出标志OF为0则转移JP ;奇偶标志PF为1则转移JNP ;奇偶标志PF为0则转移循环控制指令LOOP指令功能:将CX的内容减1,CX如不为0,则继续循环,为0,则退出循环。如:MOVCX,0100H ;设置循环次数KKK: LOOPKKK ;CX减1,如不为0则循环

(2)LOOPZ/LOOPE功能:将CX减1,如CX为0或者ZF为0则退出循环,在ZF=1且CX≠0时继续循环。注意:CX中的值为0时,并不会影响标志位ZF。(3)LOOPNZ/LOOPNE CX减1,如CX≠0且ZF=0,则继续循环;如CX=0,或ZF=1,则退出循环。中断指令和中断返回指令

软件中断指令INTn中断返回指令IRET

5个内部中断:类型为0的中断——除数为0的中断

类型为1的中断——单步中断类型为2的中断——非屏蔽中断NMI。类型为3的中断——断点中断

类型为4的中断——溢出中断处理器控制指令暂停指令HLT功能:CS和IP指向HLT后面的一条指令的地址,而CPU暂停工作

(2)标志操作指令

STC、CLC和CMC

STD和CLD

STI和CLI

(3)交权指令和等待指令

交权指令ESC:CPU调用协处理器工作。等待指令WAIT:CPU测试TEST引脚上的信号,直到有停止信号为止。

(4)总线封锁指令

LOCK功能:对总线实行封锁。

3.1.4汇编语言中的标记、表达式和伪指令汇编语言中的标记

表达式

语句

伪指令

汇编语言中的标记 一个完整的汇编语言的语句组成:标识符保留字分界符常数注释(1)标识符注意:不能以数字开头可以由数字、字母和下划线组合而成最大长度不能超过31个字符。

(2)保留字 是汇编语言中预先保留的具有特殊含义的符号,(3)分界符 作为两个部分的分隔符号用。

(4)常数后面字母B来表示二进制数后面字母D(可不加)表示十进制数后面字母H来表示十六进制数(5)注释 注释要用分号“;”打头表达式1)操作数可以是:常数标号标识符运算符

(1)算术运算符 加(+)、减(-)、乘(*)、除(/)、取模运算符MOD。(2)逻辑运算符

与(AND)、或(OR)、非(NOT)和异或(XOR)运算。(3)关系运算符 相等EQ、不等NE、小于LT、大于GT、小于或等于LE、大于或等于GE。(4)分析运算符和综合运算符分析运算符:OFFSETSEGTYPESIZELENGTH综合运算符:PTRTHIS语句

宏汇编语言中的两种语句:指令性语句,如:ADDAL,BLMOVAX,1000指示性语句。指示性语句即伪指令如:DBSEG

伪指令最常用的伪指令有:·EQU;·DB、DW和DD;·BYTE、WORD、DWORD;·SEGMENT、ENDS、ASSUME和ORG;·PROC、ENDP、NEAR、FAR;·END。80386的寻址方式和指令系统80386的寻址方式

80386的指令系统

80386的寻址方式 包括:立即数寻址寄存器寻址直接寻址寄存器间接寻址

(1)直接寻址方式 如: INC WORD PTR[500] ;字的有效地址为500(2)寄存器间接寻址方式 如: MOV[ECX],EDX;ECX指出有效地址(3)基址寻址方式如:

MOV ECX,[EAX+24] ;由EAX中内容加24组成有效地址(4)变址寻址方式如:

ADDEAX,[ESI],5 ;ESI的内容加5组成有效地址(5)带比例因子的变址寻址方式 如: IMUL EBX,[ESI*4],7 (6)基址变址寻址方式 如: MOVEAX,[ESI][EBX] (7)基址加带比例因子的变址寻址方式 如: MOVECX,[EDI*8][EAX] (8)带位移量的基址加变址寻址方式 如: ADDEDX,[ESI][EBP+100H] (9)带位移量的基址加带比例因子的变址寻址方式 如: MOVEAX,[EDI*4][EBP+80] ;EDI的内容乘4,加EBP的内容,再加80即有效地址80386的指令系统 80386的指令系统比之8086:扩展了数据宽度对存储器寻址方式也进行了扩充增加了少量指令。数据传送指令(1)通用传送指令

MOVZX和MOVSX如:MOVZX AX,BLMOVSX AX,BL(2)交换指令XCHG如:XCHG EAX,EDI ;寄存器和寄存器进行双字交换XCHG ESI,MEM_DWORD ;寄存器和内存进行双字交换(3)PUSH还可将立即数推入堆栈

(4)PUSHAD将EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI推入堆栈

(2)累加器传送指令 包括:INOUTXLATXLATB

(3)标志传送指令 在LAHF、SAHF、PUSHF、POP基础上,增加了:

PUSHFD

POPFD

(4)地址传送指令 实现6字节地址指针的传送如: LDS EBX,MEMLOC LES EDI,MEMLOC LSS ESP,MEMLOC LFS EDX,MEMLOC LGS ESI,MEMLOC

(5)数据类型转换指令 在CBW、CWD指令外,增加了2条指令。即:

CWDE ;将AX中的字进行高位扩展,成为EAX中的双字

CDQ ;将EAX中的双字进行高位扩展,得到EDX和EAX中的4字算术运算指令①除法运算指令DIV和IDIV功能:用AX、DX+AX或者EDX+EAX存放被除数,除数的长度为被除数的一半,商放在原存放被除数的寄存器的低半部分,余数放在高半部分。

②乘法运算指令MUL、IMUL功能:AL、AX或EAX存放操作数并保存乘积低半部分,另一个操作数为寄存器和存储器,也可为立即数,乘积的高半部分在AH或EAX。逻辑指令 逻辑指令包括运算指令移位指令串操作指令串操作指令,包括:MOVSCMPSSCASLODSSTOS此外,增加了INSOUTS

转移、循环和调用指令 在80386中,条件转移指令的相对转移地址不受范围限制循环控制指令包括:LOOPLOOPZ/LOOPELOOPNZ/LOOPNE中断指令中断指令包括:INTnINTOIRET增加了IRETD功能:从堆栈中先弹出4个字节装入EIP,再弹出2个字节装入CS。标志指令标志指令包括:CLCSTCCMCCLDSTDCLISTI

位处理指令位处理指令包括:

BTS

BTR

BTCBTBSFBSR功能:从最低扫描,如全为0则ZF置1,如有某位为1,则ZF置0,并把此位的序号放入目的寄存器。LOCK前缀和可使用LOCK前缀的指令特点: 32位系统不允许LOCK前缀用于重复串操作指令对可以接受LOCK前缀的指令作了限制

处理器控制和特权指令除HLT、WAIT、ESC、NOP外,增加了:

与控制寄存器有关的传送指令,如: MOVCRn,EAX ;往CRn中设置一个32位值,其中CRn可为CR0、CR2、CR3 MOV EBX,CRn ;将CRn的值送寄存器,其中CRn可为CR0、CR2或CR3

与调试寄存器有关的传送指令如:MOV DRn,EAX;往调试寄存器DRn设置初值,DRn可为DR0~DR3、DR6、DR7MOV EBX,DR3;将调试寄存器DR3的值送到1个寄存器与测试寄存器有关的传送指令如:MOV TRn,EAX ;往测试寄存器送一个32位值,TRn可为TR6或TR7MOV EBX,TRn;将测试寄存器TRn的值送到寄存器,这里为EBX支持高级语言的指令BOUND如: BOUND EBX,MEM_DWORDENTER如: ENTER 48,3LEAVE

系统设置和测试指令CLTS功能:清除机器状态字中的任务切换标志TS。SGDT/SLDT/SIDT分别将:全局描述符表寄存器局部描述符表寄存器中断描述符表寄存器的内容送到存储器中。LTRSTRLARLSLLGDT/LLDT/LIDT

VERR/VERW检测段类型指令 VERR检测一个选择子所对应的段是否可读 VERW则检测一个选择子所对应的段是否可写。

LMSW装入机器状态字指令 将存储器中2字节送到机器状态字MSW。SMSW存储机器状态字指令 将机器状态字MSW存入内存2字节中。ARPL调整请求特权级指令 这条指令调整选择子的RPL字段。80486新增加的指令(1)BSWAPr双字交换指令 将指定的32位寄存器中双字第31~24位与第7~0位交换,第23~16位与第15~8位交换。(2)CMPXCHG r/m,r 32位比较指令 将目的寄存器或存储器中数和累加器中数比较,如等则ZF为1,并将源操作数送目的操作数;否则ZF为0,并将目的操作数送累加器。(3)XADD r/m,r 字交换加法指令 将源操作数和目的操作数相加,结果送目的操作数处,而目的操作数送源操作数处。(4)INVDCache清除指令 将片内Cache中的内容清除,并,使外部电路清除外部Cache中的内容。

(5)WBINVDCache清除和回写指令 将片内Cache中的内容清除,并外部电路将外部Cache中的数据回写到主存,再清除外部Cache中的内容。(6)INVLPGmTLB项清除指令 使转换检测缓冲器TLB的32个表项中用m指出的当前项清除。

Pentium新增加的指令(1)CMPXCHG8B m 8字节即64位比较指令 将EDX∶EAX中的8个字节与m所指的存储器中的8个字节比较。(2)RDTSC读时钟周期数指令 读取记录时钟周期数的64位计数器的值送EDX:EAX。

(3)CPUID读取CPU的标识等有关信息 获得Pentium处理器的类型等有关信息。(4)RDMSR读取模式专用寄存器的指令

Pentium模式专用寄存器中的值。(5)WRMSR写入模式专用寄存器的指令 将EDX∶EAX中64位数写入模式专用寄存器。 (6)RSM复位到系统管理模式 (7)MOVCR4,R32 (8)MOVR32,CR4第4章存储器和高速缓存技术

本章重点:存储器在微型机系统中的连接、宽度扩充和字节扩充

微型机中存储器的层次化结构32位微型机系统中的内存组织Cache的全相联、直接映象和组相联三种组织方式Cache的数据更新方法Cache控制器的功能教学建议: 以存储器和Cache在系统中的应用为重点,本章用6学时。其中

存储器和存储器件2学时

存储器的连接和扩充、层次化结构、存储体结构1学时

Cache的组织方式、数据更新、Cache控制器 2学时

4.1存储器和存储器件

4.1.1存储器的分类

存储器根据用途和特点可以分为两大类:1.内部存储器,简称为内存或主存快速存取容量受限制

2.外部存储器,简称为外存容量大速度慢

4.1.2微型计算机内存的行列结构字节机制存储的基本单位为什么采用行列结构32行×32列组成的矩阵和外部的连接:

4.1.3选择存储器件的考虑因素①易失性

②只读性

③存储容量

④速度

⑤功耗

4.1.4随机存取存储器RAM主要特点: 既可读又可写

分类:

RAM按其结构和工作原理分为:静态RAM即SRAM动态RAM即DRAM

1.SRAM速度快不需要刷新片容量低功耗大

2.DRAM片容量高需要刷新

(1)DRAM器件原理(2)DRAM的刷新和DRAM控制器

刷新的方法DRAM控制器功能:

①时序功能

②地址处理功能 ③仲裁功能DRAM控制器的原理图

4.1.5只读存储器ROMROM的特点:只许读出不许写入

ROM器件的优点:结构简单,所以位密度高。具有非易失性,所以可靠性高

ROM的分类根据信息的设置方法,ROM分为5种:掩膜型ROMMOS型双极型

可编程只读存储器PROM可擦除可编程只读存储器EPROM可用电擦除的可编程只读存储器E2PROM闪烁存储器(flashmemory)闪烁存储器的特点:非易失性可靠性高速度大容量擦写灵活性

闪烁存储器的分类:

按擦除和使用的方式,闪烁存储器有三种类型:

整体型块结构型 带自举块型

闪烁存储器的命

温馨提示

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

评论

0/150

提交评论