113 專利師高等考試 專利師(選試專業英文及計算機結構) 計算機結構 考古題詳解

113 年・專利師・高等考試・專利師(選試專業英文及計算機結構)
試題代碼 計算機結構

第 一 題25 分

在計算機結構中,2 對 1 多工器(2-to-1 Multiplexer)是一個常用的電路。

考慮一個 2 對 1 多工器 Y=Mult⁡(A,B,S)Y=\operatorname{Mult}(A,B,S),就是在兩個輸入訊號 AA 或 BB 當中選取其中一個來當作輸出訊號 YY,選取的原則由一控制訊號 SS 來決定。如果 S=1S=1,則 Y=AY=A;如果 S=0S=0,則 Y=BY=B。請回答下列有關多工器的問題。

(一) 請畫出 AA、BB、SS、YY 四個訊號的真值表(Truth Table)。(8 分)

(二) 請利用 AND、OR 與 NOT 邏輯運算元(logic operator)來表示 YY 與 AA、BB、SS 的關係。(8 分)

(三) 考慮一個 4 對 1 多工器 Z=Mult4⁡(A,B,C,D,S,T)Z=\operatorname{Mult4}(A,B,C,D,S,T),其中:

當 S=0S=0、T=0T=0 時,Z=AZ=A;

當 S=1S=1、T=0T=0 時,Z=BZ=B;

當 S=0S=0、T=1T=1 時,Z=CZ=C;

當 S=1S=1、T=1T=1 時,Z=DZ=D。

請利用 AND、OR 與 NOT 邏輯運算元,來表示 ZZ 與 AA、BB、CC、DD、SS、TT 的關係。(9 分)

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

這一題的完整詳解

核心觀念

多工器(Multiplexer,MUX)依控制訊號選擇一個資料輸入,並將選中的訊號送至輸出。2 對 1 多工器的控制訊號為 SS:S=1S=1 時選 AA,S=0S=0 時選 BB。

以 AND、OR 與 NOT 表示時,可將各輸入視為一個「選擇條件成立時才通過」的項,再以 OR 合併。

解題方法

(一)真值表

依題目定義,S=1S=1 時輸出 AA,S=0S=0 時輸出 BB。因此對 AA、BB 的四種組合分別列出輸出:

AABBSSYY
0000
0101
1000
1101
0010
0110
1011
1111

(二)2 對 1 多工器的邏輯式

AA 被選中的條件是 S=1S=1,對應選擇項 ASAS;BB 被選中的條件是 S=0S=0,對應選擇項 BS‾B\overline{S}。將兩項以 OR 合併:

Y=AS+BS‾Y=AS+B\overline{S}

其中乘積表示 AND、加號表示 OR、S‾\overline{S} 表示 NOT SS。

🔒

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

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

免費註冊

第 二 題25 分

AI 伺服器的運算能力常以 FLOPs 來表示其運算的效能。

(一) 請解釋 FLOPs。(9 分)

(二) 請解釋 FP32。(8 分)

(三) 請解釋 FP64。(8 分)

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

這一題的完整詳解

核心觀念

本題考查浮點運算效能的表示方式,以及單精度與雙精度浮點數的精度和儲存格式。作答時須區分「每秒浮點運算次數」與「浮點數的位元格式」:FLOPS 描述運算速率;FP32、FP64 描述浮點數的精度格式。

(一)FLOPs

FLOPs 是 floating-point operations per second 的縮寫,意指「每秒浮點運算次數」,用來表示處理器或系統執行浮點加、減、乘、除等運算的速率。常見單位包括:

  • 1 KFLOPS=103 FLOPS1\ \mathrm{KFLOPS}=10^3\ \mathrm{FLOPS}
  • 1 MFLOPS=106 FLOPS1\ \mathrm{MFLOPS}=10^6\ \mathrm{FLOPS}
  • 1 GFLOPS=109 FLOPS1\ \mathrm{GFLOPS}=10^9\ \mathrm{FLOPS}
  • 1 TFLOPS=1012 FLOPS1\ \mathrm{TFLOPS}=10^{12}\ \mathrm{FLOPS}
  • 1 PFLOPS=1015 FLOPS1\ \mathrm{PFLOPS}=10^{15}\ \mathrm{FLOPS}

例如,若系統每秒可完成 101210^{12} 次浮點運算,其效能可表示為 1 TFLOPS1\ \mathrm{TFLOPS}。實際效能會受處理器架構、指令種類、資料精度、記憶體頻寬及工作負載影響,因此 FLOPS 是運算吞吐量指標,不代表所有程式都能達到標示的峰值效能。

(二)FP32

FP32 是 32 位元浮點數格式,通常稱為單精度(single precision)。依 IEEE 754 二進位單精度格式,32 位元分為:

欄位位元數功能
符號位元1表示正數或負數
指數欄位8表示數值的尺度,採偏移值 127
尾數欄位23表示有效數字部分

一般正規化數的形式為:

(−1)s×1.f×2e−127(-1)^s \times 1.f \times 2^{e-127}

其中 ss 是符號位元、ee 是儲存的指數值、ff 是尾數欄位。正規化數具有隱含的前導 11,故有效精度約為 24 個二進位有效位元,約相當於 7 位十進位有效數字。其表示範圍與精度低於 FP64,但每個數值只占 4 位元組,通常較節省記憶體並有利於較高的運算吞吐量。

(三)FP64

🔒

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

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

免費註冊

第 三 題25 分

考慮以下計算機,其所執行之程式有四種指令,每種指令之特性如下表的各欄位所示。其中 NC 表示「不需計入考量」。在本題中,計算效能(throughput)定義為每秒可執行的指令數。

指令在程式占有之比重擷取時間解碼時間ALU 執行時間記憶體儲存時間結果寫入(WB)時間
Load25%2 ns2 nsNC2 ns2 ns
Store20%2 ns2 ns2 ns2 nsNC
Arithmetic30%2 nsNC2 nsNC2 ns
Branch25%2 nsNCNCNCNC

(一) 如果該電腦以 single-cycle processor 實現,請問 throughput 是多少?(8 分)

(二) 如果該電腦以 multi-cycle processor 實現,請問 throughput 是多少?(8 分)

(三) 如果該電腦以 5-stage pipelined processor 實現,假設沒有任何資料錯置或是結構錯置的發生,也不計中斷時間,請問 throughput 是多少?(9 分)

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

這一題的完整詳解

核心觀念

本題比較三種處理器設計的指令吞吐量。吞吐量定義為每秒可完成的指令數,須先求出平均每條指令所需的時間,再取其倒數:

Throughput=1平均每條指令的執行時間\text{Throughput}=\frac{1}{\text{平均每條指令的執行時間}}

其中,single-cycle processor 的每條指令都占用一個固定週期;multi-cycle processor 的指令則依各自需要的階段數執行;5-stage pipelined processor 在理想狀況下,每個時脈週期可完成一條指令。

表中的 NC 表示該指令不使用該階段,不應將該階段時間計入該指令的實際需求。

(一)Single-cycle processor

Single-cycle processor 必須讓最慢的指令也能在一個週期內完成,因此時脈週期取所有指令所需時間的最大值。各指令時間為:

  • Load:2+2+2+2=8 ns2+2+2+2=8\text{ ns}
  • Store:2+2+2+2=8 ns2+2+2+2=8\text{ ns}
  • Arithmetic:2+2+2=6 ns2+2+2=6\text{ ns}
  • Branch:2 ns2\text{ ns}

因此,single-cycle 時脈週期為 8 ns8\text{ ns}。每條指令都占用 8 ns8\text{ ns},不受指令比例影響:

Throughput=18 ns=125×106 instructions/s\text{Throughput} =\frac{1}{8\text{ ns}} =125\times10^6\text{ instructions/s}

(二)Multi-cycle processor

Multi-cycle processor 可依指令實際使用的階段數執行。此處各階段時間均為 2 ns2\text{ ns},所以各指令的執行時間為:

  • Load:44 個階段,8 ns8\text{ ns}
  • Store:44 個階段,8 ns8\text{ ns}
  • Arithmetic:33 個階段,6 ns6\text{ ns}
  • Branch:11 個階段,2 ns2\text{ ns}
🔒

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

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

免費註冊

第 四 題25 分

總工作量(Work)的定義就是處理器花在某個程式上的時間總和(不包含待命時間)。而工作深度(Depth)就是根據計算的相依性,找出相依性最長的那件工作。如下圖所示:

【原卷圖示:將 16 個數加總之計算相依性圖,請參考原卷。】

本圖所示之例子,一個程式的工作是將 16 個數加總起來,如果我們把所有運算步驟的相依性繪製成一個圖,那麼 Depth 是 4,而 Work 是 15。

現今考慮一個程式的工作是將 NN 個數加總起來的時候:

(一) 請建立 Work 與 NN 的關係式。(12 分)

(二) 請建立 Depth 與 NN 的關係式。(13 分)

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。

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

這一題的完整詳解

核心觀念

本題考平行計算的總工作量(Work)與工作深度(Depth)。Work 是完成程式所需的運算總數;Depth 是相依性最長的運算鏈,也就是以平行方式執行時,至少需要的運算層數。

依題圖,每次加法將兩個數或兩個部分和合併,且同一層中彼此沒有相依性的加法可以平行執行。

解題方法

(一)Work 與 NN 的關係

初始有 NN 個數,每做一次加法,就將待合併的數或部分和減少一個。從 NN 個數合併成一個總和,必須減少 N−1N-1 次,因此:

Work(N)=N−1\mathrm{Work}(N)=N-1

題圖中 N=16N=16,故 Work 為 16−1=1516-1=15,與圖示相符。

(二)Depth 與 NN 的關係

每一層加法最多將已合併的數量加倍。因此,經過 dd 層,最多可合併 2d2^d 個原始數。要涵蓋 NN 個數,須滿足:

2d≥N2^d\geq N

取能滿足條件的最小整數層數,得到:

🔒

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

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

免費註冊

其他考古題

專利師(選試專業英文及計算機結構)《計算機結構》其他年度

113 年專利師高等考試・其他類科的《計算機結構》