计算机组成入门知识

2024-06-24 03:52
文章标签 入门 计算机 知识 组成

本文主要是介绍计算机组成入门知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  前言👀~

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

一台计算机如何组成的?

存储器

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.chinasem.cn/article/1089099

相关文章

C++必修:模版的入门到实践

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C++学习 贝蒂的主页:Betty’s blog 1. 泛型编程 首先让我们来思考一个问题,如何实现一个交换函数? void swap(int& x, int& y){int tmp = x;x = y;y = tmp;} 相信大家很快就能写出上面这段代码,但是如果要求这个交换函数支持字符型

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

《计算机英语》Unit 1 Computer Overview 计算机概述

期末试卷组成 1、选择20道 2、判断20道 3、词汇翻译(单词+词组,参照课后习题) 4、翻译2道(一道原题,参照作业) SectionA About Computer 关于计算机 algorithm          n.  算法  operate          v.  操作  digital           adj. 数字的  integrated circuit

[职场] 公务员的利弊分析 #知识分享#经验分享#其他

公务员的利弊分析     公务员作为一种稳定的职业选择,一直备受人们的关注。然而,就像任何其他职业一样,公务员职位也有其利与弊。本文将对公务员的利弊进行分析,帮助读者更好地了解这一职业的特点。 利: 1. 稳定的职业:公务员职位通常具有较高的稳定性,一旦进入公务员队伍,往往可以享受到稳定的工作环境和薪资待遇。这对于那些追求稳定的人来说,是一个很大的优势。 2. 薪资福利优厚:公务员的薪资和

ps基础入门

1.基础      1.1新建文件      1.2创建指定形状      1.4移动工具          1.41移动画布中的任意元素          1.42移动画布          1.43修改画布大小          1.44修改图像大小      1.5框选工具      1.6矩形工具      1.7图层          1.71图层颜色修改          1

C++入门01

1、.h和.cpp 源文件 (.cpp)源文件是C++程序的实际实现代码文件,其中包含了具体的函数和类的定义、实现以及其他相关的代码。主要特点如下:实现代码: 源文件中包含了函数、类的具体实现代码,用于实现程序的功能。编译单元: 源文件通常是一个编译单元,即单独编译的基本单位。每个源文件都会经过编译器的处理,生成对应的目标文件。包含头文件: 源文件可以通过#include指令引入头文件,以使

LVGL快速入门笔记

目录 一、基础知识 1. 基础对象(lv_obj) 2. 基础对象的大小(size) 3. 基础对象的位置(position) 3.1 直接设置方式 3.2 参照父对象对齐 3.3 获取位置 4. 基础对象的盒子模型(border-box) 5. 基础对象的样式(styles) 5.1 样式的状态和部分 5.1.1 对象可以处于以下状态States的组合: 5.1.2 对象

C语言入门系列:探秘二级指针与多级指针的奇妙世界

文章目录 一,指针的回忆杀1,指针的概念2,指针的声明和赋值3,指针的使用3.1 直接给指针变量赋值3.2 通过*运算符读写指针指向的内存3.2.1 读3.2.2 写 二,二级指针详解1,定义2,示例说明3,二级指针与一级指针、普通变量的关系3.1,与一级指针的关系3.2,与普通变量的关系,示例说明 4,二级指针的常见用途5,二级指针扩展到多级指针 小结 C语言的学习之旅中,二级

打造坚固的SSH防护网:端口敲门入门指南

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 打造坚固的SSH防护网:端口敲门入门指南 前言什么是端口敲门端口敲门的优点1. 增强安全性2. 动态防火墙规则3. 隐匿服务4. 改善日志管理5. 灵活性和兼容性6. 低资源消耗7. 防御暴力破解和扫描8. 便于合法用户访问9. 适用于不同类型的服务 端口敲

计算机组成原理——RECORD

第一章 概论 1.固件  将部分操作系统固化——即把软件永恒存于只读存储器中。 2.多级层次结构的计算机系统 3.冯*诺依曼计算机的特点 4.现代计算机的组成:CPU、I/O设备、主存储器(MM) 5.细化的计算机组成框图 6.指令操作的三个阶段:取指、分析、执行 第二章 计算机的发展 1.第一台由电子管组成的电子数字积分和计算机(ENIAC) 第三章 系统总线