本節書摘來自異步社群《鳥哥的linux 私房菜 基礎學習篇(第三版)》一書中的第0章,第0.1節,作者:鳥哥著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
這幾年鳥哥開始在大學任教了,在教學的經驗中發現,由于對linux有興趣的朋友很多可能并非是計算機專業出身,是以對于計算機硬體及計算機方面的概念不熟。然而作業系統跟硬體有相當程度的關聯性,是以如果不了解一下計算機概論,要很快地了解linux的概念是有點難度的。是以,鳥哥就自作聰明地新增了一小章來談談計算機概論!因為鳥哥也不是相關學科出身,是以寫得不好的地方還請大家多多指教。
鳥哥的linux 私房菜 基礎學習篇(第三版)
進入21世紀,沒有用過計算機的朋友應該算很少了吧?但是,你了解計算機是什麼嗎?計算機的機殼裡面含有什麼元件?不同的計算機可以作什麼事情?你生活周圍都有哪些電器用品内部是含有計算機相關元件的?下面我們就來介紹一下吧!
計算機其實是:接收使用者輸入指令與資料,經過中央處理器的資料與邏輯單元運算處理後,以産生或存儲成有用的資訊。是以,隻要有輸入裝置(不管是鍵盤還是觸摸式螢幕)及輸出裝置(螢幕或直接列印出來),讓你可以輸入資料使該機器産生資訊的,那就是一台計算機了,如圖0-1所示。

根據這個定義你知道哪些東西是計算機了嗎?包括一般商店用的簡易型加減乘除計算機、打電話用的手機、開車用的衛星定位系統(gps)、提款用的提款機(atm)、你常使用的桌面型計算機、可攜帶的筆記本電腦,還有近年來很紅火的eee pc(或稱為netbook、上網本)等,這些都是計算機!
那麼計算機主要的組成部件是什麼呢?下面我們以常見的個人計算機來作說明。
0.1.1 計算機硬體的五大單元
關于計算機的組成部分,其實你可以觀察你的桌面型計算機分析一下,依外觀來說,計算機主要分為三部分。
◆ 輸入單元:包括鍵盤、滑鼠、卡片閱讀機、掃描器、手寫闆、觸摸螢幕等。
◆ 中央處理器(cpu):含有算術邏輯、控制、記憶等單元。
◆ 輸出單元:例如螢幕、列印機等。
我們主要通過輸入裝置(如滑鼠與鍵盤)來将一些資料輸入到主機裡面,然後再由主機的功能處理成為圖表或文章等資訊後,将結果傳輸到輸出裝置,如螢幕或列印機上面。重點在于主機,裡面含有什麼元件呢?如果你曾經拆開過計算機機箱,會發現其實主機裡面最重要的就是一塊主機闆,上面安插了中央處理器(cpu)以及記憶體,還有一些适配卡而已。
整台主機的重點在于中央處理器(central processing unit, cpu),cpu為一個具有特定功能的晶片,裡頭含有微指令集,如果你想要讓主機進行什麼特異的功能,就得要參考cpu是否有相關内置的微指令集才可以。由于cpu的工作主要在于管理與運算,是以在cpu内又可分為兩個主要的單元,分别是算術邏輯單元與控制單元 (注1)。其中算術邏輯單元主要負責程式運算與邏輯判斷,控制單元則主要協調各元件與各單元間的工作。
既然cpu的重點是進行運算與判斷,那麼要被運算與判斷的資料是從哪裡來的?cpu讀取的資料都是從記憶體讀取來的。記憶體内的資料則是從輸入單元傳輸進來的。而cpu處理完畢的資料也必須要先寫回記憶體中,最後資料才從記憶體傳輸到輸出單元。
綜合上面所說的,我們會知道其實計算機是由幾個單元所組成的,包括輸入單元、輸出單元、cpu内部的控制單元、算術邏輯單元與記憶體五大部分。相關性如圖0-2所示。
圖0-2中的系統單元其實指的就是計算機主機内的主要元件,而重點在于cpu與記憶體。特别要看的是實線部分的傳輸方向,基本上資料都是流經過記憶體再轉出去。至于資料會流進/流出記憶體,則是cpu所釋出的控制指令。而cpu實際要處理的資料則完全來自于記憶體,這是個很重要的概念。
而由上面的圖示我們也能知道,所有的單元都是由cpu内部的控制單元來負責協調的,是以cpu是整個計算機系統的最重要部分。那麼目前世界上有哪些主流的cpu呢?是否剛剛我們談到的硬體内全部都是相同的cpu種類呢?下面我們就來談一談。
0.1.2 cpu的種類
如前面說過的,其實cpu内部已經含有一些小指令集,我們所使用的軟體都要經過cpu内部的微指令集來完成才行。這些指令集的設計主要又被分為兩種設計理念,這就是目前世界上常見到的兩種主要cpu種類,分别是精簡指令集(risc)與複雜指令集(cisc)系統。下面我們就來談談這兩種不同cpu種類的差別。
◆ 精簡指令集(reduced instruction set computing, risc)(注2)
● 這種cpu的設計中,微指令集較為精簡,每個指令的執行時間都很短,完成的操作也很單純,指令的執行性能較佳;但是若要做複雜的事情,就要由多個指令來完成。常見的risc微指令集cpu主要有sun公司的sparc系列、ibm公司的power architecture(包括powerpc)系列與arm系列等。
● 在應用方面,sparc架構的計算機常用于學術領域的大型工作站中,包括銀行金融體系的主要伺服器也都有這類的計算機架構;至于powerpc架構的應用上,例如sony公司出産的play station 3(ps3)就是使用powerpc架構的cell處理器;那arm呢?你常使用的各品牌手機、pda、導航系統、網絡裝置(交換機、路由器)等,幾乎都是使用arm架構的cpu。老實說,目前世界上使用範圍最廣的cpu可能就是arm呢(注3) !
◆ 複雜指令集(complex instruction set computer, cisc)(注4)
● 與risc不同的,在cisc的微指令集中,每個小指令可以執行一些較低階的硬體操作,指令數目多而且複雜,每條指令的長度并不相同。因為指令執行較為複雜,是以每條指令花費的時間較長,但每條個别指令可以處理的工作較為豐富。常見的cisc微指令集cpu主要有amd、intel、via等x86架構的cpu。
● 由于amd、intel、via所開發出來的x86架構cpu被大量使用于個人計算機(personal computer)用途上面,是以,個人計算機常被稱為x86架構的計算機。那為何稱為x86架構(注5)呢?這是因為最早的那個intel發展出來的cpu代号稱為8086,後來依此架構又開發出80286, 80386等,是以這種架構的cpu就被稱為x86架構了。
● 在2003年以前由intel所開發的x86架構cpu由8位更新到16、32位,後來amd依此架構修改新一代的cpu為64位,為了差別兩者的不同,是以64位的個人計算機cpu又被統稱為x86_64的架構!
● 那麼不同的x86架構的cpu有什麼差別呢?除了cpu的整體結構(如第二層緩存、每次運作可執行的指令數等)之外,主要是在于微指令集的不同。新的x86的cpu大多含有很先進的微指令集,這些微指令集可以加速多媒體程式的運作,也能夠加強虛拟化的性能,而且某些微指令集更能夠增加能源效率,讓cpu耗電量降低。由于電費越來越高,購買計算機時,除了整體的性能之外,節能省電的cpu特色也可以考慮。
例題
最新的intel/amd的x86架構中,請查詢出多媒體、虛拟化、省電功能各有哪些重要的微指令集(僅供參考)。
答: 多媒體微指令集:mmx, sse, sse2, sse3, sse4, amd-3dnow!
虛拟化微指令集:intel-vt, amd-svm
省電功能:intel-speedstep, amd-powernow!
64/32位相容技術:amd-amd64, intel-em64t
0.1.3 接口裝置
單有cpu也無法運作計算機的,是以計算機還需要其他的接口裝置才能夠實際運作。除了前面稍微提到的輸入/輸出裝置以及cpu與記憶體之外,還有什麼接口裝置呢?其實最重要的接口裝置是主機闆!因為主機闆負責将所有的裝置連接配接在一起,讓所有的裝置能夠進行協調與通信。而主機闆上面最重要的元件就是主機闆晶片組!這個晶片組可以将所有的裝置彙集在一起!其他重要的裝置還有。
◆ 儲存設備:包括硬碟、軟碟、CD光牒、錄音帶等。
◆ 顯示裝置:顯示卡對于玩3d遊戲來說是非常重要的,它與顯示的精度、色彩與分辨率都有關系。
◆ 網絡裝置:沒有網絡就活不下去,是以網卡對于計算機來說也是相當重要。
更詳細的各項周邊裝置我們将在下個小節進行介紹。在這裡我們先來了解一下各元件的關系!那就是計算機是如何運作的呢?
0.1.4 運作流程
如果不是很了解計算機的運作流程,鳥哥拿個簡單的想法來思考好了。假設計算機是一個人體,那麼每個元件對應哪個地方呢?可以這樣思考。
◆ cpu=大腦:每個人會做事情都不一樣(微指令集的差別),但主要都是通過大腦來進行判斷與控制身體各部分的活動。
◆ 記憶體=大腦中的記錄區塊:在實際活動過程中,我們的大腦能夠将外界的互動暫時記錄起來,提供cpu來進行判斷。
◆ 硬碟=大腦中的記憶區塊:将重要的資料記錄起來,以便未來再次使用這些重要的經驗。
◆ 主機闆=神經系統:好像人類的神經一樣,将所有重要的元件連接配接起來,包括手腳的活動都是大腦釋出指令後,通過神經(主機闆)傳輸給手腳來進行活動。
◆ 各項接口裝置=人體與外界通信的手、腳、皮膚、眼睛等:就好像手腳一般,是人體與外界互動的關鍵部位。
◆ 顯示卡=腦袋中的影像:将來自眼睛的刺激轉成影響後在腦袋中呈現,是以顯示卡所産生的資料來源也是cpu控制的。
◆ 電源(power)=心髒:所有的元件要能運作,得要有足夠的電力供給才行。這電力供給就好像心髒一樣,如果心髒不夠強,那麼全身也就無法動彈的!心髒不穩定呢?那你的身體當然可能斷斷續續地不穩定!
在圖0-3所示的關系圖當中,我們知道整個活動中最重要的就是大腦。而大腦當中與現在正在進行的工作有關的就是cpu與記憶體。任何外界的接觸都必須要由大腦中的記憶體記錄下來,然後由大腦中的cpu依據這些資料進行判斷後,再發送指令給各個接口裝置。如果需要用到過去的經驗,就得由過去的經驗(硬碟)當中讀取了。
也就是說,整個人體最重要的地方就是大腦,同樣,整台主機當中最重要的就是cpu與記憶體,而cpu的資料通通來自于記憶體,如果要由過去的經驗來判斷事情時,也要将經驗(硬碟)挪到目前的記憶(記憶體)當中,再交由cpu來判斷,這一點得要再次強調。下個章節當中,我們就對目前常見的個人計算機各個元件來進行說明。
0.1.5 計算機分類
知道了計算機的基本組成與周邊裝置,也知道其實計算機的cpu種類非常多,再來我們想要了解的是計算機如何分類。計算機的分類非常多,如果以計算機的複雜度與運算能力進行分類的話,主要可以分為以下幾類。
◆ 超級計算機(supercomputer)
● 超級計算機是運作速度最快的計算機,但是它的維護、操作費用也最高。主要是用于需要有高速計算的項目中。例如國防軍事、氣象預測、太空科技,用在模拟的領域較多。
◆ 大型計算機(mainframe computer)
● 大型計算機通常也具有數個高速的cpu,功能上雖不及超級計算機,但也可用來處理大量資料與複雜的運算。例如大型企業的主機、全國性的證券交易所等每天需要處理數百萬筆資料的企業機構,或者是大型企業的資料庫伺服器等。
◆ 迷你計算機(minicomputer)
● 迷你計算機仍保有大型計算機同時支援多使用者的特性,但是主機可以放在一般作業場所,不像前兩個大型計算機需要特殊的空調場所。通常用來作為科學研究、工程分析與工廠的流程管理等。
◆ 工作站(workstation)
● 工作站的價格又比迷你計算機便宜許多,是針對特殊用途而設計的計算機。在個人計算機的性能還沒有提升到目前的狀況之前,工作站計算機的性能/價格比是所有計算機當中較佳的,是以在學術研究與工程分析方面相當常見。
◆ 微電腦(microcomputer)
● 微電腦又可以稱為個人計算機,也是我們這裡主要探讨的目标。它體積小,價格低,但功能還是五髒俱全的。大緻又可分為桌上型電腦、筆記本電腦等。
若光以性能來說,目前的個人計算機性能已經夠快了,甚至比工作站等級以上的計算機運算速度還要快。但是工作站計算機強調的是穩定不當機,并且運算過程要完全正确,是以工作站以上等級的計算機在設計時的考慮與個人計算機并不相同!這也是為何工作站等級以上的個人計算機售價較貴的原因。
0.1.6 計算機上面常用的計算機關(大小、速度等)
計算機的運算能力是由速度來決定的,而存放在計算機儲存設備當中的資料大小也是有機關的。
◆ 大小機關
● 計算機依據有沒有通電來記錄資訊,是以理論上它隻認識0與1而已。0/1的機關我們稱為bit。但bit實在太小了,并且在存儲資料時每份簡單的資料都會使用到8個bit的大小來記錄,是以定義出byte這個機關,它們的關系為:
● 1byte = 8bit
● 不過同樣地,byte還是太小了,在較大的容量情況下,使用byte相當不容易判斷資料的大小,舉例來說,1000000b這樣的顯示方式你能夠看得出有幾個零嗎?是以後來就有一些常見的簡化機關表示法,例如k代表1024,m代表1024k等。而這些機關在不同的進位制下有不同的數值表示,下面就列出常見的機關與進位制對應表,如表0-1所示。
◆ 表0-1
● 一般來說,檔案大小使用的是二進制的方式,是以1gb的檔案大小實際上為:1024x1024x1024b這麼大。速度機關則常使用十進制,例如1ghz就是1000x1000x1000hz的意思。
◆ 速度機關
● cpu的運算速度常使用mhz或者是ghz之類的機關,這個hz其實就是秒分之一。而在網絡傳輸方面,由于網絡使用的是bit為機關,是以網絡常使用的機關為mbit/s,即每秒多少mbit。舉例來說,大家常聽到的8m/1m adsl傳輸速度,如果轉成檔案容量的byte時,其實理論最大傳輸值為:1mb/s/125kb/s的上傳/下載下傳速度。
假設你今天購買了500gb的硬碟一個,但是格式化完畢後卻隻剩下460gb左右的空間,這是什麼原因?
答:因為一般硬碟制造商會使用十進制的機關,是以500gb代表為500 x 1000 x 1000 x 1000b之意。轉成檔案的大小機關時使用二進制(1024為底),是以就成為466gb左右的空間了。
硬碟廠商并非要騙人,隻是因為硬碟的最小實體量為512bytes,最小的組成機關為扇區(sector),通常硬碟容量的計算采用“多少個sector”,是以才會使用十進制來處理的。相關的硬碟資訊在這一章後面會提到。