111 專技高考高等考試 資訊技師 計算機系統 考古題詳解

111 年・專技高考・高等考試・資訊技師
試題代碼 計算機系統

第 一 題20 分

使用 OP code 與只有一個 Operand 的指令寫出下列的數學方程式。可以使用的 OP Code 為 LOAD、MOVE、STOR、ADD、SUB、MUL、DIV。

X=A−BC+D×EX=\frac{A-B}{C+D\times E}

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題評量計算機組織中單一運算元架構(One-Address Architecture,又稱累加器架構,Accumulator-based Architecture)之組合語言指令編寫與運算式求值排程。

  1. 累加器(Accumulator, AC)的隱含性: 單一運算元指令的格式為 OPCODE M(MM 為記憶體位址或變數名稱)。CPU 內建一個專用暫存器——累加器(ACAC),作為所有運算指令的隱含來源運算元與目的運算元:
  • 載入與回存:LOAD M 代表 AC←MAC \leftarrow M;STOR M 代表 M←ACM \leftarrow AC。
  • 算術運算:ADD M 代表 AC←AC+MAC \leftarrow AC + M;SUB M 代表 AC←AC−MAC \leftarrow AC - M;MUL M 代表 AC←AC×MAC \leftarrow AC \times M;DIV M 代表 AC←AC÷MAC \leftarrow AC \div M。
  1. 算術不對稱性與求值順序: 除法運算指令 DIV M 的語意固定為 AC←AC÷MAC \leftarrow AC \div M(即以 ACAC 為被除數、MM 為除數),不具備交換律。因此,在執行 DIV 指令的當下,ACAC 內部必須放置分子(被除數),而**分母(除數)**必須預先計算完畢並儲存於某個記憶體暫存變數 TT 中。

解題方法

目標數學方程式為: X=A−BC+D×EX = \frac{A - B}{C + D \times E}

為求以最少指令數與最少暫存空間完成運算,求值策略分為兩大階段:

步驟一:先計算分母並存入暫存空間

分母為 C+D×EC + D \times E。依據四則運算優先權,乘法優先於加法:

  1. 載入變數 DD 至累加器:AC←DAC \leftarrow D
  2. 與變數 EE 相乘:AC←AC×E=D×EAC \leftarrow AC \times E = D \times E
  3. 與變數 CC 相加:AC←AC+C=C+D×EAC \leftarrow AC + C = C + D \times E
  4. 將分母計算結果儲存至暫存記憶體變數 TT:T←ACT \leftarrow AC

步驟二:再計算分子並執行除法

分子為 A−BA - B: 5. 載入變數 AA 至累加器:AC←AAC \leftarrow A 6. 減去變數 BB:AC←AC−B=A−BAC \leftarrow AC - B = A - B 7. 除以暫存變數 TT(分母):AC←AC÷T=A−BC+D×EAC \leftarrow AC \div T = \frac{A - B}{C + D \times E} 8. 將最終結果存入變數 XX:X←ACX \leftarrow AC


選項分析(指令語意與 OP Code 適用性分析)

本題為非選擇題,題目提供了候選 OP Code 清單(LOAD、MOVE、STOR、ADD、SUB、MUL、DIV)。針對各指令在單一運算元架構下的角色分析如下:

  • LOAD 與 STOR(必要使用): 在典型單一運算元(累加器)架構中,記憶體與 ACAC 之間的資料傳遞完全由 LOAD(Memory →\rightarrow ACAC)與 STOR(
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 二 題20 分

一個 2 GHz2\ \mathrm{GHz} 的處理器用來執行下列的指令組合,其統計如下。(每小題 10 分,共 20 分)

指令類型Instruction CountClock Cycle Count
Integer Arithmetic600001
Data Transfer350002
Floating Point550004
Control Transfer300003

(一)計算平均的 CPI(Cycles Per Instruction)。

(二)計算 MIPS(Million Instructions Per Second)。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題評量計算機架構中「處理器效能衡量指標」(Processor Performance Metrics)之核心計算,出自 John L. Hennessy 與 David A. Patterson 所著《Computer Architecture: A Quantitative Approach》之效能方程式基礎:

  1. 總指令數(Instruction Count, ICIC):程式所執行的總指令個數。 IC=∑i=1nICiIC = \sum_{i=1}^{n} IC_i
  2. 總時脈週期數(Total Clock Cycles, CCCC):執行該程式所需花費的全部時脈週期總和。 CC=∑i=1n(ICi×CPIi)CC = \sum_{i=1}^{n} (IC_i \times \text{CPI}_i) 其中 CPIi\text{CPI}_i 代表第 ii 類指令所需的時脈週期數(Clock Cycles per Instruction)。
  3. 平均每指令週期數(Average Cycles Per Instruction, CPI): CPI=Total Clock CyclesTotal Instruction Count=∑i=1n(ICi×CPIi)∑i=1nICi\text{CPI} = \frac{\text{Total Clock Cycles}}{\text{Total Instruction Count}} = \frac{\sum_{i=1}^{n} (IC_i \times \text{CPI}_i)}{\sum_{i=1}^{n} IC_i}
  4. 百萬指令每秒(Million Instructions Per Second, MIPS):處理器每秒能執行的百萬條指令數。若處理器時脈頻率為 ff(Clock Rate,單位為 Hz\mathrm{Hz}),程式執行時間為 TCPUT_{\text{CPU}}: MIPS=ICTCPU×106=fCPI×106\text{MIPS} = \frac{IC}{T_{\text{CPU}} \times 10^6} = \frac{f}{\text{CPI} \times 10^6}

解題方法

基礎數值統計

依題意整理各類指令的指令數(ICiIC_i)與其執行所需的時脈週期(CPIi\text{CPI}_i):

  • Integer Arithmetic:IC1=60000IC_1 = 60000,CPI1=1\text{CPI}_1 = 1
  • Data Transfer:IC2=35000IC_2 = 35000,CPI2=2\text{CPI}_2 = 2
  • Floating Point:IC3=55000IC_3 = 55000,CPI3=4\text{CPI}_3 = 4
  • Control Transfer:IC4=30000IC_4 = 30000,CPI4=3\text{CPI}_4 = 3

1. 計算總指令數(Total Instruction Count, ICIC): IC=60000+35000+55000+30000=180000 條指令IC = 60000 + 35000 + 55000 + 30000 = 180000\ \text{條指令}

2. 計算總時脈週期數(Total Clock Cycles, CCCC): CC=(60000×1)+(35000×2)+(55000×4)+(30000×3)CC = (60000 \times 1) + (35000 \times 2) + (55000 \times 4) + (30000 \times 3) CC=60000+70000+220000+90000=440000 個週期CC = 60000 + 70000 + 220000 + 90000 = 440000\ \text{個週期}


🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 三 題20 分

一個 Cache(M1)與一個 Memory(M2)的記憶體層級架構中,M1=32 K wordsM1=32\ \mathrm{K\ words},M2=2 M wordsM2=2\ \mathrm{M\ words},Cache block size =8 words=8\ \mathrm{words}。(每小題 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)**之核心觀念,涉及實體位址欄位劃分與容量位元轉換。

  1. 實體位址總位元數(Physical Address Bits): 受主記憶體(M2M2)總容量與定址單位決定。題目給定主記憶體容量以 Word 為單位,故實體位址係採「Word 定址(Word-addressable)」。 Physical Address Bits=log⁡2(Main Memory Capacity in words)\text{Physical Address Bits} = \log_2(\text{Main Memory Capacity in words})

  2. 區塊內字組位移欄位(Word Offset): 受單一區塊大小(Cache Block Size)決定: Word Bits=log⁡2(Block Size in words)\text{Word Bits} = \log_2(\text{Block Size in words})

  3. 直接對應(Direct Mapping)之區塊欄位(Block Index): 直接對應下,每個主記憶體區塊僅能對應至快取中的唯一固定區塊行(Block / Line)。 Total Cache Blocks=Cache CapacityBlock Size\text{Total Cache Blocks} = \frac{\text{Cache Capacity}}{\text{Block Size}} Block Bits=log⁡2(Total Cache Blocks)\text{Block Bits} = \log_2(\text{Total Cache Blocks})

  4. KK 路集合關聯對應(KK-way Set Associative Mapping)之集合欄位(Set Index): 將快取中的區塊劃分為若干集合(Sets),每個集合包含 KK 個區塊。 Total Sets=Total Cache BlocksK\text{Total Sets} = \frac{\text{Total Cache Blocks}}{K} Set Bits=log⁡2(Total Sets)\text{Set Bits} = \log_2(\text{Total Sets})

  5. 標籤欄位(Tag): 用於比對快取行中存放之區塊是否為目標位址所屬區塊,由總位址長度扣除索引與位移位元計算取得: Tag Bits=Physical Address Bits−Index Bits−Word Bits\text{Tag Bits} = \text{Physical Address Bits} - \text{Index Bits} - \text{Word Bits}


解題方法

步驟一:基本系統參數分析

  • 主記憶體(M2M2)容量:2 M words=2×220 words=221 words2\ \mathrm{M\ words} = 2 \times 2^{20}\ \mathrm{words} = 2^{21}\ \mathrm{words} 故實體位址總長度為: log⁡2(221)=21 bits\log_2(2^{21}) = 21\ \text{bits}
  • 快取記憶體(M1M1)容量:32 K words=32×210 words=215 words32\ \mathrm{K\ words} = 32 \times 2^{10}\ \mathrm{words} = 2^{15}\ \mathrm{words}
  • 快取區塊大小(Block size):8 words=23 words8\ \mathrm{words} = 2^3\ \mathrm{words} 故 Word 欄位長度為: log⁡2(23)=3 bits\log_2(2^3) = 3\ \text{bits}
  • 快取總區塊數(Total Cache Blocks): M1Block size=215 words23 words/block=212 blocks=4096 個區塊\frac{M1}{\text{Block size}} = \frac{2^{15}\ \mathrm{words}}{2^3\ \mathrm{words/block}} = 2^{12}\ \text{blocks} = 4096\ \text{個區塊}

(一)Direct Mapping(直接對應)

  1. 各欄位位元數計算:
  • Word:已求得為 3 bits3\ \text{bits}。
  • Block(或稱 Line Index):快取共 2122^{12} 個區塊,故需: log⁡2(212)=12 bits\log_2(2^{12}) = 12\ \text{bits}
  • Tag: Tag=21−12−3=6 bits\text{Tag} = 21 - 12 - 3 = 6\ \text{bits}
  1. 實體位址格式圖(Physical Address Format):
+------------------+--------------------+------------------+
| Tag (標籤) | Block (區塊) | Word (字組) |
+------------------+--------------------+------------------+
 6 bits 12 bits 3 bits

(總位元數:6+12+3=21 bits6 + 12 + 3 = 21\ \text{bits})


(二)4-way Set Associative Mapping(4 路集合關聯對應)

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 四 題20 分

IEEE-754 浮動點(floating-point)表示。(每小題 10 分,共 20 分)

(一)使用 32 位元的浮動點格式(8-bit exponent,exponent bias =127=127,and base =2=2)來表示 −1/64-1/64。

(二)使用 64 位元的浮動點格式(11-bit exponent,exponent bias =1023=1023,and base =2=2)來表示 −1/32-1/32。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

IEEE-754 浮動點表示法(Floating-Point Representation)是計算機系統中表示實數的國際標準規範。規格化(Normalized)浮點數的數值計算公式如下:

V=(−1)S×(1+M)×2E−biasV = (-1)^S \times (1 + M) \times 2^{E - \text{bias}}

其中包含三個核心欄位:

  1. 符號位元(Sign, SS):佔 11 位元。正數為 00,負數為 11。
  2. 偏差指數(Biased Exponent, EE):採用超額表記法(Excess-KK notation)。若實際真值指數為 ee,則儲存於欄位中的指數為 E=e+biasE = e + \text{bias}。
  3. 假數/尾數(Fraction / Mantissa, MM):規格化數值滿足 1.02≤有效數<2.021.0_2 \le \text{有效數} < 2.0_2,二進位小數點前的「11」為隱含位元(Hidden Bit / Implicit Bit),硬體不儲存此位元,欄位 MM 僅儲存小數點後方的位元。

本題涉及的兩種格式規格比較:

格式規格總位元數符號位元 (SS)指數位元數 (EE)偏差值 (bias\text{bias})尾數位元數 (MM)
單倍精確度(Single Precision)321-bit8-bit12723-bit
雙倍精確度(Double Precision)641-bit11-bit102352-bit

解題方法

(一)使用 32 位元浮動點格式表示 −1/64-1/64

  • 步驟 1:判斷符號位元(SS) 數值為負數,故 S=12S = 1_2。

  • 步驟 2:將絕對值化為二進位規格化科學記號 164=126=2−6=1.02×2−6\frac{1}{64} = \frac{1}{2^6} = 2^{-6} = 1.0_2 \times 2^{-6} 可知實際指數 e=−6e = -6,有效數為 1.021.0_2。

  • 步驟 3:計算偏置指數(EE) 題目給定 8-bit exponent 且 bias=127\text{bias} = 127: E=e+bias=−6+127=12110E = e + \text{bias} = -6 + 127 = 121_{10} 轉為 8 位元二進位: 12110=64+32+16+8+1=011110012121_{10} = 64 + 32 + 16 + 8 + 1 = 01111001_2

  • 步驟 4:決定尾數欄位(MM) 有效數為 1.021.0_2,扣除隱含的整數位「11」後,小數部分全為 00。 尾數需補足 23 位元: M=00000000000000000000000⏟23 個 0M = \underbrace{00000000000000000000000}_{23\text{ 個 }0}

  • 步驟 5:組合 32 位元二進位並轉換為十六進位

  • 二進位排列(S∣E∣MS \mid E \mid M): 1011110010000000000000000000000021 \quad 01111001 \quad 00000000000000000000000_2

  • 每 4 位元一組對齊: 1011110010000000000000000000000021011 \quad 1100 \quad 1000 \quad 0000 \quad 0000 \quad 0000 \quad 0000 \quad 0000_2

  • 轉為十六進位: BC80000016(或 0xBC800000)\text{BC800000}_{16} \quad (\text{或 } 0\text{xBC800000})


(二)使用 64 位元浮動點格式表示 −1/32-1/32

  • 步驟 1:判斷符號位元(SS) 數值為負數,故 S=12S = 1_2。

  • 步驟 2:將絕對值化為二進位規格化科學記號 132=125=2−5=1.02×2−5\frac{1}{32} = \frac{1}{2^5} = 2^{-5} = 1.0_2 \times 2^{-5} 可知實際指數 e=−5e = -5,有效數為 1.021.0_2。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 五 題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)。各小題涉及之學科定義如下:

  1. 虛擬記憶體管理(Virtual Memory Management):快取記憶體原理(Caching)、關聯式記憶體(CAM/Associative Memory)與作業系統分頁機制(Paging)之位址轉譯(Address Translation)階層架構。
  2. 平行架構分類(Parallel Architectures):指令層級平行(Instruction-Level Parallelism, ILP)與執行緒/行程層級平行(Thread/Process-Level Parallelism, TLP)在微架構(Microarchitecture)設計上的分界。
  3. I/O 控制與資料傳輸(I/O System & Data Transfer):中斷驅動機制(Interrupt Mechanism)之情境切換開銷與直接記憶體存取(Direct Memory Access, DMA)之匯流排主控(Bus Mastering)機制。
  4. 半導體記憶體技術(Semiconductor Memory Technologies):非揮發性(Non-Volatile)浮閘/電荷捕獲技術與揮發性(Volatile)電容動態電荷儲存技術之物理特性、存取粒度與系統階層定位。

解題方法

申論式名詞比較題(每小題 5 分,共 20 分),閱卷委員重視「精準定義」、「多維度對比(表格化呈現)」與「關鍵運作機制/限制」。解題切入點配置如下:

  1. 名詞本質定義:以一句話點明各名詞在計算機階層中的角色與物理位置。
  2. 多面向比較矩陣:建立結構化對照表,從「實作硬體/儲存位置」、「存取延遲/速度」、「管理單位/粒度」、「控制主體/失誤(Miss/Fault)處理機制」等關鍵維度橫向對照。
  3. 機制延伸說明:提煉核心運作流程與系統效能瓶頸(如 TLB Miss vs. Page Fault、ILP 瓶頸 vs. 多核擴展、ISR 開銷 vs. 區塊傳輸、抹除後寫入限制等),確保拿滿各小題之 5 分採分點。

解題技巧

  1. 表格先行,文字補強:閱卷者在每題僅能停留數十秒,結構化的 Markdown 比較表能讓給分關鍵字(如 CAM、ILP、ISR、Page-level vs. Byte-addressable)一目了然。
  2. 抓準「失效/例外處理」的階層差:比較 TLB 與 Page Table 時,務必區分 TLB Miss(走訪頁表) 與 Page Fault(觸發磁碟 I/O),切忌混為一談;比較 I/O 時,務必突出 「每 Byte/Word 介入」 與 「整塊資料僅頭尾介入」 的差異。
  3. 用詞精準在地化:採用台灣資訊國考標準規範詞彙,如「快取」(非緩存)、「匯流排」(非總線)、「行程/執行緒」(非進程/線程)、「揮發性」(非易失性)、「管線」(非流水線)。

【答案】

(一)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 週期(時脈級,約 <1 ns< 1\text{ ns})慢(至少需一次或多次記憶體存取,約數十至數百 ns\text{ns})
查詢方式全關聯式(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)。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

其他考古題