《计算机组成原理》(第3版)第5章 输入输出系统 复习笔记

news2024/11/13 22:40:49

第5章 输入输出系统

一、概述

(一)输入输出系统的发展概况
1.早期阶段
早期的I/O设备种类较少,I/O设备与主存交换信息都必须通过CPU,如图5-1所示。
在这里插入图片描述
图5-1 I/O设备通过CPU与主存交换信息
2.接口模块和DMA阶段
这个阶段I/O设备通过接口模块与主机连接,计算机系统采用了总线结构,如图5-2所示。
在这里插入图片描述
图5-2 I/O设备通过接口与主机交换信息
3.具有通道结构的阶段
大中型计算机系统中,采用I/O通道的方式来进行数据交换。如图5-3所示。
在这里插入图片描述
图5-3 I/O设备通过通道与主机交换信息
4.具有I/O处理机的阶段
I/O处理机又称为外围处理机,它基本独立于主机工作,既可完成I/O通道要完成的I/O控制,又可完成码制变换、格式处理、数据块检错、纠错等操作。

(二)输入输出系统的组成
输入输出系统由I/O软件和I/O硬件两部分组成。
1.I/O软件
(1)I/O指令
图5-4示意了I/O指令的一般格式。
在这里插入图片描述
图5-4 I/O指令的一般格式
(2)通道指令
通道指令又称为通道控制字(Channel Control Word,CCW),它是通道用于执行I/O操作的指令,可以由管理程序存放在主存的任何地方,由通道从主存中取出并执行。
2.I/O硬件
一般包括接口模块及I/O设备两大部分。

(三)I/O设备与主机的联系方式
1.I/O设备编址方式
I/O地址码的编址可采用两种方式:统一编址或不统一编址。
(1)统一编址就是将I/O地址看做是存储器地址的一部分;
(2)不统一编址就是指I/O地址和存储器地址是分开的,所有对I/O设备的访问必须有专用的I/O指令。
2.设备寻址
3.传送方式
(1)并行传送:传送速度较快,要求数据线多;
(2)串行传送:传送速度较慢,只需一根数据线和一根地址线。
4.联络方式
(1)立即响应方式;
(2)异步工作采用应答信号联络;
(3)同步工作采用同步时标联络。
5.I/O设备与主机的连接方式
辐射式和总线式,图5-5和图5-2分别表示了这两种方式。
在这里插入图片描述
图5-5 辐射式连接示意图
(四)I/O设备与主机信息传送的控制方式
1.程序查询方式;
2.程序中断方式;
3.DMA方式。

二、I/O设备

(一)概述
I/O设备的组成通常可用图5-6点画线框内的结构来描述。
在这里插入图片描述
图5-6 I/O设备的结构框图
I/O设备大致可分为三类。
1.人机交互设备;
2.计算机信息的存储设备;
3.机-机通信设备。

(二)输入设备
输入设备完成输入程序、数据和操作命令等功能。
1.键盘;
2.鼠标;
3.触摸屏;
4.其他输入设备。

(三)输出设备
1.显示设备
(1)概述
以可见光的形式传递和处理信息的设备称为显示设备。
(2)字符显示器
字符显示器是计算机系统中最基本的输出设备,它通常由CRT控制器和显示器(CRT)组成。
(3)图形显示器
图形显示器是用点、线(直线和曲线)、面(平面和曲面)组合成平面或立体图形的显示设备。
(4)图像显示器
图形显示器所显示的图形是由计算机用一定的算法形成的点、线、面、阴影等,来自主观世界,故又称为主观图像或计算机图像。
(5)IBM PC系列微型计算机的显示标准
IBM PC系列微型计算机配套的显示系统有两大类。一类是基本显示系统,用于字符/图形显示;另一类是专用显示系统,用于高分辨率图形或图像显示。
2.打印设备
(1)打印设备的分类
①按打印原理划分,有击打式和非击打式两大类;
②按工作方式分,有串行打印机和行式打印机两种;
③按打印纸的宽度还可分宽行打印机和窄行打印机。
(2)常见打印机:
①点阵针式打印机;
②激光打印机;
③喷墨打印机。
(5)几种打印机的比较
①要求印字质量高的场合可选用激光打印机;
②要求价格便宜的或只需具有文字处理功能的个人计算机,可配置串行点阵针式打印机;
③要求处理的信息量很大,速度又要快,应该配行式打印机或高速激光打印机。

(四)其他l/O设备
1.终端设备
2.A/D与D/A转换器
(1)汉字的输入
汉字编码方法主要有三类:①数字编码;②拼音编码;③字形编码。
(2)汉字的存储
汉字的存储包括汉字内码存储和字形码的存储。
(3)汉字的输出
汉字输出有打印输出和显示输出两种形式。
(五)多媒体技术
1.多媒体的定义
多媒体一词的核心词是媒体。所谓媒体,是指信息传递和存储的最基本的技术和手段。
2.多媒体计算机的关键技术
(1)视频和音频数据的压缩与解压缩技术;
(2)多媒体专用芯片;
(3)大容量存储器;
(4)适用于多媒体技术的软件。

三、I/O接口

(一)概述
I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。

(二)接口的功能和组成
1.总线连接方式的I/O接口电路,如图5-7所示。
在这里插入图片描述
图5-7 I/O总线和接口部件
(1)数据线
数据线是I/O设备与主机之间数据代码的传送线。
(2)设备选择线
设备选择线是用来传送设备码的,它的根数取决于I/O指令中设备码的位数。
(3)命令线
命令线主要用以传输CPU向设备发出的各种命令信号,如启动、清除、屏蔽、读、写等。
(4)状态线
状态线是将I/O设备的状态向主机报告的信号线。
2.接口的功能和组成
(1)选址功能;
(2)传送命令的功能;
(3)传送数据的功能;
(4)反映I/O设备工作状态的功能。

(三)接口类型
1.按数据传送方式分类,有并行接口和串行接口两类;
2.按功能选择的灵活性分类,有可编程接口和不可编程接口两种;
3.按通用性分类有通用接口和专用接口;
4.按数据传送的控制方式分类,有程序型接口和DMA型接口。

四、程序查询方式

(一)程序查询流程
程序查询方式的核心问题在于每时每刻需不断查询I/O设备是否准备就绪。图5-8是单个I/O设备的查询流程。
在这里插入图片描述
图5-8 单个I/O设备的查询流程。

(二)程序查询方式的接口电路
程序查询方式接口电路的基本组成,如图5-9所示。
在这里插入图片描述
图5-9 程序查询方式接口电路(输入)的基本组成
以输入设备为例,该接口的工作过程如下:
1.当CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路;
2.若该接口的设备码与地址线上的代码吻合,其输出SEL有效;
3.I/O指令的启动命令经过“与非”门将工作触发器B置“1”,将完成触发器D置“0”;
4.由B触发器启动设备工作;
5.输入设备将数据送至数据缓冲寄存器;
6.由设备发设备工作结束信号,将D置“l”,B置“0”,表示外设准备就绪;
7.D触发器以“准备就绪”状态通知CPU,表示“数据缓冲满”;
8.CPU执行输入指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元。

五、程序中断方式

(一)中断的概念
计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序,这就是中断。

(二)I/O中断的产生
在I/O设备与主机交换信息时,由于设备本身机电特性的影响,其工作速度较低,与CPU无法匹配,因此,CPU启动设备后,往往需要等待一段时间才能实现主机与I/O设备之间的信息交换。如果在设备准备的同时,CPU不作无谓的等待,而继续执行现行程序,只有当I/O设备准备就绪向CPU提出请求后,再暂时中断CPU现行程序转入I/O服务程序,这便产生了I/O中断。

(三)程序中断方式的接口电路
1.中断请求触发器和中断屏蔽触发器
每台外部设备都必须配置一个中断请求触发器INTR,当其为“1”时,表示该设备向CPU提出中断请求。但是设备欲提出中断请求时,其设备本身必须准备就绪,即接口内的完成触发器D的状态必须为“1”。
2.排队器
设备优先权的处理可以采用硬件方法,也可采用软件方法。硬件排队器的实现方法很多,既可在CPU内部设置一个统一的排队器,对所有中断源进行排队,也可在接口电路内分别设置各个设备的排队器。图5-10所示是设在各个接口电路中的排队器电路,又称为链式排队器。
在这里插入图片描述
图5-10 链式排队器
3.中断向量地址形成部件(设备编码器)
中断向量地址形成部件的输入是来自排队器的输出INTP1,INTP2,…,INTPn,它的输出是中断向量(二进制代码表示),其位数与计算机可以处理中断源的个数有关,即一个中断源对应一个向量地址。
在这里插入图片描述
图5-11 中断向量地址形成部件框图
4.程序中断方式接口电路的基本组成
程序中断方式接口电路的基本组成如图5-12所示。
在这里插入图片描述
图5-12 程序中断方式接口电路的基本组成

(四)中断服务程序的流程
1.保护现场
保护现场有两个含义,其一是保存程序的断点;其二是保存通用寄存器和状态寄存器的内容。
2.中断服务(设备服务)
这是中断服务程序的主体部分,对于不同的中断请求源,其中断服务操作内容是不同的。
3.恢复现场
这是中断服务程序的结尾部分,要求在退出服务程序前,将原程序中断时的“现场”恢复到原来的寄存器中。
4.中断返回
中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。

六、DMA方式

(一)DMA方式的特点
图5-13示意了DMA方式与程序中断方式的数据通路。
在这里插入图片描述
图5-13 DMA和程序中断两种方式的数据通路
为了有效地分时使用主存,通常DMA与主存交换数据时采用如下三种方法:
1.停止CPU访问主存;
2.周期挪用(或周期窃取);
3.DMA与CPU交替访问。
在这里插入图片描述
图5-14 DMA的三种传送方式

(二)DMA接口的功能和组成
1.DMA接口的功能
利用DMA方式传送数据时,数据的传输过程完全由DMA接口电路控制,故DMA接口又有 DMA控制器之称。DMA接口应具有如下几个功能。
(1)向CPU申请DMA传送;
(2)在CPU允许DMA工作时,处理总线控制权的转交,避免因进入DMA工作而影响CPU正常活动或引起总线竞争;
(3)在DMA期间管理系统总线,控制数据传送;
(4)确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和数据长度;
(5)在数据块传送结束时,给出DMA操作完成的信号。
2.DMA接口基本组成
最简单的DMA接口组成原理如图5-15所示,它由以下几个逻辑部件组成:
在这里插入图片描述
图5-15 简单的DMA接口组成原理图
(1)主存地址寄存器(AR);
(2)字计数器(WC);
(3)数据缓冲寄存器(BR);
(4)DMA控制逻辑;
(5)中断机构;
(6)设备地址寄存器(DAR)。

(三)DMA的工作过程 
1.DMA传送过程
DMA的数据传送过程分为预处理、数据传送和后处理3个阶段。
(1)预处理
在DMA接口开始工作之前,CPU必须给它预置如下信息:
①给DMA控制逻辑指明数据传送方向是输入(写主存)还是输出(读主存);
②向DMA设备地址寄存器送入设备号,并启动设备;
③向DMA主存地址寄存器送入交换数据的主存起始地址;
④对字计数器赋予交换数据的个数。
(2)数据传送
DMA方式是以数据块为单位传送的,以周期挪用的DMA方式为例,其数据传送的流程如图5-16(b)所示。
在这里插入图片描述
图5-16 DMA传送过程示意图
以数据输入为例,具体操作如下:
①当设备准备好一个字时,发出选通信号,将该字读到DMA的数据缓冲寄存器(DR)中.表示数据缓冲寄存器“满”(如果I/O设备是面向字符的,则一次读入一个字节,组装成一个字);
②与此同时设备向DMA接口发请求(DREQ);
③DMA接口向CPU申请总线控制权(HRQ);
④CPU发回HLDA信号,表示允许将总线控制权交给DMA接口;
⑤将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器写;
⑥通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备;
⑦将DMA数据缓冲寄存器的内容送数据总线;
⑧主存将数据总线上的信息写至地址总线指定的存储单元中;
⑨修改主存地址和字计数值;
⑩判断数据块是否传送结束,若未结束,则继续传送;若已结束,(字计数器溢出)则向CPU申请程序中断,标志数据块传送结束。
若为输出数据,则应完成以下操作:
①当DMA数据缓冲寄存器已将输出数据送至I/O设备后,表示数据缓冲寄存器已“空”;
②设备向DMA接口发请求(DREQ);
③DMA接口向CPU申请总线控制权(HRQ);
④CPU发回HLDA信号,表示允许将总线控制权交给DMA接口使用;
⑤将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器读。
⑥通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备。
⑦主存将相应地址单元的内容通过数据总线读入到DMA的数据缓冲寄存器中。
⑧将DMA数据缓冲寄存器的内容送到输出设备,若为字符设备,则需将其拆成字符输出。
⑨修改主存地址和字计数值。
⑩判断数据块是否已传送完毕,若未完毕,继续传送;若已传送完毕,则向CPU申请程序中断。
(3)后处理
当DMA的中断请求得到响应后,CPU停止原程序的执行,转去执行中断服务程序,做一些DMA的结束工作,如图5-16(a)的后处理部分。
2.DMA接口与系统的连接方式
DMA接口与系统的连接方式有两种,如图5-17所示。
在这里插入图片描述
图5-17 DMA接口与系统的连接方式
图5-17(a)为具有公共请求线的DMA请求方式,若干个DMA接口通过一条公用的DMA请求线向CPU申请总线控制权。CPU发出响应信号,用链式查询方式通过DMA接口,首先选中的设备获得总线控制权,即可占用总线与主存传送信息。
图5-17(b)是独立的DMA请求方式,每一个DMA接口各有一对独立的DMA请求线和 DMA响应线,它由CPU的优先级判别机构裁决首先响应哪个请求,并在响应线上发出响应信号,获得响应信号的DMA接口便可控制总线与主存传送数据。
3.DMA小结
与程序中断方式相比,DMA方式有如下特点。
(1)从数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送。
(2)从CPU响应时间看,程序中断方式是在一条指令执行结束时响应,而DMA方式可在指令周期内的任一存取周期结束时响应。
(3)程序中断方式有处理异常事件的能力,DMA方式没有这种能力,主要用于大批数据的传送,如硬盘存取、图像处理、高速数据采集系统等,可提高数据吞吐量。
(4)程序中断方式需要中断现行程序,故需保护现场;DMA方式不中断现行程序,无须保护现场。
(5)DMA的优先级比程序中断的优先级高。

(四)DMA接口的类型
现代集成电路制造技术已将DMA接口制成芯片,通常有选择型和多路型两类。
1.选择型DMA接口
它的主要特点是在物理上可连接多个设备,在逻辑上只允许连接一个设备,即在某一段时间内,DMA接口只能为一个设备服务,关键是在预处理时将所选设备的设备号送入设备地址寄存器。图5-18是选择型DMA接口的逻辑框图。选择型DMA接口特别适用于数据传输率很高的设备。
在这里插入图片描述
图5-18 选择型DMA接口的逻辑框图
2.多路型DMA接口
多路型DMA接口不仅在物理上可以连接多个设备,而且在逻辑上也允许多个设备同时工作,各个设备采用字节交叉的方式通过DMA接口进行数据传送。在多路型DMA接口中,为每个与它连接的设备都设置了一套寄存器,分别存放各自的传送参数。图5-19(a)和(b)分别是链式多路型DMA接口和独立请求多路型DMA接口的逻辑框图。这类接口特别适合于同时为多个数据传输率不十分高的设备服务。
在这里插入图片描述
图5-19 多路型DMA接口的逻辑框图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2038241.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript模拟空调效果

JavaScript模拟空调效果https://www.bootstrapmb.com/item/15074 在JavaScript中模拟空调效果主要依赖于前端界面的交互和状态变化,因为实际的温度调节、风扇速度调整等硬件操作无法直接通过JavaScript在浏览器中实现。不过,我们可以通过JavaScript来模…

yaml详解实战,读取实战,以及运行结果解析,以及单引号和双引号对转义符读取的影响

一、 YAML:数据格式 文章:《yaml基本语法,数据类型,对象,数组,复合结构,纯量,引用;文件后缀为.yml或.yaml》 里有一些介绍,以及我自己的理解。 这篇文章偏实战…

nvm介绍、下载、安装、配置及使用

一、背景 在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就…

Linux C 程序 【04】线程分离

1.开发背景 Linux 线程区分于FreeRTOS,线程的属性形态有2中,在 pthread.h 中有注解,如下。 /* Detach state. */ enum {PTHREAD_CREATE_JOINABLE, #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLEPTHREAD_CREATE_DETACHED #defin…

72v-85v输出12v/13.5v电流6A用在电自上AH1009

135-3806-7573.在探讨“72V-85V输出12V/13.5V电流6A用在电动自行车(电自上)AH1009”这一主题时,我们深入到一个结合了电力电子技术、电池管理系统以及电动自行车性能优化的专业领域。。 *****芯片概述: AH1009是一款宽电压范围、…

数据中心服务器监控系统搭建方案

数据中心监控系统搭建方案 1、背景2、环境3、部署3.1、终端部署3.1.1、服务器配置3.1.1.1、浪潮服务器3.1.1.2、曙光服务器 3.2、服务端部署3.2.1、在线环境下载3.2.2、离线环境安装3.2.3、系统配置 1、背景 服务部署与三个网络环境中,其中某个网位于线下机房&…

Leetcode面试经典150题-2.两数相加

2. 两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不…

重塑视觉界限:探索InstantID,超越ReActor的下一代换脸技术!

马斯克与郭德纲,一位是相声界的顶流,一位是科技界的大咖。 想象一下,他们的形象融合,会是什么样? 最新推出的开源项目 —— InstantID 让这种“跨界融合”成为可能。 来瞧瞧,“马德纲”有惊艳到你吗&…

回归预测|基于麻雀优化深度神经网络的数据回归预测Matlab程序SSA-DNN 多特征输入单输出 含基础深度神经网络DNN

回归预测|基于麻雀优化深度神经网络的数据回归预测Matlab程序SSA-DNN 多特征输入单输出 含基础深度神经网络DNN 文章目录 前言回归预测|基于麻雀优化深度神经网络的数据回归预测Matlab程序SSA-DNN 多特征输入单输出 含基础深度神经网络DNN 一、SSA-DNN模型1. 麻雀优化算法&…

想发SCI,先写论文还是先选刊?手把手带你分析如何提高发表成功率!

点击关注:关注GZH【欧亚科睿学术】,GET完整版2023JCR分区列表! 发SCI是先写论文还是先选刊 发SCI论文时,通常建议先选择合适的期刊再开始写论文。 先选刊的策略意味着你在撰写论文之前,先确定一个或多个可能投稿的期…

2021-11-08 51单片机2位秒表启动清零

缘由c51单片机,程序,仿真图,求帮助-编程语言-CSDN问答 #include "REG52.h"sbit K1 P1^0; sbit K2 P1^1; sbit K3 P1^2; sbit K4 P1^3; sbit P1_0P2^0; sbit P1_1P2^1; sbit P1_2P2^2; sbit P1_3P2^3; sbit P1_4P2^4; sbit P1_…

C++八股文(一)

🏳‍🌈C基础 🌱1.C特点 1. C 在 C 语言基础上引入了 面对对象 的机制,同时也 兼容 C 语言 。 2. C 有三大特性 ( 1 )封装。( 2 )继承。( 3 )多态&#xff…

网站模板建站和定制网站哪个更适合中小企业?

通俗来说,网站建设有模板建设、定制建站两个门类。在聊聊网站建设多少钱之前,我们可以先来简单分析一下模板建站和定制建站的优缺点在哪。 一、模板建站 优势:1.极大看重性价比,价格优势会较高。 劣势:1.因是在已有的模…

Datawhale AI夏令营--从零入门多模态大模型数据合成Task1

从零入门多模态大模型数据合成 报名赛事注意事项 创建实例跑baseline(预计时间300分钟)改用无卡模式开机创建非指定镜像 下载赛事所需文件包下载模型,数据集以及依赖软件下载模型和相关数据集下载BLIP图片描述模型 数据处理与合成推理和评测打包输出运行结果提交结果 报名赛事 …

Open3D 计算点云的协方差矩阵(原理详细版)

目录 一、概述 1.1协方差矩阵的定义 1.2实现步骤 1.3应用 二、代码实现 1.1实现代码 2.2协方差应用案例 2.2.1主成分分析法的应用 2.2.2平面拟合 三、疑问解答 3.1为什么计算协方差矩阵要去质心? 3.1.1原因 3.1.2区别 Open3D点云算法汇总及实战案例汇总…

WordPress建站之头像及字体错误修正

目录 一、谷歌字体 二、头像网址 三、后续使用中的“坑” 网站建设好以后,会发现有些卡顿,网速好的环境感觉不明写,但是差的环境就难以忍受了。这是打开网页的控制台(Console)会发现有报错信息: 这些报错…

数组---怎么样定义和引用数组

一怎么定义数组 例 int a[10]; //定义了一个一维数组,数组名为a,此数组包含10个整型元素 所以我们了解到数组的基本定义为 类型符 数组名 [常量表达式] 定义数组可以包括常量和符号常量如 int [ 35 ];但是不能利用变量定义如 int n; …

数据结构(6_1_1)——图的基本概念

图的定义 图G由顶点集V和边集E组成,记为G(V,E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若V{v1,v2,.....,vn},则用|V|表示图G中顶点的个数,也称图G的阶, ,用|E|表示图G中的边的条数 注意&…

【产品那些事】The OX Active ASPM Platform

文章目录 前言关于OX Security产品理念 流程体验Complete Visibility:将安全无缝嵌入到SDLC中PBOMOSC&R coverageContextualized Prioritization:快速解决最关键的风险Accelerated Response:简化安全流程See Beyond the Code:…

idea vue项目删除node_modules时报文件损坏且无法读取,导致删除失败

解决办法,查看node_modules所在盘,右击点击属性-工具,点击检查驱动,查完后修复即可, 就能够成功删除损坏的文件了