文章目录
前言
这篇文章的目的是以最简单的方法讲解CPU的结构,
带你感受关于CPU的智慧和魅力。
大部分图片来自Crash老师的计算机科学速成课。
一 CPU的基本组成
CPU即中央处理器(central processing unit)是计算机系统的运算和控制核心
让我们来看看它的主要组成结构吧。
ALU(算术逻辑单元): 是能够进行算术运算和逻辑运算的组合逻辑电路。
寄存器(随机存取存储器):也叫主存,是与CPU直接交换数据的内部存储器。
控制器:把内存上的指令、数据等读入寄存器。
时钟:负责管理CPU的节奏(频率)。
二 CPU的基石
大家应该都知道晶体管是CPU的基石,但你知道么?其实晶体管还有两位“老前辈”,继电器和热电子管曾经发挥着它的作用。
1.继电器
让我们把继电器简化一下。
控制电路上有一个线圈,当我们给它通电时线圈会产生吸力,将机械继电器关上。从而实现了 关/开 这两种状态。这两种状态就可以和二进制联系起来从而表示数据了。(关于为什么能表示数据后面二进制会讲)
但是继电器不断的动就一定会产生磨损,需要经常更换。
于是科学家们发明了不需要动的热电子管。
2.热电子管:它是一个真空管。
我们把它也简化一下
真空管中含有两个电极,一个电极会发热射出电子,另一个带正电的电极会吸引电子从而形成电流。中间设置了一个控制电路来开关。
热电子管是不需要动了,但是它就像灯泡一样,一直发热肯定会烧坏。
而且非常容易碎,于是晶体管就出场了。
3.晶体管
简化一下它的结构。
半导体指常温下导电性能介于导体与绝缘体之间的材料,通过门电路我们就可以控制它的导电性,而且半导体的能耗低,导电性转换的很快,因此一直使用到现在。
下面我们会讲计算机的算数大脑(ALU),关于为什么 关/开 能代表数据,也会在下面的部分讲解。
三 ALU(运算器)
1.二进制
(1)二进制在计算机中
上面的部分我们已经提到了,晶体管可以有开关两种状态,这时我们就可以将开对应1,关对应0 。正好可以利用我们学过的二进制。
电路合上,有电流,代表‘真’
电路打开,无电流,代表‘假’
(2)为什么是二进制
第一点:只有两种状态,便于区分信号,不容易受外界干扰。
第二点:当时数学上二进制已经能够完成所以的计算。
2.布尔代数 & 逻辑门
(1)什么是布尔代数
常规代数中,变量是数字,利用数字进行‘+’ ‘-’
布尔代数中,变量是true和false,利用这两个进行逻辑操作
(2)基本逻辑门
AND门 | NOT门 | OR门 | XOR |
---|---|---|---|
两个true才是true | 输出相反 | 一个true即为true | 一真一假才能输出true |
以NOT门为例,我们看一下大致的情况是怎样的
当输入为ON ,接地,输出为OFF
当输入为OFF,不接地,输出为ON
ALU也可以进行逻辑运算,如两个数相减,通过逻辑门的组成可以判断结果的正负从而判断两个数的大小,这里就不再叙述。
四 寄存器
1.锁存器
数据是可以就行计算了,但是计算之后的数怎样进行存储呢?
让我们看一个简化的电路。
通过分析我们可以看出来,当下面的数变成1之后,不管输入什么值,都输出1
这是能存储1的单元
这种方式就好像是把1锁在里面一样,因此叫做“锁存器”
但是通过这种方法,只能存储1位数,那么将八个锁存器并排连起来,不就可以存储8位数了么。这就是8位寄存器。
2.矩阵
但是8位也还是太少了,怎样排列可以更省线,更方便呢?
科学家们开始利用矩阵构成网络。
16 * 16的寄存器就变成了256位寄存器
五 时钟
时钟以准确的间隔,触发电信号,CPU用这个信号,推进CPU的内部操作。
CPU取指令->解码->执行的速度叫“时钟速度”
很多现代处理器可以按需求 加快或减慢时钟速度
这叫“动态调整频率”
超频可以提高CPU的速度.
降频可以减少能耗.
最后
✨ 原 创 不 易 , 还 希 望 各 位 大 佬 支 持 一 下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下
👍 点 赞 , 你 的 认 可 是 我 创 作 的 动 力 ! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!
⭐️ 收 藏 , 你 的 青 睐 是 我 努 力 的 方 向 ! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!
✏️ 评 论 , 你 的 意 见 是 我 进 步 的 财 富 ! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!