计算机组成原理-笔记-第七章

目录

七、第七章——输入输出系统

1、IO设备与IO控制方式

(1)控制方式(查询,中断,DMA)

(2)通道控制

(3)IO系统

(4)总结

2、外设(外部设备)

(1)显示器

(2)打印机

3、IO接口

(1)统一编址 & 独立编址

(2)接口类型

(3)总结

4、程序查询方式

(1)练习题

(2)总结(优点+缺点)

5、中断

(1)关中断——开中断(原子性)

(2)中断——flag——触发器

(3)中断——优先级(硬件排队器,软件查询)

(4)中断——优先级设置

(5)中断处理——硬件向量法

6、多重中断(套娃—递归)

(1)练习题

(2)总结

(3)拓展

7、程序中断

(1)习题

(2)总结

8、DMA方式

(1)总过程——前,中,后

(2)过程细化

(3)传输过程图

(4)DMA和CPU的控制权

(3)特点

(3)中断 VS DMA ——对比图

(3)总结


七、第七章——输入输出系统

1、IO设备与IO控制方式

 

(1)控制方式(查询,中断,DMA)


 

(2)通道控制

 

(3)IO系统

 

(4)总结

 

2、外设(外部设备)

(1)显示器

 

 

(2)打印机

3、IO接口

 

 

 

(1)统一编址 & 独立编址

 

(2)接口类型

 

(3)总结

 

4、程序查询方式

轮询——查询(一直未就绪,就会卡住!死循环)

串行方式——效率低(但是简单)

CPU可以使用轮询(一直查询——独占查询)

可以定时查询(优化的方法)

 

 

(1)练习题

 

(2)总结(优点+缺点)

 

5、中断

 

(1)关中断——开中断(原子性)

关中断——关门放狗——进行处理(这个时候,不会理会其他的操作)

开中断——处理结束后,再开门——才开始处理其他的操作

关于数据的处理——一定要记得保证他的原子性!

 

(2)中断——flag——触发器

 

(3)中断——优先级(硬件排队器,软件查询)

 

(4)中断——优先级设置

 

(5)中断处理——硬件向量法

关中断(关门放狗)——保存中断点——找到中断程序

根据中断点(保护现场)——执行中断——恢复现场——开中断(回到中断点) 

6、多重中断(套娃—递归)

一定要加——屏蔽关键字(真是头秃)

(1)练习题

(2)总结

(3)拓展

 

7、程序中断

 

(1)习题

 

(2)总结

 

8、DMA方式

Direct Memory Access 直接内存访问

(1)总过程——前,中,后

 

(2)过程细化

 

(3)传输过程图

 

(4)DMA和CPU的控制权

有三种方法——DMA的传输方式

(3)特点

 

(3)中断 VS DMA ——对比图

 

(3)总结

注意:DMA在不同总线结构中,他的方式都不一样!具体结构具体设计!

他只是告诉我们有这些思路,不要局限于这些!

这些设计结构,是前辈们的思想!我们学习是前辈们解决问题的方法!


到这里,计算机网络就全部搞定啦~~~

但是这只是开始~

相信你学习完之后,已经对电脑的硬件有了一些认识

如何一步步组装,一步步封装,从简单到复杂,从1个部件,到多个部件

前人如何一步步让计算机,变得方便我们操作,他们付出了很多的努力!

从一步步的数据加减乘除,到数据的交换,存储,再到模块,设备之间...


站在巨人的肩膀上,我们征途才刚刚开始,加油啊!为了你自己的目标!

这一路上,虽然艰辛,但是还有很多人注视着你,你并不是一个人在战斗!

计算机的征程,吾心往矣,虽九死其犹未悔!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

钕铁硼永磁材料基本概念

目录 一、何为磁性材料二、永磁材料的主要性能三、永磁材料的历史四、永磁材料的分类五、钕铁硼永磁材料5.1 产业链5.2 生产工艺 之前也写过其他行业的一些生产过程和工艺流程,大家有兴趣的可以翻翻以前的文章。 一、何为磁性材料 参加过九年义务教育的同学应该都知…

CSS3 中新增了哪些常见的特性?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 圆角(Border Radius)⭐ 渐变(Gradients)⭐ 阴影(Box Shadow)⭐ 文本阴影(Text Shadow)⭐ 透明度(Opacity)⭐ 过渡&…

我的Python教程:使用Pyecharts画柱状图

Pyecharts是一个用于生成 Echarts 图表的 Python 库。Echarts 是一个基于 JavaScript 的数据可视化库,提供了丰富的图表类型和交互功能。通过 Pyecharts,你可以使用 Python 代码生成各种类型的 Echarts 图表,例如折线图、柱状图、饼图、散点图…

【C++从0到王者】第二十站:模板进阶

文章目录 前言一、typename 和 class的一些区别二、非类型模板参数1.非类型模板参数介绍2.array容器 三、模板的特化1.函数模板的特化2.类模板的特化1.全特化2.偏特化(半特化) 三、模板的分离编译四、总结 前言 在前面我们使用模板主要是为了解决两类问…

安装docker和案例复现

安装环境 1.安装docker #输入命令 yum install -y yum-utils 安装下载docker的工具包 yum install -y yum-utils # 设置阿里docker镜像仓库地址 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce d…

大数据-玩转数据-Flink-Transform

一、Transform 转换算子可以把一个或多个DataStream转成一个新的DataStream.程序可以把多个复杂的转换组合成复杂的数据流拓扑. 二、基本转换算子 2.1、map(映射) 将数据流中的数据进行转换, 形成新的数据流,消费一个元素并产出一个元素…

阻塞队列_线程安全版本_生产消费者模型

前言 在前面PriorityQueue优先级队列_Y君的进化史的博客-CSDN博客,我们学习了优先级队列,但是发现,当一个线程将优先级队列使用完之后,会自动退出程序,如果此时我们想使其一直等待到下一个任务的录入,就需…

面试热题(LRU缓存)

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 …

信息论基础知识

注意:本文只针对离散随机变量做出探讨,连续随机变量的情况不适用于本文探讨的内容! (一)自信息 1. 自信息 I ( x ) − l o g n P ( x ) \color{blue}I(x) - log_{n}{P(x)} I(x)−logn​P(x) 注意: 若n …

亚马逊 EC2服务器下部署java环境

1. jdk 1.8 安装 1.1 下载jdk包 官网 Java Downloads | Oracle tar.gz 包 下载下来 1.2 本地连接 服务器 我用的是亚马逊的ec2 系统是 ubuntu 的 ssh工具是 Mobaxterm , 公有dns 创建实例时的秘钥 链接 Mobaxterm 因为使用的 ubuntu 所以登录的 名称 就是 ubuntu 然后 …

Linux centos 常用命令 【持续更新】

一、查看文件信息 indoe和目录项 # df命令查看每个硬盘分区的inode总数和已经使用的数量 df -i# 查看inode的大学 xfs_growfs /dev/sda1|grep "isize"# 查看文件的indoe号码 ls -istat查看文件信息 # 文件的详细信息 stat anaconda-ks.cfg # -t参数是在一行内输出…

Linux 的基本指令(3)

指令1:date 作用:用来获取时间的指令。 1. 获取当下的时间: date %Y-%m-%d_%H:%M:%S 其中:%Y 表示年,%m 表示月,%d 表示日,%H 表示 小时,%M 表示分,%S 表示秒。 上面代…

用 oneAPI 实现 AI 欺诈检测:一款智能图像识别工具

简介 虚假图像和视频日益成为社交媒体、新闻报道以及在线内容中的一大隐患。在这个信息爆炸的时代,如何准确地识别和应对这些虚假内容已经成为一个迫切的问题。为了帮助用户更好地辨别虚假内容,我开发了一款基于 oneAPI、TensorFlow 和 Neural Compress…

springBoot集成caffeine,自定义缓存配置 CacheManager

目录 springboot集成caffeine Maven依赖 配置信息:properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager springboot集成caffeine Caffeine是一种基于服务器内存的缓存库。它将数据存储在…

进销存管理系统(小杨国贸)springboot采购仓库财务java jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 进销存管理系统(小杨国贸)spri…

k8s之StorageClass(NFS)

一、前言 1、环境 k8s v1.23.5 ,服务器是centos7.9 192.168.164.20 k8s-master1 192.168.164.30 k8s-node1 192.168.164.40 k8s-node2 2、貌似storageClass在kubernetes v1.20就被砍了。 因为它比较慢,而且耗资源,但可以通过不同的实现镜…

玩机搞机--【开机出现您的设备内部出现了问题,请联系你的制造商了解详情】故障解决思路

很多友友在玩机过程中经常会遇到下图所示故障。大多数都是刷了第三方系统或者内核或者面具导致的。正常来说。这个提示可以无视的,不影响正常的手机使用。但强迫症例外。究其原因。一般是内核校验原因。解决方法也分为多种。今天就为大家解析下这个提示的解决思路 &…

基于docker部署的Selenium Grid分布式自动化测试

01、什么是Selenium Grid Selenium Grid是Selenium套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上。 Selenium Grid有两个版本——老版本Grid 1和新版本Grid 2。我们只对新版本做介绍,因为Selenium团队已经逐渐遗弃老版…

yum 安装本地包 rpm

有时直接yum install 有几个包死活下不下来 根据网址,手动下载,下载后上传至 centos 然后运行 sudo yum localinstall xxx.rpm 即可安装 参考 https://blog.csdn.net/weiguang1017/article/details/52293244

微服务01-SpringCloud

1、简介 SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。 其中常见的组件包括: 2、服务拆分和远程调用 2.1 服务拆分 这里总结了微服务拆分时的几个原则: …