- 作者/ 布萊恩‧柯尼罕( Brian W. Kernighan)
- 譯者/ 李芳齡
電腦的大腦—處理器 (CPU)
若我們可以說電腦有大腦的話,那麼,處理器就是電腦的大腦。處理器執行算術,移動資料,控制其他元件的運作,處理器能夠執行的基本運算項目有限,但它執行得飛快,每秒數十億筆。它能夠根據前面的運算結果來決定接下來執行什麼運算,因此,它相當程度地不依賴其人類使用者。第三章將對這元件有更多的討論,因為它太重要了。
若你去一實體店或在線上購買一台電腦,你將會看到產品介紹中提及絕大多數的這些元件,且通常伴隨著神秘的首字母縮略字和同樣神秘的數字,例如一個處理器被描述為「2.2 GHz dual-core Intel Core i7」,我的一台電腦的處理器就是被如此描述的,但這究竟是什麼?這台處理器是英特爾製造的,「Core i7」是英特爾的一個處理器系列產品的名稱,這台處理器是雙核心(dual-core)處理器――把兩個處理器(兩個核心)封裝在一個積體電路上,在此例中,小寫的「core(核心)」變成「processor(處理器)」的同義詞。
一個核心就是一個處理器,但中央處理器可能有幾個核心,能夠一起運作或獨立運作,使運算執行得更快,就多數用途而言,不論有多少核心,只需把這種組合想成是「處理器」就夠了。
至於「2.2 GHz」,那就是更有趣的部分了。處理器的速度是以它每秒能執行的運算或指令或指令集來衡量的(至少是大致以此來衡量),處理器使用一個內部時鐘――就像心跳或時鐘的滴答聲――來計步其基本運算。衡量處理器速度的一個指標是每秒的滴答次數,每秒的跳動或滴答次數被稱為一赫茲(hetz,簡寫 Hz),以德國工程師海因里奇.赫茲(Heinrich Hertz)為命名,他在 1888 年發現如何產生電磁波,這直接引領出無線電及其他無線系統的誕生。
電台以百萬赫(megahertz,簡寫為 MHz,譯註:從以前到現在,台灣的電台都使用「兆赫」一詞,這是肇因於中文辭海中寫「百萬為兆」而衍生出來的誤譯詞,實際上,兆赫是 THz)來稱呼它們的廣播頻率,例如 102.3 MHz。現在的電腦通常以吉赫(gigahertz,十億赫茲,簡寫為 GHz)的速度運轉,我的電腦的處理器速度是相當普通的水準――2.2GHz 意指它每秒滴答 2,200,000,000 次。人的心跳大約是 1Hz,或是每天約 100,000 次,每年約 3,000 萬次,所以,我的電腦處理器的每個核心每秒跳動的次數是我的心臟在 70 年間跳動的次數。
這是我們首次遇上字首為 mega、giga 之類的數值,這在電腦運算領域是非常普遍的用字,「mega」是一百萬,或 106;「giga」是十億,或 109,發音為重音的「g」,如同「gig」中的發音。我們很快就會遇上更多的數值單位,本書最後附上的詞彙表中有完整的單位表。
電腦跑得快的秘密— 隨機存取記憶體 (RAM)
主記憶體儲存那些被處理器及電腦的其他部件活躍使用的資訊,它的內容可以被處理器更改。主記憶體不僅儲存處理器目前正在處理的資料,也儲存告訴處理器對那些資料做什麼處理的指令,以下這點很重要:藉由的記憶體中載入不同的指令,我們可以讓處理器執行不同的運算。這使得內儲程式電腦(stored-program computer)變成一種通用器材,同一台電腦可以跑文書處理 、 試算表 、 上網 、 收發電子郵件 、 在臉書上和朋友聯繫 、 執行我的稅務 、 播放音樂,全都只需在記憶體中置入適當的指令就行了。內儲程式的概念的重要性,再怎麼強調都不為過。
電腦正在執行工作時,主記憶體提供一個儲存資訊的地方,它儲存目前正在活動中的程式指令,例如 Word、Photoshop 或瀏覽器,它儲存它們的資料――被編輯的文件 、 螢幕上的相片 、 正在播放的音樂,也儲存在幕後運作而讓你同時跑多個應用程式的作業系統視窗,macOS、或其他作業系統的指令。第六章將探討應用程式及作業系統。
主記憶體被稱為隨機存取記憶體或 RAM,因為處理器可以快速存取儲存在它裡頭任何地方的資訊,而且,不論儲存於它裡頭的任何地方,存取的速度都一樣快;稍微過於簡化地說,以隨機順序進入記憶體的任何位址存取資訊,都不會有超速罰款。雖然,VCR 錄影帶早就成為老古董了,你可能還記得它們,當你想看一部電影的結尾時,你必須從最開頭的地方快速進帶(其實應該說是慢慢地進帶!),這稱為循序存取(sequential access)。
大多數的 RAM 是依電性記憶體(volatile memory,或譯「易失性記憶體」),亦即若關閉電源,它的內容就消失了,你將突然間失去當下執行中的所有資訊,所以,你應該經常儲存你正在執行中的工作,尤其是在使用桌上型電腦時,絆到電源線而導致關閉電源,可能發生慘劇。
你的電腦有固定量的主記憶體,其容量的衡量單位是位元組,一個位元組的記憶體量大到足以容納一個字符如 W 或 @,或是一個小數字如 42,或一個較大數值的一部分。第二章將說明在記憶體及電腦的其他部件中如何表述資訊,因為這是電腦運算的基本課題之一。現下,你可以把記憶體想成一個由許多相同的小盒子組成的一個大集成體,小盒子的數量上達幾十億個,每個小盒子能容納一小量的資訊。
什麼是容量?我現在使用的筆記型電腦有 80 億個位元組,或 8 個吉位元組(gigabyte,簡寫為 GB)的主記憶體,這容量可能太小了,因為愈多的記憶體通常能轉化為更快的電腦運算,對於所有想同時使用主記憶體的程式來說,容量永遠嫌不足,而且,把一個不活動的程式的某些部分移出,騰出空間給別的程式,這需要花些時間。若你想要讓你的電腦運轉得更快,最佳策略可能是購買更多的 RAM――前提是,你的電腦的記憶體可以升級的話,有些電腦的記憶體是不能升級的。
——本文摘自《普林斯頓最熱門的電腦通識課》,2022 年 2 月,商業周刊。