带你从零开始设计一个简单CPU

发布于:2022-12-30 ⋅ 阅读:(506) ⋅ 点赞:(0)

前言

这篇文章的目的是以最简单的方法讲解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}{评论,你的意见是我进步的财富!}

本文含有隐藏内容,请 开通VIP 后查看