111 專技高考高等考試 資訊技師 計算機系統 考古題詳解
第 一 題20 分
使用 OP code 與只有一個 Operand 的指令寫出下列的數學方程式。可以使用的 OP Code 為 LOAD、MOVE、STOR、ADD、SUB、MUL、DIV。
登入後即可作答並保存紀錄。
核心觀念
本題評量計算機組織中單一運算元架構(One-Address Architecture,又稱累加器架構,Accumulator-based Architecture)之組合語言指令編寫與運算式求值排程。
- 累加器(Accumulator, AC)的隱含性:
單一運算元指令的格式為
OPCODE M( 為記憶體位址或變數名稱)。CPU 內建一個專用暫存器——累加器(),作為所有運算指令的隱含來源運算元與目的運算元:
- 載入與回存:
LOAD M代表 ;STOR M代表 。 - 算術運算:
ADD M代表 ;SUB M代表 ;MUL M代表 ;DIV M代表 。
- 算術不對稱性與求值順序:
除法運算指令
DIV M的語意固定為 (即以 為被除數、 為除數),不具備交換律。因此,在執行DIV指令的當下, 內部必須放置分子(被除數),而**分母(除數)**必須預先計算完畢並儲存於某個記憶體暫存變數 中。
解題方法
目標數學方程式為:
為求以最少指令數與最少暫存空間完成運算,求值策略分為兩大階段:
步驟一:先計算分母並存入暫存空間
分母為 。依據四則運算優先權,乘法優先於加法:
- 載入變數 至累加器:
- 與變數 相乘:
- 與變數 相加:
- 將分母計算結果儲存至暫存記憶體變數 :
步驟二:再計算分子並執行除法
分子為 : 5. 載入變數 至累加器: 6. 減去變數 : 7. 除以暫存變數 (分母): 8. 將最終結果存入變數 :
選項分析(指令語意與 OP Code 適用性分析)
本題為非選擇題,題目提供了候選 OP Code 清單(LOAD、MOVE、STOR、ADD、SUB、MUL、DIV)。針對各指令在單一運算元架構下的角色分析如下:
LOAD與STOR(必要使用): 在典型單一運算元(累加器)架構中,記憶體與 之間的資料傳遞完全由LOAD(Memory )與STOR(
第 二 題20 分
一個 的處理器用來執行下列的指令組合,其統計如下。(每小題 10 分,共 20 分)
| 指令類型 | Instruction Count | Clock Cycle Count |
|---|---|---|
| Integer Arithmetic | 60000 | 1 |
| Data Transfer | 35000 | 2 |
| Floating Point | 55000 | 4 |
| Control Transfer | 30000 | 3 |
(一)計算平均的 CPI(Cycles Per Instruction)。
(二)計算 MIPS(Million Instructions Per Second)。
登入後即可作答並保存紀錄。
核心觀念
本題評量計算機架構中「處理器效能衡量指標」(Processor Performance Metrics)之核心計算,出自 John L. Hennessy 與 David A. Patterson 所著《Computer Architecture: A Quantitative Approach》之效能方程式基礎:
- 總指令數(Instruction Count, ):程式所執行的總指令個數。
- 總時脈週期數(Total Clock Cycles, ):執行該程式所需花費的全部時脈週期總和。 其中 代表第 類指令所需的時脈週期數(Clock Cycles per Instruction)。
- 平均每指令週期數(Average Cycles Per Instruction, CPI):
- 百萬指令每秒(Million Instructions Per Second, MIPS):處理器每秒能執行的百萬條指令數。若處理器時脈頻率為 (Clock Rate,單位為 ),程式執行時間為 :
解題方法
基礎數值統計
依題意整理各類指令的指令數()與其執行所需的時脈週期():
- Integer Arithmetic:,
- Data Transfer:,
- Floating Point:,
- Control Transfer:,
1. 計算總指令數(Total Instruction Count, ):
2. 計算總時脈週期數(Total Clock Cycles, ):
第 三 題20 分
一個 Cache(M1)與一個 Memory(M2)的記憶體層級架構中,,,Cache block size 。(每小題 10 分,共 20 分)
(一)使用 Direct Mapping,劃出實體住址格式(Physical address format),指出 Tag、Block、Word 各需要幾個位元。
(二)使用 4-way Set Associate Mapping,劃出實體住址格式(Physical address format),指出 Tag、Set、Word 各需要幾個位元。
登入後即可作答並保存紀錄。
核心觀念
本題評量計算機組織與結構中**快取記憶體(Cache Memory)位址對應架構(Address Mapping)**之核心觀念,涉及實體位址欄位劃分與容量位元轉換。
-
實體位址總位元數(Physical Address Bits): 受主記憶體()總容量與定址單位決定。題目給定主記憶體容量以 Word 為單位,故實體位址係採「Word 定址(Word-addressable)」。
-
區塊內字組位移欄位(Word Offset): 受單一區塊大小(Cache Block Size)決定:
-
直接對應(Direct Mapping)之區塊欄位(Block Index): 直接對應下,每個主記憶體區塊僅能對應至快取中的唯一固定區塊行(Block / Line)。
-
路集合關聯對應(-way Set Associative Mapping)之集合欄位(Set Index): 將快取中的區塊劃分為若干集合(Sets),每個集合包含 個區塊。
-
標籤欄位(Tag): 用於比對快取行中存放之區塊是否為目標位址所屬區塊,由總位址長度扣除索引與位移位元計算取得:
解題方法
步驟一:基本系統參數分析
- 主記憶體()容量: 故實體位址總長度為:
- 快取記憶體()容量:
- 快取區塊大小(Block size): 故 Word 欄位長度為:
- 快取總區塊數(Total Cache Blocks):
(一)Direct Mapping(直接對應)
- 各欄位位元數計算:
- Word:已求得為 。
- Block(或稱 Line Index):快取共 個區塊,故需:
- Tag:
- 實體位址格式圖(Physical Address Format):
+------------------+--------------------+------------------+
| Tag (標籤) | Block (區塊) | Word (字組) |
+------------------+--------------------+------------------+
6 bits 12 bits 3 bits
(總位元數:)
(二)4-way Set Associative Mapping(4 路集合關聯對應)
第 四 題20 分
IEEE-754 浮動點(floating-point)表示。(每小題 10 分,共 20 分)
(一)使用 32 位元的浮動點格式(8-bit exponent,exponent bias ,and base )來表示 。
(二)使用 64 位元的浮動點格式(11-bit exponent,exponent bias ,and base )來表示 。
登入後即可作答並保存紀錄。
核心觀念
IEEE-754 浮動點表示法(Floating-Point Representation)是計算機系統中表示實數的國際標準規範。規格化(Normalized)浮點數的數值計算公式如下:
其中包含三個核心欄位:
- 符號位元(Sign, ):佔 位元。正數為 ,負數為 。
- 偏差指數(Biased Exponent, ):採用超額表記法(Excess- notation)。若實際真值指數為 ,則儲存於欄位中的指數為 。
- 假數/尾數(Fraction / Mantissa, ):規格化數值滿足 ,二進位小數點前的「」為隱含位元(Hidden Bit / Implicit Bit),硬體不儲存此位元,欄位 僅儲存小數點後方的位元。
本題涉及的兩種格式規格比較:
| 格式規格 | 總位元數 | 符號位元 () | 指數位元數 () | 偏差值 () | 尾數位元數 () |
|---|---|---|---|---|---|
| 單倍精確度(Single Precision) | 32 | 1-bit | 8-bit | 127 | 23-bit |
| 雙倍精確度(Double Precision) | 64 | 1-bit | 11-bit | 1023 | 52-bit |
解題方法
(一)使用 32 位元浮動點格式表示
-
步驟 1:判斷符號位元() 數值為負數,故 。
-
步驟 2:將絕對值化為二進位規格化科學記號 可知實際指數 ,有效數為 。
-
步驟 3:計算偏置指數() 題目給定 8-bit exponent 且 : 轉為 8 位元二進位:
-
步驟 4:決定尾數欄位() 有效數為 ,扣除隱含的整數位「」後,小數部分全為 。 尾數需補足 23 位元:
-
步驟 5:組合 32 位元二進位並轉換為十六進位
-
二進位排列():
-
每 4 位元一組對齊:
-
轉為十六進位:
(二)使用 64 位元浮動點格式表示
-
步驟 1:判斷符號位元() 數值為負數,故 。
-
步驟 2:將絕對值化為二進位規格化科學記號 可知實際指數 ,有效數為 。
第 五 題20 分
比較下列計算機系統名詞的差異。(每小題 5 分,共 20 分)
(一)Translation Lookaside Buffer(TLB)vs. Page Table。
(二)Superscalar Architectures vs. Multi-Core Architectures。
(三)Interrupt-Driven I/O vs. Direct Memory Access(DMA)。
(四)FLASH vs. DDR-DRAM。
登入後即可作答並保存紀錄。
核心觀念
本題出自民國 111 年專技高考資訊技師《計算機系統》,核心在於考核計算機系統結構與記憶體/I/O 次系統的核心架構差異與設計折衷(Trade-offs)。各小題涉及之學科定義如下:
- 虛擬記憶體管理(Virtual Memory Management):快取記憶體原理(Caching)、關聯式記憶體(CAM/Associative Memory)與作業系統分頁機制(Paging)之位址轉譯(Address Translation)階層架構。
- 平行架構分類(Parallel Architectures):指令層級平行(Instruction-Level Parallelism, ILP)與執行緒/行程層級平行(Thread/Process-Level Parallelism, TLP)在微架構(Microarchitecture)設計上的分界。
- I/O 控制與資料傳輸(I/O System & Data Transfer):中斷驅動機制(Interrupt Mechanism)之情境切換開銷與直接記憶體存取(Direct Memory Access, DMA)之匯流排主控(Bus Mastering)機制。
- 半導體記憶體技術(Semiconductor Memory Technologies):非揮發性(Non-Volatile)浮閘/電荷捕獲技術與揮發性(Volatile)電容動態電荷儲存技術之物理特性、存取粒度與系統階層定位。
解題方法
申論式名詞比較題(每小題 5 分,共 20 分),閱卷委員重視「精準定義」、「多維度對比(表格化呈現)」與「關鍵運作機制/限制」。解題切入點配置如下:
- 名詞本質定義:以一句話點明各名詞在計算機階層中的角色與物理位置。
- 多面向比較矩陣:建立結構化對照表,從「實作硬體/儲存位置」、「存取延遲/速度」、「管理單位/粒度」、「控制主體/失誤(Miss/Fault)處理機制」等關鍵維度橫向對照。
- 機制延伸說明:提煉核心運作流程與系統效能瓶頸(如 TLB Miss vs. Page Fault、ILP 瓶頸 vs. 多核擴展、ISR 開銷 vs. 區塊傳輸、抹除後寫入限制等),確保拿滿各小題之 5 分採分點。
解題技巧
- 表格先行,文字補強:閱卷者在每題僅能停留數十秒,結構化的 Markdown 比較表能讓給分關鍵字(如 CAM、ILP、ISR、Page-level vs. Byte-addressable)一目了然。
- 抓準「失效/例外處理」的階層差:比較 TLB 與 Page Table 時,務必區分 TLB Miss(走訪頁表) 與 Page Fault(觸發磁碟 I/O),切忌混為一談;比較 I/O 時,務必突出 「每 Byte/Word 介入」 與 「整塊資料僅頭尾介入」 的差異。
- 用詞精準在地化:採用台灣資訊國考標準規範詞彙,如「快取」(非緩存)、「匯流排」(非總線)、「行程/執行緒」(非進程/線程)、「揮發性」(非易失性)、「管線」(非流水線)。
【答案】
(一)Translation Lookaside Buffer(TLB)vs. Page Table
1. 定義與本質
- TLB(轉譯後備緩衝區):位於 CPU 內部記憶體管理單元(MMU)的高速專用快取硬體,採用內容定址記憶體(Content-Addressable Memory, CAM),專門快取最近使用之「虛擬頁號(VPN)至實體框號(PFN)」的轉譯映射,以加速位址轉換。
- Page Table(頁表):常駐於主記憶體(DRAM)中由作業系統維護的資料結構,提供整個虛擬位址空間至實體記憶體空間之完整、具權威性的對應關係表。
2. 核心差異比較表
| 比較維度 | Translation Lookaside Buffer(TLB) | Page Table(頁表) |
|---|---|---|
| 實作與儲存位置 | 晶片內(On-chip)MMU 高速硬體快取(SRAM/CAM) | 主記憶體(Main Memory / DRAM)的作業系統資料結構 |
| 容量大小 | 極小(通常為 64 至 1024 筆 Entries) | 龐大(涵蓋行程之完整虛擬位址映射,可採多層頁表) |
| 存取延遲 | 單一 CPU 週期(時脈級,約 ) | 慢(至少需一次或多次記憶體存取,約數十至數百 ) |
| 查詢方式 | 全關聯式(Fully Associative)或組相聯並行比對 | 透過頁表基底暫存器(PTBR)進行索引(Index)定址 |
| 未命中(Miss)之後續處理 | TLB Miss:由硬體或 OS 走訪頁表(Page Table Walk)填補 | Page Fault:觸發中斷,由 OS 從次級儲存體將資料置換入記憶體 |
(二)Superscalar Architectures vs. Multi-Core Architectures
1. 定義與本質
- Superscalar Architectures(超純量架構):在「單一處理器核心」內部配置多個執行單元(ALU、FPU、Load/Store 單元),在單一時脈週期內發射(Issue)並執行多條獨立指令,旨在開掘指令層級平行度(Instruction-Level Parallelism, ILP)。