微型计算机及接口技术自考练习.ppt

上传人:xin****828 文档编号:15517122 上传时间:2020-08-15 格式:PPT 页数:198 大小:8.60MB
收藏 版权申诉 举报 下载
微型计算机及接口技术自考练习.ppt_第1页
第1页 / 共198页
微型计算机及接口技术自考练习.ppt_第2页
第2页 / 共198页
微型计算机及接口技术自考练习.ppt_第3页
第3页 / 共198页
资源描述:

《微型计算机及接口技术自考练习.ppt》由会员分享,可在线阅读,更多相关《微型计算机及接口技术自考练习.ppt(198页珍藏版)》请在装配图网上搜索。

1、献给为这门课努力攻关的所有自考学生,微机原理与接口技术自考练习,冯诺依曼计算机的结构与原理,中央处理器,输入设备,存储器,输出设备,运算器和控制器,(1) 计算机的工作由程序控制,程序是一个指令序列,指令是能被计算机理解和执行的操作命令; (2) 程序(指令)和数据均以二进制编码表示,均存放在存储器中; (3) 存储器中存放的指令和数据按地址进行存取 ; (4) 指令是由CPU一条一条顺序执行的。,计算机系统,硬件,主机,微处理器(CPU),运算器,控制器,外存储器硬盘、软盘、光盘,外部设备,输入设备键盘、鼠标、光笔、扫描仪,输出设备显示器、打印机、绘图仪,软件,系统软件,操作系统,语言编译系

2、统,数据库管理系统,应用软件,文字处理软件,图形软件,辅助设计软件,计算机系统组成框图,寄存器组,输入输出接口,微型计算机,单片机(可没有ROM),单板机,台式PC的物理组成,主板,机箱、电源,CPU,内存条,输入设备,输出设备,外存储器,I/O接口,台式PC机(立式)的主机箱,主板,主板作用: _ ROM BIOS作用:_ CMOS作用: _ _,安装所有的电子器件、电路与接口,存放基本输入/输出系统(BIOS),存放硬件配置信息和系统的基本参数(日期、时间、口令等),华硕P5Q主板,CPU插座,内存条插座,IDE (ATA) 硬盘光驱连接器,PCI插槽,芯片组,各种I/O插口,显卡插槽,P

3、CI-E插槽,芯片组的作用,是PC机各组成部分相互连接和通信的枢纽,控制器,寄存器组,运算器,CPU的性能,计算机的性能主要表现为程序执行速度的快慢,由许多因素决定,例如CPU、内存、硬盘、显卡等,但通常CPU是主要因素,CPU的性能高低主要表现为CPU的速度。,字长(位数):指通用寄存器和定点运算器的宽度; 指令系统:指令的类型、数目和功能等影响程序执行速度; 逻辑结构:CPU包含的定点运算器和浮点运算器的数目、采用的流水线结构和级数、指令分支预测的机制、执行部件的数目等内核数目; 高速缓存(cache):其的容量与结构影响速度; 主频(CPU内部时钟频率):它决定着CPU芯片内部数据传输与

4、操作速度的快慢; 总线:决定着CPU与内存之间传输数据速度快慢。,提高CPU性能的3大措施,提高主频,增加逻辑复杂度,增加内核数目,处理器性能与其逻辑复杂性的平方根成正比,若逻辑复杂性提高1倍,至多能提高40%的性能,采用2个处理器构成一个双核处理器,可以提高70%80%的性能,电路与封装技术的进步,能把多个处理器做在单个芯片上,1._; 2 ._ ;3. _。,改进CPU结构,提高主频,增加CPU(核)的数目,1. ”线程“排队等候进入CPU处理,并行处理,(包含3个内核),为什么“多核”可提高计算机性能,提高CPU性能的具体措施,扩展CPU的字长:32位 64位 扩充CPU指令系统:SSE

5、指令 提高CPU主频:目前已达4GHz; 加快CPU前端总线的数据传输速率; 增大cache存储器容量、增加cache的级数; 改进CPU内部的逻辑结构; 超标量结构(多个执行部件) ; 指令流水线执行技术;超线程技术; 采用多内核结构;,高速缓存(cache),0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,8,9,14,3,4,4,4,10,10,10,主存中的部分信息拷贝在cache存储器中,cache,主存储器,CPU,CPU芯片,随着计算机的发展。存储器与CPU速度差距愈来愈大, 从内存中存取数时,CPU往往需要等待,于是出现了cache。它是一种小容量高

6、速缓冲存储器,它由SRAM组成,直接制作在CPU芯片内,速度几乎与CPU一样快。当CPU需要从内存读(写)数据或指令时,先检查cache中有没有,若有,就直接从cache中读取,而不用访问主存储器。,总线BUS,总线的定义: 用于在CPU、内存、外存和各种输入输出设备之间传输信息的一个共享的信息传输通路及其控制部件。 总线的性能: 数据通路宽度;总线工作频率;每秒传输次数 总线最高传输速率 (数据通路宽度/8) x 总线工作频率 x 传输次数,总线分类,数据总线:传输数据信息(双向,取决于CPU字长) 地址总线:传输地址信息(单向,决定内存空间) 控制总线:传输控制信息(双向,取决于CPU字长

7、) 内总线:计算机内部各芯片之间互连,即片总线,没统一标准。 系统总线:各插件板之间互连,有通用标准。 外部总线:微机与外部设备的连接,也称I/O总线,有通用标准。, ISA(Industry Standard Architecture) PCI(Peripheral Component Interconnect) PCI-Express AGP(Accelerated Graphics Port),系统总线,称为“工业标准体系结构”,是针对Intel8088微处理器设计的,16位,数据传输率最高可达8MB/s。现在基本不用。,称外部设备互联总线。数据传送宽度为32位,可以扩展到64位,数据传

8、输率可达133MB/s。,2000年Intel提出了替代PCI总线的新总线技术。它可工作于各种不同的物理媒介上,从通用的铜线连接到光纤连接。,加速图形接口, Intel公司配合Pentium处理器开发的总线标准,数据传输率可以达到533MB/秒以上。,PCI-E的优点,PCI-E即“PCI-Express” 1.传输速率高: x1速率可达250MB/s, x16速率可达5GB/s(2.0版速率提高为2倍,3.0版为4倍) 2.适应性好:包括x1、x4、x8 及x16,,外部总线, USB(Universal Serial Bus)通用串行总线接口是为解决PC与周边设备的通用连接而设计的,使所有

9、的低速设备,都可以连接到统一的USB接口上。允许“热插拔”,实现安装自动化。 IEEE 1394是一种工业标准的高速串行总线,由苹果公司率先创立,又称Firewire即火线。它的特点是传输速度快,现在确定为400MB/s,以后可望提高到800MB/s、1.6GB/s、3.2GB/s。所以传送数字图像信号也不会有问题。 SCSI(Small Computer System Interface,小型计算机系统接口) 可与各种采用SCSI接口标准的外部设备相连,如硬盘驱动器、扫描仪、光盘、打印机和磁带驱动器等。但它价格相对于IDE来说也十分昂贵,因此在普通家用电脑上不常用,一般应用于高端工作站或者服

10、务器领域。,2020/8/15,有专门的设备名COM1 和 COM2。 是电子工业协会(EIA) 所制定的异步传输标准接口 RS-232(外部总线) 。在TxD和RxD上:逻辑1(MARK)=-3V-15V 逻辑0(SPACE)=+315V。与TTL逻辑电平不一样,可用TTL/EIA电平转换器进行,如MC1488,MC1489IC。插座分为9针或25针两种,目前最普遍的用途是连接鼠标和调制解调器。,串行接口,并行接口,常被称为打印口或并行打印机适配器,被赋予专门的设备名LPT,为区别同一台计算机上的多个并行端口,依次称为LPT1、LPT2等。并行接口可同时传输8路信号,因此能够一次并行传递完整

11、的一个字节的数据。,I/O设备接口,显示器 接口,麦克风 音 箱,键盘接口,并行口,USB 接口,以太网 双绞线接口,串行口,鼠标器 接口,(安装在主板上的I/O设备接口),I/O接口: I/O设备与主机之间的连接器 包括:插头/插座的形式、通讯规程和电器特性等,常用的I/O接口及其性能参数,USB接口,通用串行总线式接口(Universal Serial Bus ) 高速、可连接多个设备、串行传输 传输速率: USB的1.1版:1.5 Mb/s和12 Mb/s USB2.0版:最高达 480Mb/s(60MB/s) USB3.0版:最高达 3.2Gbps(400MB/s) USB2.0使用4

12、线连接器,体积小,符合即插即用规范(Plug / + - * % START:MOV AX,DATA ; MOV DS,AX ; MOV ES,AX ; ; MOV AH,4CH ; INT 21H CODE ENDS END START,定义数据段,数据定义伪指令序列,定义堆栈段,数据定义伪指令序列,定义代码段,说明源程序中定义的段由哪个段寄存器寻址,取数据段基址,建立数据段的可寻址性,建立附加数据段的可寻址性,核心程序段:指令序列,返回操作系统,段定义语句格式,段名 SEGMENT 定位类型,组合类型,字长选择,类别 (段体) 段名 ENDS,定位类型:指段起始地址,有四种:,组合类型:告

13、知LINK程序本段与其它段的组合连接关系。若缺省,表示该段为独立段。 5种类型:, PUBLIC:该段连接时将与其它同名段连接成一连续段 STACK:将多个同名堆栈段连接成一连续段,SP设置在第一个堆栈段的开始 COMMON:该段在连接时与其它同名段有相同的起始地址,所以会产生覆盖 MEMORY 本段在同名段的最高地址处 AT 表达式 :段起始地址由表达式算出,字长选择:定义段中使用的偏移地址和寄存器的字长,类别:同类别的段在连接时按先后顺序连接起来。,USE16:16位寻址方式,最大段长度为64KB; USE32:32位寻址方式,最大段长度为4GB。,典型段类别有:DADTSTACKCODE

14、,2、等号语句 = 该语句功能与EQU相同, 只是它可以重新定义。,符号定义,1、等值语句 EQU EQU语句不能重新定义,必须先定义,后使用。,例如: X EQU 50 Y EQU X+10 COUNT EQU BP+2 NUM EQU CX,例如: PORT1=30H PORT1=PORT1+20H PORT1=648,数据定义伪指令,格式:符号名 DB/DW/DD/DF/DQ/DT 数据项序列 功能:为数据项分配一个字节/字/双字/长字/四字/十字节的存储空间,可以赋初值,也可以用一个符号名与之联系。,VAR1 DB ? ; STR DB ABCDE ; NUM DT 123H ; AR

15、RAY DW 20 DUP(1) ; BUFF DB 6 DUP(?) ; COUNT DB 20,30,40 ;,给出解释,给VAR1分配一字节,不赋初值,给NUM分配十字节,赋初值123H,给字符串STR分配五字节,赋值,给ARRAY分配20个字,初值为1,相当于 DB ?,?,?,?,?,?,给COUNT分配三字节,赋初值,数据定义伪指令,存储器 低端,00H,写出数据定义程序 DATA SEGMENT D1 D2 D3 D4 D5 DATA ENDS,DB 10,10H,DW 100H,-5,DD 320, 0FFFDH,DB A ,B,D5 DD AB,标号定义伪指令,格式:符号名

16、LABEL 类型 功能:为标号、指令单元、过程或变量建立新的符号名,建立另一种类型属性。 标号意义:它指定了机器指令的起始地址,可以作为转移指令如JMP、JZ、JNA等的转移目标,对标号、指令单元或过程,其类型有: NEAR(可缺省): FAR:,对变量,其类型有: BYTE/WORD/DWORD/FWORD/QWORD/TBYTE。,字节,字,双字,长字,四字,十字节,32-bit,段内调用,段间调用,指定地址伪指令,格式:ORG 偏移地址 ORG $偏移地址 注:以给定的偏移地址或由$给出的当前地址加上指定的偏移地址作为当前开始分配和使用的偏移地址。 符号$当前位置计数器,从0F0H开始安

17、排数据,跳过10H个字节安排数据,(100H)=1,(102H)=106H,ORG 0F0H ; ORG $+10H ; DW 1,$+4 ;,题:解释下列伪指令,过程和宏命令定义伪指令,过程名 PROC NEAR / FAR RET 过程名 ENDP,过程允许嵌套,嵌套深度(层数)只受堆栈的限制。,宏体是指令和伪指令序列,它决定宏的功能,宏也允许嵌套; 宏与过程相似,也可由其它程序用宏名直接调用。,过程可由其它程序用CALL指令调用,执行完后用RET指令返回调用程序。,过程定义伪指令格式:,宏定义伪指令格式:,宏名 MACRO 形式参数表 ENDM,宏操作可以通过形式参数直接传递数据而过程不

18、能。编程较后者容易。 汇编时,宏调用几次,就加入几段。而过程只在汇编时产生一次目标代码。所以宏占用存储空间多。宏执行速度稍快。宏适合于代码较短,过程适合于调用频繁情况。,定义一个带3个形参的宏,SUM=AD1+AD2,宏调用,用实际参数BX、 24、DX取代对应的形参,练习题:解释下列宏 CODE SEGMENT ADDUP MACRO AD1,AD2,SUM ; MOV AX,AD1 ; ADD AX,AD2 MOV SUM,AX ENDM ADDUP BX,24,DX ; ,MOV 传送指令,格式: MOV reg,reg/mem XCHG 交换指令,格式: XCHG reg,reg/me

19、m XLAT 换码指令,格式: XLAT ;alds:bx+al LEA(load effective address) 地址传送指令 LDS(load pointer into DS) LES (load pointer into ES) 格式:LEA/ LDS /LES r16,mem ; PUSH 进栈指令,格式: PUSH r16/m16/seg; SPSP-2 POP 出栈指令,格式: POP r16/m16/seg; SPSP2 PUSHF 标志进栈指令,格式: PUSHF ;SS:SPFLAGS POPF 标志出栈指令,格式: POPF ;FLAGSSS:SP,数据传送指令,MO

20、V BX,OFFSET DATA LEA BX,DATA,等价于,不能内存数据传送或交换,mem的有效地址EA传送到16位寄存器,指8086CPU寻找指令和操作数存放的位置的方式。,寻址方式,操作数 寻址方式,指令的 寻址方式,直接寻址,间接寻址,立即数寻址,寄存器寻址,寄存器间接寻址,相对寄存器寻址,基址-变址寻址,相对基址变址寻址,段内寻址,段间寻址,寻址方式,基址寄存器数据段BX 、堆栈段BP ; 变址寄存器SI、DI。,物理地址(EA)=段地址16+有效地址(EA),MOV AX, 2000H; MOV AX,3000H; MOV DS,AX; MOV AX, SI ; MOV AX,

21、BP; MOV AL,BH; MOV AX,ES:2000H; MOV AX,DS:BP; MOV AX,COUNTSI; MOV AX,BXSI ; MOV AX,BX+SI;,立即数寻址,寄存器寻址,寄存器间接寻址(DS) 16+(SI),寄存器寻址,寄存器间接寻址(DS) 16+( BP ),相对寄存器寻址(DS)16+(SI)+COUNT,基址-变址寻址(DS)16+ (BX)+ (SI),同上,寄存器间接寻址(SS)16+(BP),直接寻址(DS)16+2000H,直接寻址(ES)16+2000H,mov ax,1234h ; mov bx,5678h ; xchg ax,bx ;

22、xchg ah,al ; mov bx,100h mov al,03h xlat ; mov bx,0400h mov si,3ch lea bx,bx+si+0f62h; mov word ptr 3060h,0100h mov word ptr 3062h,1450h les di,3060h; lds si,3060h;,题:给出每条指令的结果,BX0400h003ch0f62h139EH,es=1450h,di=0100h,ds=1450h,si=0100h,ax=1234h,bx=5678h,ax=5678h,bx=1234h,ax=7856h,al ds:103H,修改CS、IP的

23、指令,mov指令可以修改除CS、IP和标志寄存器以外的寄存器的值。修改除CS、IP的值用主要用jmp转移指令。,段内转移 只改IP jmp 标号,无条件转移 条件转移 循环指令 调用指令 中断,转移指令分类,段间转移: 同时改CS和IP,JE=JZ,JS,JB,JA,JG,JL,JCXZ 0 负 低于 高于 大于 小于 CX=0,格式:LOOP 标号 当CX0 ,IP=标号IP,每次循环CX-1。,直接转移jmp far ptr 标号 间接转移jmp dword ptr ,格式: CALL 子程序名,返回指令 ret,短转移jmp short ptr 标号 (IP)=(IP)+8位偏移量,近转

24、移 jmp near ptr 标号 (IP)=(IP)+16位偏移量,格式: INT 中断号,返回指令 ret,jmp 2AE3:3 ; jmp ax ; JMP CX ; JMP WORD PTR BX; JMP DWORD PTR BX ;,(CS)=2AE3H,(IP)=3,(IP)=(ax),题:写出下列语句修改的值。,(IP)=(CX),(IP)=(BX),(CS)= BX+2 ,(IP)= BX,BX内存单元中的双字的低字修改IP,高字修改CS的值。,题: TABLE = 20A2H ,(BX) = 1256H,(SI) = 528EH, (DS) = 2000H, (232F8H

25、) = 3280H , (264E4H) = 2450H,写出下列语句修改的值。 JMP BX ; JMP TABLEBX ; JMP WORD PTR TABLEBX ; JMP BXSI; JMP WORD PTR BXSI ;,(IP)=1256H,(IP)=3280H,(IP)=2450H,(IP)=3280H,(IP)=2450H,code1 segment jmp far ptr next code1 ends,code2 segment next: . code2 ends,段间转移示意图:,题:用DEBUG查看内存,结果如下: 2000:1000 BE 00 06 00 00

26、00 . 则此时,CPU执行指令: mov ax,2000h mov es,ax jmp dword ptr es:1000h 后, (CS)= ? (IP)= ?,06 00 00 00,BE 00,堆栈操作,进栈PUSH一次,指针SP-2;出栈POP一次,指针SP+2;,任意时刻,SS:SP指向栈顶元素,运算符,算术运算:+,-,*,/,MOD, SHL, SHL 逻辑运算:AND,OR,NOT,XOR 关系运算:EQ,NE,LT,GT,LE,GE 取值运算和属性运算:OFFSET , SEG, TYPE, LENGTH, SIZE,PTR ,THIS 其它运算:(), ,算术运算符,ad

27、dadcsubsbbincdeccmpmulimuldividivaaa,算术运算指令:,加后转换为非组合BCD,有符号乘,有符号除,比较,+1,-1,带借位减,带进位减,乘法,除法,减法,加法,MOV AX , 7896H; ADD AL , AH;,(AH)=78H,(AL)=96H,(AL)=0EH,(OPRD1) (OPRD1) + (OPRD2),(DX)=0002H, (AX)=0F365H, (BX)=0005H,(CX)=0F024H 指令序列为 ADD AX,CX; ADC DX,BX;,(AX)=0D389H,SF=1, CF=1,OF=0,(DX)=0008H,SF=0,

28、 CF=0,OF=0,题1:,题2:,(OPRD1) (OPRD1)+(OPRD2)+CF,题3:,cmp ax,ax;,结果不在ax中保存,仅影响flag的相关各位。,ZF=1,PF=1,SF=0,CF=0,OF=0,题4:,mov ax,8 mov bx,3 cmp ax,bx;,(ax)=8,ZF=0,PF=1,SF=0,CF=0,OF=0。,最低位,最高位,CF,0,(a)算术/逻辑左移 SAL/SHL,最低位,最高位,CF,(b)算术右移 SAR,最低位,最高位,CF,(c)逻辑右移 SHR,0,非循环移位指令,移位指令格式:,SAL mem/reg,n/CL,移位操作代替乘除法可提

29、高运算速度,算术移位:把操作数看做有符号数; 逻辑移位:把操作数看做无符号数。,符号位不变,移位操作影响C,P,S,Z,O标志,当没有溢出时, 左移1位 右移1位,操作数2,操作数/2,最低位,最高位,CF,(a) ROL,最低位,最高位,CF,(c) RCL,最低位,最高位,CF,(b) ROR,最低位,最高位,CF,(d) RCR,循环移位指令,mov al,75h; and al,32h; or al,71h; xor al,0f1h; not al ;,题:写出每个指令的结果,AL75H,AL30H,AL71H,AL80H,AL7FH,TEST操作与AND指令类似,但不将”与”的结果送

30、回,只影响标志位。 如TEST AL,80H ;,双操作数逻辑指令AND、OR、XOR和TEST置CFOF0,根据结果设置SF、ZF和PF状态,而对AF未定义。 单操作数逻辑指令NOT不影响标志位。,所有位置反,将某位置0,将某位置1,置反某位,检查AL中D7=1?,逻辑运算符,题:给出每条指令结果,mov dx,6075h;DX01100000 01110101B shl dx,1; ; sar dx,1; ; shr dx,1; ; mov cl,4; sar dx,cl; ;,DX11000000 11101010B,CF0,SF1、ZF0、PF0,DX11100000 01110101

31、B,CF0,SF1、ZF0、PF0,DX01110000 00111010B,CF1,SF0、ZF0、PF1,CL4,标志不变,DX00000111 00000011B,CF1,SF0、ZF0、PF1,关系运算符,注:SIZE=LENGTHTYPE,取值运算符,属性运算符,movsbmovswcmpsbcmpswrep 格式:REP/REPZ/REPNZ 串操作指令 每执行一次CX-1,CX=0时停。 串操作中由DF决定串传送的方向,当DF=0时 为正方向(由低地址向高地址);当DF=1是为负 方向(由高地址向低地址)。 串操作中,源串地址默认在DS:SI中,目的串地址默认在ES:DI中。,串

32、处理指令,方向标志DF 置0 _ 置1 _ 中断标志IF 置0 _ 置1 _ 近位标志CF 置0 _ 置1 _ 取反 _ 空操作指令 _ 暂停机指令 _ 等待指令 _,控制指令,CLD,STD,CLI,STI,CLC,STC,CMC,NOP,HLT,WAIT,输入输出指令,8086用于寻址外设端口(Port)的地址线为16条,端口最多为21665536(64K)个,端口号为0000HFFFFH 每个端口用于传送一个字节的外设数据 直接寻址只用于寻址00HFFH前256个端口间接寻址可用于寻址全部64K个端口,DX寄存器的值就是端口号,大于FFH的端口只能采用间接寻址方式,端口输入IN 直接寻址

33、格式:,端口输出OUT 直接寻址格式:,间接寻址格式:,间接寻址格式:,MOV DX,PORT OUT DX , AL/AX,OUT PORT, AL/AX,MOV DX,PORT IN AL/AX, DX,IN AL/AX, PORT,DOS 功能调用,DOS 功能包含了设备管理、目录管理、文件管理等多个子功能的功能包,用软中断指令调用,中断类型码固定为21H,各子功能采用功能号来区分。,调用格式: MOV AH,功能号 INT 21H,常用功能号:1, 2, 5, 9, 10, 4CH,键入字符AL中,屏幕显示DL中字符,打印DL中字符,屏幕显示DS:DX地址开始的字符串,结束符。,字符串

34、键入开始地址DS:DX。,程序结束,返回操作系统,执行以下程序: MOVAH,02 MOVDL,41H INT21H 运行结果:,屏幕显示A,题1,题2,题3,DAT1 DB 20 DUP(?) LEA DX,DAT1 MOV AH,0AH INT 21H 运行结果:,输入少于20个字的字符串,DATA SEGMENT MESS1 DB Input String: 0DH,0AH,$ DATA ENDS CODE SEGMENT MOVAH,09 MOVDX,OFFSET MESS1 INT21H,屏幕显示 Input String:,换行,回车,运行结果:,注:优先级相同的运算符操作顺序为先

35、左后右。,运算符的优先级表,微机接口,接口(Interface) 端口 接口的功能 :数据暂存(缓冲、锁存与驱动)、信号联络、地址译码和端口读写、数据转换和中断管理。,CPU与外设之间起连接作用的电路。,接口电路内的寄存器,端口的分类,控制口-存放控制信息-由CPU写入,端口编址方式,独立编址。使用IN/OUT指令对端口进行读/写,与存储器统一编址。与存储器一样读/写,数据口-存放数据信息,状态口-存放状态信息-由CPU读出,DMA批量存取,CPU与I/O,程序查询,主机与外设的信息交换方式,外设与内存,程序控制,无条件传送,一般外设需要查询其状态是否就绪后,才数据传送.外设未准备好时CPU反

36、复查询等待,浪费CPU资源,外设简单如开关LED显示器,不需要查询外设的状态,外设具有申请CPU服务的主动权,当设备准备好时,就可以向CPU提出中断请求,使CPU暂时停下目前的工作而和外设进行一次数据传输,完成后CPU继续原来的工作。,DMA请求的优先权比中断请求高即CPU优先响应DMA请求。,无条件传送方式,优点:简单;缺点:数据交换双方配合能力差、可靠性低。,输出指令序列: Mov dx , port1 ; Mov al , data Out dx ,al,输入指令序列: Mov dx , port2 ; In al , dx ;,外设接口提供状态,CPU通过端口读取状态;准备好,数据输入

37、给CPU;未,再查。,查询输入方式,mov dx , PORT2;读入状态 next:In al ,dx test al ,1;判READY=1? jz next ; READY=0,等待 mov dx , PORT1; In al , dx ; READY=1,输入数据,查询程序,外设接口提供状态,CPU通过端口读取状态;不忙,CPU输出数据给外设;忙,再查。,查询输出方式,C P U,输出型外设如打印机,PORT2,PORT1,mov dx , PORT2;读入状态 next:In al ,dx test al ,1;判BUSY=1? jnz next ; BUSY=1,忙,等待 mov

38、dx , PORT1; In al , dx ; BUSY=0,输出数据,查询程序,输出 锁存,DB,中断方式,查询方式是CPU主动,于是CPU忙;若外设主动,一旦准备好就向CPU发请求,这样就可以节约CPU资源。平时CPU执行正常的程序,接到外设请求,就中断当前的操作,转向执行为外设服务的子程序-中断服务子程序,结束后又回到断点处继续运行原来的程序。,现场保护 CS、IP及FR压栈,恢复现场 CS、IP及FR出栈,中断服务程序段地址送入CS中,偏移地址送入IP中。,关中断,开中断,push ax;保护现场 push bx sti;开中断 ;中断处理 cli;关中断 pop bx;恢复现场 p

39、op ax sti;开中断 reti;中断返回,一般中断程序,返回,中断处理原则,CPU每执行一条指令,其内的中断请求检测电路都要检测中断请求输入端的状态: 先测NMI,若NMI=1有效,则CPU进入非屏蔽中响阶段。 若NMI=0无效,则检测INTR的状态。 若INTR=1有效且IF=1开中断 ,则CPU进入可屏蔽中响阶段。 若INTR有效但 IF=0关中断 ,则CPU执行下一条指令。 若INTR无效,则CPU执行下一条指令。,当多个中断源同时提出中请时,CPU按优先级的高低有高到低依次为外设服务。,CPU,ACK,D触发器,ACK通过中断请求触发器向CPU请求中断服务,INTA应答后,请求信

40、号撤消,CPU从三态缓冲器读取中断号,进行中断服务,中断向量表,掉线或关机形成的中断,下次能够从上次的地方接着运行.,TF=1时,CPU在每条指令执行后自动产生中断,INT n:由中断指令引起的中断。其中n是中断号。,中断向量中断服务程序的入口地址 中断向量= 中断类型码 n 4,8086中断系统支持256种中断,每种中断都一个中断类型码,分别 对应 00H0FFH,又分为两大类:内部中断和外部中断,内部中断: 除法错中断(00H); 单步中断(01H) 断点中断(03H) 溢出中断(04H) 软件中断INT n 外部中断: 非屏蔽中断(NMI) (02H) 可屏蔽中断(INTR) (08H0

41、FH),硬件方式的中断优先级的判断,硬件优先权排队电路:又称菊花链式优先权排队电路。它是利用外设连接在排队电路的物理位置来决定其中断优先权的,排在最前面的优先权最高,排在最后面的优先权最低。,低电平有效,高电平有效,1#中断请求,响应,返回,1#中断 服务程序,2#中断请求,响应,返回,2#中断 服务程序,3#中断请求,响应,返回,3#中断 服务程序,原主程序,中断优先级3#2#1#,中断嵌套运行,按照中断优先级响应实例,多中断响应,注意:级数越小越高,处理机优先级改变后响应中断的过程,中断优先级改变,中断请求,主程序,中断服务程序,时间t,I1,I2,I3,I4,I1,I2调高,I3调高,I

42、4,原优先级,高,低,数据总线缓冲器,读/写 逻辑,级联缓冲/比较器,中断服务寄存器,中断优先级裁决器,中断屏蔽寄存器,控制逻辑,8259A功能与结构,8259A是一种可编程中断控制器, 把当前优先级最高的中断请求送到CPU的INTR端,为CPU提供中断类型码。一片Intel 8259可管理8个中断请求,可以指定优先级,可以通过编程屏蔽某些中断请求,或者通过编程改变中断类型码。允许9片8259级联,构成64级中断系统。,(ISR),(PR),(IRR),(IMR),有两个端口地址 A0=0主片为20H从片A0H中断命令寄存器端口 A0=1主片为21H从片A1H中断屏蔽寄存器端口,端口0,端口1

43、,优先级方式,1.优先级全嵌套方式 中断优先级固定:从IR0IR7依次是IR0最高,IR7最低。 2.优先级特殊嵌套方式 主片开放“同级”中断; 3.优先级自动循环方式 如图 4.优先级特殊循环方式 起始优先级由命令字设置,自动循环。,自动循环方式,中断结束(EOI)方式,一般的EOI方式,中断命令寄存器端口地址为20H,结束外中断用下面的指令: MOV AL,20H OUT 20H,AL 8259A接收到后,将ISR中当前最高的置1位清0。如果中断是从片8259A的中断输入线产生的,则要同时对主片和从片的中断命令寄存器发EOI命令。从片8259A中断命令寄存器端口地址是A0H 。,命令OCW

44、2中指出了要清除当前ISR的哪位。如 OCW2:EOI=1、SL=1、R=0,这是结束ISR中第二位的特殊中断结束命令字。,8259A工作方式设定及运行中的控制,均由8086发来的命令字(1字节代码)决定。命令字分初始化命令字和操作命令字两种,系统向8259A两个端口之一写入。,初始化命令字,(Initialization Command Word,ICW),有ICW1ICW4共四个,有接收顺序要求。,操作命令字,(Operation Command Word,OCW),有OCW1OCW3共3个,无接收顺序要求。,8259A命令字,SNGL=0级联,单片,芯片控制,0则IC4不用,0为上升沿触

45、发 1为高电平触发,中断类型,主从控制,方式控制,中断类型号,1自动结束 0其它,1主 0从,1缓存 0非缓存,对主片1为有从片,对从片决定INT连到主片哪个IRi,8259A初始化流程,若8个可屏蔽中断IR0IR7类型号为38H3FH,则初始化的ICW2为08H(00111000)。,1特殊全嵌套 0全嵌套,微处理器选择,0,M2,M5,M1,M7,M6,M5,M0,M4,8259A操作命令字,Mi=1即IRi屏蔽,设置/清除中断屏蔽,设置优先级循环方式和中断结束方式操作,设置特殊屏蔽和查询读出操作,OCW3,OCW2,OCW1,题:写出主8259的IR5屏蔽程序,OCW1 EQU 21H

46、IN AL,OCW1 OR AL,00100000B OUT OCW1,AL,1非自动结束 0自动结束,1优先级循环 0优先非循环,1L210有效 1L210无效,编码要结束的IRi,允许,1特殊屏蔽 0非特殊屏蔽,1查询 0非查询,1读寄存器 0非读,1读ISR 0读IRR,OCW3 EQU 20H IRR EQU OCW3 ISR EQU OCW3 MOV AL,0BH ;OUT OCW3,AL IN AL,ISR,题:读ISR,注: 0BH=00001011B,8259A的级联,采用非缓冲方式,主片 接+5V,从片 接地。,DMA系统,DMA是一种外设与存储器或者存储器与存储器之间直接传

47、送数据的方法,适用于需要大量数据高速传送的场合,如:图像显示、磁盘存取、磁盘间的数据传送和高速的数据采集系统。,DMA=Direct Memory Access 直接存储器存取,非DMA方式 (包括程序控制方式和中断方式),DMA方式,DMA控制器,HRQ DREQ DMAC HLDA DACK,CPU,DMA工作过程,DMA操作之前,应先对DMAC编程,把要传送的数据块长度、数据块在存储器中的起始地址,数据传送方向等信息发送给DMAC,8237A芯片内部结构,地址锁存选通,IO写,IO读,内存读,内存写,外设准备好,复位,总线请求,输出时,表明内部通道传送结束;输入时,表明外部强迫DMA传送

48、仃止。,总线响应,地址锁存允许,外设请求DMA,DMA响应,8237A有四个独立通道:通道0通道3。每个通道可独立响应外部DMA请求,完成DMA传送。,放DMA传送RAM地址初值,每次传送后-1,可读,存储器到存储器传送时,暂存中间数据,每次传送后-1,可读,放DMA传送字节数初值,16位,16位,1位,1位,6位,8位,8位,CPU控制总线,输出AEN=0,A7A0(输出):8237访问存储器的地址信号的低8位。,输入时寻址8237内部寄存器,8位,8237A命令字,端口地址08H,控制寄存器,模式寄存器,端口地址0BH,请求寄存器,单通道屏蔽寄存器,端口地址09H,端口地址0AH,多通道屏

49、蔽寄存器,端口地址0FH,一次就设置4个通道,状态寄存器,端口地址08H,对端口0EH写入0,可以一次清除四个通道的屏蔽触发器,对端口0DH写入0,使8237复位,其功能等同于硬件复位,定时/计数器8253,计数脉冲,门控信号,波形输出,接译码器,00计数器0 01计数器1 10计数器2 11控制器,作用:定时和计数,8位 只写不读,有高8位和低8位两个初值寄存器,内部的各计数器的结构,OUT,(减1至0时),8253A的A1、A0:与8086CPU的地址线连接不同,端口地址不同。,A1,A1,A0,A0,8位,8088,8253,端口地址:,A1 A0,0 0,0 1,1 0,1 1,X0H

50、,X1H,X2H,X3H,8086,8253,低8位,A2,A1,A1,A0,A2 A1,A0,0 0,0 1,1 0,1 1,0,0,0,0,端口地址:,X0H,X2H,X4H,X6H,8253端口地址,8253的控制字,端口(A1 A0=11),BCD:00009999H即010000 二进制:0000FFFFH即0 65536,对方式0、2、3、4,GATE=0时停止计数,软件定时,分频器 脉冲发生器,方波器,软件选通,硬件选通,硬件重复,不重复,自动重复,自动重复,不重复,不重复,六种工作方式,初值N为奇数时,高电位保持(N+1)/2个时钟周期,对方式1和5,GATE上沿触发计数,工作

51、方式0详解,控制字写完OUT就变低,初值写完CLK下沿就计数(软定时),GATE=0停止计数,重新写入初值就重新计数,定时时间 t=nTCK; n为计数初值,TCK为时钟周期,工作方式1详解,控制字写完OUT由低变高,初值写完要等GATE上沿触发下一个CLK下沿才计数,工作方式3详解,不对称方波,高电位长于低电位,(硬定时),B6H,MOV AL,0B6H;计数器2,先低后高字节 OUT 43H,AL;写命令字 MOV AX,533H;计数初值 OUT 41H,AL;写计数值低位 MOV AL,AH OUT 41H,AL;写计数值高位,题:将计数器2初始化为工作方式3,计数初值为533H,为二

52、进制计数方式,设寄存器地址为40H 43H,8253编程练习,控制字,解:,题: 8253工作为计数器 1,方式 3,初值为4020D,解:,77H,MOV AL,77H OUT 43H,AL MOV AL,20H OUT 41H,AL MOV AL,40H OUT 41H,AL,控制字,题:计数器0,工作在模式2,计数初值和输出锁存器仅使用低8位,初值为100,计数值为二进制格式。寄存器地址为70H 73H,MOV AL,00010100B;控制字 OUT 73H,AL MOV AL,100 ;计数初值 OUT 70H,AL,控制字,解:,14H,未超过256,MOVAL,58H;控制字 O

53、UT0E3H,AL MOVAL,3;初值 OUT0E1H,AL,题:设计数器1工作于方式4,二进制计数,计数初值为3。端口地址为0E0H0E3H,解:,控制字,58H,线路连接图:,CLK0,GATE0,OUT1,CLK2,GATE1,GATE2,CLK1,OUT0,OUT2,采用8253作定时/计数器,其接口地址为0120H0123H。 输入8253的时钟频率为2MHz。 计数器0: 每10ms输出1个CLK脉冲宽的负脉冲 计数器1: 产生10KHz的连续方波信号 计数器2: 启动计数5ms后OUT输出高电平。 画线路连接图,并编写初始化程序。,应用题,确定计数初值: CNT0: 10ms/

54、0.5us = 20000 CNT1: 2MHz/10KHz = 200 CNT2: 5ms/0.5us = 10000 确定控制字: CNT0:方式2,16位计数值 00110100B CNT1:方式3,低8位计数值 01010110B CNT2:方式0, 16位计数值 10110000B,解:,编程:,MOV DX, 0123H MOV AL, 34H OUT DX, AL MOV DX, 0120H MOV AX, 20000 OUT DX, AL MOV AL, AH OUT DX, AL MOV DX, 0123H MOV AL, 56H OUT DX, AL MOV DX, 012

55、1H MOV AL, 200 OUT DX, AL,MOV DX, 0123H MOV AL, 8BH OUT DX, AL MOV DX, 0122H MOV AX, 10000 OUT DX, AL MOV AL, AH OUT DX, AL,1)计数器0:方式3,OUT0输出方波 N0= fCLK/fOUT = 1MHz /2KHz =106/2 103 = 500 控制字:00110111B=37H,2)计数器1:方式1,OUT1输出单脉冲 N1= TOUT/TCLK = 480 s / 1 s = 480 控制字:01110011B=73H,应用题,8253芯片,端口地址分别为310

56、H,312H,314H,316H 所用的时钟脉冲频率为1MHz。要求完成以下功能: 1)计数器0工作于方式3,输出频率为2KHz的方波; 2)计数器1产生宽度为480 s的单脉冲; 3)计数器2用硬件方式触发,输出单脉冲,时间为26 s 。,线路连接图:,解:,编程:,3)计数器2:模式5,OUT2输出门控单脉冲, N2= 26 控制字:10011011B=9BH,MOV DX,316H MOV AL,00110111B OUT DX,AL MOV DX,310H MOV AL,00H OUT DX,AL MOV AL,05H MOV DX,316H MOV AL,01110011B OUT

57、DX,AL MOV DX,312H MOV AL,80H OUT DX,AL MOV AL,04H OUT DX,AL MOV DX,316H MOV AL,10011011B OUT DX,AL MOV DX,314H MOV AL,26H OUT DX,AL,A9A0=1100010XX0 310H316H,时钟脉冲以2MHz输入8253,实现每5秒定时中断(设8253端口地址40H46H),按照公式计数初值n=Tout/Tclk=107,而初值计数器只有16位,最大计数次数为65536,所以一个计数器不行,所以需要两个计数器串联。,应用题,线路连接图:,解:,编程:,计数器1:方式2,O

58、UT1每5ms输出一个脉冲, 初值 N1=定时时间/Tc=5ms/ 0.5 s =10000 控制字:01110100B=76H,计数器0:方式2,OUT0 每5s输出一个脉冲, 初值N2=定时时间/Tc=5s/5ms=1000 控制字:00110100B=34H,MOV AL, 01110100B MOV DX, 46H OUT DX, AL MOV AX, 10000 MOV DX, 42H OUT DX, AL MOV AL, AH OUT 42H, AL MOV AL, 00110100B MOV DX, 46H OUT DX, AL MOV AX, 1000 MOV DX, 40H

59、OUT DX, AL MOV AL, AH OUT DX, AL,外设接口,CPU接口,内部逻辑,8255A结构,两组寄存器(4个口地址): 控制寄存器11,数据寄存器00,01,10,可编程并行通信接口芯片,有三种工作方式,有两种工作方式,可以按位置位/复位操作,可以按位置位/复位操作,8255A三种工作方式,方式0:基本输入输出 主要用于无条件传送方式也用于查询方式,不设置专用的联络信号线。,方式1:单向选通传送 主要用于CPU与外设以中断或查询方式。,方式2:双向选通传送 适用于中断或查询方式双向传输。,CPU三总线,端口A方式1作输入,中断允许触发器,用于控制中断允许或中断屏蔽,(接外

60、设),(接外设),(接CPU),(接外设),端口B方式1作输入,(接CPU),(接外设),(接外设),(接外设),用于控制中断允许或中断屏蔽,中断允许触发器,端口A方式1作输出:,中断允许触发器,(接外设),(来自外设),(接CPU),端口B方式1作输出:,中断允许触发器,(接外设),(来自外设),(接CPU),(接外设),(接外设),方式2(双向选通方式),只能用于A口,当A口工作在方式2下,B口工作在方式1下,则此时C口每一端都成了控制信号端。,A组控制,B组控制,00方式0 01方式1 1方式2,1输入 0输出,CH口,1输入 0输出,1输入 0输出,1输入 0输出,0方式0 1方式1,

61、CL口,方式选择控制字,8255控制字,C口置位/复位控制字,1置位 0复位,题:端口A :方式1输入端口C上半部:输出,端口C口下半部:输入,端口B :方式0输出。端口地址300303H。写出初始化程序,方式控制字:10110001B=B1H 初始化的程序段:,解:,MOV DX,303H;假设控制端口为303H,MOV AL,0B1H;方式控制字,OUT DX,AL;送到控制端口,题:写出对输出端口B的PB7位置位的程序段,端口地址300303H。,MOV DX,301H;端口B假设为301H,IN AL,DX;读出端口B原输出内容,OR AL,80H;使PB71,不改变其它位,OUT D

62、X,AL;输出新的内容,解:,PC5,题:设一片8255A的口地址为60H63H,PC5平时为低电平,要求从PC5的引脚输出一个正脉冲,MOV AL,00001011B OUT 63H,AL ;置PC5为高电平 MOV AL,00001010B OUT 63H,AL ;置PC5为低电平,解:,题:一片8255芯片,其各个端口的地址分别为0F8H0FBH,现要求:端口A方式0 输入;端口B方式1输出;PC7 PC4输出;PC3 输入。初始化编程。,解:,根据8255工作模式可确定方式控制字,95H,初始化编程:MOV AL,95H OUT 0FBH,AL,没有超出256,不需要寄存器间接寻址。,

63、MOV DX,103H MOV AL, 90H;方式控制字 OUT DX, AL;写入控制字 L1:MOV DX,100H IN AL,DX ;读入A口开关状态 MOV DX,101H;指向端口B OUT DX,AL;从B口控制LED XORAL,0FFH;AL AL取反 MOVDX,102H; OUTDX,AL;从端口C输出 JMP L1;循环,应用题:在某一系统中,有8个开关K7K0,要求不断地检测它们的通断状态,并随时在发光二极管上显示。通过8255A的端口A读入开关状态信息,使端口B、端口C连接的发光二极管的状态与端口A开关状态相呼应,并重复执行。端口地址分别为100H103H,试设计

64、出硬件电路图,并编写程序。,解:,都用方式0基本输入输出, A口输入,B口C口输出,所以: 方式控制字:10010000B=90H,如图开关闭(接通)时PAi=0,让此时对应的PBi=0,LED亮,C口相反。,编程:,图:,应用题:如图,要求当输入不是全0时,输出与输入保持一致;当输入全0时,A口输出发光二极管闪烁告警信号。,A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 1 0 0,则端口地址为: F0H 、F2H、 F4H和 F6H,解:,MOV DX,0F6H MOV AL,82H OUT DX,AL QQ: MOV DX,0F2H IN AL,DX ADD AL,0 JZ DISP OUT 0F0H,AL JMP QQ DISP:MOV AL, 0;暗 OU

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!