微机原理与接口技术课件(全)全书教学教程完整版电子教案最全幻灯片.pptx
微机原理与接口技术微型计算机系统概述微处理器内外部特性8086/8088指令系统汇编语言程序设计总线技术 存储器及其接口课程简介课程简介微机原理与接口技术输入/输出接口技术中断技术通用可编程接口微机的发展方向实验第一章 微型计算机系统概述第 1 章微型计算机发展概况微型计算机发展概况计算机中数的表示与编码计算机中数的表示与编码微型计算机系统微型计算机系统计算机中常用的名词术语计算机中常用的名词术语1.11.21.31.4微型计算机的主要性能指标微型计算机的主要性能指标1.5七微机原理与接口技术 1.第一台第一台电子子计算机算机1946年,美国宾西法尼亚大学ENIAC 组成成:18800个电子管;6万个电阻器;1万个电容器;6千个开关.重量:30吨;占地150平米;功率功率:150千瓦耗资45万美元 功能功能:5000次/秒加法运算1.11.1微型计算机发展概况微型计算机发展概况1946 第一台第一台电子数字子数字计算机算机ENIACENIAC2.微型微型计算机的由来:算机的由来:电子管晶体管集成电路中小规模集成电路大规模集成电路(微型微型计算机,算机,简称微机称微机1971年年)1.11.1微型计算机发展概况微型计算机发展概况1971 第一台微型第一台微型计算机算机 第一代4位和低档8位机Intel4004第二代中高档8位机8080/8085、Z80、MC6800第三代16位机Intel8086、Z8000、MC6800第四代32位机80386、80486第五代64位机IntelPentium(1971-1973)(1974-1978)(1978-1981)(1981-1992)(1993后)3.CPU的的 迅猛迅猛发展展1.11.1微型计算机发展概况微型计算机发展概况4.微型微型计算机的算机的发展展规律律:速度越来越快;容量越来越大;功能越来越强。5.发展方向:展方向:巨型化,微型化,网络化,智能化,多媒体化1.11.1微型计算机发展概况微型计算机发展概况天河一号天河一号:2010年我国自主研制的超超级计算机算机。峰值运算速度:4700万亿次/每秒“天河一号”运算1小时=13亿人同时计算340年以上;“天河一号”运算1天=1台双核电脑运算620年以上超级计算机1.11.1微型计算机发展概况微型计算机发展概况天河2号1.11.1微型计算机发展概况微型计算机发展概况6.微型微型计算机的分算机的分类1 1)单片机:片机:将微处理器、部分存储器、输入输出接口集成在一块集成电路芯片上,一一块芯片芯片就成了一台就成了一台计算机算机 2 2)单板机:板机:将计算机的各个部分都组装在一块印制电路板上,包括微处理器/存储器/输入输出接口,还有简单的七段发光二极管显示器、小键盘、插座等。功能比单片机强,适于进行生产过程的控制。可以直接在实验板上操作,适用于教学。3 3)PCPC机机(PersonalComputer):面向个人单独使用的一类微机,实现各种计算、数据处理及信息管理等。1.11.1微型计算机发展概况微型计算机发展概况 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 人们最常用的数是十进制数,计算机中采用的是二进制数;计算机中的数据(文字、图片、声音)都是采用二进制(0和1)形式存储和处理的;有的时候为了书写方便,往往将二进制数据采用八进制或十六进制表示.二二进制运算制运算规则:0+0=00+1=11+0=11+1=100+0=00+1=11+0=11+1=10(逢二(逢二进一)一)0-0=010-1=10-0=010-1=1(借位)(借位)1-0=11-1=01-0=11-1=01 1.2 2.1 1 计算机中常用的数制算机中常用的数制及及转换1.1.几种数制的表示几种数制的表示二二进制(制(BinaryBinary)后后缀BB 元素:元素:0 0,11例例1010.1011B1010.1011B八八进制(制(OctalOctal)后后缀O O,为防止与数字防止与数字0 0混淆常后混淆常后缀Q Q 元素:元素:0 0,1 1,2 2,3 3,4 4,5 5,6 6,77例例17.6Q17.6Q十十进制(制(DecimalDecimal)后后缀D D或省略或省略 元素:元素:0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,99例例4659.374659.37十六十六进制(制(HexadecimalHexadecimal)后后缀HH 元素:元素:0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9,A A,B B,C C,D D,E E,FF例例8D.AH8D.AH 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制算机中常用的数制及及转换2 2.进制制间的的转换(1)R进制数转换为十进制数方法:按位权进行展开相加即可。例:11101.101B=124+123+122+021+120+12-1+02-2+12-3=16+8+4+0+1+0.5+0.125=29.625127.04Q=87.06251DF.4H=479.25 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 2 2.进制制间的的转换(2)、十进制数转换为R进制数A、将整数部分和小数部分分别进行转换,然后再把转换结果进行相加。B、整数:除R取余,直到商为0:每一步余数,按逆序排列。C、小数:乘R取整直到小部分为0。将所取整数顺序放在小数点后。1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制算机中常用的数制及及转换例1-2将十进制数38分别转换成二进制、八进制、十六进制数38=100110B 38=46Q 38=26H 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制算机中常用的数制及及转换例1-3将0.6875转换成二进制、八进制、十六进制数0.6875=0.1011B0.6875=0.54Q0.6875=0.BH所以,所以,38.6875=100110.1011B 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制算机中常用的数制及及转换 2 2.进制制间的的转换(3)二进制、八进制数、十六进制数相互转换 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制算机中常用的数制及及转换1.2.21.2.2带符号数的表示带符号数的表示1.1.无符号数和无符号数和带符号数符号数无符号数:全部有效位均用来表示数的大小N100011010B表示无符号数26N210011010B表示无符号数154带符号数:最高位表示符号位(正数0,负数1)其余位为数值位。N300011010B表示无符号数+26N410011010B表示无符号数26 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 2.机器数与真机器数与真值 机器数:机器中数的表示形式,如原码、反码、补码。真值:机器数所代表的实际数值 例:8位机器数与真值对应关系:机器数:X1机=01010100BX2机=11010100B 真值:X1=+1010100B=+84X2=-1010100B=-841.2.21.2.2带符号数的表示带符号数的表示 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 n(1)原码 最高位为符号位,其余位为真值。例:+4原=00000100B-4原=10000100B0原=00000000B-0原=10000000B-0原特点:0的表示不唯一;8位机表示范围:-127-+127(即:11111111B01111111B)3.机器数机器数(码)正数的反码与其原码相同。负数反码符号位为1,其余位为原码按位取反。例:x=+4:x原=00000100B x反=00000100Bx=-4:x原=10000100Bx反=11111011Bx=+0:x原=00000000Bx反=00000000Bx=-0:x原=10000000Bx反=11111111B+0反x=+127:x原=01111111Bx反=01111111Bx=-127:x原=11111111Bx反=10000000B特点:0的表示不唯一;8位机表示范围:-127-+127(即10000000B01111111B)(2)反码:1.2.21.2.2带符号数的表示带符号数的表示 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 3.机器数机器数(码)n(3)补码:计算机常用算机常用码 正数的补码同原码,负数的补码为其反码(含符号位)+1。例:+4补=+4原=00000100B=04H -4补=-4反+1=11111011B+1B=11111100B=FCH +0补=+0原=00000000B=00H -0补=-0反+1=11111111B+1B=00000000B=00H=+0补 +127补=+127原=01111111B=7FH -127补=-127反+1=10000000B+1B=10000001B=81H -128补=10000000B=80H(对于8位机,-128没有原码和反码)特点:0的表示是唯一的 表示范围-128+127(1000 0000B0111 1111B)1.2.21.2.2带符号数的表示带符号数的表示 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 3.机器数机器数(码)1 1.2 2.33计算机中常用的算机中常用的编码1.BCDBCD码:二:二进制制编码的十的十进制数制数(BinaryCodeDecimal)压缩BCDBCD码:用4个二进制位表示一个十进制位 非非压缩BCDBCD码格式格式:用8个二进制位表示一个十进制位,其中高四位无意义,低四位和压缩BCD码相同。1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 例:十进制压缩BCD码非压缩BCD码1300010011000000010000001116220001011000100010000000010000011000000010000000101 1.2 2.33计算机中常用的算机中常用的编码2.ASCII码:美国标准信息交换标准码(AmericanStandardCodedforInformationInterchange)09+30H=ASCII码AF+37H=ASCII码AZASCII码+20H=azASCII码 1 1.22计算机中数据的表示和编码计算机中数据的表示和编码 1.1.微微处理器:也称理器:也称中央处理器(CPU)组成:成:运算器、控制器和寄存器。(1)运算器:计算机中加工和处理数据的功能部件。功能:1)对数据进行加工处理,主要包括算术和逻辑运算,如加、减、与、或运算等。2)暂时存放参与运算的数据和中间结果。(2)控制器:控制和指挥计算机内各功能部件协同动作,完成计算机程序功能。(3)寄存器:14个(将来学单片机也要学寄存器)AX、BX、CX、DX、BP、SP、SI、DICS、DS、ES、SSFR、IP 1 1.3微型计算机系统微型计算机系统 指令执行的基本过程:1.1.微微处理器:理器:指令指令执行行过程程:(1)找地址:寄存器IP中保存待执行指令存放的地址。(2)取指令:控制器将IP中的地址信息送至地址寄存器MAR,并发出读命令。从该地址取出一条指令,经过数据总线送入指令寄存器IR。(3)执行指令:译码器对IR中的指令进行译码,并由控制逻辑阵列向存储器、运算器等部件发出操作命令,执行指令操作码规定的操作。(4)修改IP的内容,重复以上操作 1 1.3微型计算机系统微型计算机系统 22.微型微型计算机(主机)算机(主机)AB外设包括:CPU存储器I/O接口总线 1 1.3微型计算机系统微型计算机系统(1)总线概念:传递信息的一组公共通道。系统总线分为:数据总线DB、控制总线CB、地址总线ABAB:决定能够访问的存储空间AB=16条:存储空间:216=64KB。AB=20条:存储空间:220=1MB。1K=1024B1M=1024KB1G=1024MBDB:决定一次能够输入/输出的数据位数 1 1.3微型计算机系统微型计算机系统 22.微型微型计算机(主机)算机(主机)(2)存存储器器 功能:存放程序和数据。功能:存放程序和数据。(3)I/O接口:CPU与外设的适配器功能:完成信号转换、数据缓冲、与CPU进行信号联络等工作。显示器卡:完成显示器与总线的连接。声卡:完成声音信号的输入/输出。网卡:完成网络数据的转换。调制解调器卡:模拟信号与数字信号相互转换。USB接口:通用串行接口。1 1.3微型计算机系统微型计算机系统 22.微型微型计算机(主机)算机(主机)1 1.3微型计算机系统微型计算机系统 3.微型微型计算机系算机系统微微处理器理器+?=微型微型计算机算机+?=微机系微机系统硬件硬件+?=微型微型计算机系算机系统1位B(Bit)计算机中信息的最小单位,只有两种状态:0和12字节DB(Byte)相邻的8个二进制位。3.字DW(Word)相邻的16位二进制位,即2个字节。4.双字DD(DoubleWord)、四字QW(QuadWord)、双四字(DQW)双字:32位;四字:64位;双四字:128位1.41.4计算机常用的名词术语计算机常用的名词术语1.字长:等于DB数CPU与存储器或输入/输出设备之间一次传送数据的位数。字长通常等于数据总线的位数和通用寄存器的位数。反映了一台反映了一台计算机的精度算机的精度2.主存容量:与AB数有关1)用字节表示。2)用单元数字长表示。3.主频1khz,1MHZ,1GHZ4.运算速度5.系统可靠性6.系统的兼容性7.性能价格比1.51.5微型计算机的主要性能指标微型计算机的主要性能指标1.微机微机发展概况展概况电子管晶体管集成电路大规模集成2.计算机中数的表示与算机中数的表示与编码(难点)点)原码、反码、补码、BCD码、ASCII码3.微型微型计算机系算机系统组成成微处理器(CPU)微机(主机)微机系统本章重点本章重点1-1、1-2、1-3、1-4、1-5作业作业第二章 微型计算机的微处理器第 2 章8086/80888086/8088的编程结构的编程结构寄存器结构寄存器结构80868086的引脚信号和工作模式的引脚信号和工作模式80868086系统配置系统配置2.12.22.32.480868086存储器组织存储器组织8086I/O8086I/O组织组织80868086的总线操作时序的总线操作时序2.52.62.7微机原理与接口技术 图2-1指令执行过程(串行交替)图2-2指令执行过程(流水线)2 2.18086/80888086/8088的的编程程结构构两部分两部分组成:成:执行部件行部件EU、总线接口部件接口部件BIU2 2.18086/80888086/8088的的编程程结构构MOVAX,3000HMOVAX,3000H1.1.总线接口部件接口部件BIUBIU(Bus Interface Unit)BIU 是CPU与外部的接口,完成所有外部总线的操作组成:(1)四个16位段地址寄存器 图2-3地址合成框图2 2.18086/80888086/8088的的编程程结构构(2)16位指令指针寄存器IP(PC)存放下一条要执行指令的地址(3)20位的地址加法器PA=CS*16+IP(4)指令队列8086有6字节8080有4字节(5)输入/输出控制逻辑2 2、执行部件行部件EUEUEU完成指令译码和执行组成:(1)算术逻辑单元ALU完成8/16位二进制算术/逻辑运算(2)标志寄存器FR存放指令执行结果的特征和处理器状态,如结果为0(零标志)、为负(符号标志)、有进位(进位标志)等。2 2.18086/80888086/8088的的编程程结构构(3)(3)寄存器寄存器组:通用寄存器通用寄存器AXAX、BXBX、CXCX、DXDX。专用寄存器用寄存器SPSP、BPBP、S SI I、DIDI(4)EU执行控制器从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据流向。3.8086/80883.8086/8088处理器的启理器的启动和程序和程序执行行过程程(1 1)CPUCPU的启的启动CS:FFFFHDS:0000HSS:0000HES:0000HIP:0000H指令队列空FR:0000H(禁止中断)8086/8088将从地址FFFF0H开始执行指令。2 2.18086/80888086/8088的的编程程结构构(2)程序程序执行行过程程1)BIU取出一条指令存入指令队列。2)EU从指令队列取指令并执行指令。同时,BIU利用总线空闲时间,取下一条指令。3)EU执行下一条指令。如果前面一条指令有写存储器的要求,则通知BIU把前一条指令结果写到存储器中;如果指令执行要求读取操作数,则由BIU完成。4)EU执行再下一条指令,执行上述操作过程。8086CPU共有14个16位的寄存器,分为如下4类2 2.22寄存器寄存器结构构1.1.通用寄存器组通用寄存器组AX(AH、AL):累加器BX(BH、BL):基址寄存器(可做间接寻址)CX(CH、CL):计数寄存器。DX(DH、DL):数据寄存器2 2.22寄存器寄存器结构构2.2.指指针和和变址寄存器址寄存器BP:基址指针寄存器。(可做间接寻址)(可做间接寻址)SP:堆栈指针寄存器。SI:源变址寄存器。(可做间接寻址)(可做间接寻址)DI:目的变址寄存器。(可做间接寻址)(可做间接寻址)2 2.22寄存器寄存器结构构与与SS联用用与与DS联用用3.3.段寄存器段寄存器为什么要分段?8086/8088CPU有20根地址线,可直接寻址220=1MB的存储器空间,即:其物其物 理地址是理地址是20位的位的而所有内部寄存器都是内部寄存器都是1616位的位的,只能直接寻址216=64KB,因此采用分段技术来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB。2 2.22寄存器寄存器结构构4.指令指指令指针寄存器寄存器IPIP用来存放将要执行的下一条指令在现行代码段中的偏移地址可以自可以自动+14个16位的段寄存器CS:代码段寄存器DS:数据段寄存器SS:堆栈段寄存器、ES:附加段寄存器2 2.22寄存器寄存器结构构5 5.标志寄存器志寄存器:16位寄存器,其中有9位有效位。运算运算结果果的最高位的最高位1-1-有有溢出溢出0-0-无无溢出溢出1-1-结果果为0 00-0-结果不果不为0 01-1-有有进/借位借位0-0-无无进/借位借位1-1-运算运算结果低果低8位有偶数个位有偶数个10-0-奇数个奇数个11-1-D3向向D4有有进/借位借位0-0-D3向向D4 4无无进/借位借位6个状个状态标志志:OF、SF、ZF、AF、PF、CF3个控制个控制标志:志:DF=1地址增IF=1中断允许TF=1单步中断例2-1分析下列运算对标志位的影响2 2.22寄存器寄存器结构构由于运算结果的最高位为1,则SF=1SF=1;运算结果本身不为0,则ZF=0ZF=0;结果的低8位中含4个1(偶数)则PF=1PF=1;最高位没有产生进位,则CF=0CF=0;运算过程中,第3位向第4位产生进位,则AF=1AF=1;由于次高位向最高位产生了进位,而最高位没有向前产生进位,说明发生了溢出,两正数相加,结果为负,则OF=1OF=1。2.3.12.3.1两种工作模式:两种工作模式:最小模式:系统中只有一片8086/8088CPU。MN/=1最大模式:CPU两片以上,一个为主CPU,另一个为协CPU。MN/=02 2.38086/808838086/8088微微处理器的引脚功能理器的引脚功能8086:AB=20,DB=168088:AB=20,DB=8(1)AD15-AD0:地址/数据复用引脚,双向,三态。传送地址送地址时输出,出,传送数据送数据时双向双向输入入/输出出。在总线周期T1状态,输出地址,在T2T4状态,传送数据。(2)A19/S6-A16/S3:地址/状态总线复用引脚输出,三态T1输出地址,T2-T4输出状态2.3.2 引脚信号和功能引脚信号和功能1.两种模式下功能相同的引脚2 2.38086/808838086/8088微微处理器的引脚功能理器的引脚功能(3)BHE/S7:高8位数据总线允许/状态复用引脚。T1:输出BHE信号,表示高8位数据线D15-D8上的数据有效。T2-T4:S7未定义(4)MN/MX:工作模式选择信号,输入。MN/MX=1,最小模式;MN/MX=0,在最大模式。只有8086有此引脚(5)READY:准备就绪信号,输入,高电平有效。(6)RESET:复位信号,输入,高电平有效。至少要保持4个时钟周期2.3.2 引脚信号和功能引脚信号和功能1.两种模式下功能相同的引脚2 2.38086/808838086/8088微微处理器的引脚功能理器的引脚功能(7)INTR:可屏蔽中断请求信号,输入,高电平有效。受IF影响(8)NMI:不可屏蔽中断请求信号,输入,上升沿有效。不受IF影响(9)TEST:测试信号,输入,低电平有效。执行WAIT指令时,若TEST为1,继续等待,直到TEST为0。(10)RD:读信号,三态输出,低电平有效。(11)CLK:主时钟信号,输入。(12)VCC(+5V),GND(地)(24)INTA:中断响应信号,输出,低电平有效。(25)ALE:地址锁存允许信号,输出,高电平有效。用来锁存地址信号A15-A0(26)DEN:数据允许信号,输出,低电平有效。(27)DT/R:数据发送/接收控制信号(28)IO/M:存储器或I/O端口控制信号2.3.2 引脚信号和功能引脚信号和功能2.最小模式下24-31引脚信号2 2.38086/808838086/8088微微处理器的引脚功能理器的引脚功能(29)WR:写信号,三态输出,低电平有效。(30)HOLD:总线请求信号,输入,高电平有效。当系统中CPU之外的另一个控制器要求使用总线时,通过它向CPU发一高电平的请求信号。(31)HLDA:总线请求响应信号,输出,高电平有效。表示CPU对其它控制器的总线请求作出响应,同时,所有与三总线相接的CPU的线脚呈现高阻抗状态,从而让出总线。8086CPU在最小模式下的基本配置2 2.448086系系统配置配置 除了CPU,存储器及I/O接口芯片外,还要加入:1片8284A,作为时钟发生器3片8282/8283或74LS373,作为地址锁存器2片8286/8287或74LS245,作为双向数据总线收发器总线2.58086存储器组织1、存储单元的地址和内容2、8086存储器的分体结构 3、存储器的分段管理4、物理地址的形成1 1.存储单元的地址和内容存储单元的地址和内容存储单元地址:每个存储单元有唯一的编号,即地址一个存一个存储单元存放一个字元存放一个字节(8位二位二进制数)。制数)。存储单元的读写:写:一个字需要占相个字需要占相继的二个的二个单元:低位字元:低位字节存存入低地址入低地址单元元(字地址),(字地址),高位字高位字节存入高地址存入高地址单元。元。读:从某个地址可以读出一个字节,也可以读出一个字2 2.58086存存储器器组织 问:从地址2002H读出一个字节是多少?从地址2002H读出一个字是多少?从地址2002H读出一个双字是多少?55H所在的字节地址是多少?4433H所在的字地址是多少?8086有20条地址线可寻址220=1MB=1024KB的存储器空间奇地址存储体:512KB,:与高8位数据总线相连,选体信号=0偶地址存储体:512KB,与低8位数据总线相连,选体信号A0=0存储器分体结构单元示意图2.80868086存储器的分体存储器的分体结构结构2 2.58086存存储器器组织 8086系统中存储器与总线的连接存放规则:1).一个字节8位:可以存在奇地址体,也可以在偶地址体,字节地址就是存储单元的实际地址。2).一个字(16位):数据占连续的二个单元,高字节存放高地址,低字节存放低地址高字节存放高地址,低字节存放低地址(一般是(一般是偶数地址)偶数地址),并将低字节的地址作为该字的字地址。3).8086CPU访问存储器规则是:一次读写一个字,且从偶地址开始。2.80868086存储器的分体存储器的分体结构结构2 2.58086存存储器器组织 3 3.8086存储器存储器的的分段分段管理管理:8086/8088有20条AB,寻址220=1M存储空间(00000HFFFFFH)。CPU中的寄存器是16位的,20位地址无法用16位寄存器表示,必须分段。1M的存储空间分成若干段,段与段之间可以重叠。但每个段的大小不能超过64KB;2 2.58086存存储器器组织 4.物理地址物理地址:唯一性唯一性物理地址PA=段基址16+偏移地址(EA)5.逻辑地址逻辑地址:不唯一性不唯一性逻辑地址LA=段基址:偏移量(EA)例:逻辑地址为2000H:3000H,则其物理地址PA=2000H*16+3000H=23000H思考题:逻辑地址LA为2100H:2000H所代表的物理地址?1.存储器映像编址(统一编址)存储器映像编址(统一编址)存储器与存储器与I/O口统一编地址口统一编地址 优点:所有适用于存储器的指令,同样适用于优点:所有适用于存储器的指令,同样适用于I/O。用地址大小来区分存用地址大小来区分存储器和储器和I/O口。口。缺点:缺点:I/O占用存储空间占用存储空间 2.独立编址独立编址 存储器与存储器与I/O口分别独立编地址,二者地址可重复,口分别独立编地址,二者地址可重复,用指令区分存储器和用指令区分存储器和I/O口。口。优点:优点:I/O不占用存储空间不占用存储空间 缺点:对存储器和缺点:对存储器和I/O采用不同的指令,编程不便采用不同的指令,编程不便2 2.6808668086的的I/O接口接口组织8086采用独立编址2.7.1基本概念 1.时序时序计算机工作时,严格的时间先后顺序称为时序。2.时钟周期时钟周期是CPU工作最小时间单位,每个时钟周期T又称一个T“状态”或T周期,计算机主频的倒数决定。2 2.780868086的的总线操作操作时序序3 3、总线周期(机器周期)、总线周期(机器周期)CPU对存储器或I/O口进行一次读/写操作的时间称为总线周期。1 1个总线周期至少包括个总线周期至少包括4 4个时钟周期:个时钟周期:T1,T2,T3,T4T1,T2,T3,T44 4、指令周期、指令周期执行一条指令所需要的时间称为指令周期。一般要1个以上的总线周期。其长短与指令有关1.典型总线周期时序读时序T1:AD线发送地址信息T2:AD线浮空,为传数据做准备T3:查看READY信号,若准备好,CPU采样AD线上存储器或I/O数据T4:AD线浮空,为下一次传送做准备若没准备好,T3T4之间插入TW,TW的操作同T32.2.7.2 基本基本时序分析序分析2 2.7 80868086的的总线操作操作时序序写时序(只有T2不同)T2:AD线CPU输出数据2.最小模式下存最小模式下存储器器读操作操作时序序T3:确:确认。上升沿检测READY信号为高则将数据送上总线;否则插入等待周期TW。TW W:等待。:等待。继续检测READY,同T3T4:传送完送完毕,准备下一次传送。T4的后半周期数据从总线上撤除,所有信号均无效。T2T2:准:准备传数据数据。A19-A16输出状态信息,AD15-0高阻,RD有效,DEN有效T T1 1:传地址地址。ALE,M/IO,BHE,DT/R,有效2.2.7.2 基本基本时序分析序分析2 2.7 80868086的的总线操作操作时序序 2、最小模式下存储器写周期与读周期的区别:n(1)DT/R为高电平。n(2)AD15AD0输出地址后,紧接着输出数据,T4上升沿浮空。n(3)T2-T3,WR有效。3.最小模式下存最小模式下存储器器写操作写操作时序序2.2.7.2 基本基本时序分析序分析2 2.7 80868086的的总线操作操作时序序1.编程结构:EU、BIU2.寄存器结构:重点14个16位:AX,BX,CX,DXCS,DS,ES,SSBP,SP,SI,DIIP,FR3.引脚:8086:地址线20条,数据线16条8088:地址线20条,数据线8条本章重点:本章重点:4.系统配置:CPU,1片8284、3片8282地址锁存器、2片8286数据收发器5.存储器(难点)分体结构:奇地址体、偶地址体分段管理:物理地址、逻辑地址6.时序(难点)时钟周期、总线周期、T1传地址,T2-4传数据2-1、2-4、2-5(已完成)2-11、2-15、2-18、2-21、2-25第第2章章作作业第三章 8088/8086的指令系统第 3 章指令的基本格式指令的基本格式8086/80888086/8088的寻址方式的寻址方式8086/80888086/8088指令系统指令系统3.13.23.3微机原理与接口技术3.1 指令的基本格式1.操作操作码:表示计算机要执行的操作类型如:MOV数据传送IN数据输入2.操作数:操作数:指令执行所需的数1)大部分指令有大部分指令有2个操作数个操作数:目的操作数和源操作数如:MOVAL,45H;逗号前面的AL是目的操作数,后面45H是源操作数2)少数指令只有一个操作数少数指令只有一个操作数,可能是源操作数,也可能是目的操作数如:INCBX;BX既是源操作数,又是目的操作数PUSHAX;AX是源操作数POPAX;AX是目的操作数 3)少数指令没有操作数少数指令没有操作数如:DAA;加法的十进制调整指令,操作数隐含在AL中汇编指令由两部分指令由两部分组成:操作成:操作码操作数操作数寻找操作数来源的方式,称为寻址方式,共6种。操作数的可能来源只有三个:(1)直接包含在指令中;立即寻址(2)CPU的寄存器中;寄存器寻址(3)存储器中。;4种寻址方式,具体是哪种方式,就看怎样表达存储器单元的地址操作数来源不同,即寻址方式不同。3.1 指令的基本格式3.1 指令的基本格式3.1 指令的基本格式3.28086/80888086/8088的的寻址方式址方式1、立即、立即寻址址 例:MOV AL,34H MOV AX,3000H 特点:操作数是立即数,直接放在指令中 注意:立即数只能做源操作数3.2 8086/80888086/8088的的寻址方式址方式2、寄存器、寄存器寻址址 例:MOV AL,BL;MOV DS,AX;特点:操作数包含在寄存器中 注意:寄存器位数要一致 MOV AL,BX;MOV AX,BL;这两种两种寻址方式,数据都来源于址方式,数据都来源于CPU内部,内部,无无须访问总线,所以,所以执行速度相行速度相对快。快。3.1 指令的基本格式3.1 指令的基本格式3.1 指令的基本格式3.28086/80888086/8088的的寻址方式址方式后面4种寻址方式,操作数都来源于存储器。表3-1存储单元的表示方法。不同的表示方法,表示不同的寻址方式。3.2 8086/80888086/8088的的寻址方式址方式3 3.直接直接寻址址例:MOVAX,2000H特点:操作数的偏移地址偏移地址2000H直接在指令中物理地址物理地址PA的的计算:算:默认PADSDS16+偏移地址例如:MOVAL,2000H;此时,PADS16+2000H若有超越,则PA超越到的段寄存器16+偏移地址例如:MOVAX,ES:4000H;此时,PAES16+4000H执行结果:AX=1234H3.2 8086/80888086/8088的的寻址方式址方式4 4.寄存器寄存器间接接寻址址例:MOVBX,SI注意:1)可间接寻址的寄存器只有四个:BXBX、BPBP、SISI、DIDI。其中存放操作数所在的偏移地址2)以)以SISI/DIDI/BXBX间接接寻址址时,默默认DSDS段段3)以以BPBP间接接寻址址时,默默认SSSS段段PA=SS16+BP4)允许段超越MOVBX,SIDS=1000H,SI=3000H结果:BX=2345HMOVBX,SS:SI3.2 8086/80888086/8088的的寻址方式址方式5 5.变址址寻址址寄存器间接寻址的基础上加一个8/16位的偏移量,注意事项同上例:MOVBX,SI+4000H设:DS=3000H,SI=2000H,位移量为4000H,(36000H)=5678H则:PA=DS16+SI+COUNT=30000H+2000H+4000H=36000H执行结果为BX=5678H。3.2 8086/80888086/8088的的寻址方式址方式.基址加基址加变址址寻址址例:MOVAX,BX+SI16位偏移量;红色部分加不加都可以 有的教材会把加红色部分称作相对基址变址寻址 注意:BXBP不能共存,SIDI不能共存 若用BX:默认操作数在数据段DS中 若用BP:默认操作数在堆栈段SS中上例中:DS=3000H,BX=2000H,SI=5000H则:PA=DS16+BX+SI=37000H指令执行后,AX=5577H该指令还可写成:MOVAX,BXSIMOVAX,BX+DI+偏移量寻址方式小结(看源操作数,不用看目的操作数):立即寻址:MOVAX,3000H寄存器寻址:MOVAX,BX直接寻址:MOVAX,3000H寄存器间接寻址:MOVAX,BX变址寻址:MOVAX,BX+800H基址加变址寻址:MOVAX,【BX+SI+900H】Intel 8086/8088指令系统共有133条基本指令,可分成6个功能组:数据传送类指令 算术运算类指令 逻辑运算类指令 串操作类指令 控制转移类指令 处理器控制类指令3.38088/808638088/8086的指令系的指令系统六种格式:通用寄存器之间传送(r/r),MOVBL,ALMOVDI,AX通用寄存器和段寄存器之间传送(r/SEG),MOVDS,AXMOVAX,ES通用寄存器和存储单元之间传送(r/M),MOVAL,2000HMOVDI,AX段寄存器和存储单元之间传送(seg/M),MOVDS,2000HMOVBXSI,SS;立即数到通用寄存器(rImm),MOVBX,2000H;立即数到存储单元(MImm),MOV4000H,30H;3.33.1 数据数据传送指令送指令基本格式:基本格式:MOV dst,src;将源操作数src传送到目的操作数dst;后面是注释,不参与编译;功能相当于复制相当于复制src,粘,粘贴到到dst,即src不变,dst被覆盖.位数一致MOVAL,2000H;MOVAL,BX;MOVAX,BL;.不允许存储单元间传送数据MOV2000H,3000H;MOVDI,SI;.不能用CS和IP作目的操作数MOVCS,3000H;MOVIP,2000H;3.33.1 数据数据传送指令送指令1 1通用数据通用数据传送指令送指令(1 1)MOVMOV传送指令送指令2)注意事项段寄存器之间不能直接传送数据。MOVSS,DS;立即数不能作目的操作数。MOV2000H,AX;MOV34H,AL;不能向段寄存器送立即数MOVDS,4000H;应改为:MOVAX,4000H;MOVDS,AX(2 2)堆)堆栈指令指令 入栈:PUSHPUSHsrc;SP-2后,将src压入堆栈出栈:OPOPdst;当前栈顶2个数据弹出到dst,后SP+2堆堆栈:用SS:SP管理,其地址表示当前栈顶单元地址SP总是指向栈顶SP初值决定了栈的深度,栈深度深度 64kB64kB。原原则:操作数必须是16位寄存器位寄存器/存存储器器 PUSH AX ;PUSHAL;PUSH2345H;不可以是立即数后进先出(LIFO)例:PUSHAXPUSHBX.POPBXPOPAX3.33.1 数据数据传送指令送指令(3 3)交)交换指令指令格式:XCHGXCHGdst,src;dst与src内容互换是唯