计算机组成结构—IO系统概述

目录

[一、I/O 系统的发展](#一、I/O 系统的发展)

[1. 早期阶段](#1. 早期阶段)

[2. 接口模块和 DMA 阶段](#2. 接口模块和 DMA 阶段)

[3. 通道结构阶段](#3. 通道结构阶段)

[4. 处理机阶段](#4. 处理机阶段)

[二、I/O 系统的组成](#二、I/O 系统的组成)

[1. I/O 软件](#1. I/O 软件)

[2. I/O 硬件](#2. I/O 硬件)

[三、I/O 设备](#三、I/O 设备)

[1. I/O 设备分类](#1. I/O 设备分类)

[2. I/O 设备的组成](#2. I/O 设备的组成)


在计算机中,除 CPU 和主存两大模块之外,第三个重要部分就是 输入输出模块 ,也叫做 输入输出系统 ,简写为 I/O 系统

I/O 系统的主要功能,就是对不同类型数据信息的输入输出,进行高效的控制管理。

一、I/O 系统的发展

I/O 系统的结构,从简单到复杂,发展主要经历了四个阶段。

1. 早期阶段

早期的输入输出设备比较少,计算机的结构是以 CPU 为中心的分散连接方式;所有 I/O 设备都直接连接到 CPU ,与主存交换数据必须通过 CPU。

这样,每个 I/O 设备都必须配备一套独立的逻辑电路与 CPU 连接,线路复杂、难以维护和扩展;而且输入输出数据会打断 CPU 运行,效率比较低。

2. 接口模块和 DMA 阶段

之后计算机的连接方式发展出了总线结构,I/O 设备通过接口模块与总线相连,通过总线进行数据传输。

通常,在接口模块中都会设有 数据通路控制通路。数据可以通过接口起到缓冲作用,也可以完成串并转换;控制通路则可以传送 CPU 发来的控制命令,或者向 CPU 发送来自 I/O 设备的反馈信号。许多接口还可以满足中断请求处理的要求,使 I/O 设备和 CPU 可以并行工作。

为了进一步提高 CPU 的效率,又出现了 直接存储器存取 (Direct Memory Access,DMA)技术。在 I/O 设备和主存之间增加一条专门的数据通路,让它们可以直接交换信息,而无需经过 CPU。

在现代的小型或微型计算机中,一般都会采用接口模块和 DMA 的接口来实现 I/O 设备和主存的数据交换。

3. 通道结构阶段

对于大中型计算机,I/O 设备数量庞大、数据传输非常频繁,采用 DMA 方式需要为每个设备都配置专用的 DMA 接口,CPU 也需要对众多的 DMA 接口进行管理;控制非常复杂、工作效率也会受到很大影响。

因此在大中型计算机中,采用 I/O 通道 的方式来进行数据交换。

通道 可以看作一种从属于 CPU 的专用处理器,专门负责管理 I/O 设备,实现主存和 I/O 设备之间的数据交换。采用通道结构的计算机,I/O 设备的数据传输就全部交给通道来处理,提高了 CPU 的资源利用率。

4. 处理机阶段

I/O 系统进一步发展,出现了 I/O 处理机 。I/O 处理机基本独立于主机工作,又称为 外围处理机。 具有 I/O 处理机的 I/O 系统与 CPU 的并行性更高,进一步解放了 CPU ,提升了 CPU 的工作效率。

二、I/O 系统的组成

I/O 系统主要由两部分组成: I/O 软件I/O 硬件

1. I/O 软件

I/O 系统软件的主要功能包括:

  • 将用户编写的程序输入主机;

  • 将运算结果传送给用户;

  • 协调 I/O 系统和主机的工作。

不同结构的 I/O 系统采用的软件技术不同。

生活中常见的计算机一般采用接口模块方式,指令系统中需要设置专门的 I/O 指令;调用 I/O 指令并配合系统软件中的管理程序,就可以实现 I/O 设备与主机的协调工作。

如果采用通道管理方式,除 I/O 指令外,还需要有 通道指令 和相应的操作系统。

(1)I/O 指令

I/O 指令也是一种机器指令,它的指令格式与普通的机器指令类似。

上面的 I/O 指令格式中,分为三个字段:

  • 操作码:指明当前是一条 I/O 指令;

  • 命令码:指明 I/O 设备的具体操作;

  • 设备码:用来对多台 I/O 设备进行区分和选择,相当于设备地址。

其中,命令码一般会包括以下几种情况:

  • 将数据从 I/O 设备输入主机;

  • 将数据从主机输出至 I/O 设备;

  • 状态测试。检测 I/O 设备的状态("忙" 还是 "准备就绪"),来确定接下来是否可以进行数据交换;

  • 形成具体的操作命令。例如磁盘驱动器的磁头读扇区、写扇区、寻找磁道等等。

(2)通道指令

通道指令是具有通道的 I/O 系统专门设置的指令,又称为 通道控制字 (Channel Control Word,CCW),是通道用来执行 I/O 操作的指令。

这类指令位数一般会比较多,主要功能有:

  • 指明要交换的一组数据在主存中的首地址;

  • 指明要传送数据的字节数,或者在主存中的末地址;

  • 指明所选设备的设备码,以及要完成的具体操作的命令码。

对于采用了通道结构的计算机,CPU 执行的 I/O 指令就只负责启、停 I/O 设备,查询通道和设备状态以及对通道进行操作控制;而具体的数据传输则交给通道来完成。

2. I/O 硬件

I/O 系统的硬件组成是多种多样的,不同结构的 I/O 系统硬件组成也会有所不同。

  • 采用接口模块结构的 I/O 系统,硬件主要包括 接口模块I/O 设备 两大部分。I/O 设备通过接口连接到主机;

  • 采用通道或处理机结构的 I/O 系统,硬件主要包括 通道/处理机设备控制器I/O 设备;一个通道/处理机可以和多个设备控制器相连,一个设备控制器又可以控制多台同类型的设备。

    此外,连接各模块的数据通路(I/O 总线)也是 I/O 硬件的一部分。

三、I/O 设备

计算机硬件系统中,主要由三部分组成:CPU 、主存储器和输入输出设备。输入输出设备和它们对应的接口模块,就构成了输入输出系统。

CPU 与主存合称 主机 ,主机之外的大部分硬件设备都可以称为 I/O 设备 ,统称为 外部设备 ,简称 外设

1. I/O 设备分类

从应用场景和功能上看,I/O 设备可以分为三大类:

(1)人机交互设备

实现用户(操作者)和计算机之间信息交流的设备,又可以分为两类:

  • 输入设备:将人们熟悉的信息形式转换为机器能识别的信息形式,如键盘、鼠标、摄像头等。

  • 输出设备:将机器运算结果转换为人们熟悉的信息形式,如打印机、显示器等。

(2)信息存储设备

系统软件和各种有用信息,都需要进行存储保留,这就需要能够持久化保存的外部存储设备。这类存储设备一般可以作为计算机的辅助存储器,比如磁盘、光盘、固态硬盘等。

(3)机-机通信设备

多台计算机之间、或者是计算机和其它系统之间如果需要进行通信,必须借助专门的通信设备。比如调制解调器(Modem),A/D、D/A 转换设备等。

2. I/O 设备的组成

I/O 设备的基本组成如下:

  • 设备控制器用来控制 I/O 设备的具体动作,不同的 I/O 设备需要完成的控制功能也不同;

  • 机、电、磁、光部件是 I/O 设备的工作部件,与具体功能有关;内部结构涉及到机、电、磁、光工作原理;

  • 现代 I/O 设备一般还会通过 I/O 接口与主机相连。

相关推荐
小御姐@stella43 分钟前
mac如何安装nginx 详细流程图
运维·nginx·流程图
-无-为-1 小时前
科普文:Linux服务器性能调优概叙
linux·运维·服务器
速盾cdn1 小时前
速盾:cdn加速效果
网络·安全
桐子将你军1 小时前
TCP/IP 网络协议族分层
网络·网络协议·tcp/ip
是程序喵呀1 小时前
软考《信息系统运行管理员》-2.2 信息系统运维的组织
运维·软件工程
计算机平台作业答案讲解1 小时前
QT实现GIF动图显示(小白版,可直接copy使用)
服务器·开发语言·数据结构·数据库·c++·qt·动态规划
Java追光着2 小时前
谷粒商城学习-07-虚拟机网络设置
服务器·网络·学习·谷粒商城
NingDream8162 小时前
TCP 的安全可靠
网络·网络协议·tcp/ip
你可以自己看2 小时前
深入解析Linux的使用(上)
linux·运维·服务器