珍藏多年的计算机内核结构大全笔记,掌握计算机工作原理真不难

本篇会加入个人的所谓鱼式疯言

❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言

而是理解过并总结出来通俗易懂的大白话,

小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.

🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!

在这里插入图片描述

一段小诗送给小伙伴

晨光破晓露微凉,
轻风拂面带花香。
远山如黛映天际,
新日初升照四方。

心怀希望踏征途,
梦想翱翔展翅扬。
岁月悠悠情不老,
开篇诗语寄华章。

前言

计算机在普通人眼中可能就是大家俗称的计算器,但这不完全对的。

实际上我们的计算机不仅有 计算器的算术 功能,而且还有 逻辑运算 功能。

在本专栏中,小编将开始带着小伙伴们学习重要的 计算机基础 的, 内核的 体系结构架构运行原理工作机制等等…

本篇的内容的大体上掌握基本的计算机的总体的框架。

目录

  1. 冯诺依曼体系

  2. CPU的重点知识

  3. CPU执行指令的流程

  4. 操作系统的核心概念

  5. 进程的概念

  6. 进程的调度

一. 冯诺依曼体系

1. 冯诺依曼

在这里插入图片描述

冯诺依曼大佬是一名数学家,物理学家,化学家,哲学家。

话说, 冯大佬在一次做火车的过程中,偶然听了几位年轻人正在讨论能够用来算术运算和逻辑运算的的一种机器, 后来得知这几位年轻人是普林斯顿大学的研究员, 冯大佬就对这种机器产生了兴趣, 就答应他们过几日去普林斯顿去研究

于是过几日大佬来到了普林斯顿,和研究员一起研究了好几日,在此期间就提出了冯诺依曼的计算机体系结构

即:== 控制器->计算器->输入设备->存储设备 ->输出设备 ==

而我们当下谈的最多的 CPU 其实就是 控制器和计算器 的集成。

自此冯诺依曼体系成为了当前计算机最主流的计算机体系,并且冯诺依曼成为了计算机创始人之一

和图灵在理论上创建的计算机模型的贡献,共同称为计算机的开山鼻祖。

2. 冯诺依曼体系

我们知道冯诺依曼体系的核心就是

在这里插入图片描述

  1. 输入设备

  2. 输出设备

  3. 存储器

  4. CPU

<1>. 输入设备

输入设备一般是外部用户对计算机内部进行 数据的传入 ,和 计算机进行交互

像我们常见的输入设备一般就是: 键盘,鼠标等…

<2>. 输出设备

输出设备一般是计算机内部 对外进行输出 ,把用户需要的信息提供给 用户和计算机 进行交互

<3>. 存储器

存储器一般分为两种,而且特别各不相同

  1. 内存: 存储空间小, 运行速度快,成本高,掉电时数据丢失

  2. 外存: 存储空间大,运行速度慢,成本低, 掉电时数据不丢失

常见的外存有: 硬盘,光盘, 软盘,U盘

鱼式疯言

我们常用的32GB大小的 “内存” 等… 其实是我们的 外存 ,小伙伴们可千万不要喊错了

我们常见的内存: 5GB8GB 等… 很小的空间。

<4>. CPU

CPU称为计算机中央处理器,相当于计算机的 “大脑” ,是一个计算机最核心的部分,用于算术运算和逻辑运算。

可以那么说:CPU和氢弹是人类科技的巅峰之作

能制作氢弹(五常)

能制作CPU(不多于五个国家)

如今市面上CPU做的很精密的厂商

  1. 英特尔: 桌面端: 酷睿,服务器:志强
  2. AMD:桌面端:锐龙,服务器: 霄龙
  3. 高通(手机版的晓龙)

3. CPU 的架构

主要的架构有:

  1. x86/x64 架构:用于桌面端和服务器使用

像 80286,80386,80486都为x86架构

像 amd64 就是x64架构。

  1. arm架构: 用于移动端和嵌入式

  2. RISC-V架构: 一套开源的CPU指令集合。

二. CPU的重点知识

1. CPU的核心数

最开始的CPU的只有一个核心,相当于CPU中只有一个人在干活

后来人们想CPU越来越快,单核心上的技术已经很难再提升,

那么横向不行,我们就 纵向发展 ,于是我们就利用了 多核心 ,利用超 线程的技术 加快CPU 的速度

为了更好的加快CPU的速度,人们又让 一个核心干两个人 的,比如八核心就是十六线程,三十二核心就是六十四线程,从而开启了 并发编程

鱼式疯言

对于我们程序猿来说, CPU的多核心,每个核心的双线程,这些对于多线程编程是至关重要的,也是影响重大的。

程序猿需要把 任务拆解成多个,使用不同的核心分别执行

所以小伙伴们一定要对这部分知识有个基本都认知。

2.CPU的频率

CPU的频率决定着CPU的速度

例如: 2.90 HZ 就意味着一秒执行 29亿次~~

所以 CPU的速度 可以用 频率 来判断,CPU会根据 任务量多少 来对 频率 进行 动态调整

任务量越多CPU 就会自动 加快频率耗电量加快产热增加

CPU 有一个 能耗墙 ,当温度达到 105度 时,就会达到一个峰值,CPU就会自动 降低频率降低耗电量

鱼式疯言

  1. 如果小伙伴要加快CPU的频率 ,就需要加强散热效果,可以让CPU的频率达到更高的水平=》超频

  2. 衡量一个CPU的是否牛逼:主要就看 核心数和频率

三. CPU执行指令的流程

1. 指令

指令是什么?

当我们敲下C / java / C++ 的编程语言,就会转化成 CPU的二进制指令

指令就是让 CPU干活, 给 计算机完成任务 的基本单位。

并且CPU中有两个东西:寄存器和缓存

寄存器是CPU中一种 内存极小 ,运行 速度极快成本很高 掉电后数据丢失存储数据的部分

当CPU中进行运算时,就需要不断和 寄存器读取数据 ,就会 影响速度

这时我们就借助 缓存 这种东西

在这里插入图片描述

利用缓存就可以让CPU从高效的从缓存中读取数据

当数据量很少时,就用上面的L1缓存

数据量很多 时,就用上面的L3缓存

鱼式疯言

缓存的利用 空间更大 ,CPU的工作 效率越高

当作为普通的Java程序员, 我们就需要 缓存和寄存器 是一个 整体 ,都可以叫做寄存器。

2. 工作原理

在这里插入图片描述

计算机指令工作过程中,取指令,解析指令,执行指令 三个步骤

其中解析指令就需要用上面的指令表,具体执行过程小编 一 一分解哦

<1>. 获取指令

取指令: CPU从内存中 读取数据 到CPU的内部(有专门的 寄存器 读取指令,不是说上面的 a,b寄存器 )

<2>. 解析指令

识别出这个指令 是干啥的,以及对应的 功能和操作数

下面小编会 一 一 分析

<3>. 执行指令

根据对应的功能和指令 进行执行

3. 实际运用

CPU中存在一种特殊的 寄存器“程序计数器” , 保存着从 哪个内存位置 开始进行读取指令。

我们 C/java/C++ 写出的程序会生成 .exe 可执行程序文件

这个 可执行程序文件 包含这个程序的所需要 依赖的数据和二进制指令

当我们双击 . exe 文件,操作系统就会加载到 内存中 。 程序计算器会被 操作系统 的 自动设置好初始值为 0

随着程序的 不断执行 ,程序计算器就会 不断的 更新 , 默认情况下 程序计算器 就会 +1 自增, 除非程序中遇到 goto , break ,if , while 的语句就会有可能进行跳跃 自增或自减 , 设置为其他值。

程序计算器 默认从0 开始,所以小编在这里举例

第一步: 读取指令

在这里插入图片描述

读取指令00101110

第二步: 解析指令

在这里插入图片描述

0010 是操作码, 1110 操作数。

去指令表中查看,看这个操作码是啥意思

这个指令是 LOAD A 指令,并且后面的1110 表示了一个 内存地址

这个指令的工作,就是把 1110(14) 这个 地址的数据 ,读取到 寄存器 A

第三步: 执行指令

14 的地址的内存数据 读出来,放到 寄存器A

第一条指令执行完毕,系统会自动把 程序计数器的值++

0 -> 1

鱼式疯言

像上面这样读取指令,解析指令,执行指令 进行 循环往复 ,最终执行完我们需要执行的 程序的结果

四. 操作系统的核心概念

操作系统核心的两个重要的内核就是:

  1. 管理外部的 硬件设备
    比如给计算机外部接入 很多设备 例如: 扫码枪,医疗设备, 声波监测枪。
  1. 给软件提供良好的运行环境:
    一个应用程序执行时 , 他会 独立运行 , 即使一个 应用程序出现BUG ,也 不会影响 其他的 应用程序的运行

在这里插入图片描述

故: 操作系统 = 内核 + 应用程序

那么问题来了, 操作系统该怎么 控制硬件设备

本质上 操作系统 不是直接 控制硬件设备 的,而是通过 硬件厂商 提供的 驱动程序 来间接的控制 硬件设备

鱼式疯言

小伙伴们可以从学校的角度这样理解

校长(操作系统)-> 辅导员(驱动程序) -> 学生(硬件设备)

一. 常见的操作系统

  1. linux操作系统

linux官方正确发言: 里那克斯

  1. window操作系统

桌面端 最主流的操作系统生态好

  1. Mac OS (富哥专属)

苹果电脑内置的操作系统系统:

优势:

  • 续航时间长

  • 装X

  • 不能打游戏

  1. Android

手机移动端 内置的操作系统, 是基于 linux演化 出来的一款操作系统,因为年代久远, 所以 差别很大 了。

  1. IOS

OS 操作系统 是苹果手机和平板的操作系统,和 Mac OS 是两套不同的操作系统。

五. 进程的概念

在这里插入图片描述

1. 进程的认识

进程是什么?

进程换言之就是 任务 ,操作系统的应用程序有两种状态:

  1. 应用程序 没有运行 时, 就在的硬盘上 躺着
  1. 运行时,就会加载到 内存中CPU 就会执行 应用程序上的指令

所以进程就是本质上就是: 正在运行的应用程序

鱼式疯言

进程的执行同时也是需要利用硬件资源的, 故我们常称为

进程就是操作系统 分配资源基本单元

2. 进程的描述

通过 结构体/ 类 把进程各种属性进行表示, 主流的系统是通过C/ C++ 中的结构体进行表示

linux 操作系统, 是通过 “PCB(进程控制块)” 这样的 结构体来描述进程的信息

PCB都有啥属性呢?其实本质上 PCB 有 很多复杂的属性,这里小编主要讲解常见重要的属性

1. PID:进程的标识符

同一个进程的 标识符是相同的 ,不同的进程 标识符是不同的 , 所以 PID 是作为 进程命名的唯一的标识

2. 内存指针

描述 进程 依赖数据和内存 存放在哪个区域,操作系统 就在执行 .exe 文件 ,就会读取 .exe文件中的指令和数据 , 从而加载到 内存中(内存地址)

3. 文件描述符表 (数组 / 顺序表)

描述进程打开了 哪个文件

鱼式疯言

从而进一步显示了:

进程中的内存指针是在 内存上执行的 ,需要消耗内存资源。

文件描述符表是在 硬盘中执行的 , 需要消耗硬盘资源。

3. 进程的组织

在这里插入图片描述

进程的组织,必然是要用到我们前期学过的数据结构来进行增删改查

所以我们可以简单的认为 PCB 是通过 链表 对多个 结构体进行连接

所以我们的进行进程的操作

创建新的进程() -> 在链表中添加该节点

销毁进程 -> 在链表中删除该节点

显示进程信息 -> 在链表中遍历这个进程,显示对应信息。

六. 进程的调度

1. 进程的调度理解

进程的调度和我们日常的开发 是息息相关的

在以前的CPU中,只是 单核心不能进行多进程

而现在的CPU中,是 多核心 , 能 允许多进程

无论是单核心还是多核心 ,都能进行多个进程的运行

这是为什么呢?

因为 CPU在进行进程时 ,采用的分时调用的的方式,一会执行 这个进程 , 一会执行 另外一个进程 ,由于 CPU的运行速度非常快 ,所以我们 肉眼是无法看出的 ,我们称为 并发执行

并且不同的核心之间也能只能 执行不同的进程并行执行

而我们把 并发和并行 执行的方式成为 并发编程

2. 进程的状态

在进程中主要分为两种状态

进程中将要 执行任务 的状态, 为 就绪状态
进程中 暂停任务 的状态, 为 堵塞状态

鱼式疯言

栗子理解 :

我们 平常运行的程序 一般都是 就绪状态

而像我们 C / Java 中的 scanf 或 Scanner 中,需要用户从 控制台输入数据 ,程序就会暂停,只有用户输入结束后,就会继续执行程序, 这就是 堵塞状态

3. 进程的优先级

进程的优先级主要考虑的任务的重要程度,就好比现在让小伙伴有两件时 看电影和去面试,必然是先去面试,那么我们的进程的优先级也是同样的结果,会优先考虑重要的任务优先执行。

4. 进程的上下文

由于我们的进程的 分时复用 , 当 一个进程接连这另外一个进程执行 时,当下次再次执行到 同一个进程 ,会继续执行上次没有执行完的任务 ,不会发生 错乱执行的问题 ,实现 进程上下文的联系

5. 进程的记账信息

进程的不同任务所分配的 运行时间不同 ,当一个任务分配的 时间很短 不够执行时, 操作系统就会 手动调整进程的运行时间 ,根据 记账执行的信息 来进行 动态调整

总结

  • 冯诺依曼体系: 介绍了冯大佬创建计算机的偶遇, 和冯诺依曼体系的4种结,

  • CPU的重点知识: 了解了CPU的最要两个参数: 核心数和频率, 这也是衡量CPU质量的重要指标。

  • CPU执行指令的流程: 主要依靠指令表和获取指令, 解析指令和执行指令三个步骤。

  • 操作系统的核心概念: 核心的两个作用: 管理外部硬件设备并给应用程序提供稳定的运行环境。

  • 进程的概念:熟悉进程本质上用结构体表示和用链表来描述, 以 进程的标识符,内存指针,文件描述符表来引用 。

  • 进程的调度: 熟悉进程的分时调用和熟悉进程的优先级,上下文和记账信息的属性。

总结

  • 堆的初识: 我们认识到了堆本质上一中有着优先级的, 并且融合了完全二叉树和队列的特性,用顺序存储, 一种特殊的树状结构。

  • 堆的调整: 向上调整和向下调整各种细节和调整顺序

  • 堆的数据插入和删除: 对于插入的场景我们一般用向上调整,对于删除场景, 我们一般向下调整。

  • 堆实现优先级队列 : 从大局中我们用堆实现了优先级队列, 并且从时间复杂度的角度来看,建堆比堆中插入元素更高效。

如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正

希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 💖 💖 💖

在这里插入图片描述

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

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

相关文章

大模型面试笔试常见问题汇总(精心准备)

1 GPT和Bert的区别? 1.模型结构和训练方式 BERT通过掩码语言模型(Masked Language Model, MLM)和下一句预测(Next Sentence Prediction, NSP)任务进行训练: 掩码语言模型(MLM):在输入序列中,BERT随机掩盖一些词语,并要求模型预测这些被掩盖的词语。这使得BERT能够学…

TCP的p2p网络模式

TCP的p2p网络模式 1、tcp连接的状态有以下11种 CLOSED&#xff1a;关闭状态LISTEN&#xff1a;服务端状态&#xff0c;等待客户端发起连接请求SYN_SENT&#xff1a;客户端已发送同步连接请求&#xff0c;等待服务端相应SYN_RECEIVED&#xff1a;服务器收到客户端的SYN请请求&…

214.贪心算法:K次取反后最大化的数组和(力扣)

class Solution { public:int largestSumAfterKNegations(vector<int>& nums, int k) {int sum 0;// 进行k次取反操作while (k > 0){// 对数组进行排序sort(nums.begin(), nums.end());// 将最小的元素取反nums[0] -nums[0];// 减少k的值k--;}// 计算数组的总和…

学习数据库2

在数据库中创建一个表student&#xff0c;用于存储学生信息 查看建表结果 向student表中添加一条新记录 记录中id字段的值为1&#xff0c;name字段的值为"monkey"&#xff0c;grade字段的值为98.5 并查看结果 向student表中添加多条新记录 2,"bob"…

水利水库大坝结构安全自动化监测主要测哪些内容?

在大坝安全自动化监测系统建设中&#xff0c;应根据坝型、坝体结构和地质条件等因素选定监测项目&#xff1b;主要监测对象包括坝体、坝基及有关的各种主要水工建筑物、大坝附近的不稳定岸坡和大坝周边的气象环境。深圳安锐科技建议参考下列表格适当调整。 &#xff08;一&am…

预训练对齐:数学理论到工程实践的桥梁

在人工智能和机器学习领域&#xff0c;预训练模型的对齐是一个至关重要的概念。本篇博客源自听了一场黄民烈老师关于大模型对齐的分享&#xff0c;整理内容如下&#xff0c;供大家参考。 数学理论中的预训练对齐 数学理论上&#xff0c;预训练对齐是什么&#xff1f; 序列…

比赛获奖的武林秘籍:04 电子类比赛嵌入式开发快速必看的上手指南

比赛获奖的武林秘籍&#xff1a;04 电子类比赛嵌入式开发快速必看的上手指南 摘要 本文主要介绍了电子类比赛中负责嵌入式开发同学的上手比赛的步骤、开发项目的流程和具体需要学习的内容&#xff0c;并结合自身比赛经历给出了相关建议。 正文 如何开始上手做自己第一个项目…

STM32中的DMA:解锁高效数据传输的秘密武器(内附实例)

目录 引言 理解DMA&#xff1a;数据的高效搬运工 DMA的主要特性 多优先级请求 事件标志 数据对齐 多样化的数据传输路径 广泛的数据源与目标 最大数据长度 DMA寄存器详解 增量与循环模式 DMA中断机制 ​编辑 小实验&#xff1a;DMA-ADC串口发送 引言 在现代嵌入…

推荐一款Win11主题WPF UI框架

最近在微软商店&#xff0c;官方上架了新款Win11风格的WPF版UI框架【WPF Gallery Preview 1.0.0.0】,这款应用引入了前沿的Fluent Design UI设计&#xff0c;为用户带来全新的视觉体验。 WPF Gallery简介 做为一关注前沿资讯的开发人员&#xff0c;首先关注的是应用WPF Gallery…

马斯克公布xAI Grok-2大语言模型将于8月推出;GPT-5仍需时日

&#x1f989; AI新闻 &#x1f680; 马斯克公布xAI Grok-2大语言模型将于8月推出 摘要&#xff1a;7月1日&#xff0c;马斯克在X平台宣布&#xff0c;其人工智能初创公司xAI的新大语言模型Grok-2将于8月推出。此前&#xff0c;xAI已发布了Grok-1.5和Grok-1.5 Vision模型。马…

2024年【安全员-C证】考试及安全员-C证免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-C证考试根据新安全员-C证考试大纲要求&#xff0c;安全生产模拟考试一点通将安全员-C证模拟考试试题进行汇编&#xff0c;组成一套安全员-C证全真模拟考试试题&#xff0c;学员可通过安全员-C证免费试题全真模…

飞睿智能无线高速uwb安全数据传输模块,低功耗、抗干扰超宽带uwb芯片传输速度技术新突破

在信息化的时代&#xff0c;数据传输的速度和安全性无疑是每个企业和个人都极为关注的话题。随着科技的飞速发展&#xff0c;超宽带&#xff08;Ultra-Wideband&#xff0c;简称UWB&#xff09;技术凭借其性能和广泛的应用前景&#xff0c;逐渐成为了数据传输领域的新星。今天&…

C语言学习笔记[21]:分支语句if...else

C语言是结构化的程序设计语言 顺序结构选择结构循环结构 分支语句对应的就是选择结构&#xff0c;循环语句对应的就是循环结构 分支语句 if...elseswitch 循环语句 whilefordo...while goto语句 语句 C语言中由分号隔开的就是一条语句&#xff0c;比如&#xff1a; #…

这个暑假,带娃就交给华为儿童手表5 Pro吧

一年一度孩子们最期待的暑期终于到啦&#xff01;在这个充足的时间段里&#xff0c;孩子们可以尽情的释放他们的热情与好奇心&#xff0c;家长们也可以努力为孩子们创造更多的回忆。但是&#xff0c;不少家长暑期带娃总是发愁&#xff0c;宝贝们玩的多&#xff0c;家长们需要注…

数据库系统概论 | MySQL | 数据定义 | 单表查询 | 嵌套查询 | 连接查询 | 带有谓词的查询

数据定义 模式的定义与删除 定义模式与删除模式&#xff1a; CREATE SCHEMA S_C_SC; DROP SCHEMA S_C_SC;进入模式&#xff1a; USE S_C_SC;建立学生表&#xff1a; CREATE TABLE Student (Sno CHAR(8) PRIMARY KEY, Sname VARCHAR(20) UNIQUE, Ssex CHAR(6), Sbirthdate …

07.C2W2.Part-of-Speech (POS) Tagging and Hidden Markov Models

往期文章请点这里 目录 OverviewPart of Speech TaggingMarkov ChainsMarkov Chains and POS TagsPOS tags as StatesTransition probabilitiesThe transition matrixInitial probabilities Hidden Markov ModelsEmission probabilitiesSummary Calculating ProbabilitiesTran…

向新求质 智赋广西,2024华为数智转型助力企业高质量发展论坛在南宁举办

7月5日以“向新求质 智赋广西”为主题的2024华为数智转型助力企业高质量发展论坛在南宁成功举办。来自广西区管企业、驻桂央企和国有企业等80余位中高层管理者&#xff0c;与华为业务变革专家、数字化转型专家共同探讨企业数字化转型新路径&#xff0c;为企业创新转型发展献计献…

SSM城镇居民社区再生资源回收系统-计算机毕业设计源码04175

摘 要 本论文介绍了一个基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;技术的城镇居民社区再生资源回收系统的设计与实现。随着社会对环境保护意识的不断提高&#xff0c;再生资源回收成为了一种重要的环保行动。然而&#xff0c;传统的再生资源回收方式存在着信…

哈佛大学 || 概念空间中学习动态的涌现:探索隐藏能力

获取本文论文原文PDF&#xff0c;请在公众号【AI论文解读】留言&#xff1a;论文解读 今天主要看一个问题&#xff1a;在模型中的学习动态是如何涌现的。 在现代生成模型的研究与应用中&#xff0c;不断发现这些模型在处理训练数据时展现出了惊人的能力&#xff0c;这些能力很…

2024年【道路运输企业安全生产管理人员】考试及道路运输企业安全生产管理人员操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 道路运输企业安全生产管理人员考试参考答案及道路运输企业安全生产管理人员考试试题解析是安全生产模拟考试一点通题库老师及道路运输企业安全生产管理人员操作证已考过的学员汇总&#xff0c;相对有效帮助道路运输企…