7 | 中央处理器(CPU)

计算机的心脏是 “中央处理器” ,简称 “CPU”。

程序有一个个 “操作” 组成,这些操作叫 “指令”。
因为它们 “指示” 计算机去要做什么。

  • 数学指令,加、减,
    CPU 让ALU 进行数学运算。

  • 内存指令
    CPU 和内存通信,读写值。

重点放在功能,而不是一个根线具体怎么连,一条线链接两个组件,这条线只是所有必须电路的一个抽象,这种高层次视角---叫 “微体系架构”。

如何操作的?

首先,要内存,四个寄存器

image.png
  • 4个寄存器,存储临时数据,操作数据。

数据是以二进制存在内存里,程序也可以存在内存里。

  • 给CPU 所有的指令分配一个ID。
    前四位:操作码
    后面的代表数据来自哪里-寄存器或者内存地址。
image.png
  • 还需要2个寄存器
  1. 追踪程序运行到哪里了。
    叫 “指令地址寄存器”- 当前指令的内存地址。
    2.另一个寄存器存当前指令-叫“指令寄存器”。
  • 启动计算机 都从0 开始。


    image.png

RAM 存放了一个程序,测试

  • 取指令阶段,负责拿到指令。
    指令地址寄存器 连到RAM ,
    寄存器的值为0 ,RAM 返回地址0 的值。
    0010 1110 ---》 复制到 指令寄存器
image.png
  • 解密阶段 :指令拿到 ,搞清楚什么指令,才能执行。

0010 是 OPCODE 操作码 ,LOAD A 指令 :把RAM 的值放入寄存器A。
1110 :RAM 地址,十进制 14


image.png
  • 由控制单元解码
image.png

“控制单元” 也是逻辑门组成,识别LOAD A 指令,需要有电路检测操作码是不是0010。

image.png
  • “执行阶段”
    检测是否 LOAD A 指令的电路,打开RAM 的 “允许读取线” 把地址 14 传过去。
image.png

RAM 拿到值 ,0000 0011 ,十进制的3。

  • LOAD A指令把 这个值放入 寄存器 A,其他不受影响。

1.需要一根线,链接4个寄存器。

  1. 用检测是否 LOAD A 的指令电路,启用寄存器A 的 “允许写入线”。
image.png
  1. 就把 RAM地址 14 的值,就写进了寄存器 A。
  2. 指令完成,关闭所有电路。
  3. 去拿下一条指令。
  4. 把“指令地址寄存器 ” + 1,执行阶段结束。

LAOD A 是CPU 可以执行的指令之一。

不同的指令使用不同逻辑电路解码。

这些逻辑电路会配置 CPU 内的组件执行对应的操作。

分析解码电路有点繁琐,通过上面例子走过一遍,干脆把 “控制单元” 包成一个整体,简洁一些。

新的抽象:

image.png

控制单元“指挥”组件,取指令 -> 解码 -> 执行。

再走一次

  • 取指令
    指令地址寄存器 值是 1 ,RAM 对应1 的值是0001 1111
image.png
  • 解码
    0001 操作码 对应的是 LOAD B :
    从RAM 取值,放入寄存器B
    1111 :内存地址是15

  • 执行阶段

15 对应RAM 的值是 0000 1110
十进制的14 存入 寄存器B。

image.png
  • 指针寄存器 + 1
image.png

下一个:
指令寄存器 是 2 ,对应RAM 是 1000 0100

1000 对应 add 指令, 后面4位不是RAM 地址,而是 两位两位代表两个寄存器。
两位可以代表4个值,可以代表四个寄存器。

第一个地址 01,代表寄存器B 。 ---还没搞明白为啥代表B
第二低地址00 ,代表寄存器A。

就是吧B的值和加到A的里面。

image.png

需要执行加指令,需要用到ALU。

控制单元:负责选择正确的寄存器作为输入,配置ALU 做正确的操作。

对“ADD” 指令,控制单元 启用控制器B作为ALU 的第一个输入。

image.png

启用A作为ALU 的第二个输入

image.png

ALU 可以执行不同的操作,需要控制单元传递ADD操作码,告诉他要做什么。

最后结果要存到寄存器A,但不能直接写入A, 因为新值会进入ALU ,不断和自己相加。

因此,控制单元用一个自己的寄存器暂时保存结果。

image.png

关闭 ALU ,把值写入正确的寄存器A。
3+14 = 17 二进制 0001 0001

image.png

最后一件事,把指令寄存器+1 。

最后一个指令 :0100 1101
把寄存器A的值 写入内存RAM 。1101地址 13

image.png

地址写入 RAM ,这次不是“允许读取” 是“允许写入” ,同时打开寄存器A的允许读取,就可以吧把寄存器A的值希尔RAM 。

image.png

CPU 执行了两个数相加,然后写入内存。

刚才过程 人工切换 CPU 的状态,取指令 - 解码 -执行。

CPU 真实切换状态的是 “时钟”,负责 管理 CPU 的节奏。

时钟:以精确的间隔触发点信号,控制单元利用这个信号,推荐CPU内部的操作。 确保按照步骤进行。

不能太快,就是电也需要一定时间传输。

CPU “取指令-解码-执行” 的速度 叫“时钟速度”,单位是-赫兹,标识频率单位。

1 赫兹 = 1秒 一个周期

前面的 4个指令,读取-读取-相加-存储,时钟速度大概是0.003 赫兹

一个指令 3步,
4 x 3/3600 = 0.003
还是 1/3600 = 0.0027 约等于 0.003

第一个单芯片CPU ,Intel 4004

1971 发布的4位CPU
时钟速度 740 赫兹,每秒74万次。
感觉很快了,但和现在处理器相比 不值一提。
1兆赫兹 = 1秒 1百万个时钟周期
现在的手机电脑都是几千兆赫兹。1秒 10亿次的时钟周期。

架构:

image.png

计算机超频

修改时钟速度,加快CPU 的速度。
芯片厂商给CPU 留有余地,可以接受一点 超频,但超频过多会让CPU 过热, 或产生乱码,因为信号跟不上时钟。

image.png

很少有人说降频,但其实降频很有用,有时候没不要让CPU 全速运行。
用户走开 ,或跑性能较低的程序,CPU 降低可以省很多电。

省电:对手机和笔记本,用电池的很重要。

为了省电,现在处理器根据需求,会加快和减慢时钟速度 -- 动态调整频率。

加上时钟CPU 才是完整的,可以放入盒子成一个独立组件。

新的抽象:

image.png

CPU 和 RAM 通过地址线、数据线、允许读/写线 进线通信

image.png

虽然设计的CPU 是简化版的,但是提到的很多机制,依然存在于现代的处理器里面。

下次讲 加强CPU ,给他它扩展更多指令,开始讲软件。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,640评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,254评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,011评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,755评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,774评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,610评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,352评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,257评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,717评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,894评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,021评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,735评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,354评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,936评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,054评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,224评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,974评论 2 355