來源:博觀科技日期:2020-11-04 11:03:55
2020 這一年的大部分時間,都有是新聞和悲慘事件在無情地打擊著我們,讓人感覺無法繼續。但大部分人還是堅持了下來,而我們做到這一點的方式是使用我們隨時隨身攜帶的小型手持式計算機。目前,我們仍然將這種設備稱為「phone(電話)」,這其實是一種簡化得可笑的名稱。
幸運的是,在我們這些不斷刷壞新聞的人的眼前,有一個振奮人心的故事:用來刷這些新聞的手機,以及我們相當多的數字活動都發生在同一種裝置上,即 ARM 系列 CPU。隨著蘋果公司推出基于全新 M1 CPU(ARM 架構處理器)的 Mac 系列產品并廣受好評,現在是時候談談這些已然控制世界的芯片的來源了。
如果你正在寫一部基于現實故事的劇本,由于某某原因,你必須說明大多數手機、游戲機、ATM 和無數其它設備中最常用的中央處理器是什么,而你必須從當前的主要生產商(比如英特爾)中選擇一個。在你描繪的世界中書寫這類事物是合理且適宜的,因為人們能夠理解。如果某個行業巨頭已經確立市場主導地位,那么將其寫入故事就不會讓看故事的人感到怪異或生疏。
但是,如果你決定將這些 CPU 都歸功于一家幾乎不為人知的公司,而且這家公司還位于一個通常不被認為是高科技創新全球領導者的國家?而如果這類 CPU 的存在至少間接上要歸功于一檔教育類電視節目呢?如果你寫出了這樣的劇本,制片人有可能讓你將劇本回爐重造:認真點,好不好?
然而在某種程度上講,事實就是如此。
故事要從一檔電視節目講起
ARM 處理器控制著全世界超過 1300 億臺設備。如果沒有它,就沒有如今的現代生活。但是,ARM 處理器的起源故事卻相當古怪。在其發展旅程中,充滿了看似糟糕的運氣轉而變成了關鍵機遇的事件;其出人意料的技術優勢在某些設備上一開始的應用卻遭遇慘敗,而最終被證明是至關重要的。
但是,讓這一切變化起來的卻是一檔電視節目——BBC 在 1982 年播出的《計算機程序(The Computer Programme)》。這是 BBC 的一檔科普節目,旨在告知當時的英國人這些花哨的新式機器究竟是什么,那時候的個人電腦看起來就像是連接著電視機的蹩腳打字機。
這檔節目是英國政府和 BBC 共同發起的「計算機素養項目(Computer Literacy Project)」的一部分,它們擔心英國對當時正在美國發生的個人計算革命毫無警覺和準備。不同于大多數電視節目,BBC 希望在節目中配備一臺計算機,該計算機將用于解釋基本的計算概念并教授一些 BASIC 編程。這些計算概念包括圖形和聲音、連接到圖文網絡的能力、語音合成乃至一些基礎的人工智能。也因此,該節目所需的計算機必須相當好才行,以致于市面上根本就沒有能實現 BBC 的愿望的產品,無法滿足制片人的要求。
因此,BBC 向英國計算機產業界發出了呼吁。當時主導英國計算機產業的公司是 Sinclair——一家靠計算器和小型電視機發家的公司。但最終,一家更小卻雄心勃勃的初創公司獲得了這份利潤豐富的合同:Acorn Computers.
Acorn 的發展
Acorn 是一家位于劍橋的公司,在開發了原本是為運行水果機(fruit machine)的計算機系統后創立于 1979 年。水果機在美國稱為 slot machine,即老虎機 / 賭博機。之后,Acorn 將這款計算機系統變成了一款小型的愛好者計算機系統,其使用了 6502 個處理器。這個 CPU 與 Apple II、Atari 2600、Commodore 64 等許多計算機系統所用的 CPU 屬于同一 CPU 系列(這種 CPU 設計將會變得很重要,所以請不要忘記它。
Acorn 當時已經開發了一款家用計算機 Atom,當 BBC 伸出橄欖枝時,他們開始計劃開發 Atom 的后續版本,也就是后來名為 BBC Micro 的產品。
BBC 的要求讓所得到的機器成為那個時代頗為強大的機器,但其實并沒有 Acorn 原本的 Atom 后繼版設計那么強大。原本的 Atom 后繼版會有兩個 CPU:一個已經過檢驗的 6502 和一個尚待決定的 16 位 CPU。
Acorn 后來放棄了那款 CPU,但保留了一個名為 Tube 的接口系統,這讓機器可以連接更多額外的 CPU(后來也變得很重要)。
BBC Micro 的工程開發著實推進了 Acorn 的極限能力,因為那是那個時代相當前沿的計算機。這其中涉及到一些非常出彩的設計決策——這些決策雖然當時還不成熟,但已經可行了,比如使用一個電阻器組讓工程師必須將自己的手指重新放到主板上對應的位置上才能讓機器開始工作。
當時沒人知道為什么只有當一根手指放到主板上的某個特定點時機器才會工作,但當他們想辦法實現用電阻器模仿手指觸碰后,他們很滿意機器能夠工作,然后繼續在其上研發。
事實證明,BBC Micro 是 Acorn 取得的一大成功,這款產品成了 1980 年代英國主要的教育用計算機。
讀到這里的人可能都知道,在計算歷史上,1980 年代是一段非常重要的時期。IBM 的 PC 于 1981 年推出,為后來幾十年的個人計算設定了標準。1983 年,蘋果公司推出了 Mac 時代前的產品 Apple Lisa。至此,窗口 - 圖標 - 鼠標式的圖形用戶界面主宰個人計算的革命開始了。
Acorn 看到了這些進展并且意識到如果他們希望保持競爭力,他們需要比可靠但逐漸過時的 6502 更強大的處理器來驅動未來的計算機。Acorn 實驗了大量 16 位 CPU:6502 的 16 位變體版本 65816、Apple Macintosh 使用的 Motorola 68000、相對罕見的 National Semiconductor 32016。
它們都不能滿足 Acorn 的要求,因此 Acorn 聯系了英特爾,看能否將 Intel 80286 CPU 實現到他們的新架構中。英特爾完全沒有搭理他們。
RISC 相關業務
此處劇透一下:事實將證明這對英特爾來說是一個非常糟糕的決定。
Acorn 后來做出了改變命運的決定:設計自己的 CPU。受 Western Design Center(該公司當時正在開發 6502 的新版本)的精益運營(lean operation)模式的啟發,且研究了一類名為精簡指令集計算(RISC)的新型處理器設計概念后,Acorn 決定采取行動,工程師 Steve Furber 和 Sophie Wilson 是這一項目的核心成員。
現在,RISC 處理器相對應的是復雜指令集計算(CISC 處理器)。下面非常簡單地解釋一下這兩個概念究竟是什么意思:
CPU 都有一組可以執行的運算——它們的指令集。CISC CPU 的指令集非常龐大和復雜,讓它們能在 CPU 的多個「時鐘周期」內執行復雜的任務。這意味著其復雜性實際上被內置到了芯片硬件本身之中,這就意味著軟件代碼可以簡單一點。因此,CISC 機器的代碼可以減少指令數量,但這種 CPU 用來執行這些指令的周期數量會增大。
你可能已經猜到,RISC 則相反:芯片本身的指令和硬件更少,而且每個指令都可以在單個時鐘周期內執行完畢。由此造成的結果是代碼更長,因此看起來似乎效率更低,這又意味著需要更大的內存,但芯片本身卻更簡單了,因此能更快地執行簡單的指令。
Acorn 非常適合設計一款 RISC CPU,因為他們之前最熟悉的芯片 6502 就常被認為是 RISC 的一種原型設計。互聯網上對此有很多看法(不可避免的),這里也無意與任何人爭辯,但至少可以說 6502 有類似 RISC 的一些特質。
這款新芯片是如此的 RISC,可以說 Sophie Wilson 在為 Acorn 的新處理器設計指令集時,顯然受到了 6502 的多項設計概念的直接啟發。
《Archimedes 高性能計算機系統》手冊封面
使用 BBC Micro 的 Tube 接口作為測試平臺,Acorn 將基于 RISC 開發的新型 CPU 稱為 Acorn RISC Machine,簡稱 ARM。Acorn 的芯片生產供應商 VLSI 開始為 Acorn 的內部研發生產 ARM CPU。不久之后,生產可用的 ARM2 版本研發成功。
1987 年,第一款基于 RISC 的生產級個人電腦 Acorn Archimedes 問世,其使用的正是 ARM2 CPU。事實證明,盡管這款 ARM 處理器的晶體管數量比英特爾的 286 芯片少 245 000 個,但卻具有更優的性能。
事實表明,Archimedes 搭配其 ROM 中的 Arthur OS,造就了一款靈活、高速和強大的機器。它配備有那個時代優良的圖形顯示、一個圖形用戶接口以及一些炫酷快速的低多邊形演示和游戲——這是為了展現這臺機器的速度,而這速度又要歸功于其精簡的 CPU。
這第一款基于 ARM 的計算機宣稱是那個時代最快的個人電腦,其性能表現超過英特爾的 80286 好幾倍。
「少」即是「多」
ARM 更少的晶體管就能說明 ARM 本身相對簡單的特性,也因此,在同等計算性能條件下,ARM 芯片的功耗要低得多,發熱量也小得多。
ARM 的低功耗和低發熱特性并不在初始的設計規劃中,因為 Acorn 的目標是為桌面計算機設計 CPU,但事實將會證明:這些特性是計算史中最幸運和最有益的副產品。
這種低功耗和低發熱的特性使得 ARM 成為了移動設備的天然選擇。正是因為這樣的原因,蘋果公司在 1980 年代末開始尋找一種足夠強大、同時又能用 AA 電池驅動且不會把手燒痛的 CPU。蘋果公司希望這款 CPU 能強大到可把手寫文本轉譯成計算機文本并還能運行 GPU,這在當時有點異想天開。蘋果希望驅動的手持式設備是臭名昭著的 Newton,而只有快速和精簡的 ARM 核能夠驅動它。
蘋果和 Acorn 的芯片合作商 VLSI 與 Acorn 一起合作,將 ARM 部門拆分出去建立了一家名為 Advanced RISC Machines 的新公司,這讓 ARM 這個簡寫形式保留了下來。在這一聯盟下,加上蘋果公司可觀的資源注入,ARM 開發出了 ARM6 核以及基于該核的首款生產級芯片 ARM610 CPU。這款芯片的 20 MHz 版本成了驅動 1993 年的 Apple Newton 的處理器。
雖然 Newton 壯烈慘敗,但事后來看,這款產品的意味卻要深遠得多:由 ARM CPU 驅動的手持式電池驅動型觸屏設備。現在,全世界數十億臺智能手機都符合這一描述。而在大多數人的印象中,其第一次現場測試是在《辛普森一家》的劇集中,其中 Newton 將手寫的「Beat up Martin」識別成了「Eat up Martha」。
《辛普森一家》中描繪的 Apple Newton
ARM610 后來繼續驅動著新一代 Acorn Archimedes 計算機和一款基于 Newton 的怪異筆記本電腦 eMate。2001 年,ARM7 內核的 CPU 被用在了蘋果的 iPod 和任天堂的 Game Boy Advance 中。2004 年任天堂推出的雙屏游戲機 Nintendo DS 使用了兩個 ARM 處理器。
然后到了 2007 年,蘋果推出了第一代 iPhone,其處理器為 ARM11 內核的 CPU。自那以后,ARM 開始大肆擴張。
ARM CPU 變成了智能手機的默認選擇——不管是蘋果手機還是其它公司的產品。不管是臺式機還是筆記本還是服務器,只要使用的不是英特爾芯片,那么就必然使用了 ARM CPU。現在,有了 ARM Chromebook 和蘋果的 MacOS 新款 ARM 臺式機和筆記本,ARM 似乎最終又回到了自己的起點——桌面計算機。
多年以后,ARM 的起源故事仍然值得講述,因為它是由一系列不可能、奇怪、毫無規劃的事件串聯而成的,而且還涉及到看似不可能的來源。盡管 ARM 無疑已經主導了今天的世界,但比英特爾 / AMD 那種帶給人的行業巨獸般的感覺,ARM 微末的開端使其看起來就像是一個毫無感覺的龐然大物。
花點時間回頭思考一下:
因為英國人覺得自己在計算機革命中落后了,于是他們決定制作有關計算機的電視節目。為了做這個節目,他們需要一臺計算機,因此一家英國小公司設計了一種很好的計算機。而當這家小公司需要制造更快的 CPU 時,由于英特爾不愿意搭理他們,所以他們做出了自己的 CPU。這種內部設計的 CPU 剛好又低功耗且發熱少,于是得到了蘋果公司的注意,然后將其用在了大多數人認為是蘋果的最大失敗的產品中。當然,自那以后,這家公司開始走向占領世界之路。
如果這是我編的,你會說我設計的橋段過于古怪或實在太多了,就像是韋斯 · 安德森(Wes Anderson)導演的電影。但這其實是現實故事。
但是,如果現實是一場模擬,我敢打賭那也是由 ARM 驅動的。
信息保護中 請放心填寫
* 為了您的權益,您的一切信息將被嚴格保密