编程技术分享平台

网站首页 > 技术教程 正文

揭秘电脑的CPU如何高效工作!(电脑cpu是如何工作的?)

xnh888 2025-03-25 19:01:38 技术教程 44 ℃ 0 评论

工作原理:电脑的CPU是如何工作的?

这是电脑的CPU,它是计算机的大脑。CPU通过主板上的内存通道直接与内存通信,当运行某个程序时,内存存储器会从固态硬盘或者机械硬盘中读取需要的数据,然后CPU从内存拿到数据后就会进行相应的处理。

其实除了硬盘和内存存储器外,在CPU内部还有一套存储机制,那就是CPU的高速缓存。与内存相比,高速缓存比内存的容量还要小,只用于储存CPU认为最为重要的数据。高速缓存分为三级,第一级访问速度最快,但是容量最小;第三级访问最慢,但容量最大。

CPU首先请求一级缓存中的数据,如果没有读到想要的数据,则读取二级缓存中的数据;如果二级缓存中也没有,将读取三级缓存中的数据;如果还没有,直接读取内存中的数据。

除了高速缓存外,CPU还有一块存储区域,那就是寄存器。寄存器是比高速缓存访问速度还要快的存储器。想要了解CPU是怎么运行的,必须弄清楚寄存器是怎么工作的,这些都是常用的寄存器,后面会详细讲解。

其实电脑使用的软件程序都是使用高级语言编写的,这一段代码通过编译器编译后会解析成难以看懂的汇编语言。汇编语言在通过编译器编译后会被翻译成机器能读懂的二进制语言。将上面的代码简化一下,只计算A加B的值,计算结果赋值给C。

当编译这行代码时,编译后简化的汇编语言就是这样,英文代表要执行的指令。代码意思就是读取内存中10号位置的数字加上11号位置的数字相加的结果,存储到内存中12号的位置。

然后汇编语言再被编译成二进制,英文指令对应二进制的前6位,英文后面的数字对应数字的二进制值,二进制值一共16位。这些二进制值一开始是存在内存中的,由于内存以8位为单位存储,所以这些二进制值每个需要存储两行。

现在以2+3这个简单的加法来看看CPU寄存器的详细执行过程。最上面这个是程序计数器,地址值为100,然后内存地址寄存器会读取到这个地址值。接着内存地址寄存器就会去内存读取位于100位置的二进制值,而后将值放入内存缓冲区寄存器。这个过程就是提取,但是二进制难以看懂,所以还是换成汇编代码表示。

接着内存缓冲区寄存器的数据会被移动到指令寄存器,这时程序计数器会变成102,也就是下一次程序执行的起始码。接着指令寄存器的数据被移动到控制单元,控制单元会对指令进行解释,解释后控制单元就明白这行指令是要读取10号地址的内存数据,所以控制单元通过内存地址寄存器读取10号地址的2,然后存入内存缓冲区寄存器,接着移动到累加器寄存器中,到这里LOAD10这行指令就完成了。

现在处理ADD11这行指令还是一样先读取数据,前面执行过程跟LOAD10执行过程一样,但是当执行到控制单元时,为了执行加法命令,存储在累加寄存器中的数据会被传递到算数逻辑单元。接着还是跟之前一样,将数字3加载到内存缓冲区寄存器,然后放入累加寄存器,接着将3传递到算数逻辑单元进行加法运算,得到计算结果5,然后返回累加寄存器,这个阶段称为执行阶段。

现在还有一行命令没执行,前面执行过程还是一样,到控制单元时控制单元解释STORE12这行命令,命令意思是将相加结果存入内存地址12的位置,然后累加寄存器将结果5通过内存缓冲区寄存器存入到内存中地址12的位置。到这里一个简单的加减法就完成了。

可以看到2+3虽然简单,但是计算机执行过程却非常复杂,如果是一个大型的游戏运行,可想而知对CPU的性能有多大的考验。其实CPU计算的时候并不是串联执行的,而是很多线程一起执行,这会让CPU运算速度大大加快,而且CPU核心越多处理的速度就越快,所以一款好的CPU对电脑的性能有着至关重要的影响。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表