基础知识:
1:(1)位 bit :指一个二进制位,它是计算机中信息存储的最小单位。
(2)字节 byte:指相邻的八个二进制位。B,KB,MB,GB都是指字节
(3)字:计算机内部进行数据传递处理的基本单位。
(4)字长:一个字所包含的二进制位数称为字长,通常把字定义为2字节(16位),双字为4字节(32位),四字为八字节(64位)
2:8086从功能上分为
(1)总线接口单元(BIU):
由4个16位段寄存器:CS(代码段寄存器),DS(数据段寄存器),SS(堆栈段寄存器),ES(扩展段寄存器);处理器用在CS寄存器中的段选择值和IP寄存器中的内容组成的逻辑地址取下一条要执行的指令。
一个16位指针指令:
6字节指令队列:
20位地址加法器和控制电路组成:
(2)执行单元(EU):
3:基本程序执行寄存器:段寄存器,通用寄存器,控制寄存器
(1):通用寄存器:逻辑和算术操作的操作数,用于地址计算的操作数,内存指针。
16位通用寄存器:AX,BX,CX,DX,SI,DI,SP或BP。
8位通用寄存器:AH,BH,CH,DH,AL,BL,CL或DL
段寄存器:CS,DS,SS,ES,FS和GS
FLASH寄存器。
注:8086CPU的20位程序地址由 CS 和 IP 寄存器 决定。
状态标识位:
CF(进位标识位):
AF(辅助进位标识):
OF(溢出标识):
SF(符号标识位):
PF(奇偶标识位):
ZF(零标识):
控制标识
DF(方向标识):
IF(中断允许标识):
TF(追踪标识):
4:堆栈操作:push入栈减二:pop出栈加二。
5:输入输出指令:IN:输入指令它能把一个字节(或一个字)由一个输入端口,传送至AL(或AX)。端口地址若是由指令中n所决定,则可寻址256个端口;端口地址也可包含在寄存器DX中,则允许寻址64K个端口
6:OR:按位逻辑或 ,XOR:按位逻辑异或,NOT:按位逻辑非
7:8086处理器有以下七种基本的串操作指令:
(1)MOVES:MOVES/MOVESB 传送串/传送字节串;MOVES/MOVESW 传送串/传送字串
(2)CMPS:CMPS/CMPSB 比较串/比较字节串;CMPS/CMPSW 比较串/比较字串
(3)SCAS:SCAS/SCASB 扫描串/扫描字节串;SCAS/SCASW 扫描串/扫描字串
(4)STOP:STOS/STOSB 存储串/存储字节串;STOP/STOPW 存储串/存储字串
(5)LODS:LODS/LODSB 存储串/存储字节串;LODS/LODSW 存储串/存储字串
(6)串输入指令INS/INSB/INSW/INSD----从端口输入字串
(7)串输出指令 OUTSB/OUTSW-----拷贝串到端口
注::8086指令系统的串操作指令中,源操作数的物理地址由寄存器 DS 左移四位 与 SI 相加得到,目的操作数的物理地址由寄存器 ES左移四位 与DI相加得到。
8:8086引脚:
AD0~AD15:数据与地址引脚
READY(输入):准备就绪信号
TEST非:这个检测输入信号是由“wait”指令来检查的。若此输入脚有效(低电平有效),则继续执行,否则处理器等待进入空转状态。
INTR(输入)可屏蔽中断请求信号。这是一个电平触发输入信号,高电平有效。CPU在每一个指令周期的最后一个T状态采样这条线,以决定是否进入中断响应周期。
INTA 中断响应信号:
NMI 不可屏蔽中断请求信号:
ALE 地址锁存允许信号:
HOLD 总线请求信号:
HOLDA 总线请求响应信号:
RESET(输入)复位输入引起处理器立即结束当前操作。这个信号必须保持有效(高电平)至少四个时钟周期,以完成内部的复位过程。当其返回为低电平时,它重新启动执行.
8086标准时钟周期频率为8MHz,一个T状态为125nsTw只能在T3和T4之间插入
9:RAM分类:
双极性RAM:
MOS RAM:
静态RAM:不需要刷新,故可以省去刷新电路,存取速度较动态RAM快
动态RAM:
10:接口电路的作用:数据缓冲,数据格式转换,设备选择,设备控制,信号转换,状态指示,提供联络信号,可编程功能
11:CPU与接口间传送的信号类型主要有地址信息,数据信息,状态信息
1:8086:内部寄存器主体是16位的,依赖分段机制,用20位段基地址加上16位的偏移量形成20位的地址,以寻址1MB的物理地址。
2:中断控制器:它可以接收多个外部中断源的中断请求,并进行优先级判断,选中当前优先级最高的中断请求,并将此请求送到CPU的INTR端(8259A)
3:数据缓冲器:当数据在具有不同传输能力的元件之间通过时,用来暂存这些数据的存储器。缓冲器的常见型号有四总线缓冲器74f125和八总线缓冲器(通常74ls244)
4:寻址方式:
5:8086微处理器读写总线周期各包括4个时钟周期。
每个时钟周期间隔称为一个T状态
T1 状态:BIU将RAM或I/O地址放在地址/数据复用总线(A/D)上。
T2 状态: 读总线周期:A/D总线为接收数据做准备。改变线路的方向。 写总线周期: A/D总线上形成待写的数据,且保持到总线周期的结束(T4)。
T3, T4:对于读或写总线周期,AD总线上均为数据。
Tw: 当RAM或I/O接口速度不够时,T3与 T4 之间可插入等待状态 Tw 。
Ti : 当BIU无访问操作数和取指令的任务时,8086不执行总线操作,总线周期处于空闲状态 Ti 。
6:段寄存器说明语句的助记符:ASSUME。段定义伪指令:SEGMENT。指针:ptr。定义单字节数据段:DB(编译时,DB后面的数据将视为纯数据而不是指令代码)。
7:寄存器:
16位通用寄存器【AX(操作数和结果数的累加器),BX(在DS段中数据的指针),CX(串和循环操作的计数器),DX(I/O指针),SI(指向DS寄存器段的数据指针,串操作的源指针),DI(指向ES寄存器段中的数据的指针,串操作的目的指针),SP(堆栈指针)或BP(堆栈上数据指针)】
8位通用寄存器(AX,BH,CH,DH,AL,BL,CL或DL)
SRAM:存取速度最快的存储器
DRAM:
EPROM:
E2PROM:
8:中断向量表:中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址称为中断向量。
中断类型号和中断向量之间有下面的关系: 中断类型号×4=存放中断向量的首地址 有了存放中断向量的首地址,从该地址开始的4个存储单元中取出的就是中断服务程序的入口
9:逐次逼近型A/D转换器:其实质是逐次把设定的SAR中数字量经D/A转换后得到电压Vc,与待转换的模拟电压Vx进行比较,比较时,先从SAR的最高位开始,逐次确定各位的数码应是“1”还是“0”。
10:DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂 存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
DMA控制器:Intel8237A
DMA方式的工作原理:
一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号。外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。
实现DMA传送的基本操作如下:
(1)外设可通过DMA控制器向CPU发出DMA请求:
(2)CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;
(3)由DMA控制器发送存储器地址,并决定传送数据块的长度;
(4)执行DMA传送;
(5)DMA操作结束,并把总线控制权交还CPU。
用途:
DMA方式主要适用于一些高速的I/O设备。这些设备传输字节或字的速度非常快。对于这类高速I/O设备,如果用输入输出指令或采用中断的方法来传输字节信息,会大量占用CPU的时间,同时也容易造成数据的丢失。而DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。
11:奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。
12:
13:可编程定时器/计数器8253
(1)控制字:
工作方式选择:
方式0:计数结束中断方式:
方式1:可编程单稳态触发方式:
方式2:频率发生器方式:
方式3:方波发生器方式:
方式4:软件触发选通方式:
方式5:硬件触发选通方式:
(2)计数初值:==输入频率/输出频率
(3)初始化程序:
MOV DX ,尾地址
MOV AL ,控制字
OUT DX,AL
MOV DX,头地址
MOV AL,计数初值低八位
OUT DX,AL
MOV AL,计数初值高八位
OUT DX,AL
14:可编程并行接口8255A
基本工作方式:
方式0——基本输入/输出
方式1——选通输入/输出
方式2——双向传送
实验一:使用8255的A口控制8个发光二极管的发光,并产生一定的效果,验证正确性
可编程并行接口8255的地址分配
A口 300H
B口 301H
C口 302H
控制寄存器端口 303H
控制字为:10000000B
代码:
MY_DATA SEGMENT ;定义数据段
MY_DATA ENDS;数据段结束
MY_CODE SEGMENT ;定义代码段
ASSUME CS:MT_CODE,
DS :MY_DATA;规定CS和DSD的内容
PORTK EQU 303H
PORTA EQU 300H;端口地址的符号名
START : MOVE AX,MY_DATA ;DS初始化MY_DATA
MOVE DS,AX
MOVE AL 10000000B ; 写入控制字,口A 方式0 输出
MOVE DX PORTK ;
OUT DX,AL
MOV DX,PORTA
MOVE AL,10101010B
OUT DX,AL
MOV AH,4CH
INT 21H
MY_CODE ENDS
END START
15:存储容量与地址线与数据线
地址线确定容量:2ˆn字节
数据线确定字长:若字长32位,则一字等于32bit,表示处理器一次可处理4个存储单元
例:用4k*1位的ram芯片组成8k*8的存储器,a0-a19地址线中哪些参与片内寻址?哪些用作芯片组的片选信号?
答:(8/4)*(8/1)=16片 先位扩展,8片一组,扩展为4k*8。 然后字扩展,2组4k*8组成8k*8(需要片选信号),只需要两根地址线就可以寻址完成。不必加译码器。因此用A12 ,A13做片选信号。
8086的数据线和地址线是以 分时复用 的方式轮流使用的。
16:8086CPU中,若段地址为1000H,则首地址是1000H*16=10000H,最高地址为10000H+FFFFH=1FFFFH
17:物理地址=段地址*16+偏移地址;
18:异步通信的三种方式:单工通信,半双工通信,全双工通信
19:计算机系统与外部设备的4种数据传送方式:无条件传送,查询方式,中断方式,DMA
1111