CPU概述

什么是CPU?

请添加图片描述

CPU作为电脑逻辑和运算的核心部分,负责处理电脑发送的指令,并将指令进行编排。

CPU的核心组成分为Control Unit 和 Arithmetic and logical unit (ALU)。

Control Unit首先获取需要执行的指令,编排这些需要执行的指令,告诉CPU需要具体需要干嘛。

Register(寄存器或暂存器)可以用来存储数据。

Memory(RAM)是一种功能更加强大的存储部分,相对寄存器而言可以存储更多的数据,具有易失性,在断电的时候数据丢失。

CPU处理的指令有算数加减,逻辑与或,还有诸如move,input,output, goto, if, goto call之类的指令。

计算机所能执行的指令汇总叫做指令集(instruction set)。

一个化简版的CPU结构大致长这样:

请添加图片描述

Clock cycle时钟周期决定计算机的运行速度。

CPU clock cycle is measure in gHz(Gigahertz). 1gHz is equal to 10 ⁹ Hz(hertz). A hertz means a second. So 1Gigahertz means 10 ⁹ cycles per second.

时钟周期越小,计算机处理效率越高。

Clock cycle = 1/clock rate
CPU Time =  number of clock cycle / clock rate

假设一系列指令要实现两数相加,具体的实现如下。

第一步,LOAD_A 8: 假设RAM中的指令是<1100 1000>前四位是操作码(op code)后面是所保存的数据。指令需要解码来载入A,即将指令后四位数据1000存入寄存器(register)。

第二步,LOAD_B 2:

和上述类似。

第三步,ADD B A:

控制单元(CU)告诉ALU将两数相加,并将最终结果存回到A

第四步,STORE_A 存储。

值得一提的是,CPU性能由程序执行时间决定。

Performance = 1/execution time
Relative performance = execution time 1/ execution time 2

假设一个程序要执行20ms,则CPU性能就是1/20 = 0.05ms

什么是单周期CPU,多周期CPU,流水线CPU?

单周期CPU一个时钟周期完成一条指令。时钟周期由需要执行时间最长的那个指令所决定。

多周期CPU是将一条指令的执行分成多个阶段执行分成多个阶段,每个阶段用一个周期完成。假设每执行一条指令要花n个时钟周期,则计算机CPI(Cycle Per Instruction)(每条指令的时钟周期数)为n。

举一个极端的例子,假设有三条指令,执行时间分别为3s 5s 7s

单周期CPU就会将每条指令的执行时间设置为7秒,三个周期执行完,共执行21秒。

多周期CPU执行大致相当于如果时钟周期为3s

当然这个例子非常极端,现代CPU的处理速度远远快于这个例子。CPU主频到了2.5Ghz上下,浮点运算加减大致3-5个周期,乘除需要10-20个周期,频率2.5Ghz,G是( 1 0 9 10^9 109),因此CPU每秒可以计算上亿次。况且CPU是使用流水线作业,能提高数倍,甚至数十倍。

至于流水线CPU就更有意思了。有点像统筹安排,或者工厂流水线那样。具体如图所示。

请添加图片描述

请添加图片描述

请添加图片描述

流水线不提高任何一次整理衣物的效率,而是将整个系统安排起来,在有需求和有空缺的时候进行作业,从而从整个系统的角度优化处理速度。

Reference:

How does a CPU work
cse378

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andrew_Chao

谢谢打赏喵

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值