第六章 输入与输出
合集下载
C语言全国计算机二级等级考试教程第六章字符(章节带习题)(ppt文档)

12 3<CR> 1 2 3<CR> 1 2 3<CR>
⊙ 如下的语句为数值数据和字符数据进行混合输入:
int a1,a2; char c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2, &c2); 正确的读入形式: 10A 20B<CR> A和20之间必须有间隔符,间隔符的个数不限 此时变量a1接受的是10,c1接受的是‘A’, a2接受的是20,c2接受的是‘B’,
输出:putchar() 输入:getchar()
例如: char ch=‘A’; putchar(ch);
A
putchar(‘Y’); Y
例如: char ch; ch=getchar();
给字符变量接受字符
6.4 程序举例
例6.1 以下程序输出26个大写字母和它们的ASCII代码,每行输出两组数据。
第6章 字符型数据
6.1 字符型常量 6.2 字符变量 6.3 字符的输入和输出 6.4 程序举例
6.1 字符型常量
6.1.1 字符常量
字符常量:是用单引号括起来的一个字符。
例如
‘A’ ‘C’ ‘t’ ‘!’ ‘?’
说明
‘B’ ‘b’
是不同的字符常量
‘ ’ 单引号内是空格,也是合法的字符常量
例如
‘\n’ 回车换行符
‘\t’ 横向跳格符
‘\v’ 竖向跳格符
‘\r’ 回车符
‘\f’ 换页符
‘\b’ 退格符
‘\0’ 空值
‘\\’ 表示反斜杠
‘\‘’ 表示单引号
‘\“’ 表示双引号
‘\ddd’ 三位八进制数所代表的字符
第六章输入和输出_习题

第六章 输入和输出
- 1 - 第6章 输入和输出(习题与思考题)
6.1 微型计算机技术(孙德文)
1、CPU 同外设交换的信息有三种类型:数据信息、状态信息和控制信息,请说明CPU 是如何通过其三总线(地址总线、数据总线和控制总线)同外设交换这三类信息的?
2、简述查询式数据传送方式的工作过程。
3、简述中断传送方式的工作过程。
4、简述三种DMA 传送方式的区别。
5、简述DMA 控制器同一般接口芯片的区别。
6、画出查询传送方式输出数据的流程图。
7、通过如图习6-1的电路,可以把I/O 指令寻址结构改为存储器映象I/O 端口寻址的结构,试计算该电路结构中,I/O 端口和存储器的地址范围。
并简要说明二种I/O 端口寻址的区别。
图习6-1 存储器映象I/O
8、图习6-2为一个LED 接口电路,写出使8个LED 管自左至右依次发亮2秒的程序,并说明该接口属于何种输入输出控制方式,为什么?
I O W R 20H
图习6-2 LED 接口
9、简要说明8237A 三种基本传送类型的特点。
10、检验说明8237A 四种特殊传送类型的特点。
计算机输入输出系统思维导图

提高 U和I/O设备之间的并行性
缓冲的引入(原因)
解决数据粒度不匹配的问题
即在 U计算的时候,将数据数据输入到缓冲 区(大小取决与T和C的大小)
多个缓冲区 多个指针
即允许 U连续工作(T不断) 组成
单缓冲区 双缓冲区
Ge u 过程 R ea u 过程
使用
同步问题
环形缓冲区(专为生产者和消费者打造)
由空缓冲区链接而成F( m ),L( m )分别指向 该队列首尾缓冲区
瓶颈问题
数组多路通道
含有多个非分配型子通道,前两种通道的组合, 通道利用率较好
原因;通道不足
解决办法:增加设备到主机间的通路,而不增加 通道(结果类似 S触发器)
中断机构和中断处理程序
中断
分类
中断(外部触发)
对外部I/O设备发出的中断信号的响应
陷入(内部原因:除0)
由 U内部事件引起的中断
中断向量表(类比51单片机)
中断程序的入口地址表
中断优先级
对紧急程度不同的中断处理方式
对多中断源的处理方式
屏蔽中断 嵌套中断
测定是否有未响应的中断信号
中断处理程序
保护被中断进程的 U环境 转入相应的设备处理程序
中断处理
恢复 U 的现场并退出中断
设备驱动程序
是I/O进程与设备控制器之间的通信程序,又由 于它常以进程的形式存在,故以后就简称为设备 驱动进程
对数据所进行的I/O操作,已从对低速设备演变 为对输入井或输出井中的数据存取。
po n 技术是对脱机输入/输出系统的模拟
输入/输出井
输入/输出缓冲区 输入/输出进程
主要组成
井管理程序
提高了I/O的速度
假脱机系统( po n )
缓冲的引入(原因)
解决数据粒度不匹配的问题
即在 U计算的时候,将数据数据输入到缓冲 区(大小取决与T和C的大小)
多个缓冲区 多个指针
即允许 U连续工作(T不断) 组成
单缓冲区 双缓冲区
Ge u 过程 R ea u 过程
使用
同步问题
环形缓冲区(专为生产者和消费者打造)
由空缓冲区链接而成F( m ),L( m )分别指向 该队列首尾缓冲区
瓶颈问题
数组多路通道
含有多个非分配型子通道,前两种通道的组合, 通道利用率较好
原因;通道不足
解决办法:增加设备到主机间的通路,而不增加 通道(结果类似 S触发器)
中断机构和中断处理程序
中断
分类
中断(外部触发)
对外部I/O设备发出的中断信号的响应
陷入(内部原因:除0)
由 U内部事件引起的中断
中断向量表(类比51单片机)
中断程序的入口地址表
中断优先级
对紧急程度不同的中断处理方式
对多中断源的处理方式
屏蔽中断 嵌套中断
测定是否有未响应的中断信号
中断处理程序
保护被中断进程的 U环境 转入相应的设备处理程序
中断处理
恢复 U 的现场并退出中断
设备驱动程序
是I/O进程与设备控制器之间的通信程序,又由 于它常以进程的形式存在,故以后就简称为设备 驱动进程
对数据所进行的I/O操作,已从对低速设备演变 为对输入井或输出井中的数据存取。
po n 技术是对脱机输入/输出系统的模拟
输入/输出井
输入/输出缓冲区 输入/输出进程
主要组成
井管理程序
提高了I/O的速度
假脱机系统( po n )
西安交大-计算机系统结构复习提纲(可打印)

二、基本原理
1. 开发 ILP 的两种方法 硬件动态,软件静态
2. 流水线中的调度策略 集中式调度、分布式调度 动态调度——乱序 Tomasulo 算法 分布式检测:重命名(换名)
3. 动态分支预测 针对控制相关,由硬件处理, 分支历史表 BHT——历史状态, 分支目标缓冲器 BTB——历史目标地址
5. 指令结构功能设计 CISC 机:三个目标优化 (也反映了编译,操作系统和系统结构的关系) 面向目标程序、面向高级语言、面向操作系统
RISC 机: 导致 RISC 机产生的缘由; (2-8 定理;控制器负责;不易纠错修改) 设计 RISC 机遵循的基本原则;
三、计算与设计
1. 指令格式设计 2. 指令格式的优化
延迟转移技术(延迟槽) 9. 流水线中的中断处理
不精确断点、精确断点 10. 向量处理机
向量数据表示,向量指令 向量处理方式
三、计算与设计
1. 时空图 2. 性能分析 3. 非线性流水线最小平均启动时间
第四章:指令级并行
一、基本概念——名词
超标量,超流水,动态调度,静态调度,超长指令字,保留站,Tomasulo 算法,ILP,BHT, BTB,ROB,前瞻执行(先执行再确认)
计算机系统结构是机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就 是计算机的概念性结构和功能特性。
(还有一个系统结构定义,这是由于存在计算机系统层次结构,不同的人看到不同的计 算机结构) 2. 计算机系统结构、组成与实现的三者关系:
系统结构——存在某个部件 计算机组成——罗技实现,门一级实现 计算机实现——物理实现,器件一级实现
第三章:流水线技术
一、基本概念——名词
先行控制,流水线,单功能流水线,标量流水线,重定向,分支预取,专用通道,无冲突调 度方法,冲突向量,启动距离,性能分析,时空图,缓冲技术,预处理等
1. 开发 ILP 的两种方法 硬件动态,软件静态
2. 流水线中的调度策略 集中式调度、分布式调度 动态调度——乱序 Tomasulo 算法 分布式检测:重命名(换名)
3. 动态分支预测 针对控制相关,由硬件处理, 分支历史表 BHT——历史状态, 分支目标缓冲器 BTB——历史目标地址
5. 指令结构功能设计 CISC 机:三个目标优化 (也反映了编译,操作系统和系统结构的关系) 面向目标程序、面向高级语言、面向操作系统
RISC 机: 导致 RISC 机产生的缘由; (2-8 定理;控制器负责;不易纠错修改) 设计 RISC 机遵循的基本原则;
三、计算与设计
1. 指令格式设计 2. 指令格式的优化
延迟转移技术(延迟槽) 9. 流水线中的中断处理
不精确断点、精确断点 10. 向量处理机
向量数据表示,向量指令 向量处理方式
三、计算与设计
1. 时空图 2. 性能分析 3. 非线性流水线最小平均启动时间
第四章:指令级并行
一、基本概念——名词
超标量,超流水,动态调度,静态调度,超长指令字,保留站,Tomasulo 算法,ILP,BHT, BTB,ROB,前瞻执行(先执行再确认)
计算机系统结构是机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就 是计算机的概念性结构和功能特性。
(还有一个系统结构定义,这是由于存在计算机系统层次结构,不同的人看到不同的计 算机结构) 2. 计算机系统结构、组成与实现的三者关系:
系统结构——存在某个部件 计算机组成——罗技实现,门一级实现 计算机实现——物理实现,器件一级实现
第三章:流水线技术
一、基本概念——名词
先行控制,流水线,单功能流水线,标量流水线,重定向,分支预取,专用通道,无冲突调 度方法,冲突向量,启动距离,性能分析,时空图,缓冲技术,预处理等
计算机原理 第六章输入输出系统

1
2
3
为保证总线所传输的信息的有效性,总线 信息应具有单一性:在同一时刻至多只能有一 个部件向总线发送信息,但可以有多个部件同 时接收总线信息。
1. 总线电路: 输出挂在总线上的部件需通过“总线电路” 向总线发送信息。
总线电路由三态输出器件(TSL器件)承担。 input TSL control output
1. ISA总线:用于IBM PC/XT 微机系统,(8086),一共62根信号线, 其中20根地址线,8根数据线,4个读写信号,6个中断请求线,3 路DMA请求,还包括时钟、电源线和地等,总线带宽 8.33 MB/s。
2.EISA总线 (80386), 数据线扩展到了32位,带宽达到了33.3MB/s。 3. PCI总线:(Peripheral component interconnection)(外围部 件互连) 总线频率为33 MHZ→66MHZ→133MHZ, 可以直接连接高速外部 设备。 同步时序总线,对地址信号和数据信号分时复用, 64根线,采用集中式的总线仲裁方式。 4.AGP总线(加速图形接口总线) AGP总线把主存和显存连接起来,不再走PCI总线。 5.USB总线(通用串行总线)主要用于连接低速输入输出设备。 带宽为1.5MB/s。
3. 控制总线CB(Control Bus) 控制总线用来传送各类控制/状态信号。
包括I/O读写命令,MEMR/W存储器读写命令,应答信号,总线请求与 总线使用信号,复位信号,时钟信号等。
4. 电源线
许多总线标准中都包含了电源线的定义,主要有+5V逻辑电源;GND逻 辑电源地;-5V辅助电源;±12V辅助电源。
2.计数器查询方式
在计数器查询方式中,总线上的任一设备申请使用总线时,通过 BR线发出总线请求。
微机原理与接口技术_第6章 IO接口

三、I/O端口编址 (续) 2.I/O独立编址(续)
缺点: 专用I/O指令增加指令系统复杂性,且I/O指 令类型少,程序设计灵活性较差; 要求处理器提供MEMR#/MEMW#和IOR#/IOW#两 组控制信号,增加了控制逻辑的复杂性。
三、I/O端口编址 (续)
PC系列微机I/O端口访问 1.I/O端口地址空间
程序控制方式
程序控制方式是指CPU与外设之间的数据传送由程序 控制完成。 程序控制方式又分为无条件传送和条件传送两种 1.无条件传送方式(同步传送) 特点:输入时假设外设已准备好,输出时假设外设 空闲。 要求:输入接口加缓冲器,输出接口加锁存器。 应用:对简单外设的操作。
1. 无条件传送方式(同步传送) 输入接口的设计要求:
寻 址 确定输入端口地址 AB、M/ IO、ALE、DT/R 等待数据输入 等待数据输入 输入缓冲器 读入数据 输入缓冲器 DB CPU
一、 I/O 接口的功能 (续)
3. I/O接口应具有的功能(解决的方案)
1) 设置数据缓冲器以解决两者速度差异所带来的 不协调问题; 输出时: CPU DB 锁存器 输出设备数据线
以上三类信息分别通过各自的寄存器和相应的控制逻辑 来完成信息的传送。通常将这类寄存器和相应的控制逻辑称 为I/O端口。CPU与一个外设之间通常有三个端口。数据端口 (输入/输出);状态端口;控制端口。
二、I/O接口的一般结构 (续) I/O接口组成:接口由接口硬件和接口软件组成。 1.接口硬件
接口
这类接口面对总线,因此要使用三态输出器件; 对于输入信号有记忆功能的一般使用三态门; 对于输入信号无记忆功能的一般还要增加锁存功能;
1. 无条件传送方式(同步传送)
第六章信号的转换PPT课件

第二节 电压比较电路
1、运放的工作状态 比较器电路中的运放一般在开环或正反馈条件 下工作,运放的输出电压只有正和负两种饱和 值,即运放工作在非线性状态。在这种情况下, 运放输入端“虚短”的结论不再适用,但“虚 断”的结论仍然可用(由于运放的输入电阻很 大)。 2、电压比较器的类型 常用的电压比较器有零电平比较器、非零电平 比较器、滞回比较器和窗口比较器等电路。
捕捉时间
关断时间
限制了电路的工作 速度
第一节 采样保持电路
采样保持电路的基本性质 组成: 1. 模拟开关 2. 模拟信号存储电容 3. 缓冲放大器
第一节 采样保持电路
ui ,uo
O fs(t)
O Ts
a)
uo
f(t)
t
t
模拟信号采样
采样保持电路
对采样保持电路的主要要求: 精度和速度
为提高实际电路的精度和速度,可从元件和 电路两方面着手解决。
滞后电平可调,合理选择大小,使之稍大于预计的干抗信号,就可消除 振铃现象。但不可太大,否则检测误差太大。
电压比较电路
三 窗口比较电路
R1
UZ
E
UR1
VS
RP
UR2
R2
Uo
-1
#
“1”
+1 N1 Uo1
&
-1
#
+1 N2 Uo2
Uo O “0”
ui
单方向多个阈值
U
U R2
U R1
ui
四、比较电路的应用
电压比较器的性能指标
(1)阈值电压:比较器输出发生跳变时的输 入电压称之为阈值电压或门限电平。
(2)输出电平:输出电压的高电平和低电平。 (3)灵敏度:输出电压跳变前后,输入电压
第六章( CSH 语法介绍 )

表4-1 常用文件重定向命令
command > filename
把标准输出重定向到一个新的文件中
command >> filename
把标准输出重定向到一个文件中(追加)
command 1 > fielname
把标准输出重定向到一个文件中
command > filename 2>&1
把标准输出和标准错误一起重定向到一个文件中
$set x = 100
$echo “this x value $x”
this x value 100
如果我们在变量后面不加空格则需要做如下处理:
$ set x = 100
$echo “this x value ${x}y”
this x value 100y
6.2.3:tee 命令:
tee 命令作用可以用字母 T 形象的表示,它的输出的一个副本输送到标准输出,另一个副本则拷贝到相
genesis console
Oct 19 14:29 (:0)
genesis dtremote Oct 23 12:18 (192.168.200.168:1)
genesis pts/3
Oct 23 12:18 (192.168.200.168:1.0)
genesis pts/4
Oct 23 12:19 (192.168.200.168:1.0)
第六章
CSH 语法介绍
如果要显示双引号则需要用下面的方法:
$echo ‘how “are” you’
how “are'” you
请注意的是作为符号的那一组必须成对的出现。否则将出现错误提示。
(2):显示变量$x 的值:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
读入数据端口信息
2018年11月18日7时44分
查询式输入
12
?查询式输出
?CPU用查询方式向外设输出数据时,必须先由状态端口查
询外设是否空闲,若外设数据寄存器的数据已输出,表示 有空,可接收CPU的数据,否则CPU等待。
?查询式输出方式接口电路有两个端口:数据输出端口和状
态输入端口 。
?假设状态信号连到 CPU的D0上,查询式输出方式的查询程
据端口输入数据。
?查询式输入方式接口电路有两个端口,数据信息和状态信
息分别由数据端口和状态端口输入到数据总线 。
?若数据为 8位,则占有一个 8位端口;状态信息只有 1位,
一个8位的状态端口可供8个外设用。
?假设状态信号连到 CPU的D7上,查询式输入方式的查询程
序段如下(1为准备好):
LOO1 : IN AL,状态端口地址 TEST AL ,80H JZ LOOP1
传感器
放大
A/D
CPU
D/A
执行 机构
接口信号
数据
CPU
I/O
状态
控制
?数据 ?数字量 ?模拟量 ?开关量
?状态信息 表征目前I/O所处状态
?控制信息 CPU发出控制I/O工作的信息
2018年11月18日7时44分
5
端口地址
数据
CPU
数据
端口
M/IO
状态 端口
RD
控制
端口 WR
数据
I/O 状态 装置
? 信号转换
外设所需的控制信号和它所提供的状态信号往往与系统的 总线信号不兼容,信号转换是接口的一个重要任务。
? 设备选择
? 数据宽度与数据格式转换
应具有“并-串”或“串-并”转换的功能
2018年11月18日7时44分
3
§2 I/O 寻址方式
?存储器对应的寻址方式
?将I/O当成存储器寻址,每个I/O占有存储器的一个地址。 ?与存储器一起占有1MB的存储空间 ?特点:指令丰富,I/O数量不受限制,不便于阅读
序段如下(1为准备好): LOO1 : IN AL,状态端口地址
TEST AL ,01H
JZ LOOP1 MOV AL ,BL OUT 数据端口地址, AL
输入/输出操作。
?即用状态端口提供外设的工作状态。
?查询方式的过程
?输入I/O 接口的状态端口的内容(0或1)。 ?确认是否准备就绪。 ?是,传送数据;否,等待。
2018年11月18日7时44分
10
?查询式输入
?CPU用查询方式从外设中输入数据时,必须先由状态端口
查询外设的数据是否已经准备好,确认准备好后,再由数
2018年11月18日7时44分
2ห้องสมุดไป่ตู้
接口的功能
? 执行CPU的命令
CPU对被控对象外部设备的控制命令是以命令代码的形式 先发送到接口的命令寄存器,即命令端口。
? 返回外设状态
如,“忙”、“闲”、“准备就绪”、“未准备就绪”等 状态,接口中一般设置状态寄存器,即状态端口。
? 数据缓冲
为了解决高速主机和低速外设的矛盾,避免因速度不匹配 而丢失数据,接口中一般都设置数据缓冲器。
第六章 输入与输出
2018年11月18日7时44分
1
§1 基本概念
?CPU 的外设种类繁多,在电平,功率,速度,信息形
式上与 CPU有很大的差别。
?有许多矛盾需解决,而不能简单的连接。 ?要解决的问题:
?CPU 如何对I/O 寻址 ?CPU 如何与不同速度的外设配合工作 ?CPU 如何与大量外设协调工作 ?CPU 如何在电平,功率上与外设协调工作 ?CPU 如何与不同信息形式的外设配合工作
CPU执行 “OUT”指令
?特点
?接口电路简单,程序设计简单。
?输入时,应保证输入的数据已准备好。
?输出时,应保证外设已将上次送出的数据取走,可接收新
的数据。 2018年11月18日7时44分
7
输入数据
三态 缓冲器
CS
&
CPU数据线
地址 M/IO RD
无条件式传送输入接口 IN AL,08H
输出数据
锁存器 CS &
2018年11月18日7时44分
CPU数据线
地址 M/IO WR
无条件式传送输出接口 OUT 08H,AL
8
例,不断读入按钮的状态,若按钮按下, LED亮,未按下则灭. 注:三态门作为输入接口,锁存器作为输出接口 Q7=1,亮;Q7=0,灭
+5V
输出接口
D0-D7
IOW ·30H
锁存器 Q7
2018年11月18日7时44分
6
二,I/O控制方式
?无条件传送方式(同步方式)
?用于CPU与低速的外设间传送数据。
?数据的保持时间相对CPU的速度要慢得多。
?输入端口直接用三态缓冲器,外界数据送到其输入端,
CPU执行 “IN”指令
?对于输出设备要求锁存,输出的数据应在输出接口的输出
端保持一段时间,锁存的时间与外设的动作速度相适应。
?专用I/O寻址方式
?将存储器和I/O 分别寻址 ?用专用的 IN 和OUT 指令 ?用8条地址线或16条地址线寻址 ?特点:I/O 不占存储器地址,译码电路较简单。易于阅读
2018年11月18日7时44分
4
§3 CPU 与I/O 数据传送方式
一,CPU与I/O间的接口信号
一个控制过程
工业现场 的模拟量
CS
D7
IOR ·40H
输入接口
STA :IN AL ,40H AND AL ,80H JNZ OPE MOV AL ,80H OUT 30H,AL JMP STA
OPE:MOV AL ,00H OUT 30H,AL JMP STA HLT
2018年11月18日7时44分
9
?查询传送方式
?CPU与外设的速度在多数情况下是不匹配的 。 ?CPU必须在外设准备好的情况下才能与其传送数据。 ?接口电路中一般都有一个反映外设准备就绪的标志。 ?只有当其表征外设具备工作条件时, CPU才能控制数据的
控制
?数据,状态和控制是不同性质的信息,必须分别传送 ?但CPU只有 IN 和 OUT 指令 ?所以外设的状态信息也必须作为数据输入 ?CPU发出的控制信息也必须作为数据输出 ?外设与主机的连接端口也包含:数据端口,状态端口和控制端口 ?每个端口一个地址,CPU是对端口寻址,而不是笼统对外设寻址 ?接口是有若干个端口组成
D7 D0 数据端口
D7
状态端口
IN AL ,数据端口地址
2018年11月18日7时44分
11
输 入 设 备
选通 信号
+5V
锁 存 器
R DQ
&
M/IO
地址
RD
总线 地址译码器
缓
冲 器
CPU数据总线
至D7 状态信号(READY)
&
M/IO
地址
RD 地址译码器 总线
读入状态端口信息
N 数据准备好? Y
2018年11月18日7时44分
查询式输入
12
?查询式输出
?CPU用查询方式向外设输出数据时,必须先由状态端口查
询外设是否空闲,若外设数据寄存器的数据已输出,表示 有空,可接收CPU的数据,否则CPU等待。
?查询式输出方式接口电路有两个端口:数据输出端口和状
态输入端口 。
?假设状态信号连到 CPU的D0上,查询式输出方式的查询程
据端口输入数据。
?查询式输入方式接口电路有两个端口,数据信息和状态信
息分别由数据端口和状态端口输入到数据总线 。
?若数据为 8位,则占有一个 8位端口;状态信息只有 1位,
一个8位的状态端口可供8个外设用。
?假设状态信号连到 CPU的D7上,查询式输入方式的查询程
序段如下(1为准备好):
LOO1 : IN AL,状态端口地址 TEST AL ,80H JZ LOOP1
传感器
放大
A/D
CPU
D/A
执行 机构
接口信号
数据
CPU
I/O
状态
控制
?数据 ?数字量 ?模拟量 ?开关量
?状态信息 表征目前I/O所处状态
?控制信息 CPU发出控制I/O工作的信息
2018年11月18日7时44分
5
端口地址
数据
CPU
数据
端口
M/IO
状态 端口
RD
控制
端口 WR
数据
I/O 状态 装置
? 信号转换
外设所需的控制信号和它所提供的状态信号往往与系统的 总线信号不兼容,信号转换是接口的一个重要任务。
? 设备选择
? 数据宽度与数据格式转换
应具有“并-串”或“串-并”转换的功能
2018年11月18日7时44分
3
§2 I/O 寻址方式
?存储器对应的寻址方式
?将I/O当成存储器寻址,每个I/O占有存储器的一个地址。 ?与存储器一起占有1MB的存储空间 ?特点:指令丰富,I/O数量不受限制,不便于阅读
序段如下(1为准备好): LOO1 : IN AL,状态端口地址
TEST AL ,01H
JZ LOOP1 MOV AL ,BL OUT 数据端口地址, AL
输入/输出操作。
?即用状态端口提供外设的工作状态。
?查询方式的过程
?输入I/O 接口的状态端口的内容(0或1)。 ?确认是否准备就绪。 ?是,传送数据;否,等待。
2018年11月18日7时44分
10
?查询式输入
?CPU用查询方式从外设中输入数据时,必须先由状态端口
查询外设的数据是否已经准备好,确认准备好后,再由数
2018年11月18日7时44分
2ห้องสมุดไป่ตู้
接口的功能
? 执行CPU的命令
CPU对被控对象外部设备的控制命令是以命令代码的形式 先发送到接口的命令寄存器,即命令端口。
? 返回外设状态
如,“忙”、“闲”、“准备就绪”、“未准备就绪”等 状态,接口中一般设置状态寄存器,即状态端口。
? 数据缓冲
为了解决高速主机和低速外设的矛盾,避免因速度不匹配 而丢失数据,接口中一般都设置数据缓冲器。
第六章 输入与输出
2018年11月18日7时44分
1
§1 基本概念
?CPU 的外设种类繁多,在电平,功率,速度,信息形
式上与 CPU有很大的差别。
?有许多矛盾需解决,而不能简单的连接。 ?要解决的问题:
?CPU 如何对I/O 寻址 ?CPU 如何与不同速度的外设配合工作 ?CPU 如何与大量外设协调工作 ?CPU 如何在电平,功率上与外设协调工作 ?CPU 如何与不同信息形式的外设配合工作
CPU执行 “OUT”指令
?特点
?接口电路简单,程序设计简单。
?输入时,应保证输入的数据已准备好。
?输出时,应保证外设已将上次送出的数据取走,可接收新
的数据。 2018年11月18日7时44分
7
输入数据
三态 缓冲器
CS
&
CPU数据线
地址 M/IO RD
无条件式传送输入接口 IN AL,08H
输出数据
锁存器 CS &
2018年11月18日7时44分
CPU数据线
地址 M/IO WR
无条件式传送输出接口 OUT 08H,AL
8
例,不断读入按钮的状态,若按钮按下, LED亮,未按下则灭. 注:三态门作为输入接口,锁存器作为输出接口 Q7=1,亮;Q7=0,灭
+5V
输出接口
D0-D7
IOW ·30H
锁存器 Q7
2018年11月18日7时44分
6
二,I/O控制方式
?无条件传送方式(同步方式)
?用于CPU与低速的外设间传送数据。
?数据的保持时间相对CPU的速度要慢得多。
?输入端口直接用三态缓冲器,外界数据送到其输入端,
CPU执行 “IN”指令
?对于输出设备要求锁存,输出的数据应在输出接口的输出
端保持一段时间,锁存的时间与外设的动作速度相适应。
?专用I/O寻址方式
?将存储器和I/O 分别寻址 ?用专用的 IN 和OUT 指令 ?用8条地址线或16条地址线寻址 ?特点:I/O 不占存储器地址,译码电路较简单。易于阅读
2018年11月18日7时44分
4
§3 CPU 与I/O 数据传送方式
一,CPU与I/O间的接口信号
一个控制过程
工业现场 的模拟量
CS
D7
IOR ·40H
输入接口
STA :IN AL ,40H AND AL ,80H JNZ OPE MOV AL ,80H OUT 30H,AL JMP STA
OPE:MOV AL ,00H OUT 30H,AL JMP STA HLT
2018年11月18日7时44分
9
?查询传送方式
?CPU与外设的速度在多数情况下是不匹配的 。 ?CPU必须在外设准备好的情况下才能与其传送数据。 ?接口电路中一般都有一个反映外设准备就绪的标志。 ?只有当其表征外设具备工作条件时, CPU才能控制数据的
控制
?数据,状态和控制是不同性质的信息,必须分别传送 ?但CPU只有 IN 和 OUT 指令 ?所以外设的状态信息也必须作为数据输入 ?CPU发出的控制信息也必须作为数据输出 ?外设与主机的连接端口也包含:数据端口,状态端口和控制端口 ?每个端口一个地址,CPU是对端口寻址,而不是笼统对外设寻址 ?接口是有若干个端口组成
D7 D0 数据端口
D7
状态端口
IN AL ,数据端口地址
2018年11月18日7时44分
11
输 入 设 备
选通 信号
+5V
锁 存 器
R DQ
&
M/IO
地址
RD
总线 地址译码器
缓
冲 器
CPU数据总线
至D7 状态信号(READY)
&
M/IO
地址
RD 地址译码器 总线
读入状态端口信息
N 数据准备好? Y