- 計算機系統解密:從理解計算機到編寫高效代碼
- (美)喬納森·E.斯坦哈特
- 2374字
- 2021-09-27 16:57:00
2.2 電學的簡單入門
現代計算機的功能是通過電子電路運行實現的。與使用其他目前的技術相比,使用電子電路將使計算機運算的速度更快而且更容易。本節將幫助你學習足夠的電學知識,進而了解電學是如何在計算機硬件中發揮作用的。
2.2.1 用管道理解電
電是不可見的,讓人很難想象它的樣子,所以我們把它想象成水。像水來自水箱,電來自電池之類的電源。電池會耗盡電能,需要充電,就像水箱沒水了需要加水一樣。太陽是我們唯一的主要能量來源,在水箱里有水的情況下,太陽的熱量導致水蒸發,蒸發的水蒸氣又變成雨水補充了水箱。
我們從圖2-8這樣一個簡單的水閥開始介紹。

圖2-8 水閥
可以看到,圖中有一個打開和關閉閥門的手柄。圖2-9是一個現實生活中的閘閥,閘閥這個名字來自通過手柄控制打開和關閉的閥門。當閥門打開時,水可以從裝置中流過。假設0代表關閉,1代表打開。

圖2-9 閘閥開關
我們可以用兩個閥門和一些管道來說明AND運算,如圖2-10所示。

圖2-10 AND運算的管道表示
可以看到,只有當兩個閥門都打開(相當于都等于1)時,水才會流入,這就是第1章中AND運算的定義。當一個閥門的輸出與另一個閥門的輸入互相連接時,稱為串聯,如圖2-10所示,它實現了AND運算。圖2-11所示的叫作并聯,是將兩個閥門的輸入和輸出分別連接形成的,它實現了OR運算。

圖2-11 OR運算的管道表示
就像水流過管道需要時間一樣,電流通過計算機芯片也需要時間。你很有可能經歷過這種延遲:轉動水龍頭后,需要在淋浴間等待水變熱。這種效應稱為傳播延遲,稍后我們會介紹它。延遲值不是一個固定的常數,對于水來說,溫度會導致管道膨脹或收縮,從而改變水的流速,進而改變延遲時間。
電流會流過導線,就像水會流過管道一樣。電流是一種電子流。導線由兩部分組成:金屬和覆蓋物。內部的金屬就像水管內的空間,是導體;外面的覆蓋物就像水管本身,是絕緣體。閥門可以控制內部流體流動和阻斷。在電的世界中,閥門被稱為開關。管道和電路是如此的相似,以至于一種被淘汰的名為真空管的設備也被稱為熱陰極電子管。
水不只是被動地流過水管,它受到了強度可變的壓力的推動。在電學上,水壓等價于電壓(V),以伏特(V)為單位,該單位以意大利物理學家Alessandro Volta(1745—1827)的名字命名。流動量稱為電流(I),以安培(A)為單位,該單位以法國數學家André-Marie Ampère(1775—1836)的名字命名。
水可以通過寬管道,也可以通過窄管道,但越窄的管道阻力越大,限制了水的流量。即使電壓(水壓)很大,如果使用太細的導體(管道),也會產生很大的阻力,無法獲得很大的電流(流量)。電阻(R)的測量單位是歐姆(Ω),以德國數學家、物理學家Georg Simon Ohm(1789—1854)的名字命名。
這三個變量——電壓、電流和電阻——都與歐姆定律有關,即I=V/R。所以,就像水管一樣,電阻越大,電流越小。電阻會將電能轉化為熱能,這就是烤面包機到電熱毯等一切發熱電器的工作原理。圖2-12說明了電阻使電壓難以產生電流的原理。

圖2-12 歐姆定律
為了理解簡單,可以把歐姆定律比作用吸管吸奶昔。
2.2.2 電源開關
只需插入或取下導體之間的絕緣體就可以實現電源的開關。想一想電燈開關,它們包含兩塊金屬,這兩塊金屬要么相互接觸,要么被操控開關的把手分開。空氣是一種相當好的絕緣體,當兩塊金屬不接觸時,就不能產生電流。(注意,之所以說空氣是一個“相當好”的絕緣體,而不是“完美”的絕緣體,是因為在足夠高的電壓下,空氣可以電離并變成導體,比如閃電。)
建筑物的管道系統可以在設計圖中展示出來。稱為電路的電氣系統用原理圖記錄,其中的每一個元件都使用符號表示。圖2-13展示的是簡單開關的符號。

圖2-13 單極單擲開關原理圖
這種開關就像吊橋一樣,當圖上的箭頭(橋)抬起時,電流(車)就不能從一邊傳輸到另一邊。看圖2-14所示的老式刀形開關就很容易弄清楚了,這種開關經常出現在低端的科幻電影中。刀形開關仍然被應用于斷電盒之類的東西,但現在它們通常放置在防護容器內,以防灼傷使用者。

圖2-14 單極單擲刀形開關
圖2-13和圖2-14都展示了單極單擲(Single-Pole, Single-Throw, SPST)開關。極是指連接在一起可以一致移動的幾個開關。前面提到的水閥是單極的,我們可以通過在一對閥門的手柄之間焊接一根桿來做一個雙極閥,于是當你移動桿時,兩個閥會一起移動。開關和閥可以有任意數量的極。單擲的意思是只有一個接觸點,它可以打開或關閉某物,但不能打開一個的同時關閉另一個。要做到這點,需要一個單極雙擲(Single-Pole, Double-Throw, SPDT)開關。圖2-15為這種裝置的符號。

圖2-15 單極雙擲開關原理圖
單極雙擲開關像鐵路岔道,指引列車走這個鐵軌或另一個鐵軌,也像圖2-16展示的分裂成兩個管道的管道。

圖2-16 單極雙擲水閥
如你所見,當手柄被往下推時,水經由上閥流走。如果手柄被推上去,水會流經下閥。
可以對開關術語擴展以描述任何數量的極和擲。例如圖2-17所示的雙極雙擲(DPDT)開關,虛線表示兩極聯動,也就是說它們會一起移動。圖2-18展示了現實生活中的雙極雙擲刀形開關。

圖2-17 雙極雙擲開關原理圖

圖2-18 雙極雙擲刀形開關
剛才沒有考慮的一些關于供水系統的細節是,如果水流沒有去處,供水系統就不能正常工作。如果排水管被堵住,水就不能流進水管,必須有讓水從排水管流回到水箱的辦法,否則排供水系統的水流將枯竭。
電氣系統也是如此。電流從電源流出,通過元件并返回電源。這就是為什么電氣系統被稱為電路。也可以這樣想:在操場上跑步需要跑回起跑線,然后再開始跑下一圈。
請看圖2-19中的簡單電路。它引入了兩個新的符號,一個是電源符號(左邊),一個是燈泡符號(右邊)。如果你建造了這樣的電路,你可以通過開關控制燈泡開閉。

圖2-19 一個簡單的開關電路
當開關打開時,電路中沒有電流。當開關閉合時,電流從電源流經開關,通過燈泡再回到電源。串聯和并聯開關的工作原理類似水閥。
現在已經介紹了一些電學知識和一些基本的電路元素,雖然它們可以用來實現一些簡單的邏輯功能,但這些知識本身并沒有強大到可以實現很多功能。下一節將介紹另外一種設備,它使早期使用電力驅動的計算機成為可能。
- Mastering Concurrency Programming with Java 8
- Expert C++
- jQuery Mobile Web Development Essentials(Third Edition)
- Learning ArcGIS Pro 2
- Interactive Data Visualization with Python
- Designing Hyper-V Solutions
- Java游戲服務器架構實戰
- Java深入解析:透析Java本質的36個話題
- R的極客理想:工具篇
- Getting Started with Laravel 4
- Getting Started with Hazelcast(Second Edition)
- Visual C++開發入行真功夫
- Building Wireless Sensor Networks Using Arduino
- 移動互聯網軟件開發實驗指導
- JavaScript應用開發實踐指南