计算机组成原理——基础入门总结(二)

上一期的路径:基础入门总结(一)


目录

一.输入输出系统和IO控制方式

二.存储系统的基本概念

三.cache的基本概念和原理

四.CPU的功能和基本结构

五.总线概述


一.输入输出系统和IO控制方式

IO设备又可以被统一称为外部设备~ 

IO接口:由被称为IO控制器、设备控制器:负责协调主机与外部设备之间的数据传输。

IO控制器具有统一的设计标准。(IO控制器本质上就是一块芯片,常常被集成在主板上~)

 两种控制键盘I/O完成的方式:

(1)程序查询方式:CPU不断轮询检查I/O控制器中的“状态寄存器”,检测到状态为“已完成”之后,再从数据寄存器中取出输入数据。——会产生忙等等缺点

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

对于第二种程序中断方式来说,对于高速IO则会导致频繁发生中断的情况,从而导致CPU利用率降低~DMA控制方式可以一定程度上解决这种麻烦。(DMA接口本质也是IO接口)

扩展一个OS中可能会涉及的概念:通道

通道本质上也是一种处理器,可以识别并执行一些列通道指令,只不过功能远不如CPU,同样也可以用来管理IO接口。

如上是IO系统的组成部分。

二.存储系统的基本概念

主存即为内存,而辅存即为外存~(只不过手机通常只有辅存找一个概念)

下图是计算机的存储结构:

为了解决CPU读写速度极快而外存往往很慢的问题,诞生了内存、高速缓存等一些列中间介质。当一个程序想要运行时,需要先调入主存

Cache的意义是进一步提升与CPU的兼容速度,内部存放一些频繁使用的程序等~

此外,要注意最接近CPU的一层被称为寄存器:CPU进行操作时先将各种数据存放到寄存器之中。

需要注意的是:主存与辅存之间的数据交换,需要依靠OS和硬件共同完成,例如页面置换算等;而主存与cache之间的交换,则仅仅靠硬件就能实现~

联想之前提到的,GTA无法全部放入内存的引例~

三.cache的基本概念和原理

注意:Cache集成在CPU内部~ 

四.CPU的功能和基本结构

中央处理器(Central Processing Unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。

CPU的主要功能如下:

其中运算器和控制器的构造分别如下:

五.总线概述

总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。

每个总线内部可能包含多个信号线~


本系列暂更两期,之后对OS中的知识如果理解不够透彻,还会进一步更新新的内容~

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题~修剪二叉树

原题链接:669. 修剪二叉搜索树 - 力扣(LeetCode) 题目描述: 思路分析: 由题可知,我们要将原来的二叉搜索树调整为值在 low~high 之间的新二叉搜索树,接下来我们分析一下针对不同的节点的处理方…

Hbase工作原理

Hbase:HBase 底层原理详解(深度好文,建议收藏) - 腾讯云开发者社区-腾讯云 Hbase架构图 同一个列族如果有多个store,那么这些store在不同的region Hbase写流程(读比写慢) MemStore Flush Hbas…

微信朋友圈的高级玩法

面对好友的生日,你还在傻傻的守点发朋友圈,节日庆祝你还在傻傻的守点官宣吗?还有你关注的那个他(她),他(她)发的朋友圈你想成为第一个点赞评论的人吗?想和他进行更多的交…

如何自动获取短信验证码?

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ 这篇文章通过解决实际项目开发中遇到的如何自动获取短信验证码的问题,进一步讲述在Java中如何使用正则。 Java中如何使用正则 Java中正则相关类位于java.util.r…

python pytesseract 中文文字批量识别

用pytesseract 来批量把图片转成文字 1、安装好 pytesseract 包 2、下载安装OCR https://download.csdn.net/download/m0_37622302/88348824https://download.csdn.net/download/m0_37622302/88348824 Index of /tesseracthttps://digi.bib.uni-mannheim.de/tesseract/ 我是…

DevOps与CI/CD常见面试问题汇总

01 您能告诉我们DevOps和Agile(敏捷)之间的根本区别吗? 答:尽管DevOps与敏捷方法(这是最流行的SDLC[Software Development Life Cycle]方法之一)有一些相似之处,但两者在软件开发方面都是根本不同的方法。以下是两者之…

SpringCloud Gateway--网关服务基本介绍和基本原理

😀前言 本篇博文是关于SpringCloud Gateway的基本介绍,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力…

【lesson8】操作系统的理解和类比

文章目录 操作系统是什么?为什么要有操作系统?怎么做?学校的例子(理解管理)银行的例子(类比操作系统) 操作系统是什么? 操作系统是一款软件,是为了进行软硬件资源管理的…

400电话怎么办理(申请开通)

申请开通400电话是一项相对简单的过程,只需按照以下步骤进行操作即可。 第一步,选择400电话服务提供商。在市场上有很多公司提供400电话服务,您可以根据自己的需求和预算选择适合的服务商。可以通过搜索引擎、咨询朋友或者查看相关论坛等方式…

Python经典练习题(三)

文章目录 🍀第一题🍀第二题🍀第三题 🍀第一题 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 本题需要我们掌握的知识点在于,判断字符串,是数字还是字母还是啥的&#…

PROFINET主站转ETHERCAT协议网关

产品介绍 JM-PNM-ECT 是基于西门子1200PLC的一款 PROFINET 主站功能的通讯网关。该产品主要功能是将ETHERCAT 总线和 PROFINET 网络连接起来。 本网关连接到 PROFINET 总线中做为主站使用,连接到 ETHERCAT 总线中做为从站使用。 产品参数 技术参数 u 网关做为 P…

P1827 [USACO3.4] 美国血统 American Heritage(前序 + 中序 生成后序)

P1827 [USACO3.4] 美国血统 American Heritage(前序 中序 生成后序) 一、前言 二叉树入门题。涉及到树的基本知识、树的结构、树的生成。 本文从会从结构,到完成到,优化。 二、基础知识 Ⅰ、二叉树的遍历 前序遍历&#xff…

IDEA开发工具技巧

1.1 IDEA相关插件 idea插件下载地址:https://plugins.jetbrains.com/ 开发必装插件: (1) 快速查找api接口 RestfulTool 插件,推荐指数⭐⭐⭐⭐⭐ [RestfulTool搜索插件使用详解](https://blog.csdn.net/weixin_450147…

vue3硅谷甄选01 | 使用vite创建vue3项目及项目的配置 环境准备 ESLint配置 prettier配置 husky配置 项目集成

文章目录 使用vite创建vue3项目及项目的配置1.环境准备2.项目配置ESLint校验代码工具配置 - js代码检测工具1.安装ESLint到开发环境 devDependencies2.生成配置文件:.eslint.cjs**3.安装vue3环境代码校验插件**4. 修改.eslintrc.cjs配置文件5.生成ESLint忽略文件6.在package.js…

工作应当有挑战

有挑战 才能有所成长 正所谓人到山前必有路 是挑战 一般就会有未知 未知往往伴随着困难 有困难 并不可怕,也不必自我抱怨,自我抱怨只会陷入无尽的精神内耗 我们只要做好自己 困难就会迎刃而解 如果自己的获得 没有达到自己的期望 其实那也不必气馁 再…

【计算机网络】IP协议

文章目录 TCP与 IP之间的关系IP地址的认识协议报头格式1. 报头和有效载荷如何分离?2. 8位协议3. 4位版本4. 8位服务类型5. 16位总长度6. 8位生存时间 TTL 网段划分IP地址的划分 子网划分CIDR的提出如何理解CIDR TCP与 IP之间的关系 如:假设 你上高中时&…

无聊的一篇博客(如何通过路由器登陆页对固定机器进行网速干扰,如何帮熊孩子戒网瘾)

1. 路由器登陆页面,按钮解析,获取按钮。 2. JavaScript与上传的脚本。 // 获取要点击的按钮A和按钮B元素var isRunning true; // 初始状态为false// 定义一个函数来模拟点击按钮A和按钮B function clickButtons() {if (isRunning) {// 随机生成一个延时…

QTday2

完善登录框 点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按钮…

clion 安装 boost 库

不保证有效,很多教程的 cmake 都是带版本号的 1、先安装 boost 库 brew install boost 2、clion 工程的 CMakeLists.txt 文件中间添加两行,加在 add_executable 上面 find_package(Boost) include_directories(${Boost_INCLUDE_DIRS}) 我的源文件 …

2023华为杯研究生数学建模竞赛选题建议+初步分析

如下为C君的2023华为杯研究生数学建模竞赛&#xff08;研赛&#xff09;选题建议初步分析 2023华为杯研究生数学建模竞赛&#xff08;研赛&#xff09;选题建议 提示&#xff1a;DS C君认为的难度&#xff1a;CE<D<F&#xff0c;开放度&#xff1a;CDE<F。 华为专项…