搭建论坛交流论坛读者文摘 → 【基础知识】跟我到CPU内部去看1+1=2是如何运行的!(2)


  共有1868人关注过本帖树形打印

主题:【基础知识】跟我到CPU内部去看1+1=2是如何运行的!(2)

帅哥哟,离线,有人找我吗?
mysoap
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:305 积分:2860 威望:0 精华:0 注册:2008-7-4 9:48:31
【基础知识】跟我到CPU内部去看1+1=2是如何运行的!(2)  发帖心情 Post By:2012-6-8 7:49:38

1+1=2


好吧,我承认这是小学生也会做的题目,但是作为一个程序员,或者是软件设计师,你知道1+1=2如何在计算机内部表示并执行的么?


在复习软件设计师中的计算机组成原理的时候这个问题一直在困扰着我,因为这里的内容涉及到了cpu运行原理.而对我们大多数人而言,cpu只不过是一个"黑盒子",具体里面是如何构造的我们并不是很清楚.


为了搞清楚,自己在这方面花费了一些功夫,查阅了相关的书籍和一些资料,逐渐的解开了cpu的内部的面纱,接下来我将通过图片来和大家一起到cpu的内部观察它是如何运作1+1=2.


旅途开始:我将通过显微镜的旅游方式为大家展现.

  1. 电脑:作为程序员这是我们熟悉的不能在熟悉的家伙了.
    1. 计算机生成了可选文字: 1+1=2是如何在cup中运行的?l.
  1. 主机是电脑重要的部件.
    1. 计算机生成了可选文字: 1+1=2是如何在cup中运行的?有!面里铸机l主
  1. 主机里面的重要组成部分--主板
    1. 计算机生成了可选文字: 主机土板l
  1. 主板中有整个电脑的核心
    1. 计算机生成了可选文字: 主板只甘”齐七·观
  1. 打开cpu外的散热器我们可以看到传说中的cpu
    1. 计算机生成了可选文字: I甲c气p
  1. cpu的内部构造,
    1. 计算机生成了可选文字: CUpl甲创『JJ翎卫.月.,...月.,.卫忿占抢洲暑IIl.:I一〕目.』..里..』口尸f】!卿只内部
  1. cpu主要是有晶体管构成的,下图为一个晶体管的示意图.
    1. 计算机生成了可选文字: 立口。‘由期―如―土甲盯构,卿
  1. 晶体管中有两个电流,左侧为输入流,右侧为输出流
    1. 计算机生成了可选文字: ―电流在两个黄色区域流动一一一书卜左侧输入流与右侧输出流/晶休管\

  1. 在两个电流中间有一个白色的绝缘体,而被白色绝缘体包围的是半导体,主要是进行控制开关
    1. 计算机生成了可选文字: ―白色为绝缘休一一刁卜左侧输入流与右侧输出流绝缘体包裹着半导休称为门
  1. 而被白色绝缘体包围的是半导体,主要是进行控制开关,两端电流上面是金属导体.
    1. 计算机生成了可选文字: 两端灰。金属嘛一一尸一一绝缘休包裹着半异体称为门卜蔽色部分为半导体成~、
  1. 当输入流通电的时候,并且半导体的开关是处于打开的状态下,那么输出流也处于通电状态
    1. 计算机生成了可选文字: -’气输入流处于充电状态一」卜右侧。出流。会处于赢广一/一一-’匕半导体处于充电状态时一一书卜
  1. 为了便于形象的理解,我们给每个晶体管"装上"一个开关,开表示1,关表示0,同时为晶体管的输入流通电.
    1. 计算机生成了可选文字: /为晶休管输入流注入电流.井在半异休1几安置一个开关/开关可以表示数字中的1和O
  1. 现在拿出两个晶体管,将两个晶体管的输出流(右侧电流)通过导线相连,并在导线上可以想象安置一个小灯泡,有电则小灯泡亮,没有电则不亮.这就形成了著名的"逻辑门"中的"",下图是一个""门的构造.
    1. '计算机生成了可选文字:
  1. 如果只打开第一个晶体管的开关,则小灯泡亮了.
    1. 计算机生成了可选文字: 小玄】星了
  1. 如果只打开第二个晶体管的开关,则小灯泡也亮了.
    1. 计算机生成了可选文字: {小‘J曲个
  1. 如果两个开关都打开的话,则小灯泡还是亮了.
    1. 计算机生成了可选文字: 小玄l亮了
  1. 以上三种情况是解释的""们会有的三种情况,接下来通过一个小小的变化将导线同第一个晶体管的输出流与第二个晶体管的输入流相连,则形成了另一个逻辑门----"".
    1. 计算机生成了可选文字: 逻辑门:与门(ANDGATE)
  1. 如果只开第一个晶体管的开关的话,小灯泡不会亮.
    1. 计算机生成了可选文字: 灯不亮
  1. 如果只开第二个晶体管开关的话,小灯还是不会亮.
    1. 计算机生成了可选文字: 场灯不亮
  1. 如果两个都开的话,小灯才能亮.
    1. 计算机生成了可选文字:


至此为止我们已经了解到了晶体管的基本工作原理,并且通过图像展现出来,了解到了什么是逻辑门,逻辑门中的"与门""或门"但是1+1是如何通过这些晶体管来表示,并在计算机中运行,我将会在下一篇文章中与你走完剩下的旅途.

下图为上面整个路线的一个宏观概念图.

计算机生成了可选文字: 燕子少!价.自幽于~.口一后乡6争一口口一白口屯....,‘喃了‘J,了通一\',一‘臼~石4J,目r/钱彝一凿。\气查一下哀如声‘下衡叠


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
mysoap
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:305 积分:2860 威望:0 精华:0 注册:2008-7-4 9:48:31
  发帖心情 Post By:2012-6-8 7:53:18

在上文中你知道1+1=2是如何在cpu中运作的么?----跟我到cpu内部去看看吧!(1)我们通过旅游的视角已经的揭开了CPU的一角面纱,到现在为止我们可以清楚一下两件事情.


1 晶体管是CPU中的核心部件.

2可以通过控制晶体管并对其进行逻辑组合便可以计算.


那么1+1=2是如何通过晶体管来进行呢?

要知道1+1=2如何运作,首先需要知道12在计算机中如何通过晶体管来表示呢?


在上文中我们已经提到,一个小灯泡的状态可以通过两个晶体管(开关)进行逻辑组合来控制.现在你可以这样理解:


一个小灯泡的状态代表着计算机中的两个数值:亮着表示1 关闭表示0

现在我们可以拿出四个小灯泡,并且把四个小灯泡排成一排,如果你稍微懂一些二进制的话,现在已经很清楚了.我们可以通过这四个小灯泡的开关组合最多能够表示我们常用数制即十进制的16个数字(也就是24次方).


现在就会有一下情况出现:

1四个小灯泡全部熄灭: 二进制:0000 十进制:0

2从右面数第一个小灯泡打开,其他关闭: 二进制:0001 十进制:1

3从右面数第二个小灯泡打开,其他关闭: 二进制:0010 十进制:2

依次类推,直到全部的四个小灯泡都打开: 二进制:1111 十进制15

以上过程可以通过下图来进行概括:

计算机生成了可选文字: 月.098761匀43丹乙月.0月.月.00000nU0000―丁十丰―丁十十工―丁十牛上土!1、0、1、1(,1:01:O:,,:00,:i,010:O宕10111;1:1011110;101101,};011010}00'1'1:00,O0001:'00'00';留谷曾曾

那么1+1=2如果用上图进行表示的话可以得到下面的示例图:

计算机生成了可选文字: 月.月.J『.月.曰.〕户.妇0000月.月.月.月.J『.J飞.翻.』翻r』月.月.月.月.月.月.月.月.曰.』翻.〕月.月.月.月.0:0:11丁才不而0;0!0:10000QQ日Q月.月.月.月.00011O云000云QQQQ④日Q公

好了,至此为止我们已经知道1 2还有其他的数值是如何在计算机中通过晶体管来表示,但具体"+"的这个过程是如何运行呢?

现在我们开始进行下一步的理解.

把一个晶体管抽象成一个开关,一个开关可以表示数字10,我们可以通过连接两个开关和两个灯泡通过一定的结构,开关用来表示输入0或者1而两个灯泡表示通过特殊结构的处理所得到的结果,这个特殊结构便是"加法器".加法器里面都是有各种逻辑门来构成的.这些逻辑门包括:"","",""与非",两个开关通过加法器相连的逻辑图如下

计算机生成了可选文字: H日IfAddef翩O.栩一.』一.一.』口且.}一.}.一日.}一月.一


上图只是一个两个开关的相加,但是计算机要处理的是庞大的数据,这就需要将一个个的开关进行逻辑的相连接,变形成了下面的图,通过下图的方式将一个个的开关和灯泡进行相连.

计算机生成了可选文字: HalfAdderl泛\{朋一/一AND.,日OR长H日!fAdd6r卜‘八咤角八囚O目价目口.,日ANO〔用

如果有两排八个开关通过加法器相连,没有一个开关的话.从宏观的角度来看的话,便是下图所示:

计算机生成了可选文字: 回回圈0。回回日。。回回圈0。回回圈0。回尚图日向U回回囚品》回回圈印。回回圃问。0『0009000二0009000

而我们此次的主角:1+1=2的运作流程便是下图所示

计算机生成了可选文字: .曰日.10000000,回回回回回回回1D0000O01回回回回回回回}回+圈日日圈圈日瞥曾曾曾曾曾几BOO,决dd陌四.,01CO吕.栩八BC.,,0决山如dA卜10CO,u旧2200000010曾

此篇博客解决在准备软件设计师的过程中的疑惑.通过对CPU运作原理的探索,再一次理解了大道至简的道理,我们看似复杂的CPU,看似复杂的很多事物,归根到底都是一些特别简单的元素,而也就是这些"元素"通过各种组合,变换,便形成了复杂的运算,解决各种复杂的问题.

想起了老子<<道德经>>里的一段话:“道生一,一生二,二生三,三生万物,万物负阴而抱阳,冲气以为和。”



支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

【基础知识】跟我到CPU内部去看1+1=2是如何运行的!(2)








签名