計算機系統004 - 硬體元件概況

SniperPan發表於2017-07-05

有一段時間沒有更新,一來最近事務繁忙,二來也重新整理了下硬體及作業系統相關知識,以便形成部分後續章節內容概要,避免凌亂。希望遲來的更新對大家依然有所幫助,同樣,如有疑慮,歡迎提出以便及時修正。

上一篇計算機系統003 - 硬體體系從問題描述的角度著手,講解了一個自然語言的問題最終如何描述為機器語言的指令以便能夠順利執行。其中提到現今最為流行的馮·諾依曼體系由五大元件組成,分別為輸入單元、記憶體單元、處理單元、控制單元和輸出單元。

本篇假設讀者對計算機只是瞭解有限,將比較細緻地概括計算機中主要單元的外觀及特性,因此溼貨較多,便於形成印象,如已有基礎,可選擇略過本篇內容。

1. 從主機板看起

日常生活中,我們能看到的計算機裝置通常如下圖所示(膝上型電腦以及平板電腦可類比)。

從外觀來看,輸入/輸出單元很直觀,但記憶體、處理以及控制單元卻無法直接看到,為了進一步瞭解相關知識,不得不掀開機箱(所謂System Unit)的蓋頭來。

雖然上圖有一些英文標識,但略作整理,也應該能大致看懂:

  • 電源和風扇(Power supply and fan & Fan)
    本系列文章的第一篇中就介紹了電學相關知識,電路交換中需要電流、電壓(電勢差)等條件。計算機硬體裝置中雖然存在電子,但要形成電流就必須藉助外界裝置,而這種裝置就是電源。

我國電壓標準是220V 50Hz交流電,而計算機裝置內部採用的是高密度積體電路等器件,不可能承受220V的高壓,因此使用前還需要降壓。降壓的原理前面也提過,兩邊的線圈本身存在一定電阻,有電阻就會產生熱能,因此需要風扇參與降溫,保證電源供電的穩定性,從而提供計算機裝置器件穩健執行的基礎。

  • 光碟驅動(Optical drive)
    一開始,電腦間並未組建網路,如需分享檔案或其他資料(如作業系統、程式等)只能手動拷貝,常見裝置為1440KB的軟盤。

慢慢地,出現了區域網,但無論網路規模還是速度都極大限制了資訊的傳播,而隨著對電腦依賴程度增加,所需分享的資料反而越來越大,好在出現了新的儲存技術CD-ROM,以及更進一步的DVD,儲存介質俗稱光碟。

而光碟機就是為了能夠讀取光碟才存在的,有了光碟機,在未接通網路或網路不佳的電腦上也能夠安裝大資料(4GB以內)的資料,但出現4GB以上軟體時,則不得不分割檔案後使用多個碟片分別儲存,讀入電腦後重新拼接。

  • 硬碟驅動(Hard disk drive)
    如上節所述,一方面有的光碟為只讀屬性,另一方面如需拷貝光碟資料後重組,則至少需要一個目標儲存器來儲存光碟中資料,這個任務就交給了硬碟

如果你要問我為什麼叫做硬碟,那可以看看下圖,從碟片的顏色應該就能知道硬碟的硬,並非浪得虛名。

  • 介面及擴充套件插槽(Connectors & Expansion slots)
    之前我們從電腦整體外觀看到有號稱為輸入輸出裝置的滑鼠、鍵盤、音響等,它們不可能恰好和機箱甚至主機板一起由一家制造,為了保證各家制造的裝置都能夠相容主機板,因此大家指定了一些介面規範。

只有遵循遊戲規則,才能找到願意一起玩耍的朋友,硬體廠商們也是一樣,誰都想壟斷市場制定標準,但誰也不可能單獨完成,因此只好各自博弈,創造出一套遊戲規則,保持正常運轉。

這些介面及擴充套件插槽主要用於支援輸入輸出裝置,鍵盤也好,滑鼠也罷,都通過各自線纜連線到介面上,開始協作。

  • 主機板(Motherboard)
    終於講到了主機板,這裡囊括了記憶體單元、控制單元以及執行單元,具體如下圖所示:


    但從圖中我們只能看到三類元件:

    • 中央處理器(CPU)
      CPU中包含了處理單元ALU和控制單元CU兩者。主要負責將結合輸入和記憶體狀態,運算得到輸出結果。


    • 記憶體(RAM)
      CPU內部實際上是一堆運算電路,只負責運算,不負責狀態維護。因此如需使得CPU能夠自動化完成一個任務,就必須首先輸入機器語言表示的任務描述,儲存到記憶體中,執行時CPU從記憶體中取出指令或資料,並將運算後所得結果輸出或儲存到記憶體另一地址中。

      這裡的RAM實際上仍然是一些積體電路,只不過這些積體電路可以儲存電路狀態從而達到儲存效果。

    • 介面(I/O & PCIe & SATA)
      這裡的介面其實就是上一小節的“介面及擴充套件插槽”,存在的目的也是為了滿足不同需求的硬體裝置,如網路介面、PCIe卡等。

2. 匯流排

現在我們對計算機內部硬體已經有了一定了解,實質上計算機完成的功能就是CPU處理RAM和介面送入的資料或指令,處理完畢後存放在RAM中或通過介面進行輸出。但有一個問題不能避開不談,那就是,CPU和RAM以及介面間是如何協作的?

從圖中可以看出,CPU和RAM以及介面間均通過匯流排Bus來協作。匯流排是為各計算機元件提供的一種資料傳送和控制邏輯的通用方式,每條線路在同一時間內都僅能負責傳輸一個位元,因此必須同時採用多條線路(並行)才能傳送更多資料,這樣之後,所有匯流排可同時傳輸的資料數稱為寬度,單位為bit。而匯流排的頻寬則為:匯流排頻寬 = 頻率x寬度(Bytes/sec)。

同時,圖中列出了3類匯流排:

  • 控制匯流排(Control Bus)
    將CPU中控制單元CU的訊號傳送到周邊裝置,一般常見的為USB Bus和1394 Bus。

  • 地址匯流排(Address Bus)
    用來指定RAM之中儲存的資料的地址。

  • 資料匯流排(Data Bus)
    在CPU和RAM之間來回傳送需要處理或儲存的資料。

這裡只是列出了抽象的概念,讓我們再進一步,看看實際的主機板上的匯流排究竟是如何連線的。

兩個新概念,北橋和南橋。整體而言,北橋連線高速內部裝置,南橋連線低速外部裝置。具體如下:

  • 北橋(NorthBridge)
    北橋通常處理在CPU、RAM、PCIe(或AGP)顯示卡及南橋間通訊,最近發展中,呈現將北橋整合進CPU中的趨勢,如AMD的Athlon 64

  • 南橋(SouthBridge)
    南橋包含大多數週邊裝置介面、多媒體控制器和通訊介面功能。如PCI控制器、ATA控制器、USB控制器、網路控制器及常見的鍵鼠等。

3. 總結

本篇主要目的是概括性介紹硬體五大元件外觀、基本原理以及協作方式,對於五大元件,後面將分別成篇進行探討,這裡只需要瞭解到,計算機本質上是負責完成計算任務,計算方式(指令)以及資料所構成的任務描述需通過輸入裝置進行輸入,也可以其他方式提前儲存到記憶體中,至於運算結果,即可選擇同樣儲存在記憶體中,也可選擇相應輸出裝置進行輸出。

相關文章