问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CPU的原理

创作时间:
作者:
@小白创作中心

CPU的原理

引用
CSDN
1.
https://blog.csdn.net/sinat_31608641/article/details/145671142

CPU(中央处理器)是计算机系统的核心组件,负责执行程序指令和处理数据。本文将从CPU的基本功能、结构、核心功能单元以及多核技术等方面,为您详细介绍CPU的工作原理。

一、CPU的功能

中央处理器(Central Processing Unit,简称CPU)总是周而复始地做同一件事:从内存取指令,然后解释执行它,然后再取下一条指令,再解释执行。

二、CPU的结构

CPU有两种基本结构:冯·诺伊曼结构与哈佛结构。

冯·诺伊曼结构

哈佛结构

这两个体系的区别如下:

1. 存储器

哈佛结构使用两个独立的存储器:指令存储器和数据存储器。指令存储器存储程序指令,数据存储器存储程序数据。冯·诺伊曼结构则使用一个统一的存储器,存储程序指令和数据。

2. 编址

哈佛结构采用指令和数据独立编址方式。指令存储器和数据存储器拥有各自的地址空间,CPU需要使用不同的指令来访问它们。冯·诺依曼结构采用指令和数据统一编址方式,指令和数据共享同一个地址空间,CPU可以使用相同的指令来访问它们。

3. 总线

哈佛结构使用两条独立的总线:指令总线和数据总线。CPU通过指令总线读取指令,通过数据总线读取数据。冯·诺依曼结构则使用一条统一的总线,用于传输指令和数据。

三、核心的功能单元

CPU最核心的功能单元包括:

  • 寄存器(Register):是CPU内部的高速存储器,像内存一样可以存取数据,但比访问内存快得多。随后的几章我们会详细介绍x86的寄存器eax、 esp、 eip等。有些寄存器只能用于某种特定的用途,比如eip用作程序计数器,这称为特殊寄存器(Special-purpose Register) ,而另外一些寄存器可以用在各种运算和读写内存的指令中,比如eax寄存器,这称为通用寄存器(General-purpose Register) 。

  • 程序计数器(PC, Program Counter):是一种特殊寄存器,保存着CPU取下一条指令的地址, CPU按程序计数器保存的地址去内存中取指令然后解释执行,这时程序计数器保存的地址会自动加上该指令的长度,指向内存中的下一条指令。

  • 指令译码器(Instruction Decoder):CPU取上来的指令由若干个字节组成,这些字节中有些位表示内存地址,有些位表示寄存器编号,有些位表示这种指令做什么操作,是加减乘除还是读写内存,指令译码器负责解释这条指令的含义,然后调动相应的执行单元去执行它。

  • 算术逻辑单元(ALU, Arithmetic and Logic Unit):如果译码器将一条指令解释为运算指令,就调动算术逻辑单元去做运算,比如加减乘除、位运算、逻辑运算。指令中会指示运算结果保存到哪里,可能保存到寄存器中,也可能保存到内存中。

  • 地址和数据总线(Bus):CPU和内存之间用地址总线、数据总线和控制线连接起来,每条线上有1和0两种状态。如果在执行指令过程中需要访问内存,比如从内存读一个数到寄存器,执行过程可以想像成这样:

    1. CPU内部将寄存器对接到数据总线上,使寄存器的每一位对接到一条数据线,等待接收数据。
    2. CPU通过控制线发一个读请求,并且将内存地址通过地址线发给内存。
    3. 内存收到地址和读请求之后,将相应的内存单元对接到数据总线的另一端,这样,内存单元每一位的1或0状态通过一条数据线到达CPU寄存器中相应的位,就完成了数据传送。往内存里写数据的过程与此类似,只是数据线上的传输方向相反。

上图中画了32条地址线和32条数据线, CPU寄存器也是32位,可以说这种体系结构是32位的,比如x86就是这样的体系结构,目前主流的处理器是32位或64位的。地址线、数据线和CPU寄存器的位数通常是一致的,从上图可以看出数据线和CPU寄存器的位数应该一致,另外有些寄存器(比如程序计数器)需要保存一个内存地址,因而地址线和CPU寄存器的位数也应该一致。

四、多核CPU技术

多核CPU(multi-core processor)是指在一个物理CPU内部,被精心设计和制造出多个独立的物理核心。这些核心可能共享一个Die,也可能分布在多个Die上,通过高度集成的内部互联技术进行协同工作。这种架构使得多核CPU能够同时执行多个任务,显著提升计算机的处理能力。

系统架构

参考:
百度安全验证
https://zhuanlan.zhihu.com/p/896763262
多核处理器的体系结构特点(啥是同构、异构?常见的多核有哪些?)_多核异构-CSDN博客

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号