计算机组成结构—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 接口与主机相连。

相关推荐
神的孩子都在歌唱13 分钟前
常见的网络攻击方式及防御措施
运维·服务器·网络
深度学习040725 分钟前
【Linux服务器】-安装ftp与sftp服务
linux·运维·服务器
岑梓铭1 小时前
计算机网络第九章——数据链路层《局域网》
网络·笔记·计算机网络·考研·408
阿巴~阿巴~2 小时前
Linux 第一个系统程序 - 进度条
linux·服务器·bash
小白爱电脑2 小时前
什么是2.5G交换机?
运维·网络·5g·千兆宽带
?ccc?2 小时前
容器技术技术入门与 Docker 环境部署
运维·docker·容器
时时刻刻看着自己的心3 小时前
docker启动报错
运维·docker·容器
我科绝伦(Huanhuan Zhou)3 小时前
华为泰山服务器重启后出现 XFS 文件系统磁盘“不识别”(无法挂载或访问),但挂载点目录仍在且无数据
运维·服务器·华为
阿沁QWQ3 小时前
UDP的socket编程
网络·网络协议·udp
匆匆那年9673 小时前
Docker容器中安装MongoDB,导入数据
运维·docker·容器