我對蓋頓教授之折服與敬佩,當然與棒球無關。

首先,蓋頓教授的教學方式十分特別,他在上每科目之第一節課時,不但指定好主教科書與數本副教科書(加上其它參考資料),就連哪一堂課該在哪一天上(精確之日期),課前該讀哪幾本書的哪幾頁(頁數也已指明),何時要交研究報告及各階段之考試等,絲毫不茍地列出一個表,就像日後我就業擔任工程師時,列工作進度表一般,一旦規劃好後,嚴格地照表實施。

其次,在課堂裏,蓋頓教授會事先指派電研所的研究生(輪流)上台「授課」,他通常是以「旁聽者」的身份全程參與討論細節,不時指正我們錯謬之餘,還會隨時點一位研究生(如果你膽敢在課堂上打瞌睡)上台,講述自己對指定研讀的那幾頁之心得。所以大夥兒都心照不宣,你若只是想來電研所「混」個學歷,就千萬別選蓋頓教授的課,保證你「混」不下去的。

呃,他是我的指導教授,我不得不選滿所有他開的課程,所以當時得戰戰兢兢地適應我以前從沒有經歷過、但實質上得益良多的教學方式。日後得知,蓋頓教授在返回母校密州大教書之前,曾在航太工業界服務多年,所以才會這樣地一絲不茍,將每一堂課都當成工程計劃一樣在執行。

還有,在他的課堂上,所有的考試全是Open book,對學生要求的是「理解力」與「創作力」,而非「記憶力」。唉,我先前在台灣受教育的十六年中,就沒有哪一堂考試是Open book的。不過這或許因為我在密州大是電研所的研究生,教學方式有所不同罷。特此聲明,我無意批判台灣各大學的教育系統與方式,更何況我從沒有讀過台灣的電研所。

我相信蓋頓教授傳授知識的方式絕非獨一無二,只是對了我的「胃口」,讓我從此再也不需要浪費時間去背誦課本,死記方程式,腦力得以沒有拘束地盡情發揮。

一九七零年跟隨蓋頓教授做研究時,「電腦微型化」也正值「百家爭鳴」期,我曾被他導入「可自行修正瑕疵 」的電腦硬體設計(Fault Tolerant Computing)之領域,嚴格說來,也算是「0與1」邏輯設計之延伸,但由於內容太過複雜,而且其應用之範圍,主要是在強調「可靠且耐用」的航太工業產品上,其內涵絕對超出本文討論範圍,就此略過。

「數碼」與「類比」電路之 相輔相成

前段講了一籮筐的「數碼電路」,那麼電機工程裏較「傳統」的「類比﹝Analog﹞電路」又到那兒去啦?

「類比電路」當然還活得好好的,其實在「數碼革命」中,它與「數碼電路」是相輔相成的一對兄弟。類比電路也在積體電路興起時被「縮形」,廣泛地應用在一般電子產品中。「數碼設計」只是簡化了「電子控制」之程序,在實際操作上,還需要靠「類比」電路與外界「打交道」。若是遇到更大功率的電子機械(例如運作機械手臂之馬達等)時,還非得靠高功率,且耐熱的半導體(非積體電路)來運作才行。

前段提到的恩師蓋頓教授,就曾是一位傑出的「類比設計」工程師,更是將類比電腦(Analog Computer)應用在飛航控制上的第一位美國航電工程師,那架飛機的型號是B-58,一款上世紀六十年代初期的倍音速核彈轟炸機。由於它是「大斜度三角翼」的高速飛行器,飛行員操縱起來有相當的難度,必須用類比電腦來「幫忙」駕馭。日後我曾親耳聽過一些航電工業界人士對蓋頓教授之佳評,他本人也有不少的軼事流傳下來,以後有機會再寫吧!

或許你會問我,為甚麼當時的飛航控制是用類比電腦,而不是像現在一樣,用簡單的「0與1」數碼電腦呢?答案極其簡單,數碼電腦在五、六十年代時,尚未解決中心處理器(CPU)與記憶體(RAM)微型化以及「散熱」之問題。看倌之中可能有像我一樣,在六十年代時曾是數碼電腦的使用或應用者,所以一定還大致記得,那些設於大學「計算機中心」的電腦系統如 IBM360等,都是龐然大物不說,更因主機之記憶體,也就是王安博士發明的磁芯記憶體(Core Memory),其散熱問題尚未妥善解決,需要將電腦中心之室溫大幅降低,溫度低到裏面的工作人員必須得穿上「夾克」以「禦寒」的地步,哪兒能將其搬上空間與載重都有限制的飛機上呢?

由這段往事,你也可以清楚看到,數碼電腦之「進化」程度有多讓人吃驚,現在市面上訂價四百多美元的「低階」個人電腦,其運算速度就要比六十年代的IBM360等大型電腦要快上至少好幾千倍。其數據容量就更驚人啦,比當年足足要多幾千萬倍都不止!「0與1」的高速發展,把這時代巨輪推得飛快,看得我這才退休不久的電子工程師都眼花撩亂呢!

「數碼」與「類比」電路之互動方式,已進入了我們日常生活中的各個角落,多得簡直是不勝枚舉,智慧型的交通號誌上就是個簡單的例子。比方說,在一個交通流量比較大的街口,屬於類比(Analog)的偵測器,可以探測到「轉彎道」上是否停著車子,而將信息轉換成數碼(Digital)的方式,通知交通控制器,以決定是否要給你一個轉彎燈號。

在各商店前的自動門,其運作原理也是典型的「數碼」與「類比」電路互動。當門前的感應器(Motion Sensor)偵測到移動之形體時,就會以1(開)或是0(關)的方式完成一個簡便的「自動化」指令,節省人力之餘,還增加了客流量,店東與顧客皆大歡喜。

瘟疫流行時,在機場裏自動測你體溫的儀器,也是將紅外線測出之「類比」體溫,轉換成「數碼」之後,讓電腦去決定你是否有可能「帶菌」。如今,連你護照與駕駛執照上的個人資料,也是以「數碼化」方式,直接儲存在上面,加速機場檢驗與通關過程之際,也讓罪犯難以輕易遁形。

在這「自動化」的環境中,「幕後」的操舵方式,全是那些「0」與「1」之組合,你肉眼雖然看不見,但它幾乎是無所不在的。

淺談微處理器 對 「數碼工業革命」之貢獻

全世界第一個商用級的微處理器英特爾 4004,現在已經是有少許收藏價值的古董啦。(作者提供)
全世界第一個商用級的微處理器英特爾 4004,現在已經是有少許收藏價值的古董啦。(作者提供)

提到「數碼工業革命」,就不得不提到微處理器(Microprocessor)啦,全世界微處理器的「老祖宗」,是一九七一年問世的英特爾微處理器(Intel 4004),一個現在看起來非常「原始」的電子產品,規格上也只有四位元(4-bit)而已。不過在實際運用上,它卻是個不折不扣的五位元微處理器,是通常以「偶數」為計算單位的微處理器中之唯一例外。

如果你還沒有忘記我之前對「二進位」數字的簡介,四位元所代表的是0到15的十六個數字(2的4次方),五位元則是0到31的三十二個數字(2的5次方),而標明為四位元微處理器的Intel 4004居然有一個讓我們這些「邏輯工程師」可以「運用」的「進位元」,也就是數學上的Carry Bit,自然而然地成為五位元微處理器。我當年曾數度將它應用在「生產線自動化」的操作上,它最多可以掌控三十二個「運作頻道」。

您看,一個「二進位」五位元Intel 4004微處理器(相當於控制線路中的五條線),就可以取代「十進位」中的三十二(2之5次方)條線路。依此類推,一個「二進位」八位元微處理器,就可以管控「十進位」中的二百五十八(2之8次方)條線路,而且線路愈多,更能彰顯出用「二進位」去控制的優越性。這也就是為甚麼在「數碼工業革命」中,傳統的「十進位」被「二進位」取代之關鍵原因。

如今幾乎你所有的家庭電器,從洗衣機、洗碗機、雪櫃、冷暖氣、電視機、智能型吸塵器、防盜系統等,到日常不可或缺的手機與電腦,幾乎沒有一項不是以「二進位」微處理器為基礎而設計出來的。

不過使用微處理器做線路設計時,我們硬體工程師們還得用上各微處理器專屬,類似「軟體」的「機械語言」Machine Codes(最基本之低階軟體),作為控制操作之工具。在「軟體」、「硬體」兼施之下,硬體工程師們實際上成了兼職的軟體設計師,但仍然脫不了「0」與「1」之組合。其過程較專業且繁複,就此略過罷。

Intel 4004早已是電子工業之古董級微處理器,我在這兒只是把它「拖」出來「講古」而已,現階段的微處理器(或是CPU),比起當年Intel 4004之運作能力,超出何止億萬倍。(未完,下周一續)◇