第九讲 8086 8088 CPU 输入输出接口技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 无条件传送的输出方式:CPU输出地址 后,经过地址译码器选通输出锁存器。 • ALE为0,表示非DMA 操作。
24
输入输出传送方式
– 由译码器提供至少一个I/O地址来对端口寻址。 – 输入口和输出口在这里使用了同一个译码地址。 – 因为除了一个地址信号以外,还有读、写信号可以参 加控制。如当地址有效,读信号有效时,可以选中输 入缓冲器;而当地址有效,写信号有效时,则选中输 出锁存器。 – 也可以分别给输出口和输入口各有一个地址。
STR:
LOP:
DELAY
WAT:
DELAY
LEA MOV MOV INC MOV OUT PUSH CALL POP LOOP PROC MOV LOOP RET ENDP
BX, TAB CH, 0 CL, [BX] BX AL, [BX] PORT, AL CX DELAY CX LOP
CX, 2801 WAT
4
接口技术的基本概念
• 接口电路的功能
– 数据的寄存和缓存:解决外设与主机的速度 差距 – 设备选择功能 :多种设备的选择 – 信号转换功能 :外设与主机的信号差异 – 对外设的控制监视功能:操作同步 – 中断和DMA功能 :解决实时性和并行性问 题 – 可编程功能:灵活性和可扩充性
5
接口技术的基本概念
;取7段码表基地址
;开关接口的地址为F1H ;读入开关状态 ;保留低4位 ;作为7段码表的表内位移量 ;取7段码 ;7段数码管接口的地址为F0H
22
输入输出传送方式
• 无条件传送的输入方式:CPU输出地址 后,经过地址译码器选通输入缓冲器。 • ALE为0,表示非DMA 操作。
23
输入输出传送方式
25
输入输出传送方式
– 无条件传送使用的场合:
• 或者是外设的工作速度很快,使得CPU两次读写操作之 间的时间,外设肯定可以处理完上次的数据。因此就不 需要考虑外设的状态。就象CPU和存储器交换信息。 • 或者是外设的速度虽然并不很快,但CPU两次读写外设 的操作,一定有较长时间的间隔。而这个时间间隔对于 处理上一个数据,时间肯定是足够的。
6
CPU与I/O之间的接口信号
• 接口电路中的信息
– 数据信息 数据信息可以有各种形式:
• 数字量。大多数信息是数字信息,即二进 制信息或者代表字符的ASCII码 • 开关量。开关量实际是数字信息,但一般只 占用一位二进制信息,以表示开关的打开或 闭合。 • 模拟量。通过接口的模拟量,要变换为数字 量,再加到计算机。
CPU和外设之间的数据传送方式
• 无条件传送方式
– 无条件是指CPU不管外设的状态,在需要和外 设交换信息的时候,就用输入或输出指令和外 设交换信息。 – 在这种方式下,CPU和外设之间只有数据信息 的传送,没有状态信息的传送。 – 但无条件传送,不等于不需要接口电路,只是 接口电路可以比较简单,因为只有数据的通道, 一般就只有输出锁存器和输入缓冲器。
端口
• 接口和端口
为了区分以上所述的三种信息,在接口部件中都包含一组寄存器,分 别对应不同的外设地址,CPU和外设交换信息时,将三种不同的信息, 送入不同的寄存器: – 数据送入数据寄存器,状态信息就送入状态寄存器,等等。 – 这些寄存器就称为端口(PORT)。不同的端口有不同的地址,不 同的端口存放不同的信息。
第8讲 微型计算机和外设间的数
据传输
苏 放 frossesu@sohu.com 北京邮电大学 信息与通信工程学院
1
接口技术的基本概念
2
接口技术的基本概念
• 为什么要用接口电路
– 解决计算机的高速和外设的低速的矛盾
• 一般来说,外部设备的工作速度比CPU的速度低许 多。如果没有接口,CPU必须长期的等待,才可以 和外设配合工作。就会大大降低CPU的工作效率。
Rx8
≥1
A7~A4
&
≥1
D0 Q0 | Q1 D7 Q2 Q3 Q4 CP Q5 Q6 Q7
a b c d e f g DP
G G2A G2B C B A Y0
+5V 74LS244 K0~K3 D0
A15~A8
A3 A2 A1 A0
O1 I1
Y1
D1 D2 D3
O2 I2
O3 I3 O4 I4
#E1
;CL=8 ;取波形形状 ;输出 ;延迟
28
输入输出传送方式
– 以上程序可以使用无条件传送是因为在两次 传送之间有一个10ms的延迟。 – 10ms的延迟既是波形间隔的需要,也保证了 输出的稳定性。 – 实际上,延迟也是一种等待。这种方式的无 条件传送,也是通过等待来解决CPU和外设 的速度匹配。 – 但延迟的长短是估计的,要精确地匹配CPU 和外设的工作,可以使用查询方式。
– 解决计算机信号和外设信号的差别。
• 如模拟和数字的差别、信号电平高低的差别、信号 传送方式的差别(并行和串行)等。
3
接口技术
• 微机系统由连接在系统总线上的CPU,存 储器, 外设,接口电路,电源组成。
– 接口是指CPU和存储器、外部设备之间通过 系统总线进行连接的逻辑部件。它是CPU和 外界进行信息交换的中转站。 – 要使这些设备正常工作,一是要设计正确的 接口电路,二是要编制相应的软件。 – 接口技术是采用硬件和软件方法研究微处理 器如何与外界进行最佳偶合,实现CPU与外 界高效可靠进行信息交换的技术。
’0’
’1’ ’2’ ’3’ ’4’ ’5’ ’6’ ’7’
’8’
’9’ ’A’ ’B’ ’C’
’D’
’E’ ’F’
F0H = 0000 0000 1111 0000 F1H = 0000 0000 1111 0001
D0~D7 译码电路 IOW#
74LS138
74LS273
7406 8个 反相器
8
CPU与I/O之间的接口信号
– 控制信息
• 控制信息一般是CPU通过接口电路传送给外部设 备的,一般控制外部设备的动作。如启动打印机 开始打印,启动A/D转换器,开始模拟到数字信 号的转换等。
– 这三种信息,将都通过数据总线在CPU和接 口之间传送。
• 从形式上看,三种信息并没有差别,都是二进制 信息。如10000000,既可以是数据信息,代表十 进制数128,也可以是一种状态信息,或一种控 制信息。 9
29
输入输出传送方式
• 查询式传送(条件传送方式)
– 这种方式,CPU要遵循“先查询,后传送” 的原则,保证只有在外设已经是在“准备好” 状态,才开始传送数据。 – 查询式传送的一般流程: • 先从状态口读入状态字; • 如果状态是“准备好”,开始传送; • 如果状态是“没有准备好”,则继续查询, 直到“准备好”,开始传送。
21
IOR#
≥1
相应程序段如下:
Seg7 …… DB DB …… LEA MOV MOV IN AND MOV MOV MOV OUT JMP 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,67H,77H,7CH,39H,5EH,79H,71H
GO:
BX, Seg7 AH, 0 DX, 0F1H AL, DX AL, 0FH SI, AX AL, [BX+SI] DX, 0F0H DX, AL GO
7
CPU与I/O之间的接口信号
• 状态信息
– 状态信息主要是反映外设的工作状态
– 对于输入设备,可以表示它是否准备好数据,只有数 据已准备好,才启动CPU一次读入操作。 – 对于输出设备,可以反映它是否已经把上一个数据处 理完,只有上一个数据处理完,才可以启动CPU的下 一次输出操作。
– 状态信息也可以是CPU传送给外部设备的, 传送CPU的状态。 – 状态信息也称为握手信息。
端口及其寻址方式
– I/O映射方式,即I/O端口单独编址 这时,存储器和I/O接口,各自都有自己的地址 范围,而且这些地址在数值上可以是重叠的。 也就是不能用地址来区别存储器和外设。 – 此时,必须有专门的I/O操作指令。更实质地说, 是需要有用于存储器寻址和外设寻址的不同控 制信号。 – 对8086来说,就是这种情况。用来区别存储器 和I/O端口的信号的M/IO:对存储器操作时, 此信号为1;对外设操作时,此信号为0。 12
13
接口技术的基本概念
• 8086的输入输出指令:
– 输入:IN AL , n IN AX , n IN AL , DX IN AX , DX – 输出:OUT n, AL OUT n, AX OUT DX, AL OUT DX, AX – 注:n为8位无符号数,表示只有8条地址线 和外设相连,最多寻址256个I/O端口。 用DX表示地址时,最多有16条地址和外设 相连,最多寻址65536个端口。 14
17
输入输出传送方式
• 一位七段显示器接口电路:
18
输入/输出接口综合应用例子
• 根据开关状态在7段数码管上显示数字或符号
– 共阳极7段数码管结构 – 用74LS273作为输出接口,把数据送到7段数码管
• 74LS273的地址假设为F0H
– 用74LS244作为输入口,读入开关K0~K3的状态
• 74LS244的地址假设为F1H
10
端口及其寻址方式
• I/O端口的编址方式
– 存储器映射方式,即I/O端口和存储器统一 编址:即存储器和外设共同分享CPU的寻址 空间。一般,存储器占用较多的寻址空间, 而外设(I/O接口)占用较少的寻址空间。 – 在这种情况下,CPU可以用对存储器的操作 指令来对外设进行操作,两者对CPU来说, 实际上是相同的。即不需要专用的对外设操 作的指令。 11 – 外设和存储器的区别就在于地址。
– 当开关的状态分别为0000~1111时,在7段数码管 上对应显示’0’~’F’ –
19
符号
形状
7段码 .gfedcba
00111111 00000110 01011011 01001111 01100110 01101101 01111101 00000111
ຫໍສະໝຸດ Baidu
符号
形状
7段码 .gfedcba
01111111 01100111 01110111 01111100 00111001 01011110 01111001 01110001 20
26
输入输出传送方式
• 例:三路任意波形的输出
– 用数据线D2 D1 D0输出三路信号。波形的形 状由数据段来定义。 – 数据段: DATA SEGMENT TAB DB 08, 1, 2, 6, 3, 2, 4, 4, 0 PORT EQU 8CH DATA ENDS – 其中08表示波形有8个状态。 27
15
无条件传送方式
DB +5V
• 控制开关K0~K2打 开则对应发光二极 管Q0~Q2亮
输入接口
• 开关闭合则对应发 光二极管不亮
输出接口
K0
K1
K2
Q0 Q1 Q2
16 +5V
DON:IN AL,IN_PORT ;读入B口开关状态 XOR AL,0FFH ;求反 OUT OUT_PORT,AL ;点亮对应发光二极管 JMP DON HLT
33
输入输出传送方式
• 查询输入的部分程序:
POLL: MOV DX,STATUS_PORT IN AL,DX TEST AL,80H JE POLL MOV DX,DATA_PORT IN AL,DX
端口及其寻址方式
– 如果8086工作在最大方式,对外设寻址的控 制信号则是IORC和IOWC 。 – I/O端口单独编址,使存储器可以使用的地 址空间就是CPU的全部寻址范围。对8086, 就是1M。 – I/O端口单独编址时,可以使用的外设数目 由直接参与的地址线的数目来决定。对8086 来说,就是16条地址线,因此,最多可以对 65536个外设(或I/O端口)来交换信息。
– 计算机和存储器之间也是要交换信息的,但 计算机和存储器之间并没有专门的接口电路
• 原因就在于计算机和存储器的工作速度基本上是 匹配的,信号的形式也是一致的。如果存储器的 速度较慢,可以通过增加等待周期来解决。
– 而外设和计算机的工作速度相差太大,不可 能通过增加等待周期的方式来解决两者速度 的不一致。使用接口电路则是必然的。
30
输入输出传送方式
• 查询式输入:
ready
ready
31
输入输出传送方式
32
输入输出传送方式
– 图中的“选通信号”就是输入设备发出的状 态信号。选通脉冲有效时,触发器输出‘1’。 表示输入设备已经将数据准备好。 – CPU查询READY信号,有效时,发出输入 指令,从数据口读入输入数据。 – 图中的数据口读选通信号一方面选中数据缓 冲器,同时也是CPU的状态信号,它可以清 除触发器的输出,使之为0,以便接收下一 次的输入数据。
24
输入输出传送方式
– 由译码器提供至少一个I/O地址来对端口寻址。 – 输入口和输出口在这里使用了同一个译码地址。 – 因为除了一个地址信号以外,还有读、写信号可以参 加控制。如当地址有效,读信号有效时,可以选中输 入缓冲器;而当地址有效,写信号有效时,则选中输 出锁存器。 – 也可以分别给输出口和输入口各有一个地址。
STR:
LOP:
DELAY
WAT:
DELAY
LEA MOV MOV INC MOV OUT PUSH CALL POP LOOP PROC MOV LOOP RET ENDP
BX, TAB CH, 0 CL, [BX] BX AL, [BX] PORT, AL CX DELAY CX LOP
CX, 2801 WAT
4
接口技术的基本概念
• 接口电路的功能
– 数据的寄存和缓存:解决外设与主机的速度 差距 – 设备选择功能 :多种设备的选择 – 信号转换功能 :外设与主机的信号差异 – 对外设的控制监视功能:操作同步 – 中断和DMA功能 :解决实时性和并行性问 题 – 可编程功能:灵活性和可扩充性
5
接口技术的基本概念
;取7段码表基地址
;开关接口的地址为F1H ;读入开关状态 ;保留低4位 ;作为7段码表的表内位移量 ;取7段码 ;7段数码管接口的地址为F0H
22
输入输出传送方式
• 无条件传送的输入方式:CPU输出地址 后,经过地址译码器选通输入缓冲器。 • ALE为0,表示非DMA 操作。
23
输入输出传送方式
25
输入输出传送方式
– 无条件传送使用的场合:
• 或者是外设的工作速度很快,使得CPU两次读写操作之 间的时间,外设肯定可以处理完上次的数据。因此就不 需要考虑外设的状态。就象CPU和存储器交换信息。 • 或者是外设的速度虽然并不很快,但CPU两次读写外设 的操作,一定有较长时间的间隔。而这个时间间隔对于 处理上一个数据,时间肯定是足够的。
6
CPU与I/O之间的接口信号
• 接口电路中的信息
– 数据信息 数据信息可以有各种形式:
• 数字量。大多数信息是数字信息,即二进 制信息或者代表字符的ASCII码 • 开关量。开关量实际是数字信息,但一般只 占用一位二进制信息,以表示开关的打开或 闭合。 • 模拟量。通过接口的模拟量,要变换为数字 量,再加到计算机。
CPU和外设之间的数据传送方式
• 无条件传送方式
– 无条件是指CPU不管外设的状态,在需要和外 设交换信息的时候,就用输入或输出指令和外 设交换信息。 – 在这种方式下,CPU和外设之间只有数据信息 的传送,没有状态信息的传送。 – 但无条件传送,不等于不需要接口电路,只是 接口电路可以比较简单,因为只有数据的通道, 一般就只有输出锁存器和输入缓冲器。
端口
• 接口和端口
为了区分以上所述的三种信息,在接口部件中都包含一组寄存器,分 别对应不同的外设地址,CPU和外设交换信息时,将三种不同的信息, 送入不同的寄存器: – 数据送入数据寄存器,状态信息就送入状态寄存器,等等。 – 这些寄存器就称为端口(PORT)。不同的端口有不同的地址,不 同的端口存放不同的信息。
第8讲 微型计算机和外设间的数
据传输
苏 放 frossesu@sohu.com 北京邮电大学 信息与通信工程学院
1
接口技术的基本概念
2
接口技术的基本概念
• 为什么要用接口电路
– 解决计算机的高速和外设的低速的矛盾
• 一般来说,外部设备的工作速度比CPU的速度低许 多。如果没有接口,CPU必须长期的等待,才可以 和外设配合工作。就会大大降低CPU的工作效率。
Rx8
≥1
A7~A4
&
≥1
D0 Q0 | Q1 D7 Q2 Q3 Q4 CP Q5 Q6 Q7
a b c d e f g DP
G G2A G2B C B A Y0
+5V 74LS244 K0~K3 D0
A15~A8
A3 A2 A1 A0
O1 I1
Y1
D1 D2 D3
O2 I2
O3 I3 O4 I4
#E1
;CL=8 ;取波形形状 ;输出 ;延迟
28
输入输出传送方式
– 以上程序可以使用无条件传送是因为在两次 传送之间有一个10ms的延迟。 – 10ms的延迟既是波形间隔的需要,也保证了 输出的稳定性。 – 实际上,延迟也是一种等待。这种方式的无 条件传送,也是通过等待来解决CPU和外设 的速度匹配。 – 但延迟的长短是估计的,要精确地匹配CPU 和外设的工作,可以使用查询方式。
– 解决计算机信号和外设信号的差别。
• 如模拟和数字的差别、信号电平高低的差别、信号 传送方式的差别(并行和串行)等。
3
接口技术
• 微机系统由连接在系统总线上的CPU,存 储器, 外设,接口电路,电源组成。
– 接口是指CPU和存储器、外部设备之间通过 系统总线进行连接的逻辑部件。它是CPU和 外界进行信息交换的中转站。 – 要使这些设备正常工作,一是要设计正确的 接口电路,二是要编制相应的软件。 – 接口技术是采用硬件和软件方法研究微处理 器如何与外界进行最佳偶合,实现CPU与外 界高效可靠进行信息交换的技术。
’0’
’1’ ’2’ ’3’ ’4’ ’5’ ’6’ ’7’
’8’
’9’ ’A’ ’B’ ’C’
’D’
’E’ ’F’
F0H = 0000 0000 1111 0000 F1H = 0000 0000 1111 0001
D0~D7 译码电路 IOW#
74LS138
74LS273
7406 8个 反相器
8
CPU与I/O之间的接口信号
– 控制信息
• 控制信息一般是CPU通过接口电路传送给外部设 备的,一般控制外部设备的动作。如启动打印机 开始打印,启动A/D转换器,开始模拟到数字信 号的转换等。
– 这三种信息,将都通过数据总线在CPU和接 口之间传送。
• 从形式上看,三种信息并没有差别,都是二进制 信息。如10000000,既可以是数据信息,代表十 进制数128,也可以是一种状态信息,或一种控 制信息。 9
29
输入输出传送方式
• 查询式传送(条件传送方式)
– 这种方式,CPU要遵循“先查询,后传送” 的原则,保证只有在外设已经是在“准备好” 状态,才开始传送数据。 – 查询式传送的一般流程: • 先从状态口读入状态字; • 如果状态是“准备好”,开始传送; • 如果状态是“没有准备好”,则继续查询, 直到“准备好”,开始传送。
21
IOR#
≥1
相应程序段如下:
Seg7 …… DB DB …… LEA MOV MOV IN AND MOV MOV MOV OUT JMP 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,67H,77H,7CH,39H,5EH,79H,71H
GO:
BX, Seg7 AH, 0 DX, 0F1H AL, DX AL, 0FH SI, AX AL, [BX+SI] DX, 0F0H DX, AL GO
7
CPU与I/O之间的接口信号
• 状态信息
– 状态信息主要是反映外设的工作状态
– 对于输入设备,可以表示它是否准备好数据,只有数 据已准备好,才启动CPU一次读入操作。 – 对于输出设备,可以反映它是否已经把上一个数据处 理完,只有上一个数据处理完,才可以启动CPU的下 一次输出操作。
– 状态信息也可以是CPU传送给外部设备的, 传送CPU的状态。 – 状态信息也称为握手信息。
端口及其寻址方式
– I/O映射方式,即I/O端口单独编址 这时,存储器和I/O接口,各自都有自己的地址 范围,而且这些地址在数值上可以是重叠的。 也就是不能用地址来区别存储器和外设。 – 此时,必须有专门的I/O操作指令。更实质地说, 是需要有用于存储器寻址和外设寻址的不同控 制信号。 – 对8086来说,就是这种情况。用来区别存储器 和I/O端口的信号的M/IO:对存储器操作时, 此信号为1;对外设操作时,此信号为0。 12
13
接口技术的基本概念
• 8086的输入输出指令:
– 输入:IN AL , n IN AX , n IN AL , DX IN AX , DX – 输出:OUT n, AL OUT n, AX OUT DX, AL OUT DX, AX – 注:n为8位无符号数,表示只有8条地址线 和外设相连,最多寻址256个I/O端口。 用DX表示地址时,最多有16条地址和外设 相连,最多寻址65536个端口。 14
17
输入输出传送方式
• 一位七段显示器接口电路:
18
输入/输出接口综合应用例子
• 根据开关状态在7段数码管上显示数字或符号
– 共阳极7段数码管结构 – 用74LS273作为输出接口,把数据送到7段数码管
• 74LS273的地址假设为F0H
– 用74LS244作为输入口,读入开关K0~K3的状态
• 74LS244的地址假设为F1H
10
端口及其寻址方式
• I/O端口的编址方式
– 存储器映射方式,即I/O端口和存储器统一 编址:即存储器和外设共同分享CPU的寻址 空间。一般,存储器占用较多的寻址空间, 而外设(I/O接口)占用较少的寻址空间。 – 在这种情况下,CPU可以用对存储器的操作 指令来对外设进行操作,两者对CPU来说, 实际上是相同的。即不需要专用的对外设操 作的指令。 11 – 外设和存储器的区别就在于地址。
– 当开关的状态分别为0000~1111时,在7段数码管 上对应显示’0’~’F’ –
19
符号
形状
7段码 .gfedcba
00111111 00000110 01011011 01001111 01100110 01101101 01111101 00000111
ຫໍສະໝຸດ Baidu
符号
形状
7段码 .gfedcba
01111111 01100111 01110111 01111100 00111001 01011110 01111001 01110001 20
26
输入输出传送方式
• 例:三路任意波形的输出
– 用数据线D2 D1 D0输出三路信号。波形的形 状由数据段来定义。 – 数据段: DATA SEGMENT TAB DB 08, 1, 2, 6, 3, 2, 4, 4, 0 PORT EQU 8CH DATA ENDS – 其中08表示波形有8个状态。 27
15
无条件传送方式
DB +5V
• 控制开关K0~K2打 开则对应发光二极 管Q0~Q2亮
输入接口
• 开关闭合则对应发 光二极管不亮
输出接口
K0
K1
K2
Q0 Q1 Q2
16 +5V
DON:IN AL,IN_PORT ;读入B口开关状态 XOR AL,0FFH ;求反 OUT OUT_PORT,AL ;点亮对应发光二极管 JMP DON HLT
33
输入输出传送方式
• 查询输入的部分程序:
POLL: MOV DX,STATUS_PORT IN AL,DX TEST AL,80H JE POLL MOV DX,DATA_PORT IN AL,DX
端口及其寻址方式
– 如果8086工作在最大方式,对外设寻址的控 制信号则是IORC和IOWC 。 – I/O端口单独编址,使存储器可以使用的地 址空间就是CPU的全部寻址范围。对8086, 就是1M。 – I/O端口单独编址时,可以使用的外设数目 由直接参与的地址线的数目来决定。对8086 来说,就是16条地址线,因此,最多可以对 65536个外设(或I/O端口)来交换信息。
– 计算机和存储器之间也是要交换信息的,但 计算机和存储器之间并没有专门的接口电路
• 原因就在于计算机和存储器的工作速度基本上是 匹配的,信号的形式也是一致的。如果存储器的 速度较慢,可以通过增加等待周期来解决。
– 而外设和计算机的工作速度相差太大,不可 能通过增加等待周期的方式来解决两者速度 的不一致。使用接口电路则是必然的。
30
输入输出传送方式
• 查询式输入:
ready
ready
31
输入输出传送方式
32
输入输出传送方式
– 图中的“选通信号”就是输入设备发出的状 态信号。选通脉冲有效时,触发器输出‘1’。 表示输入设备已经将数据准备好。 – CPU查询READY信号,有效时,发出输入 指令,从数据口读入输入数据。 – 图中的数据口读选通信号一方面选中数据缓 冲器,同时也是CPU的状态信号,它可以清 除触发器的输出,使之为0,以便接收下一 次的输入数据。