第五章、输入输出系统

第五章、输入输出系统

5.1、概述

5.1.1、输入输出系统的发展概况

1、早期

1、分散连接

2、CPU和I/O设备 串行工作程序程序方式

2、接口模块和DMA阶段

1、总线连接

2、CPU和I/O设备并行工作(中断方式、DMA方式)

3、具有通道结构的阶段

4、具有I/O处理机的阶段

5.1.2、输入输出系统的组成

1、I/O软件

1、I/O指令

1、是CPU指令的一部分

2、格式

image-20230814202736283

2、通道指令

1、通道可以运行自身的通道指令

2、广义的I/O指令

3、指出数组的首地址、传送字数、操作命令

4、通道指令长、还可以有子指令,可以连接多个操作器

5、如IBM/370通道指令为64位

2、I/O硬件

1、设备 I/O接口

2、设备 设备控制器 通道

5.1.3、I/O设备与主机的联系方式

1、I/O设备的编址方式

1、统一编址

1、用取数、存数指令对IO设备进行访问

2、不统一编址(独立编址)

1、内存地址空间之外,设置一个地址空间

2、有专门的IO指令

2、设备选址

1、用设备选择电路识别是否被选中

3、传送方式

1、串行

2、并行

4、联络方式

1、立即响应

1、数量少状态少

2、直接进行显示

3、例如LED灯

2、异步工作采用应答信号

1、并行传输

2、IO接口和IO设备要有多条数据线,组成类似总线,组成数据的定型输出

3、需要准备应答信号

4、图例

image-20230814204054316

5、串行传输

image-20230814204230089

3、同步工作采用同步时标

1、需要一个定宽定距的指标

5.1.4、I/O设备与主机的连接方式

1、辐射式连接(分散连接)

1、每个外设都需要和主机配置一套控制电路和一组信号线

2、会造成删除和增加外部设备麻烦

3、不便于增删设备,移植性差

image-20230814204548057

2、总线连接

1、主机中的数据可以在接口中进行缓存

2、便于增删设备,移植性好

5.1.5、IO设备与主机信息传送的控制方式

1、程序查询方式

1、CPU和外设采用串行

2、CPU处于循环等待状态,效率低

3、图示

image-20230814205624411

2、程序中断方式

1、CPU实现和IO设备的异时操作

2、CPU一定程度上解放了IO工作

3、外部设备工作时,CPU不进行状态检测,只有IO准备好了,发送一个中断请求,CPU才会放下手中的工作,进行IO工作

4、图例

image-20230814210446655

5、CPU没有踏步等待状态

6、CPU和IO可以部分进行并行操作

7、CPU放下手中工作,需要记录标记,便于中断工作完成后继续进行,但是会损耗CPU的部分内存和效率

1、程序中断方式流程图

image-20230814210826525

3、DMA方式

1、把CPU从IO设备更分离出来

2、主存和IO之间有一条直接数据通道

3、不中断现行程序

3、周期挪用(窃取)

4、占用总线的使用权,期间CPU不能对主存进行访问

5、图示

image-20230814211647527

4、对三中方式的CPU工作效率比较

1、图示

image-20230814212306889

1、随着时代的发展,IO设备会更加自由

5.2、外部设备

5.2.1、概述

1、图示

image-20230814213651684

2、外部设备大致分三类

1、内容

image-20230814213729515

5.2.2、输入设备

1、键盘

1、按键

2、判断哪个键按下

3、将此键翻译成ASCI码(编码键盘法)

2、鼠标

1、机械式:金属球,电位器

2、光电式:光电转回去

3、触摸屏

5.2.3、输出设备

1、显示器

1、字符显示

1、字符发生器,将ASCII转换成字列

2、图形显示

1、转换显示主观图像(点线面构成的)

3、图像显示

1、客观图像(照片、视频)

2、打印机

1、打击式

1、点阵式(逐字逐行打印)

2、用彩纸针打印

3、例如出租车打印条

2、非打击式

1、激光(逐页)喷墨(逐行)

5.2.4、其它

1、A/D、D/A 模拟/数字(数字/模拟)转换器

1、A:模拟信号

2、D:数字信号

2、终端

1、由键盘和显示器组成

2、完全显示控制与存储、键盘管理及通信控制

3、汉字处理

1、汉字输入、汉字存储、汉字输出

5.2.5、多媒体设备

1、什么是多媒体

2、多媒体计算机的关键技术

5.3、IO接口

5.3.1、概述

1、为什么要设置接口?(功能)

1、实现设备的选择

2、实现数据缓冲达到速度匹配

3、实现数据串行—并格式转换

4、实现电平转换

5、传送控制命令

6、反映设备的状态(“忙”、“就绪”、“中断请求”)

5.3.2、接口的功能和组成

1、总线连接方式的I/O接口电路

image-20230814220441871

1、设备数据线

1、本次信息交换的设备码、端口号,设备的地址或端口的地址,传输给IO接口

2、是一条单向线

2、数据线

1、完成数据的输入和输出

2、条数和数据传输类型有关

3、是双向线

3、命令线

1、通过命令输入到IO系统中

2、缓存译码后可以控制设备的线

4、状态线

1、IO接口、IO总线、再送到主机化总

2、功能和组成

image-20230814221002137

3、I/O接口的基本组成

image-20230814221322559

5.3.3、接口类型

1、按数据传送方式分类

1、并行接口:Intel8255

2、串行接口:Intel8251

2、按功能选择的灵活性分类

1、可编程接口:Intel8255、Intel8251

2、不可编程接口:Intel8212

3、按通用性分类

1、通用接口:Intel8255

2、专用接口:Intel8275

4、按数据传送的控制方式分类

1、中断方式:Intel8259

2、DMA接口:Intel8257

5.4、程序查询方式

5.4.1、程序查询方式的流程

1、程序查询流程

1、查询流程

1、单个设备(图)

image-20230814222558453

2、多个设备(图)

image-20230814222637032

2、程序流程

1、设置计数值:为了控制传输内容大小

2、用这段程序流程来进行传输

image-20230814223236112

5.4.2、程序查询方式的接口电路

1、以输入为例

1、D为1之前,CPU查询都在不断重复查询,直到D为1,CPU就可以通过数据线进行读入数据

image-20230814223905689

2.差个输出流程图

5.5、程序中断方式

5.5.1、中断的概念

1、概念

1、CPU执行任务过程中,遇到意外事件,CPU需要中断当前任务,去处理意外事件

2、图解

image-20230814224442777

5.5.2、I/O中断的产生

1、以打印机为例

1、图解

image-20230814225146160

1、CPU与打印机部分并行工作

5.5.3、程序中断方式的接口电路

1、配置中断请求触发器和中断屏蔽触发器

1、图解

image-20230814225838667

2、排队器

1、硬件排队:在CPU内、或接口电路中(链式排队器)

2、软件排队:比较优先级(第八章讲)

3、链式排队器图解

image-20230814231236636

4、非门:输入0,输出则为1

4、与门:输入a0,b0,则输出c1,与之相反

3、中断向量地址形成部件

image-20230814232126163

1、中断号:中断类型码,每个中断类型码对应不同的中断

2、中断向量:中断服务程序的入口地址(包括段地址、偏移值、和一些中断的状态信息)

3、向量地址:中断向量保存内存单元的地址

4、入口地址;有中断向量形成

5、图解

image-20230814232207961

6、向量地址是由总线和数据线输送到CPU中

7、图解

image-20230814232414835

4、程序中断方式接口电路的基本组成

image-20230814232823550

5.5.4、I/O中断处理过程

1、CPU响应中断的条件和时间

1、条件

1、允许中断触发器:EINT=1

2、用开中断指令将EINT设置为“1”

3、用关中断指令将EINT设置为“0”或硬件自动复位

2、时间

1、当D=1(随机)、且Mask=0时

2、在每条指令执行阶段的结束前

3、CPU发中断查询信号(将INTR置位“1”)

2、I/O中断处理过程

1、以输出为例

image-20230816103750436

1、主机通过地址线,发送所需的IIO设备让设备选择电路查询,如果有,就进入①启动命令1:1与门,结果是1

2、此时D和B分别是0:1,B是1就开始②启动设备,开始传输数据③到DBR缓存中,传输完成后就开始④设备工作结束,通过非门,此时D和B分贝是1:0,此时开始INTR(中断请求触发器)⑤中断开始已查询,此时INTR状态为1,开始发送中断请求⑥,继续进入排队器中,经过排队器的搏杀,只有一个状态为1的中断请求,CPU工作期间发现有中断请求⑦就开始中断,通过设备编码器,将中断向量通过地址线发送给CPU

5.5.5、中断服务程序流程

1、中断服务程序流程

1、保护现场

1、程序断点的保护 中断隐指令完成:本身不是指令是系统内部隐藏自动完成的内容

2、寄存器内容的保护 进栈指令

2、中断服务

1、 对不同的I/O设备具有不同内容的设备服务

3、恢复现场

1、出栈指令

4、中断返回

1、中断返回指令

2、单重中断和多重中断

1、单重中断

1、不允许中断现行的中断服务程序

2、多重中断

1、允许级别更高中断源,中断现行的中断服务程序

3、单重中断和多重中断的服务程序流程

1、图示

image-20230816105852950

1、在多重中断服务程序中设备服务是可以开启级别更高级的中断

4、主程序和访问程序抢占CPU示意图

1、内容

image-20230816110532317

5.6、DMA方式

5.6.1、DMA方式的特点

1、DMA和程序中断两种方式的数据通路

image-20230816111344908

2、DMA与主存交换数据的三种方式

1、停止CPU访问主存

1、控制简单

2、CPU处于不工作状态或保持状态

3、CPU放弃总线和访问主存状态

4、并不能充分发挥CPU对主存的利用率

5、图示

image-20230816111743985

2、周期挪用(周期窃取)

1、周期是指访存周期

2、DMA访问主存有三种可能

image-20230816112040942

3、图示

image-20230816112224023

3、DMA与CPU交替访问

1、CPU工作周期

image-20230816112444424

2、图示

image-20230816112435765

5.6.2、DMA接口的功能和组成

1、DMA接口功能

1、向CPU申请DMA传送

2、处理总线控制权的转交

3、管理系统总线、控制数据传送

4、确定数据传送的首地址和长度,修正传送过程中的数据地址长度

5、DMA传送结束时,给出操作完成信号

2、DMA接口组成

1、AR:地址寄存器

2、WC:计数器(用于计算数据的大小)

3、BR:数据缓冲器.

4、DAR:设备地址寄存器

5、DREQ:设备请求

6、DACK:应答信号

7、HRQ:总线请求信号

8、HLDA:应答信号

image-20230816114450362

9、①AR发送地址请求给主存 ②AR、WC、DRA、BR通过数据线传送所需的内容给CPU;IO设备将传输数据发给BR的同时,向DMA逻辑控制器发送请求信号,DMA逻辑控制器给CPU发送总线请求信号,CPU通过HLDA发送响应信号,DMA逻辑控制器通过DACK响应设备;当WC计数器溢出时,会发送溢出信号给中断机构,中断机构向CPU发送中断信号

5.6.3、DMA的工作过程

1、DMA传送过程

预处理、数据传送、后处理

1、预处理

1、数据传输之前所需要做的一些准备

2、例如通过几条输入输出的指令预置

3、通知DMA控制逻辑传送方向(入/出)

4、设备地址—DMA的DAR

5、主存地址—DMA的AR

6、传送数据个数—DMA的WC

2、DMA传送过程示意图

image-20230816115528965

3、数据传送过程(输入)

image-20230816120005177

4、数据传送过程(输出)

image-20230816120313238

5、后处理

1、校验送入主存的数是否正确

2、是否继续用DMA

3、测试传送过程是否正确,错则转诊断程序

4、由中断访问程序完成

2、DMA接口与系统的连接方式

1、具有公共请求线的DMA请求

image-20230816120725108

2、独立的DMA请求

image-20230816120841473

3、DMA方式与程序中断方式的比较

1、比较图

image-20230818203631916

5.6.4、DMA接口的类型

1、选择性

1、在物理上连接多个设备

2、在逻辑上只允许连接一个设备

3、电路图

image-20230818203900608

2、多路型

1、在物理上允许连接件多个设备

2、在逻辑删允许连接多个设备同时工作

3、图示

image-20230818204129154

?3、多路型DMA接口的工作原理

?1、原理图

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇