108 年 國立成功大學電機工程學系碩士班戊組《計算機組織》
第 1 題
For the finite state machine implementation of a multi-cycle non-pipelined processor, which of the following is (are) true when the processor encounters an undefined instruction?
(a) The undefined instruction is detected in the fetch cycle.
(b) The undefined instruction is detected in the decode cycle.
(c) The undefined instruction is executed as normal, but the result is discarded.
(d) The undefined instruction causes an internal processor trap.
(e) The undefined instruction is re-executed again.
登入後即可作答並保存紀錄。
核心觀念
本題考查**多週期非流水線處理器(Multi-cycle Non-pipelined Processor)採用有限狀態機(Finite State Machine, FSM)**作為控制單元時,對「未定義指令」(Undefined / Illegal Instruction)或「異常(Exception / Trap)」的偵測機制與處理流程。
關鍵觀念與定義如下:
- 多週期處理器的執行階段(Execution Cycles):
在典型的多週期處理器(如 MIPS 5-stage 多週期架構)中,指令執行被切割為多個時脈週期:- 擷取階段(Instruction Fetch, IF):從指令記憶體讀取指令至指令暫存器(),並計算下一條指令位址()。在此階段,控制單元尚未分析指令內容。
- 解碼階段(Instruction Decode, ID):讀取暫存器檔(Register File),同時控制單元(FSM)根據指令中的操作碼(Opcode)進行解碼,決定下一個狀態(Next State)分支。
- 執行/記憶體/寫回階段(EX / MEM / WB):依據解碼結果跳轉至對應指令的執行狀態。
- 未定義指令(Undefined Instruction):
指指令的操作碼(Opcode)不屬於該指令集架構(ISA)所定義的有效操作碼(Illegal Opcode)。 - 內部陷阱/異常(Internal Trap / Exception):
未定義指令屬於 CPU 內部執行的同步錯誤事件(Synchronous Exception),通常稱為內部陷阱(Internal Processor Trap)。當 FSM 偵測到非法 Opcode 時,會停止正常執行狀態,將異常原因寫入 Cause 暫存器、將發生位址寫入 EPC(Exception Program Counter),並將 PC 強制轉向作業系統的異常處理程式(Exception Handler)。
解題方法
分析多週期 FSM 控制器處理未定義指令的切入點:
- 偵測時間點判斷:
- 在 IF 階段,處理器僅盲目地自記憶體讀取 32 位元資料,控制單元的 FSM 處於初始狀態(如 State 0),尚未讀取 Opcode 欄位,故無法判斷指令合法性。
- 在 ID 階段(如 State 1),FSM 的次狀態邏輯(Next State Logic)檢查
IR[31:26](Opcode 欄位)。若該 Opcode 不符合任何已知指令的轉移條件,即在 ID 階段 確定該指令為未定義指令。
- 狀態機處理機制:
第 2 題
For a 5-stage pipelined processor, which of the following is (are) true when the processor encounters an undefined instruction?
(a) The undefined instruction goes through the pipeline as a no-op when detected.
(b) The undefined instruction causes the pipeline to stall.
(c) The processor stops several cycles and enters the undefined instruction exception.
(d) The processor fetches the undefined instruction again.
(e) The processor resets itself.
登入後即可作答並保存紀錄。
核心觀念
本題考查流水線處理器(Pipelined Processor)之異常處理(Exception Handling)機制,特別是針對「未定義指令(Undefined Instruction / Illegal Instruction)」時的硬體應對流程。
在標準 5 階段流水線(IF, ID, EX, MEM, WB)中:
- 未定義指令的偵測階段:控制單元(Control Unit)在 ID(Instruction Decode,指令解碼)階段解析 Opcode(操作碼)時,若發現 Opcode 不屬於該 ISA(指令集架構)規定的合法指令,即觸發未定義指令異常。
- 流水線對異常的處置:
- 為了維護精準異常(Precise Exception),引發異常的指令及其後續已擷取的指令絕對不能修改任何架構狀態(Architectural State,如暫存器或記憶體內容)。
- 硬體會透過將控制信號清零(Flush / Bubble)的方式,使該未定義指令在後續階段(EX, MEM, WB)轉化為 無作用指令(No-op / NOP) 無聲通過流水線。
- 處理器同步將該指令的 PC 存入 EPC(Exception Program Counter),記錄異常原因至 Cause 暫存器,並將 PC 強制跳轉至異常處理程式入口位址(Exception Vector Address)。
解題方法
解題切入點為區分 Exception(異常)、Stall(停頓)、Retry(重新擷取)與 Hard Reset(重置)在流水線中的運作本質與適用時機:
- 流水線 Flush vs. Stall:
- Stall(停頓):用於解決冒險(Hazard,如 Data Hazard 或 Structure Hazard),暫停流水線數個週期以等待資料或資源可用,指令過後會繼續執行。
- Flush(清空/轉為 NOP):用於 Exception(異常)或 Control Hazard(分支預測失敗),將無效或非法指令轉成 NOP 廢棄,不讓其變更狀態。
- 未定義指令的不可修復性:
- 未定義指令屬於非法碼,硬體無法透過「再擷取一次(Refetch)」或「暫停等待(Stall)」使其變為合法指令,故只能轉為 NOP 廢棄並跳轉至 OS 異常處理常式(Handler)。
選項分析
第 3 題
For a 5-stage pipelined processor, which of the following is (are) true when the processor encounters a data fault?:
(a) The processor enters a data fault exception.
(b) The processor also enters an instruction exception.
(c) The data fault is signaled by the MMU unit.
(d) The data fault is caused by the execution of a load or store type instruction.
(e) The data fault is caused due to the incorrect data of an arithmetic instruction.
登入後即可作答並保存紀錄。
核心觀念
本題考查五階段管線化處理器(5-stage Pipelined Processor)中的 異常處理機制(Exception Handling)、記憶體管理單元(MMU) 以及 虛擬記憶體(Virtual Memory) 的運作原理。
-
五階段管線(5-Stage Pipeline):
- IF (Instruction Fetch):讀取指令記憶體,可能發生指令故障(Instruction Fault / Instruction Page Fault)。
- ID (Instruction Decode):指令譯碼與暫存器讀取,可能發生非法指令異常(Illegal Instruction Exception)。
- EX (Execute):ALU 算術邏輯運算與位址計算,可能發生算術溢位異常(Arithmetic Overflow Exception)。
- MEM (Memory Access):存取資料記憶體,可能發生資料故障(Data Fault / Data Page Fault)。
- WB (Write Back):將結果寫回暫存器。
-
資料故障(Data Fault)與 MMU 的角色:
- Data Fault 指處理器在存取資料記憶體(MEM 階段)時,因虛擬位址無法轉換(Page Fault)、存取權限不足(Protection Fault)或位址未對齊(Alignment Fault)所引發的硬體例外。
- MMU(Memory Management Unit) 負責邏輯/虛擬位址至實體位址的轉換與權限檢查。當轉譯失敗或違規時,由 MMU 設置異常旗標並向 CPU 發出 Data Fault 訊號。
解題方法
-
依據階段劃分異常類型:
將異常發生的階段與對應的記憶體類型建立映射關係:
-
分析引發資料存取的指令特徵:
在標準的 RISC 載入/儲存架構(Load/Store Architecture)中:- Load / Store 型態指令(如
LW,SW):唯一的資料記憶體存取指令,執行時須通過 MMU 檢查,是觸發 Data Fault 的必要條件。
- Load / Store 型態指令(如
第 4 題
About processor execution model, which of the following is (are) true?
(a) A vector arithmetic instruction can be executed in the form of SIMD operation.
(b) An SIMD arithmetic instruction has multiple data operands which are for the same intended operation.
(c) A multi-core processor usually runs in the form of MIMD.
(d) A GPGPU usually runs in the form of SIMT.
(e) SIMT stands for single instruction multiple threading.
登入後即可作答並保存紀錄。
核心觀念
本題考查**處理器執行模型(Processor Execution Models)**與 Flynn 分類法(Flynn's Taxonomy)。主要涵蓋以下核心概念:
- Flynn 分類法(Flynn's Taxonomy):根據指令流(Instruction Stream)與資料流(Data Stream)的數量,將計算機架構分為四類:
- SISD (Single Instruction, Single Data):單一指令串流處理單一資料串流(傳統單核心 CPU)。
- SIMD (Single Instruction, Multiple Data):單一指令串流同時處理多個資料串流(向量處理器、MMX/SSE/AVX 擴充指令)。
- MISD (Multiple Instruction, Single Data):多個指令串流處理單一資料串流(極少見,主要用於高容錯系統)。
- MIMD (Multiple Instruction, Multiple Data):多個指令串流同時處理多個資料串流(多核心處理器、多處理器系統)。
- 向量處理(Vector Processing)與 SIMD:向量架構將資料打包為向量暫存器,透過單一向量算術指令對陣列中所有元素同時進行相同運算,屬於 SIMD 的實現範疇。
- GPGPU 與 SIMT(Single Instruction, Multiple Threads):通用圖形處理器(GPGPU)採用的執行模型。軟體層面提供獨立執行緒的抽象觀念(MIMD 程式設計風格),硬體層面則將執行緒分組(如 Warp),以單一指令同時驅動多個執行緒執行(SIMD 執行機制)。
解題方法
本題為觀念複選題,解題切入點如下:
- 依據 Flynn 分類法檢視指令、資料與執行緒之間的對應關係,劃分 SIMD、MIMD 與 SIMT 之邊界。
- 確認多核心處理器(Multi-core Processor)是否擁有獨立的程式計數器(PC)與指令解碼器,以驗證其 MIMD 特性。
- 嚴謹核對專有名詞全稱(Acronym Expansion),注意詞性與名詞單複數差異(如 Threads vs. Threading)。
選項分析
-
(a) 正確。
向量算術指令(Vector arithmetic instruction)的作用對象為向量暫存器(Vector Register),一條指令即可控制多個 Pipeline Lane 或 ALU 對暫存器內的多組資料元素執行相同的算術操作。此種運算模式正是 SIMD(Single Instruction, Multiple Data)的具體執行形式。 -
(b) 正確。
依據 SIMD 的標準定義,單一 SIMD 算術指令會在同一個時脈週期內將指令發射至多個資料運算元(multiple data operands)上,且所有運算元均執行相同的預定算術邏輯(same intended operation),例如同時對 4 組 32-bit 浮點數進行加法。
第 5 題
Which of the following is (are) true about data cache?
(a) When a data cache write miss occurs, the cache controller first fetches the missing block into the cache and then the data are written into the cache. This is the write-allocate policy.
(b) When a data cache write hit occurs, the data are only written into the cache. This is the write-back policy.
(c) Data cache is typically deployed at the fetch stage of a pipelined processor.
登入後即可作答並保存紀錄。
核心觀念
本題考驗計算機組織(Computer Organization)中快取記憶體(Cache Memory)的寫入策略以及管線化處理器(Pipelined Processor)各階段與快取的對應關係。
-
快取寫入未命中策略(Write Miss Policies):
- Write-allocate(寫入分配):當寫入未命中(Write Miss)時,快取控制器會先將缺失的資料區塊(Block)從主記憶體搬移(Fetch)至快取中,隨後再將新資料寫入該快取區塊。
- No-write-allocate / Write-around(不寫入分配):寫入未命中時,直接將資料寫入主記憶體,而不將區塊載入快取。
-
快取寫入命中策略(Write Hit Policies):
- Write-back(寫回法):當寫入命中(Write Hit)時,資料僅寫入快取中,同時將該區塊標示為髒位(Dirty Bit = 1)。主記憶體的更新會延遲到該區塊被淘汰(Evict)時才執行。
- Write-through(直寫法):寫入命中時,資料會同時寫入快取與主記憶體中。
-
管線階段與快取架構(Pipeline Stages & Cache Architecture):
- 在經典的五階段 RISC 管線(5-stage RISC Pipeline)中,處理器採用哈佛架構(Harvard Architecture),將快取的記憶體存取分為指令快取(Instruction Cache, I-Cache)與資料快取(Data Cache, D-Cache):
- 取指階段(Fetch Stage / IF Stage):僅存取指令快取(I-Cache)以讀取即將執行的指令。
- 記憶體存取階段(Memory Stage / MEM Stage):存取資料快取(D-Cache)以執行 與 資料讀寫作業。
- 在經典的五階段 RISC 管線(5-stage RISC Pipeline)中,處理器採用哈佛架構(Harvard Architecture),將快取的記憶體存取分為指令快取(Instruction Cache, I-Cache)與資料快取(Data Cache, D-Cache):
解題方法
針對題目給出有關 Data Cache 的三個敘述,依據快取記憶體的標準定義與管線架構運作原理進行逐一審視:
- 分析選項 (a):檢查寫入未命中時「先將缺失區塊載入快取再寫入」是否符合 Write-allocate 之定義。
- 分析選項 (b):檢查寫入命中時「資料僅寫入快取」是否符合 Write-back 之定義。
- 分析選項 (c):檢查資料快取(Data Cache)在管線化處理器中部署的階段是否正確。
選項分析
第 6 題
About cache coherency, which of the following is (are) true?
(a) There is no cache coherency issue for a write-through cache since data are also written in the next
level memory system.
(b) Cache coherency only occurs in multi-core processor system.
(c) Cache coherency only occurs in write-back cache.
(d) There is no cache coherency issue about an instruction cache since it is typically read-only.
(e) There is no cache coherence issue in a single processor cache system.
登入後即可作答並保存紀錄。
核心觀念
本題考查**快取一致性(Cache Coherency)**的基本定義、發生條件,以及在不同記憶體寫入策略(Write-Through / Write-Back)、系統架構(單處理器/多核心/DMA)與快取類型(Instruction Cache / Data Cache)下的運作機制。
- 快取一致性問題的根源:當系統中存在多個存取主體(如多核心 CPU、DMA 控制器)共享同一個主記憶體(Main Memory)時,若同一份資料存在於多個快取或記憶體中,當某一存取主體對該資料進行**寫入(Write)**修改後,若其他快取中的舊資料副本未被同步更新或宣佈無效(Invalidate),就會導致不同存取主體讀取到不一致的過時資料。
- 影響快取一致性的要素:
- 寫入策略:無論是 Write-Through 還是 Write-Back,寫入行為都會觸發快取一致性問題。 Write-Through 僅保證主記憶體更新,無法自動更新其他 CPU 核心快取中的舊資料。
- 系統架構:除了多核心/多處理器系統,單處理器系統若具備 DMA(直接記憶體存取)進行 I/O 操作,亦會產生 CPU 快取與主記憶體之間的 I/O 快取一致性問題。
- Instruction Cache 讀取特性:指令快取(I-Cache)在正常程式執行期間僅供 CPU 進行取指(Instruction Fetch),屬於唯讀(Read-Only)屬性,不會主動修改快取內容而產生寫入衝突。
解題方法
解題切入點為運用快取一致性的定義與必要條件對各選項進行邏輯審查:
- 檢查是否有「寫入」發生:快取一致性衝突必定源於資料寫入修改。若快取的資料屬於唯讀,則不會主動產生寫入一致性衝突。
- 檢查是否有「多個資料副本」與「獨立存取路徑」:包括多核心間各自的 L1/L2 快取,以及單核心系統中 CPU 快取與 DMA 控制器之間的獨立存取路徑。
- 區分 Write-Through 與快取一致性協定的差異:Write-Through 解決的是「快取與主記憶體」之間的一致性,無法解決「快取與快取」之間的一致性。
選項分析
-
(a) 錯誤
- 選項原文:There is no cache coherency issue for a write-through cache since data are also written in the next level memory system.
- 詳細解析:Write-Through(寫透)策略在修改快取的同時,會將新資料立刻寫回下一層記憶體(如 Main Memory)。然而在多核心(Multiprocessor/Multi-core)架構下,若 Core 1 與 Core 2 的快取中都儲存了同一變數 的副本,當 Core 1 修改 時,雖然 Write-Through 會將 更新至 Main Memory,但 Core 2 快取中的 副本依然是舊資料(Stale Data)。若 Core 2 隨後讀取其本地快取,將讀到過時的舊值。因此 Write-Through 快取系統依然存在快取一致性問題,必須配合 Snooping 或 Directory-based 一致性協定發送無效化(Invalidate)訊號。
-
(b) 錯誤
- 選項原文:Cache coherency only occurs in multi-core processor system.
- 詳細解析:快取一致性問題不只限於多核心系統。
第 7 題
In MIPS, "beq r1, r2, L1" is a conditional branch, in ARM's assembly, this is done by cmp r1, r2,
followed by a beq L1 like operation. Which of the following is (are) true?
(a) cmp sets the comparison result in register r2.
(b) In MIPS, comparison of r1 and r2, and branch to L1 are performed in the same instruction.
(c) cmp sets the comparison result in a condition code register.
(d) beq L1 compares r1 and r2.
(e) cmp performs JUMP to L1 conditionally.
登入後即可作答並保存紀錄。
核心觀念
本題考驗指令集架構(Instruction Set Architecture, ISA)設計中控制流指令(Branching Instructions)的實作機制差異,特別比較了 MIPS 與 ARM 處理器在處理條件跳躍(Conditional Branch)時的做法:
- MIPS 的條件跳躍機制(無條件碼暫存器設計):
MIPS 為了簡化硬體與管線設計,不使用條件碼暫存器(Condition Code Register)。其條件跳躍指令(如beq r1, r2, L1)在單一指令內同時完成兩個動作:比較兩暫存器的值( 與 ),並根據比較結果決定是否跳躍至目標位址 。 - ARM 的條件跳躍機制(基於條件碼暫存器設計):
ARM 採用兩階段指令組合:- 比較指令
cmp r1, r2:內部執行 的減法運算,拋棄結果,僅將結果之狀態(如是否為 0、是否為負數)更新至條件碼暫存器(Condition Code Register,即 CPSR / APSR 中的 旗標)。 - 條件跳躍指令
beq L1:僅檢查條件碼暫存器中的狀態旗標(例如 代表相等),決定是否跳躍至 。指令本身不再接收 與 作為運算元。
- 比較指令
解題方法
解題切入點為比對 MIPS 與 ARM 在條件轉移指令運作時的硬體行為與暫存器操作:
- MIPS:單一指令同時發起比較(Compare)與跳躍(Branch)。
- ARM
cmp:僅寫入條件碼暫存器(Condition Code Register),不更新一般暫存器(),亦不修改程式計數器(PC)。 - ARM
beq:僅讀取條件碼暫存器並根據旗標修改 PC,不進行暫存器數值比較。
逐一檢視各選項敘述之硬體動作正確性即可得出答案。
選項分析
第 8 題
Which of the following instructions can be used to implement A = A + B?
(a) ADD A, B, B
(b) ADD A, B
(c) ADD A, A, B
(d) ADD A, B, A
(e) ADD B, A, B
登入後即可作答並保存紀錄。
核心觀念
本題旨在考驗對**指令集架構(Instruction Set Architecture, ISA)**中指令運算元格式(Operand Format / Address Machine Classification)與資料路徑寫回特性的理解。
-
運算元位址格式(Number of Operands / Address Machines):
- 3-位址機器(3-Address Machine / 3-Operand Syntax):如 MIPS、RISC-V、ARM 等 RISC 架構。
指令標準格式為:
代表將來源暫存器 與 的值相加後,將結果寫入目的暫存器 :
- 2-位址機器(2-Address Machine / 2-Operand Syntax):如 x86 等 CISC 架構。
指令標準格式為:
第一個運算元 同時擔任「目的暫存器」與「第一來源暫存器」:
- 3-位址機器(3-Address Machine / 3-Operand Syntax):如 MIPS、RISC-V、ARM 等 RISC 架構。
-
加法交換律(Commutativity of Addition):
整數加法具備交換律,即 。因此在 3-位址機器中,兩個來源運算元(Source Operands)的先後順序不影響最終算術結果。
解題方法
本題目標為將暫存器 與暫存器 的數值相加,並將結果存回暫存器 ,即實現:
針對不同的 ISA 位址格式進行分析:
-
在 3-位址機器(3-Operand Format)架構下:
- 目的暫存器(Destination):必須是 。
- 來源暫存器(Sources):必須分別為 與 。
- 寫法
ADD A, A, B執行 ,完全符合需求。 - 寫法
ADD A, B, A執行 ,依據加法交換律 ,亦能達成 的結果。
-
在 2-位址機器(2-Operand Format)架構下:
- 目的暨來源暫存器(Destination/Source1):必須是 。
- 第二來源暫存器(Source2):必須是 。
第 9 題
Which of the following are true?
(a) Checking the status bit of an I/O address to see if it is time for the next I/O operation is called
interrupt.
(b) When an interrupt occurs, the processor always responds to the interrupt and enters the interrupt
service routine.
(c) ISA (instruction set architecture) is an abstraction that enables different implementations of the
same ISA for the processor.
(d) A page fault is signaled by a system call.
(e) RISC-V is an ISA specification.
登入後即可作答並保存紀錄。
核心觀念
本題考查計算機組織與架構中的四大基礎主題:
- I/O 控制機制(I/O Control Mechanisms):輪詢(Polling)與中斷(Interrupt)的運作模式差異。
- 中斷處理流程(Interrupt Handling):可遮蔽中斷(Maskable Interrupt)與處理器響應機制。
- 指令集架構與抽象化(ISA & Abstraction):ISA 作為硬軟體邊界的抽象介面,及其與微架構(Microarchitecture)實現的分離。
- 例外處理與虛擬記憶體(Exceptions & Virtual Memory):分頁缺頁(Page Fault)的觸發機制與系統呼叫(System Call)的區別。
解題方法
透過對作業系統與計算機架構中定義的系統行為進行比對判斷:
- 分清主動查詢狀態(Polling)與被動硬體通知(Interrupt)的差異。
- 檢驗中斷是否可被遮蔽(Masking),判斷處理器是否「必定(always)」回應。
- 理解 ISA 的抽象化定義:同一套 ISA 可由不同微架構(如單一週期、多週期、管線化)實現。
- 區分由記憶體管理單元(MMU)硬體自動引發的 Page Fault(Hardware Exception)與由軟體指令主動發起的 System Call(Software Trap)。
- 確認 RISC-V 的標準定義。
選項分析
-
(a) 錯誤。
檢查 I/O 裝置位址的狀態位元(Status Bit)以確認是否準備好進行下一次操作,此過程稱為**輪詢(Polling)**或程式控制 I/O(Programmed I/O)。**中斷(Interrupt)**則是由周邊裝置在準備就緒時,透過硬體信號主動通知處理器,處理器無須在迴圈中持續查詢狀態位元。 -
(b) 錯誤。
當中斷發生時,處理器不一定會立即回應並進入中斷服務程式(ISR, Interrupt Service Routine)。若該中斷為可遮蔽中斷(Maskable Interrupt),且目前處理器關閉了中斷(如 Interrupt Enable 位元設為 ),或是正在處理優先權更高的任務/中斷,處理器會暫緩或忽略該中斷響應,直到中斷重新啟用或高優先權任務結束。
第 10 題
About I/O and DMA operations, which of the following is (are) true?
(a) Programmed I/O is performed by the processor which executes the I/O programs.
(b) When I/O devices are mapped onto the memory space, this is called memory-mapped I/O.
(c) A DMA controller executes software for memory accesses.
(d) A DMA controller performs I/O operations by itself.
(e) DMA is short for Data Memory Access.
登入後即可作答並保存紀錄。
核心觀念
本題考驗計算機組織中 I/O 資料傳輸控制機制(Programmed I/O 與 DMA)以及 I/O 位址空間規劃(Memory-Mapped I/O)的基本觀念與定義。
-
I/O 資料傳輸控制方式:
- 程式控制 I/O (Programmed I/O):由中央處理器(CPU)親自執行 I/O 程式與指令(例如輪詢 Polling),負責檢查裝置狀態並逐一傳送/接收資料。
- 中斷驅動 I/O (Interrupt-Driven I/O):由 CPU 發起要求後先切換執行其他工作,待 I/O 裝置準備就緒發出中斷訊號後,CPU 再執行中斷服務程式(ISR)搬移資料。
- 直接記憶體存取 (Direct Memory Access, DMA):透過專用的硬體控制器(DMA Controller),在 CPU 完成初始化設定(設定記憶體起始位址、資料傳輸量與控制訊號)後,接管系統匯流排,獨立完成記憶體與 I/O 裝置間的整批資料搬移,無需 CPU 執行軟體指令來逐字轉移。
-
I/O 位址對映機制:
- 記憶體對映 I/O (Memory-Mapped I/O):將 I/O 裝置暫存器直接劃分在主記憶體的同一位址空間中,CPU 使用一般存取記憶體的指令(如 / )即可操作 I/O 裝置。
- 獨立 I/O (Isolated I/O / Port-Mapped I/O):I/O 裝置擁有獨立於主記憶體之外的位址空間,需使用專門的 I/O 指令(如 x86 的 / )來進行存取。
-
專有名詞定義:
- DMA:英文全名為 Direct Memory Access(直接記憶體存取)。
解題方法
本題為選擇題(複選題),依據計算機結構的硬體特性與運作原理逐一分析每個選項:
- 區分 由 CPU 執行軟體指令來傳輸資料(Programmed I/O)與 由專用硬體邏輯接管傳輸(DMA)之差別。
- 確認 Memory-Mapped I/O 的精確定義。
- 檢查 DMA 控制器的本質(純硬體邏輯,非軟體執行器)與 DMA 專有名詞縮寫的全稱。