计算机组成原理第五章输入输出系统---概述笔记

news2024/12/24 8:30:18

我们都知道,外部设备和计算机是不能直接相连的,因为设备是多种多样的,都是通过一个接口设备和主存相连的,主机对外部设备有两种控制方式,程序查询方式和程序中断方式,第三种是DMA方式,这三种方式都是从CPU工作效率的角度提出来的,CPU和外部设备能够并行的工作,回顾之前的内容,CPU和缓存的运行速度相差很大的如果串行工作会拖累CPU的速度,所以会想出一种并行的工作方法来提升效率。

一. 输入输出系统的发展:

课后题3:I/O设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。

答:有程序查询方式、程序中断方式、DMA方式、通道方式和I/O处理机的方式。
其特点分别如下:
(1)程序查询方式:主机和I/O串行工作,如果I/O忙,那么CPU踏步等待。这种效率很低。
(2)程序中段方式:主机和I/O并行工作。这种方式消除了CPU踏步等待的现象,提高了CPU的工作效率。
(3)DMA方式:主机和I/O并行工作。主存和I/O之间有一条直接数据通路,CPU不参与I/O和主存间的信息交换,故不必中段现行程序,CPU效率更高。
(4)通道方式:通道是一个具有特殊功能的处理器,CPU把部分权利下方给通道,由它实现对外围设备的统一管理和外围设备与主存间的数据交换,大大提高了CPU的效率,但他是以花费更多的硬件为代价的。
(5)I/O处理机方式:他是通道方式的进一步发展,CPU将I/O操作及外围设备的管理权全 部交给I/O处理机,其实质就是多机系统,因而效率有更大的提高。

输入和输出系统的组成:

I/O软件

I/O指令:CPU指令的一部分操作码命令码设备码(存设备地址)

  • IN 
  • OUT

通道指令: 通道自身的指令 指出首地址 传送字数 操作命令

IO硬件 

接口的通用模型 

 CPU的工作速度很快,接口是硬件工作速度也很快,相比于这俩,外部设备的工作速度就显得很慢了,外部设备来不及接受数据的时候就要在接口的位置增设一个缓冲器,用来作为CPU到外设的一个过度,变换器是转换电信号的作用,我们都知道CPU内部工作的电信号和外部设备工作的电信号是不一样的,变换器起到这样的一个电信号的一个转换作用。

IO设备和主机的联系方式

刚才说每个设备都有一个地址码\rightarrow设备码对应的是设备的一个地址,每一个设备地址对应一个地址空间,外部设备通过IO接口进行数据传输,CPU和主存之间有一个地址映射,同样的主存和I/O也有一个地址映射,外部设备通过IO接口进行数据传输

 I/O编址方式

  • 统一编址方式:如下图所示,0~N给内存分配地址,剩余的给寄存器,我们只需要根据译码器的结果判断是在哪个位置就可以了。例如,LOAD取数指令是把某一内存单元中的数给CPU,同样我们给出IO的地址也可以把IO中的数传个CPU的某一个寄存器中。
  • 独立编址,由于地址空间是有重复的,这样就需要有IO指令比如in or out 如果是io指令就在io中访问,繁殖就是在内存中访问

两种寻址方式的对比:

 联络方式

 Io设备和主机的联络方式

程序查询方式:(串行一个人干活另外一个人等)

 CPU不能直接读IO,CPU要读取接口中的状态寄存器R,通过R判断外部设备是否能进行工作,IO设备空闲之后,先将数据存入数据寄存器DR再向CPU发出strobe信号表示可以工作,

程序中断方式: 

 DMA工作方式:

主存和IO设备增设了一条直接相连的通路,可以不经过CPU直接和主存进行数据交换,CPU只需知道这是外部设备的一个传送,启动DMA控制器,把控制权交给DMA控制器,所以剩下的传送都交给DMA来完成就可以了。

 操作系统中IO扮演的角色:

 

 构图软件:

2.drawio - diagrams.net

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

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

相关文章

HTML表单和CSS属性以及DOM实现网页版计算器

目录 1、效果展示 2、源码 2.1HTMLCSS源码 2.2JS源码 3、CSS属性 3.1width、height属性 3.2font-size属性 3.3margin属性 3.4padding属性 3.5background-color属性 3.6border属性 3.7border-radius属性 3.8text-align属性 4、DOM 4.1根据id获取元素 4.2根据nam…

06 - 深度学习处理器原理

一、通用计算机架构 1. 冯诺依曼架构 冯诺依曼架构的特点:(1)使用存储程序的概念,即数据和指令都存储在内存中;(2)由 CPU、内存、输入/输出设备和总线组成,其中 CPU 包括控制单元、算术逻辑单元和寄存器;(3)控制单元按照取指(Fetch)- 译码(Decode)- 执行(Exec…

IM即时通讯-7-如何设计通知提醒

本文大纲 本文从为什么做通知提醒, 以及如何设计通知提醒, 以及如何衡量通知提醒三方面解释了如何设计通知提醒。 对于重点的如何设计通知提醒, 通过拆分前台和后台, 前台采用自建或者二方通道, 后台采用厂商信令通道…

电厂人员定位怎么做?智慧电厂人员定位系统解决方案告诉你答案

伴随着“泛在电力物联网建设”的提出,构建智慧电厂引起重大关注,全国各地纷纷响应。传统电力企业一直面临着人员管控难、生产环境复杂且危险多等问题,物联网技术的兴起使得电厂的数字化和智慧化转型已成为电力企业保障生产作业安全、提升生产…

工具及方法 - Linux下串口工具Minicom

因为调试设备所以需要打开两个串口,也许是开了Ubuntu虚拟机的影响,或其他的问题,经常有一个或两个串口设备工作不正常,需要重启电脑,很麻烦。 原因大概就是设备驱动问题,比如使用MobaXterm这个工具&#x…

基于NXP iMX8M Mini处理器测试DPDK

By Toradex秦海 1). 简介 DPDK (Data Plane Development Kit) 软件是一组用户空间库和驱动程序,可加速在所有主要 CPU 架构上运行的网络数据包处理工作负载,以便提升整个网络数据服务的QoS。其最早由 Intel 大约 2010年创建,后由6WIND公司发…

赛事报名启动丨百度Apollo星火自动驾驶大赛开始报名啦!

作为汽车智能化、网联化的关键环节,自动驾驶成为全球科技界、产业界竞争的新赛道。随着人工智能、5G通信、激光雷达、高精地图等多项技术不断完善,自动驾驶的判断力和理解力得到了显著提升。为了推动自动驾驶技术的发展、加快人工智能技术的迭代&#xf…

超详细的ARM架构适配介绍!

超详细的ARM架构适配介绍! - 掘金 本文主要介绍云联壹云平台如何适配ARM,并运行在ARM CPU架构的机器上。 背景介绍 1、平台服务运行架构 云联壹云平台采用容器化,分布式的架构运行在 Kubernetes(K8s)之上。下面是平…

小白轻松学Spring Cloud

在了解SpringCloud之前,我们先来大致了解下微服务这个概念吧。 传统单体架构 单体架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个web容器就可以跑起来。 可以从上图看出,单体架构基本上就是如上所说的:一个应用…

【Python】自动化这么简单吗?——百度网盘自动上传文件教程

文章目录前言一、准备二、授权bypy访问百度网盘三、开始使用bypy四、文件上传功能五.文件同步功能总结前言 要使用Python自动上传文件到百度网盘,你可以使用bypy开源模块,它提供了丰富的功能,包括显示文件列表、同步目录、文件上传。 仅支持…

014 - C++ 类

本期我们要讲的是 C 中的类。 我们终于讲到了面向对象编程,这是一种非常流行的编程方式,面向对象编程实际上只是一种你可以采用的编写代码的方式,其他语言例如 C#、Java 这些主要是面向对象的语言,事实上,用这些语言你…

JUC并发工具

JUC并发工具 一、CountDownLatch应用&源码分析 1.1 CountDownLatch介绍 CountDownLatch就是JUC包下的一个工具,整个工具最核心的功能就是计数器。 如果有三个业务需要并行处理,并且需要知道三个业务全部都处理完毕了。 需要一个并发安全的计数器来操作。 CountDown…

Android Linux,Windows 安装,卸载 android studio

Linux安装过程 sudo apt-get install libc6:i386 libncurses5:i386 libstdc6:i386 lib32z1 libbz2-1.0:i386sudo cp -r ./android-studio /usr/local/cd android-studio/cd bin./studio.sh Windows 安装过程 下载安装文件,解压 将解压得到 android-studio 文件夹…

pdf转jpg怎么解决?这五个转换方法快速搞定!

pdf转jpg怎么转?pdf是在我们工作中经常使用的一种办公文件格式类型,但是在某些特殊情况下,我们应该把pdf转jpg图片格式文件,很多人在这种情况下不知道如何把pdf转jpg图片格式文件,接下来我们一起来了解下pdf转jpg转换方…

java设计模式(1) 适配器模式、装饰器模式

适配器模式 适配器就是一种适配中间件,它存在于不匹配的了两者之间,用于连接两者,使不匹配变得匹配。 手机充电需要将220V的交流电转化为手机锂电池需要的5V直流电 知识补充:手机充电器输入的电流是交流,通过变压整流…

MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点1:sys.statement_analysis视图

文章目录MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点1:sys.statement_analysis视图视图sys.statement_analysis各列定义视图sys.statement_analysis视图的定义视图sys.statement_analysis各列解释例题例题解析参考MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点…

5G边缘计算网关用于智能消防安全

随着人们对智能消防安全的需求不断增长,5G边缘计算网关作为一种新型技术,已经被广泛应用于消防设备的智能监控和管理中。本文将介绍5G边缘计算网关在智能消防安全中的应用,并给出一个Python代码示例。 一、5G边缘计算网关在智能消防安全中的应…

OKR系统改变您的团队

使用Zoho Projects易于使用的OKR系统将雄心转化为行动。简化您计划、跟踪和报告团队目标的方式。 一、使用这个强大的OKR工具提升结果 1、自动组织团队的目标 在公司、部门、团队和个人层面创建和跟踪OKR,以实现真正的整体OKR管理。 2、实时跟踪进度 使团队能够使…

阻塞队列 BlockingQueue

阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除的方法: 支持阻塞的插入方法:当队列满时,队列会阻塞插入元素的线程,直到队列不满;支持阻塞的移除…

HTML5 <header> 标签、HTML5 <html> 标签

HTML5 <header> 标签 实例 HTML5 &#xff0c;<header>标签用来表示介绍性的内容&#xff0c;即&#xff0c;定义了文档中的页眉&#xff0c;请参考下述示例&#xff1a; <article> 的页眉&#xff1a; <article><header><h1>Internet …