EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 alexwang 于 2020-4-24 18:17 编辑 + F+ _9 @3 n6 n( ^7 Y
/ S# v" C7 f* @* k( s
从硬件技术视角分析:计算机速度是如何提高的? 7 v$ @1 B3 A5 `9 h2 u6 }1 L
EDA365原创 作者:巢影字幕组 9 O! b$ c( f& B, j) d/ q1 T! L
7 \1 d% e9 A* L) {; V. Y' g& t
' K2 H# {/ j1 p6 I2 [
) N2 @/ O# ] M! I! L* @" o早期计算都经历了什么?20世纪初,像制表机这样有特定用途的设备,代替了人工操作。
) X0 y( K6 Q" b/ Q5 t20世纪上半叶,世界人口几乎翻一翻,全球也开始进行贸易和运输,这就使得人们对自动化计算机的需求日益增长,而从开始的算盘到需要花费巨资来维护的庞然大物,为未来的计算机打下了坚实的基础。 & D( @- S7 Z2 I) B9 } r0 O# X
1 y9 y; j. |% Y9 H5 T% A
! N( i8 C& `6 m9 S5 q. U9 S9 |9 t, V: g8 r* d. U4 E. \2 W
4 }4 y6 i3 m. |3 _* q; E一、计算机术语 "bug" 从何而来
# Z2 _1 m0 p+ s1 r哈佛马克1号(Harvard Mark I)于1944年在第二次世界大战中由 IBM 作为同盟国而建造,它是最大的电子计算机之一。
9 a6 b8 p9 A0 B其中组件765000个,连接点3百万个,导线长度500英里,为了保持内部机械装置同步,还用了5马力功率的电机驱动一个50英尺长的传动轴。 ) A! N4 h! W/ o. w* i
" r' }- B% j& v: W; H* D
* T n; T* d: y2 \3 a! w
: |. l2 R* H2 l4 Q a) ^这台机器的核心部件是继电器,在继电器内部,有根决定电路是否闭合的控制线,控制线连着继电器里的线圈,当电流经过线圈时,产生电磁场,在电磁场的作用下,继电器吸合。
' ~& j: u) E8 q9 w+ O/ Y
2 w7 n. ]/ e: @9 t* P$ w: V- ]8 }4 Y5 w7 y! e/ E
继电器工作原理
- a0 j2 c& m9 a; H! \哈佛马克1号做加减法每秒3次,乘法每6秒1次,除法每15秒1次,三角函数之类的可能会超过1分钟。
% @0 ~: x9 E' ?& C) C除了速度慢,还有机械磨损,任何会动的机器都有机械磨损,如果有齿轮坏了,速度会更慢,进而影响工作效率。 1 c4 h. m Q8 B P- P3 S
那现在咱们来讨论一下继电器,哈佛马克1号上有大约3500个继电器,假设一个继电器的机械寿命是10年,平均一下,每天就得换掉一个故障继电器,如果是需要运行很多天的重要计算,这将是一个很严重的问题。 ' }- E# l1 i0 n( K5 Z
这些机器不仅体积大,散热厉害,而且会吸引虫子,1947年9月,哈佛马克2号(Harvard Mark II)的操作员从故障机器中取出了一只死掉的飞蛾,从那时起当电脑一出现问题,人们就会说里面有只虫子(bug),这就是计算机术语 "bug" 的来源。
! m4 H0 m; v+ v6 N: @0 c* h# n如果想进一步推进计算能力,那就得找更快更可靠的东西代替继电器。 0 s, o! d, m% I( t" v) O+ \# y
8 ~3 u5 L3 p1 m! J9 ]7 G4 S( v* Q
5 Q. p( \% S2 |0 ]# H; Z+ I. O) X0 @! R" D1 M) ]1 G. {4 i! W
二、从真空管到第一台可编程通用电子计算机
' v6 v+ [# d; b) f" g- u' {4 Z
g1 J& f% C/ u0 a l, e, I7 y5 s
" q$ O$ y4 W, |* u7 T% S/ B1 P
3 P4 Z Q9 w( P
真空管工作原理
0 \+ d. Q7 M5 L2 J$ t9 L9 [5 G1904年英国物理学家,约翰·安布罗斯·弗莱明开发了一种全新的电子部件叫“热电子管”,也是世上第一个真空管。
7 ]) j5 k0 r0 X5 R3 O在真空管里放2个电极,通过加热一个电极使其发射电子,称为“热电子发射”,另一个电极吸引这些电子,形成电流,这些移动的电子都带有正电荷,这种只允许电流单向移动的器件叫二极管。
V' k+ O* N" c
' z' k D' l% ]/ m% b1 l' l$ M! n! ~+ }1 D) Q& m- y
三极管工作原理
* n/ y. H. ~8 W1906年,美国发明家李·德富雷斯特参考弗莱明的设计,在两个电极之间加入第三个“控制”电极,向控制电极施加正电荷使电子移动,向控制电极施加负电荷阻止电子移动,这种可以通过“控制”电极来闭合/断开电路的器件叫三极管。 # \6 C1 C: F" _* j8 X
它和继电器的功能基本一样,不同的是,真空管内没有部件,极大的减少了磨损,而且开关次数可以达到每秒千次。 # j" |* p) P3 M3 |
6 l7 J7 h7 g8 ?1 I) i+ S2 x% x. x: Y. r& S: o5 n& C5 N
8 { ^! g7 Y9 v1 O9 r
20世纪40年代,真空管才使用在计算机中,这也标志着人们开始从机械计算进入电子计算时代。 . Y- t% o# V* |% I8 \% _) n0 W
第一次大规模使用真空管是在工程师Tommy Flowers设计的Colossus Mk 1上,它完工于1943年12月,用来帮助解密纳粹通信。 4 v# A: z( ~- t+ A
第一版的Colossus有1,600个真空管,也是第一个可编程的电子计算机,编程方法是把几百根电线插到插板里,使计算机执行正确的操作,虽然它“可编程”,但还是需要人工设置才能执行特定的计算。
0 o$ _! M5 J2 W+ p5 l7 a: f7 ]1946年,在宾夕法尼亚大学,John Mauchly和J. Presper Eckert设计的电子数值积分计算机 "ENIAC"成功出世,是世上第一台通用“可编程”的“电子”计算机。 h, p; [! A$ S1 x, k+ j
它每秒可执行5000次十位数加减法,据估计,它的运算量超过了全人类有史以来的所有运算。
& i% O' h( y6 O+ v; g直到1950年,真空管的计算已经被运用到了极限。 * l1 C* t3 T0 ]
/ u" X* @! A& M
: M- r1 G. Q& x1 f( I' j6 K- U# ]1 ]1 k
: {, z) g8 |! x9 P/ t三、从晶体管的诞生到计算机步入人类生活 - U+ L: j* k& [# J' [" y' h
: V9 J' s. B% `4 X为了降低计算机的成本,减小尺寸,更进一步提高可靠性和计算速度,贝尔实验室科学家John Bardeen, Walter Brattain和William Shockley于1947年发明了全新的电子开关——晶体管,它的出现标志着一个全新的计算时代的诞生!
L: X0 U. d( d% y6 { h- J* I0 k; Y1 f, n$ E
% p3 D& E1 D z4 U晶体管工作原理
% }2 o, y* Z! y' S& u# q' r晶体管就是一个开关,它是由导电材料隔开的两个电极组成,这些材料会在一定条件下导电或不导电,因此称之为半导体。 ! g: W2 y: d' S; ~% g# Q# n
晶体管与真空管不同,它是固态组件,体积可以做到比世上最小的继电器和真空管还要小,这也为后来更小更便宜的计算机打下了基础。 % f" g! J6 G; \) E- a
1957年发行的IBM 608就是第一个用晶体管供电,可以在市面上买得到的计算机。它有3000个晶体管,每秒可执行4500次加法或每秒大约80次乘除法。 : ]5 p" F; L& h A- m
晶体管的诞生使计算机的应用进入办公室,并不断普及至家庭。 U; W# ]0 S8 K8 h' d& [- ?8 ~4 O
现如今,计算机里的晶体管可以做到尺寸小于50纳米,速度可以达到每秒切换数百万次,使用寿命长达几十年。
4 P( N" m8 X. ?9 d3 s, S7 B7 K4 Y我们从继电器到真空管,再到晶体管,不断让开关电路的速度变得更快,但我们又是怎么用晶体管来进行实际计算呢?我们之后再聊。
/ ~4 L% \6 d; M0 u
/ c' S1 E; C7 K' a
9 w- D" A E$ T: |/ e; T& _3 E9 `8 j7 B' y2 C" j; S" g* ] Y7 ~
; ^ `/ x& ~% ^% S' Y# [- S 注:本文为EDA365电子论坛原创文章,未经允许,不得转载 |