计算机组成原理 第四章(输入输出系统)—第三节(I/O接口)

写在前面:

  1. 本系列笔记主要以《计算机组成原理(唐朔飞)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:计算机组成原理(哈工大刘宏伟)135讲(全)高清_哔哩哔哩_bilibili

一、概述

1、I/O接口的概念

(1)接口可以看作两个系统或两个部件之间的交接部分,它既可以是两种硬设备之间的连接电路,也可以是两个软件之间的共同逻辑边界。

(2)I/O接口又称I/O控制器、设备控制器,它负责协调主机与外部设备之间的数据传输

(3)I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制,不同的I/O设备都由其相应的设备控制器,而它们往往都是通过I/O接口与主机取得联系的。

2、设置I/O接口的理由

(1)一台机器通常配有多台I/O设备,它们各自有其设备号(地址),通过I/O接口可实现I/O设备的选择

(2)I/O设备种类繁多,速度不一,与CPU速度相差可能很大,通过接口可实现数据缓冲,达到速度匹配

(3)有些I/O设备可能串行传送数据,而CPU一般为并行传送,通过接口可实现数据串-并格式的转换

(4)I/O设备的输入输出电平可能与CPU的输入输出电平不同,通过接口可实现电平转换

(5)CPU启动I/O设备工作,要向I/O设备发送各种控制信号,通过接口可传送控制命令

(6)I/O设备需将其工作状态及时向CPU报告,通过接口可监视设备的工作状态,并可保存状态信息供CPU查询。

二、接口的功能和组成

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

(1)下图所示的是总线结构的计算机,每一台I/O设备都是通过I/O接口挂到系统总线上的,图中的I/O总线包括数据线、设备选择线、命令线和状态线

①数据线:

        数据线是I/O设备与主机之间数据代码的传送线,其根数一般等于存储字长的位数或字符的位数,它通常是双向的,也可以是单向的,若采用单向数据总线,则必须用两组才能实现数据的输人和输出功能,而双向数据总线只需一组即可。

②设备选择线:

        设备选择线是用来传送设备码的,它的根数取决于I/O指令中设备码的位数。如果把设备码看作地址号,那么设备选择线又可称为地址线。设备选择线可以有一组,也可以有两组,其中一组用于主机向I/O设备发送设备码,另一组用于I/O设备向主机回送设备码,当然设备选择线也可采用一组双向总线代替两组单向总线。

③命令线:

        命令线主要用以传输CPU向设备发出的各种命令信号,如启动、清除、屏蔽、读、写等,它是一组单向总线,其根数与命令信号多少有关。

④状态线:

        状态线是将I/O设备的状态向主机报告的信号线,例如设备是否准备就绪、是否向CPU发出中断请求等,它也是一组单向总线。

2、接口的功能和组成

(1)选址功能:

        I/O总线与所有设备的接口电路相连,CPU选择哪一台设备由设备选择线上的设备码决定,该设备码将会送至所有设备的接口,当设备选择线上的设备码与本设备的设备码相符时,接口内的设备选择电路发出设备选中信号SEL

(2)传送命令的功能:

        通常在I/O接口中设有存放命令的命令寄存器以及命令译码器,命令寄存器用来存放I/O指令中的指令码,它受设备选中信号控制。命令线和所有接口电路的命令寄存器相连,只有被选中设备的SEL信号有效(也就是被CPU选中),命令寄存器才可接受命令线上的命令码

(3)传送数据的功能:

        数据需要通过接口才能实现主机与I/O设备之间的传送,接口中有相应的数据通路,这种通路具有缓冲能力,即能将数据暂存在接口内接口中通常设有数据缓冲寄存器,它用来暂存I/O设备与主机准备交换的信息,与I/O总线中的数据线是相连的

        每个接口中的数据缓冲寄存器的位数可以各不相同,这取决于各类I/O设备的不同需要。

(4)反映I/O设备工作状态的功能:

        为了使CPU能及时了解各I/O设备的工作状态,接口内必须设置一些反映设备工作状态的触发器,例如用完成触发器D和工作触发器B来标志设备所处的状态:

        当D=0、B=0时,表示I/O设备处于暂停状态。

        当D=1、B=0时,表示I/O设备已经准备就绪。

        当D=0、B=1时,表示I/O设备正处于准备状态。

        接口电路中一般还设有中断请求触发器INTR,当其为“1”时表示该I/O设备向CPU发出中断请求。接口内还有屏蔽触发器MASK,它与中断请求触发器配合使用,完成设备的屏蔽功能。(具体在第七章将会详细介绍)

(5)I/O接口的基本组成:

三、接口类型

1、按外设和接口之间的数据传送方式分类

(1)并行接口将一个字节(或一个字)的所有位同时传送

(2)串行接口数据在设备与接口间一位一位地传送。由于接口与主机之间是按字节或字并行传送,因此对串行接口而言,其内部还必须设有串-并转换装置。

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

(1)可编程接口其功能和操作方式可用程序来改变或选择

(2)不可编程接口不能由程序来改变其功能,但可通过硬连线逻辑来实现不同的功能。

3、按通用性分类

(1)通用接口:可供多种I/O设备使用。

(2)专用接口:专门为某类外设或某种用途而设计。

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

(1)程序型接口用于连接速度较慢的I/O设备,如显示终端、键盘、打印机等。现代计算机一般都可采用程序中断方式实现主机与I/O设备之间的信息交换,故都配有这类接口。

(2)DMA型接口用于连接高速I/O设备,如磁盘、磁带等。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-15 11:24:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-15 11:24:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-15 11:24:04       87 阅读
  4. Python语言-面向对象

    2024-03-15 11:24:04       96 阅读

热门阅读

  1. Android studio存储之SharedPreferences

    2024-03-15 11:24:04       45 阅读
  2. nginx笔记

    2024-03-15 11:24:04       40 阅读
  3. C语言实现冒泡排序

    2024-03-15 11:24:04       41 阅读
  4. Qt应用开发(安卓篇)——安卓广播机制

    2024-03-15 11:24:04       43 阅读
  5. docker部署mysql5

    2024-03-15 11:24:04       39 阅读
  6. Python进阶学习(5)反射

    2024-03-15 11:24:04       40 阅读
  7. 举例说明计算机视觉(CV)技术的优势和挑战

    2024-03-15 11:24:04       43 阅读
  8. 三维的旋转平移矩阵形式

    2024-03-15 11:24:04       44 阅读
  9. openGauss 脚本源码浅析(1)—— simpleInstall

    2024-03-15 11:24:04       32 阅读
  10. SpringCloud Stream笔记整理

    2024-03-15 11:24:04       42 阅读
  11. 智障版本GPT3实现

    2024-03-15 11:24:04       45 阅读
  12. 什么是单向数据流

    2024-03-15 11:24:04       38 阅读