計算機概論 1001課後輔導教材 單元1 :電腦硬體 主講老師:徐培倫
電腦硬體 單元1 五大單元架構 電腦的儲存與時間單位 CPU 記憶體 輸出與輸入 課後習題
硬體的 5 大單元架構
馮紐曼架構 (Von Neumann Architecture) 前述電腦硬體的五大單元架構, 就是馮紐曼架構 (Von Neumann Architecture), 依此架構設計的電腦, 則稱為儲存程式型電腦(Stored-Program Computer)。
電腦的儲存單位與時間單位 電腦儲存資料的 『最小』 單位為位元 (bit), 每一個位元可以表示一個 0 或 1, 而 8 個位元則稱為 1 個位元組 (Byte)。 電腦的儲存設備基本上都以位元組作為資料存取的基本單位, 一般常見的單位與換算方式如下: 1 Kilo Bytes (KB) = 210 Bytes = 1024 Bytes 1 Mega Bytes (MB)= 220 Bytes = 1024 KB 1 Giga Bytes (GB) = 230 Bytes = 1024 MB 1 Tera Bytes (TB) = 240 Bytes = 1024 GB
電腦的儲存單位與時間單位 由於電腦處理資料的速度非常快, 若使用日常生活中常用的小時、分, 甚至秒來描述其處理時間, 都很不方便, 因此通常使用更小的單位。以下為電腦領域中, 較常用的時間單位: 毫秒 (Millisecond, ms): 千分之一秒, 1 ms = 10-3 s。 微秒 (Microsecond, μs): 百萬分之一秒, 1μs = 10-6 s。 奈秒 (Nanosecond, ns): 十億分之一秒, 1 ns = 10-9 s。
CPU 的功用 電腦的運作必定包含輸入→運算→輸出這 3 個過程。舉例來說, 我們將自己的名字用鍵盤輸入到電腦, 電腦螢幕便將名字顯示出來, 這些輸入與輸出的過程對我們而言很容易理解, 但是運算呢?我們的操作 (如按滑鼠左鈕 2 下這個動作) 要怎麼『運算』呢? 其實對 CPU 而言, 我們對電腦的操作會轉成一連串的指令, 而探究指令的本質, 其實就是數字資料 (0 和 1) 的組合, 實際上在電腦中所有的資料、指令都是數字。而將 『數字』 拿來做運算本來就是再正常不過的了!
CPU 的構造
CPU 如何執行指令 認識了控制單元、算術/ 邏輯單元及暫存器之後, 我們就可以開始來瞭解指令是如何在 CPU 當中運作的。
CPU 如何執行指令 上述 CPU 執行指令的一連串過程, 就稱之為機器週期 (Machine Cycle),亦可稱為指令週期 (Instruction Cycle)。過程中, 控制單元從讀取指令到解譯完成的時間叫做指令時間 (Instruction Time), 而算術/ 邏輯單元從運算到運算完成並存入暫存器的時間, 叫做執行時間 (Execution Time), 如下圖所示:
CPU 如何執行指令
CPU 如何執行指令 上圖為指令執行流程的示意圖, 實際上指令並不一定在算術/邏輯單元中執行, 也可能是由控制單元來執行的。 通常我們用指令週期衡量 CPU 運算的速度。一個指令週期所需的時間,大約幾百萬分之一秒, 也就是說一秒鐘可以執行幾百萬個的指令。而用來計量CPU 運算速度的單位稱為 MIPS (Millions of Instruction Per Second, 每秒百萬個指令), 意即 CPU 一秒鐘可以執行幾百萬個的指令。MIPS 值越高, 代表CPU 的運算速度越快。
CPU 的工作時脈 一般描述 CPU 的效能時, 都是以 CPU 運作的 「時脈頻率」, 也稱為 「工作時脈」來描述, 早期其單位為 MHz (每秒百萬次);如 Celeron 950、Duron800 就是指其時脈頻率分別為 950 MHz 與 800 MHz。近來則發展到 GHz(每秒十億次) 的速度, 例如 Intel Core i3-540 具有 3.06 G 的工作時脈。 CPU 時脈的計算方式如下:
CPU 的工作時脈 關於內頻、外頻、和倍頻係數分別說明如下: 內頻 (Internal Clock):是 CPU 內部在工作時的頻率, 以 AMD Athlon IIX2-255 的 CPU 為例, 其內頻即是 3100 MHz。 外頻 (External Clock):是主機板提供給 CPU 的時脈頻率。 倍頻係數 (Clock Multiplier Factor):以內頻除以外頻, 會得到一係數, 此係數即稱為倍頻係數, 也就是內頻和外頻相差的倍數。
CPU 的指令集 相同指令, 需要不同執行週期 假設A 、I 兩個相同頻率的 CPU 都執行相同的指令, I 需要 3 個執行週期,A 只需 2 個;則在相同時脈下, A 的效能自然比 I 快。 組合指令較慢 另一種情形則是:有些服務並非單一指令所提供, 而是由多道指令組合而成;您可以想像, 這類組合指令所需的執行週期自然比單一指令來得長。 談到 CPU 的指令集, 就不能不提到 CISC 和 RISC 這兩種分類, 所以接著我們要來認識 CISC 與 RISC 。
CISC 與 RISC CISC (Complex Instruction Set Computer) 稱為複雜指令集, 是指 CPU 內使用功能較多、較強的指令。CISC 的電路設計較為複雜, 成本也較高, 但由於功能強大, 因此較容易處理複雜的指令, 也使得編譯器 (Compiler) 的撰寫也較為簡單。使用 CISC 最具代表性的 CPU, 即是 Intel x86 系列的 CPU。 編譯器 (Compiler) 的功能是將高階語言 (如C、Visual Basic...等) 轉換為電腦看得懂的機械語言 (也就是 0 和 1的組合)。關於編譯器, 在第 7 章會有詳細的介紹。
CISC 與 RISC RISC (Reduced Instruction Set Computer)稱為精簡指令集, 也就是使用少量、較常用的, 且功能較簡單的基本指令, 來完成複雜的指令。雖然 RISC 的指令功能較少, 但因為每個指令較簡單, 所以執行的速度較快, 而相關的電路 設計也較為容易。使用 RISC 的 CPU 通常是非 x86 系列的 CPU, 最具代表性的是 IBM 、 Motorola 與Apple 共同開發 的 PowerPC 。
Hyper - Threading Hyper-Threading 的中文翻譯為『超執行緒』, 簡稱為 『H.T.』。用比較淺顯的概念來說, Hyper-Threading 就是把 1 個實體的 CPU 『模擬』 成 2 顆CPU 、增加處理器 運作效率, 藉以有效地 善用資源、減少系統 資源的浪費:
Hyper - Threading 既然 Hyper-Threading 是 『模擬』 2 顆 CPU 的效果, 故其效能是無法等同2 顆真正的 CPU, 或 1 顆雙核心(稍後介紹)的 CPU;但比起原先單一架構的處理器, 確實可提高不少的執行效率。 同樣簡稱為 『H.T.』 的 Hyper Transport (超傳輸) 技術是由 AMD所開發, 其與Hyper-Threading 技術完全不同, 主要是作為晶片與晶片之間的高速互連通道, 如:CPU 與北橋晶片, 或南橋與北橋晶片間的連結。
多核心 在個人電腦的 CPU 市場由於競爭激烈, 以及求新求快的消費主義推波助瀾下, 因此 CPU 廠商便不斷地提高 CPU 時脈, 汲汲營營於速度之王的寶座。但提高運作時脈也帶來高溫, 早在數年前, 就有人驗證過用 CPU 煎蛋並非只是笑話。 拜半導體技術躍進之賜, 業界有所謂的摩爾定律 (Moore's Law), 也就是積體電路每平方英吋上的電晶體數量, 每兩年會增加一倍, 使單一晶片能放入更多的電晶體, 提供更多的功能。而個人電腦 CPU 的效能, 則大概每 18 個月成長一倍, 例如 1995 年上市的 100 MHz CPU, 相較於 2005 年上市的 3800 MHz CPU, 其 10 年間速度成長將近 40 倍。
多核心 因此在面臨 CPU 時脈無法再有效提升的瓶頸時, 廠商們改弦易轍, 將多個CPU 核心包裝在單一個 CPU 晶片上, 也就是所謂的多核心技術。
多核心 以簡單的概念來解釋, 若將 CPU 比喻為廚房, 那麼單核心就像只有一位廚師, 一次只能做一道菜, 必須做完一道菜之後才能再做下一道。若加上 Hyper-Threading 技術, 那麼這個廚師就有能力一次做兩道菜, 只不過這個廚師必須分心輪流做這兩道菜。 而雙核心就像是兩個廚師, 可以同時專心做兩道菜, 當然速度要比一個廚師快得多了。這種同時處理多個工作的概念, 稱為平行運算或平行處理。
多核心 目前個人電腦市場上的 CPU 幾乎是多核心的天下, 像是 Intel Core 系列及AMD Athlon II 或 Phenom II 系列等產品。就連在其它平台, 也都有多核心CPU 的應用, 例如知名的電玩主機-XBOX 360 所採用的 PowerPC, 就是 3核心的 CPU, 其驚人的運算 能力, 從高解析度、流暢的遊戲 畫面上就可以感受得到;再者 像平板電腦 iPad 2 所使用的 Apple A5 處理器, 則是雙核心。
多核心 而要進一步發揮多核心的功效, 應用程式也需針對多核心架構來設計, 例如像微軟 SQL Server、Oracle 等資料庫管理系統之類的伺服器軟體, 以及最新的Office 2010 都能發揮多核心的長處。
主記憶體與輔助記憶體 主記憶體可分為 RAM (Random Access Memory, 隨機存取記憶體) 與ROM (Read Only Memory, 唯讀記憶體) 兩種, 而輔助記憶體的種類則相當多元, 目前常見的有磁碟機、光碟機、記憶卡等, 本節稍後會詳細地說明這些分類與設備。
主記憶體與輔助記憶體 主記憶體可以說是 CPU 的工作平台, 所有程式與資料都必須先載入主記憶體的 RAM 中, CPU 才能進行運算與處理。不過 RAM 必須依靠電力才能維持資料, 關機之後所有資料便會消失, 所以 RAM 中需保存的資料便必須傳送到輔助記憶體, 才能儲存資料;而下次開機後, 如果 CPU 需要某些資料時,便會從輔助記憶體尋找資料, 然後再載入 RAM 讓 CPU 進行處理。
主記憶體與輔助記憶體 所以主記憶體可以比喻為大腦中的記憶功能, 而輔助記憶體則是筆記本, 當我們思考事情時, 會將所有資料放在腦中思索, 想出結果後為了怕忘記, 便將其記錄在筆記本中, 下次需要重新思考時, 只要翻開筆記本閱讀上次的記錄即可。 主記憶體的速度遠快於輔助記憶體, 但是單位容量的價格較高, 所以一般情形下, 每部電腦的主記憶體容量會遠小於輔助記憶體。
輸出與輸入連接埠
輸出與輸入連接埠 PS/2 鍵盤與滑鼠連接埠:此種連接埠是針對鍵盤與滑鼠所設計的, 其外觀為圓形針接頭。現在大多數的鍵盤及滑鼠接頭均已標示顏色, 只要插入與接頭顏色相同的連接埠就可以了。 序列埠 (Serial Port):又稱為 COM Port, 早期用來連接滑鼠、手寫板或數據機。不過目前滑鼠大多使用 PS/2 或 USB 接頭, 手寫板與數據機也改用USB 接頭, 幾乎沒有週邊使用序列埠了, 因此目前有些電腦主機會將序列埠精簡為只剩下 COM1 一個埠。
輸出與輸入連接埠 並列埠 (ParallelPort ):也有人稱為平行埠、LPT (Line Printing Terminal), 或者也常被稱為印表機連接埠。其他像是 ZIP 磁碟機、掃描器...等也有部分機種使用並列埠。不過與序列埠一樣, 目前大多數設備都已經改用新式的 USB 連接埠了。 音效裝置插孔:這些插孔是用來連接耳機、喇叭或麥克風等音效裝置, 各種顏色代表不同裝置, 隨後 4-8 節會有詳細的介紹。
輸出與輸入連接埠 USB 連接埠:全名為 Universal Serial Bus (通用序列連接埠), 是目前最常用的連接埠, 大多數的週邊設備都已經改用 USB 連接埠。USB 連接埠的優點在於:傳輸速率比其他連接埠更快、最多可以串接 127 項裝置、並且允許使用者在開機狀態下插拔週邊設備 (稱為熱插拔)。 目前電腦主機所附的 USB 連接埠一般有 2-8 個, 如果有多個設備需要使USB 連接埠, 而主機隨附的不敷使用時, 便可以使用 USB 集線器 (USB Hub)來擴充或串接。您可以將 USB 集線器想像成多孔插座, 藉由這個多孔插座便可以解決插孔不足的問題:
輸出與輸入連接埠
輸出與輸入連接埠 目前較常見的 USB 規格, 分別是早先的 USB 1.x 與目前常用的 USB 2.0,其中 2.0 的速度最高可達 480 Mbps, 而且 2.0 可相容 1.x, 所以就算週邊裝置與連接埠的 USB 版本不同, 一樣可以順利連接。 不過如果要發揮 USB 2.0 高速傳輸的優點, 必須主機板、作業系統以及週邊裝置都支援 USB 2.0 才行。此外, 2008 年11月通過的 USB 3.0 規格, 將傳輸速度提升到 5Gbps , 並已於 2010年推出相關產品。
課後練習 請簡述電腦硬體架構的 5 大單元 請說明電腦儲存資料的單位與換算方式? 請解釋機器週期 (Machine cycle)及CPU 時脈。 請簡單比較 RISC 和 CISC 的優缺點。
課後練習 請解釋什麼是主記憶體及輔助記憶體? 請指出身邊電腦的哪些裝置是輸出設備及輸入設備?