1、微机原理及应用微机原理及应用第一章 微型计算机基础知识 常用常用数据类型数据类型 数学数学协处理器的数据格式协处理器的数据格式微机原理及应用微机原理及应用1.1.1 数据在内存储器中的存储方式字节:8个二进制位.一个字节也叫做一个存储单元.地址:对内存中存储单元的编号.从0开始直到CPU能支持的最高地址.字:相邻两个字节存放一个数.16位.双字:相邻四个字节存放一个数.32位.多字节数据的存储采取高位字节在高地址的原则.数据所在地址是低字节所在的地址.微机原理及应用微机原理及应用多字节数据的存储情况例如字1234和双字3C5D7E9F的存储地址地址m+2m+1mm-1 1 2 3 4 3 C
2、5 D 7 E 9 Fm+4m+3m+2m+1mm-1(a)字的存储(b)双字的存储微机原理及应用微机原理及应用1.1.2 数的进位制表示约定 二进制:数的后面加后缀B.十进制:数的后面加后缀D或不加.十六进制:数的后面加后缀H.微机原理及应用微机原理及应用1.1.3 整数1.无符号数 8、16、32位全部用来表示数值本身。最低位LSB是0位,最高位MSB是7、15、31。2.带符号整数 1).原码:设X=+1011100B,Y=-1011100B 此时X和Y被称为真值.则X原=01011100,Y原=11011100 而+0原=00000000,-0原=10000000 综上述X原=X X为
3、正2n-1-X X为负微机原理及应用微机原理及应用2).补码和反码举一实例:3点钟-7小时=8时 3点钟+5小时=8时 即:3-7=3+5 为什么?答:时钟是以12为模,5是-7的补码.在计算机中采用补码主要原因有二,一是可以将减法变成加法来运算.二是补码的符号位可以参加运算.计算机中是用2n为模为模2补码.X补补=2n+X微机原理及应用微机原理及应用若以2n-1为模的补码称1补码-反码反码X反反=2n-1+X根据上面的公式得:X为正时:X反反=X补补=X原原X为负时:求X补补是将X原原的符号位不变,其余各位 变反加1.求X反反是将X原原的符号位不变,其余各位 变反.微机原理及应用微机原理及应
4、用补码没有+0和-0之分;反码有+0和-0之分 +0补=00.00=0-0补=00.00=0+0反=00.00=0-0反=00.00=111.11例如:X=+1010011B X反=X补=X原=01010011 X=-1010011B X原=11010011 X补=10101101 X反=10101100微机原理及应用微机原理及应用3).移码针对补码不易比较大小的缺点而出现了移码 X移=2n-1-1+X X-2n-1 且X=2n-12n-1-1为偏移量例如:X=+10010B=+18,Y=-10010B=-18 X移=26-1-1+X=011111+010010=110001B Y移=26-1
5、-1+Y=011111-010010=001101B微机原理及应用微机原理及应用3.带符号数的运算 原码原码:类似于正负数的笔算 优点:直观.缺点:减法过程非常繁锁.适用:浮点数的有效数字.二进制乘除法.补码补码:优点:符号位和数值一起运算;减法可以变成加法运算.缺点:数值比较大小时易出错.适用:加减法的运算中.微机原理及应用微机原理及应用运算公式:x:x+yy补补=x=x补补+yy补补 其中:|x|,|y|,|x+y|2n-1 -y补补=y变补变补y变补变补就是将yy补补连同符号位一起各位变反加1.反码反码:常用在求反逻辑运算中,其它运算不用.移码移码:优点:能很方便的比较出真值的大小.适用
6、:A/D和D/A转换器的双极性编码.浮点数的阶码中.微机原理及应用微机原理及应用4.无符号数运算(补码运算)xx补补+yy补补=x=x+yy补补 其中:x、y及(x+y)=y,x补+-y补最高位有进位,结果为正.x-y补=x-y原 2).若xy,x补+-y补最高位无进位,结果为负.将x-y补再求一次补前边加上负号就得到x-y的真值.微机原理及应用微机原理及应用例1.1用补码运算:129-79 79-129解:.设x=129,y=79则 x补=10000001B,y补=01001111B-y补=y变补=10110001Bx-y补=x补+-y补=00110010B 最高位有进位,结果为正x-y补=
7、x-y原=00110010B x-y=50 .设x=79,y=129则 x补=01001111B,y补=10000001B-y补=y变补=01111111Bx-y补=x补+-y补=11001110B 最高位无进位,结果为负 x-y=-50微机原理及应用微机原理及应用总结:对于无符号数和有符号数的补码运算,计算机运算的方法都是一样的.只是结果判断正负的方法不同.无符号数.加法:结果必为正.只要不溢出(最高位没有 进位)结果就是正确的.减法:补码运算结果有进位结果为正.否 则为负.有符号数.加减法结果看符号位.是否溢 出用下述方法判别.微机原理及应用微机原理及应用5.有符号数加减运算溢出判别 采用
8、双高位判别法.在计算机内设置两个进位位分别是:CS:表示符号位向前进位情况.如有进位CS=1,否 则CS=0.CP:表示数值部分最高位向符号进位情况,如有进位CP=1,否则CP=0.分析:CS CP 溢出情况 0 0 无溢出 0 1 正溢出 1 0 负溢出 1 1 无溢出微机原理及应用微机原理及应用例1.2 01011010B +90 +01101011B +107 11000101B 197 CS=0 CP=1 是正溢出例1.3 10010010B -110补 +10100100B -92补 100110110B CS=1 CP=0 是负溢出例1.4 00101101B +45 +00101
9、101B +45 01011010B +90 CS=0 CP=0 无溢出微机原理及应用微机原理及应用例1.5 11111110B -2补 +11111110B -2补 111111100B -4补 CS=1 CP=1 无溢出例1.6 10001011B -117补 +01111001B +121 100000100B +4 CS=1 CP=1 无溢出,结果为正 11110100B -12 +00001001B +9 11111101B -3 CS=0 CP=0 无溢出,结果为负微机原理及应用微机原理及应用6.算术移位 对寄存器和存储器中的数,左移一位,绝对值增大一倍.右移一位绝对值减少一半.(
10、只要没把有效数值移出).1).对于正数,左移或右移,空位都补0 例 00001110B +14 左移一位 00011100B +28 右移一位 00000111B +72).补码表示的负数 左移低位补0,右移高位补1.例 11110010B -14补 左移一位 11100100B -28补 右移一位 11111001B -7补微机原理及应用微机原理及应用3).反码表示的负数 左移和右移空位全补1.例 11110001B -14补 左移一位 11100011B -28补 右移一位 11111000B -7补7.有关0的问题 原码和反码都+0和-0之分,而补码没有,补码中的表示-128(8位机)下
11、面用例题说明这一点:微机原理及应用微机原理及应用例1.7 -128补=10000000B,下面运算正确 -64 11000000B +)-64 +11000000B -128 110000000B -128补符号位进位丢失 -128 10000000B+)+127 01111111B -1 11111111B -1补例1.8 若误认为-0补=10000000B,运算便会出错:-0 10000000 +)+1 +00000001 +1 10000001 -127补+1出错 微机原理及应用微机原理及应用1.1.4 字符串 字符串是存储器中相邻存储单元字符序列.80386对字符串的操作有:移动;传送
12、;比较;查找等.分类:字节串;字串;双字串.微机原理及应用微机原理及应用1.1.5 位及位串 80 x86CPU都支持位操作.80386/80486有位串操作.位串最长是232个位.位偏移量:一个位在位串中的地址.由字节地址和位余数组成.设位串是从地址开始存储的,位偏移量分别为23和-18的位在什么地方?23/8=27 在第m+2字节中的第7位.-18/8=36 在第m-3字节中的第6位.mm-1m+1m+2m-207.微机原理及应用微机原理及应用1.1.6 BCD码及ASC码1.十进制数的二进制编码 1).8421码 2).2421码 3).余3码 见P9表1.22.ASCII码 1)7位的
13、ASC码.2)8位的ASC码.见P10表1.33.奇偶校验码奇校验:编码“1”的个数为奇数,校验位置“0”否则校验位置“1”.缺点:双重差错是无法校验出来的.微机原理及应用微机原理及应用1.2 数学协处理器的数据格式80387支持的数据类型微机原理及应用微机原理及应用1.2.1 整型数80387支持长整型数,而80386支持字节整型数.1.2.2 BCD码压缩BCD码占80位,即10个字节.能存储20位BCD数,但在80387中只用了18位BCD数.余下1个字节的最高位为符号位.其余7位不用.最高位是符号位7位不用微机原理及应用微机原理及应用1.2.3 实型数任何一个二进制数可以表示成:N=+
14、Y2J 称为浮点表示法80387规定:指数采用移码表示。短型实数阶码占8位;长型实数阶码占11位。临时实数阶码占15位。短型实数和长型实数的尾数中的1和小数点均隐藏。临时实数小数点前的1不省略。作业:P37 2.5.6.9.10.14 阅读引论.微机原理及应用微机原理及应用第二章第二章 微型计算机组成及微型计算机组成及 微处理器功能结构微处理器功能结构 2.1 2.1 微型计算机的组成及工作原理微型计算机的组成及工作原理 2.2 8086/80882.2 8086/8088及及8028680286微处理器微处理器 2.3 803862.3 80386微处理器的功能结构微处理器的功能结构 2.4
15、 804862.4 80486微处理器的功能结构微处理器的功能结构 2.5 Pentium2.5 Pentium级微处理器简介级微处理器简介微机原理及应用微机原理及应用2.1 微型计算机的组成及工作原理微型计算机的组成:CPU存储器I./O接口I/O设备控制总线地址总线数据总线微机原理及应用微机原理及应用2.1.1微处理器(CPU)组成:控制器;运算器;寄存器组成。控制器是由指令寄存器;指令译码器;控制电路组成。指令:是一组二进制编码信息,包括操作码 和操作数或操作数地址2.1.2 存储器 组成:内存储器是由半导体存储器芯片组成。读/写操作:称为CPU访存操作.读就是取.写就是 送(存).读操
16、作原存储单元内容不变,写 操作原存储单元内容被改写.微机原理及应用微机原理及应用2.1.3 输入/输出设备及其接口电路输入设备:将程序、原始数据及现场信息以计算机能 识别的形式送到计算机中,供计算机自动计 算或处理。(键盘 鼠标 数字化仪 扫描仪 A/D等)输出设备:将计算机处理的结果以人能识别的形式输 出来。(显示器 打印机 绘图仪 D/A等)外部存储器:软.硬磁盘即是输入设备也是输出设备.只读光盘是输入设备.接口电路:是CPU与I/O设备联系的必经之路.起信息统 一和联系作用.微机原理及应用微机原理及应用2.1.4 总线 总线是具有逻辑控制功能的信号线.1.数据总线(DB):在CPU,内存
17、和接口之间传递指令和数据.是双向的.总线宽度(总线中信号线的条数)有8位、16位、32位、64位。2.地址总线(AB):用于传送CPU要访问的存储单元或I/O接口的地址号.是单向的。3.控制总线(CB):用于CPU向其它部件传送控制信号,其它部件向CPU传送状态信号及请求信号。微机原理及应用微机原理及应用2.1.5 微型计算机整机工作原理简述人 程序 计算机的内存 指令指针控制部件 译码器 指令队列 经DB各执行部件 结果输出转移指令修改指令指针.微机原理及应用微机原理及应用2.2 8086/8088及80286微处理器的功能结构 属Intel公司生产的第三代16位微处理器.新增功能:总线加宽
18、一倍,增加了流水执行部 件和总线接口分为两个独立部件.并行工作.微机原理及应用微机原理及应用2.2.1 8086/8088CPU的功能结构1.8086/8088CPU的内部结构微机原理及应用微机原理及应用数据寄存器数据寄存器指针指针和变和变址寄址寄存器存器AH ALBH BLCH CLDH DL SPBPSIDIAXBXCXDX暂存寄存器暂存寄存器ALU标志寄存器标志寄存器FR EU控制器控制器ALU数据总线数据总线 (16位)位)指令队列缓冲器指令队列缓冲器1 2 3 4 5 6总线总线控制控制逻辑逻辑8086总线总线地址加法器地址加法器 CS DS SS ES IP内部暂存器内部暂存器AB
19、(20位位)执行部件(执行部件(EU)总线接口部件(总线接口部件(BIU)DB(16位位)(8位)位)图图2-3 8086CPU8086CPU的内部功能结构框图的内部功能结构框图队列总线队列总线微机原理及应用微机原理及应用D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 位号位号CFPFAFZFSFTFIFDFOF标志标志寄存器寄存器 图图2-3 8086CPU标志寄存器标志寄存器微机原理及应用微机原理及应用2.指令流队列 是一个先进先出的栈,6/4个指令字节.总线周期:CPU访问一次存储器或I/O端口所需时间.3.存储器的分段结构和物
20、理地址的形成 物理地址:每个存储单元的实际地址编码.8086/8088 20位地址总线 1MB空间 分段结构:1MB可分若干段,大小根据需要而定.每段不超过64KB 段首地址:段的启始地址称段首地址,要求低4位为0.段基址:段首地址的高16位.地址偏移量:段内相对于段首址的地址.微机原理及应用微机原理及应用内存储器单元地址的两种表示方法:逻辑地址 段基址段基址:偏移量偏移量 物理地址 物理地址物理地址=段基址段基址x10H+偏移量偏移量微机原理及应用微机原理及应用2.2.2 80286的功能结构1.CPU主要性能:集成了13.5万只晶体管;68个引脚;四列直插式封装;地址/数据总线分开(16位
21、数据线,24位地址线);时钟频率为8MHz10MHz;增加存储器管理和保护机构.工作方式:1)实地址方式.2)虚地址方式.配80287数学协处理器.微机原理及应用微机原理及应用2.80286CPU的内部结构 地址部件地址部件微机原理及应用微机原理及应用1).总线接口部件BIU:负责处理CPU和系统总线之间的所有通信和数 据传输.2).指令部件IU:从预取队列取出指令字节到指令译码器,译成 69位内部码送已译码指令队列.3).执行部件EU:由ALU;FR;控制电路组成.完成指令的执行操作.4).地址部件AU:实地址方式:与8086一样.保护方式:AU必须做许可性检查和当前任务的段 限制检查.微机
22、原理及应用微机原理及应用2.32.3 8038680386微处理器的功能结构微处理器的功能结构 主要性能指标:32位;132条引脚;网络阵列式封装;32条地址线;12.5MHz及16MHz.具有段页式存储器管理部件,4级保护机构.有两种芯片:80386SX(准32位机)和80386DX.工作方式:1).实地址方式 2).虚地址保护方式:每段长4GB;可寻实地址4GB;寻虚地址64TB最多可用16K个段.3).虚拟8086方式:实地址方式的同时,利用虚拟保护机构运行多用户操作系统及程序.微机原理及应用微机原理及应用2.3.1 80386CPU的功能结构 分段部件分段部件 分页部件分页部件 总线接
23、口部总线接口部件件微机原理及应用微机原理及应用1.总线接口部件 主要用于将CPU与外部总线连接起来.CPU内部的其它部件都能与BIU直接通信,并将它们的总线请求传给BIU.2.指令预取部件 当BIU空闲时,预取队列有空单元或有转移时,便通过分页部件向BIU发指令预取请求.3.指令译码部件 从指令预取队列中取出指令码译成内码送已译码指令队列.以上三部分构成了指令流水线.微机原理及应用微机原理及应用4.执行部件 从已译码队列取来内码变成一系列控制信息发向其它部件完成指令的执行.5.分段部件 将逻辑地址转换成线性地址.送分页部件.6.分页部件 在操作系统软件的控制下,若分页部件处于允许状态,便将分段
24、部件或代码预取部件产生的线性地址转换成物理地址.分段部件,分页部件和BIU构成地址流水线微机原理及应用微机原理及应用2.3.2 80386CPU的寄存器1.通用寄存器:(共4个)主要用来存放操作数或操作数地址的。微机原理及应用微机原理及应用2.变址寄存器(共2个)源变址源变址微机原理及应用微机原理及应用3.指针寄存器(共3个)微机原理及应用微机原理及应用堆栈:是一组寄存器或一个存储区.堆栈的用途:在调用子程序或中断时存放断 点数据的.微机原理及应用微机原理及应用堆栈的工作原理:存储器高地址存储器低地址微机原理及应用微机原理及应用4.段寄存器段描述符寄存器 段寄存器:(共6个,16位)数据段寄存
25、器DS:存放数据段的段基址.堆栈段寄存器SS:存放堆栈段的段基址.代码段寄存器CS:存放代码段的段基址.附加段寄存器ES;FS;GS:存放当前附加段 段基址.段描述符寄存器:64位,一个段选择器对应一个段描述符寄存器.微机原理及应用微机原理及应用5.标志寄存器EFLAGS(32位)微机原理及应用微机原理及应用1).状态标志:保存ALU运算结果的特殊信息.CF:有进位(借位)置“1”,否则置“0”.PF:算术逻辑运算结果低8位中“1”的个数为偶置“1”,否则置“0”.AF:ALU加法运算时结果的第3位向第4位有进位(借位)置“1”,否则置“0”.ZF:ALU的结果为全零置“1”,否则置“0”.S
26、F:ALU的结果最高位是“1”,表示负数置“1”,否则置“0”.OF:有符号加(减)结果产生溢出时置“1”,否则置“0”.CsCp=1时溢出.微机原理及应用微机原理及应用判别两个带符号数a与b的大小(a-b)OF SF=1说明ab 否则说明ab以上6个标志位与8086/8088 80286完全兼容.CF;ZF;SF;OF支持8位;16位;32位运算.PF:只反映低8位中“1”的个数.AF:只反映第3位向第4位进位或借位情况.微机原理及应用微机原理及应用2).控制标志:(共7个)可用程序来置位或清零,具有一定的控制能力 TF:陷阱标志(单步操作标志)TF=1时,CPU每执行完一条指令,就去执行服
27、务程序,向用户提供各寄存器状况等.用于程序调试.IF:中断允许标志,IF=1时可接受并响应可屏蔽中断.DF:方向标志,指定字符串处理指令的步进方向.DF=1时是减地址,DF=0时是增地址.以上3个标志位与8086/8088 80286兼容.微机原理及应用微机原理及应用 IOPL:输入/输出特权级标志,有四种状态.00最高特权;11最低特权.当前特权级高于或等于IOPL所表示的特权级I/O指令可以执行.否则产生一个保护异常.NT:嵌套任务标志,用于控制返回指令的运行.NT=1当前任务正嵌套在另一任务之中.返回操作通过任务切换来执行.即不同任务之间的返回.NT=0时是同一任务的返回.以上两个标志只
28、在保护方式有效,8086仿真方式(实方式)下无效.微机原理及应用微机原理及应用 RF:重新启动标志(调整恢复标志)RF=0时,调试故障被接受并应答.RF=1时,调试故障被忽略.VM:虚拟8086方式标志,VM=1时CPU在虚拟8086方式下运行,VM=0时CPU在一般方式下运行.以上两个标志是80386新增的控制标志.微机原理及应用微机原理及应用6.控制寄存器(4个32位)CR0:1).PE:允许保护标志,用于CPU是否进入保护方式,PE=1进入保护方式.若想解除,只有通过系统复位重新启动.系统默认是实地址方式.微机原理及应用微机原理及应用2).MP:监控数学协处理器扩充标志,用来表示协处理器
29、是否存在.MP=1时表示协处理器存在.MP=0时协处理器不存在.3).EM:仿真协处理器扩充标志,用来表示是否用软件来仿真数学协处理器.EM=1时表示采用软件仿真数学协处理器的功能.4).TS:任务转换标志,由硬件置位,由软件复位.当一个任务转换完成后,TS自动置“1”.下一条企图使用数学协处理器的指令将产生一个“无数学协处理器”的异常.以上4个系统标志与80286兼容.微机原理及应用微机原理及应用5).ET:扩充类型标志,表示系统中所使用的 数学协处理器的类型.ET=1时表示系 统内使用的是80387.否则表示系统 使用的是80287或没有协处理器.当 EM=1时,ET无效.6).PG:允许
30、分页标志,表示CPU是否允许对 存储器线性地址进行分页.并进行物 理地址转换.PG=1时允许分页,分页 部件将线性地址转换成物理址.PG=0 时禁止分页,线性地址直接当作物理 地址.微机原理及应用微机原理及应用CR1:是未定义的控制寄存器,待CPU升级时 用.CR2:页故障线性地址寄存器,保存最后出现 页故障的全32位线性地址,以便当产生 页故障时用来报告错误信息.CR3:页目录基址寄存器,保存页目录表的物 理基地址.微机原理及应用微机原理及应用7.系统地址寄存器:(共4个)47 3247 32位线性基地址位线性基地址 16 15 16 15 界限界限 0 01).GDTR:全局描述符表寄存器
31、.48位.保存全局描述符表的32位线性基地址和16位界限.2).IDTR:中断描述符表寄存器.48位.保存中断描述符表的32位线性基地址和16位界限.微机原理及应用微机原理及应用3).LDTR:局部描述符表寄存器.16位.保存当前任务的局部描述符表的16位选择符.4).TR:任务状态寄存器.16位.保存当前任务的任务状态段的16位选择符.8.调试寄存器(共8个,32位)微机原理及应用微机原理及应用9.测试寄存器(共2个.32位)TR6:测试命令寄存器.存放命令.TR7:数据寄存器.保存对旁视缓冲器测试时的状态数据.程序员可在芯片加电后,测试分页部件中转换旁视缓冲器TLB的操作是否正确.微机原理
32、及应用微机原理及应用2.4 804862.4 80486微处理器的功能结构微处理器的功能结构 主要性能指标:32位;120万个晶体管;168条引线;网络阵列式封装;32条地址线;寻址4GB实;64TB虚;25MHz和33MHz;80486DX达50MHz60MHz.CPU,协处理器及cache集成在一个芯片上,工作速度加快.还具有外部高速缓冲存储器.9个处理部件,并行流水,对大多数指令以一个时钟周期一条指令的速度持续执行.微机原理及应用微机原理及应用整数部件分段部件分页部件Cache部件预取部件指令译码部件控制部件浮点部件总线接口部件地址总线数据总线硬件的微指令指令字80486CPU框图微机原
33、理及应用微机原理及应用2.4.1 总线接口部件 负责与处理器外部总线的连接。与80386不同的是BIU只与Cache和指令预取部件交换数据。其它访存请求都要经过Cache。2.4.2 高速缓冲存储部件 用于管理芯片上8KB高速缓冲RAM.所有总线请求先到这里.如命中,则不产生总线周期.如未命中,BIU一次从内存取16B送高速缓存-行填充.写通:在高缓中找到目标修改写回存储器.微机原理及应用微机原理及应用2.4.3 代码预取部件 只要总线空闲时,预取部件向BIU发请求.一次取16B的代码送32B的预取队列.如Cache能命中,则不产生总线周期.当遇到转移,中断,子程序调用时预取队列清空.2.4.
34、4 指令译码部件 从预取队列取机器码转换成各处理部件的控制信号.译码分两步:取操作数和译码同时进行.没有已译码队列.微机原理及应用微机原理及应用2.4.5 控制部件 对整数部件,浮点部件和分段部件进行控制.使它们完成已译码指令的执行.2.4.6 整数部件 完成整数的传输,加,减运算和逻辑运算.有4个32位通用寄存器;2个32位变址寄存器;2个32位指针寄存器;64位桶形移位器;ALU;EFLAGS.微机原理及应用微机原理及应用2.4.7 分段部件和分页部件 一起构成存储器管理.分页部件:完成虚拟存储器管理,将线性地址转换成物理地址.分段部件:将部件逻辑地址转换成线性地址.并用高速缓存提高速度.
35、2.4.8 浮点部件 与外部协处理器的功能完全一样.80486SX需配80487SX等效80486DX.微机原理及应用微机原理及应用2.5 Pentium级微处理器简介2.5.1 Pentium微处理器 第5代微处理器.1993年Intel公司推出.0.35um工艺;金属配线;双级CMOS技术;310万个晶体管;数据总线64位;地址总线36位;60MHz-66MHz目前已有133MHz-166MHz;超标量流水技术,多个执行单元,一个指令周期内执行多条指令.两条超标量流水线U和V,各自有地址生成逻辑,算术逻辑部件及数据高速缓存.(V流水不能执行浮点)微机原理及应用微机原理及应用2.5.2 Pe
36、ntium Pro微处理器 1996年推出;0.35um工艺;4层金属配线;CMOS技术;5.5百万个晶体管;3条超标量流水线;3个并行译码器;5个执行单元;2个一级8KB高速缓冲存储器(数据和指令各一个);200MHz-250MHz;1个二及高速缓冲存储器(界于一级高缓和内存之间);8个整数通用寄存器;8个浮点数通用寄存器;还增加了40个通用寄存器.微机原理及应用微机原理及应用2.5.3 MMX Pentium微处理器(多能奔腾)芯片管脚与Pentium相兼容.增加视频信号,音频信号的处理功能和速度.内部高缓比Pentium增加一倍.指令和数据高缓都是16KB的.适用于便携式电脑.2.5.4
37、 Pentium II微处理器 第6代微处理器.1997年推出.266MHz451MHz;功耗低;广泛用于商业领域.作业:P69 5、6 思考:2、3 微机原理及应用微机原理及应用第三章 80X86寻址方式与指令系统 3.1 计算机指令格式 3.2 指令长度与字长的关系 3.3 80 x86指令寻址方式 3.4 8086/8088指令系统 3.5 80 x86寻址方式及新增指令微机原理及应用微机原理及应用3.1 计算机指令格式1.零地址指令 格式:指令中只给出操作码,没有显地址.有几种可能:1).无操作数的指令.(空操作;CPU控制)2).操作数是隐含约定的.(栈操作;串操 作;累加器操作)O
38、P微机原理及应用微机原理及应用2.一地址指令 格式:一地址指令有两种常见的形态,根据操作码含义确定它是哪一种.1).只有目的操作数的单操作数指令(加1;减1;取补;取反)2).隐含约定目的地址的双操作数指令(乘;除等)OPD微机原理及应用微机原理及应用3.二地址指令格式:功能:(D1)OP(D2)D1二地址指令是最常用的.4.三地址指令格式:功能(D2)OP(D3)D1OPD1D2OPD1D2D3微机原理及应用微机原理及应用3.2 指令长度与字长的关系 指令位数多,信息多,功能强.但存储空间大,取指时间长.所以目前都采用变字长指令格式.能短则短,需长则长.8086/8088变字长指令格式:指令
39、长16个字节.80286指令长:1 10字节.80386指令长:1 15字节.微机原理及应用微机原理及应用3.3 80 x86指令(编码)格式与寻址方式3.3.1 8086/8088/80286指令编码格式opcodemod reg r/mdispdata 8086/8088不同字长的指令格式类型如下:opcodeopcode mod opcode mod data/dispopcode mod data/disp(低)data/disp(高)opcode mod disp(低)disp(高)data opcode mod disp(低)disp(高)data(低)data(高)微机原理及应用
40、微机原理及应用操作码和寻址方式字节格式如下:D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0 1.操作码字节:W=0 操作数均是8位,字节操作.W=1 操作数均是16位,字操作.D=0 reg域指定源操作数.D=1 reg域指定目的操作数.2.寻址方式字节:指出第二操作数的存放地址,寻求EA的方法.微机原理及应用微机原理及应用reg域:确定一个寄存器.(3位)微机原理及应用微机原理及应用Mod域:说明是寄存器寻址还是存储器寻址.r/m域:mod=11时是寄存器寻址,指出第二操 作数所在的寄存器号.mod=00、01、10时是存储器寻址,指 出如何求得
41、操作数的有效地址。微机原理及应用微机原理及应用mod与r/m域所组合的寻址方式微机原理及应用微机原理及应用例3.1 写出指令 MOV BX+DI-6,CL 的机器 语言编码MOV指令操作码:100010D:0(源操作数)W:0(8位,字节操作)reg:001(CL)mod:01 r/m:001 disp8:-6的补码为指令编码:10001000 01 001 写成十六进制:88H、49H、FAH微机原理及应用微机原理及应用例3.2 写出 MOV AH,BX+DI+50H 的机器语 言编码.MOV的操作码:100010 D:1 W:0mod:01 reg:100 r/m:001指令编码:1000
42、1010 01 100 写成十六进制:8AH、61H、50H例3.3 写出 ADD AX,BX+DI+0826H 的机器语 言编码.00000011 10 写成十六进制:03H、81H、26H、08H微机原理及应用微机原理及应用3.3.2 8086/8088的寻址方式操作数存在的地方有:寄存器;存储器;指令字 节中;I/O端口.目的操作数:用指令的执行结果替换掉的操作数.源操作数:指令执行过程中保持原值不变.1.操作数的寻址方式 8086/8088有7种寻址方式.1).立即数寻址方式 操作数(8位或16位)是指令码中的组成部分.例:MOV AL,80H微机原理及应用微机原理及应用立即数:只能是
43、源操作数;只能是整数或字符,若是字符加引号;16进制的立即数以字母开头时前边要 加“0”.且低8位跟在操作码后面,高8位 在其后.例如:MOV CX,0B3CAH MOV AL,25 MOV BX,“AB”MOV AH,C微机原理及应用微机原理及应用2).寄存器寻址方式 操作数存放在CPU内的通用寄存器或段寄存器中.在指令中给出寄存器的地址(寄存器的名字)例如:INC CX MOV AX,CX MOV DS,AX3).直接寻址方式 操作数存放在存储单元中,该单元的有效地址在指令中直接给出.不特指,默认段寄存器是DS.微机原理及应用微机原理及应用例如:MOV AL,1064H源操作数的物理地址(
44、DS)10H+1064H数据段YY代码段操作码64H10HAXIPCSDSm m m mn nn nh hh hnnnn0+mmmm ppppm ppppm ppppm+1 ppppm+2 hhhh0 +1064 gggg4 gggg4 注:符号地址和数值地址问题微机原理及应用微机原理及应用4).寄存器间接寻址方式 操作数存放在存储单元中,该单元的有效地址存放在指令中的寄存器(BX;BP或SI;DI)里.用BP间址隐含段寄存器是SS.例如:MOV CH,SI MOV AX,BX5).寄存器相对寻址 操作数存放在存储单元中,该单元的在效地址等于指令中给出的基址或变址寄存器的内容和一个带符号的8位
45、或16位的位移量之和.用BP间址隐含段寄存器是SS.例如:MOV AX,BX+1234H MOV AL,BP-10H 微机原理及应用微机原理及应用6).基址加变址寻址方式 操作数存放在存储单元中,该单元的有效地 址等于基址寄存器的内容加变址寄存器的内 容.BP间址隐含段寄存器是SS.EA=(BX)/(BP)+(SI)/(DI)例如:MOV AX,BX+SI MOV AX,BP+SI MOV ES:BX+DI,AX微机原理及应用微机原理及应用7).相对的基址和变址寻址方式 操作数存放在存储单元中,该单元的有效地址等于基址寄存器的内容加变址寄存器的内容再加上指令中给出的8位或16位位移量.BP间址
46、隐含段寄存器是SS.EA=(BX)/(BP)+(SI)/(DI)+disp8/disp16 例如:AND DL,BX+SI+20H MOV SS:BX+SI+100H,BX微机原理及应用微机原理及应用若I/O端口不是与内存统一编址,I/O端口有两种寻址方式1).直接端口寻址方式 指令中直接给出由8位地址码表示的端口 地址号.例如:IN AL,21H2).间接端口寻址方式 端口地址用16位表示,并固定存储在DX寄 存器中.例如:OUT DX,AL微机原理及应用微机原理及应用2.程序转移地址的寻址方式1).段内直接(相对)寻址方式 转移的地址是当前的IP内容和指令规定 的8位或16位位移量之和.8
47、位是短程转移;16位是近程转移.2).段内间接寻址方式 转移的地址存放在寄存器或存储单元中.用它来更新IP的内容.微机原理及应用微机原理及应用3).段间直接寻址方式作业:P118 1微机原理及应用微机原理及应用3.4 8086/8088指令系统学习指令的注意事项 指令的功能该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式 指令支持的寻址方式该指令中的操作数可以采用何种寻址方式 指令对标志的影响该指令执行后是否对各个标志位有影响,以及如何影响 其他方面该指令其他需要特别注意的地方,如指令执行时的约定设置、必须预置的参数、隐含使用的寄存器等微机原理及应用微机原理及应用3.4
48、.1 数据传送类指令 数据传送是计算机中最基本、最重要的一种操作 传送指令也是最常使用的一类指令 传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握MOV XCHG XLAT PUSH POP LEA微机原理及应用微机原理及应用1.通用数据传送指令 1).基本传送指令MOV格式:MOV DEST,SRC功能:DEST (SRC)即将源地址的内容(源操作数)传送到目的地址中.传送指令执行完后源操作数保持不变.说明:1)标志寄存器内容不变.2)两操作数位数应相同.(字节或字)3)其它规则见下图.微机原理及应用微机原理及应用MOV指令的传送规定段寄存器DS E
49、S SSCS立即数通用寄存器存储器微机原理及应用微机原理及应用非法传送种种 两个操作数的类型不一致 例如源操作数是字节,而目的操作数是字;或相反 两个操作数不能都是存储器 传送指令很灵活,但主存之间的直接传送却不允许 段寄存器的操作有一些限制 段寄存器属专用寄存器,对他们的操作能力有限微机原理及应用微机原理及应用2).堆栈操作指令压栈:用压栈指令PUSH可以将通用寄存器、段寄存器或字存储单元内容压入堆栈。例如:PUSH AX ;将AX内容送入栈顶字单元中压栈指令执行分两步进行:.(SP)-2 SP;.操作数 SP;后SPAH ALXXXXSP内存SS增地址方向微机原理及应用微机原理及应用出栈:
50、用弹出指令POP可以将当前栈顶字单元内容取出送到通用寄存器、段寄存器或字存储单元中。例如:POP AX;将栈顶字单元内容送到AX中出栈指令分两步进行:.(SP)寄存器/字单元.(SP)+2 SP内存SSSP后SP增地址方向XXXXAH ALXXXX微机原理及应用微机原理及应用3).交换指令指令格式:XCHG DEST,SRC功能:(DEST)(SEC),即将源地址的内容(源操作数)与目的地址的内容(目的操作数)相互交换.说明:1).标志寄存器内容不变.2).所交换的数据可以是字节或字.3).数据交换只能在通用寄存器之间或通用寄存器存储单元之间进行.AX BX CX DXSI DI BP SP