I/O系统的基本概念
发展历程
-
早期阶段(程序查询方式)
每次I/O系统和主存交换信息的时候都需要经过CPU才能交换完成。 -
接口模式和DMA阶段(中断方式和DMA方式)
在该阶段I/O设备通过接口模块与主机相连,且采用总线连接的方式。 -
具有通道结构的阶段
通道是用来负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件,可以视为一种具有特殊功能的处理器。 -
既有I/O处理器的阶段
I/O系统的组成
1、I/O软件——讲用户编制的程序输入主机内,将运算结果输出给用户,实现输入/输出系统与主机工作的协调。
主机与I/O设备协调工作:
- 接口模块方式——I/O指令
- 通道管理方式——I/O指令+通道指令
I/O指令(CPU指令)的格式
- 操作码:作为I/O指令与其他指令的判别代码
- 命令码:来识别做了什么操作
- 设备码:来判别到底是对哪一个设备操作
通道指令(通道自身指令):通道指令又称通道控制字,它是通道用于执行I/O操作的命令。(通道指令存放在主存里面)
通道指令的格式
- 首地址:操作数据存放位置
- 需要传送的字节数或者数据的末地址
- 做什么操作
- 对哪个设备操作
2、I/O硬件
- 带接口的I/O系统——接口模块+I/O设备。
- 具有通道或I/O处理器的I/O系统——通道(处理器)+设备控制器+I/O设备等。
外部设备
输入设备
-
键盘
按键—>判断哪个键按下—>将此键翻译成ASCII码 -
鼠标
机械式(金属球 电位器)
光电式 (光电转换器) -
触摸屏
输出设备
1、显示器
- 显示信息内容:字符显示器 图形显示器 图像显示器
- 显示设备:阴极射线管(CRT)显示器 液晶显示器 等离子显示器
例题:假定一台计算机的显示存储器用DRAM芯片是西安,若要求显示分辨率位1600x1200像素,颜色深度为24位,帧频为85Hz,显存总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为( ) 。
A、245Mbit/s
B、979Mbit/s
C、1958Mbit/s
D、7834Mbit/s
刷新所需带宽=分辨率x色深x帧频 1600x1200x24bitx85Hz=3916.8Mbit/s 显存总带宽的50%用来刷屏,所以需要的显存总带宽为3916.8Mbit/s/0.5=7833.6Mbit/s≈7834Mbit/s
补充:
为了不断提高刷新图像的信号,必须把图像信息存储在刷新存储器(也称视频存储器)。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越高,刷新储存器容量越大。
假如分辨率为1024x1024像素,256级灰度的图像(需要8位二进制数来表示)储存容量为1024x1024xlog256=1MB
2、打印机
印字原理:
-
击打式——成本低,质量好,噪声大,速度慢
-
非击打式——速度快,噪声小,质量更好,贵
工作方式:
串行打印机——逐字打印
行式打印机——逐行打印
磁盘存储器的平均存取时间计算:
平均存取时间包括寻道时间(磁头移动到目的磁道)、旋转延迟时间(磁头定位到所在扇区)、传输时间(传输数据所花费的时间)3部分构成。其中旋转延迟时间为磁盘转速倒数的一半,即磁盘转半圈所需的时间,这是由于磁盘既可以顺时针旋转,也可以逆时针旋转,因此定位到所在扇区只需要转半圈。
I/O接口
为什么设置接口
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串——并格式转换
- 实现电平转换
- 传送控制命令
- 反映设备的状态?(“忙”、“就绪”、“中断请求”)
I/O接口的功能和基本结构
- 数据线(双向):用作I/O设备与主机之间传送数据
- 设备选择线(单向):用来传送设备码
- 命令线(单向):用来传输CPU向设备发出各种命令信号,如启动、停止、读、写。
- 状态线(单向):将I/O设备的状态向主机报告的信号线。
I/O设备的功能
- 选择设备功能
- 传送命令功能
- 传送数据功能
- 反映I/O设备的工作状态
接口类型
- 按数据传送方式分类——并行接口、串行接口
- 按功能选择的灵活性分类——可编程接口、不可编程接口
- 按通用性分类——通用接口、专用接口
- 按数据传送的控制方式分类——中断接口、DMA接口
I/O端口
端口指可以由CPU进行读或写的寄存器。
分别用来存放数据信息——数据端口、控制信息——控制端口和状态信息——状态端口。
若干个端口加上相应的控制逻辑电路就组成了接口。
I/O端口的编址
I/O设备与主机交换信息和CPU与主存交换信息有很多的不同点。
一般将I/O设备码看作地址码。
地址码的编址方式:
统一编址
存储器统一编址,即从存储空间中划出一部分地址给I/O端口。CPU访问端口和访问存储器的指令在形式上完全相同,只能从地址范围来区分两种操作
- 优点:类型多,功能全
- 缺点:使存储器的可用地址空间变小
独立编址
I/O端口编址和存储器的编址相互独立,即I/0端口地址空间和存储器地址空间分开设置,互不影响。采用这种编址方式,对I/O端口的操作使用输入/输出指令(I/O指令)
- 优点:不占用内存空间,使用I/O指令,程序清晰,很容易看出是I/O操作还是存储器操作;译码电路比较简单。
**注意:**当I/O设备通过接口与主机相连时,CPU可以通过接口地址来访问I/O设备。因为一个接口对应一个I/O设备。
习题:
1、CRT的分辨率为1024x512像素,像素的颜色 数位256,则刷新存储器的容量为©.
A、256MB
B、1MB
C、512KB
D、2MB
解析:刷新存储器的容量=分辨率x表示像素颜色数的位数。由于2^8=256,因此需要8位来表示像素的颜色数。故刷新存储器的容量=1024x512x8bit=512KB.
2、若每个汉字用16x16的点阵表示,7500个汉字的字库容量是(B).
A、16KB
B、240KB
C、320KB
D、1MB
解析:每个16x16点阵需占用32B(256bit),汉字的字库容量=7500x32B=240000B=240KB
3、某计算机的I/O设备采用异步串行传送方式传送字符信息,字符信息的格式为:1位起始位、7位数据位、1位检验位、1位停止位。若要求每秒传送480个字符,那么该I/O设备的数据传输速率应为(B)bit/s.
A、1200
B、4800
C、9600
D、2400
解析:由于每个字符都由10位(1+7+1+1),且每秒传送480个字符,故480x10=4800bit/s。
4、设一个磁盘盘面共有200个隧道,盘面总存储容量60MB,磁盘旋转一周的时间为25ms,每个磁道有8个扇区,各扇区之间有一间隙,磁头通过每个间隙需1.25ms。则磁盘通道所需最大传输速率(D).
A、10MB/s
B、60MB/s
C、83.3MB/s
D、20MB/s
解析:每个磁道的容量=60MB/200=0.3MB
读一个磁道数据的时间=25ms-1.25msx8=15ms
磁盘的数据传输速率=0.3MB/15ms=0.3MB/0.015s=20MB/s