Professional Documents
Culture Documents
微處理機 (全) 課本
微處理機 (全) 課本
敬愛的老師您好:
PDF 檔僅限學校教師搭配紙本教材用於
課堂教學,並未授權其他用途!!
優質好書.盡收眼底 書籍配套 ‧ 軟硬兼俱
用 心 出 版 每 一 本 好 書
tkdbooks.com http://ipoemaker.com/
勁園科技教育
Jin Yuan TechEdu
http://jytechedu.com/ http://pacme.asia/
技術型高級中等學校 Ⅰ 電機與電子群
微處理機 全
張顯盛 編著
Microprocessor
編 大 意
輯
一、本書依據民國一○七年教育部發布之十二年國民基本教育技術型高級中等
學校群科課程綱要-電機與電子群「微處理機」編輯而成。
三、本書課程內容包含:
第1章 微處理機基本概念
第2章 微處理機硬體架構
第3章 微處理機軟體發展流程
第4章 資料 串 / 並列傳輸
第5章 中斷
第6章 記憶體資料存取
第 7 章 多核心微處理機
第 8 章 微電腦系統架構與應用
四、本書對於微處理機的特性、原理及電路應用等,編寫力求淺顯、扼要,盡
量避免艱深之理論,使學生易於閱讀,達成「微處理機」之教學目標,以
期不同學習能力的學生,皆能獲得的重點精華。
五、本書中每節皆審慎編選「隨堂練習」,供學生課後練習之用。
六、本書每章課文末有「學習目標回顧」,可幫助學生了解學習重點所在,加
深其印象。
七、本書各章附有「課後習題」,供學生做有效的觀念統整練習,並獲得具體
的學習成效。
八、本書編寫期間,承蒙各先進多方指正及審校,謹此致謝。
九、本書雖力求嚴謹,但疏漏之處在所難免,尚祈諸先進惠予指正,以供修訂
時之參考,不勝感激。
ii
• 學習目標
各章開頭安排學習單元及學習目標,提供學生課前掌握學習重點。
• 編排結構
每章內容均依課綱適當分成數小節,各小節有特定主題的解說和練習題,使
本書更便於學習與參考。
• 易懂的圖解與表格
本書大量採用數百幅精緻彩圖解,說明相關原理,讓學生以最簡易方式學習
艱澀理論。
• 學習目標回顧
章末將重點文字圖形化及表格化,快速掌握複習要點,提升學習效率。
• 課後習題
每一章均有課後習題,依各節順序編排,適合循序複習。
• 學習資源
除了課本外,本書配備有多種學習資源供學生使用,包括習作本、MOSME
行動學習一點通及線上教學資源。
iii
表 4-3 DB9 串列埠接腳訊號
名 稱 方 向
接腳
簡稱 英文 中文 DTE DCE
1 DCD Data Carry Detect 資料載波偵測 ←
2 RXD Data Receive 資料接收 ←
3 TXD Data Transmit 資料傳送 →
4 DTR Data Terminal Ready 資料終端備妥 →
5 GND Ground 接地信號 DB9 接腳序
6 DSR Data Setting Ready 資料設定備妥 ←
7 RTS Request To Send 要求發送 →
8 CTS Clear To Send 清除以備發送 ←
9 RI Ring Indicator 振鈴指示 ←
五 指令的管線處理
,作為取得下一個要執 功能的控制信號,負
行指令的記憶體位址。 責執行指令的所有控 (a) 最簡易連接 (b) 全雙工交握協定
制動作。
圖 4-10 RS-232 連接模式
表 2-1 循序執行指令
時脈 1 2 3 4 5 6 7 8 9 10 11 12
(e) 算術右移 提取 執行 (f) 算術左移
指令 1
指令 1 指令 1
圖 2-13 移位運算 提取 執行
指令 2
指令 2 指令 2
邏輯移位運算是一種傳入位元填入 0 的移位方式,邏輯右移,簡記 shr,每個位元
提取 執行
指令 3
往右邊移動 R 0 捨棄,R n-1 留下的空位填 0。同理,邏輯左移,簡記 shl,每個位元往左
指令 3 指令 3
提取 執行
邊移動,R n-1 捨棄,R 0 留下的空位填 0。 指令 4
指令 4 指令 4
提取 執行
循環移位運算則是連接暫存器的最低與最高位元的移位方式,循環右移,簡記
指令 5 cir,
指令 5 指令 5
每個位元仍是往右邊移動,R 0 值填到 R n-1。循環左移,簡記 cil,每個位元往左邊移動, 提取 執行
指令 6
指令 6 指令 6
R n-1 值填到 R 0。
iv
算術移位是一種針對有號數進行左移或右移的運算,移位後正負符號不變。所以操
作上,左右位元移動時,符號位元不變。算術右移實際上就是將有號二進制數值「除 2」,
反之,算術左移是將有號二進制數值「乘 2」。
AC20410_02.indd 33 2020/7/9 下午 02:40:34
簡 單 學 習
階語言必須透過編譯器轉換為機械語言,使用複雜指令集,可以降低編譯器的複雜程度
公司的 ARM9、ARM10 和 ARM11 等。
與提高整體效能。CISC 提供較多指令樣式,讓高階語言的程式敘述,可以較容易轉換
位址匯流排 ╳
中央處理單元
到機器語言,就可以降低編譯器的複雜程度。CISC 的另一個特性是「指令格式長度可
變」,運算元的數目可以是 0 ~ n 個,指令的長度多樣,這也造成指令解碼電路的複雜 資料匯流排
度。隨著指令與定址模式的增加,需要更多的硬體邏輯電路來實現並支援,因此可能造
成指令執行速度變慢。
CPU
主記憶體 輸出入單元
CISC 主要特徵 (程式與資料) (I/O 埠)
特徵、特色
01 02 03 04
(a) 范紐曼結構
反觀 RISC 主要由「暫存器與暫存器間的運算」的指令組成,只提供單純的儲存與
(b) 哈佛結構
載入指令進行記憶體資料的存取,如果指令操作需要記憶體內的運算元,都需要透過載
圖 2-7 范紐曼與哈佛結構
入指令載入暫存器,再進行指令執行,同樣地,如果執行結果需要回存記憶體,也需
要透過儲存指令寫入記憶體。所有微運算都只在暫存器之間進行,大大提升指令效能,
RISC 通常需要大量的暫存器支援這樣的工作模式。 2-1 隨堂練習
1. 小艾設計一個微處理機系統,想要擴充記憶體容量,請問他可以採取以下哪個策略
( 可複選 ) ?
AC20410_03.indd 102 2020/7/9 下午 02:50:01
(A) 擴大位址匯流排寬度 (B) 擴大資料匯流排寬度 (C) 擴大控制匯流排寬度。
全 書 練 習 題 加 入 大 量 素 養 題 目, 完 全 3. 因為 COVID-19 關係,小健到西藥房排隊買口罩,排前面的人先買到口罩。這樣很
像微處理機課堂講過的哪種結構的運作?
融入新課綱精神。
AC20410_02.indd 35 2020/7/9 下午 02:40:35
學習重點回顧 重點歸納彙整重要觀念,在最短時間做二次學習。
3. CPU 內部結構中,較適合作管線(Pipeline)處理的結構體為
(A) ALU (B) Queue (C) Register (D) Cache。
學習目標 2:能描述三種依製造技術分類的記憶體特性與產品
4. 下列有關「PC 中匯流排(Bus)」的敘述中,何者有誤?
2. 記憶體依據製作材料及揮發性分類如下圖:
(A) 匯 流 排 一 般 分 為 資 料 匯 流 排(DataBus), 位 址 匯 流 排(Address
Address
Bus) 和 控 制 流 排(Control Bus) 三 種 (B) Data Bus 是 在 CPU 和
Memory 之 間 傳 送 資 料, 所 以 是 雙 向 性 (C) Address Bus 可 用 來 標 明
Memory 或 I/O Port 位址的地方 (D) Data Bus 的長度和 Address Bus 的
長度必須一樣。
5. 電腦的哪一個部分負責從主記憶體讀取並解釋指令?
(A) 控制單元 (B) 主記憶體 (C) 輸出 / 入單元 (D) 算術邏輯單元。
(a) 依製作材料分類 (b) 依揮發性分類
2-2 6. 在 CPU 中的暫存器,何者之主要功能是儲存機器碼指令的位址?
學習目標 3:能說明半導體記憶體資料存取原理 (A) 指令暫存器(IR) (B) 程式計數器(PC)
v
AC20410_06.indd 246 2020/7/9 下午 03:34:34 AC20410_02.indd 79 2020/7/9 下午 02:40:52
1
a
Ch
1-1 微處理機之發展與應用 2
1-2 微處理機的結構 11
1-3 指令之提取、解碼及執行 15
1-4 微處理機效能評估 19
學習目標回顧 21
課後習題 23
Chapt
微處理機硬體架構
2
er
2-1 微處理機系統組成架構 28
2-2 微處理機運作原理 36
2-3 記憶體裝置 48
2-4 位址解碼與擴展 54
2-5 輸出入裝置 63
學習目標回顧 77
課後習題 79
pter
微處理機軟體發展流程
3
a
Ch
3-1 指令與程式 86
3-2 定址模式 96
3-3 指令集 102
3-4 高階語言與低階語言之轉換 106
3-5 微處理機軟體處理程序 115
學習目標回顧 118
課後習題 120
vi
4
4-1 資料輸入 / 輸出方法 126
4-2 資料串列傳輸原理及標準介面 129
4-3 通用序列匯流排介面原理 140
4-4 資料並列傳輸原理 149
4-5 並列顯示介面晶片 156
學習目標回顧 164
課後習題 166
Chapt
中斷
5
er
pter
記憶體資料存取
6
a
Ch
vii
7 er
7-1 平行處理概述 254
7-2 多核心微處理機架構 262
7-3 多核心微處理機應用實例 265
學習目標回顧 269
課後習題 270
pter
微電腦系統架構與應用
8
a
Ch
附錄 隨堂練習簡答 300
圖表資料來源 303
參考文獻 304
viii
ap
ter 3
1 微處理機基本概念
節
Ch
本章節次 學習目標
1-1 微處理機的發展與應用 1. 能描述微處理機發展歷史。
1-2 微處理機的結構 2. 能列舉微處理機的分類與應用。
1-3 指令的提取、解碼與執行 3. 能複述微處理機與微處理機系統的
1-4 微處理機效能評估 結構。
學習目標回顧 4. 能解釋指令格式與執行步驟。
課後習題 5. 能列舉微處理機系統效能評估方式。
1-1 微處理機的發展與應用
微處理機的身影已經無所不在,相關的產品與應用更遍布在你我的周遭生活,讓我
們從微處理機的發展談起,接著討論它的分類與應用,慢慢的瞭解它 !
1-1-1 微處理機概述
隨著資訊科技的發達,人們資料處理的需求與依賴日漸提高,例如進行計算、查
詢、排序、儲存、列印等工作。將資料(data)進行 資料處理 (Data Processing,簡稱
DP),可取得對人類較有意義的資訊(Information),如圖 1-1 所示,例如找出全校這
次月考國文 90 分以上的學生名字,其中全校學生基本資料與月考成績為資料,經過計
算、排序、比較與篩選等處理後,取得國文 90 分以上的學生名字就是資訊。又例如從
股市變化找出值得投資的股票,眾多股票價格變化是資料,值得投資的股票是資訊。
圖 1-1 資料與資訊
因為大量資料需要重複性、準確與快速的處理與運算,微處理機(microprocessor,
簡記 µP)應運而生。自從 1971 年 Intel 公司發表全球第一顆 4 位元微處理機 4004,如
圖 1-2 所示,改變世界科技的發展,也迅速深入人類的生活中,改變生活模式。環顧四
週,手機、電腦、家電、遊戲機等都有微處理機的影子。由於積體電路製作技術突飛猛
進,微處理機也由 4 位元,一路進步為 8 位元、16 位元,到目前常使用的 32 位元與 64
位元,功能愈來愈強大,體積愈來愈小,價格也更便宜了。
4004 微處理機特性:
內部晶片尺寸 3mm×4mm,外部包裝 DIP
16Pin 針腳,內有 2,300 個電晶體,最高時
脈 740kHz,成本低於 100 美元。
微處理機具有高速運算與資料處理的能力,依據應用領域的不同,可以概分為通用
型計算機 (general-purpose computer) 與嵌入式系統 (embedded system) 兩種類型,因功
能需求不同,發展的重點也分道揚鑣,但是兩者架構、原理雷同。通用型計算機,俗稱
電腦(Computer)或電子計算機,是微處理機最早的應用,大家比較熟悉,讓我們從這
裡談起。
1-1-2 微處理機的發展
早期由於人類需要大量重複、複雜的計算,開始使用機械方式製作具有計算能力的
機器,隨著電子技術的進步,成本、體積與執行速度等都劇烈改變,電腦的演進也精彩
絕倫,依照製造技術的時代分成如表 1-1 所示的分類。
中國人使用的算盤應是人類最早用來計算的工具,可惜並未進一步賦予自動化的能
力。西元 1642 年,法國數學家布萊茲 ‧ 巴斯卡(Blaise Pascal)發明以齒輪當成運算
的機構,每個齒輪有 10 個齒(牙),當轉完一圈,會使另一個齒輪前進一格,達成機
械式自動進位的加法器,這也是所有機械式計算機的基本原理,而程式語言 PASCAL
就是以他的名字命名表達紀念之意。但嚴格來說,這個機械時期的主要計算元件不是電
子元件,不能算是電腦,通常暱稱第 0 代電腦。
以巴斯卡發明的機械式計算機為基礎,加入馬達驅動即可實現自動化的機械計算
機,但是終究是使用機械方式實現計算能力。因為真空管的發明,終於有了真正的電子
計算機出現,使用打孔卡片儲存資料的概念,以程式規劃計算機的工作。電腦的發展跟
隨電子零件的進步而演化,由真空管、電晶體、積體電路,到超大型積體電路,電子零
件製作技術的進步,一路走來,也讓組成的電腦不斷地朝快速、體積小、便宜與可靠性
高的趨勢發展。
從第 1 代真空管電腦開始,到現在使用的電腦已跨入第 5 代電腦,除了使用超高速
的積體電路(Very High Speed Integrated Circuit,簡稱 VHSIC)技術外,更加入人工
智慧(Artificial Intelligence,簡稱 AI)的元素,使電腦具有類似人類的推理、判斷、
自然語言等,甚至實現自我學習的能力。
表 1-1 依據製造技術區分電腦年代
分 類 年代 主要技術 執行速度單位
機械
第 0 代電腦 1642 ~ 1945 機械
時代
第 1 代電腦 1945 ~ 1954 真空管 ms
第 2 代電腦 1954 ~ 1964 電晶體 µs
電子
第 3 代電腦 1964 ~ 1970 小型與中型積體電路(SSI、MSI) ns
時代
第 4 代電腦 1970 ~至今 超大型積體電路(VLSI) ps
第 5 代電腦 1990 ~至今 人工智慧(AI)
一 第 1 代電腦:真空管時期
西元 1946 年美國賓州大學毛齊雷(J.W. Mauchley)與愛克特 (J.Presper Echert),
利 用 真 空 管 製 作 第 一 臺 自 動 化 數 位 計 算 機, 命 名 為 ENIAC(Electronic Numerical
Integrator And Computer,電子數值積分計算機),如圖 1-3,它的長度為 50 呎、寬 30
呎、重 30 噸,共用了 18800 個真空管,1 秒鐘約可執行 10 萬個運算,必須透過重新接
線進行程式化,以執行不同功能。毛齊雷於西元 1947 年製作 UNIVAC,並將它商品化,
成為第一部商用計算機。真空管電腦的缺點:
1. 體積龐大。 3. 真空管工作時容易產生熱,相當耗電。
2. 執行速度慢,以 ms 為基本單位。 4. 故障率高,信賴性不佳。
二 第 2 代電腦:電晶體時期
1947 年貝爾實驗室創造第一顆電晶體,它的體積小、耗電小、故障率低等特性,
快速取代真空管。西元 1954 年美國麻省理工學院(MIT)利用電晶體製作 TX-0 計算機。
這個時代開始有編寫程式系統(Programming System)的運用,與第一代真空管時期比
較,電晶體電腦有以下優點:
1. 電晶體比真空管體積小很多。
2. 電晶體比真空管速度較快,以 µs 為基本單位。
3. 電晶體工作時產生熱較少,比真空管不耗電。
4. 故障率大大降低,提高信賴性。
三 第 3 代電腦:積體電路時期
西 元 1965 年, 美 國 IBM 公 司 利 用 積 體 電 路 製 作 IBM360 型 電 子 計 算 機, 另 外
PDP-11、CDC-7600 也都屬於第 3 代電腦。 積體電路 (Integrated Circuit,簡稱 IC),
以矽材質製作,將許多電晶體、電阻與二極體等電子電路需要的元件,放在單一個晶片
上,可大大降低電子電路的體積與重量。與第二代電晶體時期比較,積體電路時期有以
下優點:
1. 體積更小,因將許多元件濃縮在單一晶片內,元件可靠性更佳。
2. 執行速度快,以 ns 為基本單位。
3. 產生的熱能更少,消耗電力極少。
4. 故障率相當低,信賴性極佳。
積體電路技術進步很快,依據單一晶片可容納的電子元件數目分類,可整理如表
1-2,表中分別以電子元件與邏輯閘數目描述各種等級 IC 的大小,而 1 個邏輯閘約含 10
個電子元件。
表 1-2 積體電路等級分類
簡稱 描述 電子元件數目 容納邏輯閘數目
SSI Small Scale Integrated Circuit(小型積體電路) 10 ~ 100 10 以下
MSI Medium Scale Integrated Circuit(中型積體電路) 100 ~ 1000 10 ~ 100
LSI Large Scale Integrated Circuit(大型積體電路) 1000 ~ 10,000 100 ~ 1000
Very Large Scale Integrated Circuit
VLSI 10,000 ~ 100,000 1000 ~ 10,000
(超大型積體電路)
Ultra Large Scale Integrated Circuit
ULSI 105 ~ 107 104 ~ 106
(超特大型積體電路)
GSI Giant Scale Integration(巨大型積體電路) 107 以上 106 以上
四 第 4 代電腦:超大型積體電路時期
積體電路製作技術愈來愈好,密度(單位
體積的電子零件數目)愈來愈高,於西元 1970
年開始以 VLSI 技術製作計算機。從 1970 年代
Intel 發表 4 位元的微處理器 4004,與後來蘋果
公司的 Apple Ⅱ,到目前使用的 IBM PC 系列
或 Apple 麥金塔(MAC)系列等,都屬於第四
代電腦。以 VLSI 技術製造,體積更小,信賴
性更佳,而且執行速度更快,以 ps 為基本單位。
目前使用的電腦為第四代電腦。圖 1-4 為 1977 圖 1-4 Apple II
年蘋果公司發表的 Apple II。
五 第 5 代電腦:人工智慧時期
第 5 代電腦以 ULSI 以上技術製作電腦,除了體積更小、運算速度更快,並整合人
工智慧的功能,例如目前常採用機器學習和深度學習的方式,使電腦具有類似人類的思
考、推理能力,這樣的人工智慧與自然語言等知識處理能力,使電腦能聽、能看、會說
話、也會思考,更具自我學習與推論能力,可見未來電腦精彩可期。
圖 1-5 人工智慧、機器學習深度學習的異同
1956 年達特茅斯夏季人工智慧研究計劃,會議中首先提出人工智慧一詞,期望讓電
腦像人一樣具備辨識、思考與學習等能力,之後科學家嘗試應用多種可能技術實現。加
拿大 Geoffrey Hinton 教授被譽為深度學習之父,於 1986 年提出倒傳遞類神經網路模型,
開啟機器學習新頁,幾度面臨瓶頸,但他仍持續推動改進人工神經網路,終於在 2006
年發表深度學習相關理論,突破限制並提高可用性,加上同時期電腦效能大幅提昇與雲
端技術的熟成,引領人類進入人工智慧蓬勃發展與豐收的時代。
圖 1-5 為三者的關係圖,可概略歸納,機器學習為人工智慧的眾多發展技術分支之
一,而深度學習又是機器學習多種策略之一。深度學習主要使用大量數據資料,結合多
層類神經網路進行學習,目前廣泛應用在各個領域。
1-1-3 微處理機的應用
微處理機組成電子計算機,俗稱電腦,是最早、最普遍的應用,依據電腦的執行速
度、記憶容量大小、資料儲存能力、資料處理的精確程度與價格等條件,可將電腦區分
為超級電腦、大型電腦、迷你電腦、與微電腦等,如圖 1-6 所示,但由於電子技術的突
飛猛進,現在的微電腦到大型電腦之間的界限已經相當模糊了!目前常見電腦,都屬 微
電腦 (Microcomputer),又稱「 個人電腦 (Personal Computer,簡稱 PC)」,例如桌
上型電腦、筆記型電腦、掌上型電腦、平板電腦等,為提供一般目的個人或商業使用的
電腦設備,有別於太空、科學、軍事或大量資料處理等特殊目的電腦。
圖 1-6 電腦依等級分類
圖 1-7 電腦的分類
微處理機的應用,除了以「個人電腦」的
外觀呈現外,在其他的應用領域、範圍及採用
的數量都遠遠超過電腦,其中應用數量最大的
是嵌入式系統(Embedded System),例如手機、
遊戲機、汽車、洗衣機、無人飛機等,這些產
品內部都具備有微處理機的控制系統,架構與
電腦雷同,但應用已深入生活中的各種層面了!
(a) 個人電腦
(b) 嵌入式系統
圖 1-8 微處理機的應用:個人電腦與嵌入式系統
所謂嵌入式系統是將微處理機嵌入(放入、整合在一起)到一個實際物體中,實現
該物體的智慧化控制。例如將微處理機系統安裝到大型艦船中,並配置各種週邊介面、
感測電路,構成自動駕駛儀或輪機狀態監測系統。嵌入之後,微處理機便失去了原來的
形態與通用的電腦功能,為了區別於原有的通用電腦系統,便把嵌入到物件體系中,實
現物件體系智慧化控制的電腦,稱作嵌入式系統。
嵌入式系統與通用型電腦系統有著完全不同的技術要求與技術發展方向,兩者比較
如表 1-3。通用型電腦系統的技術要求是高速、大量的數值計算以及擴大儲存容量(能
力),並保留部分的可擴充性,讓使用者有最大彈性的使用權,例如可以文書處理、玩
遊戲、看影片、聽音樂等不同類型的應用,也可依據需求加裝不同的介面卡。
而嵌入式系統的技術要求則是在固定的物件中展現智慧化控制能力,技術發展方向
則是要求與物件系統密切相關的嵌入性能、控制能力與控制的可靠性,執行速度只要能
因應該物體環境完成指定工作即可,嵌入之後,只執行與該物體相關的功能與要求,不
需無謂的硬體擴充或軟體安裝。
當然也可以將通用型電腦系統進行改裝,嵌入大型設備中實現嵌入式應用,但是,
這樣做會有體積大、成本高與特殊功能要求上無法符合的問題。例如,對於較小型物件
系統,如家用電器、儀錶、儀器等,無法嵌入大體積的通用型電腦系統。
表 1-3 通用型電腦與嵌入式系統比較
微處理機應用類型 技術要求
‧ 高速執行。
‧ 大量的數值計算能力。
通用型電腦系統
‧ 儲存容量大。
‧ 保持擴充彈性,例如連接不同的印表機、外接式儲存媒體。
‧ 實現物件的智慧化控制能力。
‧ 依據嵌入物件系統要求,完成符合的嵌入性能、控制能力與控制的可靠
性。
嵌入式電腦系統
‧ 體積符合嵌入物件的環境。
‧ 執行速度、儲存容量與計算能力只要符合嵌入環境要求即可。
‧ 通常需要接受類比環境感測訊號的能力。
嵌 入 式 系 統 的 應 用 琳 瑯 滿 目, 從 低 階 的 簡 單 家 電 控 制, 到 高 階 的 物 聯 網(IoT,
Internet of Things)系統,不勝枚舉,發展方向可概分為消費性電子、自動化產業、工
業控制與辦公室自動化四個方向,如圖 1-9 所示,舉出常見的應用。
圖 1-9 嵌入式系統應用分類
1-1 隨堂練習
1. 請分別描述微處理機發展歷史五個時代的重點技術
第 1 代為 、第 2 代為 、第 3 代為 、
第 4 代為 、第 5 代為 。
2. 依據積體電路內部容納的邏輯閘數量分類,SSI 應有 、
MSI 應有 、LSI 應有 。
3. 露 西 最 近 購 買 了 一 個 音 箱, 具 有 功 能, 可 以 用 語 音 下 命 令 開 關 燈、
跟它聊天打發無聊時間。。
1-2 微處理機的結構
微處理機組成「微處理機系統」就可以進行不同工作與應用,驅使我們生活深度的
依賴它,讓我們先從如何組成完整的微處理機系統談起,更進一步瞭解微處理機的結構
與如何工作。
1-2-1 微處理機系統概述
微處理機具有強大、快速的計算、比較等能力,但需要配合其他單元組成一個完整
的系統才能完成工作。一個可以工作的「微處理機系統」的組成架構如圖 1-9 所示,包
括 中央處理單元 (Central Processing Unit,簡稱 CPU)、 記憶體單元 (Memory Unit,
簡 稱 MU) 與 輸 出 入 單 元 (Input-Output Unit, 簡 稱 IOU) 三 部 分。 其 中, 中 央 處 理
單元又可分為 控制單元 (Control Unit,簡稱 CU)與 算術邏輯單元 (Arithmetic Logic
Unit,簡稱 ALU),輸出入單元也可分為 輸入單元 (Input Unit,簡稱 IU)與 輸出單元
(Output Unit,簡稱 OU),如圖 1-10 所示微處理機系統的組成架構。
圖 1-10 微處理機系統組成的基本架構
微處理機組成的應用系統形式常見的有電腦、嵌入式系統、微控制器等,基本上架
構雷同,以下為陳述方便,以電腦的角度來思考微處理機系統。電腦的架構中,各單元
各司其職,圖中以箭頭表示資料流向。中央處理單元,或稱 CPU,就像系統的首腦,負
責思考、判斷(邏輯運算)、計算與控制、暫存等功能,其中控制單元負責控制整台電
腦的所有動作,像一位指揮家,指揮棒揮動,整個樂團將隨之奏出美妙的樂章。算術邏
輯單元負責算術運算(例如+、-、×、÷ 等)與邏輯運算(例如 AND、OR、XOR、
比較等)兩項運算工作,也是電腦進行資料處理的主要地方。
記憶體單元 MU 負責程式與資料的記憶儲存功能,可供資料的寫入與讀取。當電腦
為要達到某個功能時,必須執行一段程式。而程式是由許多指令組成,要執行之前,必
須先存放(載入)在記憶體內,再依序讀取到 CPU 內部進行執行工作,一道一道指令
依照順序執行,以完成指定功能。
輸入 - 輸出單元 IOU,又可分為輸入單元與輸出單元,是電腦對外的部門,一方面
負責輸出入裝置與 CPU 的資料格式轉換,另一方面緩衝雙方速度的差異。由輸入單元
負責與輸入裝置聯繫,當鍵盤、滑鼠等輸入裝置有資料要送入 CPU,會先經過輸入單元
統整後,再送給 CPU 處理。同樣地,輸出單元負責與輸出裝置聯繫,例如印表機、螢
幕等。當 CPU 要將處理後的資訊透過輸出裝置呈現給使用者,會將資料先送給輸出單
元,再由輸出單元送給輸出裝置,例如透過螢幕顯示出來,或印表機印出。
微處理機系統透過輸入單元,由輸入裝置(例如硬碟、鍵盤)讀入使用者提供的相
關控制命令、程式與資料至記憶體,CPU 負責執行(包括運算、比較等)儲存於記憶體
內的程式與資料,處理完畢後,將處理結果經過輸出單元送至輸出裝置,例如螢幕、印
表機,或儲存結果在磁碟機中。整個處理過程會由 CPU 內部的控制單元擔任控制中樞,
完成各單元的協調工作。
組成 CPU 功能的電路相當複雜,早期需要組合多個積體電路才能達成。因為積體
電路技術的精進,將 CPU 所有電路製作在同一晶片上,稱為 微處理機 ,也譯作 微處理器 ,
簡記為 µP 或 MPU(Micro Processor Unit),所以 CPU、微處理機、微處理器、MPU
等都是相同意義。另外, 單晶片微電腦 (single chip microcomputer)簡稱 單晶片 ,又
稱 微控制器 (microcontroller),則是將 CPU、MU、IOU 與各種輸出入介面等電路都
整合在一塊積體電路晶片上,優點是體積小、成本便宜、使用方便,但功能與效能通常
較弱,常用來作簡單的控制。
1-2-2 微處理機的基本結構
微處理機,或稱 CPU,內部至少包含控制單元、算術邏輯單元與許多暫存器,才能
達成執行指令與控制整個系統的功能,如圖 1-11 所示。可完成某種功能的一支程式,
是由許許多多指令組成,由 CPU 依序執行這些指令,以達成程式的功能。
1. 算術邏輯單元(ALU)可依據指令的要求,
對 暫 存 器 的 資 料 進 行 算 術、 邏 輯、 移 位 或
比較等運算。
(1) 算術運算包含加、減、乘、除四則運算。
(2) 邏 輯 運 算 則 至 少 包 含 AND、OR、
NOT、XOR 等。
(3) 移位運算包含左移、右移等運算。
(4) 比較運算則包括大於、小於與等於的比
較。 圖 1-11 中央處理單元的組成
2. 控制單元(CU)負責指令的解碼與執行,控制整個系統各部門的動作,包括 CPU 內
部、記憶體與輸出入單元等,以完成指令的功能。
3. 暫存器(Register)主要作為指令、資料暫時儲存的地方,或是運算結果暫時儲存的
位置。一般暫存器可分為幾類:
(1) 狀 態 暫 存 器 (Status Register): 也 稱 為 旗 標 暫 存 器(Flag Register), 簡 稱
FR,顯示 CPU 目前的狀態,例如運算結果是否為 0 ?是否溢位?是否進位?
(2) 指令暫存器 (Instruction Register):簡稱 IR,由記憶體提取指令到 CPU 內部準
備指令解碼、執行時,暫時存放的位置。
(3) 程式計數器 (Program Counter):簡稱 PC,指向下一個要執行指令所在的記憶
體位置。CPU 依照 PC 所指記憶體位址提取指令,進行執行指令的工作。
(4) 資料暫存器 (Data Register):執行指令時要處理的資料之暫時儲存位置。例如
要進行加法運算的加數與被加數,進行加法前,事先從記憶體讀取放置到資料暫
存器,再進行加法運算。大部分的 CPU 會被設計為運算時只對暫存器進行處理,
可以提高執行效能,所以運算前資料需要事先放到資料暫存器中。
(5) 位址暫存器 (Address Register):執行指令時要處理的資料如果在記憶體中,其
所在位置儲存在位址暫存器。
CPU 負責執行儲存於記憶體內的程式碼,這些程式碼是由使用者透過輸入裝置(例
如鍵盤、磁碟機)載入記憶體,要求 CPU 執行的工作內容。而程式碼是由一道一道「指
令」組成,每道指令代表著使用者要求 CPU 執行的一件子工作,而 CPU 就是負責執行
這些指令的首腦,利用本身內部的控制單元、算術邏輯單元與提供暫時儲存資料的暫存
器三個主要部分,完成不同的指令動作。每個 CPU 所能執行的指令群不盡相同,但大
部分,相同廠商生產的 CPU 指令集絕大部分是類似的。
程式是由許多指令組成的,CPU 負責執行程式中的指令,每一次只執行一道指令。
CPU 要執行的程式是放在主記憶體中,程式計數器(PC)則是來指向「下一道要執行
指令所在的記憶體位址」,當指令被提取到指令暫存器時,PC 會自動遞增,再指向下
一道指令的記憶體位址。CPU 執行指令的步驟如下:
1. 程式計數器內指示下一個指令在記憶體的位置(位址)。CPU 根據程式計數器,將
指令碼讀入 CPU 後放在指令暫存器,之後,程式計數器會遞增自動指向下一個要執
行指令的位置。
2. 將指令由記憶體讀入 CPU 內的指令暫存器,稱為提取指令。提取後,以指令解碼器
進行指令解碼,決定應送出的控制訊號,以完成指令指定的工作,例如加、減、乘、
除等。
1-2 隨堂練習
1. 微處理機系統的基本架構包括 、 、
、 與 等五個單元。
2. 用來指向下一個要執行指令所在的記憶體位置是 。
3. 程式是由許多指令組成,而指令則是由二進位值所定義的,稱為 。
用助憶符號表示這些二進制值,則稱為 。
4. 程式描述「A = A + B」,運算碼是 ,運算元是 。
1-3 指令的提取、解碼與執行
程式是由一道一道指令組成,CPU 的工作就是依序執行這些指令,完成程式指定
的 功 能。 指 令 最 基 本 格 式 可 分 成 運 算 碼 (Operation code, 簡 稱 OP code) 與 運 算 元
(Operand)兩部分,其中 運算碼代表指令執行的功能代碼 ( 做什麼事 ),不同的指令具
有不同的運算碼,會執行不同的指令功能。 運算元則是執行功能過程中需要的素材 。例
如 ADD AX,BX,功能為加法運算,示意為 AX ← AX + BX,將 AX + BX 的內容相加,
再將結果 ( 和 ) 放至 AX 中。其中 AX 與 BX 都是暫存器名稱。指令中 AX 為被加數,
BX 為加數。「ADD AX,BX」這道指令中,ADD 為運算碼,AX 與 BX 為運算元。
微處理機內部必須透過「指令解碼器」將運算碼解碼成為處理可執行的「微碼」,
通常由好幾個子動作(微碼)組成一個運算碼。而運算元則是用來指定運算碼執行時所
需的資料或所需資料的儲存位址。
運算碼只有一個欄位,因為一個指令只會有一個運算碼(只有一種功能),而運算
元則可能有 0 個或多個欄位,用以指定運算過程中需要的資料或儲存結果的地方。依據
運算元數目區分,常見的指令的格式有四位址指令、三位址指令、二位址指令、單位址
指令與零位址指令等,如圖 1-13 所示。
圖 1-13 指令格式
通常每一道指令都需要經過幾個基本週期才能執行完畢。CPU 執行指令的時間稱為
「指令週期」,可分成提取週期、執行週期二個階段,又可細分為提取指令、指令解碼、
計算運算元有效位址、提取運算元、執行指令、存放結果等六個步驟,如圖 1-14 所示。
圖 1-14 指令週期
1 提取指令: 依據 PC 內容,至記憶體提取指令至指令暫存器。提取完畢,PC 自
動遞增,再指向下一道要執行指令的記憶體位址。
2 指令解碼: 經由指令解碼器將存在指令暫存器中的指令解碼為數個微碼,以方
便 CPU 執行。
4 提取運算元: 依據算出的運算元有效位址,由暫存器或記憶體內提取運算期間
需要的資料。
圖 1-15 指令的執行細部解析
1-3 隨堂練習
1. 指令格式可分 與 兩部分,前者只會有 1 個、後者則可能 0 ~多個。
2. 指令週期可概分提取週期與執行週期,其中:
提取週期包括 、
執行週期包括 、 、 、
。
3. CPU 存取記憶體資料時,要存取的位址會放在哪一個暫存器? 。
1-4 微處理機效能評估
微處理機是電腦系統內部最重要的部分,主要負責思考、判斷與計算,也是電腦的靈
魂,它能力強弱將決定電腦的功能強弱。通常我們以 CPU 一次所能處理的「資料位元數」
客觀地區分 CPU 的能力強弱,例如 32 位元 CPU,是指 CPU 擁有每次處理「32 位元資料」
的能力,兩個 32 位元數值的加法,可以一次計算完成。而 64 位元資料的運算,這顆 CPU
至少必須處理兩次。CPU 每次能處理的資料位元愈多,處理資料的速度愈快,表示處理資
料的能力愈強,常見的有 4 位元、8 位元、16 位元、32 位元、64 位元等。
微處理機系統的系統效能(Performance)主要由整個系統的軟硬體架構、運算速
度等因素決定,系統效能所關注的是執行成效,要客觀取得效能資訊,應讓微處理機系
統長時間執行不同複雜度的應用與計算才能決定。為了較快速獲知系統的性能,通常會
執行稱為「benchmark」的這類程式,快速取得量化的效能指標。
一 CPU 效能指標
除了處理資料位元數外,使用 MIPS 與 MFLOPS 方式可以客觀地評估 CPU 的執行
速度。其中 MIPS(Million instruction per second)是指「CPU 每秒鐘所能執行多少百
萬 個 指 令 」, 單 位 為「10 6 指 令 / 每 秒 」。 例 如 10MIPS 是 指 CPU 每 秒 鐘 可 以 執 行 10
百萬(10 7)個指令,當然 MIPS 數值愈大,表示 CPU 執行速度愈快。對於科學或工程
計算機,常需要處理含小數的數值,數值精確度與運算能力尤為重要,比較適合是採用
MFLOPS(Million Floating point instruction per second)量測效能,而 MFLOPS 是指
「CPU 每秒鐘可以執行多少百萬個浮點數指令」,單位為「10 6 浮點指令 / 每秒」,浮
點運算較複雜、較慢,所以大多數電腦的 MIPS 略大於 MFLOPS。如果單位仍不夠大,
則 可 使 用 GFLOPS(Giga FLOPS), 單 位 為「10 9 浮 點 指 令 / 每 秒 」。 通 常 CPU 的 工
作頻率愈高、每次可以處理的指令數目與資料頻寬愈大,都能提高 CPU 的執行效能。
二 I/O 效能指標
針對 I/O 的效能常用頻寬(bandwidth)來評量,頻寬是指 I/O 最快「每秒鐘傳送多
少百萬位元組(megabytes per second)」,單位為「MB/s」,通常 I/O 裝置與傳輸協
定都有傳輸速度的限制,而且比 CPU 慢得非常多。CPU 執行過程會儘可能降低存取 I/O
的次數,以免浪費執行效率。如果採串列傳輸,一次傳輸一個位元,頻寬單位則為「bps」
(bit per second),表示每秒傳輸的位元數,可為 Kbps、Mbps、Gbps 等。
三 記憶體效能指標
記憶體常見的效能評估方法有記憶體頻寬與記憶體存取時間兩種。記憶體頻寬的意
義與 I/O 頻寬相同,是指記憶體與 CPU 之間的資料傳輸速度,單位為 MB/s。存取時間
則是 CPU 存取記憶體所需的平均時間,單位為 ns(nanosecond)或 ps(picosecond)。
四 摩爾定律
Intel 創始人之一高登 · 摩爾(Gordon Moore)於 1965 年提出「 摩爾定律 (Moore's
Law)」,是指「 相同面積的積體電路上可容納的電晶體數目,因製程技術的提升,約
每隔 18 ~ 24 個月便會增加一倍,性能也將提升一倍 」。摩爾定律是簡單評估半導體
製作技術進步的經驗法則,半個世紀以來半導體製程技術的進步也符合摩爾定律向前推
進,使得 IC 產品能持續縮小體積、提升性能、降低成本、增加功能。如圖 1-16 所示摩
爾定律與 Intel 公司出產的 CPU 內部電晶體數目的關係圖,水平軸為年份,從 1970 年
到 2010 年,垂直軸則顯示各型號 CPU 內含的電晶體數目。從圖上可觀察出積體電路製
作技術幾乎呈現線性成長,一個 CPU 晶片內含的電晶體數目大約 5 年左右就提升 10 倍,
進步之快,令人瞠目結舌。
1-4 隨堂練習
1. 有一個 64 位元 CPU 執行頻率 1GHz,執行一個指令需要 2 個時脈,則此 CPU 效能
為 MIPS。
Chapter 1 學習目標回顧
學習目標 1:能描述微處理機發展歷史
1. 資料處理是指將資料進行資料處理(DP),可取得對人類較有意義的資訊。
2. 1971 年 INTEL 公司發表全球第一顆 4 位元微處理機 4004。
3. 依據製造技術區分電腦年代如下:
分類 年代 主要技術 執行速度單位
機械時代 第 0 代電腦 1642 ~ 1945 機械
第 1 代電腦 1945 ~ 1954 真空管 ms
第 2 代電腦 1954 ~ 1964 電晶體 μs
小型與中型積體電路(SSI、
電子時代 第 3 代電腦 1964 ~ 1970 ns
MSI)
第 4 代電腦 1970 ~至今 超大型積體電路(VLSI) ps
第 5 代電腦 1990 ~至今 人工智慧(AI)
學習目標 2:能列舉微處理機的分類與應用
4. 微 處 理 機 依 據 應 用 領 域 的 不 同, 可 以 概 分 為 通 用 型 計 算 機 與 嵌 入 式 系 統 兩 種
類型,兩者比較如下:
微處理機應用類型 技術要求
‧ 高速執行。
‧ 大量的數值計算能力。
通用型電腦系統
‧ 儲存容量大。
‧ 保持擴充彈性,例如連接不同的印表機、外接式儲存媒體。
‧ 實現物件的智慧化控制能力。
‧ 依據嵌入物件系統要求,完成符合的嵌入性能、控制能力與控
制的可靠性。
嵌入式電腦系統
‧ 體積符合嵌入物件的環境。
‧ 執行速度、儲存容量與計算能力只要符合嵌入環境要求即可。
‧ 通常需要接受類比環境感測訊號的能力。
5. 依據電腦處理訊號來分類如下圖:
Chapter 1 學習目標回顧
學習目標 3:能複述微處理機與微處理機系統的結構
6. 「微處理機系統」的組成架構如下圖:
學習目標 4:能解釋指令格式與執行步驟
7. 指令最基本格式可分成運算碼與運算元兩部分。常見的指令的格式如下:
8. CPU 執行指令的時間稱為「指令週期」,可細分如下圖:
學習目標 5:能列舉微處理機系統效能評估方式
9. 通常以 CPU 一次所能處理的「資料位元數」客觀地區分 CPU 的能力強弱。
10. 使 用 MIPS 與 MFLOPS 方 式 可 以 客 觀 地 評 估 CPU 的 執 行 速 度。 其 中 MIPS
是指「CPU 每秒鐘所能執行多少百萬個指令」, 單位為「10 6 指令 / 每秒」。
MFLOPS 是指「CPU 每秒鐘可以執行多少百萬個浮點數指令」,單位為「10 6
浮點指令 / 每秒」。
11. I/O 頻寬是指 I/O 最快「每秒鐘傳送多少百萬位元組(megabytes per second)」,
單位為「MB/s」。
12. 記憶體常見的效能評估方法有記憶體頻寬與記憶體存取時間兩種。
13. 摩爾定律(Moore's Law)是指「相同面積的積體電路上可容納的電晶體數目,
因製程技術的提升,約每隔 18 ~ 24 個月便會增加一倍,性能也將提升一倍」。
Chapter 1 課後習題
選擇題
1-1 1. 4004 為 Intel 在何年代推出第一個一般用途之微處理機?
(A) 1960 年代 (B) 1970 年代 (C) 1980 年代 (D) 1990 以後。
2. 具有人工智慧的電腦是
(A) 第二代 (B) 第三代 (C) 第四代 (D) 第五代 電腦。
3. 一般家庭、學校、個人所使用的電子計算機為
(A) 混合型電子計算機 (B) 類比電子計算機
(C) 數位電子計算機 (D) 儲存式計算機。
1-2 4. 下列何者不是電腦五大部門之一?
(A) 輸入單元 (B) 輸出單元 (C) 暫存器 (D) 記憶體。
5. 下列描述何者正確?
(A) 一計算機系統包含輸入、輸出、控制、記憶、算術及邏輯運算等五
個單元 (B) 控制單元能理解,並且翻譯及執行所有的指令及儲存結果
(C) 所有的資料運算都是在 CPU 的控制單元中完成 (D) 以上各答案皆是。
6. 電腦中執行算數與邏輯運算是在
(A) 控制單元 (B) 中央處理單元 (C) 記憶單元 (D) 輸入 / 輸出單元。
7. 微電腦中,負責解釋指令的是
(A) 輸入單元 (B) 算術邏輯單元
(C) 控制單元 (D) 暫存器單元。
8. 電腦的五大單元中,何者專門負責整體系統的指揮控制?
(A) 輸入單元 (B) 算術 / 邏輯單元 (C) 記憶單元 (D) 控制單元。
1-3 9. 微處理機執行程式記憶體中的指令,下列何者為正確之執行順序?
(A) 解碼(Decode)→執行(Execute)→提取(Fetch)
(B) 提取(Fetch)→執行(Execute)→解碼(Decode)
(C) 提取(Fetch)→解碼(Decode)→執行(Execute)
(D) 解碼(Decode)→提取(Fetch)→執行(Execute)。
Chapter 1 課後習題
11. 微處理機之運算碼(Op-code)告訴微處理機做下列哪一件事?
(A) 做什麼事 (B) 去哪兒做事
(C) 去哪兒並且做什麼事 (D) 負責處理註解的資料。
Chapter 1 課後習題
問答題
1. 請依據製造技術的演進敘述電腦的發展年代?
2. 請比較通用型電腦與嵌入式電腦的不同?
3. 請說明微處理機系統的組成架構?
ap
ter 12
2 微處理機硬體架構
節
Ch
本章節次 學習目標
2-1 微處理機系統組成架構 1. 能描述微處理機系統的組成架構。
2-2 微處理機運作原理 2. 能解釋微處理機基本運作原理。
2-3 記憶體裝置 3. 能列舉微處理機系統的記憶體階層。
2-4 位址解碼與擴展 4. 能計算與設計位址解碼電路。
2-5 輸出入裝置 5. 能說明輸出入裝置運作原理
學習目標回顧 6. 能說明常見匯流排標準特性。
課後習題
2-1 微處理機系統組成架構
微處理機系統主要由算術邏輯單元(ALU)、控制單元(CU)、記憶體單元(MU)、
輸入單元(IU)與輸出單元(OU)五大單元組成,其中 CU 與 ALU 可合稱為 CPU(中
央處理單元),負責執行指令,運算、處理與控制整個微處理機系統。IU 與 OU 則可合
稱 IOU(輸出入單元),負責對輸入裝置與輸出裝置的資訊溝通橋樑。在 CPU 與記憶體、
輸出入單元之間,負責傳遞訊息的接線稱為 匯流排 (bus),如同公車將旅客由一站運
送至另外一站。1 條傳輸線可以傳輸 1 bit 的訊息,匯流排即多條傳輸線傳輸相同屬性的
訊息,一次可以傳輸多 bits 訊息。
一 系統匯流排
依據傳遞的訊息種類不同,匯流排可分為資料匯流排、位址匯流排與控制匯流排三
種,用來連接電腦主要單元之間的訊息傳遞,合稱為 系統匯流排(System Bus),如圖 2-1
所示,各單元間以匯流排的連接方式表達電腦架構,箭頭方向說明訊息的流動是單向或
雙向。週邊裝置並沒有與系統匯流排直接連接,是另外透過輸出入單元與 CPU 進行資
料傳輸。
圖 2-1 以匯流排方式表達電腦架構
1 資料匯流排
資料匯流排 (Data Bus)是 CPU 用來傳送資料的通路,為雙向傳遞,可能
是 CPU 送資料給記憶體或 I/O,也可能是記憶體或 I/O 送資料給 CPU。送達的
位置由位址匯流排上的內容(即位址)決定。CPU 的資料匯流排的接線數目(或
2 位址匯流排
位址匯流排 (Address Bus)為單向傳遞位址,傳送資料匯流排內容(即資
料)寫入或讀取的位置。位址皆由 CPU 送出至記憶體或 I/O 週邊裝置。相對於
資料匯流排載送資料,位址匯流排是 CPU 用來載送指定裝置位置的「位址」。
傳送資料時,需要同時使用資料匯流排(傳送資料)與位址匯流排(傳送位址)
才能完成工作。
如 圖 2-2 示 意 中 央 處 理 單 元 與 記 憶 體 間 匯 流 排 工 作 的 關 係。 位 址 匯 流 排
A 2 ~ A 0 傳送 CPU 要到主記憶體讀取或寫入的位址,例如 000 表示讀或寫的位
址 為 000 處。 讀 取 時, 資 料 匯 流 排 D 7 ~ D 0 負 責 將 位 址 000 的 資 料 00001010
透過資料匯流排傳送回 CPU。寫入時,則是將 CPU 要寫到記憶體的資料(事
先放在 MDR)寫到位址 000 處,原來資料會被覆蓋。
圖 2-2 位址與資料匯流排聯合工作
3 控制匯流排
控制匯流排 (Control Bus)為單向傳遞控制信號,由 CPU 發出控制信號,
送至記憶體或 I/O 週邊裝置。微處理機系統中,控制匯流排主要載送 CPU 控制
對外界裝置(記憶體或週邊裝置)的動作模式,例如指定記憶體或週邊裝置的
讀取、寫入等動作。大多數的記憶體或週邊裝置都接受由 CPU 送來的控制信號,
如寫入(write)、讀取(read)、ALE(位址閂鎖致能)等控制信號。
二 CPU 寫入資料到記憶體
將 CPU 的 MDR 暫存器內容,傳送到記憶體指定位置,就是寫入(write)動作,
只要搭配暫存器、三種匯流排,就可以完成指定動作,如圖 2-3 所示。
圖 2-3 寫入動作分析
三 CPU 從記憶體讀取資料
將 MAR 指定記憶體位置的內容,傳送到 CPU 內部的暫存器 MDR,稱為讀取(read)
動作,如圖 2-4 所示讀取動作的步驟。
圖 2-4 讀取動作分析
四 微處理機的內部架構範例
8086 是 Intel 公 司 一 顆 成 功 的 16 位 元 微 處 理 機, 下 面 以 8086 作 為 一 個 實 用 微 處
理 機 的 範 例。 圖 2-5 為 8086 的 內 部 架 構 圖 示 意, 分 為 匯 流 排 介 面 單 元 (bus interface
unit,簡稱 BIU)與 執行單元 (execute unit,簡稱 EU)兩個獨立的單元,可以同時分
別獨立的工作,提高執行效率。
圖 2-5 8086/8088 內部架構圖
五 指令的管線處理
將每個指令週期簡化為提取指令與執行指令兩個階段來解釋指令週期重疊的意
思。如果循序地執行,即提取第一道指令、執行第一道指令之後,再繼續提取第二道指
令、執行第二道指令…。這樣循序執行指令相當沒有效率,現在的 CPU 大都利用序列
(Queue)結構的先進先出(First In First Out)特性,進行「 管線 」方式處理以提高效率。
圖 2-6 指令序列的動作
表 2-1 循序執行指令
時脈 1 2 3 4 5 6 7 8 9 10 11 12
提取 執行
指令 1
指令 1 指令 1
提取 執行
指令 2
指令 2 指令 2
提取 執行
指令 3
指令 3 指令 3
提取 執行
指令 4
指令 4 指令 4
提取 執行
指令 5
指令 5 指令 5
提取 執行
指令 6
指令 6 指令 6
表 2-2 管線執行指令
時脈 1 2 3 4 5 6 7
提取 執行
指令 1
指令 1 指令 1
提取 執行
指令 2
指令 2 指令 2
提取 執行
指令 3
指令 3 指令 3
提取 執行
指令 4
指令 4 指令 4
提取 執行
指令 5
指令 5 指令 5
提取 執行
指令 6
指令 6 指令 6
有些狀況會使管線作業的效率大打折扣,例如提取指令與執行指令的時間並不相等,
通常執行指令花費時間比較久,會有所謂等待時間,提取動作會有閒置的狀況。另外,
提取指令通常是依序提取指令,如果有條件分支(例如 IF 選擇結構)或跳躍指令(例如
GOTO、JMP 指令),預先提取在指令序列的指令會變成無效,將會被清空,必須重新提取。
六 范紐曼結構與哈佛結構
傳統的計算機大都採用 范紐曼 (Von Neumann)結構,如圖 2-7(a) 所示,典型的范
紐曼結構僅具有 CPU、記憶體與 I/O 等硬體單元,屬於「 程式儲存式(stored-program)」
計算機,程式與資料共用一個記憶單元,程式(指令)和資料一起儲存在同一個記憶體
的不同位置,只有一組位址及資料匯流排。
從圖 2-7(a) 可看出這種結構只有一組位址匯流排與資料匯流排,負責提取指令或存
取資料,所以指令寬度與資料寬度通常相同。由記憶體提取指令時,無法同時存取記憶
體的資料。目前使用范紐曼結構的 CPU 和微控制器種類有很多,例如 Intel 公司的 x86
系列、ARM 公司的 ARM7、MIPS 公司的 MIPS 處理機等。
位址匯流排
中央處理單元
資料匯流排
CPU
主記憶體 輸出入單元
(程式與資料) (I/O 埠)
(a) 范紐曼結構
(b) 哈佛結構
圖 2-7 范紐曼與哈佛結構
2-1 隨堂練習
1. 小艾設計一個微處理機系統,想要擴充記憶體容量,請問他可以採取以下哪個策略
( 可複選 ) ?
(A) 擴大位址匯流排寬度 (B) 擴大資料匯流排寬度 (C) 擴大控制匯流排寬度。
2. 當 CPU 有 32bits 資 料 匯 流 排 24 位 元 位 址 匯 流 排, 表 示 支 援 的 最 大 記 憶 體 容 量 為
bytes。
3. 因為 COVID-19 關係,小健到西藥房排隊買口罩,排前面的人先買到口罩。這樣很
像微處理機課堂講過的哪種結構的運作?
4. 以匯流排角度區分,計算機組成結構可概分為 與 。
2-2 微處理機運作原理
微處理機系統是一套可以連續執行指令的硬體系統,包括中央處理單元、記憶體與
輸出入單元。執行指令的工作主角是 CPU,考量 CPU 的工作,不外乎提取指令、解碼
指令、提取資料、處理資料與寫入資料等項目,為達成指令的執行,內部至少包括算術
運算、邏輯運算、控制系統、匯流排與暫存器等結構。
2-2-1 基本微運算設計
暫存器是微處理機內部暫時儲存資料的地方,也是一種記憶體,存、取速度非常快,
也是指令執行的主要戰場。CPU 包含許多不同功能的暫存器,並且能在「暫存器之間的
資料進行各種運算」。 微運算 (micro operation)是指暫存器內或暫存器間資料的基本
運算與操作,微運算是執行於一個或多個暫存器中所存資料的基本運算,運算的結果可
能取代原暫存器或傳遞到其他暫存器。微運算包括載入、清除、移位與計數等,例如一
個「可清除 / 載入的移位暫存器」就可執行移位微運算。指令透過 指令解碼器 解譯成數
個微運算,CPU 依序連續進行這些微運算就可以完成指令功能。
Write:M[AR] ← R1 ;將 R1 暫存器資料傳遞到記憶體位址 AR 處。
微處理機提供許多微運算,執行一道指令可透過組合這些微運算,達成指令功能。
最常用的微運算可分為四大類,分別說明如下。
1 暫存器間的資料傳遞微運算: 將一個暫存器內容傳至另一個暫存器。
2 算術微運算:對暫存器內的數值進行算術運算。基本的算術微運算通常包括加、
減、遞增、遞減與取補數等運算,通常不包括乘與除運算。
4 移位微運算: 對暫存器內的資料進行移位運算,例如左移、右移、循環左移、
循環右移、算術左移與算術右移等。
四種常用微運算整理如表 2-3,除了說明微運算功能外,也以符號方式提供一些微
運算的範例,並說明範例的功能。
表 2-3 常見的微運算
類別 說明 範例
暫存器間 將 暫 存 器 的 二 進 制 值 傳 遞
R1 ← R2 ‧ 將 R2 資料傳遞給 R1
資料傳遞 (覆寫)給另一個暫存器
R3 ← R1 + R2 ‧ R1 內容與 R2 內容相加,結果傳遞給
R3
R3 ← R1 – R2 ‧ R1 內容與 R2 內容相減,結果傳遞給
對暫存器內的數值進行算術
算術 R3
運算,例如加、減、遞增、
微運算 R2 ← R2 + 1 ‧ R2 內容遞增(加 1)
遞減等。
R1 ← R1 – 1 ‧ R1 內容遞減(減 1)
R2 ← R2 ‧ R2 取 1 的補數
R1 ← R1 + 1 ‧ R1 取 2 的補數
R1 ← R1 AND R2 ‧ R1 與 R2 進行 AND 運算,結果送至
對暫存器內的資料進行邏
邏輯 R1
輯 運 算, 例 如 AND、OR、
微運算 R2 ← R2 XOR R1 ‧ R2 與 R1 進行 XOR 運算,結果送至
XOR 等運算。
R2
移位 對暫存器內的資料進行移位 R1 ← shl R1 ‧ 暫存器 R1 內容左移
微運算 運算,例如左移、右移等。 R2 ← shr R2 ‧ 暫存器 R2 內容右移
架構一個可執行上述各項基本微運算組合成的微處理機,就可執行簡單的指令。下
面將從四種微運算的電路設計談起,進行微處理機的架構設計說明。
一 暫存器間的資料傳遞設計
圖 2-8 可達成 R0 ~ R3 暫存器之間的資料傳送功能,R0 ~ R3 為 4bits 暫存器,提
供運算時的暫時存放資料之用,資料可能由記憶體讀取,也可能是運算過程暫時結果。
圖中利用多工器選擇暫存器對象,選擇線 S 1S 0 功能如圖中真值表所示。四個暫存器輸入
連接在一起,D I 為資料控制接腳,D I 為 1 時暫存器輸入資料傳遞到輸出,D I 為 0 時則
不會,輸出保存原資料不變。S 1、S 0、D I 都是由控制單元發出,依據指令的需要來決定。
圖 2-8 暫存器間資料傳遞電路
二 算術邏輯單元的設計
通常 ALU 都提供多種運算,包含算術、邏輯、移位與比較運算等,都可以使用多
工器達成功能的選擇,因為運算功能頗多,為降低表達的複雜度,圖 2-9 為邏輯運算多
工電路,只表示四種邏輯運算以多工器達成選擇運算的功能,圖中 S 5S 4 可選擇運算的功
能,如真值表所示。同樣地,如果要設計算術運算,加(ADD)、減(SUB)、乘(MUL)
與除(DIV)四則運算,作法雷同,使用相同結構即可完成算術運算多工電路。
圖 2-9 邏輯運算多工電路
圖 2-10 暫存器算術運算電路
電路中用了數個多工器、解多工器,完成資料傳送的路徑選擇。為簡化分析過程,
圖中 ALU 每次四種加減乘除都會執行,不符合效能,實作上可以使用控制碼控制一次
只有執行一種運算。底下以指令「ADD R2, R1」為例,說明運算過程控制碼的設計。
第 1 時序:
S 1S 0 = 10,選擇被加數 A 為 R2 的內容,所以運算元 A = R2。
S 3S 2 = 01,選擇加數 B 為 R1 的內容,所以運算元 B = R1。
第 2 時序:S 5S 4 = 00,選擇 ADD(加法)運算。
第 3 時序:S 7S 6 = 10,選擇運算結果送至 R2。
一 4 位元算術運算電路
圖 2-11 所示,使用 4 個 1 位元全加器,搭配 4 個多工器、NOT 閘,組成「4 位元
算術運算電路」,可以執行多種運算工作,包括加法、減法、遞增、遞減等。圖中共 4
個虛線框,每個虛線框內表示 1 位元的算術運算電路。
圖 2-11 4 位元算術運算電路
表 2-5 算術運算微運算
選擇 輸入 輸出
算術微運算
S1 S0 Ci Y D = A + Y + Ci
0 0 0 B D=A+B 加法
0 0 1 B D=A+B+1 含進位的加法
0 1 0 B D=A+B=A–B–1 有借位的減法
0 1 1 B D=A+B+1=A–B 減法
1 0 0 0 D=A 移轉 A
1 0 1 0 D = A +1 遞增 A
1 1 0 1 D=A–1 遞減 A
1 1 1 1 D=A 移轉 A
二 邏輯運算電路
邏輯微運算是指對暫存器的內容值進行位元邏輯運算,運算時將各位元視為獨立的
二進位進行指定的邏輯運算,例如兩個 4 位元值進行邏輯運算,即上下「位元對位元」
進行運算,下面範例為 AND 與 OR 運算。
邏輯微運算的硬體設計需要對暫存器中的每一個位元或兩個位元之間加入邏輯運算
的電路,來執行邏輯運算。通常計算機中一般只用到 AND、OR 、XOR 與 NOT 四種基
本運算,其他邏輯運算則可用這四種基本運算推導而得。圖 2-12 使用邏輯電路與 4 對 1
多工器組成 1 位元的邏輯運算,透過選擇輸入 S 1S 0 來決定邏輯運算的種類。例如需要 4
位元邏輯運算電路,則是擴充組合 4 個圖 2-12 電路。
圖 2-12 1 位元邏輯運算電路
三 移位運算電路
移位運算是指將暫存器的內容值以串列的方式傳遞(移動),高位元往低位元移動
(右移),或低位元往高位元移動(左移)。左移運算時,串列資料由最右端傳入位元;
右移運算時,串列資料則由最左端傳入位元。依據傳入位元的方式,移位微運算可分為
邏輯移位、循環移位及算術移位三種,如圖 2-13 所示,每一種移位運算又可分為右移
與左移兩種。
圖 2-13 移位運算
邏輯移位運算是一種傳入位元填入 0 的移位方式,邏輯右移,簡記 shr,每個位元
往右邊移動 R 0 捨棄,R n-1 留下的空位填 0。同理,邏輯左移,簡記 shl,每個位元往左
邊移動,R n-1 捨棄,R 0 留下的空位填 0。
循環移位運算則是連接暫存器的最低與最高位元的移位方式,循環右移,簡記 cir,
每個位元仍是往右邊移動,R 0 值填到 R n-1。循環左移,簡記 cil,每個位元往左邊移動,
R n-1 值填到 R 0。
算術移位是一種針對有號數進行左移或右移的運算,移位後正負符號不變。所以操
作上,左右位元移動時,符號位元不變。算術右移實際上就是將有號二進制數值「除 2」,
反之,算術左移是將有號二進制數值「乘 2」。
圖 2-14 4 位元邏輯移位運算電路
圖 2-15 4 位元循環移位運算電路
四 組合簡易 ALU
如圖 2-16 所示為 1 位元簡單的 ALU 架構,圖中算術運算與邏輯運算方塊為圖 2-11、
2-12 圖中的「虛線框內」,以 1 位元為單位設計組成的。
圖 2-16 簡單 ALU 設計
2-2-3 微處理機的控制單元
指令包含運算碼與運算元,運算碼由控制單元進行指令解碼後,依序啟動控制訊
號,進行微運算,完成指令功能。換句話說,指令解碼就是產生一連串的控制訊號,驅
使數個微運算依序執行,完成指令功能。依據解碼方式不同,控制單元的類型可分為固
線式控制單元與微程式控制單元兩種。
使用傳統的邏輯電路進行解碼稱為固線式(hardwired)控制單元,這種方式採純硬
體式依序產生控制訊號,解碼速度比較快,但設計彈性小,一旦設計完成更動不易,當
提供的指令類型越多時電路會愈複雜。而另一種電路較精簡、有彈性,且採系統化的設
計方式,稱為「 微程式 」(microprogramming)控制單元
控制記憶體中,每個控制字組含有一個微指令(micro instruction),微指令可指
定一個或多個微運算,一連串的微指令則組成微程式(microprogram)。控制單元運作
時,微程式並不需要更改,所以控制記憶體可以是唯讀記憶體(ROM)。大多數基於精
簡指令集計算機(RISC)架構的計算機是使用固線式控制,而非微程式控制。
圖 2-17 微程式控制單元動作順序
2-2 隨堂練習
1. 暫存器之間的資料進行各種運算,稱為 。
2. 常 見 的 微 運 算 可 分 為 、 、 與
等四類微運算。
3. 依據解碼方式不同,控制單元的類型可分為 與 兩種。
2-3 記憶體裝置
具備儲存資料能力的裝置都稱為記憶體,廣義的記憶體包含微處理機內部的 暫存器
(register),以及 快取記憶體 (cache memory)、主記憶體的 ROM 與 RAM,甚至能
離線儲存的軟碟、硬碟與光碟等。記憶體的分類有多種講法,最常用的是依據記憶體所
在位置(與微處理機的相對位置)來區分,可分為 主記憶體 (main memory)與 輔助記
憶體 (auxiliary memory)。其中主記憶體離微處理機較近,而輔助記憶體需要透過輸
出入單元進行資料存取工作,如圖 2-18 所示。
圖 2-18 微處理機系統與記憶體
如圖 2-18 所示微處理機系統中的記憶體關係圖,其中以中央處理單元為主角出發,
內部有暫存器,是除了算術邏輯單元與控制單元外,另一個執行指令時重要的角色。
快取記憶體則可能在中央處理單元內部,或介於中央處理單元與主記憶體之間,以 L1
(Layer 1,第 1 層)快取與 L2(Layer 2,第 2 層)
快取稱呼之。而主記憶體是在微處理機系統內部,
CPU 可以直接讀與寫。而輔助記憶體則是在系統
之外,存取時需要透過輸出入單元。圖 2-19 顯示
記憶體階層間的特性關係,愈接近中央處理單元,
存取速度愈快、價格成本愈貴,容量也就無法太
大。反之,階層愈下方,則講求容量很大,很便
宜,但存取速度可能慢一些!
圖 2-19 記憶體階層
主記憶體是微電腦執行程式時必備的裝置,因為現代的微處理機系統都採「內儲
式」執行程式,程式必須先載入主記憶體內,微處理機才能執行,所以主記憶體的存取
速度直接影響電腦的效率。目前電腦使用的主記憶體大都使用半導體技術製造,可概分
為 唯讀記憶體 (Read Only Memory,簡稱 ROM)與 隨機存取記憶體 (Random Access
Memory,簡稱 RAM)。
ROM 只能讀取資料,不可任意寫入資料,最大的優點是可永久保存資料,即具有
非揮發性,即使沒有電源,資料仍然存在,不會消失,適合用來儲存開機時執行的 基本
輸出入系統 (BIOS,Basic Input Output System)的程式碼。RAM 可隨時讀取或寫入
資料,但是具有揮發性,一旦關機,資料將立即消失。其他例如暫存器、快取記憶體都
視為主記憶體,使用 RAM 技術,並都具有揮發性。通常談論電腦的記憶體容量,就是
指 RAM,並不包括 ROM。ROM 或 RAM 的讀取與寫入的動作很類似,但是位址分配
空間不同,例如儲存 BIOS 程式的 ROM,大部分配置在記憶體位址的最後面。
輔助記憶體大都為非揮發性,資料都可永久保存,採用磁或光的技術。例如硬式磁
碟、磁帶、光碟機等,需要配合機械結構才能完成存取動作,存取速度較慢,但因儲存
容量較大、成本便宜,仍廣受歡迎並大都可以離線操作,可攜性佳。平常將程式存放在
具非揮發性的輔助記憶體中,執行前載入主記憶體備妥後等待執行。
主記憶體與輔助記憶體都是目前電腦的基本配備,當然儲存容量愈大愈好,但限於
存取速度、體積與價格等,應視需要自行配備,表 2-7 為兩者的比較表。以下僅就常用
的主記憶體 ROM 與 RAM 概略特性提出說明,進一步原理於第 6 章有專節討論。
表 2-7 主記憶體與輔助記憶體特性比較表
特性比較
存取速度 體積 成本價格 存取機率
分 類
主記憶體 快 小 較貴 常存取
輔助記憶體 慢 大 便宜 較少存取
一 唯讀記憶體 ROM
ROM 不具揮發性,電源關閉後,仍能保存原來的資料。ROM 發展至今,雖然已能
以電子方式燒錄與清除,但讀 / 寫時間仍比 RAM 慢。因資料在關機後仍存在,適合儲
存微電腦開機時執行的 BIOS,進行 POST(Power On Self Test,開機自測)動作。依
其規劃內部資料的方式可分為下列幾種。
二 隨機存取記憶體 RAM
RAM 是一種可隨時讀出或寫入資料的記憶元件,但具揮發性,沒有電源資料就會
消失,依其記憶特性又可分 SRAM 與 DRAM 二類。
三 記憶體基本接腳
不 論 是 ROM 或 RAM, 每 個 記 憶 元 件 的 接 腳 可
分 為 位 址 接 腳、 資 料 接 腳、 控 制 接 腳 與 選 擇 接 腳 四
類, 如 圖 2-20 所 示, 透 過 這 四 類 的 接 腳, 記 憶 體 就
能擔任資料的記憶功能,提供資料寫入與資料讀取的
功 能。 圖 2-20 中,A n-1 ~ A 0 為 位 址 接 腳、D n-1 ~ D 0
為資料接腳、WE 與 OE 為控制接腳、CS 為晶片選擇
接腳,各類接腳的功能與動作分別說明如下。
圖 2-20 記憶體的基本接腳
1 位址接腳
所有的記憶體都有位址接腳,用來指定寫入或讀取記憶體內部資料的位置,
位址接腳大都標示為 A 0、A 1、…、A n-1,表示共有 n 支位址接腳,有時簡要標示
為 A n-1 ~ A 0。
記憶體的記憶位置數目從 1K(2 10)到 256M(10 28) 都有,例如記憶體有 10
條位址線 A 9 ~ A 0,位址空間為 2 位址線數 = 2 10 = 1024 = 1K,表示擁有 1024 個位
置可以儲存資料,至於每個位置到底可以儲存多少資料,則由資料接腳的數目決
定,「記憶位置數 * 資料寬度」就是記憶體容量。又例如某記憶體有位址接腳
11 支,表示共有 2K(2 11 = 2048)的記憶位置,以此類推,8K 記憶體有 13 支
位址接腳,因為 2 13 = 8192 = 8K。
2 資料接腳
每個記憶元件都有資料接腳,以供資料的
寫入與讀出,而資料接腳的數目表示每次存取
資料的寬度,大部分的記憶元件有 8 支資料接
腳, 也 就 是 每 次 存 取 資 料 單 位 為 8bits。 如 果
某 個 記 憶 體 位 址 接 腳 16 支、 資 料 接 腳 8 支,
則其記憶容量 = 2 16×8 bits = 64K×8 bits,有
時也描述為 64K bytes。可以想像記憶體容量
為一個平面,如圖 2-21,資料接腳數為這個記
憶 體 的 寬 度, 位 址 接 腳 決 定 高 度 為 2 位 址 線 數,
所以容量(面積)為高度 × 寬度 = 2 位址線數 ×
圖 2-21 記憶體容量示意
資料接腳數。
3 選擇接腳
每個記憶元件都必須有選擇接腳,用來選擇或致能記憶元件。選擇接腳可
能稱為 CS(Chip Select,晶片選擇)或 CE(Chip Enable,晶片致能)等,大
部分皆為低態動作。當 CS = 0 或 CE = 0,該記憶體才可以寫入或讀出資料,或
說,此時記憶體可以進行讀或寫動作!反之,CS = 1 或 CE = 1,該記憶體不動
作。通常微處理機一次只選擇一顆記憶體動作,單一時間只對一顆進行讀取或
寫入動作。這支選擇接腳,讓微處理機可以同時連接多個記憶元件,擴充記憶
體容量。
4 控制接腳
控制接腳就是在記憶體選擇接腳動作後,控制記憶體的動作方式,例如寫
入(write)或讀取(Read)。ROM 只能讀取資料,控制接腳一般為「輸出致
能(Output Enable)」,標示為 OE,當 CE = 0 且 OE = 0,表示 ROM 可以讀
出資料;OE = 1,則資料接腳與外界呈現高阻抗浮接狀態。RAM 可以寫入與讀
取資料,OE = 0 可讀取資料、WE(Write Enable)= 0 可寫入資料。RAM 控制
接腳如果只有一支,可能標示為 R/W。R/W = 1 表示讀取資料,反之,R/W = 0
表示寫入資料。
2-3 隨堂練習
1. 廣義的描述記憶體階層,依存取速度快到慢可分 、 、
與 。
2. 主記憶體大都使用半導體技術製造,可分為 與 兩大類。
3. ROM 可分為 、 、 、 與
。
4. RAM 可分為 與 兩類。
5. 通常記憶體基本接腳可分為 、 、 與 四類接腳。
2-4 位址解碼與擴展
本節將探討微處理機同時連接多個記憶體元件以擴展容量時,採用的位址解碼電路
之運作方式與實際電路組成,也提出記憶體擴展的實例,深入瞭解位址解碼的工作。
2-4-1 記憶體位址解碼原理
微處理機透過三種匯流排與記憶體進行資料讀或寫的動作,當微處理機同時連接多
個記憶元件時,一次只能對一顆記憶元件存取,此時需要透過「位址解碼電路」決定存
取的對象,常見的有線性解碼、完全 / 部分解碼等兩種方式。
一 線性解碼
當微處理機需要連接多個記憶體以擴充記憶容量時,圖 2-22 是直覺的連接方法,
直 接 將 微 處 理 機 的 位 址 與 資 料 接 腳 連 接 到 RAM。 請 注 意, 為 簡 化 電 路 與 分 析 容 易 理
解,記憶體 RAM 的選擇接腳 CS 採用高態動作。圖中低位址接腳 A 9 ~ A 0 並接接到每個
RAM 的位址接腳,A 10 ~ A 13 則是分別接至 RAM0 ~ RAM3 的選擇接腳 CS。另外,控
制接腳 R/W、資料接腳 D 7 ~ D 0 也是並接到各個記憶體 RAM0 ~ 3。
圖 2-22 線性解碼電路
表 2-8 線性解碼位址空間
A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 選取裝置 位址範圍
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0400H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM0 |
0 0 0 1 1 1 1 1 1 1 1 1 1 1 07FFH
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0800H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM1 |
0 0 1 0 1 1 1 1 1 1 1 1 1 1 0BFFH
0 1 0 0 0 0 0 0 0 0 0 0 0 0 1000H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM2 |
0 1 0 0 1 1 1 1 1 1 1 1 1 1 13FFH
1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM3 |
1 0 0 0 1 1 1 1 1 1 1 1 1 1 23FFH
但是採用線性解碼管理記憶體位址空間有其缺點:
1. 使 用 A 13 ~ A 0 共 14 位 元 的 位 址 線, 本 來 應 有 2 14 = 16K 的 位 址 空 間, 但 只 能 用
RAM0 ~ RAM3 共 4 顆記憶體,定址數只有 2 10*4 = 1K*4 = 4K,嚴重浪費記憶體位
址空間。
2. 觀察表 2-8 位址空間分析可知,位址空間不連續,是分散的,有些位址空間沒用到。
例如 RAM1 與 RAM2 之間的位址 0C00H ~ 0FFFH 並沒有使用到。
3. 如果 A 13 ~ A 10 有兩支以上接腳同時為 1,會同時選擇到兩個以上的晶片,造成資料
存取錯誤,需要謹慎操作。例如 A 13 ~ A 10 = 0011 2,同時選擇 RAM0 與 RAM1,資料
同時讀取或寫到 RAM0 與 RAM1,會造成誤動作。
基於以上的缺點,我們通常增加「位址解碼電路」解決,稱為「完全 / 部分解碼」。
二 完 全 / 部分解碼
為解決線性解碼定址空間浪費與位址不連續的缺點,額外使用位址解碼電路可以解
決。延續上例,同樣 CPU 需要存取 RAM0~RAM3 四顆記憶體,連接的方法是:
1. 將 CPU 的 R/W、資料匯流排與四顆記憶體的資料匯流排接在一起。這與線性解碼的結
構相同。
2. 將 RAM0 ~ RAM3 選址線 A 9 ~ A 0 與 CPU 較低位元的位址線 A 9 ~ A 0 接在一起。這
也與線性解碼結構相同。
3. 利 用 較 高 位 元 位 址 線(2 條, 因 為 2 2 = 4, 所 以 可 以 選 擇 四 個 記 憶 體 )A 11 ~ A 10 輸
入 2×4 解碼電路,以驅動指定的記憶體的選擇接腳。解碼電路輸出連接至 RAM0 ~
RAM3 的選擇接腳 CS。
圖 2-23 完全位址解碼電路
表 2-9 解碼器與晶片選擇動作
輸入 輸出
選擇的記憶體
A 11 A 10 Y3 Y2 Y1 Y0
0 0 1 1 1 0 RAM0
0 1 1 1 0 1 RAM1
1 0 1 0 1 1 RAM2
1 1 0 1 1 1 RAM3
表 2-10 完全解碼位址分配
A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 選取裝置 位址範圍
0 0 0 0 0 0 0 0 0 0 0 0 000H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM0 |
0 0 1 1 1 1 1 1 1 1 1 1 3FFH
0 1 0 0 0 0 0 0 0 0 0 0 400H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM1 |
0 1 1 1 1 1 1 1 1 1 1 1 7FFH
1 0 0 0 0 0 0 0 0 0 0 0 800H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM2 |
1 0 1 1 1 1 1 1 1 1 1 1 BFFH
1 1 0 0 0 0 0 0 0 0 0 0 C00H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM3 |
1 1 1 1 1 1 1 1 1 1 1 1 FFFH
當微處理機可以管理的位址空間比實際連接記憶體總空間還大時,可以採用部分解
碼電路,通常可以簡化解碼電路的複雜度。延續上例,但是只連接兩個記憶體 RAM0 與
RAM1,也就是微處理機可以管理 4K 空間,但只連接 2K 空間的記憶體,如圖 2-24 所示。
部分解碼電路位址解碼時只使用部分位址進行解碼,如圖中,只使用 A 10 進行記憶體選
擇,當 A 10 = 0 時選擇 RAM0,A 10 = 1 時選擇 RAM1。請注意,此時 A 11 為空接,沒有
參與解碼工作。
圖 2-24 部分位址解碼電路
表 2-11 部分解碼位址分配
A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 選取裝置 位址範圍
0 0 0 0 0 0 0 0 0 0 0 0 000H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM0 |
0 0 1 1 1 1 1 1 1 1 1 1 3FFH
0 1 0 0 0 0 0 0 0 0 0 0 400H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM1 |
0 1 1 1 1 1 1 1 1 1 1 1 7FFH
1 0 0 0 0 0 0 0 0 0 0 0 800H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM0 |
1 0 1 1 1 1 1 1 1 1 1 1 BFFH
1 1 0 0 0 0 0 0 0 0 0 0 C00H
‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ ‧ RAM1 |
1 1 1 1 1 1 1 1 1 1 1 1 FFFH
2-4-2 位址解碼電路
解碼電路對整個微處理機系統對記憶體或 I/O 的資料存取,有著不可或缺的重要性,
可以使用以下幾種方法製作負責位址分配的「完全位址解碼電路」,兩條位址線 A 11、
A 10 選擇四個 RAM0 ~ 3。
一 使用邏輯閘製作位址解碼器
最簡單的位址解碼電路就是使用邏輯閘,因為 NAND 閘輸出是低態動作,而 CS 也
是低態動作,兩者配合較為簡單,所以如果使用邏輯閘製作解碼電路大都會選用 NAND
閘。如圖 2-25 所示解碼電路,完成表 2-10 的位址解碼。如果記憶體的晶片選擇腳是高
態動作,則需要在 NAND 閘輸出接上 NOT 閘。
圖 2-25 使用邏輯閘製作位址解碼電路
二 使用 74LS138 製作位址解碼器
74LS138 是實驗時常使用的位址解碼器,如圖 2-26 所示,它是一個 3×8 的解碼器,
有 A、B、C 三個選擇輸入,依據真值表如表 2-12 所示,決定 Y0 ~ Y7 哪一個為低電位
輸出。
圖 2-26 74LS138 外觀與接腳圖
表 2-12 74LS138 的真值表
輸入
輸出
致能 選擇
G2A G2B G1 C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 0 1 0 0 0 1 1 1 1 1 1 1 0
0 0 1 0 0 1 1 1 1 1 1 1 0 1
0 0 1 0 1 0 1 1 1 1 1 0 1 1
0 0 1 0 1 1 1 1 1 1 0 1 1 1
0 0 1 1 0 0 1 1 1 0 1 1 1 1
0 0 1 1 0 1 1 1 0 1 1 1 1 1
0 0 1 1 1 0 1 0 1 1 1 1 1 1
0 0 1 1 1 1 0 1 1 1 1 1 1 1
1 × × × × × 1 1 1 1 1 1 1 1
× 1 × × × × 1 1 1 1 1 1 1 1
× × 0 × × × 1 1 1 1 1 1 1 1
各 個 Y 輸 出 被 接 至 記 憶 體 的 CS 接 腳, 所 以 要 實 現 表 2-10 位 址 分 配 表, 只 要 將
A11 與 A10 接 至 74LS138 的 輸 入 B 與 A,C 空 接,Y0 ~ Y3 分 別 接 至 RAM0 ~ RAM3
的 CS 接 腳。 請 注 意,74LS138 除 了 A、B、C 三 支 輸 入 接 腳 外,74LS138 尚 有 G1、
G2A、G2B 三支輸入致能接腳,由表 2-13 真值表得知,解碼器動作時,必須符合(G1、
G2A、G2B)=(1、0、0)的動作條件。
2-4-3 記憶體位址擴展實例
可 以 依 據 需 要 的 記 憶 體 結 構, 組 合 多 顆 記 憶 體 組 成 指 定 的 容 量 與 結 構, 例 如 上
例, 以 4 顆 1K×8bits 組 成 4K×8bits 的 結 構, 一 次 只 有 一 顆 記 憶 體 被 選 到, 組 合 前
後資料寬度一樣都是 8bits。也可以組成較寬的資料寬度,例如 2 顆 1K×4bits 組合成
1K×8bits。另外,DRAM 的資料接腳有些只有 1bit、2bits 等不同類型,可以透過不同
的電路連接,達成需要的記憶體架構,以下舉例為 2 顆 1K×4bits 組成 1K×8bits,及
16 顆 1K×1bit 組成 4K×4bits 的結構。
一 2 顆 1K×4bits 組成 1K×8bits
如圖 2-28 所示,使用 2 顆 1K×4bits 組成資料寬度較寬的 1K×8bits 結構,作法是
將 CS 接在一起,表示兩顆記憶體會同時被選到,同時動作,每顆輸出 4bits 資料,所以
共可輸出 8bits 資料。而 A 9 ~ A 0 並接,以選擇記憶體內部的位址。為簡化電路,圖中
省略控制接腳的連接關係,
二 16 顆 1K×1bit 組成 4K×4bits
總容量
以 下 試 著 組 合 多 顆 1K×1bit 為 4K×4bits 的 記 憶 體 空 間, 共 需 要
單顆容量
4K×4bits
= = 16 顆 1K×1bit 記 憶 體, 如 圖 2-29 所 示, 圖 中 所 有 記 憶 體 的 A 9 ~ A 0 與
1K×1bit
R / W 都連接在一起,因為電路頗為龐大,省略連接關係。整個架構中共有四列記憶體,
每列 4 個記憶體的 CS 連接在一起,會同時動作,提供 4bits 的資料存取。由 A 11、A 10 透
過 74138 進行解碼,選擇哪一列記憶體動作,(A 11、A 10)=(0、0)時選擇最上面第 0 列,
(0、1)時選擇第 1 列,以此類推,每一列 4 個記憶體同時輸出,共 4bits。
2-4 隨堂練習
1. 當微處理機同時連接多顆記憶元件時,會使用 。
2. 常見的位址解碼電路有 與 兩種。
2-5 輸出入裝置
所有輸出入裝置(Input/Oput Device)因不同需求,設計著不同的介面、不同的傳
輸協定、不同的結構等,都需要透過輸出入單元的聯繫,才可以與 CPU 進行資料傳輸。
在此主要是探討裝置與 CPU 的資料傳輸與控制原理、特色,完成 CPU、記憶體與 I/O
的金三角合作關係。但是有些問題需要先釐清:
2-5-1 位址的分配
如同 CPU 讀、寫記憶體的概念,在電腦系統中,每台 I/O 週邊設備都需要一個以
上的專用位址,稱為 埠位址 (port address)以別於記憶體位址,埠位址作為 I/O 裝置與
CPU 傳輸資料的窗口。例如 IBM PC 中分配 PS/2 滑鼠的埠位址為 03F8H ~ 03FFH 之間,
當 CPU 讀取 03F8H 在位址匯流排時,表示選擇滑鼠為資料傳輸的對象,可讀取滑鼠輸
入的資料。對於埠位址的規劃,常見有 記憶體映對式 IO (memory mapping I/O)與 隔
離式 I/O (Isolated I/O)兩種方式。另外,CPU 與 I/O 需要透過匯流排傳輸資訊,可能
採用下面三種方法與記憶體、I/O 溝通。
1. 使用個別的匯流排,一組連接記憶體、一組連接 I/O。
2. 記憶體與 I/O 使用公用(共同)的匯流排,但使用不同的控制線。
3. 記憶體與 I/O 使用公用的匯流排與控制線。
一 隔 離式 I/O
如果採用上述方法 2,使用共用匯流排作為 CPU、記憶體與 I/O 之間的資訊傳輸,
記憶體與 I/O 有個別的讀、寫控制線,CPU 可藉由讀、寫訊號指定資訊傳遞的對象是記
憶體或 I/O。I/O 傳輸期間 CPU 控制 IOR(IO 讀取)、IOW(IO 寫入)兩條控制訊號,
反之,記憶體傳輸期間,CPU 控制 MEMR(記憶體讀取)、MEMW(記憶體寫入)兩
條控制線,這種配置記憶體與 I/O 的位址完全獨立、控制線也分開獨立,稱為隔離式 I/O,
是一種用於公用匯流排的位址指定方式。
二 記憶體映對式 IO
隔離式 I/O 架構中,I/O 與記憶體有自己的位址空間。另外一種方式是將 I/O 與記
憶體使用相同的位址空間,兩者透過位址空間分配識別,CPU 只要有一組讀寫指令,不
用區分操作對象為何,這種配置稱為「記憶體映對式 I/O」,也就是將 I/O 看成記憶體
的一部分,位址空間共用、控制線共用。
此 種 方 式 把 I/O 看 成 記 憶 體 的 一 部 份, 將 記 憶 體 的 部 分 位 址 分 配 給 I/O, 例 如
記 憶 體 位 址 空 間 為 00000H ~ AFFFFH 與 D0000H ~ FFFFFH, 而 I/O 位 址 空 間 為
B0000H ~ CFFFFH, 如 圖 2-31 所 示。 這 種 埠 位 址 規 劃 方 式,CPU 存 取 IO 與 存 取 記
憶體的動作完全相同,只需用同樣的指令就可以了!這樣的模式可以省去額外的 IO 指
令,但也有缺點,因為存取 IO 與記憶體的指令都相同,所以 CPU 無法判斷所存取的資
料或程式碼的對象是記憶體還是 IO,必須嚴格地配置記憶體位址區塊與 IO 位址區塊。
另外,採用這種方式,IO 會佔用記憶體部分位址,浪費一些記憶體位址。曾經盛行的
Apple Ⅱ就是採用記憶體映對 IO 的操作方式。
兩種埠位址規劃方式之間至少有以下不同:
1. 記憶體映對 I/O 使用位址空間的區別來辨識操作的對象是記憶體或是 I/O,所以一律
採用 MEMR 與 MEMW 信號接腳讀取記憶體與 I/O。隔離式 I/O 則是使用控制訊號辨
識操作對象,使用 MEMR 與 MEMW 信號接腳存取記憶體,但是採用 IOR 與 IOW 信
號接腳讀取 I/O。有些 CPU 則是使用 M / IO = 0 與 W / R 來驅動 I/O 裝置。
2. 記憶體映對 I/O 對存取記憶體與 I/O 的指令是相同的。
但隔離式 I/O 存取記憶體與 I/O 的指令是不同的。
圖 2-32 Intel 晶片組連接關係
2-5-3 常見輸出入匯流排標準
一 部 微 電 腦 系 統, 除 了 內 部 的 CPU、 記 憶 體 外, 更 有 大 部 分 的 工 作 需 要 與 外 界
的週邊裝置溝通,例如由掃描器掃瞄圖片、顯示相關訊息在螢幕上、列印報表等,為
因 應 各 種 不 同 的 週 邊 設 備 規 格、 特 性 與 需 求, 發 展 出 各 種 不 同 的「 匯 流 排 標 準 (Bus
standard)」,例如 ISA、VL Bus、PCI 等,它們代表著週邊設備與主機的不同溝通方式。
微電腦備有「擴充槽」,以安排這些不同的匯流排標準,方便使用者依據需要插入
「介面卡」,以連接指定的週邊設備。一般而言,不同的匯流排標準都備有不同的擴充
槽型式,我們大都直接以匯流排標準的名稱,來稱呼擴充槽。不同的匯流排標準,包括
匯流排的協定方式、資料匯流排寬度、匯流排的頻寬等都有不同的標準。目前微電腦系
統對外連接較為常見的匯流排標準可概分為兩類,第一類是在電腦內部裝置擴充插槽,
以介面卡插入插槽形式連接輸出入裝置,例如 PCI、AGP、PCI-E 等,第二類則是標準
化輸出入介面,以插座與接頭形式連接,例如 IDE、SATA、USB、COM 與 LTP 等。
PCI IDE
AGP SATA
圖 2-33 常見匯流排插槽(座)外觀比較
一 PCI
週 邊 元 件 連 接 (Peripheral Component Interconnect, 簡 稱 PCI) 取 代 較 舊 ISA 與
VESA,主要作為電腦主機板連接外部裝置的匯流排標準,常見的 PCI 介面卡包括網路
卡、音效卡、數據機、電視卡和硬碟控制器等,另外也有 USB 和串列埠等擴充埠。早期
也有 PCI 顯示卡,後來被 AGP 取代,現在則由 PCI-E 取代。1992 年由 Intel 發表 PCI 1.0,
32bits
為並列 32 位元資料寬度,工作時脈為 33.33MHz,傳輸速度為 33.33× = 133 MB/s。
8
PCI 利用橋接器與 CPU 連接,可隔離 CPU 與週邊裝置,所以 CPU 不需要浪費時間
等待週邊設備,CPU 的執行效率提升不少。例如 CPU 要傳送資料到週邊設備,可先將
資料寫入橋接器內的緩衝器,再由橋接器負責與週邊設備慢慢傳輸。因傳輸速度的限制,
PCI 目前幾乎被淘汰了,新型微處理機系統已很少看到 PCI 插槽。
二 AGP
加速影像處理埠(Accelerated Graphics Port,簡稱 AGP)是在 1997 年由 Intel 提出,
是一種顯示卡專用介面,採用高速點對點傳輸通道,主要應用在 3D 電腦圖形的加速上。
AGP 可以看成特殊的 PCI 插槽,與 PCI 一樣是 32 位元界面,但 AGP 不能多個插槽共
用一組匯流排。一些主機板設有多條獨立的 AGP 埠,目前 AGP 已被 PCI-E 取代。AGP
有 1x/2x/4x/8x 等不同速度規格,最基本的 AGP 1X 時脈為 66 MHz、資料傳輸速度可達
66M×32bits = 266 MB/s,為 PCI 的兩倍,比較如表 2-14 所示,2x 則為 1x 的兩倍時脈
頻率,以此類推。
表 2-14 AGP 不同版本比較
速度 版本 傳輸通道 有效時脈 資料傳輸速度
AGP 1x 1.0 32 bit 66.6MHz 266 MB/s
AGP 2x 1.0 32 bit 133 MHz 533 MB/s
AGP 4x 2.0 32 bit 266 MHz 1066 MB/s(1 GB/s)
AGP 8x 3.0 32 bit 533 MHz 2133 MB/s(2 GB/s)
三 PCI-E
PCI-E 為 PCI Express 的簡稱,官方簡稱 PCIe,為全雙工點對點串列傳輸系統,意
謂每個通道同一週期內可以雙向傳輸資料。PCI-E 是一個多層協定包括對話層、數據交
換層和實體層等,由於 PCI-E 是基於原有的 PCI 系統,只修改 PCI 實體層,改為串列傳
輸的 PCI-E 標準。
表 2-15 PCI-E 不同版本比較
版 原始 資料傳
發表年 編碼方式 單向單通道頻寬 雙向 16 通道頻寬
本 傳輸率 輸頻寬
1.0 2003 年 8b/10b 2.5GT/s 2Gb/s 250MB/s 8GB/s
2.0 2007 年 8b/10b 5.0GT/s 4Gb/s 500MB/s 16GB/s
1GB/s 32GB/s
3.0 2010 年 128b/130b 8.0GT/s 8Gb/s
(實際 0.9846 GB/s) (實際 31.5 GB/s)
2GB/s 64GB/s
4.0 2017 年 128b/130b 16.0GT/s 16Gb/s
(實際 1.9692 GB/s) (實際 63 GB/s)
4GB/s 128GB/s
5.0 2019 年 128b/130b 32.0GT/s 32Gb/s
(實際 3.9385 GB/s) (實際 126.0 GB/s)
圖 2-34 PCIe 演進
四 IDE
整合性驅動電子設備 (Integrated Drive Electronics,簡稱 IDE),也稱為進階技術
附加裝置(Advanced Technology Attachment,簡稱 ATA),是一種專為硬碟、光碟、
CD/RW 等設計的並列傳輸介面標準,早期只可連接兩台硬碟,加強型 IDE(EIDE)可
連 接 4 台 硬 碟。2002 年 推 出 SATA(Serial ATA) 後, 原 有 的 ATA 改 名 為 PATA(P 意
謂 Parallel,並列),現在幾乎都被淘汰了。
五 SATA
SATA 出 現 已 完 全 取 代 PATA, 具 有 功
耗低、安裝方便、支援熱插拔等優點,為目
前主機板與大容量儲存裝置傳輸介面的主
流, 如 硬 碟 及 光 碟 機 等。SATA 更 改 PATA
的實體層為串列傳輸,有 SATA 1.5Gbit/s、
SATA 3Gbit/s 和 SATA 6Gbit/s 三 種 規 格, 圖 2-35 SATA 插頭與插座外觀
2013 年推出更快速的 SATA Express 規格,
如表 2-16 所示。
表 2-16 SATA 版本比較
版本 發表年 頻寬 理論速度 編碼
SATA 1.0 2003 年 1.5Gb/s 150MB/s 8b/10b
SATA 2.0 2004 年 3Gb/s 300MB/s 8b/10b
SATA 3.0 2009 年 6Gb/s 600MB/s 8b/10b
SATA Express 2013 年 16Gb/s 1969MB/s 128b/130b
六 USB
通用序列匯流排 (universe Serial Bus,簡稱 USB)是目前用得最廣泛的串列傳輸
標準,速度上遠比並列埠(例如 EPP、LPT)與序列埠(例如 COM)等傳統電腦用標
準匯流排快上許多,各版本傳輸速率參考表 2-17 所示。USB 可以使用集線器(Hub)
串接多個裝置,最多串接 127 個裝置,如圖 2-36 所示,使用上相當方便。USB 將於 4-3
專節討論。
圖 2-36 USB 集線器連接方式
表 2-17 USB 版本比較
版本 官方名稱 傳輸速率
USB 1.1 USB 2.0 FullSpeed 12Mbps
USB 2.0 USB 2.0 HiSpeed 480Mbps
USB 3.0 USB 3.2 Gen1x1 5Gbps
USB 3.1 USB 3.2 Gen2x1 10Gbps
USB 3.2 USB 3.2 Gen2x2 20Gbps
一 不同控制信號
輸出入指令 IN(輸入)與 OUT(輸出)的動作與記憶體的讀寫動作很類似,如果
採用隔離式 I/O 則會有不同的控制信號,例如 I/O 使用 IOR 表示讀取,IOW 表示寫入,
而記憶體使用 MEMR 表示讀取,MEMW 表示寫入。
二 速度協調 – 栓鎖與三態緩衝
當 CPU 送資料給 I/O 時,因為 CPU 送出資料的時間極短,大部分的 I/O 都無法在
此短暫時間內完成讀取功能,必須先利用栓鎖器將資料鎖住。但是 I/O 裝置並不全都有
栓鎖的功能,所以必須為輸出入裝置提供栓鎖功能,使 CPU 能將資料送給輸出入設備,
簡單的栓鎖功能可透過如 74LS373 完成。
三 以 74LS373 設計輸出埠
當 74LS373 的 LE = 1(Latch enable, 栓 鎖 致 能 ) 與 OE = 0(output enable, 輸
出 致 能 ), 就 可 將 D 7 ~ D 0 的 資 料 栓 鎖 住, 並 送 至 輸 出 Q 7 ~ Q 0。 參 考 圖 2-39, 執 行
「OUT 99H,AL」, 當 位 址 匯 流 排 A 7 ~ A 0 = 1001 1001 = 99H 時,IOW 信 號 可 順 利
激 勵 74LS373 的 LE 接 腳, 使 74LS373 動 作, 將 資 料 匯 流 排 D 7 ~ D 0 的 資 料 栓 鎖 在 輸
出接腳 Q 7 ~ Q 0,以供慢速的週邊設備讀取。圖 2-40 為 I/O 埠利用 74LS373 連接 8 個
LED 的基本輸出電路的接法。
四 以 74LS244 設計輸入埠
三 態 緩 衝 器 74LS244 具 有 兩 組 4 位 元 獨 立 控 制 的 三 態 緩 衝 器, 其 中 G 1 與 G 2 各
控 制 一 組, 將 G 1 與 G 2 同 時 接 至 低 電 位, 就 可 當 成 8 位 元 的 三 態 緩 衝 器。 圖 2-41 以
74LS244 設計「IN AL,99H」的輸入埠,當位址匯流排送來 99H = 1001 1001 時,同
時 I/O 寫入信號動作 IOR = 0,就能激勵 74LS244 的 G 1 與 G 2,使 74LS244 資料的輸入
與輸出端是連通的。當位址匯流排送來的位址非 99H 時,G 1 與 G 2 將得到高電位,使
74LS244 的輸出是浮接的,也就是電腦內部的資料匯流排與週邊設備的資料線是不導通
的。這樣就可以防止任何不是 CPU 指定的週邊設備送來資料的干擾。除了隔絕 CPU 與
週邊設備外,74LS244 也可提高驅動電流,圖 2-42 展示 74LS244 組成連接 8 位元指撥
開關的基本輸入電路。
圖 2-42 連接 8 位元指撥開關的基本輸入電路
2-5 隨堂練習
1. 常見的 I/O 埠位址規劃方式為 與 兩種。
3. 明君買了一台新電腦,很好奇地仔細看看,但爸爸不准她拆開外殼怕弄壞了,請問
以下哪些是明君不可能看到的 I/O 槽或座? PCI-E、AGP、SATA、IDE、USB
。
4. I/O 介面電路中,輸出埠可用具有栓鎖功能的 、輸入埠可用具有三態
緩衝功能的 。
Chapter 2 學習目標回顧
學習目標 1:能描述微處理機系統的組成架構
1. 依據傳遞的訊息種類不同,匯流排可區分如下圖:
2. 微處理機結構有范紐曼結構與哈佛結構兩種,如下圖所示:
(a) 范紐曼結構
(b) 哈佛結構
學習目標 2:能解釋微處理機基本運作原理
3. 常用的微運算可分為暫存器間的資料傳遞微運算、算術微運算、邏輯微運算、
移位微運算等四大類。
4. 依 據 解 碼 方 式 不 同, 控 制 單 元 的 類 型 可 分 為 固 線 式 控 制 單 元 與 微 程 式 控 制 單
元兩種。大多數基於精簡指令集計算機 (RISC) 架構的計算機是使用固線式控制,
而非微程式控制。
學習目標 3:能列舉微處理機系統的記憶體階層
5. 廣義的記憶體階層包含暫存器、快取記憶體、主記憶體與輔助記憶體。
6. 主 記 憶 體 大 都 使 用 半 導 體 技 術 製 造, 可 概 分 為 唯 讀 記 憶 體(ROM) 與 隨 機
存取記憶體(RAM)。
Chapter 2 學習目標回顧
學習目標 4:能計算與設計位址解碼電路
7. 常 見 的 位 址 解 碼 方 式 有 線 性 解 碼、 完 全 / 部 分 解 碼 等 兩 種 方 式。 常 用 來 組 成
位址解碼電路的有,邏輯閘、74138 解碼器、CPLD/FPGA 等方式。
學習目標 5:能說明輸出入裝置運作原理
8. 對於埠位址的規劃,常見有記憶體映對式 IO 與隔離式 I/O 兩種方式。
9. 為 解 決 I/O 與 CPU 速 度 差 異 太 大 的 問 題, 設 計 北 橋 與 南 橋 兩 個 晶 片, 如 下
圖所示:
學習目標 6:能說明常見匯流排標準特性
10. 常 見 電 腦 內 部 裝 置 擴 充 插 槽, 以 介 面 卡 插 入 插 槽 形 式 連 接 輸 出 入 裝 置, 例 如
PCI、AGP、PCI-E 等。
11. 常 見 標 準 化 輸 出 入 介 面, 以 插 座 與 接 頭 形 式 連 接, 例 如 IDE、SATA、
USB、COM 與 LTP 等。
12. 微 處 理 機 與 眾 多 週 邊 的 速 度 與 資 料 格 式 差 異 太 大, 通 常 會 以 輸 出 入 處 理 單 元
作為仲介處理,如下圖所示:
Chapter 2 課後習題
選擇題
2-1 1. 某一微電腦具有 32 條位址線與 8 條資料線,不外加電路,則它的 CPU 可
直接存取之記憶體位址空間最大可達
(A) 16 MB (B) 256 MB (C) 1 GB (D) 4 GB。
3. 一部 32 位元電腦和 64 位元的電腦通常是以何者為依據?
(A) 控制匯流排之位元數 (B) 資料匯流排之位元數
(C) 程式匯流排之位元數 (D) 位址匯流排之位元數。
4. 下列有關「PC 中匯流排(Bus)」的敘述中,何者有誤?
(A) 匯 流 排 一 般 分 為 資 料 匯 流 排(DataBus), 位 址 匯 流 排(Address
Bus) 和 控 制 流 排(Control Bus) 三 種 (B) Data Bus 是 在 CPU 和
Memory 之 間 傳 送 資 料, 所 以 是 雙 向 性 (C) Address Bus 可 用 來 標 明
Memory 或 I/O Port 位址的地方 (D) Data Bus 的長度和 Address Bus 的
長度必須一樣。
5. 電腦的哪一個部分負責從主記憶體讀取並解釋指令?
(A) 控制單元 (B) 主記憶體 (C) 輸出 / 入單元 (D) 算術邏輯單元。
Chapter 2 課後習題
9. 下列何者負責記錄程式進行時下一指令所在的記憶體位址?
(A) 程式計數器 (B) 記憶體位址暫存器
(C) 記憶體緩衝暫存器 (D) 指令暫存器。
14. 有關記憶體的敘述,下列何者正確?
(A) 斷電後 ROM 中的資料會消失
(B) 斷電後 DRAM 中的資料不會消失
(C)ROM 可清除並重複燒錄使用
(D)EPROM 可清除並重複燒錄使用。
Chapter 2 課後習題
圖 (1)
16. 承上題,此 SRAM 的容量為何?
(A) 2K Bytes (B) 4K Bytes (C) 8K Bytes (D) 16K Bytes。
圖 (2)
Chapter 2 課後習題
2-5 21. Intel 8086 CPU 當 M/IO = 0,RD = 0,表示 CPU 正在執行何種動作?
(A) 讀取記憶體資料 (B) 讀取週邊裝置資料
(C) 將資料寫入記憶體 (D) 將資料寫入週邊裝置。
22. 下列何者不是串列傳輸規格?
(A) IEEE1394 (B) USB (C) RS-232 (D) PCI。
23. 一 8 位 元 微 處 理 機 具 有 界 接 64 K 位 元 組 的 ROM、64 K 位 元 組 的
RAM、64 K 位元組的輸入埠及 64 K 位元組的輸出埠,若此微處理機採
用記憶體對應 I/O(memory mapped I/O),試問其位址線至少需幾條?
(A) 16 條 (B) 17 條 (C) 18 條 (D) 19 條。
Chapter 2 課後習題
問答題
1. 請簡述三種系統匯流排的方向與傳遞訊息。
2. 在微處理系統中,廣義的記憶體包括那些?
3. 試著比較主記憶體與輔助記憶體的特性。
圖 (3)
ap
ter 9
3 微處理機軟體發展流程
節
Ch
本章節次 學習目標
3-1 指令與程式 1. 能描述執行指令過程 CPU 內部的動作。
3-2 定址模式 2. 能列舉與區分常見的定址模式。
3-3 指令集 3. 能描述指令集的意義與類型。
3-4 高階語言與低階語言之轉換 4. 能說明組合語言格式與組譯器的工作。
3-5 微處理機軟體處理程序 5. 能描述程式的開發與執行的過程。
學習目標回顧
課後習題
3-1 指令與程式
上一章已談論微處理機內部的簡單設計概念,也設計一些執行微運算的結構。本節
將從指令的觀點切入,談論指令的細部執行過程等,並設計一個具有軟體架構的簡易微
處理機系統,讓讀者對微處理機的結構有一個更清楚的輪廓。
3-1-1 執行一個指令
每個微處理機都會規範出可執行的指令群,稱為 指令集 (instruction set)。程式設
計師可以參考指令集,安排指令的執行順序,這些依據功能要求安排的指令順序稱為程
式,所謂執行程式,就是微處理機依序執行程式的指令以達成需要的功能。
IR (指令暫存器)為暫時儲存將要解碼、執行的指令。 ID (指令解碼器)負責對
IR 內的指令進行解碼,並利用解碼後的結果依序驅動微處理機計算與運作。指令解碼器
的結果,通常包括數個微運算,只要依序執行這些微運算就可以完成指令的功能。
時脈電路則是負責提供系統統一的動作時序,讓各個單元可以依據同一個步調工
作。另外,記憶體與 CPU 除了位址匯流排與資料匯流排的連接,由 MAR 與 MDR 負責
位址與資料的暫時存放。另外,控制匯流排的 RD 控制讀取資料、WR 控制寫入資料。
圖 3-1 CPU 執行指令示意方塊圖(虛線為控制訊號)
一 指令提取週期工作
指令週期概分為提取週期與執行週期。提取週期的工作是由記憶體提取指令到指令
暫存器 IR,進行指令解碼的動作,這部分的工作主要由控制單元負責。如圖 3-2 中所示,
指示提取週期的動作順序 1 ~ 6 。
圖 3-2 指令提取週期
1 2 3 4 5 6
控制單元產生記憶體讀 IR內容送入ID進行指 將PC加1,指向下一
取信號,讀取MAR所指 令解碼,以解碼指令 個CPU要執行的指
位置內容至MDR。 的工作,解碼出數個 令位置。
微碼,再送至控制信
號產生電路。
二 指令執行週期
指令執行週期要依據解碼後的控制信號指示,完成指令功能。同樣的,在圖 3-3 中
標示動作順序 1 ~ 6 ,以便觀察。這裡假設指令的工作,需要從記憶體提取運算元,
然後由 ALU 進行運算。運算結果再寫入記憶體中。
圖 3-3 指令執行週期
指令執行時,運算元所在位置與取得方式稱為「定址模式」。運算元可能是數值、
或在暫存器內、或在記憶體內。如果在記憶體內,指令需要由記憶體提取運算元內容,
先由控制單元計算運算元有效位址, 1 將位址放置 MAR。控制單元 2 發出信號 RD,
讀取 MAR 所指位置的運算元至 MDR。 3 將運算元送至 ALU 中,然後, 4 進行算術、
邏輯或比較、移位等運算處理。因為運算結果要寫入記憶體中,所以 5 運算結果送至
MDR、目的位址送至 MAR,然後 6 發出 WR 寫入信號,完成回存執行結果的動作。
1 2 3 4 5 6
控制信號產生電路產 ALU執行算術、 配合MAR指定位置與
生記憶體讀取信號, 邏輯運算。 MDR回存資料,產生
讀取MAR所指位置 寫入信號,完成回存
內容至MDR。 結果。
指令執行可能不需要某些步驟,例如「不需要提取運算元」則略 2 、「不需要回存
運算結果至記憶體」則略 6 等,依照執行指令的需要,由控制信號產生電路決定執行
的步驟。
3-1-2 設計一個簡單的微處理機
設計一個微處理機系統,除了硬體結構外,也需要定義可以執行的指令群,即指令
集。程式設計師可以組合這些指令群,完成所需要的程式功能。以下將延續上述的微處
理機結構,設計一個簡單的微處理機系統,指令格式為 8 位元,指令集提供包括暫存器
運算指令與記憶體存取指令等多個指令。
一 暫存器
編碼 暫存器名稱
系 統 中 提 供 通 用 暫 存 器 R1 ~ R3, 共 有 3 個 8 位 元 暫 存 00 無
器,分別給予編碼代號,如右表所示,在指令編碼時使用,其 01 R1
中編碼 00 沒有指定暫存器。除了 R1 ~ R3 以外,當然也需要 10 R2
PC、IR、MAR、MDR 等執行指令必備的暫存器。 11 R3
二 記憶體
整個微處理機系統可存取 8 個記憶體位置(位址),每個
位置寬度 8bits。記憶體位址分別為 000 ~ 111。
三 指令集
整個系統支援暫存器運算指令、記憶體存取指令兩種,定義指令的格式與系統可以
執行的指令如下所述。
1 暫存器運算指令(8bit):分為運算碼、目的暫存器、來源暫存器等三個欄位,
如下圖所示,總長度只需要 7bits,所以最後 1 個位元不需使用。運算碼 3bits,
表示整個微處理機系統最多只能支援 2 3 = 8 個指令。而表達目的與來源暫存器
的位元為 2bits,最多能表示 2 2 = 4 個暫存器,系統只有 3 個暫存器,所以足夠。
運算碼 指令碼 描述
000 END 程式結束
001 ADD Rd,Rs Rd ← Rd + Rs
010 SUB Rd,Rs Rd ← Rd – Rs
011 NOT Rs Rd ← NOT Rs
100 AND Rd,Rs Rd ← Rd AND Rs
101 OR Rd,Rs Rd ← Rd OR Rs
2 記憶體存取指令(8bit):為了存取記憶體資料,系統提供兩個記憶體存取指令,
格式如下表所示,包括 3bits 的運算碼、2bit 的暫存器指示位元、3bits 的記憶
體位址表示位元。
運算碼 指令碼 描述
110 LOAD R1,AD R1 ← M[AD],從記憶體讀取之暫存器
111 STORE R1,AD M[AD] ← R1,由暫存器寫入到記憶體
下面是依據這個微處理機提供的指令集與內部結構,撰寫一個簡單的程式範例,主
要功能是將「兩個記憶體位址的內容相加後,再回存記憶體中」。以下將針對這支程式,
說明系統的處理過程。
組合語言 機械碼 說明
LOAD R1,6 110 01 110 ; 位址 6 的內容載入到暫存器 R1
LOAD R2,7 110 10 111 ; 位址 7 的內容載入到暫存器 R2
ADD R1,R2 001 01 10 0 ; R1 ← R1 + R2
STORE R1,7 111 01 111 ; 將暫存器 R1 內容儲存到位址 7
END 000 00 00 0 ; 程式結束
(1) 提 取 PC 所 指 位 址 的 指 令 到 IR 後,PC 指 向 下 一 道 指 令, 所 以 IR =
11001110、PC = 010。
(2) MAR 直接對應到指令碼低 3 位元,所以 MAR = 110。
(3) 經過解碼、執行後,將記憶體位址 (MAR)110 的內容載入到 R1,所以 R1
= 0000101。
(1) 提 取 PC 所 指 位 址 的 指 令 到 IR 後,PC 指 向 下 一 道 指 令, 所 以 IR =
00101100、PC = 100。
(2) MAR 直接對應到指令碼低 3 位元,所以 MAR = 100。注意,此時不是執
行記憶體存取指令,MAR 內容無意義。
(3) 經過解碼、執行後,將暫存器 R1 內容與 R2 內容相加後放至 R1,所以 R2
不變、R1 = 00001000。
(1) 提 取 PC 所 指 位 址 的 指 令 到 IR 後,PC 指 向 下 一 道 指 令, 所 以 IR =
11101111、PC = 101。
(2) MAR 直接對應到指令碼低 3 位元,所以 MAR=111。
(3) 經過解碼、執行後,將暫存器 R1 內容回存記憶體位址 (MAR)111,所以
R1 不變,記憶體位址 111 的內容變為 00001000。
(1) 提 取 PC 所 指 位 址 的 指 令 到 IR 後,PC 指 向 下 一 道 指 令, 所 以 IR =
00000000、PC = 110
(2) MAR 直接對應到指令碼低 3 位元,所以 MAR = 000。此時不是執行記憶
體存取指令,MAR 內容無意義。
(3) 經過解碼、執行後,這道指令是結束程式。
3-1 隨堂練習
1. 每個微處理機都會規範出可執行的指令群,稱為 。
2. CPU 要讀取或寫入記憶體資料時,要先將操作位址放在 ,將資料放在
。
3. 一個指令分為運算碼與運算元兩部分,如果運算碼為 6bits,則表示微處理機最多可
有 個指令。
3-2 定址模式
指令格式包含「運算碼」與「運算元」兩部分,其中運算元為指令執行期間需要的
資料或儲存該資料的位址(置)。表達運算元所在位置或位址的方法被稱為「定址模式
(addressing mode)」,即由「運算元」取得「運算資料」的過程,也就是換算運算元
為實際位址進而取得運算資料的過程,依據不同的「定址模式」有不同的換算的方式。
為何需要不同的定址模式呢?指令執行過程需要存取運算元,因指令格式的關係,
位址欄寬度受到限制,而運算元所在位置可能含在指令中,或暫存器、記憶體裡,因為
運算資料所在位置不同,所以需要不同的方式來表達。就將這種指令格式中用來「決定
運算元所在位置(址)」稱為定址模式。
定址模式優點
01
經由記憶體指標、迴圈計數控制、資料索引、程式重新定位等方式,讓使用者在程式設計時有
較大的設計彈性,並提高指令的執行效率。
02 減少指令中的位址欄(運算元)的位元數。
通常 CPU 有兩類定址模式,第一類是程式碼的定址模式,也就是「下一個要執行
的指令位置」的表示方法,其位址是由 PC 指定,大多數的情況下,PC 在提取指令後遞
增,除非碰到跳躍或分支指令,此時它的值是由 CPU 的控制單元指定,程式設計者毋
須擔心。
第二類是資料的定址模式,指令執行時,需要的運算元(資料)位置的指定方式
相當多種,不同的定址模式可能可以達成相同的功能,但執行速度不一樣,應慎選執行
效率最高的定址模式,如果沒有特別說明,定址模式都是談論「資料的定址模式」。以
下僅提出一些較常用的定址模式的說明。MOV 是最常用的組合語言指令助憶碼,意指
MOVE,移動的意思,格式為:
MOV 目的 , 來源
MOV 將來源資料搬移到目的,來源內容不變,目的內容被覆蓋。它的使用可以說
明大多數的定址模式,以下將透過 MOV 說明各種常見的定址模式。定址模式很像一個
「運算元在哪裡 ?」的尋寶遊戲,讓我們進入遊戲裡!
一 立即定址
立即定址的運算元就在指令中,指令中直接指定運算資料,是最簡單的定址模式。
立即定址的優點是不需要進行記憶體存取,只要提取指令即得運算元,執行速度較快,
但是運算元的寬度被指令格式(長度)限制。
圖 3-4 立即定址
所有定址模式中,暫存器定址與立即定址兩種執行速度最快,因為執行時所需要的
運算元就在 CPU 內部,如果需要到記憶體存取運算元,則速度會大大降低!
二 直 接定址
直接定址 MOV R,[A],指令的記憶體位址欄位內容就是運算元的有效位址,只需要
一個記憶體週期,不須額外運算。同樣地,缺點是位址長度被指令格式限制,無法表達
太大的記憶體空間。
圖 3-5 直接定址
三 間 接定址
為解決直接定址的缺點,間接定址於指令格式中的位址欄(A)指到記憶體位址,
存放運算元的完整位址,這個定址方式需要兩次的記憶體週期(一次擷取位址、一次擷
取運算元)。擷取過程是先取得運算元有效位址 EA=[A],再提取運算元 =[EA]。
圖 3-6 間接定址
四 暫 存器定址
和直接定址相似,差別在於「位址欄是暫存器名稱」,運算元在指到的暫存器內,
換句話說,以暫存器名稱為運算元,表示暫存器內儲存運算時所需的資料。暫存器定址
有兩個優勢,其一是不需要記憶體週期,執行較快。其二,只需要較短的位址欄寬度(比
記憶體位址短很多)。
圖 3-7 暫存器定址
五 暫存器間接定址
暫存器間接定址與間接定址類似,於指令格式中位址欄所指的暫存器,存放運算元
的記憶體有效位址,暫存器間接定址只需要一個記憶體存取動作。擷取過程式先取得有
效位址 EA=[R],再提取運算元 =[EA]。
圖 3-8 暫存器間接定址
六 位 移定址
位移定址是結合直接定址與暫存器間接定址的功能,指令格式中需要兩個位址欄,
一個暫存器名稱 R,另一個為記憶體位址 A,先擷取有效位址 EA = A + [R],再提取運
算元 = [EA]。有時會將指令格式中的暫存器名稱隱藏。位移定址又可分為相對定址、基
底暫存器定址、索引定址三種方式。
圖 3-9 位移定址
七 堆 疊定址
堆 疊(stack) 是 一 種 線 性 陣 列 的 記 憶 體, 常 用 來 與 序 列(queue) 做 比 較。 堆 疊
採 用 LIFO(last in first out, 後 進 先 出 ) 方 式 操 作, 不 論 何 時, 堆 疊 指 標 SP(Stack
Pointer)總是指向堆疊頂端的記憶體位址。推入(push)資料會放在最頂端,堆疊指標
遞減(往上移動)。相反地,彈出(pop)資料時,會從最頂端讀取,並將堆疊指標遞
增(往下移動)。
圖 3-10 堆疊
堆疊定址模式是一種隱含定址的操作方式,指令中不須包含記憶體位址,因為堆疊
指標永遠指向最頂端。堆疊指標 SP 也是暫存器,儲存堆疊頂端記憶體位址。只要擷取
SP 內容,即可得知運算元有效位址 EA = [SP],再提取運算元 = [EA]。堆疊定址為暫存
器間接定址的一種,操作過程很類似。
圖 3-11 堆疊定址
3-2 隨堂練習
1. 舉出兩種沒有記憶體存取運算元的定址模式: 、 。
2. 由堆疊讀取一筆資料,SP 是遞增或遞減?
3. 依據下圖暫存器與記憶體初始內容,回答下列問題。
(1) 執行 MOV Rd,15H 後,Rd =
(2) 執行 MOV Rd,[15H] 後,Rd =
(3) 執行 MOV Rd,[Rs] 後,Rd =
(4) 執行 MOV Rd,[Rs][1] 後,Rd =
3-3 指令集
指令集是指微處理機支援的指令集合,因著功能需求不同,支援的指令數量與執行
方式也不一樣,當然,微處理機內部硬體設計也會不同,如何在支援指令數量與執行效
能之間取得最佳平衡,考驗著微處理機設計者的智慧。
早期的 CPU 功能要求簡單,指令數目較少,負責解碼與執行的硬體電路較簡單。當 CPU
的功能需求愈來愈複雜時,許多 CPU 都支援超過 100 個以上的指令群,有些 CPU 甚至超過
200 個指令,數量相當龐大,也使得指令解碼與執行的硬體線路複雜度相當高。一個擁有大量
指令的 CPU 被歸類為複雜指令集電腦(Complex Instruction Set Computer,簡稱 CISC)。
1980 年 代 開 始 有 另 一 派 的 CPU 設 計 者, 提 倡 使 用 較 少 的 指 令 的 CPU, 因 為 這 樣
可以大大降低 CPU 內部的硬體線路,大部分指令都在 CPU 內部完成執行工作、而且不
需要常常存取記憶體,所以執行速度較快。這類電腦被稱為 精簡指令集電腦 (Reduced
Instruction Set Computer,簡稱 RISC)。
電腦的指令集設計除了考量機器語言的架構外,也應考慮高階程式語言的因素,高
階語言必須透過編譯器轉換為機械語言,使用複雜指令集,可以降低編譯器的複雜程度
與提高整體效能。CISC 提供較多指令樣式,讓高階語言的程式敘述,可以較容易轉換
到機器語言,就可以降低編譯器的複雜程度。CISC 的另一個特性是「指令格式長度可
變」,運算元的數目可以是 0 ~ n 個,指令的長度多樣,這也造成指令解碼電路的複雜
度。隨著指令與定址模式的增加,需要更多的硬體邏輯電路來實現並支援,因此可能造
成指令執行速度變慢。
CISC 主要特徵
01 02 03 04
指 令 數 量 眾 多, 不同長度的指令 提供可直接存取 定址模式多樣
通 常 有 100 ~ 格式。 記憶體的指令。 性, 通 常 有 5 ~
250 個 指 令。 但 20 種模式。
是某些特殊功能
指令並不常用。
反觀 RISC 主要由「暫存器與暫存器間的運算」的指令組成,只提供單純的儲存與
載入指令進行記憶體資料的存取,如果指令操作需要記憶體內的運算元,都需要透過載
入指令載入暫存器,再進行指令執行,同樣地,如果執行結果需要回存記憶體,也需
要透過儲存指令寫入記憶體。所有微運算都只在暫存器之間進行,大大提升指令效能,
RISC 通常需要大量的暫存器支援這樣的工作模式。
這樣的操作方式簡化了指令集,只需要少數的定址模式,指令的長度固定,指令解
碼與控制邏輯硬體電路相對地比較簡單,可使用固線式控制(相對「微程式控制」),
提高執行效率。圖 3-12 為 CISC 與 RISC 的執行過程比較。
因 為 指 令 單 純,RISC 可 以 在 每 個 時 脈 週 期 執 行 一 個 指 令, 方 便 以 管 線 式
(pipelining)程序,將 2 ~ 3 個指令的提取、解碼與執行階段重疊完成。但是記憶體的
儲存或載入指令則可能需要 2 個以上的時脈週期。因為精簡指令集與定址模式,使得高
階語言的編譯工作變得複雜許多,需要有更聰明的編譯程式才能提高程式效率。
RISC 主要特徵
指令長度固定,解碼容易,常使用固線式控制電路。RISC 的指令格式大都只有一種,或少數
02 幾種,例如固定的指令長度、對齊的指令字組邊界、固定的欄位位置等。這樣可以簡化控制單
元的複雜度,提高執行的效能。
執行每一個指令只耗費一個時脈週期的時間。RISC 的指令較為單純,由暫存器中提取兩個運
04
定址模式較少,一般不超過 5 個。大部分的 RISC 都只使用最簡單的定址模式。如果需要較複
雜的定址方式,則是以簡單的定址模式為基底,使用軟體加以合成。
05 記憶體的存取只提供儲存與載入指令。
所有微運算只在暫存器之間進行。RISC 希望大部分的工作都在暫存器之間進行,盡可能不用到
06 記憶體,可以提高效能。非要使用記憶體,則使用載入和儲存動作去存取記憶體。將工作限制
在暫存器間,不只指令效能提高,也可簡化指令格式、降低指令集的數量與控制電路的複雜度。
針對兩種指令集特性的不同,整理如表 3-3,指令長度、指令數目、定址模式等特
性分別比較兩者的不同。
3-3 隨堂練習
1. 舉出二個複雜指令集的主要特徵:
、 。
2. 大 學 生 波 特 選 修 一 門 課 程, 教 授 說 要 課 程 中 要 使 用 ARM 公 司 的 Cortext-A57 微 處
理 機, 波 特 查 閱 資 料 發 現 使 用 ARM v8 指 令 集, 指 令 個 數 約 40 個。 請 幫 忙 判 斷
Cortext-A57 指令集類型為 CISC 或 RISC ?
3-4 高階語言與低階語言之轉換
微處理機只能執行二進制的機械碼,但是人類習慣使用自己的符號或熟悉的語言撰
寫程式,兩者需要架起「溝通橋樑」,我們將從組合語言談起,如何翻譯成機械碼供微
處理機執行,最後也說明微處理機系統整個軟體架構與軟體執行的步驟。
3-4-1 程式語言概述
所謂執行程式,是指微處理機執行一連串的指令,完成程式指定的功能。程式是由一連
串的指令組成,而指令其實是二進位碼,即「機械語言」。但程式設計者要撰寫程式通常以
自己熟習的語言或符號撰寫開發效率比較高,所以程式撰寫到執行必經「翻譯」的過程。
圖 3-13 程式撰寫與執行過程
我們將使用 C 語言、組合語言與機械語言三者說明「兩數相加」的程式如何撰寫。
以 C 撰寫兩數相加的程式是非常簡單明瞭的,如表 3-5 例是以 C 語言完成兩數相加的功能。
表 3-5 C 語言撰寫兩數相加
C 語言 說明
int A = 9, B = –29, C = 0; // 宣告 A、B、C 三個變數空間,並給定初始值
C = A + B; // C = A + B,將 A+B 的和 –20,指定給 C 變數
與 C 語言相對來說,組合語言顯得繁複許多,需要在程式中分別宣告 A、B、C 的
記憶體空間,並指定初始值。然後再載入到微處理機內部(指令 LDA A),與 B 相加(指
令 ADD B),最後送到記憶體位址 C(指令 STA C)。除了這些與目標功能相關的程
式碼外,會發現還有 ORG、HLT、END 等指令,稱為虛擬指令(或虛擬碼),用來通
知(規範)組譯器動作的資訊,與要執行的程式功能無關。
表 3-6 組合語言撰寫兩數相加
組合語言
說明
標記 指令
ORG 0H 程式起始位置從位址 0 開始
LDA A ACC ← M[A],載入位置 A 運算元至 ACC
ADD B ACC ← ACC + M[B],與位置 B 運算元相加
STA C M[C] ← ACC,儲存和至(在 ACC)位置 C
HLT 暫停 CPU
A: DEC 9 10 進制值 9
B: DEC –29 10 進制值 –29
C: DEC 0 儲存「和」的記憶體位置
END 程式結束
表 3-7 為翻譯後的機械語言示例,並列出與組合語言的對照關係。特別注意,除了
虛擬指令以外,組合語言與機械語言為 1 對 1 的關係,1 道組合語言翻譯為 1 道機械語言。
而這兩者語言,與微處理機的相依性非常高,不同的微處理機的機械碼也會不同,對應
的組合語言也不一樣。下面這個範例的二進制機械碼只是隨意指定作為說明之用。
表 3-7 機械語言撰寫兩數相加
機械語言 組合語言
說明
位置 指令(2 進制) 16 進制 位置 指令
從 004 載 入 第 一 個 運 算 元 至 ACC
000 0010 0000 0000 0100 2004 000 LDA 004
(累積器)
ACC 加上 005 第二個運算元,結果
001 0001 0000 0000 0101 1005 001 ADD 005
放 ACC
010 0011 0000 0000 0110 3006 002 STA 006 將 ACC 內容(和)放至 006
011 0111 0000 0000 0001 7001 003 HLT 暫停 CPU
100 0000 0000 0000 1001 0009 004 0009 第一個運算元 9
101 1111 1111 1110 0011 FFE3 005 FFE3 第二個運算元 –29
110 0000 0000 0000 0000 0000 006 0 儲存「和」的記憶體位置
高階語言比較接近人類語言,學習與閱讀起來比較容易,且移植性較佳,但程式
執行較慢、容量較大。反之,低階語言學習較難,移植性較差,但程式執行快、容量
小。低階語言包括機械語言、組合語言兩種。高階語言則有很多,例如 C、PASCAL、
Visual BASIC 等。
表 3-8 低階語言與高階語言比較
程式撰寫、 移植性、 程式 程式佔
類別 實例
閱讀、學習、除錯 跨平台 執行 記憶體容量
低階語言 較困難 較差 較快 較小 機械語言、組合語言
C、PASCAL、
高階語言 較容易 較佳 較慢 較大
Visual BASIC
3-4-2 組合語言
程式語言希望被正確執行,必須依照一定的規則(格式)撰寫,當廠商發表一顆
CPU 的同時,也必須公布這顆 CPU 的組合語言使用手冊,說明提供的指令與組合語言
的格式。通常組合語言的格式由標記、指令與註解三個欄位組成,指定相關資訊。
表 3-9 組合語言格式
欄位 標記 指令 註解
可能是空的,可指 指定機器指令或 可能是空的,用來
說明
定一個符號位址 虛擬指令 說明該列程式功能
範例 A: DB 10 ;10 進位值 10
一 標記
以符號指定目前程式位址(符號位址),可能是空的,用來表示「符號位址」。通
常一個符號位址由文字或數字組成,但第 1 個字必須是英文字母。標記欄一定要在每列
指令的開頭處,且不可有空格!標記欄的符號位址,可用一個「:」或「,」表示標記欄
的結束。
標記欄是用來代表該列指令所在的實際「程式記憶體位址」,因此程式設計者只要
在程式中以「標記符號」代表該指令位址,而不需自己算出跳躍目地的實際記憶體位址,
這對程式設計者而言是非常方便的。待程式完成,再將整個程式交給組譯器作翻譯成機
械碼時,組譯器便會自動幫我們算出該標記的所在實際記憶體位址,如表 3-6、3-7 中的
A、B、C。
二 指令
指 令 撰 寫 的 位 置, 可 能 是 機 器 指 令 或 虛 擬 指 令。 機 器 指 令 包 括 記 憶 存 取 指 令
(MRI)、暫存器存取指令,或輸入 - 輸出指令等。
虛擬指令並非機器指令,而是組譯器的指令,不會翻譯成機械碼,僅是提供組譯器
資訊的指令,如表 3-10 所示為常用的的虛擬指令。「ORG N」用來指定下一列指令或
運算元,放置在記憶體位址 N 處。END 則是告知組譯器程式已經結束。另外 DEC 虛擬
指令則是配合符號位址,標示存放數值的基底(進制)。
表 3-10 常見的虛擬指令
符號 提供組譯器資訊
ORG N 下一列指令或運算元放置於的記憶體位址 N
END 程式結束
DEC N 10 進制有號數 N
三 註解
註解欄可有可無,說明這列指令的功能或意義,主要是提供程式設計師作為備忘,
更容易維護、閱讀與瞭解程式的運作。在翻譯成機械碼時,註解會被完全忽略。註解欄
前都會以識別符號標示,端視組譯器的定義,有些在註解前要加註分號「;」,有些加註
反斜線「/」。組譯器遇到註解的識別符號,不會理會,馬上跳到下一列。
3-4-3 組譯器
組譯器的功能是將組合語言程式翻譯成機械語言,成為機械碼,供微處理機執行之
用。組譯器輸入的組合語言稱為 原始程式 (source program),產生的二進制機械碼稱
為 目的程式 (object code),工作流程如圖 3-14 所示。
圖 3-14 組譯器的工作
通常組譯器產生的目的碼雖然是二進制機械碼,但並不可直接執行,需要透過 連結
程式 (Linker)包裹成「可執行檔案」才可執行,如圖 3-15 所示。連結程式時可以包含
其他現成開發的目的程式(包裝成函式庫),以節省開發時程,提高效率。
圖 3-15 組合語言開發流程
因為組合語言只是助憶符號,與機械語言是 1 對 1 對應關係,所以組譯器的工作並
不複雜,最主要的工作是將助憶符號型式的指令轉換成相對應的機器碼。再來,將常數
或符號的運算元,轉換成相對應的機器位址,最後輸出二進制的機械碼(目的碼)。當
然,有時組譯器會提供其他報表檔(listing),供程式設計師參考,例如組合語言與機
械語言的對應表。
所謂「雙回合組譯」指在進行組譯工作時,會對原始程式做兩次掃瞄,所以允許程
式中存在「向前參考」的未定義符號。也就是在第一次處理(Pass 1)時產生一個中間
檔案,例如符號對應表,而於第二次(Pass 2)處理時參考該中間檔案,並處理第一次
處理未完成的工作。簡要描述如表 3-11 所示雙回合的工作項目。
表 3-11 雙回合組譯器工作項目
第一回合 第二回合
1. 對程式的每一行指令指定位址。 1. 將指令轉譯 ( 查表 ) 為機械碼,並記錄位址
2. 記載程式中所有標記符號的位址,以供第二 值。
回合使用。 2. 將 BYTE、WORD 所定義的值轉為 16 進制、
3. 依據虛擬指令,處理組譯器相關設定。 存入目的程式。
3. 處理在第一回合中尚未處理的組譯程式的
前導指令。
4. 紀錄組譯完成的目的程式與程式列表。
一 第一回合:建立符號表
圖 3-16 簡單示意第一回合的工作,以一般文字編輯器撰寫組合語言原始程式輸入
系統,通常是副檔名 .asm 的檔案。掃描工作過程會參考機器指令表與虛擬指令表,並
產生符號表供第二回合參考。
第一回合首要的工作是,計算程式中每道指令的位址,並建立符號與位址的對應表
(簡稱符號表)。當然過程中,會依照虛擬指令的指示(即組譯資訊)工作,例如程式
的起始位址(指令 ORG)。
1. 輸入: 原始程式。
2. 參考表格:
(1) 虛擬指令表(Pseudo-Operation Table, POT):用以指示虛擬指令所對應的「處
理程式」之位址。
(2) 機器指令表(Machine-Operation Table, MOT):用以將助憶式(組合語言)指
令對應成二進位機械碼。
3. 輸出:
(1) 原始程式之副本(Copy)。
(2) 符號表(Symbol Table, ST)。
(3) 文字表(Literal Table, LT)。
圖 3-16 組譯器第一回合工作
二 第二回合:組譯指令產生目的程式
第二次回合處理主要是輸出目的程式,輸入第一回合產生的原始程式副本,並參考
機械指令表 MOT、虛擬指令表 POT 與符號表 ST 等表格,將指令組譯為機械碼,產生
目的程式。通常也會提供組合語言與機械語言的對應等報表檔,便於除錯。
1. 輸入: 原始程式之副本。
2. 參考表格: 機器指令表、虛擬指令表、符號表。
3. 輸出: 目的程式、報表檔。
圖 3-17 組譯器第二回合工作
三 組 譯器工作實例
底下以實際例子說明兩回合組譯的過程,表 3-12 為兩數相加的組合語言。執行最
後結果 C = B + A + 1。
表 3-12 兩回合組譯實例之原始程式
ORG 100H ; 程式的起始位置 100H
LDA A ; 載入符號位址 A 的值至 ACC(累加器)
INC ; 遞增 ACC
ADD B ; ACC ← ACC+B
STA C ; 回存 ACC 值至符號位址 C
HLT ; 暫停
A: DB 20 ; 符號位址 A 存放 10 進制 20
B: DB –10 ; 符號位址 A 存放 10 進制 –10
C: DB 0 ; 符號位址 C 存放 10 進制 0
END 程式結束
1 第一回合 指定位址與建立位址符號表
第一次掃描時不做任何翻譯,只對每列的程式給定記憶體位址。虛擬指令
ORG 100H 用來告訴組譯器下一列程式放在位址 100H 處,END 則是告訴組譯
器程式到此結束,虛擬指令並不會翻譯成機械碼。
依據虛擬碼「ORG 100H」得知,第一列程式放在位址 100H 處。查詢機械
指令表得知每道指令的長度,假設本例中指令都是 1byte 長度,所以位址都是
遞增的。另外,第一回合的重要任務是建立標記符號位址表,在第一回合掃描
時看到 A、B、C 並不認得,但是可以透過建立位址時,順便建立符號表提供給
第二回合參考使用。
表 3-13 兩回合組譯實例之第一回合
符號位址表
位址 符號 指令
ORG 100H 符號 位址(16 進制)
100 LDA A A 105
101 INC B 106
102 ADD B C 107
103 STA C
104 HLT
105 A DB 20
106 B DB-10
107 C DB 0
END
2 第二次掃描:建立目的程式
符 號 位 址 A 為 105( 放 在 記 憶 體 105H 位 置 ),10 進 制 20 的 16 進 制 為
0014。同理,符號位址 B 為 106H,10 進制 -10 轉換為 2'S 的 16 進制為 FFF6。
有 了 符 號 表, 得 知 每 個 符 號 代 表 的 位 址, 就 可 以 決 定 標 記 符 號 的 記 憶 體
位 址 值, 配 合 虛 擬 指 令 表、 機 械 指 令 表, 以 查 表 法(table-lookup) 的 方 式,
將每列的組合語言翻譯成機械語言,如表 3-14 所示。例如 LDA A,機械碼為
2105,其中運算碼 LDA 為 2,A 在位址 105 處。
表 3-14 兩回合組譯實例之第二回合
符號 指令 位址 機械碼
ORG 100H
LDA A 100 2105
INC 101 7020
ADD B 102 1106
STA C 103 3107
HLT 104 7001
A DB 20 105 0014
B DB -10 106 FFF6
C DB 0 107 0000
END
機械語言的程式開發不容易,所以有符號化的組合語言出現,但是組合語言究竟也
只是機械語言的符號表示而已,雖然較容易閱讀與識別,仍不容易設計大程式,所以有
了高階語言出現。高階語言更貼近人類的思考習慣,程式設計師容易將程式需求功能,
依照邏輯想法轉化為程式,高階語言必須經過「編譯器(compiler)」才能翻譯為機械
語言供電腦執行。編譯器與組譯器雖然都是將原始程式解譯成機械語言的工具程式,但
是編譯器複雜很多,不再是簡單的查表功能,而是一連串複雜的演算法。
3-4 隨堂練習
1. 程式語言依據接近人類語言的程度可分為 與 。
2. 組合語言的格式可分為 、 與 三個欄位。
3. 組合語言經過組譯程式翻譯為目的程式並不能執行,必需經過 處理才可執行。
4 . 程式設計課考組合語言,阿哲因為打字較慢,他可以省略哪一個欄位提高撰寫速度?
3-5 微處理機軟體處理程序
微處理機系統的組成架構分為硬體部分與軟體部分,其中硬體部分包括時脈產生
器、CPU、I/O 介面與 I/O 裝置、記憶體、系統匯流排等。軟體部分則分為作業系統、
系統軟體與應用軟體,軟體架構如圖 3-18 所示。
3 應用軟體(application software):藉由系統軟體提供的程式撰寫、編 ( 組 )
譯功能等,完成使用者需要的特定功能程式,例如文書處理、會計系統、成績
處理等。
圖 3-18 微處理機軟體架構圖
圖 3-19 程式開發與執行過程
一 程式開發過程
作業系統啟動後,使用者可以利用輸入裝置(例如鍵盤)與編輯程式撰寫原始程式。
有時程式語言會提供 IDE(整合發展環境),便於編輯、除錯與編譯等程式開發工作。
高階語言需要透過編譯程式(compiler)與連結程式(linker),轉換成可執行程式。
編譯程式處理過的檔案稱為目的程式,實際上也是二進位格式的機械碼,但無法直接執
行,必須經過連結程式組成完整的可執行程式的結構。可執行檔可直接執行或儲存在輔
助記憶體中,例如硬碟。
二 程式執行過程
當使用者執行「可執行檔」時,會由作業系統的載入程式(Loader)載入主記憶體,
並會配置記憶體給執行的程式(可執行檔),包含程式碼區、資料區、堆疊區等,載入
記憶體後,CPU 開始依序執行指令,進行提取、解碼與執行等步驟,逐一執行指令,直
到程式結束為止。
任 何 程 式 語 言 都 需 要 翻 譯 為 機 械 語 言 才 能 被 計 算 機 執 行, 翻 譯 程 式 可 分 為 組 譯
(Assembler)、 編譯 (Compiler)與 直譯 (Interpreter)三種,比較如表 3-15。
表 3-15 組譯、編譯與直譯
翻譯方式 語言翻譯程式 使用的程式語言 特色
1. 不同的 CPU,指令不同,組譯
組譯器
組譯 低階 組合語言 器也不同
(Assembler)
2. 會產生目的檔(.obj)
C、C++、 1. 大多為高階程式語言採用
編譯器
編譯 高階 PASCAL、 2. 偵錯較不易、但執行速度快
(Compiler)
DELPHI 3. 會產生目的檔(.obj)
1. 易學、適合初學者
直譯器 BASIC、
直譯 高階 2. 偵錯容易、但執行速度慢
(Interpreter) Python、Perl
3. 不會產生目的檔(.obj)
組合語言使用組譯器翻譯,高階語言翻譯程式則分為編譯程式與直譯程式兩類。編
譯程式一次將原始程式翻譯為目的程式,再連結函式庫成可執行檔,之後才能執行程式。
但直譯程式一次只翻譯一行程式,馬上執行,如果無誤,再翻譯下一行程式再執行,以
此類推。即使程式的後半部有錯誤,直譯程式在沒有執行之前,並不能發現這個錯誤。
3-5 隨堂練習
1. 微處理機系統的軟體架構可分為 、 與 三類。
2. 執行可執行檔案時,由 配置檔案執行時需要的記憶體。
3. 總統接見外國官員,正式場合通常需要現場即時翻譯人員,請問很像哪種程式語言
翻譯程式?
Chapter 3 學習目標回顧
學習目標 3:能描述指令集的意義與類型
3. 一個擁有大量指令的 CPU 被歸類為 CISC,使用較少的指令的 CPU 被稱為 RISC。
4. CISC 通 常 有 100 ∼ 250 個 指 令、 有 不 同 的 指 令 長 度 與 格 式、 提 供 可 直 接 存
取記憶體的指令。
5. RISC 指令通常少於 100 個,指令長度固定,解碼容易,定址模式較少。
學習目標 4:能說明組合語言格式與組譯器的工作
6. 低階語言包括機械語言與組合語言。組合語言需要透過組譯器翻譯成機械碼,
微處理機才能執行。
Chapter 3 學習目標回顧
7. 組合語言的格式如下表所示:
欄位 標記 指令 註解
可能是空的,可指定一個 可能是空的,用來說明該
說明 指定機器指令或虛擬指令
符號位址 列程式功能
範例 A: DB 10 ;10 進位值 10
8. 虛 擬 指 令 並 非 機 器 指 令, 而 是 組 譯 器 的 指 令, 不 會 翻 譯 成 機 械 碼, 僅 是 提 供
組譯器資訊的指令。
9. 組譯器產生的目的碼,透過連結程式(Lilner)包裹成「可執行檔案」才可執行。
10. 常見的組譯程式之類型有單回合、雙回合與多回合組譯程式三種。
學習目標 5:能描述程式的開發與執行的過程
11. 程式開發與執行過程如下圖:
12. 組合語言使用組譯器翻譯,高階語言翻譯程式則分為編譯程式與直譯程式兩類。
Chapter 3 課後習題
3. 微電腦系統中,當呼叫副程式、產生中斷等狀況下,會把目前的程式位址
及旗號存起來,等回歸時可再取回,此時程式計數器的值和旗號是存於
何處? (A) 控制單元 (B) 堆疊 (C) 通用暫存器 (D) 虛擬記憶體。
3-2 4. 使用何種定址法,獲得運算元的速度最快?
(A) 直接索引定址法 (B) 直接定址法 (C) 索引定址法 (D) 立即定址法。
5. 某一種使用單位址指令的電腦,其指令結構只有二個欄位:運算碼和位址碼,
每一指令佔用 24 bits,若此電腦之指令組共有 120 種運算,而指令是使用
直接定址模式,則可定址的記憶體空間大小(單位:byte)最接近於
(A) 64K (B) 128K (C) 1M (D) 16M。
6. CPU 具有各種不同拿取運算元的方法,稱為
(A) 定址模式(addressing mode) (B) 指令類型(instrument type)
(C) 提取運算元 (D) 指令執行。
7. 下列哪一種組合語言指令敘述為直接定址模式?
(A) MOV AX,BX (B) MOV AL,4BH (C) MOV CL,[3FFFH] (D) DAA。
Chapter 3 課後習題
Chapter 3 課後習題
14. 80×86 執 行 8 位 元 的 相 加 運 算, 下 列 哪 一 種 運 算 結 果 將 使 溢 位 旗 標 (
overflow flag, OF ) 被設定成 1 ?
(A) 7FH + FFH (B) 7FH + B9H (C) 72H + 55H (D) BFH + CFH。
16. 如 果 將 一 個 2 進 位 的 數 同 時 放 入 暫 存 器 A 及 暫 存 器 B, 現 將 A 左 移
一 位 後, 再 加 上 B 的 內 容, 其 結 果 等 於 原 數 乘 多 少?( 不 考 慮 溢 位
overflow) (A) 2 (B) 3 (C) 4 (D) 5。
20. 把組合語言程式翻譯成二進制機械語言的程式稱為
(A) 編譯器(compiler) (B) 組譯器(assembler)
(C) 直譯器(interpreter) (D) 函式庫(library)。
Chapter 3 課後習題
21. 「編譯器」主要的功能為何?
(A) 將組合語言程式碼轉譯成機器碼 (B) 將程式重新定址
(C) 將高階語言程式碼轉譯成機器碼 (D) 連結互相呼叫的程式。
22. 組合語言指令格式中,下列哪一個欄位不可省略?
(A) 標記欄 (B) 指令碼欄 (C) 註解元欄 (D) 全都不可省略。
24. 下列有關「載入程式(Loader)」的敘述中,何者是正確的?
(A) 可檢查原始程式是否有語法(Syntax)上的錯誤
(B) 將原始程式編譯成目的程式
(C) 將目的程式載入主記憶體中
(D) 執行目的程式。
25. 下列何者是電腦系統架構的最底層?
(A) 硬體 (B) 系統程式 (C) 應用程式 (D) 作業系統。
問答題
1. 請依據圖 3-1 微處理機架構簡圖,描述指令週期的處理步驟。
2. 請簡述常見的定址模式與特色。
4. 請說明一個程式的執行過程。
5. 請比較組譯、編譯與直譯的不同。
ap
ter 9
4 資料串 / 並列傳輸
節
Ch
本章節次 學習目標
4-1 資料輸入 / 輸出方法 1. 能區別各種傳輸的類型。
4-2 資料串列傳輸原理及標準介面 2. 能說明非同步串列傳輸格式。
4-3 通用序列匯流排介面原理 3. 能列舉常見的串列傳輸標準。
4-4 資料並列傳輸原理 4. 能描述交握式資料傳輸的原理。
4-5 並列顯示介面晶片 5. 能列舉常見的並列傳輸標準。
學習目標回顧
課後習題
4-1 資料輸入 / 輸出方法
資料通訊(data communication)是指接收端與傳送端,兩端之間訊息的傳輸與交
換,也就是資料傳輸。廣義來說,無論採用何種傳輸媒介、傳輸方法與傳輸格式,將訊
息從一地傳送至另一地,都可稱為通訊。傳輸媒介大致上分為有線傳輸與無線傳輸,無
線傳輸探討的層面非常廣泛,這裡我們僅聚焦在有線傳輸,透過不同角度談論資料傳輸
的方法。
4-1-1 串列與並列資料傳輸
微處理機與外界週邊裝置通訊,透過匯流排或傳輸線傳輸資料,屬於有線通訊。可
能只用一條資料線,每次傳送一個位元,稱為「 串列 (Serial)通訊」。或是使用多條
資料線,每次傳送多位元,稱為「 並列 (Parallel)通訊」。圖 4-1 可看出兩種通訊方式
的不同,這兩種方式都可用作微處理機與外界的傳輸資料的方法,但考量傳輸媒介的成
本與可靠性、傳輸速率等因素,會採用比較適合的方式。
當微處理機採用並列通訊傳送資料輸出裝置時,將由資料匯流排每次傳送多個位元
資料給輸出裝置。因為信號線太長將使訊號衰減或失真、互相干擾,所以傳輸線不得太
長。而且並列通訊需要較多的傳輸訊號線,對遠距離的傳輸而言,成本較高。基於以上
兩種原因,遠距離的資料傳輸,大都會考慮採用串列傳輸。
採用串列傳輸與微處理機溝通,一次只用一條資料線,每次只傳輸一個位元資料,
有別於並列傳輸具有多條資料線,成本大大降低。但是,微處理機內部的資料處理、計
算,與外界的通訊等,都是以位元組(並列資料)為單位,例如微處理機希望輸出或輸
入 8 位元,但串列通信每次只傳輸一個位元,共需要傳輸 8 次,兩者之間的溝通需要透
過移位暫存器負責「並列→串列」或「串列→並列」的轉換。例如微處理機以串列方式
輸出資料,則為「並列→串列」的轉換,需要使用「並入串出移位暫存器 (PISO)」,而
由外界經串列傳輸資料,輸入微處理機,則為「串列→並列」,需要使用「串入並出移
位暫存器(SIPO)」,如圖 4-2 所示。
圖 4-2 串列與並列傳輸轉換
4-1-2 多工資料傳輸
如果資料傳輸雙方,都可發送資料與接收資料,就稱為 雙工 (duplex)傳輸。反之
如果一方只能發送資料,另一方只能接收資料,則稱為 單工 (simplex),如圖 4-3(a),
例如電視台發送無線訊號給家中電視觀看,只存在單方向資料傳輸。進行雙工資料傳輸
時,如果雙方同時間都可以「接收」與「發送」資料,就稱為 全雙工傳輸 ,如圖 4-3(c),
例如電話,在受話同時也可以發話。如果在單一時間只能發送,或只能接收,則稱為 半
雙工 ,如圖 4-3(b)。圖中 T 表示傳送器(Transmitter),R 則表示接收器(Receiver)。
4-1-3 同步與非同步資料傳輸
當傳送方與接收方進行資料傳輸時,依據雙方是否共用同一個時脈信號作為同步的
基準,可分為 同步 (Synchronous)傳輸與 非同步 (Asynchronous)傳輸。資料傳輸時,
若以每次傳輸的資料線數多寡來區分,則可分為串列傳輸與並列傳輸。因此微處理機與
週邊設備的資料傳輸方式可分如圖 4-4 所示四大類:
1 並列同步傳輸: 採並列傳輸,一次傳輸多個位元,雙方共有時脈動作同步。
2 並列非同步傳輸:採並列傳輸,一次傳輸多個位元,雙方沒有時脈信號相連接。
3 串列同步傳輸: 採串列傳輸,一次傳輸 1 個位元,雙方共有時脈動作同步。
4 串列非同步傳輸:採串列傳輸,一次傳輸 1 個位元,雙方沒有時脈信號相連接。
同步傳輸的最大特徵是雙方具有相同的時脈訊號,以此時脈當成雙方資料傳輸的同
步基準。資料傳輸時,以時脈訊號讓雙方知道何時送出資料與何時接收資料,達到同步
傳輸的目的。同步傳輸並無法確知接收端是否確實接收到資料,例如接收端忙碌中,無
法接收資料,傳送端仍持續送出資料 , 所以資料並不能準確無誤地傳輸。
同步傳輸的缺點
02 CPU 無法確定指定的週邊設備是否準備完畢或接收完成。
針對以上兩個缺點可以使用交握式(Handshake)非同步傳輸方式解決。非同步資
料傳輸雙方沒有同步時脈,為了完成資料傳輸,雙方必須遵循一些規則與傳輸順序才能
達成傳輸資料的完整性,這個過程稱為 交握傳輸 。
4-1 隨堂練習
1. 依據傳送資料每次的位元數目,可分為 與 。
2. 依據傳輸雙方是否共用同一時脈訊號,可分 與 。
3. 判斷以下通訊方式,屬於單工、半雙工與全雙工的哪一種?(連連看)
手機 單工
數位無線電視 半雙工
火腿族無線電 全雙工
對講機
4-2 資料串列傳輸原理及標準介面
微處理機內部都是並列資料處理,顯得與串列傳輸格格不入,而串列傳輸一次只傳
輸 1 位元,看似效率差速度慢,它是如何突破瓶頸,完成傳輸工作且快速傳輸,廣受微
處理機系統喜愛,例如 USB、SATA 與 PCI-E 等。
4-2-1 串列傳輸概述
串列傳輸可以採用同步與非同步方式進行。同步串
列傳輸雙方需要共用同一時脈,資料會按照時脈頻率連
續地依次傳送。同步串列傳輸時,兩端會由同一頻率的
時脈驅動,同步信號週期性地在資料線上傳送,以保持
兩端的同步,使傳輸雙方時時備戰。可是,當甲方每秒
鐘送 100 位元的資料資料給乙方,當未確定乙方已收到 圖 4-5 同步串列傳輸
並備妥接收下一筆資料時,下一秒鐘甲方又送出 100 位
元資料。可見同步串列傳輸多了一條共同時脈訊號線,又仍無法保證資料傳輸的正確性。
請注意,通常傳輸雙方為了取得共同電位,都需要額外有接地的連接線。另外,時脈高
低要遷就速率低的裝置,才能確保傳輸正確。
相反地,非同步資料傳輸,資料傳輸雙方並沒有同步訊號線,僅靠著雙方互相協定
的傳輸速率與資料格式進行傳輸。資料的格式在非同步串列資傳輸中相當重要,為確定
接收端資料確實收到,會在每一字組前加上 1 位元低態的起始位元(Start bit),表示
資料將開始;於資料結束增加 1 ~ 2 位元的高態結束位元(Stop bit),表示資料已結束,
進入等待狀態,平時資料線皆為高電位狀態。例如資料本身 8 位元,外加 1 位元的起始
位元與 1 位元的結束位元,每筆資料共計 10 位元。
傳輸時難免有資料流失或雜訊干擾,除了起始位元與結束位元,會再增加檢查位元
(Check Bit),以利在接收端接收資料時能確認資料的正確性。最簡單與常用的檢查位
元為 同位位元 (Parity bit),分為 奇同位 (odd parity)與 偶同位 (even parity),其中
偶同位是使「資料加上同位位元後有偶數個 1」,反之,奇同位是使「資料加上同位位
元後有奇數個 1」。表 4-1 舉出一些例子說明同位位元的意義。
表 4-1 同位位元說明
偶同位 奇同位
原來資料 加上同位位元後 原來資料 加上同位位元後
1的 同位 1的 1的 同位 1的
資料 資料 資料 資料
數目 位元 數目 數目 位元 數目
1011011 5 1011011 1 6 1011011 5 1011011 0 5
0110011 4 0110011 0 4 0110011 4 0110011 1 5
0100000 1 0100000 1 2 0100000 1 0100000 0 1
1001001 3 1001001 1 4 1001001 3 1001001 0 3
當接收端接收到 1 個資料框的資料後,可以利用同位位元驗證資料的正確性,同位
位元只需要 1bit。例如,利用偶同位驗證資料正確性,則收到的資料 1 的個數必須是偶
數,否則表示發生傳輸錯誤。當發生錯誤後,接收端會要求重新傳送一次,直到正確為
止。但同位位元有其侷限性,當同時發生兩位元的錯誤時,同位位元無法判斷資料的正
確性,例如利用偶同位驗證資料正確性時,傳送資料 1011010 有偶數個 1,接收到的資
料若為 11 01010,仍有偶數個 1,但實際上資料已發生錯誤了,同位元檢查只適用在錯
誤率極低的場合,而且不具有錯誤更正能力。如果進行串列資料傳輸時,無法收到開始
位元,或無法判斷資料結束,稱為 框架錯誤(Frame Error),一般是訊號線雜訊引起的。
綜合以上所述,非同步串列通信的基本資料框格式包括起始位元、資料位元、檢查
位元、結束位元四部份,圖 4-6 所示。
圖 4-6 非同步串列傳輸資料框
1. 當沒有資料傳送時,信號線維持 1。
2. 用 0 當成開始位元,字元資料先送最低位元(LSB),依序到最高位元(MSB),再
傳送檢查位元。
3. 當字元資料傳送完畢後,信號線回到 1,至少維持 1 位元,表示資料結束。
4. 字元資料在「起始位元」與「結束位元」之間。
傳送端與接收端雙方都必須知道傳輸資料格式,例如圖 4-6 中資料格式為 1bit 起始
位元、7 bits 資料、1 bit 同位位元、2bits 結束位元,整個資料框共 11bits。除了資料格
式外,在傳輸前,非同步串列傳輸的傳送端與接收端應先溝通好傳輸的速率,兩端雖然
都使用自己產生的時脈,但頻率是相等的。
能提供串列資料與並列資料轉換的硬體電路,被稱為「 通用型非同步接收傳送器 ,
UART(Universal asynchronous receiver-transmitter)」。UART 可 作 為 微 處 理 機 系 統
與串列傳輸介面的溝通,有時內建在系統的週邊介面晶片。同時提供同步與非同步則稱
為 USART,譯為通用型同步非同步接收傳送器。
4-2-2 資料串列傳輸標準介面
串列資料傳輸系統中,常將設備分為 資料終端設備 (Data Terminal Equipment,簡
稱 DTE)與 資料通信設備(Data Communication Equipment,簡稱 DCE)兩類。如圖 4-7
所示典型的串列傳輸系統架構,DTE 是指電腦主機,為資料傳輸的終點或資料發送端;
DCE 則是通訊設備,如負責調變與解調變信號的數據機。
圖 4-7 串列傳輸系統
用在工業控制環境下的長距離資料傳輸,如連接遠端週邊控制器或感測器。表 4-2 為三
者串列傳輸標準的特性比較。
表 4-2 串列傳輸標準特性比較表
介面標準
RS-232C RS-422 RS-485
比較特性
I/O 操作方式 單端 差動 差動
傳輸模式 全雙工 全雙工 半雙工
最大傳輸距離 16m 1.2km 1.2km
最快傳輸速度 20K bps 10M bps /12m 10M bps /12m
1:–3V~–15V
電壓標準 1:A>B、0:A<B 1:A>B、0:A<B
0:+3V~+15V
1 個傳送端 1 個傳送端 32 個傳送端
最大扇出
1 個接收端 10 個接收端 32 個接收端
所 以 要 透 過 RS-232 傳 輸 資 料 給 微 處 理 機 這 類 TTL 介 面 標 準, 需 要 使 用 類 似
MC1488 與 MC1489、MAX232 等電壓轉換 IC。其中,MC-1488 可將 TTL 電壓準位轉
為 RS-232 準位,MC-1489 則是將 RS-232 電壓準位轉換為 TTL 準位,如圖 4-8 所示。
圖 4-9 MAX232 接腳與內部結構
表 4-3 DB9 串列埠接腳訊號
名 稱 方 向
接腳
簡稱 英文 中文 DTE DCE
1 DCD Data Carry Detect 資料載波偵測 ←
2 RXD Data Receive 資料接收 ←
3 TXD Data Transmit 資料傳送 →
4 DTR Data Terminal Ready 資料終端備妥 →
5 GND Ground 接地信號 DB9 接腳序
6 DSR Data Setting Ready 資料設定備妥 ←
7 RTS Request To Send 要求發送 →
8 CTS Clear To Send 清除以備發送 ←
9 RI Ring Indicator 振鈴指示 ←
圖 4-10 RS-232 連接模式
2 DSR: 資 料 設 定 備 妥。 當 DCE( 如 數 據 機 ) 開 機 後, 經 自 測 無 誤 後, 它 會 將
DSR 設為低電位,表示已經準備好了!
4-2-4 常見串列傳輸介面
微處理機領域常見的串列傳輸標準,除了上節所提到 RS-232 以外,還有串列週邊
界面(Serial Peripheral Interface,簡稱 SPI)、積體電路介接匯流排(Inter-Integrated
Circuit Bus,簡稱 IIC)、通用串列匯流排(Universal Serial Bus,簡稱 USB)等,因
為傳輸速度的差異,應用的場合也不同。在此將說明應用在較慢傳輸場合的 SPI 與 IIC
的特性,USB 則是應用在高速資料傳輸,下一節專節說明。
一 SPI 簡介
RS-232 為非同步、全雙工傳輸,SPI 則是一種同步、全雙工串列傳輸,主要應用在
短距離場合,是由 Motorola 主導訂定的串列匯流排標準,常應用於數位相機用的記憶
卡、液晶顯示器等。SPI 傳輸時,裝置之間使用主從式架構、全雙工通訊模式,包含 1
個主機(master)與 1(或多)個從機(slave),由主機產生待讀或待寫的訊框資料,
多個從機通過晶片選擇(chip select)決定由哪個來回應主機的請求。
表 4-4 SPI 傳輸線
接腳名稱 中譯 方向
SCLK 串列時脈(Serial Clock) 由主機產生作為傳輸控制。
主機輸出從機輸入訊號
MOSI 資料由主機發出、從機接收。
(Master Output Slave Input)
主機輸入從機輸出訊號
MISO 資料由從機發出、主機接收。
(Master Input Slave Output)
晶片致能訊號,由主機發出,從機收到低
SS 從機選擇(Slave Selected) 電位時有效,才會對 master 的操作指令有
反應。
圖 4-11 SPI 1 對 1 連接
SPI 的雙方其實是利用二組頭尾相連的移位暫存器來完成主機和從機之間的資料交
換,如圖 4-12 所示,而且傳送與接收動作是同時進行,屬於全雙工,SCLK 由主機產生
發出,用來控制二者同步移位的時脈信號。
圖 4-12 SPI 資料傳輸原理
圖 4-13 SPI 之多個從端連接
二 IIC 簡介
IIC Bus 通 常 簡 記 I 2C( 唸 成 I-square-C), 或 寫 成 I2C( 唸 成 I-two-C)。
IIC 是 一 種 半 雙 工、 同 步 串 列 傳 輸 標 準,1982 年 由 荷 蘭 飛 利 浦 半 導 體 公 司(Philips
Semiconductor) 所 開 發。 主 要 是 為 了 讓 微 控 制 器 或 CPU 以 較 少 的 接 腳 數 連 接 眾 多 的
低 速 週 邊 裝 置 之 用。IIC 只 使 用 兩 條 訊 號 線: 時 脈 線(serial clock, 簡 稱 SCL) 與 資
料 線(serial data, 簡 稱 SDA), 提 供 三 種 不 同 傳 輸 速 率 的 工 作 模 式, 包 括 標 準 模 式
(100Kbps)、快速模式(400Kbps)與高速模式(3.4Mbps)。
圖 4-14 IIC 匯流排連接示例
圖 4-15 IIC 工作原理
4-2 隨堂練習
1. 透過非同步串列傳輸資料,鮑率為 9600,資料框為 8-N-1(資料 8bits、無同位位元、
1bit 結束位元),傳輸 480K Bytes 資料共需費時 秒。
2. 兩 台 裝 置 以 RS-232 連 接, 最 簡 單 至 少 要 連 接 、 與
三條線。
3. RS-232 為非同步全雙工串列傳輸,SPI 為 傳輸,而 IIC 為
傳輸。
4. 桐豪上課認真,學到 IIC 相關理論時,發現 IIC 接腳需要連接提升電阻。他靈機一
動, 覺 得 很 像 邏 輯 閘 輸 出 結 構, 這 種 邏 輯 閘 多 個 輸 出 並 接 在 一 起,
有 閘效果。
4-3 通用序列匯流排介面原理
早期微處理機對外接式裝置的傳輸介面各不相同,如印表機只能接 LPT、數據機只
能接 RS-232(COM)、滑鼠鍵盤只能接 PS/2 等。雖然 BIOS 一般都提供可支援並列埠
與串列埠各四個,但主機板設計時為節省 IRQ(中斷要求)的使用,大都只提供 2 個串
列埠與 1 個並列埠,串列埠給滑鼠與數據機使用,並列埠給印表機使用,根本沒有剩餘
的串列或並列埠,而且 LPT 與 COM 的傳輸速度都太慢。繁雜的介面系統,加上必須安
裝驅動程式並重新啟動才能使用等限制,都會造成使用者的困擾。針對上述這些缺點,
因此創造出一個統一且支援易插拔的外接式傳輸介面顯得急迫。
4-3-1 發展歷史
USB 是 Universal Serial Bus 的 縮 寫, 譯 為「 通 用 序 列 匯 流 排 」, 緣 起 於 Compaq、
Digital Equipment Corp.( 現 在 屬 於 Compaq)、IBM、Intel、Microsoft、NEC、North
Telcom 等 7 家公司共同組成「USB 開發者論壇(USB-IF,USB Implementers Forum)」聯
盟進行定義與推廣,共同設計與開發 USB 介面標準與相容設備。
圖 4-16 USB 的標誌
02 支援正反面都可插入。
03 支援更高的電源充電能力。
圖 4-17 USB 星狀階層連接關係
當 電 腦 主 機 連 上 電 源 時, 所 有 透 過 USB 埠 連 接 的 USB 裝 置 與 集 線 器 都 預 設 位 址
為 0,而且都處於失效的狀態。此時,主機開始搜尋 USB 裝置,第 1 個裝置或集線器
就分配位址 1,第 2 個位址為 2,以此類推。如果為集線器,則繼續往下查詢位址仍為
0 的裝置,直到所有裝置都有了新的位址,或分配位址已達最大值 127 則停止。分配新
位址時,主機也會載入該裝置對應的驅動程式,當移除裝置時,主機會偵測到資料線
(Data+、Data–)電壓發生變化,則回收位址編號。
表 4-8 USB 連接器
插頭接腳
Type A Type B Mini-A Mini-B Micro-A Micro-B
類型
USB 2.0
USB 3.2
4-3-3 USB 接腳
USB 2.0 以前的版本只有四條訊號線,包括 Vcc、Gound、Data+ 與 Data–,如表 4-
9 所示。Vcc、Gound 與主機(或集線器)電源、接地連接,靠著 Data+、Data– 的差動
訊號,達成高速傳輸的目的。USB 2.0 為半雙工(Half Duplex)匯流排,只有 2 條資料
線形成差動訊號,傳送時無法接收、接收時無法傳送,由傳送與接收共用頻寬,限制了
整體性能表現。
表 4-9 USB 2.0 引腳
接腳 訊號名稱 顏色 說明
Pin 1 VBUS 紅 +5V,電源線
Pin 2 D– 白 Data–,資料線
Pin 3 D+ 綠 Data+,資料線
Pin 4 GND 黑 Ground,接地線
從 USB2.0 到 USB3.0,在整個訊號架構上有幾個重大的改變,除了訊號傳輸率由
480Mbps 提升到 5Gbps 之外,訊號傳輸編碼方式由原本的 NRZI(不歸零翻轉) 架構修
改成 8b/10b 的架構,以降低接收端訊號判斷出錯。
USB3.0 也 進 一 步 提 升 Host 輸 出 電 流 的 能 力, 由 500mA 提 升 到 900mA, 能 提 供
更 廣 泛 產 品 的 應 用。 另 外,USB3.0 採 用 PCI-E 架 構 中 的 展 頻 時 脈(Spread Spectrum
Clock, SSC)技術來降低電磁干擾讓傳輸品質更佳。
4-3-4 資料編碼
底下以 USB2.0 的接腳定義為例來探討 USB 的資料編碼方式,USB2.0 只有兩條資
料線 Data+ 和 Data–,使用差動電位決定資料的 0 或 1,屬於串列傳輸,而這串列傳輸
資料編碼方法是採用 NRZI(Non-Return-to-Zero Inverted,誤差翻轉不歸零制或不歸零
翻轉)。NRZI 編碼方式希望在準位信號內夾帶了「同步時脈」信號,達到傳送與接收
雙方同步的目的,傳送端先將原始資料進行 NRZI 編碼再傳送出去,接收端再進行解碼。
NRZI 採用「電位保持」是一種邏輯狀態,「電位變化」又是另一種邏輯狀態。在
USB 中,NRZI 表達方式為「電壓準位翻轉代表邏輯 0」、「電壓準位不變代表邏輯 1」。
所以編碼與解碼原則如下所述:
圖 4-20 NRZI 編碼與解碼
圖 4-21 NRIZ 與位元填塞
一 控制型傳輸
所有的 USB 裝置必須支援控制型傳輸,是 USB 最重要的傳輸方式,用來提供主機
與裝置之間的通訊,包括設定裝置、取得裝置資訊(狀態)、發送命令到裝置等通訊,
為雙向傳輸。必須正確的執行控制型傳輸,才能進一步地執行其他的傳輸模式。
二 中斷型傳輸
由 於 USB 不 支 援 硬 體 的 中 斷 方 式 運 行, 所 以 必 須 靠 主 機 以 週 期 性 的 方 式 來 輪 詢
(Polling),故於 USB 的中斷傳輸意即是一種固定週期的輪詢過程。例如對 12Mbps 的
裝置而言,可以訂定 1ms 至 255ms 之間的輪詢週期,所以最快的輪詢速度為 1kHz,適
用低速的裝置,例如鍵盤、搖桿或滑鼠,這類低速的裝置統稱為人機界面裝置 (HID,
Human Interface Device)。
三 巨量型傳輸
可為單向或雙向的傳輸,適用於傳送大量的資料,且沒有固定的傳輸速率,若傳輸
失敗就會重傳以確保資料正確。適用的設備為印表機、掃描器、USB 隨身碟、硬碟等。
四 等時型傳輸
可為單向或雙向的傳輸,此種傳輸需要維持一定的傳輸速度,且允許錯誤發生,不
確保資料是否到達,不會重傳資料。事先與主機協議好固定的傳輸頻寬,以確保發送端
及接收端的傳送速度。適用在音頻或影像資料的傳輸,例如 USB 視訊裝置、喇叭等裝置,
這種傳輸可以確保撥放的速率是穩定的。
表 4-12 USB 傳輸類型比較
資料最大 發生錯
資料 應用
類型 特性描述 長度 誤時再
週期性 裝置
(bytes) 傳送
‧ 設定裝置、取得裝置資訊、發送命令到 HS:64 主機與
控制型
裝置 FS:64 沒有 可 裝置間
傳輸
‧ 雙向性 LS:8 的通訊
‧ 以預設的時間間隔傳輸資料 HS:1024 鍵盤
中斷型
‧ 慢速 10~255ms、快速 1~255ms FS:64 有 可 滑鼠
傳輸
‧ 雙向性(USB1.0 為單向輸入) LS:8 搖桿
‧ 非同步資料傳輸
巨量型 ‧ 具 CRC 糾錯能力 HS:512 印表機
沒有 可
傳輸 ‧ 慢速 10~255ms、快速 1~255ms FS:64 掃描器
‧ 雙向性、不保證傳輸速率
‧ 需要維持一定的傳輸速度,具保證頻寬
等時型 HS:1024 麥克風
‧ 無 CRC 錯誤糾錯、不保證資料正確 有 不可
傳輸 FS:1023 喇叭
‧ 可為單向與雙向傳輸
圖 4-22 USB 封包架構
每個交易都是以「執照封包」開始,決定交易的傳輸型態,定義裝置、傳輸類型與
方向。「資料封包」則是傳送此交易的資料與 CRC 驗證碼,資料長度與 USB 裝置、傳
輸類型有關。除了等時型傳輸外,所有的傳輸都需保證資料的傳遞正確,接收端以「交
握封包」回應資料是否正確的被收到,若發生錯誤,傳輸動作將重新執行。
4-3 隨堂練習
1. 連連看,請對應 USB 各版本正確的速度稱呼、傳輸速率。
版本 速度稱呼 傳輸速率
Super Speed+ 20Gbps
USB2.0 High Speed 1.5Mbps
Low Speed 12Mbps
USB3.2 Gen2X2 Super Speed 5Gbps
Full Speed 480bps
3. USB2.0 有四條線: 、 、 、 。
5. USB 傳輸類型可分為
、 、 與 四種。
4-4 資料並列傳輸原理
並列資料傳輸一次同時傳輸多個位元,可以提高傳輸效率,但是線材成本較高,適
用在短距離、高速的資料傳輸。為了確保資料傳輸的完整性,可以採取一些措施達成,
另外,經典的並列傳輸標準:印表機介面與 IEEE488,也值得一窺究竟。
4-4-1 非同步並列資料傳輸
同步傳輸因傳輸雙方共有一個時脈,可作為傳輸資料的基準,但要遷就速度較慢
者。反之,非同步並列資料傳輸沒有共同的時脈信號,為達成資料的完整傳送,可採 閃
控式 (Strobe)或 交握式 (Handshake)二種控制方法其中一種。
閃控式的缺點是無法確定接收端裝置是否確實接到資料,利用交握式可解決這個問
題,如圖 4-24 所示,除了資料匯流排外,另有兩條控制線:資料有效(Data Valid)與
資料收到(Data Accept)。交握式也分為來源啟動與目的啟動兩種,來源啟動型為達成
有效的資料傳輸,動作步驟如下:
Step 3 來源裝置因「資料收到」轉為高電位,因而知道目的裝置已收到資料, 4 將
「資料有效」轉為低電位,並 5 取消資料匯流排上的資料。
Step 4 目的裝置因「資料有效」轉為低電位,因而知道來源裝置明白資料已收到,
6 將「資料收到」轉為低電位。整個傳輸過程結束。
(a) (b)
圖 4-24 來源啟動交握式非同步傳輸
(a) (b)
圖 4-25 目的啟動交握式非同步傳輸
4-4-2 印表機介面
印表機介面 (Line Printer Terminal,簡稱 LPT)也稱 SPP(標準並列埠),是最典
型的 8 位元並列傳輸介面,原本是由 Centronics Data Computer 公司設計的印表機介面,
共有 36 條接線,現用的印表機介面又稱為 Centronics 介面,保留其接腳配置、訊號標準,
精簡為 25 條接線,包括 8 位元資料匯流排、4 條控制匯流排、5 條狀態訊號與一些為消
除雜訊而設的訊號線等,如表 4-13 所示。
印表機介面標準中有多條接地線,讓許多訊號有自己的接地返回線,以減少雜訊及
互相干擾。而 STROBE、BUSY 與 ACKNLG 為電腦對印表機的交握線,使兩端資料傳輸
確實。例如電腦由 BUSY = 0 得知因表機有空時,會送出字元並觸發 STROBE = 0,以激
勵印表機來取資料。當印表機收到資料後,以 ACKNLG = 0 回覆電腦資料已收到,並可
送下一個新字元。電腦與印表機的交握通訊簡單描述如圖 4-27 所示,動作步驟說明如下。
圖 4-27 電腦與印表機交握示意
4-4-3 IEEE-488 簡介
美國 Hewlett-Packard 公司於 1975 年訂定出 IEEE-488 介面匯流排標準,主要用於
短距離通信的匯流排規範,也稱為 GPIB(General Purpose Interface Bus,通用目的介
面匯流排),是 24pin 的 8bits 並列雙向匯流排,廣泛用在測試、量測領域以及儀器控
制的通訊介面。GPIB 傳輸速率最高可達 8Mbps,可連結一個系統控制器以及最多 14 台
儀器,纜線最長可達 20 公尺。
Device A
2 5 條管理線:
1. IFC(Interface Clear)線為系統控制器重置裝置之用。
2. ATN(Attention)線用來指示在匯流排 8bits 資料線上的訊息為資料或是命令。
3. REN(Remote Enable)線是裝置用來切換裝置為遠程控制或是本地控制。
所謂遠程控制乃是透過 GPIB 匯流排所傳送過來的裝置相關訊息進行控制,
而本地控制則是利用裝置本身面板按鈕開關進行控制。
4. EOI(End-or-Identify)線是發話者在傳送資料序列至最後位元組時,令 EOI
線動作,即拉至低準位,表示資料傳輸結束。相對地,收聽者在收到低準位
的 EOI 信號時,即停止讀取資料。
5. SRQ(Service Request)線是裝置用來通知控制器,其需要控制器的服務。
當 SRQ = 0 時,表示裝置須要服務,SRQ = 1,解除服務要求。控制器須隨
時監測其 SRQ 信號,以判斷是否有裝置要求服務中斷。
1. 管理匯流排之通信連接管道。
2. 回應裝置之服務要求中斷。
3. 送出 GPIB 命令訊息。
4. 移轉/接收匯流排控制權。
4-4 隨堂練習
1. 在非同步並列傳輸過程中,接收資料的一方「備妥接收資料時通知對方、收到資料
後也會告知對方」,可猜想雙方可能採取 非同步傳輸。
2. 電 腦 與 LPT 的 交 握 過 程 中, 印 表 機 探 知 , 獲 知 資 料 備 妥, 會 將
BUSY 轉為高電位,並開始讀取資料。
3. IEEE488 連接控制器與量測儀器的方式可分為 與 兩種方式。
4-5 並列顯示介面晶片
顯示器在微處理機系統中幾乎是必備的輸出裝置,依據使用場合需求可概分為大
型、中型與小型顯示器。大型尺寸顯示器通常應用在電視、筆電、與桌上型顯示器等,
中型顯示器則應用在相機、平板電腦與車用顯示螢幕、智慧型手機等顯示器,這兩類顯
示器大都需要圖形處理單元(Graphics Processing Unit,簡稱 GPU)輔助顯示處理,減
少顯示工作對中央處理器的依賴,特別是在 3D 繪圖運算時,GPU 的功效更加明顯。目
前 GPU 常以不同形式出現,大型顯示器的 GPU 常與其他零組件組成顯示卡,中型顯示
器則可能將 GPU 晶片直接內嵌到系統主機板上。GPU 的工作原理頗為複雜,不在此討
論。在此只討論微控制機常使用的小型尺寸顯示器介面晶片。
4-5-1 常見顯示晶片概述
小型尺寸顯示器大都應用在較小型系統,需要顯示資訊較少,常見的顯示形式有
LED(發光二極體)、七段顯示器、矩陣式 LED、LCD(液晶顯示器)、OLED LCD 等,
這些顯示裝置,可視需要配合不同的驅動與控制晶片方便應用。
圖 4-30 MAX7219 應用電路
2. 多功能的 LCD 驅動器 HT1621:HOLTEK HT1621 是一款 128 個位元的 32X4 LCD
控制元件,內部 RAM 直接對應 LCD 的顯示單元。微控制機和 HT1621 的接腳只有 4
線或 5 線串列傳輸,HT1621 內置的省電模式與節電命令用於降低系統功耗。
3. HD44780 組 成 液 晶 顯 示 模 組: 日 立(Hitachi) 的 HD44780 系 列 控 制 晶 片, 組 成 液
晶顯示模組(LCM),最多可顯示 80 個文數字,並列傳送要顯示文字的 ASCII 碼給
LCM,即可顯示該字元於 LCM 面板上,使用上相當方便。
4. 繪圖型液晶顯示驅動器 SED1520:是一種點陣圖形式液晶顯示驅動器,它可直接與 8
位元微處理機相連,具有 16 個行驅動和 16 個列驅動,廣泛應用於點陣數較少的液晶
顯示模組。
4-5-2 HD44780 簡介
小型 LCD 組合其他控制元件成為容易使用的顯示裝置稱為 LCM(液晶顯示模組),
HD44780 系 列 晶 片 可 組 成 繪 圖 型 LCM 及 文 字 型 LCM 兩 種, 其 中 文 字 型 LCM 支 援
8bits 並列資料傳輸,最多可以顯示 80 個字,提供多種彈性的顯示大小,例如 16 字 ×2
列、20 字 ×2 列、40 字 ×2 列。
一 HD44780 內部方塊
HD44780 的內部方塊如圖 4-31 所示,由微處理機連接 RS、R/W 與 EN 控制接腳與
LCM 溝通,傳送命令給 HD44780 到指令暫存器,並經指令解碼器解碼,決定工作細項。
大部分的工作是由 D7 ~ D0 輸入要顯示的資料,然後到字形產生記憶體(CGROM)取
得對應的字型,送至顯示記憶體(DDRAM)指定位置,完成顯示工作。以下分別說明
各個方塊的功能。
圖 4-31 HD44780 內部方塊圖
表 4-15 控制接腳功能說明
EN R/W RS 功能說明
0 × × 不動作
1 0 0 將指令寫入 LCM 指令暫存器 IR
1 0 1 將資料寫入 LCM 之 RAM 中
1 1 0 由 LCM 之資料暫存器 DR 讀取資料
讀取忙碌旗標 BF 及位址計數器 AC 之內容,其
1 1 1
中 DB7 = BF,DB6 ~ DB0 = AC
指令暫存器 IR 用來接收微處理機送來的命令,例如清除顯示,功能設定
等, 而 資 料 暫 存 器 DR 則 用 來 接 收 微 處 理 機 要 寫 到 DDRAM( 共 80Byte) 或
CGRAM(共 64Byte)的資料緩衝區,而寫入 RAM 的位址(位置)是由 LCM
內部的位址計數器 (Address Counter,簡稱 AC) 指定。綜上所論:
二 微處理機連接 LCM
圖 4-32 顯示 LCM 與微處理機的連接關係,只需 3 條控制線(EN、R/W、RS)、4
或 8 條並列傳輸資料線 DB0-DB7,即可操作 LCM,使用上相當方便。
圖 4-32 微處理機與 LCM 連接
1 寫入時序
1. RS = 0 或 1,選擇操作對象為命令或資料。
2. R/W = 0,表示要進行寫入動作。
3. EN 由低電位轉為高電位,EN = 0 → EN = 1。
4. 將要寫入的資料或命令放入匯流排 DB7 ~ DB0。
5. EN 由高電位轉為低電位,EN = 1 → EN = 0,即可完成對 LCM 的寫入動作。
圖 4-33 LCD 資料寫入時序圖
2 讀取動作
1. RS = 0 或 1,選擇操作對象為命令或資料。
2. R/W = 1,表示要進行讀取動作。
3. 送出一個正緣信號脈波給致能信號 EN,EN = 0 → EN = 1,即可對 LCM 進
行讀取動作,資料送到匯流排。
4. 從 D7 ~ D0 取得要讀取的信號。完成後 EN 回復低態,EN = 1 → EN = 0。
圖 4-34 LCD 資料讀出時序圖
三 LCD 初始化流程
LCM 在 送 電 後, 微 處 理 機 必 須 規 劃 LCM 的 各 項 功 能 或 工 作 模 式, 如 圖 4-35 所
示,LCM 才能正常工作,這個動作稱為 LCM 初始化。首先要設定資料匯流排的寬度
為 8bits 或 4bits。如採 4bits 介面,可以減少微處理機的接腳使用,此時低 4 位元 DB3..
DB0 不用,8bits 資料需要送兩次,先送高 4 位元、再送低 4 位元。決定匯流排寬度後,
再進行其他規劃。
圖 4-35 LCD 初始化流程
4-5 隨堂練習
1. 大型顯示器通常需要用 輔助顯示處理,減少顯示工作對 CPU 的
依賴。
Chapter 4 學習目標回顧
學習目標 1:能區別各種傳輸的類型
1. 微處理機與外界週邊裝置透過匯流排或傳輸線傳輸資料,若只用一條資料線,
每次傳送一個位元,稱為「串列(Serial)通訊」;若是使用多條資料線,每次
傳送多位元,稱為「並列(Parallel)通訊」。
2. 串列與並列傳輸轉換如下圖所示:
學習目標 2:能說明非同步串列傳輸格式
3. 非同步串列通信的資料格式如下圖所示:
學習目標 3:能列舉常見的串列傳輸標準
4. 串列資料傳輸系統中,常將設備分為 DTE 與 DCE 兩類。DTE 是指電腦主機,
DCE 則是通訊設備,如 MODEM(調變與解調變信號的數據機)。
5. EIA 制 定 RS-232, 為 常 見 的 非 同 步、 全 雙 工 串 列 傳 輸 標 準, 傳 輸 距 離 約
16m,傳輸速度 20Kbps。
6. SPI 與 IIC 特性比較如下表:
比較項目
SPI IIC
類別
傳輸模式 全雙工、同步、串列 半雙工、同步、串列
連接線 4 條 SCLK、MISO、MOSI、SS 2 條 SCL、SDA
傳輸速率 較快,5M/10M/20Mbps 較慢,100Kbps/400Kbps/3.4Mbps
7. USB 最大特點為支援熱插拔(Hot Plug)和隨插即用(Plug and Play, PnP)。
8. USB 連接方式採「階梯式星狀拓僕 (tiered star topology)」結構,可透過 hub(集
線器)擴充連接的裝置數量至 127 個。
Chapter 4 學習目標回顧
9. NRZI 編 碼 方 式 希 望 在 準 位 信 號 內 夾 帶 了「 同 步 時 脈」 信 號, 達 到 傳 送 與 接
收雙方同步的目的,傳送端先將原始資料進行 NRZI 編碼再傳送出去,接收端
再進行解碼。
10. USB 傳 輸 類 型 有 控 制 型 傳 輸、 中 斷 型 傳 輸、 巨 量 型 傳 輸 與 等 時 型 傳 輸 四 種
類型,而慢速裝置通常只有支援控制型與中斷型傳輸。
學習目標 4:能描述交握式資料傳輸的原理
11. 閃控式傳輸分為來源觸發與目的觸發兩種,如下圖所示:
Chapter 4 課後習題
選擇題
4-1 1. 下列對單工、半雙工與全雙工的敘述何者有誤?
(A) 同一時間可以發送與接收,則稱為全雙工
(B) 現在使用的電話屬於半雙工
(C) 數位無線電視微電腦對印表機為單工
(D) 如果一方只能發送資料,另一方只能接收資料,則稱為單工
2. 串列方式的傳送是指一次傳送
(A) 一個位元 (B) 兩個位元 (C) 四個位元 (D) 八個位元。
3. 無線電視台所使用之傳輸方式為下列何者?
(A) 單工(Simplex) (B) 半雙工(Half-duplex)
(C) 全雙工(Full-duplex) (D) 多工(Multiplex)。
圖 (1)
Chapter 4 課後習題
9. 下列串式傳送資料的敘述,何者正確?
(A) 同一個時脈傳輸所有位元
(B) 遠距離傳送資料時,串列式成本比平行式高
(C) 應用開始控制位元和停止控制位元不同狀態之變化,以區分兩筆資料
(D) 資料傳送速率單位為 byte。
Chapter 4 課後習題
17. 下列何者不是使用串列式的方式傳輸資料?
(A) IEEE-1394 (B) PCI (C) RS-232C (D) USB。
(A)
(B)
(C)
(D) 。
Chapter 4 課後習題
22. 下列非同步並列資料傳輸的敘述何者有誤?
(A) 閃控式的缺點是無法確定接收裝置是否確實收到資料
(B) 交握式增加資料有效與資料收到兩條交握信號線,以確保資料傳輸完整性
(C) 採用閃控式來源觸發時,來源裝置先觸發目的裝置,再備妥資料
(D) 採用交握式時,來源裝置可由「資料收到」得知目的裝置已收到資料。
24. 輸入 / 輸出介面一般可區分為並列與串列,下列哪一種介面與其他三種不
屬於同一類型?
(A) RS-232 (B) USB (C) IEEE-488 (D) IEEE-1394。
問答題
1. 請比較串列通訊與並列通訊?
2. 資料傳輸依據同步與非同步、串列與並列的不同,可分為哪四類?
ap
ter 3
5 中斷
節
Ch
本章節次 學習目標
5-1 中斷的認識 1. 能說明輪詢式與中斷的不同。
5-2 中斷控制原理及優先次序 2. 能列舉中斷分類方式。
5-3 中斷式資料傳輸原理 3. 能描述中斷資料傳輸的工作步驟。
5-4 常用中斷控制器晶片 4. 能描述 PIC 的應用功能。
學習目標回顧
課後習題
5-1 中斷的認識
當某人正在專心做一件事,突然收到外來的訊息(或狀況)需要暫時中斷手上的
工作,而去處理外來的工作;處理完畢後,應隨即回到剛剛中斷的工作,繼續處理。以
CPU 與 IO 之間的資料傳輸為例,CPU 正在執行使用者交付的功能(程式),但是 IO
隨時都可能有輸入或輸出資料的需求,CPU 必須想辦法因應。CPU 與 IO 之間的資料傳
送可分成兩類:
以上例而言,中斷式有很大的不同,CPU 平時執行其他工作,不需理會週邊裝置 A、
B、C 是否有資料傳輸的需求。當 A 或 B 或 C 希望與 CPU 進行資料傳輸時,會主動發
出「中斷請求」,告知 CPU 有傳輸資料的需求,此時 CPU 會依狀況決定是否接受中斷,
如果接受中斷請求,大抵會送回「中斷認可」信號表示接受中斷,並進行資料的傳輸。
5-1 隨堂練習
1. CPU 與 I/O 之間的資料傳輸方式可分為 與 二類。
5-2 中斷控制原理及優先次序
中斷提高微處理機對週邊的工作效率,這節會先談論中斷的控制原理,並瞭解何謂
中斷服務程式與中斷向量、中斷的發生過程。另外,當微處理機可以接收多個中斷來源
時,同時收到多個中斷請求,到底誰先誰後,也就是中斷優先權的問題。
5-2-1 中斷控制原理
微處理機的中斷來源分為硬體中斷(又稱外部中斷)與軟體中斷(又稱內部中斷)。
硬體中斷是指由外界(接腳)送中斷請求信號至 CPU 的接腳 INTR,由 CPU 判斷是否
允許發生中斷的一種模式。而軟體中斷則是由是透過作業系統提出中斷指令,如 INT 命
令、除 0 錯誤、計時中斷等所觸發的中斷。
一 硬體中斷的發生
硬 體 中 斷 除 了 系 統 的 重 置 中 斷( 重 新 開 機 ) 外, 還 分 為 可 遮 罩 中 斷(Maskable
Interrupt,簡稱 MI)與不可遮罩中斷(Non-Maskable Interrupt,簡稱 NMI)兩種。當
NMI 硬體中斷發生時,無論 CPU 正執行何種工作,都需要中斷下來,執行所要求的工
作,此種中斷具有較高的優先順序,一旦發生不容許 CPU 延宕,例如斷電、資料發生
同位錯誤等,所以 NMI 並不需要 CPU 回應 INTA(Interrupt Acknowledge,中斷認可)。
如 圖 5-3 所 示,CPU 對 外 與 中 斷 有 關 的 硬 體 接 腳, 除 了 NMI、INTA 外, 還 有 INTR
(Interrupt Request,中斷要求)。INTR 用來接收外界的可遮罩式中斷要求,由 CPU
決定要否接受中斷?如果接受中斷,則以 INTA = 0 回應,表示 CPU 已接受所要求的中
斷,將進行指定的中斷服務。
圖 5-3 可遮罩中斷示意圖
二 軟體中斷的發生
執行「INT nn」指令,系統將發生「軟體中斷,編號 nn」,屬於不可遮罩中斷。
與硬體中斷不同的是,軟體中斷是由程式中的 INT 指令引發,而硬體中斷則是由 CPU
的 INTR 或 NMI 接腳引發。nn 代表中斷的編號,不同的中斷號碼表示不同的中斷服務,
會執行該編號對應的中斷副程式。
三 與中斷相關的旗標暫存器
執行 STI 指令,會令 中斷旗標 (Interrupt Flag)IF = 1,反之,CLI 指令則 IF=0。
如果 IF=1,從 INTR 進來的中斷將可被接受,反之,IF = 0,從 INTR 進來的中斷將被
拒絕。但對於從 NMI 接腳進入或軟體中斷 INT nn 指令發生的中斷,則沒有影響。
四 中斷控制執行步驟
如圖 5-4 簡單示意 CPU 與記憶體之間在中斷發生時的執行狀態。假設目前正在執行主程
式的「N = N + 1」這行指令,此時,週邊裝置需要中斷服務,向 CPU 的硬體中斷接腳 NMI
或 INTR 發出。CPU 決定要接受中斷並進行中斷服務,進行的過程如圖 5-4 中 1 ~ 6 所
示。
圖 5-4 中斷執行步驟
5 一直執行,直到中斷副程式最後一行為 IRET(中斷返回)表示執行完畢,準備要
返回主程式。
5-2-2 中斷向量與中斷副程式
微處理機必須接收多個中斷來源,包括軟體中斷與硬體中斷,每個中斷發生時,應
執行的中斷服務或工作都不一樣,稱為 中斷服務副程式 (Interrupt Service Routinue,
簡 稱 ISR)。 對 於 發 生 中 斷 時, 指 向 中 斷 服 務 程 式 位 址 的 方 法 有 兩 種, 一 為 向 量 式,
另一種為非向量式。向量式中斷將每個中斷編上號碼,依據中斷號碼向「 中斷向量表
(Interrupt Vector Table,簡稱 IVT)」查詢中斷服務程式的位址。通常中斷向量表會
放在記憶體的最前面。非向量式中斷則是眾多中斷號碼共用同一個存放中斷服務程式的
位址,執行時在依據編號選擇不同的程式片段,執行不同的工作。
圖 5-5 中斷向量表與中斷執行
5-2-3 中斷優先權
當 A、B、C 三 個 I/O 裝 置 同 時 發 出 中 斷 要 求,CPU 必 須 先 判 斷 要 接 受 那 一 個 裝
置中斷要求?這也就是中斷優先權的問題。常用來解決中斷優先順序的方法有 輪詢式
(Polling)、 菊鍊式 (Daisy-chain)與 平行式 三種中斷優先權控制方式。
一 輪詢式中斷優先權控制
使用此方法採非向量中斷,所有中斷可共用同一個中斷服務程式存放位址,按 CPU
詢問(測試)的次序決定各中斷的的優先順序。最高優先的 I/O 裝置先詢問是否有中斷
要求?再詢問次高優先的 I/O 裝置先詢問是否有中斷要求?
用軟體或硬體都可達成輪詢式的中斷優先權判斷,但用軟體的缺點是,當連接多個
IO 裝置時,詢問將花費相當多時間,可能超過實際執行中斷服務程式的時間。使用硬體
電路可以提高輪詢式中斷優先的操作速度。
CPU 每隔一段時間,主動詢問外部裝置「是否需要服務(資料傳輸的需求)?」,
由第 1 個裝置開始詢問,該裝置如果有中斷服務需求,CPU 馬上進行服務。如果沒有,
則繼續詢問下一個裝置,直到最後一個裝置,然後再由第 1 個裝置詢問,週而復始這樣
的動作。
二 菊鍊式中斷優先權控制
菊鍊式的前提是,必須採向量式中斷,每個中斷源必須有自己的中斷服務程式的儲
存位址,一旦 CPU 接受該中斷源的中斷要求,就會跳到該中斷源對應的中斷向量取得
中斷服務程式的存放位址。
圖 5-6 菊鍊式中斷優先處理
三 平行式中斷優先權控制
平行式中斷優先權控制是使用遮罩暫存器,每個位元分別對應一個裝置,用以遮蓋
拒絕接受中斷的裝置,如圖 5-7 所示,當遮罩暫存器第 0 位元為 0 時,裝置 A 的中斷要
求信號因 AND 閘開關斷開,輸出一直為 0,而不可能進入 CPU,使該裝置被遮罩,不
得產生中斷請求。
圖 5-7 平行式中斷優先電路
平行式中斷優先權控制方式是使用一個優先編碼器,負責決定裝置 A、B、C、D 的
優先順序,如表 5-2 優先編碼器的真值表,當裝置 A 發出中斷要求,不論其他裝置是否
也同時發出中斷,優先編碼器輸出(O 1、O 0)=(0、0),CPU 得知為裝置 A 發出中斷
要求。當裝置 A 沒有發出中斷要求,而裝置 B 發出中斷要求,不論裝置 C 與 D 是否發
出中斷要求,優先編碼器都輸出(O 1、O 0)=(0、1),告知 CPU 裝置 B 發出中斷要求。
所以優先順序為裝置 A > 裝置 B > 裝置 C > 裝置 D。
表 5-2 優先編碼器的真值表
輸 入 輸 出
備 註
I0 I1 I2 I3 O1 O0 IRQ
1 × × × 0 0 1 裝置 A 發出中斷要求(最高優先)
0 1 × × 0 1 1 裝置 B 發出中斷要求
0 0 1 × 1 0 1 裝置 C 發出中斷要求
0 0 0 1 1 1 1 裝置 D 發出中斷要求(最低優先)
0 0 0 0 × × 0 沒有裝置發出中斷要求
5-2 隨堂練習
1. 除了重置中斷外,硬體中斷還可分 與 二種。
3. 常見的中斷優先權控制為 、 、 三種。
5-3 中斷式資料傳輸原理
輪詢式資料傳輸的程式設計較為單純,只要在負責資料傳輸的主程式撰寫輪流詢問
各裝置是否有需求,如果需要資料傳輸服務則執行資料傳輸服務,執行完成則繼續詢問。
中斷式的資料傳輸的軟體規劃較為複雜,可分「初始化」與發生中斷時「執行中斷
服務」兩個階段進行處理。
一 中斷工作初始化
中斷工作初始化有兩件事要做,應先允許中斷發生,並確定發生中斷後要執行的工作。
1 在主程式進行中斷初始化工作
1. 開啟中斷致能,讓中斷 INTR 可以發生。
2. 確定中斷號碼,設定中斷向量,將中斷服務副程式所在位址填入中斷向量表。
2 中斷服務副程式
1. 撰寫中斷服務程式 ISR 的內容,就是發生中斷後,希望 CPU 執行的工作,
例如輸入資料,或輸出資料。中斷副程式應以 IRET 結束。
2. 將中斷服務副程式常駐於記憶體,即中斷向量表所指記憶體位址,等待發生
中斷時執行。
圖 5-8 中斷的初始化工作
二 執行中斷服務
當中斷發生時,微處理機會確認是否接受中斷請求?如果認可中斷,則會進入執行
中斷服務程式階段,先進行中斷服務準備,再執行中斷服務程式。
2 執行中斷服務程式: 中斷服務程式通常一開始需要儲存許多暫存器的內容,將
暫存器內容推入(PUSH)堆疊中,然後開始執行中斷服務工作。完成工作後,
再由堆疊中取回(POP)剛剛儲存的暫存器值,碰到 IRET 即返回。Pop 堆疊中
的 PC 與 FR 相關資訊,然後返回主程式,繼續執行剛剛程式的下一行。
圖 5-9 顯示主程式與中斷服務程式的程式流程圖,主程式只要執行中斷初始化工作
一次後,即可週而復始、專心地執行其他工作,不需要理會中斷是否發生。
而中斷服務副程式中,通常會先設定 IF = 0 禁止其他中斷的發生,然後儲存一些重
要的暫存器值,依序 PUSH 到堆疊中,再開始執行中斷服務工作。執行完畢後,再反方
向 POP 回存剛剛儲存的暫存器值,再設定中斷旗標 IF = 1,最後返回主程式。
5-3 隨堂練習
1. 要進行中斷資料傳輸,初始化工作包括致能中斷、 、撰寫中斷服
務程式、 等四個工作。
2. 中斷服務程式遇到哪個指令就會返回主程式: 。
5-4 常用中斷控制器晶片
CPU 通常只有一支負責接收中斷的硬體接腳,例如 INTR,為了能接收眾多裝置的
中斷要求,需要有中斷控制功能,來擴充可接收的中斷來源,8259A 就是一顆 可程式化
中斷控制器 (Programmable Interrupt Controller,簡稱 PIC)」,最多能讓 CPU 擴充成
為可接受 64 個中斷要求的系統。
5-4-1 8259 概述
Intel 公司出產的 8259A 是一顆可程式化中斷控制器,可提供外界(如週邊設備)8
個中斷要求 IR0~IR7,相當方便與 CPU 作連接,接受外界的中斷工作,擴充中斷數目。
也可採兩層串接的工作方式,最多可擴充成接受 64 個中斷要求的中斷處理系統。8259A
的外觀如圖 5-10(a) 所示,共有 28 支接腳。
圖 5-11 8259 串接擴充中斷
圖 5-12 8259 內部架構圖
IR0 > IR1 > IR2 > IR3 > IR4 > IR5 > IR6 > IR7
表 5-4 ICW 寫入位址表
CS WR RD A0 寫入初始化命令字組
0 0 1 0 ICW1
0 0 1 1 ICW2、 ICW3、ICW4
1 X X X 8259 未定址
表 5-5 ICW 主要功能
初始化命令字組 主要功能說明
‧ 設定 8259 工作模式為單顆模式或串接模式。
ICW1 ‧ 只有串接模式時才需要 ICW3。
‧ 是否有 ICW4 ?
ICW2 ‧ 設定 IR 的中斷向量號碼。
‧ 串接模式時:
ICW3 1. 設定主 8289 那些 IR 有連接僕 8259
2. 設定僕 8259 的識別碼
‧ 是否工作在全巢模式?
ICW4
‧ 是否需要 EOI(End of Interrup)命令?
圖 5-13 ICW2 的格式
表 5-6 IR 中斷號碼計算範例
表 5-7 OCW 寫入位址表
CS A0 寫入操作命令字組
0 0 OCW2、OCW3
0 1 OCW1
1 X 8259 未定址
表 5-8 OCW 主要功能
初始化命令字組 主要功能說明
OCW2 指定 IR 的優先順序
OCW1 A0 D7 D6 D5 D4 D3 D2 D1 D0
對應 1 M7 M6 M5 M4 M3 M2 M1 M0
範例 1 1 0 0 1 1 1 1
IR0 > IR1 > IR2 > IR3 > IR4 > IR5 > IR6 > IR7
一 單顆 8259
單 顆 8259 電 路 連 接 較 為 單 純, 如 圖 5-14
所 示。 單 顆 模 式 CAS0 ~ 2 空 接,INT、
INTA、RD、WR 與 A 0 等都直接與 CPU 接腳連
接,位址解碼電路則是指定 8259 的兩個 I/O 埠
位址。SP/EN 接電源(高準位),表示此 8259
工 作 在 主 8259 模 式。 電 路 連 接 好 後, 經 過 簡
單的 ICW 規劃與寫入,就可以開始接收週邊的
中斷要求了 !
微 處 理 機 的 位 址 線 A0 直 接 接 到 8259 的
A0,A1 ~ A7 經 過 74LS138 解 碼 後, 如 表
5-9 所 示, 所 以 位 址 為 F8H、F9H, 可 透 過
F8H、F9H 進 行 初 始 化 ICW 與 操 作 模 式 OCW
規 劃。IR0 ~ IR7 則 是 直 接 接 至 I/O 設 備 的 中
斷請求 IRQ 接腳。
圖 5-14 單顆 8259 進行中斷管理
表 5-9 單顆 8259 的 ICW 與 OCW 位址
16 進制
功 能
A7 A6 A5 A4 A3 A2 A1 A0 位址
1 1 1 1 1 0 0 0 F8H ICW1 的埠位址
1 1 1 1 1 0 0 1 F9H ICW2、ICW3、ICW4 的埠位址
1 1 1 1 1 0 0 0 F8H OCW2、OCW3 的埠位址
1 1 1 1 1 0 0 1 F9H OCW1 的埠位址
D7 D6 D5 D4 D3 D2 D1 D0
A7 A6 A5 1 LTIM ADI SNGL IC4
0 0 0 1 0 0 1 1
二 串接多顆 8259
8259 可 以 組 成 2 層 串 接 的 中 斷 系 統, 如 圖 5-11 所 示 電 路,IRx 分 別 接 至 串 接 的
8259,而所有的 8259 之資料匯流排與 CS0 ~ CS2 都並接在一起。圖 5-15 則是利用主
8259 的 IR2 串接一顆僕 8259 的實際電路,而對於主 8259 與僕 8259 的硬體線路接法與
初始化工作不盡相同,說明如下。
圖 5-15 8259 擴充中斷實際電路
5-4-5 APIC 概論
Intel 公 司 在 Pentium P54C 之 後, 提 出 分 散 式
PIC 的 概 念, 稱 為 高 階 可 規 劃 中 斷 控 制 器(Advanced
programmable interrupt controller, 簡 稱 APIC),APIC
主要分為本地 APIC(Local APIC)與 I/O APIC 兩部分,
架構如圖 5-16 所示。
本地 APIC 通常都整合在微處理機內部,負責接收來
自微處理機中斷輸入接腳、微處理機內部的中斷要求、與
外部 I/O APIC 的中斷要求,然後送給微處理機核心處理。
APIC 支援多微處理機的架構,每個微處理機都有一個專
屬的本地 APIC,但 I/O APIC 只會有一個。
5-4 隨堂練習
1. 有一個綜藝節目請曉華幫忙設計 24 人搶答系統,曉華打算使用微處理機配合 8259,以中
斷方式設計系統。若微處理機只有一支 INTR 可使用,那麼最少需要配合 顆
8259 才夠。
2. 8259 內部用來記錄哪一個中斷正被服務?
3. 8259 優先權工作模式分為 、 、 三種模式。
4. APIC 可分為 與 兩部分。
Chapter 5 學習目標回顧
學習目標 1:能說明輪詢式與中斷的不同
1. 輪詢式 I/O 及中斷式 I/O 工作原理如下圖所示:
學習目標 2:能列舉中斷分類方式
2. 微處理機的中斷來源分為硬體中斷與軟體中斷。
3. 硬 體 中 斷 是 指 由 外 界( 接 腳 ) 送 中 斷 請 求 信 號 至 CPU 的 接 腳 INTR, 由
CPU 判斷是否允許發生中斷的一種模式。
4. 軟 體 中 斷 是 由 是 透 過 作 業 系 統 提 出 中 斷 指 令, 如 INT 命 令、 除 0 錯 誤、 計 時
中斷等所觸發的中斷。
5. 軟 體 中 斷 屬 於 不 可 遮 罩 中 斷, 由 程 式 中 的「INT nn」 指 令 引 發,nn 代 表 中
斷的編號,不同的中斷號碼表示不同的中斷服務。
6. 當 執 行 CLI 指 令 後,CPU 將 不 接 受 可 遮 罩 中 斷 請 求, 反 之, 若 執 行 STI 後,
CPU 將會認可可遮罩中斷請求,並發出回應。
學習目標 3:能描述中斷資料傳輸的工作步驟
7. 中斷初始化包括開啟中斷致能與設定中斷向量。
學習目標 4:能描述 PIC 的應用功能
8. 8259A 就是一顆可程式化中斷控制器(PIC),可提供週邊設備 8 個中斷要求,
如果以串接方式工作,最多讓 CPU 擴充成為可接受 64 個中斷要求的系統。ICW1
的 SNGL=0 表示系統中有多顆 8259 串接,需要 ICW3 進行串接模式的初始化設定。
9. APIC 為分散式 PIC 的概念,主要分為本地 APIC 與 I/O APIC 兩部分。
10. 本地 APIC 整合在微處理機內部,負責接收來自微處理機中斷輸入接腳、微處
理機內部的中斷要求、與外部 I/O APIC 的中斷要求,然後送給微處理機核心處理。
11. I/O APIC 負責接收外部 I/O 設備發出的中斷要求。
Chapter 5 課後習題
選擇題
5-1 1. 使用輪詢法(polling)來處理 I/O 時,則下列敘述何者不正確?
(A) 效率較差 (B) 電路簡單
(C) 優先順序由硬體決定 (D) 先被詢問者其優先權最高。
3. 當 輸 出 入 埠 與 中 央 處 理 單 元(CPU) 做 資 料 傳 遞 時, 以 中 斷 訊 號 通 知
CPU,要求 CPU 暫停原來的工作,先處理輸出入埠,處理完畢後再恢復
原來的工作,此種方式稱為
(A) 程式控制式 I/O (B) 中斷式 I/O
(C) DMA(直接記憶存取) (D) 並列資料傳輸。
5. 如果微處理機同時產生下列狀況時,應執行何者?
(A) 可遮罩中斷 (B) 重置性(Reset)處理
(C) 軟體中斷處理 (D) 不可遮罩中斷處理。
Chapter 5 課後習題
10. 在 同 時 擁 有 可 遮 罩 式 中 斷 與 不 可 遮 罩 式 中 斷(NMI) 的 微 處 理 機 系 統
中,下列事件的發生,何者最適合使用 NMI 請求? (A) 硬碟資料傳送
(B) 計時器計時終止 (C) 停電 (D) RS - 232 資料發送完成。
13. 有關菊鍊式中斷,下列敘述何者為非?
(A) 該方式用於處理多個中斷裝置之優先權
(B) 不一定需要中斷致能輸入(IEI)和中斷致能輸出(IEO),為其優點
(C) 連接完成的中斷位置就已決定中斷的優先順序
(D) 該中斷方式,其執行速度高於輪詢 (Polling) 中斷。
Chapter 5 課後習題
16. 中央處理單元(CPU)處理中斷(interrupt)時,通常採用下列何種方式
來暫存資料?
(A) 表列(list) (B) 指標(pointer)
(C) 佇列(queue) (D) 堆疊(stack)。
19. 微處理機與外部硬體中斷介面主要的信號之一是
(A) 中斷記憶 (B) 中斷週期 (C) 中斷認可 (D) 中斷分離信號。
Chapter 5 課後習題
問答題
1. 請說明詢問式 I/O 的工作原理?
3. 請說明可遮罩式中斷的動作過程。
4. 中斷式的資料傳輸的軟體規劃需要哪兩個步驟?
ap
ter 12
6 記憶體資料存取
節
Ch
本章節次 學習目標
6-1 記憶體概述 1. 能描述記憶體階層分類記憶體。
6-2 半導體記憶體資料存取之基本 2. 能描述三種依製造技術分類的記憶
原理 體特性與產品。
6-3 高容量資料儲存裝置資料存取 3. 能 說 明 半 導 體 記 憶 體 資 料 存 取 原
之基本原理 理。
6-4 快取記憶體 4. 能描述高容量儲存裝置的種類與基
6-5 DMA 基本原理 本原理。
6-6 DMA 控制晶片介紹
5. 能描述 DMA 的工作特點。
學習目標回顧
6. 能指出 8237 的簡要特性。
課後習題
6-1 記憶體概述
記憶體是整個微處理機系統不可或缺的角色,有多種分類方式。第一種是以記憶體
與 CPU 的遠近程度區分,包括 CPU 內部的暫存器與快取記憶體、主記憶體與輔助記憶
體等,速度、容量要求大不相同,依據需求選擇適當的記憶體類型,如圖 6-1 左圖所示。
右圖則是示意各類型記憶體與中央處理單元的相對位置 。
圖 6-1 記憶體依據記憶體階層分類
第二種分類方式,可就製造材料來區分記憶體,分為半導體記憶體、磁性記憶體與光
學記憶體 。其中半導體記憶體是利用正反器或電容等特性構成,例如以電容是否儲存電荷
來表示 1 或 0。而磁性記憶體則依據磁極方向表示資料的 1 或 0。光學記憶體以雷射光發
射,是否反射而接收到,來表示資料的 1 或 0。三者各有優缺點,但由於目前廣泛使用的
磁性與光學記憶體都需要機械式動作輔助寫入或讀取,所以存取速度比半導體記憶體慢,
這也是主記憶體選擇半導體記憶體的 ROM(唯讀記憶體)與 RAM(隨機存取記憶體)
的原因。而輔助記憶體則是大容量、成本低,速度要求沒那麼高,可使用需要配合機械結
構的記憶體,例如磁碟、光碟等。
表 6-1 記憶體類型特性比較表
正反器 最快 ROM
半導體記憶體 不需要 主記憶體
電容特性 快 RAM
由圖 6-2 可看出記憶體依據製造材料不同的分類情形。隨著製造技術不斷進步,記
憶體一直朝存取速度快、儲存密度高(體積小)、價格便宜的方向邁進。容量與存取速
度是評估記憶體優劣的主要指標,通常存取時間與價格是成反比的,存取速度愈快,價
格愈貴,適合用在容量需求較小,但存取頻繁的地方,例如暫存器與快取記憶體。反之,
存取速度慢,大都較便宜,適合用在容量需求大,存取次數較少的地方,例如資料的備
份,可能一天備份一次,例如可用光碟,也就是存取相對耗時的輔助儲存裝置。
圖 6-2 記憶體依據製作材料分類
另 外 一 種 分 類 方 式 是, 根 據 儲 存 資 料 與 電 源 的 關 係, 可 以 分 為「 揮 發 性 記 憶 體
(Volatile memory)」與「 非揮發性記憶體 (Non-volatile memory)」兩類。如圖 6-3
所示,RAM 屬於揮發性記憶體,非揮發性記憶體則包括 ROM、軟碟、硬碟、光碟等。
圖 6-3 記憶體依據揮發性分類
揮發性記憶體是指當電源供應中斷後,記憶體所儲存的資料便會消失的記憶體。
RAM 就是屬於揮發性記憶體,但因為具有存取速度快、集積密度高等優勢,目前微處
理機系統的暫存器、快取記憶體與主記憶體等大都採用 RAM。
非揮發性記憶體即使電源供應中斷,記憶體所儲存的資料並不會消失,重新供電
後,就能夠讀取記憶體中的資料。包括 ROM、軟碟、硬碟與光碟等都屬於此類。
6-1 隨堂練習
1. 請幫忙政繁解決電腦記憶體不足的問題,應擴充哪種記憶體?
因為常常拍照、錄影需要備份,應擴充 ,後來迷上電玩遊戲,電腦卡
卡的,應擴充 。
2. 主記憶體的製造技術為 ,反之,輔助記憶體則為 或 。
3. 依據儲存資料與電源的關係,記憶體可分為 與 。
6-2 半導體記憶體資料存取之基本原理
半導體、磁性與光學是三種常用的記憶體製造材料,其中以半導體技術製作的記憶
體存取速度最快、集積密度最高,包括 CPU 內部的暫存器、快取記憶體與主記憶體等
都是採用半導體技術。
6-2-1 基本儲存元件與位址選擇
一顆半導體記憶體,或說一個完整的記憶元件主要有位址、資料與控制接腳對外,
完成記憶體的基本操作寫入資料與讀取資料,如圖 6-4 所示。記憶體內部大都採陣列方
式排列,記憶體陣列大小與安排方式決定位址接腳與資料接腳的數目,例如 512×8 的
記憶體陣列,表示需要 512 = 2 9 個記憶體位址(位置),所以要 9 條位址線,而資料線
8 條,所以記憶體陣列的表示方法為 2 位址線數 × 資料線數。
圖 6-4 記憶元件對外關係
記憶體是由很多基本「 儲存格 (memory cell)」或稱 儲存位元 (Stored bit)組成,
每個儲存格可以儲存 0 或 1 的 1 bit 資料,如圖 6-5 所示。每個儲存位元有 字元線(word
line)為位址線,與 位元線 (bit line)為資料線。圖 6-5(a)(b) 圖顯示,字元線 =1 時,
位元線可以讀取或寫入儲存位元。反之,如圖 (c)(d) 所示,字元線 =0 時,不論儲存位
元為 0 或 1,位元線對外皆為高阻抗(圖中以 Z 表示)。
使用解碼器可以將陣列形式的儲存位元組成不同的記憶體架構,例如圖 6-6,使用
2 對 4 解碼器,讓 4 列 ×3 欄 =12 個儲存位元,組成 2 2×3 bits 的記憶體架構,其中記
憶體元件對外有 2bits 位址線、3bits 資料線。
圖 6-6 解碼器與儲存架構
一 資料的寫入(write)
資料透過資料匯流排將資料送入記憶體內儲存格,稱為寫入。寫入操作大約可分三
個步驟,如表 6-2 所示。
表 6-2 記憶體寫入資料三步驟
步驟 說明 簡述
透過控制匯流排,記憶體寫入控制接腳被致能
3 (enable)。進行寫入資料動作,將資料匯流排 WR = 0 →寫入資料
資料寫入記憶體內部指定位置。
圖 6-7 記憶體寫入動作說明
二 資料的讀取(read)
由記憶體讀取指定位置的資料到資料匯流排,稱為讀取,讀取操作需要三個步驟,
如表 6-3 所示。
表 6-3 記憶體讀取資料三步驟
步驟 說明 簡述
透過控制匯流排,記憶體讀取控制接腳被致能 RD = 0,進行讀取資料動作,將指定
2
(enable)。 位置資料送至資料匯流排
指定位址的資料放在資料匯流排上,並送入資料
3 資料匯流排→ MDR
暫存器。
圖 6-8 記憶體讀取動作說明
三 一維與二維解碼
依據儲存格組成架構不同,記憶體內部解碼電路可分為一維位址解碼與二維位址解
碼兩種。如圖 6-9 所示。圖 (a) 是一維位址解碼,C 0 ~ C n–1 表示 n 個儲存格,位址透過
位址解碼電路,可以順利選取到某一個儲存格,以進行讀取或寫入資料的動作。
列位址或行位址有時是以位址匯流排的高、低位元區分,例如高 2 位元為列位址,
低 2 位元為行位址。有時則是採位址多工的方式,如圖 (b),只有 2 位元位址匯流排,
先送 2 位元列位址,再送 2 位元行位址,兩個位址都送進去了,就可以完整解碼,選擇
指定儲存格。二維位址解碼可以簡化解碼電路的複雜度,也將記憶體對外的位址接腳縮
減一半。
四 組成指定記憶體結構
圖 6-10 說明如何使用 32×32 的記憶體陣列,組成 256×4 bits 的結構。結構上先
將每一列 32 個儲存格分為四組,每組有 8 個位元,行位址經行解碼器,每次只能由 8
個儲存格中選一位元輸出資料,如圖 (b) 所示。
這裡需要透過兩維的位址解碼,我們將位址線分為「列位址」(A 0 ~ A 4)與「行
位址」(A 5 ~ A 7)。五位元列位址經列解碼器解碼,選擇 2 5 = 32 條列線,再由三位元
位址經四組行解碼器選擇 2 3 = 8 條行線,以選擇四位元的輸出 D 3 ~ D 0。所以列位址負
責指定資料由第幾列輸出,行位址則由每列 32 個儲存格選定 4 位元輸出。當然,晶片
選擇接腳 S 0 與 S 1 需同時為 0,資料才能輸出。
(b)「32 選 4」位元資料輸出
圖 6-10 32×32 陣列組成的 256×4
6-2-2 ROM
ROM(Read Only Memory),唯讀記憶體,可以永久或半永久地儲存資料,隨時
可讀取儲存的資料。ROM 具有非揮發性(non-volatile),當電源關閉後,仍保有原來
的資料,除非透過高電壓或其他特殊方式(例如紫外線)才能將內部資料清除,重新
寫入資料。ROM 大都應用在儲存系統程式、永久性資料等,例如微電腦開機過程中的
BIOS 程式。因為以硬體儲存軟體程式,達成硬體電路功能,特性介於軟體與硬體之間,
又稱為 韌體 (Firmware)。
特性比較
存取速度 成本價格 集積密度 功率消耗 雜訊抑制力
製造技術
TTL 快 高 低 高 低
雙載子
ECL 最快 最高 最低 最高 最低
NMOS 快 低 最高 低 高
MOS
CMOS 最慢 最低 高 最低 最高
表 6-5 ROM 的分類與特性簡述
類 型 特性簡述
PROM 只能燒錄一次
EPROM 可燒錄多次,燒錄前需用紫外線清除原來資料
EEPROM 可燒錄多次,燒錄前需用高電壓清除原來資料
一 Mask ROM
圖 6-12 是利用雙極性技術組成 ROM 的儲存格,圖 (a) 中,當字元線(即位址線)
選取到此儲存格時基極為高電位,電晶體導通,所以位元線(即資料線)可以取得高電
位,表示內部資料為 1。反之,圖 (b) 中位址線的為高電位時,電晶體基極仍浮接,電
晶體不導通,所以位元線得到低電位,表示內部資料為 0。Mask ROM 依照所要記憶的
資料,預先決定字元線與電晶體基極是否接通,如果字元線與電晶體基極間接通,表示
記憶資料 1,如圖 (a);字元線與電晶體基極間不導通,表示記憶資料 0,如圖 (b)。圖 6-13
則為利用 MOS 技術製作 ROM 儲存格,儲存資料的原理與雙極性電晶體相似。
(a) 儲存 1 (b) 儲存 0
圖 6-12 雙極性電晶體 ROM 儲存格
(a) 儲存 1 (b) 儲存 0
圖 6-13 MOS 的 ROM 儲存格
Mask ROM 由 IC 製 作 廠 商 直 接 大 量 製 造 生
圖 6-14 ROM 讀取資料操作
產,事先規劃資料再製造,製成後資料固定,使
用者不可更改,只能讀取資料。Mask 名詞來自積體電路製程的名詞,表示在光刻過程
遮住晶片某些區域。Mask ROM 因為不需要提供寫入資料的功用,電路結構簡單而且大
量生產,成本相對便宜。
二 PROM
PROM(Programmable ROM) 可 規 劃 式 唯
讀記憶體,透過熔斷可熔性接線(fusible link)
的 過 程, 達 成 規 劃 ROM 的 記 憶 資 料 的 目 的。
Mask ROM 在 IC 製造時已決定記憶的資料內容,
PROM 則是可以提供使用者依據需要規劃 ROM
的記憶資料,但是只能規劃一次。
PROM 以儲存格的可熔性接線的燒斷或保
留表示儲存資料的 0 或 1,熔斷過程為不可逆,
所以 PROM 在規劃後,不可以清除資料或再規
劃。圖 6-15 為 PROM 陣列,圖中可熔性接線保
留表示儲存資料 1,燒斷則表示 0。
可熔性接線的技術常見的有金屬接線、矽
接線與 PN 接面三種,每一個儲存格都有一條可
熔性接線,以此接線的燒斷與保留表示儲存資
料的 1 或 0。規劃過程中,先選定位址後,送入
足夠的電流流過可熔性接線,以熔斷接線。
圖 6-15 具可熔性雙極性電晶體組成
PROM 陣列
三 EPROM 與 EEPROM
PROM 只 能 規 劃 一 次, 但 EPROM(Erasable PROM, 可 抹 除 式 PROM) 可 利
用 紫 外 線 照 射 清 除 原 來 資 料, 進 行 再 一 次 的 規 劃, 又 稱 UV-EPROM。 而 EEPROM
(Electrically-Erasable PROM, 電 子 抹 除 式 PROM), 也 記 作 E 2PROM, 唸 成 double
E PROM,則是外加特定電壓抹除原來資料,達到重複規劃的目的,抹除資料時比較方
便、快速。
如 圖 6-16 所 示 N 通 道 MOSFET, 在 控 制 閘 極 加 上 正 電 壓, 注 入 浮 動 閘 極 的 載 子
為電子,最常見的兩種方式就是 熱電子注入 (HEI, Hot electron injection)和 F-N 穿隧
(Fowler-Nordheim tunneling)。電位的改變則是利用浮動閘極 FG 內的電荷量來決定,
當電子被注入到 FG 中,此時的狀態為 1,即「被寫入(Programmed)」。相反的,若
FG 中的沒有電子,此時的狀態稱為 0,即「被清除(Erased)」。
EPROM 雖有浮閘,但沒有控制閘,浮閘內的電荷來自
汲極附近的崩潰區域內產生的熱電子。因為沒有控制閘,清
除必需使用紫外線。EPROM 封裝時會在上方留一透明石英玻
璃罩口,如圖 6-17 所示,平常使用時會以不透光的貼紙貼上,
避免資料流失,延長資料的保存。當要清除資料時,則應將
圖 6-17 EPROM 外觀
貼紙撕去,放置於高密度的紫外線輻射,約數分鐘至十數分
鐘,就可將浮動閘極電荷中和清除,達到資料清除的目的。
大部分的 EPROM 清除後儲存格輸出資料皆為 1。
四 Flash Memory
日本東芝公司川岡富士雄博士 1980 年申請 Flash Memory(快閃記憶體)的專利,
並在 1984 年加州舊金山 IEEE 國際電子元件會議上發表了這項發明。Flash Memory 屬
於 EEPROM,可用電性清除資料,允許多次清除或寫入的記憶體。就儲存資料而言,
它是不需要消耗電力的,目前廣泛用於一般性資料儲存,例如相機與手機記憶卡、隨身
碟、固態硬碟(與一般硬碟相比,具有更佳的抗震性)等,在遊戲主機上也快速取代儲
存遊戲資料用的 EEPROM 或帶有電池的 SRAM。另外,目前微電腦的 BIOS 幾乎都是
採用 Flash Memory。表 6-6 為三種 EPROM 的比較表。
表 6-6 三種 EPROM 比較
EPROM 種類
UV-EPROM EEPROM Flash Memory
項目
資料規劃方式 熱電子注入 穿透效應 熱電子注入
小區塊(典型為位
最小清除資料量 整個記憶體 較大區塊抹除
元組)清除
較大區塊寫入
以位元組為單位 以位元組為單位
資料寫入單位 (寫入大量資料時
寫入 寫入
顯著的速度優勢)
(a) NOR 結構
圖 6-18 NOR 與 NAND 快閃記憶體結構
(b) NAND 結構
圖 6-18 NOR 與 NAND 快閃記憶體結構(續)
NOR Flash 快 慢 慢 小 高 中 減少
NAND Flash 中 快 快 大 低 高 上升
6-2-3 RAM
RAM(Random Access Memory),隨機存取記憶體,可重複寫入資料至指定位置,
寫入新資料後,原來資料會被覆蓋。當然也可由指定位置讀出資料,並且不會破壞原來
資料。與 ROM 最大的不同是,RAM 儲存的資料在電源消失後,也會跟著消失,具揮
發性,不像 ROM 可以永久(或長久)保存資料。所以 RAM 適合用資料的暫存,儲存
那些在電源消失後不需保存的資料。RAM 的集積密度很高,成本便宜,存取速度快,
所以能使用 RAM 的地方,大都儘可能使用 RAM。
圖 6-19 半導體 RAM 分類
特性比較 刷新
存取速度 成本價格 集積密度 功率消耗
類 別 (Refresh)
SRAM 快 高 低 低 不需要
DRAM 慢 低 高 高 需要
一 SRAM
SRAM, 靜 態 RAM, 寫 入 資 料 後,
只要電源不切斷,就可保存資料。雙極性
電晶體與 MOS 技術都可以製造 SRAM。
圖 6-20 為 以 MOSFET 組 成 的 SRAM 基
本儲存格,以雙穩態電路為主要架構,當
字元線 WL 為高電位時,資料能由位元線
BL 寫 入 或 讀 取。 為 簡 化 電 路 方 便 說 明,
圖中省略一些緩衝器與控制電路。 圖 6-20 SRAM 儲存格
二 DRAM
DRAM(動態 RAM)因為是將資料儲存在小電容內,利用小電容幾乎沒有放電迴
路的特性來保存資料,成本相當便宜,且製造的密度極高。但是,電容上的資料並無法
長時間保存,需要附加「刷新(Refresh)電路」,負責定時刷新 DRAM 上的資料,增
加 DRAM 電路的複雜度。
2 DRAM「讀取」資料的動作
圖 6-23 為 DRAM 讀出資料的示意圖。動作說明如下。
圖 6-23 DRAM 資料讀取
3 DRAM 的「刷新」動作
圖 6-24 為 DRAM 資料刷新的示意圖,動作說明如下。
因經過緩衝器,電位會更新為標準高電位或標準低電位,使電容上的電位保持。
圖 6-24 DRAM 資料刷新
大 多 數 的 DRAM 都 使 用 位 址 多 工 的 方 式 以 減 少 位 址 線 的 數 目, 使 封 裝 後 晶 片 接
腳數減少。位址多工的工作方式如圖 6-25 所示 16 K×1 的 DRAM,應有 14 條位址線
( 因 2 14 = 16K)、1 條 資 料 線, 但 位 址 線 接 腳 卻 只 有 7 支, 配 合 RAS(Row Address
Strobe,列位址激勵)與 CAS(Column Address Strobe,行位址激勵)達成位址多工。
圖 6-25 DRAM 位址多工
圖 6-26 DRAM 位址多工操作時序圖
三 SDRAM
為提高 DRAM 的存取速度,出現「同步(synchronous)」的技術,稱為 SDRAM,
表示記憶體時脈與 CPU 的時脈能同步存取資料,大大提高記憶體的工作效能。SDRAM
在電腦中被廣泛使用,從起初的 SDRAM 到之後一代的 DDR(或稱 DDR1),然後是
DDR2 和 DDR3 進入大眾市場,2015 年開始 DDR4 進入消費市場,分別說明如下。
1 SDRAM(Synchronous DRAM,同步動態隨機存取記憶體)
也稱 SDR SDRAM(Single Data Rate SDRAM,單倍資料速率 SDRAM),
其中「同步」是指記憶體時脈與 CPU 的時脈能同步存取資料,微處理機與記憶
體利用時脈邊緣同步進行讀寫動作,在 1 個時脈週期內讀或寫 1 次,大幅提昇
記憶體存取效率。
表 6-9 不同 SDRAM 比較
SDRAM 100 ~ 166 MHz 100 ~ 166 MHz 1n 100 ~ 166 3.3V 168
DDR 133 ~ 200 MHz 133 ~ 200 MHz 2n 266 ~ 400 2.5/2.6V 184
DDR2 133 ~ 200 MHz 266 ~ 400 MHz 4n 533 ~ 800 1.8V 240
DDR3 133 ~ 200 MHz 533 ~ 800 MHz 8n 1066 ~ 1600 1.5V 240
DDR4 133 ~ 200 MHz 1066 ~ 1600 MHz 8n 2133 ~ 3200 1.2V 288
註 MT/s 代表一秒可傳輸幾百萬次資料,乘以資料匯流排寬度,就是資料傳輸速率。
6-2 隨堂練習
1. 單一個儲存位元,通常會稱位址線為 、稱資料線為 。
4. DRAM 使用 儲存電荷以保存資料,需要定時 才能保持資料。
6-3 高容量資料儲存裝置資料存取之基本原理
半導體記憶體存取速度快,但價格比較貴,如果需要大量儲存資料時,並不划算。
當存取速度要求並不怎麼嚴苛時,會考慮採用磁性或光學的儲存設備,這兩類設備存取
時需要配合機械結構,存取速度較慢,但價格比較便宜。磁性儲存設備包括磁帶、磁碟、
與磁性光碟等,用得最廣的屬磁碟,目前大部分的個人電腦都視硬式磁碟為標準配備。
而磁性光碟利用磁性技術與雷射光束讀寫資料,同時採用磁性與光學特性達成存取資料
的目的。其他的光碟,如 CR-ROM、CR-RW 與 DVD 等,沒有使用磁性原理,但仍透
過雷射光束存取,本章亦提出說明。
表 6-10 輔助記憶體分類
種類 產品
磁性輔助記憶體 磁碟、磁帶、磁泡、軟碟、硬碟、磁性光碟(MO)
光學輔助記憶體 CD-ROM、CD-R、CD-RW、DVD、BD
6-3-1 軟式磁碟
磁碟分為 軟式磁碟 (Floppy,簡稱軟碟)與 硬式磁碟 (Hard Disk,簡稱硬碟),
軟碟雖然目前較少使用,但它的結構是硬碟、光碟的前身,值得探討與瞭解。第一個軟
碟磁片是由 IBM 於 1971 年開發出的,直徑 8 吋。隨著使用的需要與技術提高,又衍生
出 5.25 吋的磁片,並廣泛使用在 Apple II、IBM PC 及其他相容電腦上。1981 年 日 本
Sony 公司首次推出 3.5 吋軟碟,容量有 1.44MB。直到 2000 年以前,這種 5.25 吋與 3.5
吋軟碟幾乎成為個人電腦的標準配備,如圖 6-28 所示,之後 CD-ROM、USB 儲存裝置
出現後,軟碟逐漸被淘汰。
軟碟本體是圓盤狀的柔性聚脂材料,表面塗上磁性物質以記錄資料,所以稱為軟
1 1
碟。常用的軟碟有 5.25(也稱 5 )英吋與 3.5(也稱 3 )英吋,是指圓盤狀磁碟片的
4 2
直徑大小,因怕軟碟過軟,易受損壞,一般都在外層包裝硬塑膠套(殼),作為保護用。
磁碟片的正反兩面都可讀寫資料,兩
面結構相同,如圖 6-29 所示,多個同心圓
形成磁軌(track),由外向內編號,最外
側為第 0 磁軌,再來第 1 磁軌,以此類推。
每 一 磁 軌 都 分 割 成 多 個 磁 區(sector),
常見每個磁區可儲存 512 bytes(0.5KB)
的資料。以「第 n 磁軌第 m 磁區」稱呼指
定磁區,不論外磁軌或內磁軌,每一磁區
所能儲存的資料量是一樣的,因為內磁軌 圖 6-29 磁碟片的結構
的磁區面積較小,所以儲存資料的密度較高。
例如有一磁碟片,兩面都可儲存資料,每一面都有 80 個磁軌,每磁軌分為 15 個
磁區,每個磁區可儲存 512bytes,則此磁碟片的記憶容量為:2 面 ×80 磁軌 ×15 磁區
×512 bytes = 1.2 M bytes。這也是常用的 5.25 英吋軟碟的結構。
6-3-2 硬式磁碟
軟碟除了存取速度較慢的缺點外,也怕灰塵侵入磁碟片,當磁頭讀寫資料時造成磨
損,甚至壞掉。硬碟是將碟片封裝在密閉、乾淨(無塵)的方形盒中,並用堅硬的金屬
保護著,所以稱為硬碟。磁頭讀取磁碟片上所儲存的資料時,磁頭浮在磁碟表面的空氣
層,兩者之間的間隙極小。硬碟外觀與內部結構如圖 6-31 所示。
圖 6-31 硬碟外觀與內部結構
硬 碟 的 內 部 因 工 作 環 境 較 佳, 所 以 磁 碟 片 運 轉 速 度 可 以 相 當 快, 一 般 常 見 為
5400RPM(磁碟片每分鐘旋轉圈數)、7200RPM 或 10000RPM 等。硬式磁碟的內部磁
碟片常見為 5.25 英吋與 3.5 英吋兩種。
磁碟由多片堅硬鋁合金圓盤疊成圓柱狀,每片圓盤兩面都塗上磁性材料,規劃方式
如同軟碟片一樣,也分為磁軌、磁區,比較特別的是,硬碟將所有磁片之同一半徑磁軌
的組合稱為磁柱(cylinder),所以磁柱的數量和單面磁軌數是一樣的。每面的碟片都
擁有專用的磁頭,這些磁頭可以同時存取資料。所以磁頭數就是碟片的面數,磁柱數就
是每面的磁軌數。多個連續的磁區,組成一個磁叢(cluster),是作業系統存取硬碟資
料的單位。計算硬碟容量一般為:
評估硬碟的效能除了容量外,速度也相當重要。客觀地評估硬碟速度的方式,可
將 資 料 存 入 磁 碟 或 由 磁 碟 讀 取 資 料 所 需 的 時 間 稱 為 存 取 時 間 (Access time, TA), 包
括 搜 尋 時 間 (Seek time, T S)、 旋 轉 時 間 (Rotation time, T R) 與 資 料 傳 輸 時 間 (data
transfer time, T D),即:
TA = TS + TR + TD
‧ 搜尋時間 T S: 也就是「找磁軌」的時間,磁碟機的驅動臂(或稱讀取臂)動作將磁頭移
到指定的磁柱(磁軌)上所需的時間。
‧ 旋轉時間 T R: 即「找磁區」的時間,主軸馬達運轉,磁碟片旋轉,使磁頭能讀取到指定
的磁區所花費的時間。
‧ 資料傳輸時間 T D: 開始「傳輸資料」的時間,磁頭就指定磁區位置後,將資料讀取並傳
送至主記憶體,或將資料寫入碟片,所花費的時間。
表 6-11 硬碟傳輸介面特性比較
項目 連接 距離 連接
介面 多工模式 接腳數
類型 硬碟數 ( 最長 ) 拓樸
16
SCSI 並列 半雙工 12m 匯流排 68pin
( 含控制器 )
傳統硬碟需要機械式馬達驅動轉動磁盤,在高速運轉會有噪音,如果震動或摔落造
成讀寫頭位移,容易造成硬碟損壞。 固態硬碟 (Solid State Disk,簡稱 SSD)內部不是
磁碟而是積體電路,沒有會轉動的碟片,也沒有馬達的耗電需求,而是採用 NAND 型
快閃記憶體組裝而成,具有耗電量低、重量輕且薄、無噪音、抗震動與速度快等優勢。
另外有一種 混合式固態硬碟 (SSHD),由傳統硬碟及固態硬碟混合而成,除了傳統大
容量的磁碟片外,還內建 NAND 快閃記憶體,兼具有讀寫快速及容量大的優點,通常
是將最常用的檔案資料存於快閃記憶體,以加快資料的讀取速度。
硬碟容量愈來越大,CHS 顯然不敷使用,衍
伸 出 LBA( Logical Block Address, 邏 輯 區 塊
位址 ),另一種描述硬碟邏輯區塊順序的方法,
LBA 是非常單純的一種定址模式,從 0 開始編號
圖 6-33 硬碟規格識別
磁區號碼,第一區塊 LBA = 0,第二區塊 LBA =
1,依此類推。早期的 LBA 由 24 位元定址,最大
6-3-3 光碟
光碟(Optical disc)泛指「用雷射光掃描碟片以讀出資料」的一種媒介,種類眾多,
這 裡 只 探 討 應 用 在 電 腦 領 域 儲 存 資 料 的 光 碟, 常 見 的 有 CD (Compact Disc)、 DVD
(Digital Versatile Disc)與 BD(Blu-ray Disc,藍光光碟)三大類型,如表 6-12 所示,
以唯讀、可寫一次與可多次複寫分類列出。
表 6-12 光碟分類
項目
唯讀型 可寫一次型 可複寫型
類型
CD-ROM 資料在光碟生產時已經記錄,其材質包括反射層金屬及光碟片基材聚脂塑
膠圓盤碟片。資料記錄原理是將資料記錄在碟片上,在原盤刻畫為凹(pit)與平(land)
連成一條螺旋狀的軌道,如圖 6-34(a) 所示,利用雷射聚光良好的特性,對原盤表面發
射雷射光,當雷射光射在平坦的槽上,幾乎都反射回去,反之,如果射在凹陷的槽中,
則光束散射,只有小部分反射,反射的光束強弱經由光感測器感測決定資料的 1 或 0,
如圖 (b),land 與 pit 變化時資料為 1,沒有變化時為 0。
因為圓盤內、外記錄資料的密度(或磁區長度)是一樣的,所以光碟機讀取資料時
旋轉速度需要變化,存取愈內軌轉速愈快。雷射光軌跡間距為 1.6μm,由光碟片轉軸系
統、光束直徑、光碟片傾斜度、光碟片厚度等因素決定凹洞間距約為 0.4 ~ 0.5μm。
圖 6-34 CD-ROM 的資料紀錄
圖 6-35 光碟機機構
就儲存的結構而言,光碟與軟硬碟是類似的,但密度提高不少。一般而言,軟碟每
英吋約有 100 軌,硬碟數千軌,光碟則可達每英吋 16000 軌。
可改寫型光碟提供與磁碟機有相同可重複讀、可重複寫的功能,目前常用的技術有
相變 (phase-change)與 磁光 (magneto-optical)兩種。相變型光碟,簡稱 PC-disc,採
用碲合金,是介於晶體與非晶體狀態的物質,在雷射光束的熱力作用下,導致由非晶體
狀態轉變為晶體狀態,也可由晶體狀態轉變為非晶體狀態,即資料的寫入與清除,晶體
狀態反射率高表示資料 1,非晶體狀態反射率低表示資料 0。
表 6-13 CD-ROM、DVD-ROM 與 BD 特性比較
4.7GB 25GB
儲存容量 約 650MB
(單面單層) (單面單層)
表 6-14 DVD 規格與特性
規格 特性
DVD±RW 可燒錄多次重複寫入資料,若要刪除資料,整片資料要抹除
DVD-RAM 可燒錄多次重複寫入資料,若要刪除資料,可視需要部分刪除
藍 光 光 片 以 405nm 藍 光 雷 射 讀 取 資 料, 碟 片 資 料 密 度 更 高, 軌 間 距 離 0.32μm,
包 括 一 次 燒 錄 型 BD-R, 與 可 重 複 燒 錄 的 BD-RE, 單 層 容 量 為 25GB、 雙 層 50GB 與
BDXL 為 128GB。
表 6-15 DVD 與 BD 結構與容量
規格 結構 容量
單層 25GB
雙層 50GB
BD
三層(BDXL) 100GB
四層(BDXL) 128GB
光碟機的存取速度,以「倍」為單位,倍速愈高,表示讀寫的速度愈快。但 CD、
DVD 與 BD 的單倍速度並不相同,如表 6-16 所示。
表 6-16 CD、DVD 與 BD 特性比較
6-3 隨堂練習
1. 有一台硬碟標示 CHS:1683/16/63,表示此硬碟磁頭(Header)數為 、
磁柱(Cylinder)數為 、磁區(Sector)數為 ,所以此硬碟容
量為 MB。
2. 硬碟的存取時間包括 、 與 。
6-4 快取記憶體
計算機的「記憶體系統」通常以階層方式表示,
包 括 CPU 內 部 的 暫 存 器 與 快 取 記 憶 體, 主 機 內 部 的
主 記 憶 體 與 主 機 外 部 的 輔 助 記 憶 體。 為 提 高 CPU 存
取 資 料 的 效 率, 通 常 會 採 用「 快 取 記 憶 體 (cache
memory)」 與「 虛 擬 記 憶 體 (virtual memory)」 兩
種策略。快取記憶體是在主記憶體與 CPU 之間,加上
一層存取速度快、容量小、費用高的快取記憶體,一
般為 SRAM。虛擬記憶體則是電腦系統記憶體管理的
一種技術,管理輔助記憶體與主記憶體之間的資料傳
送,或者說,將輔助記憶體「當成」主記憶體來用,
擴增主記憶體可用容量。典型的記憶體架構,如圖 6-36
所示。就存取速度與費用而言,快取記憶體 > 主記憶
體 > 虛 擬 記 憶 體, 就 容 量 而 言 則 相 反, 虛 擬 記 憶 體 >
主記憶體 > 快取記憶體,但是兩種策略都是為了提高
圖 6-36 快取記憶體與虛擬記
CPU 存取資料的效率。 憶體
對於內儲式微處理機架構而言,CPU 現正執行的程式一定要先由輔助記憶體中,載
入到主記憶體中,再開始一道一道指令執行。在有快取記憶體的系統架構中,如圖 6-37
所示,終極目標是希望 CPU 存取資料的對象大部分都是快取記憶體,因為快取記憶體
速度快,所以這樣就可以提高整個執行程式的效能。
圖 6-37 快取記憶體操作示意圖
當 CPU 需要讀取資料時,先檢查是否在快取記憶體內,如果找到,直接讀取,當
然讀取速度很快。如果找不到,則至主記憶體讀取,並將此區段資料與附近的區段資料
(指令)都載入快取記憶體中,區段的大小可以由 1 字組到 16 字組之間。當 CPU 再存
取下一筆資料時,相當可能被「命中(hit)」,已在快取記憶體中,CPU 可直接由快
取記憶體中讀取,提高讀取速度。對於 循序結構 、 重複讀取 (如迴圈)與 副程式呼叫 的
程式碼,命中率(hit ratio)都相當高。為了提高快取記憶體的命中率,主記憶體與快
取記憶體之間的對應方式更顯重要。
提供「快取」的目的是為了讓資料存取的速度提高,原理是記憶體中「執行程式與
提取資料具有區域性」。為了充分發揮快取的作用,主要依靠「暫存剛剛存取過的資料
(副程式)」與「程式循序特性」,還要使用硬體實現的指令預測與資料預取技術,儘
可能把將要使用的資料預先從記憶體中取到快取裡。
快 取 技 術 早 期 只 應 用 在 超 級 電 腦 上, 但 是 現 在 電 腦 上 使 用 的 的 AMD 或 Intel 微
處 理 機 都 在 晶 片 內 部 整 合 了 大 小 不 等 的 資 料 快 取 和 指 令 快 取, 通 稱 為 L1 快 取(L1
Cache),而比 L1 更大容量的 L2 快取曾經被放在 CPU 外部,與主記憶體之間。但是
現在更昂貴的 CPU 會將 L2 Cahce 規劃成為 CPU 內部的標準元件;配備比 L2 快取還要
大的 L3 快取在 CPU 外部。
由於主記憶體容量遠大於快取的容量,因此兩者之間就必須按一定的規則對應起
來。「位址映對」就是指按某種規則把主記憶體塊裝入快取中,當按某種映對方式把主
記憶體區塊裝入快取後,每次存取快取時,需把主記憶體的 實體位址 變換成快取的位址,
進而存取其中的資料。
虛擬記憶體則是希望擴大主記憶體的容量,「將輔助記憶
體當成主記憶體來用」,讓系統可以同時執行更大容量、更多
的程式。但是,當 CPU 要讀取的資料在輔助記憶體中,則必須
先讀入主記憶體中,CPU 才能讀取。所以虛擬記憶體是一種記
憶體管理策略,並不是實體記憶體。快取、主記憶體與虛擬記
憶體的關係如圖 6-38 所示。
虛 擬 記 憶 體 與 快 取 記 憶 體 兩 者 策 略 的 目 的, 都 是 為 提 高
CPU 存取資料的效率,求得最快的平均存取速度,降低記憶體
成本,但在作法上確有很大的差異。主要有以下幾點不同:
圖 6-38 記憶體架構
2 CPU 可直接向快取記憶體與主記憶體存取資料,但不可以向輔助記憶體直接存
取資料,必須先將輔助記憶體的資料載入主記憶體中,CPU 才能進行存取工作。
3 三 者 存 取 速 度、 價 格 關 係 皆 為: 快 取 記 憶 體 > 主 記 憶 體 > 輔 助 記 憶 體。
容量關係則為:快取記憶體 < 主記憶體 < 輔助記憶體。
6-4 隨堂練習
1. 為提高 CPU 存取記憶體資料效率,通常會採用 與 兩種策略。
2. 那些結構的程式能使快取記憶體命中率較高?
、 、 等。
3. 虛擬記憶體是主記憶體與 之間的對應關係,希望能提高主記憶體可使
用的容量。
6-5 DMA 基本原理
微處理機系統中 CPU、記憶體與 I/O 組成鐵三角,執行工作時常常需要互相傳輸資
料,而 I/O 裝置速度與 CPU 差異很大,且記憶體與 I/O(例如硬碟)資料傳輸量常常很
龐大,應適時採用合宜的傳輸方式才能提高系統效能。
6-5-1 DMA 概述
在微處理機的世界裡 CPU 掌管一切,即使是 I/O 與記憶體之間的資料傳送,CPU
也要全盤瞭解工作的內容,可依 CPU 介入的程度分為輪詢式、中斷與直接記憶體存取
(DMA,Direct Memory Access)。
而中斷方式則衍生自週邊設備的速度跟不上 CPU,如果以輪詢式的方式,每一道
CPU 與 IO 之間的資料傳輸都需 CPU 監視,CPU 幾乎都是在等待週邊設備的回應,而
使 CPU 工作效率降低。這個缺點可以用中斷來避免,中斷是當週邊設備完成上一筆資
料傳輸再發出中斷要求通知 CPU 傳送下一筆資料,或當週邊備妥資料時向 CPU 發出中
斷要求,通知 CPU 來讀取資料。在週邊處理資料的同時,CPU 可執行其他工作,直到
週邊發出中斷要求,再進行週邊要求的資料傳輸工作。
DMA 的資料傳輸方向只有「主記憶體→週邊裝置」、「週邊裝置→主記憶體」兩個,
其工作分別說明如下。
1 資料輸出控制:主記憶體 → 週邊裝置
當 CPU 欲將大量資料送往指定週邊設備時,CPU 會先在主記憶體安排好所
要傳送的資料,並告知 DMA 控制器資料傳輸的起始位址、資料數,啟動 DMA
工作,將匯流排控制權讓給 DMA 控制器就可以了!
2 資料輸入控制:週邊裝置 → 主記憶體
如果 CPU 希望讀取指定週邊設備的資料時,可先啟動 DMA 控制器,將週
邊設備的資料讀入記憶體,再行處理。CPU 只要告知 DMA 控制器希望將週邊
設備的資料搬移到主記憶體的位址、資料數,再啟動 DMA 控制器並將匯流排
控制權讓給 DMA 控制器。
3 當 CPU 認可後,在位址暫存器設定起始位址,在字數計數器設定傳輸字數,再
以 BG(匯流排授與)通知 DMA 控制器,表示允許 DMA 控制器使用匯流排。
6 當傳輸一個字組後,位址暫存器遞增、字數計數器遞減。若字數計數器不等於
0,傳輸會繼續直到為 0。DMA 控制器取消匯流排要求,通知 CPU 傳輸終止。
圖 6-40 DMA 控制器方塊圖
DMA 控制器中有三個暫存器,攸關整個資料傳輸動作,包括位址暫存器、字數計
數器與控制暫存器,功能分別敘述如下。
1 位址暫存器 :指示要存取的記憶體位址,位址暫存器所含的位址,透過位址匯
流排緩衝器,送至位址匯流排。當傳輸一字組後,位址暫存器自動加 1(遞增)。
2 字數計數器 :字數計數器中存有要傳輸的字數,當傳輸一個字組後,字數暫存
器自動減 1(遞減)。DMA 內部會測試字數暫存器是否為 0,0 即停止傳輸。
3 控制暫存器 :用來指定傳輸的模式。
當 DMA 控制器送出「匯流排請求」訊號給 CPU,要求 CPU 接受 DMA 動作。當
CPU 回覆「匯流排授與」認可時,就會執行下列四個動作:
1. 設定位址暫存器的值,即要讀取或寫入記憶體區塊的「啟始位址」。
2. 設定字數計數器的值,即記憶體區塊的資料數目。
3. 讓出匯流排控制權給 DMA 控制器。
4. DMA 控制器以 DMA 認可訊號,告訴週邊裝置,CPU 已認可 DMA 動作,並開始進
行 DMA 的讀或寫動作。
在 CPU 認可 DMA 後,DMA 控制器即開始動作。CPU 不再與 DMA 溝通。傳輸一
筆資料給週邊設備後,字數計數器自動減 1,位址暫存器加 1。持續資料傳輸動作,直
到字數計數器為 0 才停止,完成工作。
6-5 隨堂練習
1. CPU 掌控記憶體與 I/O 之間的資料傳輸可分為 、 與
三種。
3. DMA 傳輸資料的工作模式可分為 、 與 三種。
6-6 DMA 控制晶片介紹
8237 是 一 顆 可 程 式 化 DMA 控 制 晶 片(Programmable DMA controller), 共 有
40pin,接腳與功能分組如圖 6-41 所示。8237 如同特殊用途的微處理機,負責 I/O 與記
憶體之間的高速資料傳輸,達成 DMA 工作,8237 提供四個通道可用來傳輸資料,但同
時間一次只有一個通道可進行資料傳輸,且四個通道具有優先順序。在新的微處理機系
統中,DMA 控制器大都包含在系統的控制晶片組中。
圖 6-41 8237 接腳與功能分組
圖 6-42 8237 工作連接簡單示意
一 8237 工作模式
8237A 有 四 種 工 作 模 式, 分 別 為 單 一 傳 輸 模 式 (single transfer mode)、 區 塊 傳
輸 模 式 (block transfer mode)、 要 求 傳 輸 模 式 (demand transfer mode)、 串 接 模 式
(cascade mode),工作說明如表 6-17 所示。
表 6-17 8237 四種工作模式
工作模式 工作說明
. 每次 DMA 傳送時,只傳送一個位元組。傳送一個位元組之後,當前位元
組計數器減 1,位址暫存器加 1 或減 1,就將匯流排控制權交還給 CPU。
單一傳輸模式
. 特色:一次傳送一個位元組,效率較低,但保證在兩次 DMA 傳送之間,
CPU 有機會獲得匯流排控制權,執行一次 CPU 匯流排週期。
. 8237A 獲得匯流排控制權後,就會連續地傳送整個區塊資料,直到當前字
組計數器減到 0,才會終止 DMA 傳送,釋放匯流排控制權。
區塊傳輸模式
. 特色:一次請求傳送整個資料區塊,效率高,但在整個 DMA 傳送期間,
CPU 長時間無法控制匯流排。
. 與區塊傳輸模式類似,也是一種連續傳送資料的方式。不同的是,要求傳
輸模式每傳送一個字組就會檢測一次 DREQ 信號是否有效,如果有效,
則繼續傳送下一個位元組,如果無效,則停止資料傳送,停止 DMA 工作,
要求傳輸模式 但會保持目前的位址暫存器和位元組計數器的值。當 DREQ 再次有效時,
DMA 會繼續工作,直到目前字組計數器減到 0 位址,才終止 DMA 傳送,
釋放匯流排控制權。
. 特色:DMA 操作可由 DREQ 信號控制資料傳送的過程。
. 串接多個 8237 增加 DMA 通道,由主、從兩級構成,最多可擴充為 16 個
串接模式 通道。
. 特色:串接多個 8237,可以擴展多個 DMA 通道。
二 記憶體對記憶體的資料傳輸
三 通道的優先順序
一顆 8237 擁有四個資料通道,可接受四個 DMA 請求,如果有兩個通道同時發出
DMA 要求時,8237 會依據優先順序決定接受哪一個 DMA 要求。8237 處理通道間的優
先順序有兩種方式:
表 6-18 旋轉式優先順序動作說明
時間 正在服務 提出要求
目前優先順序 說 明
序 的通道 服務通道
‧ 通道 1 剛服務完畢,優先順序排於最
後。
通道 2> 通道 3> ‧ 通道 2 正在服務,最高優先。
2 通道 2 通道 3
通道 0> 通道 1 ‧ 假設此時通道 3 也提出要求,但其優
先順序在通道 2 之後,不予執行,排
於其後。
通道 0> 通道 1>
4 ‧ 通道 3 服務後優先順序降為最低。
通道 2> 通道 3
6-6 隨堂練習
1. 一個 8237 提供 個通道可用來傳輸資料。
2. 8237 串接模式的目的是 。
3. 8237 工作於固定優先順序時, 優先順序最高。
Chapter 6 學習目標回顧
學習目標 1:能描述記憶體階層分類記憶體
1. 記憶體階層分類如下圖:
學習目標 2:能描述三種依製造技術分類的記憶體特性與產品
2. 記憶體依據製作材料及揮發性分類如下圖:
學習目標 3:能說明半導體記憶體資料存取原理
3. ROM 的分類與特性如下表所示:
類 型 特性簡述
Mask ROM 不能更改資料,適合大量生產
PROM 只能燒錄一次
EPROM 可燒錄多次,燒錄前需用紫外線清除原來資料
EEPROM 可燒錄多次,燒錄前需用高電壓清除原來資料
Flash ROM 可讀寫,需以高電壓清除與寫入資料
Chapter 6 學習目標回顧
6. SRAM 以雙穩態電路為主要架構,寫入資料後,只要電源不切斷,就可保存資料。
7. DRAM 利用小電容幾乎沒有放電迴路的特性來保存資料,但需要附加刷新電路。
為了減少位址線的數目,使用列位址激勵 RAS 與行位址激勵 CAS 達成位址多工。
8. SDRAM 表示記憶體時脈與 CPU 的時脈能同步存取資料,常見的有 DDR2 ∼ DDR4。
學習目標 4:能描述高容量儲存裝置的種類與基本原理
9. 輔助記憶體分類如下:
種類 產品
磁性輔助記憶體 磁碟、磁帶、磁泡、軟碟、硬碟、磁性光碟(MO)
光學輔助記憶體 CD-ROM、CD-R、CD-RW、DVD、BD
Chapter 6 課後習題
選擇題
6-1 1. 微算機中 CPU 內部的算術邏輯運算單元所需的資料,由下列那個資料儲存
單元讀取資料的速度最快?
(A) 暫存器 (B) CACHE (C) 主記憶體 (D) 硬碟。
2. 對 CPU 而言,下列何種具有最快的存取速度?
(A) L2 Cache (B) 暫存器 (C) DDR SDRAM (D) L1 Cache。
3. 請依照下列裝置的存取速度,由快到慢依序排列
甲:快取記憶體 乙:硬碟 丙:暫存器 丁:主記憶體
(A) 丙丁乙甲 (B) 甲丙丁乙 (C) 甲丁丙乙 (D) 丙甲丁乙。
5. 下列敘述何者不正確?
(A) DRAM 晶片之單位面積的位元數高於 SRAM 晶片
(B) 電源關掉後,DRAM 與 SRAM 的內容皆無法保留
(C) DRAM 控制電路比 SRAM 簡單
(D) DRAM 需做資料更新(refresh),SRAM 則不用。
6. 下列有關快閃(flash)記憶體的敘述,何者錯誤?
(A) 在資料規劃與清除方面,快閃記憶體具有 EPROM 與 EEPROM 的優點
(B) 為揮發性(volatile)記憶體
(C) 常用於隨身碟中
(D) 以電氣方式清除資料。
7. 以下就靜態隨機存取記憶體(SRAM)之敘述何者有錯誤?
(A) 由正反器(Flip-Flop)所構成
(B) 以電容的充放電特性來儲存 0 與 1 的資料
(C) 電源消失後資料隨即消失
(D) 不須定時作翻新(Refresh)。
Chapter 6 課後習題
8. 使用 DRAM 時,列位址(RA),行位址(CA),列位址閃控(RAS),
行位址閃控(CAS)等訊號之正確產生時序為何?
(A) RA, RAS, CA, CAS (B) RAS, RA, CAS, CA
(C) CA, CAS, RA, RAS (D) CAS, CA, RAS, RA。
9. 下列敘述何者錯誤?
(A) 動 態 隨 機 存 取 記 憶 體(DRAM) 消 耗 功 率 比 靜 態 隨 機 存 取 記 憶 體
(SRAM) 大 (B)SRAM 乃 由 正 反 器(Flip-Flop) 構 成 基 本 記 憶 單 元
(C) 可程式唯讀記憶體(PROM)只能讓使用者自行規劃、並燒錄程式一
次 (D) 可抹除可程式唯讀記憶體(EPROM)中所寫入之程式,能夠用
紫外線照射將之抹除。
12. 磁片的磁面係由很多半徑不同的同心圓組成,這些同心圓稱為
(A) 磁區(sector) (B) 磁軌(track)
(C) 磁柱(cylinder) (D) 以上皆非。
13. 承上題,由於磁片上之內部同心圓小於外部同心圓,則其所儲存資料量
而言
(A) 內部同心圓大於外部同心圓
(B) 內部同心圓等於外部同心圓
(C) 內部同心圓小於外部同心圓
(D) 內部同心圓與外部同心圓之儲存資料密度相同
14. 磁碟機將讀寫頭移到指定的磁柱上所需的時間稱為
(A) 存取時間(Access Time) (B) 搜尋時間(Seek Time)
(C) 迴轉時間(Rotation Time) (D) 傳送時間(Transfer Time)
Chapter 6 課後習題
15. 下列關於「藍光光碟」的敘述,何者不正確?
(A) 英文名稱是 Blu-ray Disc,簡稱 BD (B) 可用於大量或高畫質影像的
儲存 (C) 因為使用藍色雷射光進行讀寫,因此稱為藍光光碟 (D) 容量
至少 8.5GB。
17. 高速處理機(Processor)與低速記憶體(Memory)間存取速度之不平衡
現象,通常會在它們之間配合哪種記憶體來改善此一現象?
(A) 光電記憶體 (B) 唯讀記憶體
(C) 快取記憶體(Cache Memory) (D) 虛擬記憶體(Virtual Memory)。
18. 下列關於「快取記憶體」的敘述,何者錯誤?
(A) 配置在暫存器和主記憶體之間 (B) 通常配置容量相當於主記憶體的
容量 (C) 由於 CPU 讀取需要的指令或資料時,會先到快取記憶體尋找,
若找不到時才會再到主記憶體中讀取 (D) 若 CPU 在快取記憶體就能找
到需要的資料,便無需再到主記憶體讀取,故資料傳送的時間就能大幅
縮短。
20. 下列哪一種技術可以將大量資料直接從輸入或輸出(Input/Output)設備
傳輸至主記憶體, 而且資料傳輸過程不需經過 CPU ?
(A) Memory Mapped I/O (B) Programmed I/O
(C) Interrupt Driven I/O (D) DMA(Direct Memory Access)。
Chapter 6 課後習題
22. 進行直接記憶存取方式操作時,記憶體的位址是由誰產生?
(A) 執行指令 (B)DMA 控制器 (C) 記憶體界面 (D) CPU。
問答題
1. 如果記憶體以與 CPU 的遠近分類,可分為哪幾類?
2. 如果記憶體以製造材料分類,可分為哪幾類?
3. 何謂一維與二維位址解碼?
4. 請比較幾種常見的 ROM ?
7. 何謂光碟?常見應用在電腦的有哪些分類?
8. 試比較虛擬記憶體與快取記憶體的異同?
ap
ter 3
7 多核心微處理機
節
Ch
本章節次 學習目標
7-1 平行處理概述 1. 能列舉提升計算機系統效能的方法。
7-2 多核心微處理機架構 2. 能 描 述 平 行 處 理、 多 核 心、 多 處 理
7-3 多核心微處理機應用實例 機等名詞。
學習目標回顧 3. 能 列 舉 多 處 理 機 與 多 核 心 處 理 機 架
課後習題 構的類型。
4. 能簡述多核心微處理機實例的特點。
7-1 平行處理概述
傳統微處理機的設計是循序機器,CPU 透過提取指令、指令解碼、計算與提取運算
元、執行與回存結果等,依序執行一道一道指令,以完成程式功能。如果要同時執行多
個執令,架構上必須有多個運算電路,由一個控制單元同時控制多個運算電路,同時對
不同指令一起解碼、一起執行、一起得出結果。這樣能同時處理多個指令的架構,就稱
為 平行處理 (parallel processing)。為提升執行效能,平行處理的概念發酵,包括指令
管線技術、多核心同時執行多個指令等,成效都令人刮目相看。
7-1-1 提升效能的方法
計算機的發展與積體電路的技術都息息相關,但受到技術的限制,執行效能是有極
限的。在某些應用,例如地震預報、天氣預報、系統模擬、影像辨識與處理、大數據、
人工智慧等,計算機期望有更強大的計算與處理能力,目前大都採取兩種作法,一是增
強積體電路製造技術,提高計算機的執行效能與速度,不在這裡探討。二是導入平行處
理的觀念進入計算機結構的設計,常見的有以下幾種作法。
1. 利用 管線(pipelining)方法,使處理機達成平行處理。首先,分解指令為數個微動作,
例如將指令分成提取、解碼、執行三個微動作,分別交派給不同的處理單元負責,達
成各個處理單元可以並行處理不同的任務。管線化處理機能夠同時執行多個指令,每
個指令在不同階段完成。管線結構的處理過程是否有效,與採用的指令集(ISA)有
關,其中精簡指令集固定指令長度、單執行週期、簡單定址模式等特性,適合管線處
理架構。如表 7-1 所示,原本 6 個指令需 3 × 6 = 18 個時序,但採用管線處理最理
想只需 8 個時序。
表 7-1 管線處理指令
時序
1 2 3 4 5 6 7 8
指令序
1 提取 解碼 執行
2 提取 解碼 執行
3 提取 解碼 執行
4 提取 解碼 執行
5 提取 解碼 執行
6 提取 解碼 執行
(a) 分享記憶體處理機陣列
(b) 分散式記憶體處理機陣列
圖 7-1 處理機陣列組成架構
3. 多 處 理 機 (multi-processor) 計 算 機 即 在 一 部 計 算
機中使用多個獨立封裝的處理機同時運算,達成平
行處理的目的。速度的提升主要靠軟體與硬體間不
斷的溝通協調來完成。首先,軟體需將要執行的主
程式分解成多個子程式,分別交派給不同的處理機
來處理,最後再將各子程式的運算處理結果合成最
後的執行結果,以完成程式的執行。注意,這種結 圖 7-2 多處理機計算機架構
構中每個處理機都有完整的結構,擁有自己的控制單元、算術邏輯單元與暫存器等,
溝通協調、分解程式與合成執行結果是靠著軟體完成的。有別於處理機陣列,為全部
處理單元靠著同一個控制單元溝通協調。如圖 7-2 所示,兩個包括快取記憶體的處理
機,組成一個計算機系統,透過共享匯流排共用記憶體。
4. 利用分散式系統進行 分散式計算 (distributed computing),靠著網路傳遞訊息與溝
通,將大量的計算分解交派給分散在世界各地的多台電腦,再回傳運算結果合成執行
結果,完成工作,例如雲端運算。
7-1-2 多核心與平行處理
傳統電腦是一台循序機器,依序一道一道執行程式 ( 指令 ),處理機從提取指令、
解碼、執行與回寫,循序執行每一道指令。但循序的概念,已經被「平行處理」打破了,
具備平行處理能力的處理機可以同一時間處理多個控制信號,同時執行多個指令,平行
處理是指計算機同時處理多項資訊的技術,目的是為了提高系統的執行效率。例如處理
機具備多個 ALU,則多個算術或邏輯運算可以同時執行。
平行處理有許多不同的分類方式,可以從處理機的內部組織、處理機之間的交連結
構、或從經過系統的資料流量來分類。美國史丹佛大學名譽教授 Michael J. Flynn 提出
以 指令流 (Instruction Stream,簡稱 IS)與 資料流 (Data Stream,簡稱 DS)的角度,
將電腦的設計架構分成 SISD、SIMD、MISD 與 MIMD 四類,如表 7-2 所示費林分類法。
表 7-2 費林分類法
指令流
單指令流 多指令流
資料流
想要解釋指令流與資料流,必須由計算機的運作方式談起,通常計算機是從記憶體
提取指令,然後在處理機內部解碼、執行。由記憶體提取的指令形成指令流(instruction
stream),而被處理機所運算的資料形成資料流(data stream)。如果希望有多個指令
同時運作執行,CPU 的架構設計就需重新設計考量,需要多個指令解碼器與執行單元、
多個 ALU,讓多個指令能夠同時解碼、同時執行、同時運算。單指令流,是指一次只處
理一個指令,多指令流則是同時處理多個指令。
另外一個角度是由處理資料的多寡,即資料流(Data Stream),考量如何同時處理
指令中的多筆資料,如果一次只可以處理一筆資料,即為單一資料流。多資料流則是在
指令執行階段,可以同時運算與處理多筆資料,當每個指令解碼後,控制電路會協助資
料(即運算元)主動尋找所需的運算單元來執行。
一 單指令流單資料流(SISD)
單指令流意味 CPU 每次只能執行一個指令。單資料
流則指一次只能提取或儲存處理一筆資料。SISD 機器只
有一個 CPU,范紐曼(Von Neuman)型計算機即屬此類。
SISD 架構的電腦只含一個控制單元、一個處理單元
與一個記憶單元。每次僅解碼一道指令,而且在執行時只
處理一筆資料,一道一道指令依序處理。這是早期電腦的
基本執行架構,目前只剩簡單的微處理機使用。SISD 電
腦可以使用管線式處理以具備平行處理的能力。
二 單指令流多資料流(SIMD)
SIMD 只有一個控制單元,運作與范紐曼機類似,但是 SIMD 有多個處理單元,用
一個控制單元來控制多個處理單元的架構,控制單元會產生一個控制信號給所有處理單
元,所有處理單元由控制單元供給相同的指令,但運算的對象是不同的資料項,此時所
有處理單元可以同步工作,「針對不同資料作相同的處理動作」,也就是多資料流,系
統內的共用記憶單元必須含有多個獨立的記憶模組,分別供多個處理單元使用。處理機
陣列(processor arrays)型的機器就屬此類。可同時對一組資料(又稱「資料向量」)
中的每一個資料分別執行相同的處理或運算。
圖 7-4 SIMD 架構
表 7-3 資料相依性
程式 1:無資料相依性 程式 2:具資料相依性
三 多指令流單資料流(MISD)
MISD 計算機有多個控制電路及運算電路,可以同時執行多個程式(指令),但是
這些程式都針對同一筆資料作運算,不符合使用效能,目前市面上並沒有這種類型的計
算機。MISD 具有 n 個處理單元,按 n 條不同指令的要求對同一資料流進行不同的處理。
MISD 只有討論理論的價值,目前沒有實用的系統採用這種架構。
圖 7-5 MISD 架構的電腦
四 多指令流多資料流(MIMD)
MIMD 是使用多個控制器異步地控制多個處理機,實現平行處理的技術。MIMD 可
同時執行多個不同的指令,而且各自能處理不同的資料,在設計上,需要多個控制電路、
多個運算電路與各自獨立的暫存器,才能同時獨立的執行不同指令與多筆資料,MIMD
架構可稱作多處理機或多核心系統的設計。
MIMD 有多個控制單元,每個控制單元都可以提供單一指令留給自己的處理元件,
MIMD 依照使用記憶體使用的方式不同,可分為共用記憶體與分散記憶體兩種。
圖 7-6 MIMD 架構
7-1-3 多核心與多處理機
多核心處理機 (Multi-core processor),又稱多核微處理機,是指單個積體電路計
算元件中,包括兩個或兩個以上的獨立實體中央處理單元,簡稱 核心 (Core),例如只
有兩個核心的處理機,稱為 雙核處理機 (dual-core processor)。這些核心可以分別獨
立地執行程式指令,利用平行計算的能力加快程式的執行速度。
簡單的說,將兩個或更多獨立處理機(核心)封裝在一個單一積體電路(IC)中稱
為多核心處理機;而封裝在不同 IC 中的獨立處理機形成的一部計算機系統則稱為 多處
理機 (Multi processor)。一台計算機系統中使用多個處理機同時執行,稱為「多處理
機系統」,可概分成 緊耦合(Tightly Coupled Multiprocesspr System)與 疏耦合(Coupled
Multiprocesspr System)兩類,分別說明如下。
一 緊耦合多處理機系統
每 個 處 理 機 各 自 擁 有 快 取 記 憶 體, 但 是 使 用 同 一 組 匯 流 排, 稱 為「 共 用 匯 流 排
(Common Bus)」,並且使用同一塊記憶體,稱為「共享記憶體(Shared Memory)」。
從圖 7-7 結構上可以看出來,匯流排一次只能供一個處理機使用,進行記憶體的讀寫,所
以處理機需透過電路中的仲裁器決定匯流排與記憶體的使用權。
1. 每個處理機都共用一個記憶體,所有作業系統、程式與資料都存放在這個記憶體中,
所以記憶體內只有一個作業系統,由這個作業系統負責整個系統的記憶體管理、輸出
入管理、程式的執行等功能。
2. 每個處理機之間要傳送資料,只能對單個記憶體存取,稍嫌沒有效能。
3. 程式執行時應切割成多個程式片段,再交由多個處理機同時執行。
圖 7-7 緊耦合多處理機系統
二 疏耦合多處理機系統
疏耦合結構中,每個處理機擁有自己的記憶體,處理機透過輸出入的資料線連結,
這種連接稱為鏈結(Link),同時連接多個處理機輸送資料。每個處理機可以有自己的
作業系統、程式與資料,像一台獨立的電腦,再透過鏈結進行如同網路的連接溝通資料。
各個處理機可同時處理不同的程式,如圖 7-8 所示。
圖 7-8 疏耦合多處理機系統
7-1 隨堂練習
1. 計算機系統提升效能的方法有 、處理機陣列、 、分散式
計算等。
2. 依 據 Flynn 分 類 法, 將 計 算 機 分 為 、 、 與
等四類。
3. 計算機採多處理機結構可概分為 與 兩種多處理機系統。
7-2 多核心微處理機架構
自從 2001 年 IBM 推出第一顆雙核心處理機 Power4,開啟多核心處理機的競逐遊
戲,接著昇陽(Sun)也於 2004 年推出雙核心 Ultra SPARC IV 處理機,到了 2005 年微
處理機龍頭 Intel 與 AMD 正式加入戰局,宣布開發多核心處理機。
多核心微處理機(Multi-core micro-processor),是在單個微處理機元件(積體電路)
中,加入兩個或兩個以上的獨立實體中央處理單元,簡稱核心,例如兩個核心的微處理
機,稱為雙核微處理機。把兩個或更多獨立處理機封裝在一個單一積體電路(IC)中稱
為多核心處理機;而封裝在不同 IC 中的獨立處理機形成的電腦系統被稱為多處理機。以
下將使用「多核心」指在同一積體電路中整合多個獨立處理機,亦即多核心處理機。
多核心微處理機是指結合兩個或更多的處理機(或稱核心)到單一矽晶粒(die),
晶 片 中 的 每 一 個 核 心 都 具 備 可 以 獨 立 工 作 的 處 理 機 與 相 關 元 件, 例 如 暫 存 器、CU、
ALU、管線、L1 指令 / 資料快取等,目前大多數的多核心晶片都加入 L2 快取。談到多
核心組織通常會關心幾個因素,包括核心處理機的數量、快取記憶體的容量與階層數、
共用快取記憶體的容量。
表 7-4 四種多核心微處理機結構特性比較
圖 7-9 特徵 描述 使用範例
早期多核心晶片的組織,現在嵌入式系統仍然
專用 L1 快取 使 用 這 種 結 構, 在 這 個 組 織 上, 晶 片 僅 內 建 ARM11
(a)
共用外部 L2 快取 L1 快取,每個核心具有自己的專用快取,包 MPCore
括指令快取 (L1-I) 與資料快取 (L1-D)
專用 L1 快取 CPU 核心之間沒有共用快取記憶體,晶片內有
(b) AMD Opteron
專用 L2 快取 足夠的空間容納 L2 快取
專用 L1 快取
(c) 使用共用的內部 L2 快取 Intel Core Duo
共用內部 L2 快取
晶片內部快取記憶體的容量一直成長,在效能
專用 L1 與 L2 快取
(d) 的考量下,使用共用的 L3 快取,每個核心具 Intel Core i7
共用內部 L3 快取
有各自專用的 L1 與 L2 快取
評 估 處 理 機 的 效 能 大 多 是 比 較 時 脈 的 高 低, 但 是 在 整 個 系 統 的 效 能 評 估 上,IPC
(Instruction Per Clock cycle)也是一個重要的指標。IPC 是指每一時脈週期可執行的「指令」
數。例如 A、B 兩個處理機的時脈同樣是 2GHz,處理機 A 的 IPC 值為「1」、B 處理機的
IPC 值為「2」,那麼 A 每秒鐘執行的指令數等於 2GHz×1,而處理機 B 為 2GHz×2,評
估整個效率,B 比 A 快了兩倍。一般而言,指令平行執行策略的目的是提升 IPC。
當追求效能提升的同時,必定要增加處理機內部的電晶體數量,非得精心安排處理
機的架構設計,例如管線、超純量等,並提升時脈頻率。但提昇時脈頻率與晶片密度,
又會增加功率需求。效能與耗能,兩者會因應用場合的需求取得平衡。
7-2 隨堂練習
1. 在單一個積體電路中整合多個獨立的處理機,稱為 處理機。
2. IPC 是指處理機每個時脈週期可執行的 數目。
3. 依據波拉克定律,處理機的電路複雜度若提高 4 倍,則效能增加 倍。
7-3 多核心微處理機應用實例
為了提高效能,多核心架構已經是微處理機的主流,各家大廠也紛紛投入,發展出
不同的產品。以下分別舉出 Intel 與 AMD 廠家共三顆微處理機,作為不同的多核心微處
理機應用實例說明。
APIC(進階可程式中斷控制器)提供處理機內部中斷,允許程序中斷一個或多個處
理器,以 Core Duo 為例,核心執行緒可以經由自己的 APIC 產生中斷,或傳送給其他核
心 APIC,讓其他核心收到並產生中斷。
APIC 也可以接收 I/O 的中斷,並且選擇路徑傳送給適當的核心。每個 APIC 都內
含計時器,可以經由設定,產生中斷給自己的核心。
另外,電源管理邏輯負責降低電力消耗,延長行動平台(例如筆電)的電池待機時
間。其實電源管理邏輯會監督 CPU 動作與熱度狀態,以調整電壓準位與電力消耗。
匯流排介面(bus interface)主要用來連接外部匯流排,也就是透過經由 FSB(前
端匯流排)連接主記憶體、I/O 控制器與其他的處理晶片。
QPI 具有快取一致性、點對點連結的電器互連規格,可以用來互連處理機與晶片
組,達成處理機之間的高速通訊,傳輸率可達 6.4GT/s,以 16 位元傳輸時,可加速到
12.8GB/s,當 QPI 工作在專用雙向傳輸時,傳輸頻寬可達 25.6 GB/s。
7-3 隨堂練習
1. Intel Core Duo 內部「監督 CPU 動作與熱度狀態,以調整電壓準位與電力消耗」的
單元為 。
2. 明 裕 使 用 CPU-Z( 專 門 用 來 偵 測 CPU 資 訊 的 軟 體 ) 偵 測 自 己 的 電 腦, 結 果 如 下
圖 所 示, 得 知 此 CPU 為 核 心, 採 用 快 取 層 結 構,
L1 指 令 快 取 、 資 料 快 取 ,L2 為 ,
L3 則為 。
3. AMD 採用 作為核心之間的仲裁。
Chapter 7 學習目標回顧
學習目標 1:能列舉提升計算機系統效能的方法
1. 提 升 計 算 機 效 能 的 方 法, 一 是 增 強 積 體 電 路 製 造 技 術, 二 是 導 入 平 行 處 理 的
觀念。
2. 導 入 平 行 處 理 觀 念 來 設 計 計 算 機 的 架 構 有 管 線、 處 理 機 陣 列、 多 處 理 機、 分
散式系統等四種方法。
學習目標 2:能描述平行處理、多核心、多處理機等名詞
3. 能同時處理多個指令的架構,就稱為平行處理。
4. 所 謂「 超 純 量」 是 指 一 顆 處 理 機 內 實 現 平 行 運 算, 內 核 有 多 個 執 行 單 元, 實
現了指令平行處理。
5. 費林分類法將電腦分為 SISD、SIMD、MISD 與 MIMD 四類,如下表:
指令流
單指令流 多指令流
資料流
單資料流 單指令流單資料流(SISD) 多指令流單資料流(MISD)
多資料流 單指令流多資料流(SIMD) 多指令流多資料流(MIMD)
6. 多 核 心 處 理 機 是 指 單 個 積 體 電 路 計 算 元 件 中, 包 括 兩 個 或 兩 個 以 上 的 獨 立 實
體中央處理單元。
學習目標 3:能列舉多處理機與多核心處理機架構的類型
7. 封 裝 在 不 同 積 體 電 路 中 的 獨 立 處 理 機 形 成 的 一 部 計 算 機 系 統 則 稱 為 多 處 理 機
系統。
8. 多處理機系統可概分成緊耦合與疏耦合兩類。
9. 多核心微處理機結構通常依據核心數量與快取記憶體的組成與應用來分類。
學習目標 4:能簡述多核心微處理機實例的特點
10. Intel Core Duo 架 構 中 內 含 兩 個 x86 超 純 量 處 理 機, 每 個 核 心 擁 有 專 用 L1
快取(包括 32KB 指令快取與 32KB 資料快取),並共用 2MB 的 L2 快取。
11. AMD 的 Athlon X2 每個核心都擁有獨立的 L2 快取 1MB。
12. Intel Core 7-990X 架 構 為 每 個 核 心 使 用 專 用 32KB 的 L1 指 令 快 取、32KB
的 L1 資料快取與 256KB 的 L2 快取,並共用 12MB 的 L3 快取。
Chapter 7 課後習題
選擇題
7-1 1. 超純量(super scalar)的 CPU 是指
(A) 超頻使用的 CPU (B) 利用超導體製成的電腦 (C) 多重 CPU 的系統
(D) 至少有兩個以上指令執行管線(pipeline)的 CPU。
2. 下列關於「雙核心 CPU」的敘述,何者正確?
(A) 雙核心 CPU 就是指加入了 Hyper-Threading 技術的 CPU
(B) 雙核心 CPU 是利用平行運算的概念來提高效能
(C) 雙核心 CPU 就是 32 位元 x2,也就是所謂的 64 位元 CPU
(D) 雙核心 CPU 的時脈是單核心 CPU 時脈的兩倍。
3. 下列關於「雙核心 CPU」的敘述,何者錯誤?
(A) 雙核心 CPU 因為有 2 個核心,所以耗電量是單核心 CPU 的 2 倍
(B) 雙核心 CPU 所使用的程式必須經過特別設計,才能發揮效能
(C) 雙核心 CPU 內,共有 2 組的控制單元和算術 / 邏輯運算單元
(D) 雙 核 心 CPU 若 加 上 了 Hyper-Threading 技 術, 作 業 系 統 會 認 為 擁 有
四組處理機。
4. 由一個控制單元同時控制多個運算電路,同時對不同指令一起解碼、一起
執行、一起得出結果。這樣同時處理多個指令的架構稱為
(A) 共時處理 (B) 跨域處理 (C) 交叉處理 (D) 平行處理。
5. 下列哪一種架構不屬於平行處理?
(A) 多核心 (B) 管線處理 (C) 權重處理 (D) 多處理機。
6. 在一部計算機中使用多個獨立封裝的處理機同時運算,達成平行處理的目
的,稱為 (A) 多處理機 (B) 多元 (C) 多核心 (D) 多晶片。
7. 所謂分散式計算是甚麼?
(A) 同一台電腦放在不同地方 (B) 利用網路傳遞,多台電腦處理同一件
事 (C) 將計算結果分配給不同電腦 (D) 一種網路遊戲。
Chapter 7 課後習題
9. Flynn 教授提出的「費林分類法」,將電腦的設計分為四類,目前市面上
並沒有哪一類型的計算機?
(A) SISD (B) SIMD (C) MISD (D) MIMD。
10. 多處理機架構中,每個處理機各自擁有快取記憶體,但是共用匯流排、
共享記憶體,稱為?
(A) 緊耦合 (B) 疏耦合 (C) 緊併聯 (D) 疏併聯。
15. 所謂「波拉克定律」是指「提升效能」所衍生的「電路複雜度」關係為?
(A) 平方根 (B) 指數 (C) 對數 (D) 平方。
Chapter 7 課後習題
17. 下列敘述何者有誤?
(A) 匯流排速率 T/s 是指資料傳輸寬度 (B) Intel Core Duo 屬於超純量處
理器 (C) 匯流排介面透過 FSB 連接主記憶體、I/O 控制器等 (D) APIC
為進階可程式中斷控制器。
20. 關於指令管線的敘述,哪一個錯誤?
(A) 分解指令為微動作以便同時執行,達成平行處理 (B) 精簡指令集適
合應用指令管線 (C) 跳躍指令會降低管線效能 (D) 只有多核心結構才
可使用指令管線。
問答題
1. 提升計算機系統效能的方法有哪些?
2. 依據費林分類法,電腦可分為哪幾類?
3. 何謂多核心與多處理機?
4. 概述可能的多核心處理機架構?
ap
ter 3
8 微電腦系統架構與應用
節
Ch
本章節次 學習目標
8-1 微電腦系統架構 1. 能列舉電腦的分類。
8-2 嵌入式系統概述 2. 能區分微電腦各種類型。
8-3 微電腦系統應用 3. 能說明微電腦的組成架構。
學習目標回顧 4. 能描述嵌入式系統的特色與應用。
課後習題 5. 能列舉微電腦系統的應用種類與實例。
AC20410_08.indd273 7/9/202015:47:26
274 微處理機
8-1 微電腦系統架構
讓我們從電腦的分類談起,瞭解微電腦系統的角色扮演,廣義的看待微電腦系統在
生活周遭的應用,再談談兩個微電腦系統的組成架構例子。
8-1-1 電腦的分類
所有電腦,或稱計算機都有相似的架構,通常會以體積大小或資料處理、運算能力
來分類,將電腦分成超級電腦、大型電腦、、小型電腦、與微型電腦四類。不同類型電
腦提供不同的服務,整個電腦系統可以像房間一樣大,也可以像穿戴式設備那麼小,或
像嵌入式系統中的微控制器隱藏起來。
超級電腦 (Supercomputer)具有極大的存儲容量和計算速度,主要用於科學和工
程學科繁複的問題,對大規模數值與大量資料進行非常高速的運算,如天氣分析與預報、
處理量子力學資訊、風洞研究等。超級電腦通常被放置在擁有乾淨無塵和溫度調節的環
境中,例如 IBM Deep Blue(深藍)。
小型電腦(Minicomputer),或稱迷你電腦,具有大型計算機的大部分特性和功能,
但物理尺寸較小、運算能力稍弱,可同時為多個用戶提供服務,進行並行處理,小型電
腦有時會以「伺服器(Server)」稱呼,如 DEC 公司 Alpha、Sun 公司的 Ultra 都是應
用的例子。
微型電腦 (Microcomputer),簡稱微電腦,是最常見的電腦類型,運算能力比不
上小型電腦,但電腦基本架構仍然齊全,功能會依據環境需求彈性變化、體積樣式多變,
包括桌上型電腦、平板電腦、穿戴式電腦、遊戲機與車載電腦都屬於微電腦,在生活中
幾乎無所不在。
AC20410_08.indd274 7/9/202015:47:26
Chapter 8 │微電腦系統架構與應用 275
如圖 8-1 所示為四個等級的電腦的區分與應用,因為積體電路製程的進步、成本降
低,區分四個等級的界線漸漸模糊。
圖 8-1 四種等級電腦比較
8-1-2 微電腦的類型
廣義來說,任何「內含微處理機」的系統組成的電腦、設備等,等級低於小型電腦,
都稱為微電腦系統。例如個人電腦、筆記型電腦、平板電腦、智慧型手機、嵌入式系統
等。例如 IBM-PC Pentium 200、Apple Macintosh 都是微電腦的例子。
相對大型與小型電腦而言,微電腦的體積較小、運算能力較弱,但麻雀雖小、五臟
俱全,也擁有完整的微處理機系統架構。微電腦系統可概分為桌上型與可攜式兩類。可
攜式裝置,又稱 行動裝置 (Mobile Device),體積小與重量輕,攜帶方便,通常具有電
池供電、低耗能與無線通訊,例如 Wifi、紅外線、藍牙或 GPS 等,以供隨時取用網路
資訊及接收即時訊息,可分筆記型電腦、個人數位助理、智慧型手機、可穿戴式裝置等
等,分別簡述如下。
AC20410_08.indd275 7/9/202015:47:29
276 微處理機
AC20410_08.indd276 7/9/202015:47:30
Chapter 8 │微電腦系統架構與應用 277
表 8-1 微電腦分類與應用
類型 項目 常見實際應用
筆記型電腦 行動工作站、筆記型電腦、小型筆電
平板電腦 行動電腦、行動上網裝置
掌上型電腦 掌上型電腦
行動裝置
PDA 企業數位助理、電子記事本
行動電話 智慧型手機、平板手機
可穿戴式電腦 智慧型手錶、頭戴式顯示器、VR 裝置
電子遊戲機 家用遊戲機、街機、專用遊戲機、掌上遊戲機
影視產品 智慧型電視、家庭劇院個人電腦、機上盒
其他 互動式機台、多媒體機台、自動櫃員機、抽取式電腦、電子書閱讀器 可
終端裝置 攜式資料終端機 / 可行動式資料終端機
8-1-3 微電腦系統架構範例
完整的微電腦系統應包括軟體與硬體兩大部分,硬體架構必須有微處理機、記憶單
元與輸出入單元,並視需求搭配各式各樣的週邊裝置。軟體部分則需安裝系統軟體來管
理電腦系統的軟硬體資源,再依據功能需要安裝應用軟體。另外,視需要安裝驅動程式
驅使硬體可以正常工作。電腦系統組成的架構如圖 8-2 所示,可知瞭解一部電腦系統,
應關注這些硬體規格、軟體項目。
圖 8-2 微電腦系統的組成
AC20410_08.indd277 7/9/202015:47:30
278 微處理機
各家電腦系統為提高效能,對各式各樣的週邊服務方法顯得相當重要,晶片組(chip
set)就是統合南橋晶片、北橋晶片來控制這些輸出入介面。北橋晶片主要管理高速介面,
例如記憶體與高速 PCI-Express 和 AGP 系統、繪圖等介面;而南橋晶片則是負責較慢
速介面,例如 PCI、SATA、USB 與音效、鍵鼠等其他各式介面,通常也包含電源管理。
名稱上,北橋晶片又被稱為 MCH(Memory Controller Hub),南橋晶片又被稱為 ICH(I/
O Controller Hub),或 PCH (Platform Controller Hub)。南北橋晶片需要互相搭配才
能完整工作,例如 Intel 的 X58 北橋晶片、搭配 ICH10R 南橋晶片,而 AMD 的 780G 北
橋晶片、搭配 SB800 南橋晶片。
AC20410_08.indd278 7/9/202015:47:30
Chapter 8 │微電腦系統架構與應用 279
二 範例 2 iPad 2 平板電腦系統架構
iPad 2 是 Apple 公司設計開發的平板電腦,屬於掌上型電腦,體積大小和重量介於
智慧型手機與筆記型電腦之間,主要使用於娛樂,例如視聽媒體、圖書、遊戲和網路內
容,表 8- 2 是 iPad 2 WiFi 機種的規格簡介。
規 格
顯示 9.7 吋 1024×768、1080p
音效 支援 5.1 聲道杜比數位環繞立體聲輸出,具有藍牙、揚聲器、
麥克風、耳機插孔等音效輸出入埠口
輸入 多點觸控螢幕、耳機線控、接近傳感器與環境光線傳感器、三
軸陀螺儀、地磁儀、加速度計
AC20410_08.indd279 7/9/202015:47:30
280 微處理機
圖 8-4 iPad 2 系統架構
AC20410_08.indd280 7/9/202015:47:31
Chapter 8 │微電腦系統架構與應用 281
8-1 隨堂練習
1. 新聞刊載「在中央氣象局裡,有一台電腦「京」,是預報員的得力助手。透過分析
各式數據資料,可預測颱風路徑與每個鄉鎮的降雨量,能協助運算做出正確的氣象
預報。」,猜想這台電腦「京」等級應為 。
2. 微電腦依據可移動性概分為 與 兩類。
3. 所謂的 就是整合北橋晶片與南橋晶片來控制輸出入介面。
AC20410_08.indd281 7/9/202015:47:31
282 微處理機
8-2 嵌入式系統概述
嵌入式系統衍生自不同應用環境的需要,組成架構與一般電腦雷同,但主要以執行
封閉環境與特定功能為設計目的,嚴格要求穩定度、自動化循環操作的微處理機系統。
它的存在已遍佈你我的生活周遭,密不可分,在此以專節討論嵌入式系統原理與應用。
8-2-1 概 述
依據英國電機工程師協會定義:「嵌入式系統為控制、監視或輔助某個設備、機器
或甚至工廠運作的裝置。」簡言之,嵌入式系統是為了執行「特定功能」的系統,並嵌
入到目標裝置裡,負責即時運算與處理的微電腦系統。
嵌入式系統由嵌入式微處理機、週邊硬體設備、嵌入式作業系統及使用者的應用程
式等四個部分組成,緊密結合工作環境、軟體與硬體功能,可謂量身訂做,客製化地符
合功能要求,以期降低成本、體積與功耗等,嵌入到目標裝置中,達成目標指定的功能。
通常嵌入式系統為了縮小體積與降低成本,只提供系統需要的功能,儘量縮減系
統,硬體與軟體如果要擴充較為困難,大都以 SoC (System on Chip,系統單晶片)形
式呈現「專用」、「嵌入」的特性,而且具有以下特色:
1. 專用性較強,用來執行特定功能。
2. 執行環境差異大。
3. 使用的系統資源相對較少。
4. 低功耗、體積小、整合度高、成本低。
5. 具有較長的生命週期。
6. 使用即時作業系統(RTOS, Real Timer Operation System)。
圖 8-5 嵌入式系統架構
AC20410_08.indd282 7/9/202015:47:31
Chapter 8 │微電腦系統架構與應用 283
嵌入式系統除了一般電腦系統的硬體五大單元與系統軟體、應用軟體外,通常還
具備數位及類比轉換功能、感測器、致動器與機械等,硬體設計必須著重空間、重量、
成 本、功耗、即時性等限制。 圖 8-5 所示嵌入式系統的基本架構,包括一般 微 電 腦 系
統的必備項目,CPU、記憶體、I/O 單元等。為了與外界週邊緊密聯繫,也具備輸出功
能 D/A 轉換器、輸入功能 A/D 轉換器、感應器(Sensor)及致動器(Actuator),以及
FPGA/ ASIC(底層硬體)、輔助系統(電源 / 冷卻)及人機介面(HMI)等。
整個系統可透過感測器及致動器間進行閉迴路控制,精準控制機械結構。例如使用
者輸入之類比信號透過整個嵌入式系統,控制致動器作動;而致動器作動之信號亦透過
感測器回饋感應,以調整輸入信號大小,維持整個嵌入式系統之穩定運作。
嵌 入 式 系 統 硬 體 部 分 常 見 的 Soc 有 ARM、MIPS、Rambus、Mentor、Synopsys、
Insilicon、DSP Group、VirageLogic、Artisan 以 及 Parthus 等, 軟 體 作 業 系 統 大 都 為
RTOS,常見的有 VxWORKs、Nucleus 、Palm、Windows CE、Linux 等。
8-2-2 嵌入式系統的分類
如表 8-3 所示,比較 PC 系統與嵌入式系統兩者的硬體設備、軟體平台的不同。因
為目的性的不同,軟硬體的需求也大不相同。嵌入式系統方面,因工作環境固定,為使
用方便與縮小體積,常常使用觸控螢幕當成輸入兼輸出設備,也不太需要彈性擴充其他
額外設備,提供的設備介面大都較為單純。
表 8-3 PC 與嵌入式系統軟硬體比較
組成設備 PC 系統 嵌入式系統
CPU 嵌入式處理機
CPU 例如 INTEL X86、Apple 例如 MIPS、ARM、X86、
PowerPC、AMD K 系列 PowerPC、SuperH
硬 記憶體 SDRAM 或 DDR SDRAM SDRAM
體 主要儲存設備 硬碟 Flash Memory
主要輸入設備 鍵盤、滑鼠 按鍵、觸控螢幕等
主要輸出顯示設備 顯示器 小螢幕、數字顯示器、LED
擴充設備介面 匯流排標準擴充槽、各種連接埠 USB
透過 Bootloader 引導,對不同電
開機程式 主機板 BIOS 引導,無須更改
路進行移植
WinCE、VxWork、Linux,
作業系統 Windows、Linux,不需要移植
需移植
軟
每個設備驅動都必須針對電路板
體 作業系統含有大量驅動程式,或
驅動程式 進行重新開發或移植,一般不能
從網路下載直接安裝使用
直接下載使用
開發環境 在本機就可以開發測試 藉由伺服器進行交叉編譯
模擬器 不需要 需要
AC20410_08.indd283 7/9/202015:47:32
284 微處理機
1 嵌入式微處理機 (EMPU):採用一般的中央處理器單元,或稱為一般用途型
微 處 理 機 , 類 似 於 一 般 電 腦 中 的 CPU, 但 是 需 要 專 門 設 計 的 簡 化 電 路 板, 只
保留和嵌入式應用有關的功能,但增強工作溫度、抗電磁干擾、可靠性等方面
功能,功能和工業控制電腦相似,目前最廣受市場歡迎的嵌入式處理 機 就是由
ARM 公司出品的 ARM 系列處理器。如果嵌入式微處理 機 及其記憶體、匯流排、
週邊設備等安裝在一塊電路板上,亦稱之為單板電腦。
2 嵌 入 式 微 控 制 器 (MCU): 以 某 一 種 微 處 理 機 內 核 為 核 心, 晶 片 內 部 整 合
ROM/EPROM、RAM、 匯 流 排、 匯 流 排 邏 輯、 定 時 / 計 數 器、WatchDog、I/
O、 串 列 埠、 脈 寬 調 製 輸 出、A/D、D/A、Flash RAM、EEPROM 等 各 種 必 要
功 能 和 介 面, 如 果 製 作 在 同 一 顆 晶 片 上, 就 稱 為 單 晶 片 控 制 器 (Single Chip
Microcontroller)。具有體積減小,功耗和成本下降、可靠性提高等優勢,目
前 MCU 約占嵌入式系統約 70%的市場,為工業控制的主流。
4 系統晶片 (SoC):將複雜的嵌入式系統整合到一塊或幾塊晶片中,使得整個
應用系統相當簡潔,通常 SoC 分為通用型和專用型兩類。
表 8-4 各類型嵌入式系統
類型 特性簡述 代表產品
嵌入式微控制器 晶 片 內 部 整 合 微 處 理 機、ROM/ M C S - 5 1 系 列 、 M C S - 9 6 / 1 9 6 / 2 9 6 、
(MCU) EPROM、RAM、A/D、D/A 等 C166/167、MC68HC05/11/12/16 等
通用系列:M-Core(Motorola)、
系統晶片 將複雜的嵌入式系統整合到一塊
TriCore(Infineon)
(SoC) 或幾塊晶片中
專用系列:Smart XA(Philips)
AC20410_08.indd284 7/9/202015:47:32
Chapter 8 │微電腦系統架構與應用 285
嵌入式系統軟體部分包含嵌入式作業系統與應用軟體兩部分。嵌入式作業系統著
重在即時性、硬體依賴性、軟體燒錄性及應用專用性等方面,主要用來支援嵌入式硬
體,通常包括系統核心、硬體的驅動程式、設備驅動介面、通信協定、圖形使用者介面
(GUI)等,可以有效管理系統資源,提供驅動程式、軟體開發工具與函式庫等。
表 8-5 常見嵌入式作業系統
類型 特色
‧ 主要應用於無線感測器網路方面。
TinyOS
‧ 採用模組化設計,程式核心很小。
‧ 基於 Linux 核心開發的作業系統,應用於智慧型手機、平板電腦等可攜式裝置。
‧ 早 期 由 Google 開 發, 目 前 由 開 放 手 機 聯 盟(Open Handset Alliance, 簡 稱
Android OHA)持續開發。
‧ Android 軟體架構分為應用程式、應用程式架構、函式庫、Android 執行環境與
Linux 核心等五部分。
‧ 微軟專為嵌入式系統所推出的嵌入式作業系統,須經由微軟授權後才能取得。
WinCE
‧ 可以執行 Mobile Office 套裝軟體、使用 MSN 與收發 Email 等。
AC20410_08.indd285 7/9/202015:47:32
286 微處理機
8-2-3 嵌入式系統的應用
因著各行各業的需求,嵌入式系統已大量融入產業與產品中,其應用大致上可分為
消費性電子、工業控制、辦公室自動化、電訊 / 資料 / 通訊、遠距自動化、醫療電子、
軍事 / 太空與汽車電子等八大類,如圖 8-6 所示。嵌入式系統的應用遍佈在人類的生活
中,從掃地機器人、視訊機上盒等資訊家電,到汽車電子,都是嵌入式系統的應用。而
人手一機的智慧型手機,也是嵌入式系統的延伸應用。
圖 8-6 嵌入式系統的應用
8-2 隨堂練習
1. 請舉出三種嵌入式系統的特色: 、 、 等。
2. 依據應用方向與組成結構不同,嵌入式系統可概分為四類:
、 、 與 。
3. 是指「作業系統必須在限定的時間內,對功能要求產生正確的反應」。
AC20410_08.indd286 7/9/202015:47:32
Chapter 8 │微電腦系統架構與應用 287
8-3 微電腦系統應用
微處理機系統對現代人已經是不可或缺的生活伙伴,在通訊、控制、資料處理、多
媒體、智慧型電子產品等方面,都有微處理機應用的例子,這裡從多方面談論它們的應
用狀況,並提出應用實例,以更瞭解相關的技術與組成架構。
8-3-1 概 述
從 1940 年代開始,微電腦系統開始發展後,由於數位積體電路技術的快速進展,
使得微電腦系統有相當多的應用,目前我們的生活都和微電腦系統息息相關,基本上,
生活處處都可以看見微電腦系統的身影。
在不同的應用領域中,微處理機也會以不同的型態出現,例如家電製品大都使用
ASIC 或單晶片形式出現,而需要更好的人機介面的應用則會使用個人電腦或伺服器的
形式出現,例如實驗室高級運算應用、電子地圖處理系統等。以下舉出微電腦在多種層
面的應用。
一 CAD/CAM
微 電 腦 在 工 業 上 的 應 用 不 外 乎 CAD (computer aided Design, 電 腦 輔 助 設 計 ) 與
CAM (computer aided manufacture, 電 腦 輔 助 製 造 )。 現 代 的 CAD 結 合 模 擬 技 術 與
3D 繪圖,甚至虛擬實境(VR),使產品開發時間大大縮短,例如汽車的設計,技術人
員只要在電腦上模擬元件雛形的效果,就可以判斷元件是否適用,不需真正裝置在汽車
上測試。而 CAM 發揮微電腦快速、重複、準確的特性,使製造程序更精準,產量與良
率提高,降低製造成本。
二 CAI
CAI (computer aided instruction,電腦輔助教學),顧名思義是利用電腦幫助教學
活動的進行,當然也希望提高學習效率。除了結合多媒體,讓教材與教學過程更生動活
潑,電腦也使學生有重複學習、互動的機會。而透過網際網路進行遠端教材與測驗,進
行遠端學習,甚至遠端線上學習的模式愈來愈成熟,目前已有虛擬教師、虛擬教室、虛
擬學校的建立,電腦對教育的影響可謂深遠。
AC20410_08.indd287 7/9/202015:47:32
288 微處理機
三 通訊與網際網路
網際網路顛覆人們通訊的方法、傳遞與查詢資料檔案的方式,也使商業行為進入另
一紀元,如電子商務的蓬勃發展,網路交易技術的提升,使商業對電腦的依存度提高,
當然也會帶動電腦更廣泛使用。而大哥大風潮,人手一機,縮短人們通訊距離,與使用
通訊的習慣。甚至如視訊會議、影音電話,都會使人類與電腦的關係愈來愈密切。
四 醫學方面
早期微電腦系統主要應用在儲存醫療記錄,提供患者病史、用藥與診療資訊。電腦
進步對醫學的影響也極為深邃,除了藥物的研發時程縮短外,病症的診斷、療程的輔助
與遠端手術都有很大的幫助。甚至利用微型攝影機、磁共振等技術獲得 2D,甚至 3D 影
像,得到病變影像,提高病症的發現率與正確性。
五 飛行與軍事
電腦對飛行或軍事方面的影響有幾項,例如模擬飛行來節省飛行員訓練的成本,也
可以無人駕駛飛機提高軍事戰爭的戰力,並且輔助了客機的駕駛提高安全性。軍事方面
的飛彈彈道計算更快、更精準,軍事演習模擬也更真實。太空已是強國下一階段競逐的
場域,使用機器手臂或機器人可以擴展人類對外太空未知世界的探索。
六 娛樂
數位影音技術愈來愈成熟,媒體製作技術與呈現方法改變,大量特效、虛擬人物,
拉近人類與夢想的距離。3D 繪圖、動畫、虛擬實境、互動式遊戲、語音等技術的大躍進,
都提高遊戲的娛樂性。從 VR,到 AR/MR/XR 的發展,也讓人們的娛樂行為改變。
VR (Virtual Reality,虛擬實境)是以虛擬「取代」現實,用完全數位的虛擬世界
取代人的感官感覺與人類世界呈現,主要透過頭戴式裝置進行,產生包括聲音、影像及
其他人體能夠與感受到的媒介的一種技術。而 AR (Augmented Reality,擴增實境)是
在真實的世界中,即時添加虛擬的物體。目前主要透過手機的攝像頭達成,如 LINE 視
訊時在真人臉上加上特效、Pokemon Go 和 Snapchat 的 AR bitmojis 等都是 AR 的應用。
AC20410_08.indd288 7/9/202015:47:32
Chapter 8 │微電腦系統架構與應用 289
圖 8-7 VR/AR/MR 光譜
七 企業用途
企業在簿記、庫存管理和通信、客戶消費行為分析藉助微電腦系統頗多,透過企業
內或企業間的商業資訊共享,使企業能夠比以前更快地交易庫存和更新銷售數據,為商
業提供正確的決策依據。除了文書、試算表之外,設計、建築公司的輔助設計與分析、
模擬,金融公司的預測與評估,中小型企業的物料管理、財物與人事管理、會計與財務
處理等。
八 移動設備
廣泛的移動設備(Mobile Devices)是指可攜式的電腦設備或產品,例如筆記型電
腦、智慧型手機、平板電腦等移動設備。這些輕巧設備,可作為通訊、資訊展示與交換、
記事本等個人化功能使用。
九 微控制器(Micro controllers)
微控制器包含 CPU 處理器、主記憶體與輸出 / 入功能,整合在單一晶片中,架構與
一般電腦系統相同,盡量小型化、成本降低、功能精簡等,可作為一些簡單的電腦控制
應用,例如植入式醫療設備、電動工具、辦公設備、玩具和汽車發動機控制系統等等。
廣義的微電腦系統包括微控制器、嵌入式系統等,已遍佈生活周遭,是人類生活不
可或缺的最重要的工具與伙伴,隨著硬體設備效能、體積與成本的發展,再搭配程式設
計師創造出的精彩絕倫的軟體,不論是工作、生活與娛樂,都變得更電腦化了!
AC20410_08.indd289 7/9/202015:47:33
290 微處理機
8-3-2 微電腦系統應用實例
微電腦系統的應用無所不在,以下提出圖書管理系統與工業應用的震動診斷系統為
實例,期能瞭解微電腦系統負責的角色與其重要性。
一 圖書管理系統
典型的 圖書館資訊系統 (Library Information System,簡稱 LIS),如圖 8-8 所示
架構圖,應包括圖書管理系統、數位化圖書管理系統、無線射頻館藏管理系統與讀者服
務系統等,功能會包括圖書與讀者之間的關係,例如圖書採購、編目與管理,讀者的基
本資料與借閱記錄的管理,而現代的圖書館也需要考量到數位化(無紙化)圖書的管理
與借閱,而圖書管理的門禁安全、自助借還書與圖書的安全等管理,也是需要應用的技
術。圖書館自動化,甚至無人圖書館也是熱門話題,技術也日益精進。
圖 8-8 圖書館資訊系統架構圖
AC20410_08.indd290 7/9/202015:47:33
Chapter 8 │微電腦系統架構與應用 291
二 旋轉機械震動診斷系統
第五代的電腦將朝人工智慧邁進,實際上目前已有多方面的應用實例。圖 8-10 舉
出以微電腦快速計算的能力,達成旋轉機械振動診斷的功能,所謂旋轉機械是指,以軸
為中心,做圓形運動的機械,例如馬達。此系統希望使用者可以透過螢幕瞭解旋轉機械
的振動量,甚至損壞情形。
AC20410_08.indd291 7/9/202015:47:34
292 微處理機
人類腦中約有一千億個神經元,透過連結組成複雜的神經網路,可以傳遞各種外界
的變化情形,例如觸感、視覺、聽覺等,而 類神經網路 (artificial neural network,人
工神經網路,簡稱 ANN),簡單的說,就是希望以電腦快速的計算能力,模仿生物神
經網路的資訊處理系統,具備判斷週遭變化狀況的能力。
(a) 系統方塊圖
(b) 軸心故障可能性
圖 8-10 旋轉機械振動診斷系統
AC20410_08.indd292 7/9/202015:47:34
Chapter 8 │微電腦系統架構與應用 293
振動診斷系統會先採集許多不同故障與狀態的樣本資料,經過資料前處理與特徵粹
取,輸入類神經網路的輸入向量,重複多次的學習(訓練),修正神經元之間的權重值,
如同人類有更多的經驗,就能具備更精準的判斷能力。當實際應用時,輸入目前現場的
旋轉機械狀態,經過特徵粹取、透過建置好的神經網路計算,即可判斷出故障種類。
圖 8-11 類神經網路
8-3 隨堂練習
1. 美國加州 Red 6 航太公司新型互動式 A-TARS 系統,利用 技術,讓
飛官們在進行實際飛行訓練時,只要戴上特殊頭盔,就能夠與虛擬的友軍與敵軍載
具進行各類即時互動,進行空中加油、空戰纏鬥、編隊訓練、對地攻擊等訓練。
AC20410_08.indd293 7/9/202015:47:35
294 微處理機
Chapter 8 學習目標回顧
學習目標 1:能列舉電腦的分類
1. 以 體 積 大 小 或 資 料 處 理、 運 算 能 力 來 分 類, 可 將 電 腦 分 成 超 級 電 腦、 大 型 計
算機、小型計算機與微型電腦四類。
學習目標 2:能區分微電腦各種類型
2. 任 何「 內 含 微 處 理 機」 的 系 統 組 成 的 電 腦、 設 備 等, 等 級 低 於 小 型 電 腦, 都
稱為微電腦系統,可概分為桌上型與可攜式兩類,例如個人電腦、筆記型電腦、
平板電腦、智慧型手機、嵌入式系統等。
學習目標 3:能說明微電腦的組成架構
3. 完 整 的 微 電 腦 系 統 應 包 括 軟 體 與 硬 體 兩 大 部 分, 硬 體 架 構 必 須 有 微 處 理 機、
記憶單元與輸出入單元,並視需求搭配各式各樣的週邊裝置。
4. 軟 體 部 分 則 需 安 裝 系 統 軟 體 來 管 理 電 腦 系 統 的 軟 硬 體 資 源, 再 依 據 功 能 需 要
安裝應用軟體。另外,視需要安裝驅動程式驅使硬體可以正常工作。
學習目標 4:能描述嵌入式系統的特色與應用
5. 嵌 入 式 系 統 是 為 了 執 行「 特 定 功 能」 的 系 統, 並 嵌 入 到 目 標 裝 置 裡, 負 責 即
時運算與處理的微電腦系統。主要由嵌入式微處理機、週邊硬體設備、嵌入式
作業系統及使用者應用程式等四個部分組成。
6. 嵌 入 式 系 統 分 類 可 概 分 為 四 類, 包 括 嵌 入 式 微 處 理 機(EMPU)、 嵌 入 式 微
控制器(MCU)、嵌入式數位訊號處理機(EDSP)、系統晶片(SoC)等。
7. 嵌入式系統硬體除了一般電腦系統的硬體五大單元與系統軟體、應用軟體外,
通常還具備數位及類比轉換功能、感測器、致動器與機械等,硬體設計必須著
重空間、重量、成本、功耗、即時性等限制。
8. 嵌 入 式 系 統 軟 體 包 含 嵌 入 式 作 業 系 統 與 應 用 軟 體 兩 部 分。 常 見 的 嵌 入 式 作 業
系統有 TinyOS、Embedded Linux、Android、iOS、WinCE、Symbian、Palm OS 等。
學習目標 5:能列舉微電腦系統的應用種類與實例
9. XR( 延 展 實 境) 其 實 是 一 個 總 稱, 涵 蓋 VR、AR 與 MR 三 種 技 術 的 集 合,
也可說 XR 是虛擬與現實交錯融合技術的總稱。
10. 資 訊 管 理 系 統 大 都 採 用 Multi-Tier Client-Server( 多 層 主 從 式 架 構),Client 就
是個人電腦或終端機,Server 就是應用程式與資料庫伺服器。
AC20410_08.indd294 7/9/202015:47:35
Chapter 8 │微電腦系統架構與應用 295
Chapter 8 課後習題
選擇題
8-1 1. 以體積大小或資料處理、運算能力來分類,可將電腦分成四類,下列哪一
項不是?
(A) 超級電腦 (B) 大型電腦 (C) 箱型電腦 (D) 微型電腦。
2. 超級電腦的特色,何者為非?
(A) 有極大的存儲容量和計算速度
(B) 主要用於科學和工程學科繁複的問題
(C) 常用於天氣分析與預報、處理量子力學等
(D) 如 DEC 公司 Alpha 就是超級電腦。
3. 下列哪一項不是微型電腦的類型?
(A) 平板電腦 (B) 穿戴式電腦 (C) 遊戲機 (D) 伺服器。
4. 關於各類型微型電腦敘述何者有誤?
(A) 目前可穿戴式電腦大都應用於娛樂
(B) 行動電話分為功能型手機與智慧型手機
(C) PDA 能夠進行文字處理、電子表格和手寫識別等
(D) 筆記型也稱為膝上型電腦。
5. 下列哪一項不是微電腦架構的軟體項目?
(A) 作業系統 (B) 驅動程式 (C) 3D 繪圖軟體 (D) 套裝軟體。
7. 關於 iPad 2,下列敘述何者錯誤?
(A) PMU 是為了達成最高效能與最低功耗
(B) HSIC 主要在硬體接線式晶片互連應用
(C) I2S 是 IC 間傳輸數位影音資料的一種介面標準
(D) VSP、ASP、XSP 三者常用於表示音訊編、解碼相關的串列介面。
AC20410_08.indd295 7/9/202015:47:35
296 微處理機
Chapter 8 課後習題
8-2 8. 微電腦發展過程中,單晶片異軍突起,它有何特色?
(A) 將 CPU、記憶體單元與 IO 單元製作在同一顆晶片上
(B) 具有低成本、使用簡單的優勢
(C) 執行效率與功能都比不上多晶片電腦結構
(D) 以上皆是。
11. 所謂嵌入式系統的組成不包括下列哪一項?
(A) 嵌入式微處理 機 (B) 週邊介面晶片
(C) 嵌入式作業系統 (D) 使用者的應用程式。
12. 下列何者不是嵌入式系統的特色?
(A) 專用性較強 (B) 低功耗、體積小
(C) 執行環境雷同 (D) 使用的系統資源少。
13. 關於各類型嵌入式系統,下列敘述何者有誤?
(A) 嵌入式微處理器將一般電腦中 CPU 專門設計簡化電路板來使用
(B) 嵌入式微控制 機 整合記憶體與 I/O 相關單元製作在同一晶片內
(C) 嵌入式數位訊號處理 機 具有較高的數位訊號處理 DSP 能力
(D) 系統晶片(SoC)是將嵌入式系統以系統軟體實現。
14. 嵌入式系統除了一般電腦系統的硬體五大單元與系統軟體、應用軟體外,
通常還具備哪些?哪一項目不包括在內?
(A) 數位及類比轉換功能 (B) 自動偵錯系統 (C) 致動器 (D) 感測器。
AC20410_08.indd296 7/9/202015:47:36
Chapter 8 │微電腦系統架構與應用 297
Chapter 8 課後習題
19. 關於人工智慧領域的名詞描述,哪一個是錯誤的?
(A) 類神經網路簡稱 ANN
(B) 專家系統通常包括推論引擎、知識庫與人機介面
(C) 神經網路可透過樣本訓練,取得輸入與輸出的邏輯關係,達成人工智
慧的目的
(D) 神經網路就是機器學習的一種。
20. 相對大型與小型電腦而言,微型電腦有甚麼異同,何者為非?
(A) 體積較小
(B) 運算速度較弱
(C) 少了輸出入單元,系統更精簡
(D) 可分為桌上型與可攜式兩種。
AC20410_08.indd297 7/9/202015:47:36
298 微處理機
Chapter 8 課後習題
問答題
1. 請簡述電腦的四種分類的特性與應用範疇。
2. 請簡述微電腦系統的分類與代表的應用產品。
3. 請概述微電腦系統軟硬體的組成。
4. 請敘述嵌入式系統的特色?
5. 請舉出微電腦在各種層面的應用。
AC20410_08.indd298 7/9/202015:47:36
附錄
隨堂練習簡答
圖表資料來源
參考文獻
隨堂練習簡答 2-2
1. 微運算。
第一章 2. 暫存器間的資料傳遞;算術;邏輯;移位。
3. 固線式控制單元;微程式控制單元。
1-1
2-3
1. 真 空 管; 電 晶 體; 積 體 電 路(SSI 與
1. 暫存器;快取記憶體;主記憶體;輔助記憶。
MSI);超大型積體電路(VLSI);人工智
2. RAM;ROM。
慧(AI)。
3. Mask ROM;PROM;EPROM;EEPROM;
2. 10 個以下;10 ∼ 100 個;100 ∼ 1000 個。
Flash Memory。
3. 自然語言(人工智慧)。
4. SRAM;DRAM。
1-2 5. 位址;資料;控制;選擇。
1. 算術邏輯單元(ALU);控制單元(CU); 2-4
記憶體單元(MU);輸入單元(IU);輸
1. 位址解碼電路。
出單元(OU)。
2. 線性解碼;完全 / 部分解碼。
2. 程式計數器(PC)。
3. 3×8 解碼器;8K×8 bits。
3. 機械語言;組合語言。
4. 8 顆;2×4 解碼器。
4. +;A、B。
2-5
1-3
1. 記憶體映對式 IO;隔離式 IO。
1. 運算碼;運算元。
2. 北橋電路;南橋電路。
2. 提取指令;指令解碼;計算運算元有效位址;
3. PCI-E、AGP、SATA、IDE。
提取運算元;執行;存放結果。
4. 74LS373;74LS244。
3. 記憶體位址暫存器(MAR)。
1-4 第三章
1. 500。
3-1
2. 51.2m。
1. 指令集。
3. 18 ∼ 24。
2. MAR;MDR。
第二章 3. 64。
3-2
2-1
1. 立即定址;暫存器定址。
1. (A)、(B)。
2. 遞增。
2. 64M。
3. (1) 15H;(2) 60H;(3) 51H;(4) 7CH
3. 序列(Queue)。
3-3
4. 范紐曼結構;哈佛結構。
1. 指令數量多;定址模式種類多;指令長度不
同。
2. RISC。 4-4
3. 資料搬移;算術運算;邏輯運算;移位旋轉。 1. 目的啟動交握式。
3-4 2. STROBE = 0。
1. 高階程式語言;低階程式語言。 3. 線性串接;星型連接。
2. 標記;指令;註解。 4-5
3. 連結程式。 1. GPU(圖形顯示單元)。
4. 註解欄。 2. EN;RS;R/W。
3-5 3. (B)。
1. 作業系統;系統軟體;應用軟體。
2. 載入程式。 第五章
3. 直譯程式。 5-1
1. 程式化 I/O;中斷式 I/O。
第四章
2. 中斷請求(INTR)。
4-1 3. 中斷認可(INTA)。
1. 串列傳輸;並列傳輸。 5-2
2. 同步傳輸;非同步傳輸。 1. NMI;MI。
3. 手機 單工 2. 0088H~008BH。
數位無線電視 半雙工 3. 輪詢式;菊鍊式;平行式。
火腿族無線電 全雙工
對講機
5-3
4-2 1. 設定中斷向量表;常駐中斷服務程式。
2. IRET。
1. 512。
2. TXD;RXD;GND。
5-4
3. 同步全雙工串列;同步半雙工串列。 1. 4。
4. O.D.(開汲極);AND。 2. ISR。
4-3 3. 全巢;自動旋轉;特定旋轉。
4. 本地 APIC;I/O APIC。
1.
版本 速度稱呼 傳輸速率
Super Speed+ 20Gbps 第六章
USB2.0 High Speed 1.5Mbps
Low Speed 12Mbps 6-1
USB3.2 Gen2×2 Super Speed 5Gbps
Full Speed 480bps 1. 輔助記憶體;主記憶體。
2. USB2.0 即開始用於手機。 2. 半導體;磁性;光學。
3. VBUS;D–;D+;GND。 3. 揮發性記憶體;非揮發性記憶體。
4. 1011 1000。
5. 控制型;中斷型;巨量型;等時型。
6-2 7-3
1. 字元線(WL);位元線(BL)。 1. 電源管理邏輯。
2. 列位址;RAS;行位址;CAS。 2. 8;3;32KB;32KB;256KB;12MB。
3. 浮動閘極。 3. SRQ。
4. 電容;刷新。
6-3 第八章
1. 16;1683;63;828MB。 8-1
2. 搜尋時間;旋轉時間;資料傳輸時間; 1. 超級電腦。
3. 52.57m。 2. 桌上型;可攜式。
6-4 3. I/O 晶片。
1. 快取記憶體;虛擬記憶體。 8-2
2. 循序結構;重複存取;呼叫副程式。 1. 專用性強;體積小;成本低;使用 RTOS;
3. 輔助記憶體。 使用環境差異大。(任寫其中三種)
6-5 2. EMPU;MCU;EDSP;SoC。
1. 輪詢式;中斷式;直接記憶。 3. RTOS。
2. 不可以。 8-3
3. 要求式;突發式;週期竊取式。 1. AR。
6-6 2. 客戶端;應用程式伺服器;資料庫伺服器。
1. 4。 3. 輸入層;隱藏層。
2. 擴增 DMA 資料傳輸通道。
3. DREQ0。
第七章
7-1
1. 管線;多處理器。
2. SISD;SIMD;MISD;MIMD。
3. 緊耦合;疏耦合。
7-2
1. 多核心。
2. 指令。
3. 2。
圖表資料來源
圖 1-2 維基百科,https://en.wikipedia.org/wiki/Intel_4004
圖 1-3 維 基 百 科,https://zh.wikipedia.org/wiki/ 電 子 數 值 積 分 計 算 機 #/media/
File:Eniac.jpg)
圖 1-4 維基百科,https://zh.wikipedia. org/wiki/Apple_II
圖 1-8(a) 123RF 商用圖庫提供
圖 1-8(b) http://cssplab.cn.nctu.edu.tw/research/embedded.php
圖 1-16 Intel 網站
圖 2-26 http://www.datasheetcafe.com/74ls138-datasheet-decoder-demultiplexer/
圖 2-33 123RF 商用圖庫提供
圖 2-35 123RF 商用圖庫提供
圖 4-16 維基百科,https://zh.wikipedia.org/wiki/USB
圖 4-17 Microsoft TechNet
表 4-8 維基百科,https://zh.wikipedia. org/wiki/USB
圖 4-26(a) 123RF 商用圖庫提供
圖 4-33 HITACHI 資料手冊
圖 4-34 HITACHI 資料手冊
圖 5-10(a) https://www.wikiwand.com/zh/Intel_8259
圖 6-17 123RF 商用圖庫提供
圖 6-18 維基百科,https://zh.wikipedia. org/wiki/%E9%97%AA%E5%AD%98
圖 6-27 維基百科,https://zh.wikipedia. org/wiki/SDRAM
圖 6-28 維基百科,https://zh.wikipedia.org/wiki/%E8%BD%AF%E7%9B%98
圖 6-31(a) 123RF 商用圖庫提供
圖 6-32 123RF 商用圖庫提供
圖 6-33 http://www.pcstats.com/articleview.cfm?articleID=2684
圖 6-34(a) 維基百科,https://zh.wikipedia. org/wiki/CD-ROM
表 8-3 https://kknews.cc/zh-tw/design/omka2o.html
參考文獻
一、 呂 紹 偉、 吳 淑 錦( 譯 )( 民 101)。 計 算 機 系 統 結 構( 原 作 者:M. Morris
Mano)。臺北市:台灣東華書局。
二、 沈雍超、游孟潔、蔡智孝、顧皓翔(譯)(民 103)。計算機組織與結構效能設計
(原作者:Willian Stallings)。臺北市:高立圖書。
三、 林銘波(民 101)。微算機原理與應用 x86/x64 微處理器軟體、硬體、介面與系統。
新北市:全華圖書。
四、 張顯盛(民 98)。微處理機。臺北市:華興書局。
五、 曹 恆 偉、 李 俊 毅、 郭 建 宏、 陳 建 中( 譯 )( 民 88)。INTEL 系 列 微 處 理 器:
8086/8088 , 80186/80188 , 80286 , 80386 , 80486 , Pentium 與 Pentium Pro 處理器
架構,規劃與介面(原作者:Barry B. Brey)。臺北市:台灣東華書局。
六、 解名仁(民 101)。最新計算機組織與結構。新北市:新文京。
七、 劉紹漢(民 77)。IBM PC/XT 硬體線路精解。新北市:全華圖書。
適用學校 技術型高級中等學校電機與電子群
審定字號 技審字第109319號
編 著 者 張顯盛
總 編 輯 張忠成
責任編輯 楊清淵
校對次數 8次
版面構成 陳依婷
封面設計 陳依婷
出 版 者 台科大圖書股份有限公司
門市地址 24257新北市新莊區中正路649-8號8樓
電 話 02-2908-0313
傳 真 02-2908-0112
網 址 tkdbooks.com
電子郵件 service@jyic.net
版權宣告 有著作權 侵害必究
本書受著作權法保護。未經本公司事前書面授權,不得以任何方式(包括儲存於資料
庫或任何存取系統內)作全部或局部之翻印、仿製或轉載。
書內圖片、資料的來源已盡查明之責,若有疏漏致著作權遭侵犯,我們在此致歉,並
請有關人士致函本公司,我們將作出適當的修訂和安排。
郵購帳號 19133960
戶 名 台科大圖書股份有限公司
※郵撥訂購未滿1500元者,請付郵資,本島地區100元 / 外島地區200元
客服專線 0800-000-599
PChome商店街 博客來網路書店
網路購書 JY國際學院 台科大圖書專區