【杂谈和扯淡】要不要数数你的电脑里有几个晶体管?
物理吧
全部回复
仅看楼主
level 13
KOF2002FANS 楼主
不知各位是否看过Michael Moore的纪录片《食品公司》。。
在这个食品工业高速发展的时代,人们对自己吃进嘴里的东西了解却越来越少,以至于不了解食品工业知识的人看到这个纪录片的时候会感到触目惊心,或许还会发誓以后都会花更多的钱只去吃有机食品[汗]
在电子产品的领域里,这种由于社会分工越来越细化而产生的现象也是存在的(俗话说“隔行如隔山”)。在这个数字化的时代,一切都越来越依赖于电的力量。现在即使仅仅是计算机所用的电源也有一大堆的由晶体管组成的电路用来检测和控制输入电压的大小(而不是一般人所知道的交流电)。
不只是PC,现在几乎所有涉及到电的东西都用上了较大规模的集成电路,这项伟大的发明极大地方便了人们的生活。
想想1946年吧,那个时候还没有集成电路。那年倒是诞生了ENIAC:这玩意占地170平方米,重30吨,耗电150kW,造价48万美元(在当时老鼻子贵了),包含了17468个真空管,7200个二极管, 70000个电阻器, 10000个电容器以及1500个继电器。可是每秒才做5000次加法而已,而且还没图形界面,没有鼠标,没有键盘,没有音箱,没有显示器,没有。。。~!@#$%^&*
当时他们是这么对计算机进行编程的:
有趣的是,由于电子管这种东西预热和冷却的时候经常烧坏,所以每天都会有好几个管子烧掉,而只要有这种情况出现ENIAC就没法工作,以至于工程师后来干脆就不关机了(尽管电费很贵)。。。
于是损坏率终于下降到了------每两天坏掉一个管子。。。 ——!
2013年02月03日 20点02分 1
level 13
KOF2002FANS 楼主
不好意思,楼上打错字了,是真空管不是电子管。。。
现在由于VLSI(Very Large Scale Integration)的快速发展,我们能把数十亿的晶体管集成在一个很小的面积之内,即使是普通人使用的计算机也远比当年的ENIAC强。
我们尽情享受着计算机和各种电子产品所带来便利的同时,你有没有想过,为什么这些结构简单的晶体管能带给我们如此丰富的体验呢?或许你经常听说某某CPU,某某显卡的晶体管数量有多少多少亿,那么这些晶体管到底是怎么用的?
好吧,我承认把这些问题全部解释清楚大概要花我5年以上的时间。不过或许我可以比较迅速地解答下面这个问题:
为什么我们需要这么大数量的晶体管呢?
这也就是本文的目的了:要不要试着数数一台电脑有几个晶体管?
2013年02月03日 21点02分 2
好吧。。其实我的用意不是真的一个一个地数出来,原意还是让读者对计算机有个更深入的了解
2013年02月03日 22点02分
真空管就是电子管
2014年03月28日 16点03分
真空管电子管一个东西,只是真空包装管强调内部真空,电子管强调用于电路 ——来自伊迪亚特大陆第一大城市卢布省的2333号电台的分机
2014年11月13日 03点11分
level 13
KOF2002FANS 楼主
在数晶体管之前我先声明一下:
我只会花很少的篇幅说明各种稀奇古怪的电路是怎么设计的,因为数晶体管只需要数数和加减乘除的知识就够用了。再者,这篇文章的主要目的也只是带着读者稍微深入认识一下你面前这个人类科学和工程学的奇迹而已,并不需要读者会使用卡诺图或者有限状态机之类的东西[揉脸]
如果对计算机的详细工作原理感兴趣的话不妨去读
《编码:隐匿在计算机软硬件背后的语言》作者:Charles Petzold
2013年02月03日 21点02分 3
在贴吧的熏陶下我知道微机原理似乎挂科率很高 [乖]
2014年03月29日 01点03分
level 13
KOF2002FANS 楼主

晶体管
我不是很清楚物吧各位在中学的电学里都学了些什么。不过混了这么久的物理吧,给我的印象是现在中学里学的东西越来越少,题目倒是越来越离谱,前几年问的时候就说中学已经不教晶闸管和二极管了。最近竟然听说连电容和电感都是类似于一笔带过的,那可真是莫大的悲哀[啊!]
不过我这里还有一个更坏的消息:
至少就我目前所知,在计算机和各种电子产品里,电容和电阻的数量连晶体管数量的零头都没有,电感器压根就没见过任何数字电路里有过(不知道网卡天线附近有没有)。晶体管这么重要的东西,中学课本里竟然只字不提,好歹也提一下嘛,实在是太过分了!![88]
2013年02月03日 22点02分 4
现在我们初中只教电阻.
2013年02月04日 06点02分
天线那里肯定有电感的。
2013年02月04日 06点02分
有那些东西,贴片式的,要中学生分析晶体管也太那个了
2014年03月28日 16点03分
这个同意!没有集成电路,就没有现代化的工厂。
2014年03月29日 03点03分
level 13
KOF2002FANS 楼主
咳咳。。吐槽多了点。
那么晶体管是个什么东西呢?
晶体管的英文是Transistor,既可以指双极型晶体管(Bipolar Junction Transistor,BJT),也可以用来指各种
场效应管(Field Effect Transistor,FET)。
PC和智能手机使用基本都是
MOSFET,场效应管的一种,也是本文的主角;BJT多数时候在模拟电路里行使放大或稳压之类的作用,不再多做描述。至于其他乱七八糟的JFET,IGBT之类也不多说了。
MOSFET有三个管脚(其实是四个,不过读者不必知道),分两种,一种叫做N沟道MOS管,另一种叫P沟道MOS管
NMOS的电学符号:
Gate叫做栅极,Drain叫做漏极,Source叫源极
PMOS的电学符号只是在栅极处加个圈儿,不过要注意的是大多数情况下NMOS的漏极会画在上边,而PMOS的漏极往往会画在下面:
这里要完全给读者讲清楚两种MOSFET的电学特性和结构会花上很大篇幅,对于了解计算机来说也没有必要。
读者只需要知道:MOS管的作用在计算机中类似于开关,与一般的机械开关不同的是,其开关状态是由电信号控制的
。NMOS在栅极高电平(
也就是所谓的“1”)
的情况下导通,低电平(
也就是“0”
)
的情况下阻断;PMOS则相反。
是不是有点象继电器?您还别说,真有用继电器搭电脑的牛人。。。= =
2013年02月03日 22点02分 5
运行起来是不是很壮观!
2014年03月29日 01点03分
我查了一下,是说多发射极的晶体管,那样是说主流是四个吗?还是说更多的发射级会有设计难度?
2014年03月29日 01点03分
回复 lhcsysr9 :不是。。没那么复杂;除Gate,Drain,Source之外还有个body(substrate),只不过一般分析的时候会忽略而已
2014年03月29日 01点03分
回复 KOF2002FANS :[睡觉]
2014年03月29日 03点03分
level 8
插?
2013年02月03日 22点02分 6
level 13
KOF2002FANS 楼主

逻辑门,真值表,布尔代数,二进制。。。(这算是复习吧?)
中学如果连这个的都不提的话我就无力吐槽了。。。[]
还有就是如果你对这些玩意头疼的话千万别去学计算机。。。
嗯,我相信物吧的各位一定都知道(千万别说不知道),计算机只认“0”和“1”,这是因为一条电线的状态只有低电平和高电平,要么就是直接断路(
请注意:“0”和断路不是一回事)。
正因为如此,所以在计算机里要表示一个数字的时候要用二进制
0 ----〉 0
1 ----〉 1
2 ----〉 10
3 ----〉 11
4 ----〉 100
5 ----> 101
。。。
等等
我们还可以对“0”和“1”进行各种各样的
逻辑运算
概念上讲,基本的逻辑运算有三种:与(AND),或(OR),非(NOT)
不那么基本的运算还有:NAND,NOR,XOR
我们把在电路里执行这种运算的电路叫做
逻辑门
比如说下面这个符号就是AND gate的电气符号
真值表为:
可见AND运算时,当两个输入都是1的时候,输出才会变成1
然后还有OR运算:
OR运算时,只要任意一个输入是1,输出就会是1
最后就是最简单的NOT运算:
NOT运算只是取反而已
希望这些内容对各位来说只是概念的复习,而不是第一次看,否则后边会看不下去的
2013年02月03日 23点02分 8
这应该是与门或门和非门[冷]
2016年03月15日 15点03分
level 13
KOF2002FANS 楼主
上边说了这么多抽象的“0”和“1”,到底和晶体管有什么关系呢?
这就是计算机的第一个层次了:用晶体管电路实现基本的逻辑运算!!!
前面声明过:我只会花很少的篇幅说明各种稀奇古怪的电路是怎么设计的。于是不好意思,下面的某些电路我就不做说明了,读者可以自己尝试领悟一下以下的简单逻辑电路是如何工作的。。
篇幅所限,后边直接就变成几乎不做任何说明的大跃进了,没学过数电的基本不可能跟上。
不过读者请安心,别忘了咱就是来数晶体管的,至于那些加法器,乘法器,触发器,寄存器,CPU,内存条,控制电路。。怎么弄出来的就不要管了[睡觉]
Vdd或Vcc为高电平,Vss或接地为低电平
AND
门电路(6个晶体管)
OR门电路(6个晶体管)
NOT门电路(2个晶体管)
XOR门电路(6个晶体管)
2013年02月04日 00点02分 9
貌似记得现在芯片是5v为1 0v为0
2016年03月15日 15点03分
level 13
插~~~
2013年02月04日 00点02分 10
level 13
KOF2002FANS 楼主

大跃进之一:逐位进位加法器(位置:CPU的逻辑算数单元)
引进逻辑运算之后,咱就可以搞二进制数的加法了。
这个逐位进位加法器并不是实际用于我们电脑上的加法器,因为它动作太慢
实际用的CLA加法器速度更快,晶体管更多,不过我们姑且当它就是我们用的就好
4位逐位进位加法器电路图:
一个单元的电路:
每个单元里有两个XOR,两个AND以及一个OR,共计2×6+2×6+6 = 30个晶体管
也就是说一个4位加法器共有120个晶体管
如果你的电脑硬件是64位并且是双核的话
那么光是加法器就至少有30×64×2 = 3840个晶体管!!而且实际上应该比这个数字更多才对!!
2013年02月04日 00点02分 11
感觉不是很多啊
2016年03月15日 02点03分
level 6
轻插?
2013年02月04日 00点02分 12
挤一挤。我也插
2013年02月04日 07点02分
level 9

2013年02月04日 00点02分 13
level 5
够给力⊙﹏⊙不过-_-||高一新人表示还不知道各种
2013年02月04日 01点02分 14
level 12
[Yeah]战术马克
2013年02月04日 01点02分 15
level 13
KOF2002FANS 楼主

大跃进之二:D触发器(位置:CPU的寄存器组和外围的各种寄存器,以及各种花样繁多的控制电路中)
触发器的作用是在极短时间内暂时保留数据,用处实在太多,因此很难计算整台电脑里有多少这样的玩意。上边这个D触发器可以储存1位的数据
在CPU里主要是用在各种寄存器上
比如说通用寄存器组,指令寄存器,状态寄存器,缓冲寄存器,堆栈指针寄存器,程序计数器,累加寄存器,浮点寄存器,中断寄存器,常数寄存器,向量寄存器,标志寄存器,I/O用寄存器。。。~!@#$%$ 等等!!
现在CPU技术日新月异,设计几乎每天都在升级,所以LZ也不知道你的i7 core里边到底有多少这样那样的寄存器。所以只能做很多可能不合理的假设来估算,估出来的数字也极有可能远低于实际数目。
LZ做了很多超级简化的假设之后,估算了大半天,得出来的结果是:
光是寄存器本身的晶体管数量就怎么着都得有200万个,实际数字比这只高不低
2013年02月04日 01点02分 16
如果你用的是比较高级的CPU的话,那么这个数字即使乘以10我也不会惊讶
2013年02月04日 01点02分
回复 KOF2002FANS :今天先到这里
2013年02月04日 01点02分
楼主你好,我想请问一下,运算一个加减法都要用到那么多晶体管,那么运算一个超大型的数字例如: 一亿,而电脑的晶体管不够,那会出现什么情况呢,本人对电脑不怎么懂,望赐教。
2014年03月28日 15点03分
确切的说来应该是维持阻塞d触发器[吐舌]
2016年03月15日 15点03分
level 12
[Love]看到……这里……感觉……还是……可以……勉强……能够……理解……的……
2013年02月04日 01点02分 17
level 12
好好玩~[太开心]
2013年02月04日 01点02分 18
level 12
K前辈又来发福利了,果断顶……
我们“电路基础”里逻辑门讲的主要是TTL, CMOS讲的不多……
2013年02月04日 06点02分 19
level 12
数字电路扫盲贴。。。
2013年02月04日 06点02分 20
level 11
物理系大三的插一下
2013年02月04日 06点02分 21
1 2 3 尾页