计算机学习备忘录之CPU篇(一)

CPU功能

1.二进制数的运算

2.二进制数的读写

CPU结构

1.寄存器(register)

2.控制器(controller)

3.运算器(ALU)

问题一:人们为什么要发明cpu?

答案:当然是为了计算。在cpu的眼中,没有“hello world”,没有office,没有英雄联盟,没有网易云,有的只是一些二进制数:1001111000100。因此把cpu比作大脑是不太恰当的,因为cpu眼里的世界并没有这么丰富多彩,cpu唯一可以做的就是对二进制数的操作,而当初发明cpu就是为了计算。而编程语言,电子游戏,多媒体,比特币,人工智能这些都是后面经过人为定义,算法探索发展起来的。

如果是为了计算而发明cpu,那么我们该怎么设计cpu,让它能够完成我们计算任务呢?

参考人为计算的过程:12+5=17。

如果人为计算,我们得要一张草稿纸吧,所以人们给cpu设计了寄存器作为草稿纸用来存放数据;我们需要记住加法规则吧,所以人们给cpu设计了运算器作为规则。理论上,具备这两点cpu就可以完成计算任务了,但是,cpu不只是为了计算12+5存在的,还为了计算16+8,44-22等等,因此我们还得给cpu设计个控制器,用来控制寄存器的数据以及运算器的规则。

由于cpu只认识二进制数,所以12+5=17被改写成:1100+101=10001

这一过程对于人来说很简单,但对于cpu来说的确完成了一次壮举,因为它作为计算器已经是相当完美的存在了,但这只是简化过程后的轻描淡写,实际情况又是怎么样呢?

c(控制器controller)       r(寄存器register)       A(运算器ALU)

指令(11101100101)从内存传到控制器上(指令和数据都是二进制信息,除了cpu看得懂以外,没几个人看得懂)。控制器开始对指令进行翻译,执行,修改计数器(计数器后面讲)。

在这里我们假设1110就是加法的意思,那么11101100101(机器码)就可以被翻译为add 1100 101(这就是汇编语言的形式),将二进制变为十进制就是add 12 5,再变为数学形式就是12+5,我们现在就懂了。

那么现在cpu的状态就变成了下图

控制器将12(1100)和5(101)放在寄存器中,并告诉运算器进行加操作,最后结果为17(10001)

自此,cpu完成了这一伟大的过程:12+5=17

回顾这一过程,我们可以知道cpu三巨头寄存器,运算器,控制器的主要功能

寄存器:存放数据

控制器:翻译指令,执行指令,修改计数器(后面说)

运算器:进行数学运算或者逻辑运算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值