计算机组成原理-输入输出系统(持续更新中)

news/2024/7/5 2:58:07

I/O系统基本概念

基本概念

I/O硬件

现代计算机的结构

“I/O”就是"输入/输出"

IO设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备。

常见的IO设备

 

主机如何与I/O设备进行交互? 

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

I/O硬件包括外部设备、I/O接口、I/O总线等。 

 

I/O软件

 I/O软件包括驱动程序、用户程序、管理程序、升级补丁等。

通常采用I/O指令和通道指令实现主机和I/O设备的信息交换。

(1)I/O指令   CPU指令的一部分

注:I/O指令与普通指令格式略有不同,操作码指明了CPU要对IO接口做什么,命令码指明了IO接口要对设备做什么 

(2)通道指令  通道能识别的指令

通道程序提前编制好放在主存中

在含有通道的计算机中,CPU执行I/O指令对通道发出命令,由通道执行一系列通道指令,代替CPU对I/O设备进行管理

I/O控制方式

 

CPU如何控制键盘I/O的完成?通过下面四种方式 

程序查询方式

CPU不断轮询检查I/O控制器中的“状态寄存器”,检测到状态为“”已完成之后,再从数据寄存器取出输入数据

这种方式CPU等待的时间较长,利用率太低。

程序中断方式

等待键盘 I/O时CPU可以先去执行其他程序,键盘I/O完成后I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据。

这种方式如果对于快速 I/O设备,如“磁盘”,每准备好一个字就给CPU发送一次中断请求,会导致CPU需要花大量的时间来处理中断服务程序,CPU利用率严重下降。

DMA控制方式

DMA控制方式:主存与高速I/O设备之间有一条直接数据通路(DMA总线) 。CPU向DMA接口发出“读/写”命令,并指明主存地址、磁盘地址、读写数据量等参数。

DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写(如1KB为一整块),才向CPU发出一次中断请求。

通道控制方式

有的商用中型机、大型机可能会接上超多的I/0设备,如果都让CPU来管理,那么CPU就太累了..这时就引入了通道控制方式。

通道:可以理解为是“弱鸡版的CPU”。通道可以识别并执行一系列通道指令,通道指令种类、功能通常比较单一 

通道方式:通过IO指令启动通道,通道执行通道指令序列,通道程序放在主存中

 

 


http://lihuaxi.xjx100.cn/news/282049.html

相关文章

c#直接调用ssis包实现Sql Server的数据导入功能

调用ssis包实现Sql Server的数据导入功能网上已经有很多人讨论过,自己参考后也动手实现了一下,上一次笔者的项目中还用了一下这个功能。思前想后,决定还是贴一下增强记忆,高手请54.1、直接调用ssis包,需要引用Microsof…

Linux技术的成功之处

相信很多人在接触linux之前,都应该接触过windows系统,毕竟这个系统在中国而言,几乎是所有同学从小就接触到的一个系统,每当我们打开新买的电脑的时候,总会弹出熟悉的Windows界面。而今天在这里要说的是一个几乎能和win…

百度与华为重磅合作!李彦宏:技术是百度的信仰

导语:这是百度第三年举办AI开发者大会。一生二,二生三,三生万物。AI虽然不能产生万物,但是正在“唤醒万物”。 作者 | 阿司匹林 出品 | AI科技大本营(ID:rgznai100) 在今天上午举行的的百度AI开发者大…

如何在 Python 中创建一个简单的神经网络

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达引言在过去的几十年里,机器学习对世界产生了巨大的影响,而且它的普及程度似乎在不断增长。最近,越来越多的人已经熟悉了机器学习的子领…

B站500万粉up主党妹被黑客勒索:交钱赎“人”!顶级安全专家:无解

郭一璞 十三 发自 凹非寺量子位 报道 | 公众号 QbitAI最近真是太难了,要防新冠病毒,还要防勒索病毒。昨天,B站556万粉丝的up主「机智的党妹」就发视频说,自己被勒索病毒攻击了。她正在制作的数百个GB的视频素材文件,全…

浅谈Android系统开发中LOG的使用【转】

本文转载自:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供…

php网站怎么伪静态,php怎么实现网页伪静态

php实现网页伪静态的方法:首先在服务器根目录创建一个“.htaccess”文件;然后添加内容为“RewriteRule ^index-(\d)\.html$ index.php?id$1”即可。本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑.htaccess实现php网站伪静态&…

Linux 使用者身份與群組記錄的檔案

在我們Linux系統當中,預設的情況下,所有的系統上的帳號與一般身份使用者,還有那個root的相關資訊, 都是記錄在/etc/passwd這個檔案內的。至於個人的密碼則是記錄在/etc/shadow這個檔案下。 此外,Linux所有的群組名稱都…