计算机组成入门知识

news2025/1/12 23:04:19

  前言👀~

数据库的知识点先暂且分享到这,接下来开始接触计算机组成以及计算机网络相关的知识点,这一章先介绍一些基础的计算机组成知识

一台计算机如何组成的?

存储器

CPU

cpu的工作流程

主频

如何衡量CPU好坏呢?

指令

操作系统

操作系统功能

操作系统"内核" 


如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,如果内容有什么问题的话,欢迎各位评论纠正 🤞🤞🤞

12b46cd836b7495695ce3560ea45749c.jpeg

个人主页:N_0050-CSDN博客

相关专栏:java SE_N_0050的博客-CSDN博客 java数据结构_N_0050的博客-CSDN博客


一台计算机如何组成的?

cpu(控制器和运算器等)、存储器(主存和辅存)、输入设备、输出设备


计算机工作流程:这里我简单举个例子去描述,你用鼠标点开了一个游戏(指令和数据),存储到存储器当中(从外存中加载到内存中),然后cpu从存储器中取出指令对其解码后进行运算,再传回存储器然后由输出设备进行输出显示到你的电脑上

存储器

提到存储器就可以想到内存和外存

内存:通常指的是随机存取存储器,一种主存储器,读写速度快,存储容量小,主要存储计算机正在执行程序和数据(程序执行的时候需要先放到内存当中才能被cpu处理),当你打开一个程序,操作系统会将这个程序从外存中被加载到内存当中,以便cpu快速访问和执行。另外内存属于易失性存储器,断电的时候数据会丢失

内存的作用:

存储临时数据:内存用于存放计算机在运行过程中需要快速访问和修改的临时数据。例如,当你运行一个程序时,这个程序的代码和数据会被加载到内存中,以便CPU快速访问和执行。

提高程序运行效率:操作系统和应用程序执行的时候,其指令和数据会存储到内存当中,因为内存具有快速读写的能力

缓存功能:内存可以作为缓存(主存和辅存之间),以减少访问外存的频率也就是减少访问硬盘的频率这样会节省不少的开销,当数据第一次从外存中加载到内存当中之后,下次再访问相同的数据的时候,我们直接从内存中进行读取即可,这样能提升我们的访问速度。就比如我们打开一个游戏第一次从外存中加载到内存中(第一次打开这个游戏的过程是不是很慢),我们只要没有关掉它,你再次点击它又回到游戏(这里游戏已经加载到内存中了,你不需要再从外存中读取,再次点击的时候立马回到游戏)


内存的工作原理:

1.加载程序:当我们运行一个程序时,操作系统会将这个程序从外存中被加载到内存当中,这个程序包括可执行文件、相关的数据文件等等

2.CPU访问:cpu通过地址总线快速访问内存中的指令和数据,内存通过数据总线和地址总线和cpu进行通信,快速提供所需数据

3.执行指令:cpu从内存中读取到指令和数据然后去执行这些指令

4.数据交换:cpu处理了这些指令把结果传回内存,内存中的数据发生变化,会临时存储在内存当中直到程序结束明确保存到外存中。

外存:是一种辅助存储器,读写速度慢,存储容量大,主要用于长期存储我们的文件和数据,例如我们的硬盘就是外存,我们会把文件存储在当中。程序运行的时候我们把外存的数据复制到内存,可以把内存看作是外存的高速缓存。硬盘属于非易失性存储器,即使断电我们的文件和数据依然保存在硬盘当中,确保数据的持久性


CPU

CPU中央处理器,就是那块小小的硬件,属于计算机的核心也可以理解为是计算机的大脑,负责处理各种指令,它是由寄存器、运算器(ALU)、控制器组成

加快CPU访问速度:在cpu内部有个高速缓存存储器,也称Cache读写速度比内存还快的存储器,当cpu向内存写入数据,Cache中也会存储,当cpu需要读取这些数据时,这些数据会从高速缓存中读取这些数据(可以这么理解Cache 中的内容是主存中部分内容的副本


Cache又分一级缓存、二级缓存、三级缓存,一级缓存离cpu最近,一级缓存又可以分一级数据缓存和一级指令缓存,一个用于处理数据一个用于对这些数据的指令进行解码,并且两者都能被cpu同时访问,提到了cpu的效率

寄存器:通用寄存器主要负责存储临时的数据和指令,记住cpu拿数据不是直接从内存中拿的,是通过寄存器中获取的

运算器:也称算术逻辑单元(ALU),算术逻辑单元呢又是由算术单元和逻辑单元组成的。算术逻辑单元主要就是负责计算的一个部件

控制器:也称控制单元(CU),控制单元由指令寄存器(IR)、指令译码器(ID)、程序计数器(PC)、操作控制器(OC)、时序产生器组成,可以把它理解为你的上司,它指东你就得往东走,你不能往西走。是cpu的指挥中心,指挥cpu中的各部件按照指令进行工作的部件

指令寄存器:存储当前要执行的指令

指令译码器:对指令进行解码(翻译)

程序计数器(寄存器):存储下一条要执行的指令的地址


cpu的工作流程


1.取指令:首先从程序计数器中得到指令的地址,接着去内存中取指令,然后存储到指令寄存器当中。

2.译指令:从指令寄存器当中取出指令,指令译码器对其进行解码,确定是什么类型的指令以及需要哪些操作数

3.执行指令:如果需要操作数的话cpu会从内存或寄存器当中取操作数(这里可以再细分一个阶段),接着运算器执行解码后指令的操作

4.写回:处理后的结果存储在cpu内部寄存器中,有些情况下会将执行后的结果写回到内存当中。写回阶段的作用就是将数据存储到正确的位置,以便后续指令使用

5.更新pc:当一条指令被取出后,程序计数器会增加(表示下一条要执行的指令的地址)

cpu中断机制:中断顾名思义暂时停止当前的活动,cpu中断分为硬件中断(硬件设备鼠标、键盘点击触发的)和软件中断(软件指令触发的,如系统调用)。举个例子比如我们在玩游戏的时候,女朋友发消息过来你直接切到微信回消息后又继续游戏了,在切微信再切回游戏这个过程简单点说向cpu发起中断请求然后通过上下文完成中断,举个例子你在吃饭然后突然女朋友打电话叫你去接她,你先把这个吃饭的地方的地址记住然后去接她过来然后接着吃饭

上下文信息:保存寄存器、程序计数器等当中的信息

主频

图中的2.90GHz是CPU的主频,可以理解为一秒钟cpu可以执行29亿条指令(不严谨),方便理解,图中的只是个下限,任务管理器可以看到实时主频,主频会根据当前的任务的负载程度,不断变化

当前频率,睿频,也有上限,根据CPU决定越好上限越高
 


如何衡量CPU好坏呢?

最关注的指标有两方面,一个是主频、一个是核心数

最开始CPU都是单个核心(核心可以理解为一个能完成完整计算功能的整体,是由很多的计算单元构成的),然后通过提高集成程度,提高cpu的速度。不断的减小计算单元的体积,然后提高集成程度从而提高cpu的速度,但是体积小到一定程度不能再小了这是就限制住了,现在都是多核心,去提高cpu的速度

举个例子可以把起初的cpu理解成一个小工厂,只有一个车间(单核),车间里的员工负责生产工作(运算器),车间里比员工还牛马的负责搬运工作或者传送信息(寄存器),车间里喊你干活叫你别偷懒指挥你的(控制器)。随着车的销量上去了,但是效率没上去,于是老板就多搞了好多个车间(多核),这样效率就上去了。但是又出现一个问题材料的不断增多(高并发),牛马搬不过来了。于是工厂搞来了手推车(Cache)减轻了这个问题



指令

cpu上能够执行的任务的最小单元(最小单元由 二进制 的方式表示的机器语言)

 指令=操作码+地址码

指令周期是指执行一条指令所需的时间,它通常由若干个机器周期组成。

一个cpu设计的时候,会提供一些可以进行的操作就是支持哪些指令,比如加法指令、读取内存指令、写入内存指令等,这些是cpu能够执行任务的最小单元,执行其他任务的时候都是由这些最小单元构造的

怎么说呢?你给cpu发送一个任务,例如让它帮你去接杯水,得先去拿杯子,去哪里拿呢?要一步一步说清楚说的很细很细,然后去哪里接?也要一步一步说清楚说的很细很细。可以把这一步一步很细致的过程理解为一系列最小单元的指令,通过执行这些最小单元指令,CPU才能逐步完成整个任务


操作系统

操作系统是管理计算机硬件与软件资源的程序/软件

例如Windows10、Windows11、Linux、mac os、ios、Android等

尽管有这么多操作系统,但本质都是为了管理,属于搞管理的 软件(为什么是软件呢?因为我们可以对它进行升级和安装等)

操作系统功能

1.对下管理所有的硬件设备

操作系统毕竟是一个软件,不可能识别所有的硬件设备。但是它知道市面的硬件设备就那么几个大类,每个大类下的硬件设备大概都有哪些功能。例如鼠标左击右击滚轮这种基本的功能,但是呢要是这个鼠标有其他比较新颖一点的功能,这时候操作系统不认识,这时候硬件设备厂商就会提供一个驱动程序(软件)专属于这个硬件设备的,让操作系统可以识别这个新功能,例如罗技鼠标,侧边的按钮你要进行自定义功能,需要下载罗技的这个软件,从而实现自定义,这样就能在你的电脑上用上这个功能了

2.对上要给软件提供稳定的运行环境

什么叫给提供稳定的运行环境呢?进程的隔离性,一个计算机可以同时运行很多个程序,这些程序可以各自独立运行,互相不影响。总不可能你打游戏打着打着,系统突然给你重启

操作系统"内核" 

操作系统"内核" 操作系统里面最核心的功能模块,内核本质上是一种特殊的软件(简单点说内核就是为操作系系统提供驱动、内存管理、网络、IO等功能的软件代码)。它是操作系统中最核心的部分,负责管理系统资源和提供基础服务(系统调用接口、设备驱动、进程管理、资源管理、内存管理一些底层资源的管理)

如何理解操作系统内核呢?可以理解为一个操作系统包含了内核+配套的应用程序等等,配套的应用程序就是系统自带的不能删除的,例如回收站、文件资源管理器等,内核呢就负责执行我们操作系统最核心的功能就是上面说的 对下管理所有的硬件设备(像硬件厂商提供的驱动程序都是在系统内核中执行的)、对上要给软件提供稳定的运行环境。
 


内核呢只有一个,但是要给很多的应用程序提供支持,所以会提供一些系统API给这些应用程序进行调用(系统调用,用户态和内核态交互的接口,每个操作系统提供的系统API是不一样的,我们学java的,jvm对这些系统API进行封装了,所以我们看jvm提供的API是一致的,这里类似jdbc)。这里我们处于用户态的时候发起指令访问系统的硬件资源,我们需要通过系统调用请求内核执行操作,系统调用涉及一些特权指令,所以需要转成内核态去完成,完成后传回结果并且转变回用户态


为了安全性和稳定性,操作系统运行分为内核态和用户态两种运行级别


用户态:用户态运行的进程权限低,不能直接访问硬件资源和系统内存等底层资源

内核态:内核态运行的进程权限高,能访问硬件资源和系统内存等底层资源

总结这样理解用户态和内核态用户态,就当我们程序员自己写的代码生成的程序,我们可以运行这个程序也可以对这个程序的一些代码进行修改。内核态就属于是系统写好的代码,操作系统写好了的并且里面的代码涉及到管理一些底层硬件资源,我们是无法去进行修改的,我们只能通过调用内核提供的系统API去访问这些硬件资源

本章的内容就到这了,这些都是比较基础的内容但也是相当重要的,下一章我们讲讲进程相关的知识💕

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

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

相关文章

基于stm32的温度采集并且显示

目录 一、I2C总线通信协议 (一)I2C简介 (二)I2C物理层 (三)I2C协议层 1、I2C基本读写过程 2、通信的起始和停止信号 3、数据的有效性 4、地址及数据方向 5、响应 (四)软件I…

常说的云VR是什么意思?与传统vr的区别

虚拟现实(Virtual Reality,简称VR)是一种利用计算机技术模拟产生一个三维空间的虚拟世界,让用户通过视觉、听觉、触觉等感官,获得与现实世界类似或超越的体验。VR技术发展历程可追溯至上世纪,经历概念提出、…

方差分析【单/双因素方差分析】

文章目录 方差分析一、单因素方差分析(Analysis of Variance)1.方差分析在做什么?2.方差分析的思路:3.方差分析中的计算:4.构造F统计量: 二、双因素方差分析(Two-way ANOVA)1.双因素方差分析在做什么&#…

HCIA 18 结束 企业总部-分支综合实验(上)

1.实验介绍及拓扑 (1)总部和分支机构都可以上互联网访问8.8.8.8; (2)总部和分支机构使用广域网专线互访作为主线,并且通过互联网建立GRE隧道互访作为备线; (3)总部内为…

【database3】oracle:数据交换/存储/收集

文章目录 1.oracle安装:swap,dd1.1 创建swap交换区:grep MemTotal /proc/meminfo (安装Oracle物理内存要求1024MB以上),grep SwapTotal /proc/meminfo1.2 安装依赖包及改系统核心参数:关闭一些系…

机器学习算法(二):1 逻辑回归的从零实现(普通实现+多项式特征实现非线性分类+正则化实现三个版本)

文章目录 前言一、普通实现1 数据集准备2 逻辑回归模型3 损失函数4 计算损失函数的梯度5 梯度下降算法6 训练模型二、多项式特征实现非线性分类1 数据准备与多项式特征构造2 逻辑回归模型三、逻辑回归 --- 正则化实现1 数据准备2 逻辑回归模型3 正则化损失函数4 计算损失函数的…

Cyber Weekly #12

赛博新闻 1、Anthropic发布Claude 3.5 Sonnet 本周五(6月21日)凌晨,Anthropic宣布推出其最新的语言模型Claude 3.5 Sonnet,距离上次发布Claude3才过去3个月。Claude3.5拥有20万token的长上下文窗口,目前已经在Claude…

企业中订单超时关闭是怎么做的?我说用延迟消息,面试官让我回去等消息?

文章目录 背景时序图方案对比方案一 被动关闭方案二 定时关闭方案三 Rocket MQ延迟消息 总结 背景 订单超时未支付是电商中的一个核心场景,当用户创建订单后,超过一定时间没有支付,平台需要及时将该订单关闭。需要关闭的主要原因有以下几个&…

初中英语优秀作文分析-005How to Plan Our Life Wisely-如何明智地规划我们的生活

PDF格式公众号回复关键字:SHCZYF005 记忆树 1 The “double reduction policy” reduces the burden on students and offers us more spare time than before, but how to plan our life wisely? 翻译 “双减政策”减轻了学生的负担,给了我们比以前更多的业余…

预备资金有5000-6000买什么电脑比较好?大学生电脑选购指南

小新pro14 2024 处理器:采用了英特尔酷睿Ultra5 125H或Ultra9 185H两种处理器可选,这是英特尔最新的高性能低功耗处理器,具有18个线程,最高可达4.5GHz的加速频率,支持PCIe 4.0接口,内置了强大的ARC核芯显卡…

Windows Update Blocker 完全禁用或启用Windows系统上的自动更新,一键阻止,无需额外操作!

你是否曾因为突如其来的系统更新而感到手忙脚乱?Windows Update Blocker v1.8让你只需一键,即可完全禁用或启用Windows系统上的自动更新,不需要任何的额外操作,只需要打开软件,点击应用即可关闭Windows系统上的自动更新…

DVWA-CSRF-samesite分析

拿DVWA的CSRF为例子 接DVWA的分析,发现其实Impossible的PHPSESSID是设置的samesite1. 参数的意思参考Set-Cookie SameSite:控制 cookie 是否随跨站请求一起发送,这样可以在一定程度上防范跨站请求伪造攻击(CSRF)。 下面用DVWA CS…

[案例]国家数据局:首批“数据要素×”典型案例深度解析系列之五

“ 通过示范引领,激励多方主体积极参与,释放数据要素价值。” 本文为“数据要素”典型案例深度解析系列的第五篇,前四篇请见 [案例]国家数据局:首批“数据要素”典型案例深度解析系列之一 [案例]国家数据局:首批“数…

微信小程序入门2

微信开发者工具的安装方法 1.打开微信开发者工具下载页面 在微信小程序管理后台的左侧边栏中选择“开发工具”,然后选择“开发者工具”,即可找到微信开发者工具的下载页面。 2.打开微信开发者工具的下载链接页面 单击“下载” 按钮下载,即…

【网络安全的神秘世界】已解决burpsuite报错Failed to start proxy service on 127.0.0.1:8080

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 解决burpsuite无法在 127.0.0.1:8080 上启动代理服务端口被占用以及抓不到本地包的问题 Burpsuite无法启动proxy…

深度学习 --- stanford cs231学习笔记五(训练神经网络的几个重要组成部分之二,数据的预处理)

数据的预处理(Data Preprocessing) 2 Data Preprocessing数据的预处理 数据预处理的几种方法 2,1 数据的零点中心化 数据的零点中心化的目的就是为了把数据的整体分布拉回到原点附近,也就是让数据的整体均值变为0。 ​ 2,2 数据的标准化 数据…

VS Code Arduino编程

①Arduino Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。 ②VS Code(全称 Visual Studio Code) 是由微软开发的一款开源、轻量级的跨平台现代代码编辑器…

PADS学习笔记

1.PADS设计PCB流程 封装库(layout),原理图库(logic)的准备原件封装的匹配(logic)原理图的绘制(logic)导网表操作(logic)导入结构(lay…

一文掌握提升 Python 代码质量的最佳伴侣工具:black、isort、flake8 和 mypy

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 在 Python 项目开发中,为了保持代码质量和提高开发效率,我们常需借助一些工具。今天,我将为大家介绍四个 Python 代码工程的得力助手:black、isort、flak…

风险评估概念

渗透服务只是风险评估的一种内容 风险评估的概念 是识别,控制,降低,或者消除可能影响到信息系统的安全风险过程。 风险评估的定义: 就是量化测评一种事情带来的影响,整个量化的过程是偏主观化(客户觉得) 风险的特…