主机板组成
一、微型计算机基础
1.微型计算机组成
微处理器
微处理器:算数逻辑单元( ALU )、控制器( CU )、寄存器( R )
微型计算机
微型计算机:由CPU、储存器(ROM,RAM)、输入/输出接口电路组成.
计算机硬件
计算机硬件:由五个部分 运算器、控制器、存储器、输入设备、输出设备组成.
软件系统
软件系统分为:系统软件、应用软件
2.微机基本电路
微机总线(BUS)
微机总线是计算机系统各部件之间相互连接,传递信息的公共通道.
总线分为:片内总线、系统总线、外部总线.
片内总线:CPU内部各部件之间连线的总线
总线的性能指标
总线带宽:单位时间内可传送的数据位数.
总线位宽(也称数据通路宽度):能一次并行传输的数据位数.
系统总线
系统总线:数据总线、地址总线、控制总线
数据总线(DB):双向总线,用于实现在CPU、存储器、I/O接口之间的数据传送.
地址总线(AB):单向总线,用于传送CPU所要访问的存储单元或I/O端口的地址信息.
控制总线(CB):单向总线,用于控制总线上的操作和数据传送的方向:实现微处理器与外部逻辑部件之间的同步操作.
三态门(1高0低)
三态门:低电平、高电平、高阻态
3.计算机中的数的表示及运算
机器数的表示及编码
编码方案:原码,反码,补码
原码和反码的范围:-127~~+127
补码的范围:-128~~+127
正数的原码,反码,补码都相同.
负数的反码:原码符号位不变,其他位取反.
负数的补码:在负数补码的基础上+1.
0的原码补码都是0.
在机器数补码中,0的表示形式是唯一的.
机器数的运算
[[y]补]补=[y]原
[x]补+[y]补=[x+y]补
[x-y]补=[x]补+[-y]补
[y]补–>[-y]补:包含符号位,各位取反,末尾+1
溢出的检测方法
正+正=负
负+负=正
逻辑运算
微型计算机工作过程
(1)取指令:从存储器某个地址单元中取出要执行的指令送到CPU内部的指令寄存器暂存;
(2)分析指令(也称指令译码):把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作信号,控制各个部件的操作;
(3)取操作数:如果需要,发出取数据命令,到存储器取出所需的操作数;
(4)执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作;
(5)保存结果:如果需要保存计算结果,则把结果保存到指定的存储器单元中;
二、十六位微处理器
1.8088/8086微处理器
内部结构
功能结构
从功能上分俩个部分:总线接口部件(BIU)和执行部件(EU)
BIU:总线接口部件
功能:
(1)从取指令送到指令队列
(2)微处理器执行指令时,到指定的位置取操作数,并将其送至要求的单元
组成:
(1)4个段地址寄存器,CS:代码段,DS:数据段,ES:附加段,SS:堆栈段
(2)16位指针指令寄存器IP
(3)20位地址加法器
(4)4/6字节指令队列缓冲器
8086的指令队列缓冲器为6个字节
8088的指令队列缓冲器为4个字节
流水线技术:俩个功能部件并行工作,减少CPU为取指令而等待的时间,提高CPU的利用率和系统运行速度.
EU:执行部件
功能:
(1)从指令队列中取出指令。
(2)对指令进行译码,发出相应相应的控制信号。
(3)接收由总线接口送来的数据或发送数据至接口。
(4)进行算术运算。
组成:
(1)4个通用寄存器:AX,BX,CX,DX,可拆位8位,AH,AL,BH,BL,CH,CL,DH,DL
(2)4个专用寄存器:BP:基址指针,SP:堆栈指针,SI:源变址,DI:目的变址
(3)16位标志寄存器
6个状态标志,3个控制标准
分段技术
为什么要采用存储器“分段”技术?
8086CPU可直接寻址的地址空间为220=1M字节单元。CPU需输出20位地址信息才能实现对1M字节单元存储空间的寻址。但8086CPU 中所使用的寄存器均是16位的,内部ALU也只能进行16位运算,其寻址范围局限在216=65536(64K)字节单元。为了实现对1M字节单元的寻址,8086系统采用了存储器分段技术。
溢出判断
部分引脚
:低电位选通时开启数据传输高八位选中(奇体),控制数据的传输位数
ALE:地址锁存信号,表示输出的是地址信息,配合锁存器进行地址的锁存
:高电平表示CPU正在发送数据;低电平表示CPU接收数据。(指示数据收发器)
:表示正在收发数据(指示数据收发器)
INTR: 可屏蔽中断请求信号输入,高电平有效。表示外部向CPU提出中断申请。
INTA: 中断响应信号输出,低电平有效。表示外设的中断申请得到响应。
NMI: 非屏蔽中断申请信号输入,上升沿有效。表示外部有非屏蔽中断申请。非屏蔽中断不受软件控制,CPU必须响应。
分时复用
分时复用:一个引脚在不同的时刻具有俩个甚至多个作用.目的就是为了减少对外引脚的个数.
2.中断
中断定义
当CPU正常运⾏时,系统外部、内部或现⾏程序本身若出现紧急事件,处理器必须⽴即强⾏中⽌现⾏程序的运⾏,改变 机器的⼯作状态并启动相应的程序来处理这些事件,然后再恢 复原来的程序运⾏,这⼀过程称为中断
中断类型
外中断(也称硬件中断)
内中断(也称软件中断)
可屏蔽中断(INTR)的中断号由8259中断控制器提供;
指令中断(INT n)的中断号由指令直接给出;
非屏蔽中断(NMI),其他内中断由系统预设.
中断向量:中断服务子程序的入口地址. 用逻辑地址CS:IP表示
中断向量表:存放中断向量的内存空间.
8086/8088的中断向量表
8086/8088有256种中断类型,类型号为0-255(或0-FFH),
共有256个中断向量,每个占4个存储单元,所以需要1024个字 节,在存储器的最低端,地址从00000H-003FFH,这块地址空 间就是中断向量表
内部中断
0型中断:除数为0中断
3型中断:断点中断
4型中断:溢出中断
1型中断:单步中断
n型中断:指令中断
外部中段
包括 INTP和NMI
外中断是外设随机产生,就是真正的中断.
内中断是执行程序出现的,被称为异常.
中断特点
非屏蔽中断(NMI):
通过NMI向CPU提出的中断请求
CPU无法禁止
在当前指令执行后予以响应
中断向量号为2
主要用于处理系统的意外和故障
可屏蔽中断特点(INTR):
外设通过INTR向CPU提出中断请求,
在允许中断,当前指令执行结束后予以响应,输出INTR非.
IF=1,开中断,允许响应;IF=0,禁止中断.
向量号由8259提供.
主要用于主机与外设交换数据.
###INTR中断的全过程
⑴ CPU读取中断类型号n。CPU 通过INTA发中断响应信号
给接⼝,并启动中断过程。这个响应信号将使发中断请求的接⼝ 把⼀个字节的中断类型号通过数据总线送给CPU;
⑵ 按先后顺序把PSW(即FR)、CS和IP压⼊堆栈;
⑶ 清除IF和TF标志;
⑷ 把4×n +2的字存储单元中的内容读⼊ CS中,把4×n 的
字存储单元中的内容读⼊ IP中,即得到中断向量;
⑸ CPU 从新的CS:IP值开始执⾏中断服务程序,若允许中
断嵌套,则⼀般在中断服务程序中保存寄存器后,就安排⼀条 STI指令,以便响应优先权较⾼的中断。在中断服务程序末尾安 排⼀条IRET返回指令。
中断标志IF的状态:
IF=0:可屏蔽中断不会被响应
关中断,禁止中断,中断屏蔽
系统复位,使IF=0;
中断被响应;使IF=0;
执行指令CLI,使IF=0;
IF=1:可屏蔽中断会被响应
开中断,允许中断,中断开放
执行指令STI,使IF=1;
执行指令IRET恢复原IF状态
中断过程
1.中断请求
8086CPU在每条指令的最后⼀ 个时钟周期检测中断请求信号输⼊线INTR。
2.中断判优
3.中断响应
关中断:发出中断响应信号INTA,同时内部⾃动地关中断,以禁⽌接受其他的中断请求。
保存断点:原程序被打断的地⽅称为“断点”,断点地址是指中断处 理程序结束后,返回原程序恢复执 ⾏的第⼀条指令的地址,⼜ 称“返回地址”。
识别中断源:找到相应的中断服务程序的⼊⼝地址,这就是中断的识别。
1取中断类型号N
2标志寄存器入栈
3清除IF和TF标志
4CS和IP入栈
5获取中断向量
4.中断处理
保护现场:为了不使中断服务程序的运⾏影响主程序的状态,必须把断点处有关寄存器(指在中断服务程序中要使⽤的寄存器)的内容以及 标志寄存器的状态压⼊堆栈保护。
执⾏中断服务程序
恢复现场并返回
5.中断返回
中断嵌套
中断嵌套:当CPU正在执⾏优先级较低的中断服务程序时,允许响应⽐它优 先级⾼的中断请求,⽽将正在处理的中断暂时挂起,这就是中断嵌套
三、存储器系统
1.存储器
随机存取存储器PAM;
只读存储器ROM;
顺序存取存储器SAM;
直接存取存储器DAM;
Cache存储系统
1.解决主存速度不足
2.Cache的速度,主存的容量
88/86系统存储器的容量
1.20位地址线
2.空间1MB
3.物理地址范围:0000H~~FFFFH
88/86存储格式
“低对低”,“高对高”
"小端"方式
物理地址
物理地址:
CPU访问内存单元地址(20位):
段地址×16 + 偏移地址
逻辑地址
逻辑地址:
程序中使用的地址(16位):
段地址×16 : 偏移地址
逻辑段
指令序列必须安排在代码段,CS:IP
- 中断向量:入口地址
- 断点:下一条指令地址
程序使用的堆栈一定在堆栈段,SS:SP/BP
数据默认安排在数据段,DS:EA
串操作的目的区必须是附加段,ES:EA
奇偶体
奇体与高八位(D15~D8)相连;
偶体与低八位(D7~D0)相连;
=0,A0=1:选择奇体;
=1,A0=0:选择偶体;
规则字与非规则字
规则字:对准好的字
非规则字:未对准好的字
对准:高对高,低对低
2.半导体
性能指标
1.存储容量
=2^M×N(M:地址线条数,N:数据线条数)
2.存储速度:
存取时间(Ta):
存取周期(Tac):
3.制造工艺
4.功耗
5.可靠性:平均无故障时间
3.芯片
SRAM芯片
6264
存储容量为8K×8
13根地址线
8根数据线
片选CS1非,CS2
读写WE非,OE非
2114
存储容量为1024×4
10根地址线
4根数据线
片选CS非
读写WE非
DRAM芯片(刷新)
2164
存储容量为64K×1
8根地址线
1根数据输入线Din
1根数据输出线Dout
行地址选通RAS非
列地址选通CAS非
读写控制WE非
EPROM芯片
==2764=
存储容量为8K×8
13根地址线
8根数据线
片选CE非
编程PGM非
读WE非
芯片例题
四、88/86指令系统
1.语句格式
1.执行性语句:指令(也称硬指令)
2.说明性语句:伪指令
3.宏指令
2.寻址方式
1.立即数寻址(内存中)
2.寄存器(reg)寻址(CPU中)
16种寄存器
CS不可出现在dst中
3.存储器(mem)寻址(5种)
存储器寻址方式
直接寻址:EA:有效地址, [ ]内表示EA
寄存器间接:EA放在BX,SI,DI,BP中;[EA为BX,SI,DI时默认DS,BP时默认SS]
寄存器相对:EA=BX/BP/SI/DI+8/16位位移量
基址变址:EA=BX/BP+SI/DI
相对基址变址:EA=BX/BP+SI/DI+8/16位位移量
3.数据传送类指令
除标志寄存器传送指令外,均不影响标志位(CF,OF,ZF,SF,PF,AF)
MOV,XCHG,PUSH,POP,LEA
要求
目的操作数(dest)和源操作数(src)必须具有一致的数据类型
不允许俩个操作数都是存储单元(存储器操作数)
存储器之间不能传,立即数不可直接给段寄存器(CS DS ES SS)
LEA r16 mem : 取内容单元的地址
0FFSET:有效地址
PUSH:进栈 PUSH r16/m16/seg
SP<–SP-2 SS:[SP]<–r16/m16/seg
POP:出栈 POP r16/m16/seg
r16/m16/seg<-- SS:[SP]
SP<–SP+2
进栈和出栈只对字量 (遵循先进后出原则,影响6个状态位)
其他指令
INC DEC 不影响CF,影响其他标志位
NEG <–0-reg/mem 影响标志位
CWD 自动使用 AX DX
MUL 无符号数乘法 MUL OPR(字节) OPR不能是立即数,可以是REG/MEM
字节×字节=字节 : CF=OF=0
字节×字节=字 : CF=OF=1
字×字=字 : CF=OF=0
字×字=双字 : CF=OF=1
字÷字节=–>字节(商 AL 余数 AH)
双字÷字=–>字(商 AX 余数 DX)
DIV 无符号数除法 DIV OPR
除数为0或商超出范围 OF=1 溢出
NOT 不影响任何标志位
AND AX, 0:清零
AND AL, 0FH:高4位清零
AND AL, F0H:低4位清零
AND AX, AX:不变
AND OR XOR TEST:使 CF、OF清零
OR AX, AX:AX不变 CF=OF=0
OR AL, 0FH:高4位不变,低4位置1
XOR AX, AX:清零 CF=OF=0
TEST和CMP 都不返回结果
TEST dest, src ; 与运算
算术和逻辑 ,左移和右移 都影响CF SF ZF PF
移位>=2时,需要将次数放入CL中 (8个移位都通用)
SHL SHR SAL 补0 SAR 补原来符号位
循环移位:ROL ROR带进位寻魂移位:RCL RCR
控制转移
JMP:无条件跳转
A 大于 B小于 无符号数
N不 E等于
G大于 L小于 有符号数
JZ :为0则跳转 ZF:运算结果为0则ZF=1否则ZF=0
JS:为负则跳转 SF:运算结果(D7)为正SF=0否则SF=1
JC:进位则跳转 CF:进位借位CF=1否则CF=0
LOOP 循环 必和CX搭配 CX<–CX-1
跳转例题
1+2+3+…+100,结果存入AX
MOV AX,0
MOV CX,100
MOV BX,1
L1:ADD AX,BX
INC BX
DEC CX
JNZ L1
内存BUF单元开始的10个字节求和,结果存入SUM字节单元
MOV CX,9
LEA BX,BUF
MOV AL,[BX]
L1:INC BX
ADD AL,[BX]
LOOP L1
MOV SUM,AL
编写程序段实现:在1000H为首地址的连续10个字节单元种存放了10个有符号数据,找出最大的数,并存入2000H单元
MOV CX,9
MOV BX,1000H
MOV AL,[BX]
L2:INC BX
CMP AL,[BX]
JG L1
MOV AL,[BX]
L1:LOOP L2
MOV [200H],AL
MOV AH,4CH
INT 21H
子程序指令
系统调用
01H:键盘接受一个字符(AL=键盘接收字符的ASCLL码)
02H:输出一个字符(DL=想要显示字符的ASCLL码)
09H:输出一个字符串
25H:设置设置中断向量
35H:获取设置中断向量
4CH:返回DOS
五和六、汇编语言程序设计和汇编语言伪指令
段定义格式
断定义伪指令格式
段名 Segment
……
段名ends
Assume伪指令格式
Assume 段寄存器:段名,段寄存器:段名
开始
结束
END [标号]:表示源程序到此结束
MOV AH, 4CH
INT 21H
表示程序执行到此结束
指令
DB:字节 8位数据
DW:字 16位数据
DD:双字 32位数据
DUP 左为次数,右为内容
?代表空字节单元
ORG 控制数据或代码所在的偏移地址
0FFSET 名字/标号 返回偏移地址
SEG 名字/标号 返回段地址
类型名 PTR 名字/标号
典型例题
过程定义
1.格式
基础例题
1.内存单元BUF开始的2个有符号数比较大小,并把大数送MAX单元
DATA SEGMENT
BUF DB 9 , 5
MAX DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:MOV AX,DATA
MOV DS,AX
LEA BX,BUF
MOV AL,[BX]
INC BX
CMP AL,[BX]
JG L1
MOV AL,[BX]
L1:MOV MAX,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
2.将键盘输入的小写字母转换成大写字母并输出显示,直到输入字符’$‘结束;如果输入的不是小写字母时要显示错误提示’PLEASE INOUT AGAIN!’.
DATA SEGMENT
ERROR DB 'PLEASE INOUT AGAIN!','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START : MOV AX,DATA
MOV DS,AX
NEXT: MOV AH,1
INT 21H
CMP AL,'$'
JE EXIT
CMP AL,'a'
JB ERR
CMP AL,'z'
JA ERR
SUB AL,20H
MOV DA,AL
MOV AH,2
INT 21H
JMP NEXT
ERR: LEA DX,ERROR
MOV AX,P
INT 21H
JMP NEXT
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
3.设输入数据为X,输出数据为Y,X和Y均为字节变量,
请编制一个完整的源程序计算下面函数值
七和八、输入输出系统和接口芯片
1.为什么需要I/O接口电路
I/O接口电路介于主机与外部设备之间,是微处理器与外部设备信息交换的桥梁,实现计算机与外部设备之间交换信息的重要工作。外部设备通过I/O接口电路把信息传送给微处理器进行处理,而微处理器将处理结果通过IO接口电路传送到外部设备。
(1)速度不匹配: IO设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大。
(2)时序不匹配:各个IO设备都有自己的定时控制电路,以自己的速度传输数据,无法与CPU的时序取得统。
(3)信息格式不匹配:不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。
(4)信息类型不匹配:不同I/0设备采用的信号类型不同,有些是数字信号,而有些是模拟信号,因此所采用的处理方式也不同。
接口电路功能
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,协调快速CPU与慢速的外设之间数据传送的矛盾和时序差异:
(2)能够进行信息格式的转换,例如串行和并行的转换:
(3)能够协调CPU和外设在信息的类型和电平高低的差异,如电平转换驱动、数/模或模/数转等:
(4)采集外设的信息传送给CPU,接收CPU发出的控制命令及启动外设工作。
(5)地址译码和设备选择功能,识别CPU要访问的外设;
(6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。
为了完成CPU与外部设备数据信息的交换,按口电路必须具备输出缓冲寄存器和输告后缓冲寄存器,暂存输出和输入的数据
2.I/0接口电路的结构
端口
接口上有三个端口:数据端口,状态端口,控制端口
用于保存数据,状态和控制信息
接口
接口由硬件和软件组成
3.输入/输出指令
输入指令
IN AL, 端口地址
IN AL, DX/i8 字节输入:DX间接从外设端口地址上取一个字节->AL ; i8直接端口号00H~~FFH
IN AL, DX/i8 字输入:从DX地址或i8地址取一个字->AX
输出指令
OUT 端口地址, AL/AX ; AL 8位字节,AX 16位字
OUT DX/i8, AL 字节输出
OUT DX/i8, AL 字输出
I/O端⼝的编址⽅式
1、I/O端⼝和存储器统⼀编址
该⽅式是将存储器地址空间的⼀部分作为I/O设备的地址空间,所以I/O端⼝地址也是⼀个存储器地址
2、I/O端⼝和存储器单独编址
基本想法是I/O端⼝地址和存储器地址分开,单独编址,在指令系统中分别设⽴存储器读写指令和I/O端⼝读写指令。 在地址总线上的地址信息究竟是存储器地址还是I/O地址,⼀般是在CPU上设置专⻔的控制线,如 M/IO =0为I/O操作, = 1 为存储器操作
程序控制的数据传送
由 IN和OUT指令控制
分为:无条件传送方式(也称同步传送),查询传送方式,中断传送方式
DMAC利用系统控制总线在外设和主存间传送
协处理器8089实现 数据传送
4.传送方式
CPU与外设之间数据传送的⽅式通常有3种,即程序控制⽅式 , 中断控制⽅式 和 直接存储器⽅式(DMA)
程序控制⽅式
1、⽆条件传送
2、程序查询传送⽅式
⑴ 程序查询式输⼊
POLL: in al, status_port;读状态端⼝的信息
test al, 80H;设READY信息在D7位
jz POLL;未就绪,则循环再查
in al, data_port;已就绪,则读⼊数据
⑵ 查询式输出
POLL: 位
in al, ststus_port ;读状态⼝,查D7
test al, 80H jnz POLL ;D7=1即忙线=1,则循环 mov al, store ;否则外设空闲,从内存取数 out data_port, al ;输出到外设的数据⼝
中断传送方式
特点
1.是一种效率较高的程序传送方式
2,中断服务程序是预先设计好的;
3.CPU在每条指令周期后采样中断请求输入信号
4.外设需要传数据时,主动向CPU提出中断请求,提高实时性
5.外设准备数据和CPU执行程序并行工作,提高了CPU效率"
6.每传输一次数据就要中断一次,需要保护断点和现场
7.需要中断控制器8259芯片
8.适合少量数据,中慢速外设的数据传输,如键盘鼠标
请求 判优 响应 处理 返回
简述CPU与外部设备采用中断控制方式传输数据的过程
1.当外部设备需要与CPU进行数据交换时,由接口部件8259芯片发出一个中断请求信号
2.CP响应这一中断请求后便可在中断服务程序中完成一个字节或一个字的信息交换
3.数据交换完成后,返回源程序
4.CPU每执行一次中断传送数据,要打断原来执行的程序取执行中断服务程序
5.执行前要保护PSW和断点,执行后再恢复
DMA传送方式
外设–>存储器
外设<–储存器
传送中由DMA控制器8237管理总线用完归还
中断方式(子程序)
程序方式(主程序)
DMA操作时序图
DMA传送过程
1.外设向DMAC发出请求:
2.DMAC向CPU申请总线(HOLD)
3.CPU完成当前总线周期后响应(HLDA),并释放总线控制权
4.DMAC得到总线控制权,发出DMA响应信号
5.由DMAC发出读写控制信号,控制外设与储存器之间的数据传送
6.数据传送完后,DMAC撤销HOLD信号
7CPU释放HLDA信号,并重新控制总线
传送方式比较
例题
5.通信
并行通信
并行通信:一次传送一个字长的数据(近距离,大量快速交换)
串行通信
串行通信:将数据以二进制位形式用一条信号线,一位一位顺序传送的方式(远距离,速度不高的近距离)
异步通信
三种工作方式
方式0:基本 无条件和查询
方式1:选通 查询和中断
方式2,双向选通 查询和中断
STB非;IBF;INTR 只有端口A可用方式2
6.芯片
并行接口8255
3个8位端口
端口A 常做数据口
端口B常做数据口,支持方式0和方式1
端口C常做数据口,状态口.控制口,分俩个4位,每位可独立操作,仅支持方式0
3种工作方式
4个端口地址:
|CS非 A1 AO| 读操作RD非| 写操作WR非|
|000| 读端口A|写端口A|
|001| 读端口B|写端口B|
|010| 读端口C|写端口C|
|011| 非法|写控制口|
2个控制字:方式控制字和C口的按位置位/复位字
8255引脚定义
8255的方式控制字
8255的C口置位/复位字
例题(8255)
串行接口芯片8251
中断控制器8259
用于管理8088/8086的可屏蔽中断(INTR)
基本功能:
1.可提供中断向量号
2.一偏可以管理8级中断,可扩展至64级(级联)(9片)
8259的结构
8259的工作方式
1、中断触发⽅式:电平触发⽅式或边沿触发⽅式(由低到⾼的 正跳变),利⽤初始化命令字ICW1来设置。
2、优先级管理⽅式:
⑴ 全嵌套⽅式:全嵌套⽅式是8259A初始化后⾃动进⼊的基本⼯ 作⽅式。
此时优先级从IR0到IR7依次降低。当某⼀中断处理时, 可响应⽐它⾼的中断,但禁⽌⽐它低的或同级中断进⼊。当某⼀ 中断请求处理结束时,CPU向8259A发送中断结束命令EOI,以使 ISR中相应位清零。
⑵ 特殊全嵌套⽅式:与⑴的普通全嵌套⽅式差不多,区别是CPU 处
理某⼀中断时,允许⽐它⾼的和与它同级的中断请求进⼊,⽽只禁 ⽌⽐它低的中断请求。
⑶ ⾃动循环⽅式(普通EOI循环⽅式):在这种⽅式下,任何⼀ 级中断请求被处理完后, CPU向8259A发送中断结束命令EOI,以 使
ISR中优先级最⾼的置1位清零,
⑷特殊EOI循环⽅式,⽤户根据要求⽤置优先级命令指定最低优 先级,例如设置IRi为最低优先级,则最⾼优先级为IRi+1,其它 各级按循环⽅式类推
中断结束⽅式
⑴ ⾃动中断结束⽅式(⾃动EOI⽅式),中断处理结束时⾃动将 ISR中相应位清零,只需将初始化命令字ICW4中的AEOI置为1即可 实现这种⽅式
⑵ 普通中断结束⽅式( 普通EOI⽅式),⽤在8259A的全嵌套⽅ 式
下,即在CPU处理完⼀个中断请求时需8259A发送⼀个EOI命令, 8259A收到EOI后,将ISR中最⾼优先级的置1位清零(即当前正在 处
理的中断)。⽤操作命令字OCW2中的EOI=1, SL=0, R=0的设置 来实
现。
⑶特殊中断结束⽅式,在⾮全嵌套⽅式下,通过向8259A发⼀条特 殊中断结束命令来判断要清除ISR中置1位中的哪⼀位。⽤操作命令
中断屏蔽⽅式
普通屏蔽⽅式,将IMR中某⼀位或⼏位置1,则其对应的中断被 屏蔽(即这些中断被禁⽌)
⑵ 特殊屏蔽⽅式, ⼀般情况处理⼀个中断时,禁⽌同级或低级中 断进⼊,但有些场合,在处理某个中断时,仅希望对本级屏蔽, 可以响应⾼级或低级中断,此时采⽤这种⽅式。特殊屏蔽⽅式通 过操作命令字OCW3中的ESMM和SMM同时置为1,并将IMR对 应于本级中断的位置1来实现。
定时控制器8253
6种工作方式
0:计算结束中断
1:可编程单稳脉冲
2:频率发生器
3:方波发生器
4:软件触发选通
5:硬件触发选通
8253的编程
1.方式控制字
例题(8253)
DMA控制器8237
8237功能:
发存储器地址确定数据传送地址单元
自动修改地址指针,识别数据传送方向
发出读或写控制信号,确定传送数据个数