对cpu和内存的简单理解

article/2025/9/22 2:00:11

对cpu和内存的简单理解

1.前端总线:

cpu利用总线来跟内存,硬盘,输入输出设备等进行数据交流

总线:总线就是一根根导线的集合

总线的种类: 数据(进行传输的数据),地址(地址进行寻址操作),控制总线(控制读写操作)

在这里插入图片描述
地址总线:

地址总线的宽度决定cpu的寻址能力,单次能寻找地址的最大容量

eg:

8086的寻址总线宽度为20,则它的寻址地址能力为: 2^20(byte)= 1MB,

如果是32根,则寻址地址能力最大为4GB.这也是32位系统内存最大支持4GB的原因.

如果是64根,则寻址地址能力最大为16EB,这也是现在普遍使用64位操作系统的原因.

注意:

1.寻址地址的根数是32位或者64位由操作系统决定,也就是说内存地址的空间大小受寻址地址的根数影响.

2.为什么寻址单位的是字节而不是位? 因为数据存储在内存或者磁盘中最小单位是字节.

2.i5和i7决定内核数,i5一般为(4核8线程), i7一般为(8核16线程),这里主要指cpu处理任务的能力.

为什么4核8线程指的是8线程而不是指8进程? 因为线程是cpu调度的基本单位,而进程是操作系统分配资源的基本单位,(详细信息可以参考进程和线程的区别!)

3.常用的存储单位:Byte,KB,MB,GB,TB,PB,EB,ZB,YB,BB,NB,DB(2^110Byte)

数据总线:

数据总线的宽度决定了cpu的单次数据传输量,也就是说数据传输的速度,或者说数据的吞吐量

数据总线的宽度为: 16, 则为16位, 则为2个字节

注意:

1.1个字节8位, 1 Byte = 8 bit

2.64位操作系统决定cpu的单次数据的传输量为8个字节.

控制总线:

控制总线的宽度决定了cpu对器件的控制能力,即读写操作.

补充

1.系统总线:前端总线(就是上面说的数据总线,地址总线,控制总线)和外部总线(用于连接各种外设控制芯片,比如io控制器)

2.内部总线:处理器内所有的结构单元相连,在cpu内部,寄存器和算术逻辑部件之间的通讯总线

2.内存

在这里插入图片描述

为什么说内存地址的空间大小受寻址地址的根数影响?

比如说内存的地址:0x00000~0xFFFFFFFF, 那么内存的大小: 2^4*8=4GB

假如寻址地址的根数为16,则最大寻址能力为2^16= 64KB,一次寻址的最大范围也就为64k,内存再大,一次寻址也找不完整个cpu.但是可以多次寻址,可是多次寻址会浪费一定的时间性能.

3.寄存器

寄存器是在cpu中从缓存,或者内存中取出放在cpu中需要处理的暂存数据.

高速缓存器: 内存地址和高速缓存之间有一个一一映射的关系,先将要执行的指令代码以及数据复制到高速缓存中去(这一步是由操作系统完成的)。而CPU直接从高速缓存中依次读取指令来执行。当高速缓存的数据用完或者找不到,操作系统会自动从内存中拷贝一份到高速缓存区.

寄存器分类:

1.通用寄存器

2.pc寄存器.

<1> 为指令指针寄存器,它指示CPU当前要读取指令的地址

<2> 在内存或者磁盘上,指令和数据没有任何区别,都是二进制信息

<3> CPU在工作的时候把有的的信息看作指令,有的信息看做数据,为同样的信息赋予了不同的意义

3.数据寄存器:

数据地址寄存器通常用来做数据计算的临时存储、累加、计数、地址保存等功能。定义这些寄存器的作用主要用于在CPU指令中保存操作数,在CPU中当做一些常规变量来使用。

4.浮点和向量寄存器

因为浮点数的存储以及运算的特殊性,CPU中专门提供浮点数寄存器来处理浮点数

目前的CPU它支持向量运算(向量运算在图形处理相关的领域用的非常多)。为了支持向量计算,系统也提供了众多的向量寄存器。
在这里插入图片描述
比如说: 1+1 = 2? cpu怎么操作?

  1. cpu会先从内存中将两个存储数据放在通用寄存器中
  2. 再使用运算器对这个数据进行处理,
  3. 并将处理后的数据返回给内存 .

扩展知识:

1>CPU在读取内存中的数据时先通过前端总线与北桥交互,北桥芯片将内存中的数据送到一级缓存中,

2>再由CPU通过内部总线将一级缓存中的数据取出放到指令寄存器里,然后执行,

3>这里怎么区分读或写?首先内存中的指令是组合好的,一条完整的指令是由操作码,地址码操作数组合完成,CPU根据操作码决定执行那些操作,在CPU指令集里读和写的指令集是区分开的,通过地址码选中对应的地址,将立即数写入,如果是读的话没有立即数!

在这里插入图片描述

这是个人的简单理解!如果错误之处!还请各位大佬指正!

参考的网站:https://www.jianshu.com/p/44afea340016


http://chatgpt.dhexx.cn/article/CN2AsEvH.shtml

相关文章

计算机的内存和cpu,内存与CPU二者之间的关系_Intel服务器CPU_服务器产业-中关村在线...

“在一起&#xff0c;在一起”&#xff0c;相信这也是很多人希望的结果&#xff0c;无论是从技术角度&#xff0c;还是从空间角度&#xff0c;似乎二者都有着很多理由被放在一起完成任务。但是&#xff0c;二者为何一直没有“在一起”呢&#xff1f;也许这句歌词可以回答原因&a…

计算机主机是cpu与内存,内存条和CPU之间的关系是什么

您想知道内存和CPU之间的关系是什么吗&#xff1f;这是来自Qiutian.ZqNF.Com的有关内存和cpu之间关系的内容。欢迎阅读&#xff01; 内存和CPU之间的关系是什么&#xff1f; cpu负责计算和处理&#xff0c;而内存则用于数据交换。当程序或操作员向cpu发出指令时&#xff0c;这些…

cpu和内存的关系(CPU,内存和cache之间的关系)

CPU、内存、主板三者间关系、插座形式、安装注意事项 这种问题很难回答&#xff0c;你可以找一本书看&#xff0c;呵呵 。我只能说出一点&#xff0c;CPU读取数据速度很慢&#xff0c;因为要从硬盘读取&#xff0c;所以用内存来读取。但是用 内存卡&#xff0c;段电后会丢失数据…

计算机中CPU、内存、缓存的关系

CPU&#xff08;Central Processing Unit&#xff0c;中央处理器&#xff09; 内存&#xff08;Random Access Memory&#xff0c;随机存取存储器&#xff09; 缓存&#xff08;Cache&#xff09; CPU、内存和缓存之间有着密切的关系&#xff0c;它们共同构成了计算机系统的核…

万能的串口数据接收及处理方法

搞单片机&#xff0c;肯定少不了串口的使用&#xff0c;不管是调试也好&#xff0c;与其他设备通信也好&#xff0c;是我们不可或缺的利器。接下来就分享一下本人在项目中使用串口接收数据及处理的方法。 先介绍下主要思路&#xff0c;首先需要开一个定时器&#xff0c;我们接收…

数据不平衡的处理方法

数据不平衡经常出现在分类问题上&#xff0c;数据不平衡指的是在数据集中不同类别的样本数量差距很大&#xff0c;比如&#xff0c;在病人是否得癌症的数据集上&#xff0c;可能绝大部分的样本类别都是健康的&#xff0c;只有极少部分样本类别是患病的。下面介绍几个常用的处理…

样本数据异常值处理的三种方法

1.3sigma异常值识别 数据需要服从正态分布&#xff0c;正负3∂的概率是99.7%&#xff0c;那么距离平均值3∂之外的值出现的概率为P(|x-u| 3∂) 0.003&#xff0c;属于极个别的小概率事件。如果数据不服从正态分布&#xff0c;也可以用远离平均值的多少倍标准差来描述。 2.IQR…

异常数据处理

常用处理方法&#xff1a; 异常值的处理方法常用有四种&#xff1a; 1.删除含有异常值的记录 2.将异常值视为缺失值&#xff0c;交给缺失值处理方法来处理 3.用平均值来修正 4.不处理 需要强调的是&#xff0c;如何判定和处理异常值&#xff0c;需要结合实际。 # 异常数据…

数据以及空值数据处理方法

第四节 数据七十二变 1、对于简单的数据删除空值数据&#xff08;NaN&#xff09;——对于简单的数据进行过滤&#xff0c;如果对于负责的 DataFrame对象进行使用则会存在空值数据过滤不干净 import pandas as pd——导入模块 li[2,NaN,4,6,NaN,4]——数据集 sepd…

数据无量纲处理方法

本文转自&#xff1a;https://blog.csdn.net/weixin_39953618/article/details/111101747 在进行数据分析时&#xff0c;数据具有单位是非常常见的&#xff0c;比如说GDP可以以亿作为单元&#xff0c;也可以以百万作为单位&#xff0c;那么此时就会出现由于单位问题导致的数字大…

大数据量的五种处理方式

http://www.51projob.com/a/bishimianshi/hailiangshuju/2012/0322/111.html 处理海量数据问题&#xff0c;无非就是&#xff1a; 分而治之/hash映射 hash统计 堆/快速/归并排序&#xff1b; Bloom filter/Bitmap&#xff1b;Trie树/数据库/倒排索引&#xff1b;外排序&…

Errors while compiling. Reload prevented

Errors while compiling. Reload prevented来自菜鸟的哭诉 在这边吐槽的同时为各位刚上手前端的各位一个经验 报这个东东的时候&#xff0c;你搜了百分百都是说你没安装webpack等相关配置&#xff0c;从而频繁刷新会报错。 没错&#xff0c;的确是的。 但是&#xff0c;我就…

#error 用法

#error命令是C/C语言的预处理命令之一&#xff0c;当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。 #error [用户自定义的错误消息]注:上述语法成份中的方括号"[]"代表用户自定义的错误消息可以省略不写。举例1:#error Sorry,an error has o…

ERROR: Encountered errors while bringing up the project.

ERROR: Encountered errors while bringing up the project. 错误信息 错误出现的原因是&#xff0c;之前启动的 docker-compose 没有关闭。 解决方法 先把之前的 docker-compose 关闭 docker-compose down之后再执行 docker-compose up

R Error: BiocParallel errors 1 remote errors, element index: 1 506 unevaluated and other errors解决办法

我在用minfi包下面这个函数读取甲基化数据的时候&#xff0c; RGset1 <- read.metharray.exp(targetstargets1,force T) 出现了下面这个报错 查看了自己的idat文件地址&#xff0c;没有错 又查看了target1&#xff08;read.metharray.exp函数的参数之一&#xff09;&#…

Error building Player because scripts had compiler errors

Unity打包出现Error building Player because scripts had compiler errors 这里网上有多数解决方案都是说有一些脚本继承了Editor接口的脚本导致的&#xff0c;这里可以先检查一下&#xff0c;如果有这类脚本创建Editor文件夹&#xff0c;把脚本放进去。还不行的话再添加#if …

Errors occurred during the build. Errors running builder 终版解决方案

Errors occurred during the build. Errors running builder 终版解决方案 **项目无法编译可能和这个有关。。。。。。 开发工具 eclipse,JAVA&#xff08;当然idea也会报错&#xff0c;但是错误好像不太一样&#xff09; 解决过程&#xff1a; 注意&#xff1a;*不要再这个问…

ERR Errors trying to SHUTDOWN. Check logs.

使用shutdown命令报错&#xff1a; ERR Errors trying to SHUTDOWN. Check logs. 原因&#xff1a; 我们的日志文件没有配置执行命令&#xff0c;会进行保存&#xff0c;但是权限不够&#xff0c;也就是要给rbd文件赋予权限。 解决办法&#xff1a; 1、进入我们的redis.conf…

CCS报错#10010 errors encountered during linking;

CCS新建F28335工程&#xff0c;运行报错&#xff1a; 解决方案&#xff1a; 1.打开如下路径 2.全部勾选即可 3.运行成功&#xff0c;生成.out文件

Errors报错记录

Errors报错记录 前言Error1Error2Error3Error4Error5Error6Error7Error8Error9Error10Error11总结 前言 记录运行程序时的错误&#xff0c;方便查找&#xff0c;主要包括python深度学习程序错误&#xff0c;opencv(c)程序错误等&#xff0c;没有特定顺序&#xff0c;按照我遇到…