以文本方式查看主题 - 搭建论坛 (http://bbs.diylsoft.com:8118/starforum/index.asp) -- 读者文摘 (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=10) ---- 【基础知识】跟我到CPU内部去看1+1=2是如何运行的!(2) (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=10&id=32072) |
-- 作者:mysoap -- 发布时间:2012-6-8 7:49:38 -- 【基础知识】跟我到CPU内部去看1+1=2是如何运行的!(2) 1+1=2 好吧,我承认这是小学生也会做的题目,但是作为一个程序员,或者是软件设计师,你知道1+1=2如何在计算机内部表示并执行的么? 在复习软件设计师中的计算机组成原理的时候这个问题一直在困扰着我,因为这里的内容涉及到了cpu运行原理.而对我们大多数人而言,cpu只不过是一个"黑盒子",具体里面是如何构造的我们并不是很清楚. 为了搞清楚,自己在这方面花费了一些功夫,查阅了相关的书籍和一些资料,逐渐的解开了cpu的内部的面纱,接下来我将通过图片来和大家一起到cpu的内部观察它是如何运作1+1=2的. 旅途开始:我将通过显微镜的旅游方式为大家展现.
至此为止我们已经了解到了晶体管的基本工作原理,并且通过图像展现出来,了解到了什么是逻辑门,逻辑门中的"与门"和"或门"但是1+1是如何通过这些晶体管来表示,并在计算机中运行,我将会在下一篇文章中与你走完剩下的旅途. 下图为上面整个路线的一个宏观概念图. |
-- 作者:mysoap -- 发布时间:2012-6-8 7:53:18 --
在上文中你知道1+1=2是如何在cpu中运作的么?----跟我到cpu内部去看看吧!(1)我们通过旅游的视角已经的揭开了CPU的一角面纱,到现在为止我们可以清楚一下两件事情. 1 晶体管是CPU中的核心部件. 2可以通过控制晶体管并对其进行逻辑组合便可以计算. 那么1+1=2是如何通过晶体管来进行呢? 要知道1+1=2如何运作,首先需要知道1和2在计算机中如何通过晶体管来表示呢? 在上文中我们已经提到,一个小灯泡的状态可以通过两个晶体管(开关)进行逻辑组合来控制.现在你可以这样理解: 一个小灯泡的状态代表着计算机中的两个数值:亮着表示1 关闭表示0 现在我们可以拿出四个小灯泡,并且把四个小灯泡排成一排,如果你稍微懂一些二进制的话,现在已经很清楚了.我们可以通过这四个小灯泡的开关组合最多能够表示我们常用数制即十进制的16个数字(也就是2的4次方). 现在就会有一下情况出现: 1四个小灯泡全部熄灭: 二进制:0000 十进制:0 2从右面数第一个小灯泡打开,其他关闭: 二进制:0001 十进制:1 3从右面数第二个小灯泡打开,其他关闭: 二进制:0010 十进制:2 依次类推,直到全部的四个小灯泡都打开: 二进制:1111 十进制15 以上过程可以通过下图来进行概括: 那么1+1=2如果用上图进行表示的话可以得到下面的示例图: 好了,至此为止我们已经知道1和 2还有其他的数值是如何在计算机中通过晶体管来表示,但具体"+"的这个过程是如何运行呢? 现在我们开始进行下一步的理解. 把一个晶体管抽象成一个开关,一个开关可以表示数字1和0,我们可以通过连接两个开关和两个灯泡通过一定的结构,开关用来表示输入0或者1而两个灯泡表示通过特殊结构的处理所得到的结果,这个特殊结构便是"加法器".加法器里面都是有各种逻辑门来构成的.这些逻辑门包括:"与"门,"或"门,""与非"门,两个开关通过加法器相连的逻辑图如下
如果有两排八个开关通过加法器相连,没有一个开关的话.从宏观的角度来看的话,便是下图所示: 而我们此次的主角:1+1=2的运作流程便是下图所示 此篇博客解决在准备软件设计师的过程中的疑惑.通过对CPU运作原理的探索,再一次理解了大道至简的道理,我们看似复杂的CPU,看似复杂的很多事物,归根到底都是一些特别简单的元素,而也就是这些"元素"通过各种组合,变换,便形成了复杂的运算,解决各种复杂的问题. 想起了老子<<道德经>>里的一段话:“道生一,一生二,二生三,三生万物,万物负阴而抱阳,冲气以为和。” |