前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10分钟!搞懂计算机CPU实现原理

10分钟!搞懂计算机CPU实现原理

作者头像
林老师带你学编程
发布2022-09-23 16:12:15
4140
发布2022-09-23 16:12:15
举报
文章被收录于专栏:强仔仔强仔仔

一、CPU原材料

大家都知道光刻机很屌,那光刻机和我们所熟知的计算机CPU有什么关系呢?其实光刻机的作用就是将理论设计的电路制作到真实的芯片上,所以它不仅仅可以生产我们所熟知的CPU芯片,还有GPU,单片机芯片等。

很多人会说CPU其实就是一把沙子,虽然是开玩笑,但是在某种程度上,也有一定道理。因为沙子含有硅元素,而CPU中主要材料晶体管,就是采用特别纯净的硅材料上制造而成的。数千亿计的晶体管组成了我们所熟知的CPU芯片。

二、CPU内部电子门路

那问题来了,晶体管到底是用来做什么的,数量庞大的晶体管组成集成电路,为什么可以满足我们刷短视频,微信聊天呢?它最底层逻辑是什么?

我先来简单地介绍一下,很多人经常吹嘘说:计算机底层其实就是0和1。哈哈,虽然很直白,但是某种意义上来说,确实是这样的。这和计算机最底层的元器件有关系,也就是我们今天要说的CPU,因为CPU是由海量的晶体管,组成的集成电路,每一个晶体管都可以表示高压和低压。

2.1 晶体管

晶体管(transistor)是一种固体半导体器件,所以它具备半导体的特性,那半导体有什么作用呢?为什么可以作为CPU的组成材料呢?这里我们先从它的特性说起。

晶体管(transistor)是一种固体半导体器件(包括二极管、三极管、场效应管、晶闸管等),它具有检测、整流、放大、开关、稳压和信号调制等多种功能。

半导体是介于导体和绝缘体中间的一种东西,它的特性很有意思,如下图所示:

电流只能从正极流向负极,反过来却不行。有同学就会问,这有什么用呢?很有用,我们可以借助这个特性,设计出各种电子门路,比如【与门】、【或门】、【非门】、【异或门】等各种门路,有了这些门路之后,我们就可以设计出加法器、乘法器等。通过基础器的组合,我们就可以构建出,各种复杂的计算器出来,进而实现CPU日常强悍的功能。

2.2 门路实现

下面我们简单的来说一下,半导体是如何实现【与门】的,我们来看下面这个图:

这是采用半导体组成的【与门】,也就是当A和B都是1的情况下,Y才会是1,其它都是0。

A电压

B电压

Y电压

0

0

0

0

1

0

1

0

0

1

1

1

因为复杂的运算器,都是由大量的门组成,如果每个都要把电路图画出来,非常不美观而且也复杂,所以我们可以采用一些特殊的符号来表示这些门,如下所示:

2.3 运算器实现

有了这些门之后,我们就可以实现各种复杂的运算器了,下面我们来看看最简单的半加器是怎么实现的。

通【异或门】+【与门】我们就可以实现一个最简单的半加法器,如上图所示,如果A和B都是1的情况下,S为0,C为1,就变成10,这就可以实现一个最简单的半加法器了。

但是这还不算是完成的加法器,因为如果要实现1+2(十进制),也就是01+10(二进制)的时候,就无法胜任了。所以我们对半加器做一下改进,如下图所示:

通过3个输入+2输入的形式,就可以实现01+10(二进制),最后通过多个加法器的组合,我们就可以实现任意位的加法器了。

三、CPU内部架构

CPU最核心的运算器实现我们介绍完了,CPU作为计算机组成中最强大的核心部件,肯定不可能只有运算器这个功能,实际上它的组成架构非常复杂,所以我们主要介绍它的核心架构功能,我们先来看如下一幅图。

从上图我们可以看出,CPU是由运算器(单元)、控制器和存储器组成。

3.1 运算器

顾名思义,运算器负责执行由控制器发出的命令,具体执行加减乘除之类的运算。

3.2 存储器

存储器是用来存储指令需要用到的数据,这边的存储器和我们大家所熟知的内存不一样。CPU的存储器是由寄存器组成,存取速度比内存快很多,但是容量和价格方面也贵得多。

3.1 控制器

CPU执行的指令是一条条的,但是我们应用程序在执行过程中,实际是有顺序的。这就要求我们保证,指令在执行的时候,要按照一定顺序进行,控制器的核心作用就是这个。

然后还需要通过总线和内存进行交互,将CPU所需要用到的数据,缓存到CPU缓存寄存器中,这是因为CPU运算速度特别快,比如是1纳秒,而内存的读取速度很慢(相对CPU运算速度),是100纳秒,那CPU就需要等待99纳秒,这个是完全不能容忍的,所以就需要将CPU指令用到的数据,先缓存到寄存器中,这样可以大大提高CPU运算效率。

当然实际CPU不可能这么简单,我们只是做了最简单的概括,因为目前的CPU都是多核的,所以不管是控制器还是运算器都是非常复杂,里面会包含很多更细的部件,比如预解码、解码、指令融合、指令重排等,非常多的模块。

四、复盘总结

在学习整个CPU的组成原理之后,大家会发现,最最核心的其实不是CPU本身,而是基础学科物理。因为CPU最底层的门路设计,需要基于物理学的电流、电压相关知识,如果没有这部分理论支持,那我们永远没办法发明出计算机出来。这也是任正非先生所说的,我们最需要大力发展的不是某一项技术,而是最底层的基础学科。​​​​​​​

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档