当前位置: 首页 > news >正文

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

目录

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

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个部件,到多个部件

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

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


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

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

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

相关文章:

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

目录 七、第七章——输入输出系统 1、IO设备与IO控制方式 (1)控制方式(查询,中断,DMA) (2)通道控制 (3)IO系统 (4)总结 2、外设…...

【Linux】网络基础2

文章目录 网络基础21. 应用层1.1 协议1.2 HTTP 协议1.2.1 URL1.2.2 urlencode和urldecode1.2.3 HTTP协议格式1.2.4 HTTP的方法1.2.5 HTTP的状态码1.2.6 HTTP 常见的header1.2.7 最简单的HTTP服务器 2. 传输层2.1 端口号2.1.1 端口号范围划分2.1.2 认识知名端口号2.1.3 netstat2…...

​可视化绘图技巧100篇进阶篇(四)-三维簇状柱形图(3D Clustered Bar Chart)

目录 前言 适用场景 图例 柱形图 一、柱形图的特点 二、柱形图的类型...

架构设计第八讲:架构 - 理解架构的模式2 (重点)

架构设计第八讲:架构 - 理解架构的模式2 (重点) 本文是架构设计第8讲:架构 - 理解架构的模式2,整理自朱晔的互联网架构实践心得, 他是结合了 微软给出的云架构的一些模式的基础上加入他自己的理解来总结互联网架构中具体的一些模式。我在此基…...

Java中的Maven Shade插件是什么?

Maven Shade插件是一个非常有用的Maven插件,它可以帮助你在构建项目时打包所有依赖项,并将其打包到一个单独的JAR文件中。这对于在构建过程中使用多个依赖项的项目非常有用,因为它可以让你避免在每个依赖项中都包含所有依赖项,从而…...

ffmpeg的bpp是什么?

例如&#xff1a; AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... AV_PIX_FMT_BGR24, …...

【C# 基础精讲】类和对象的概念

在面向对象编程&#xff08;Object-Oriented Programming&#xff0c;OOP&#xff09;中&#xff0c;类和对象是两个核心概念&#xff0c;用于描述和实现现实世界中的实体和关系。OOP 是一种编程范式&#xff0c;通过将数据和操作封装为对象来组织和管理代码&#xff0c;使得代…...

微信ipad实现批量添加联系人及批量分组

GEWE框架官方网站 geweapi.com 点击访问即可 搜索 小提示&#xff1a; 添加联系人必要接口搜索返回的V3 V4用于添加联系人 请求URL&#xff1a; http://域名地址/api/contacts/search 请求方式&#xff1a; POST 请求头&#xff1a; Content-Type&#xff1a;application/…...

Highcharts引入

Highcharts是和jQuery一起使用的&#xff0c;所以需要下载好jQuery jQuery下载方式&#xff1a;访问&#xff1a;http://cdn.staticfile.org/jquery/2.1.4/jquery.min.js&#xff0c;然后全选复制到自己新建的txt文档中&#xff0c;最后把扩展名改为js。 Highcharts下载方式&…...

腾讯云轻量和CVM有什么区别?不都是服务器吗?

腾讯云轻量服务器和云服务器有什么区别&#xff1f;为什么轻量应用服务器价格便宜&#xff1f;是因为轻量服务器CPU内存性能比云服务器CVM性能差吗&#xff1f;轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境&#xff0c;云服务器CV…...

Android高通8.1 Selinux问题

1、最近客户提了一个需求&#xff0c;说要在user版本上面切分辨率&#xff0c;默认屏幕分辨率是2.5 k 执行adb shell指令之后变成 4k 然后adb shell wm size可以查看 2、一开始我能想到就是在文件节点添加权限&#xff0c;这里不管是mtk还是qcom&#xff08;高通平台&#xff…...

python图片爬虫

#!/usr/bin/env python # -*- coding:utf-8 -*- import argparse import os import re import sys import urllib import json import socket import urllib.request import urllib.parse import urllib.error # 设置超时 import timetimeout 5 socket.setdefaulttimeout(time…...

SpringBoot系列---【SpringBoot在多个profiles环境中自由切换】

SpringBoot在多个profiles环境中自由切换 1.在resource目录下新建dev&#xff0c;prod两个目录&#xff0c;并分别把dev环境的配置文件和prod环境的配置文件放到对应目录下&#xff0c;可以在配置文件中指定激活的配置文件&#xff0c;也可以默认不指定。 2.在pom.xml中最后位置…...

Transformer架构

Transformer架构是一种重要的神经网络模型架构&#xff0c;最初由Vaswani等人在2017年提出&#xff0c;并在机器翻译任务上取得了显著的性能提升。Transformer架构在自然语言处理领域得到广泛应用&#xff0c;特别是在语言模型、机器翻译和文本生成等任务中。 Transformer架构…...

TVS二极管失效分析

摘要&#xff1a;常用电路保护器件的主要失效模式为短路&#xff0c;瞬变电压抑制器(TvS)亦不例外。TvS 一旦发生短路失效&#xff0c;释放出的高能量常常会将保护的电子设备损坏&#xff0e;这是 TvS 生产厂家和使用方都想极力减少或避免的情况。通过对 TVS 筛选和使用短路失效…...

k8s --pod详解

目录 一、Pod基础概念 1、pod简介 2、在Kubrenetes集群中Pod有如下两种使用方式 3、pause容器使得Pod中的所有容器可以共享两种资源&#xff1a;网络和存储。 &#xff08;1&#xff09;网络 &#xff08;2&#xff09;存储 4、kubernetes中的pause容器主要为每个容器提供…...

论文阅读---《Unsupervised ECG Analysis: A Review》

题目 无监督心电图分析一综述 摘要 电心图&#xff08;ECG&#xff09;是检测异常心脏状况的黄金标准技术。自动检测心电图异常有助于临床医生分析心脏监护仪每天产生的大量数据。由于用于训练监督式机器学习模型的带有心脏病专家标签的异常心电图样本数量有限&#xff0c;对…...

npm四种下载方式的区别

npm install moduleName 命令 安装模块到项目node_modules目录下。 不会将模块依赖写入devDependencies或dependencies 节点。 运行 npm install 初始化项目时不会下载模块。npm install -g moduleName 命令 安装模块到全局&#xff0c;不会在项目node_modules目录中保存模块包…...

04_Hudi 集成 Spark、保存数据至Hudi、集成Hive查询、MergeInto 语句

本文来自"黑马程序员"hudi课程 4.第四章 Hudi 集成 Spark 4.1 环境准备 4.1.1 安装MySQL 5.7.31 4.1.2 安装Hive 2.1 4.1.3 安装Zookeeper 3.4.6 4.1.4 安装Kafka 2.4.1 4.2 滴滴运营分析 4.2.1 需求说明 4.2.2 环境准备 4.2.2.1 工具类SparkUtils 4.2.2.2 日期转换…...

【ARM64 常见汇编指令学习 15 -- ARM 标志位的学习】

文章目录 ARM 标志位介绍Zero Condition flag(零标志位)零标志位判断实例 上篇文章&#xff1a;ARM64 常见汇编指令学习 14 – ARM 汇编 .balign,.balignw,.balign 伪指令学习 下篇文章&#xff1a;ARM64 常见汇编指令学习 16 – ARM64 SMC 指令 ARM 标志位介绍 在ARM架构中&am…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...