108 關務特考四等 資訊處理 計算機概要 考古題詳解
第 1 題2 分
使用管道化處理技術(pipelining)的處理器,處理器在取得某個指令後,可能需要根據另一指令的結果來決定此指令是否需要被完成。當發生這樣的情況時,下列何者不是可行的解決辦法?
核心觀念
本題測驗計算機結構中指令管線化(Instruction Pipelining)技術的控制危障(Control Hazard,又稱分支危障 Branch Hazard)及其因應策略。
當管線處理器擷取到條件分支或跳躍指令時,下一個指令是否應該被執行,取決於前一個指令的運算結果(例如比較旗標)。在管線尚未計算出分支結果與目標位址前,處理器無法確定下一個正確的指令位址,此即為控制危障。經典計算機架構理論中,解決控制危障的可行策略主要有:
- 管線停滯(Pipeline Stall / Freeze)
- 分支預測(Branch Prediction)
- 延遲分支/延遲判斷(Delayed Branch / Delayed Decision)
解題方法
- 判別題意描述的危障類型:題幹提及「取得某個指令後,可能需要根據另一指令的結果來決定此指令是否需要被完成」,明確指出指令間存在控制流程相依性,屬於典型的控制危障。
- 檢視控制危障的解決機制:
- 硬體等待條件出爐:採用停滯(Stall),插入氣泡(Bubble)。
- 硬體/軟體猜測結果先行執行:採用預測(Predict),猜對繼續、猜錯清空管線(Flush)。
- 編譯器排程重整:採用延遲判斷(Delayed Decision / Delayed Branch),利用分支延遲槽(Branch Delay Slot)填入永遠需要執行的有效指令。
- 比對選項:「跳躍(Jump)」本身是一種改變程式計數器()的指令型態,是引發控制流程改變的成因之一,並非化解管線控制相依問題的「架構處理手段」。
選項分析
- (A) 停滯(stall):可行辦法。 這是最基礎且保守的硬體解決方案。當管線偵測到分支指令時,硬體暫停後續指令的推進,並在管線中插入空操作週期(Bubble),直到該分支指令在執行階段(EX)或記憶體存取階段(MEM)計算出條件判斷與目標位址後,才恢復擷取正確路徑的指令。
第 2 題2 分
有關近代電腦架構由單處理器發展至多處理器(multiprocessor)的動機,下列何者錯誤?
核心觀念
本題考查計算機組織與架構中「單處理器走向多處理器(Multiprocessor / Multi-core)」的發展背景與關鍵瓶頸:
- 功耗牆(Power Wall):動態功耗公式為 (其中 為電容負載、 為供電電壓、 為時脈頻率)。由於時脈提升伴隨電壓上升,使功耗與發熱量呈三次方式急遽暴增,晶片散熱達到物理極限,無法再單純依賴拉高時脈來提升單核心效能。
- 並行與執行緒限制(Concurrency vs. Single Thread):多處理器是透過「平行處理(Parallelism)」來提升多任務或平行程式的整體吞吐量(Throughput)。單一執行緒(Single Thread)是循序執行的指令序列,受限於資料相依性,無法跨多個處理器核心同時執行,因此多處理器無法加速純單執行緒工作(此現象亦受阿姆達爾定律 Amdahl's Law 規範)。
- 能源效益(Energy Efficiency):透過負載平衡與動態電壓頻率調整(DVFS),多核心低頻運作比單核心超高頻運作更省電。
解題方法
本題要求選出錯誤的敘述,解題切入點在於區分「單執行緒(Single Thread)」與「多處理器平行處理能力」的本質限制:
- 處理器架構由單核心走向多核心,主要目的是「提高系統整體的並行運算能力與吞吐量」,並解決「功耗與散熱」問題。
- 多處理器架構的硬體資源必須依賴「多執行緒(Multithreading)」、「多行程(Multiprocessing)」或具平行特質的軟體配合才能發揮效益;面對完全循序(Sequential)的單執行緒工作,多處理器無法將其拆解加速。據此逐一檢視各選項之正確性。
選項分析
- (A) 正確(非所選): 受限於「功耗牆(Power Wall)」與散熱能力(Thermal Dissipation Limit),當單晶片時脈超過約 3 GHz 至 4 GHz 時,漏電流與晶片表面發熱量過高(甚至接近核子反應爐表面的
第 3 題2 分
在單一處理器中執行一個程式,其執行時間有 是循序的、 是可以用多核心平行處理。若欲以多個同樣的處理器加速執行,將總執行時間減至原本的一半,根據阿姆達爾定律(Amdahl's law)至少需要使用幾個處理器?
核心觀念
本題測驗計算機結構中的核心效能評估法則——阿姆達爾定律(Amdahl's law)。
阿姆達爾定律指出:在多處理器系統中,程式加速的上限受到「無法平行化的循序執行部分(Sequential Fraction)」所限制。
- 設單一處理器的原始執行時間為 (通常設為 或 )。
- 無法平行的循序比例為 ()。
- 可完全平行的比例為 ()。
- 使用 個處理器時的總執行時間 為:
- 整體加速比(Speedup, )定義為原始時間與平行化後時間之比值:
解題方法
- 提取已知條件:
- 循序執行比例
- 平行執行比例
- 目標執行時間 (即目標加速比 )
- 列出不等式並推導: 依阿姆達爾定律,代入執行時間公式:
兩邊同除以 :
移項化簡:
兩邊同乘以 並除以 :
因此,至少需要使用 個處理器,才能將總執行時間縮減至原本的一半。
選項分析
第 4 題2 分
假設有一計算機每秒可執行 個指令,則執行一個指令平均需花多少時間?
核心觀念
本題測驗計算機硬體效能評估中的指令執行速度與時間之關係,以及時間單位的級數換算:
- 執行時間與速率的倒數關係: 若計算機每秒可執行的指令數為 (Instructions Per Second, IPS),則平均執行單一指令所需的時間 為執行速率的倒數:
- 國際單位制(SI)時間輔助字首換算:
- 毫秒():
- 微秒():
- 奈秒():
- 皮秒():
解題方法
- 列出已知條件:
- 每秒執行指令數 (個/秒)。
-
計算平均執行一個指令所需時間:
-
換算對應單位: 因為 ,故: (若換算成奈秒則為 )。
比對選項,可知答案為 (C)。
選項分析
- (A) 錯誤: 。若執行一個指令需花費 ,則每秒可執行的指令數為 個指令()。此選項常為計算 時小數點位數移位錯誤所致。
第 5 題2 分
程式中有一個一維的整數陣列 ,陣列中的每個元素皆為 個位元組。如果該陣列存放在連續的記憶體空間中,若 的記憶體位址為 ,則 的位址為下列何者?
核心觀念
本題評量一維陣列在連續記憶體中的定址計算(Memory Addressing of 1D Array)。
一維陣列的元素在記憶體中依序以連續空間存放。若已知陣列中某一元素 的記憶體位址 ,且每個元素佔用 個位元組(Bytes),則另一元素 的位址可直接由兩者的「相對索引差」推導:
- 相對定址特性:本題不需推算陣列的起始基底位址(Base Address),亦無需理會陣列為 0-based 或 1-based,只需利用兩元素之間的距離倍數即可精確求解。
解題方法
- 整理題目已知條件:
- 每個元素大小:
- 已知元素位址:
- 欲求元素位址:
- 計算兩元素間的索引差與位移量(Offset):
- 兩元素的索引差為:
- 所需跨越的記憶體位移總位元組數為:
- 計算 的記憶體位址:
- 由於索引 , 存放於 之前(較低之位址處),故應採「向後遞減」計算:
第 6 題2 分
有關於一般硬碟機的敘述,下列何者錯誤?
核心觀念
本題考查傳統機械式硬碟機(Hard Disk Drive, HDD)的實體結構與幾何組織、磁碟存取效能指標以及儲存媒體的物理特性:
- 硬碟實體幾何層級:磁碟片(Platter)表面由同心的同心圓軌跡「磁軌(Track)」組成;每條磁軌被等角度或等密度劃分為若干弧形資料區段,稱為「磁區(Sector)」,磁區為磁碟機最小的實體定址單位。
- 定位時間(Positioning Time):硬碟存取資料前,讀寫頭移至指定磁區所需的時間,公式為:
- 資料保存性(Volatility):依斷電後資料是否留存,分為揮發性(Volatile,如 SRAM、DRAM)與非揮發性(Non-volatile,如 HDD、SSD、ROM)。
解題方法
以「硬碟幾何組織之包含關係」作為快速切入點:
- 盤面上的軌跡是一整圈同心圓(磁軌,Track),圓周上的分段小區塊才是扇形區段(磁區,Sector)。
- 因此在包含關係上,必然是一個磁軌包含多個磁區(A track contains multiple sectors),選項 (B) 倒果為因,屬於明顯的常識性敘述錯誤。
選項分析
- (A) 正確:讀寫頭(Read/Write Head)安裝於磁頭懸臂(Actuator Arm)前端,由音圈馬達(Voice Coil Motor, VCM)驅動做半徑方向的徑向往復運動,可在盤面上不同半徑位置的磁軌(Tracks)之間切換移動。
第 7 題2 分
有關全關聯式(fully associative)的快取記憶體(cache),下列敘述何者錯誤?
核心觀念
本題主要測驗計算機組織中「快取記憶體映射技術(Cache Mapping Techniques)」之分類、運作機制及其硬體實現之限制:
- 三種快取映射策略:
- 直接映射(Direct-Mapped Cache):每個主記憶體區塊只能對應到一個固定的快取區塊(位置由模數運算固定,即 )。硬體最簡單、速度最快,但衝突失誤(Conflict Miss)最多。
- 全關聯式(Fully Associative Cache):主記憶體中的任何區塊皆可放置於快取記憶體中的「任意」區塊位置。空間利用率最高、無衝突失誤,但搜尋硬體成本最高。
- 組關聯式(Set-Associative Cache):前兩者的折衷方案,快取分為多個組(Sets),每個區塊對應到固定的一組,但可放入該組內的任意行(Ways)。
- 全關聯式的硬體代價: 因為資料可放在任一快取槽位,進行讀取搜尋時,位址中沒有索引欄位(Index bits),整組位址主要由標籤(Tag)與區塊內位移(Offset)組成。為了保證快取存取的極致速度,系統必須利用平行比較器(Comparators)或內容定址記憶體(CAM, Content-Addressable Memory),在每一次存取時同時比對快取中所有的標籤。若快取有 個區塊,就需要 組硬體比較器。
解題方法
由題幹要求選出「何者錯誤」,切入點為全關聯式快取的「映射特性」、「搜尋運作機制」與「硬體擴充限制」:
- 確認映射與存放彈性:全關聯式快取具備完全自由的對應關係(主記憶體任意區塊 快取任意區塊),據此檢驗選項 (C) 與 (D)。
- 確認命中檢查機制:由於資料擺放無固定限制,搜尋時無法針對特定組進行縮小範圍比對,必須逐一(且實務上透過平行電路同時)檢驗所有快取區塊,據此檢驗選項 (A)。
- 評估容量適用性:考量硬體成本、散熱、電路佈線與訊號延遲,分析其與快取容量(區塊數 )的關係,據此檢驗選項 (B)。
選項分析
第 8 題2 分
有關快取一致性(cache coherence)的敘述,下列何者錯誤?
核心觀念
本題測驗多處理器(Multiprocessor)架構下的快取一致性(Cache Coherence)問題與維護機制:
- 快取不一致問題(Cache Coherence Problem):在對稱式多處理器(SMP)架構中,若每個核心/處理器皆擁有獨立的私有快取(Private Cache),當多個處理器快取中存有同一記憶體區塊的複本,且其中一個處理器修改該資料時,其他快取中的資料複本便會變成過期資料(Stale Data)。
- 快取一致性協定(Cache Coherence Protocols):
- 實作架構:主要分為基於廣播匯流排的窺探協定(Snooping Protocol)與基於點對點網絡的目錄協定(Directory-based Protocol)。
- 處理其他複本的寫入策略:
- 寫入作廢協定(Write Invalidate Protocol):當某處理器寫入資料時,向匯流排廣播「作廢訊號」,將其他處理器快取中保存的相同區塊標記為無效(Invalid),自身取得獨占寫入權並完成寫入。
- 寫入更新協定(Write Update / Broadcast Protocol):當某處理器寫入資料時,將新資料廣播至匯流排,使其他擁有該資料的快取同步「更新」為最新值。
解題方法
題目要求選出「錯誤」的敘述。解題切入點在於檢視快取一致性的基本定義、潛在風險、維護架構(Snooping),以及寫入作廢協定(Write Invalidate Protocol)在處理快取寫入時的真實行為。
選項分析
- (A) 正確:在多處理器系統中,各處理器若擁有各自私有的 L1/L2 快取記憶體,且共用同一主記憶體,當多個處理器同時快取了同一個位址的資料時,只要有任一處理器執行寫入修改,就可能產生資料版本不一致的衝突,因此硬體必須設計一
第 9 題2 分
假設計算機中的主記憶體總共有三個分頁框(page frames),而三個分頁框在起始狀態時皆無任何資料。現在依序去存取編號 、、、、、、 分頁中的資料。如果採用最佳分頁置換(optimal page replacement)機制,總共會發生幾次分頁錯誤(page faults)?
核心觀念
本題考查作業系統中虛擬記憶體(Virtual Memory)的分頁置換演算法(Page Replacement Algorithms),重點在於最佳分頁置換機制(Optimal Page Replacement Algorithm,簡稱 OPT 或 MIN):
- 分頁錯誤(Page Fault):當中央處理器(CPU)欲存取的分頁不在實體主記憶體的分頁框(Page Frame)中時,會引發分頁錯誤中斷,必須自次級儲存裝置(如硬碟)將該分頁載入主記憶體。
- 最佳分頁置換演算法(OPT):由 Belady 提出,其核心置換原則為:當分頁框已滿且發生分頁錯誤時,選擇「未來最長時間內不會被使用到」的分頁進行置換。此演算法具有理論上最低的分頁錯誤率,但因實務上無法預知未來的存取順序,通常作為衡量其他實務演算法(如 FIFO、LRU)效能優劣的理論極限基準(Benchmark)。
解題方法
題目給定條件:
- 主記憶體分頁框數: 個(起始狀態皆為空)
- 分頁存取序列(共 次):
- 採用演算法:最佳分頁置換(OPT)
我們按時間順序逐步追蹤分頁框狀態與分頁錯誤之發生:
| 步驟 | 存取分頁 | 分頁框內容(共 3 個) | 是否發生分頁錯誤 | 說明 |
|---|---|---|---|---|
| 1 | 是(第 1 次) | 起始為空,載入分頁 (冷啟動/強制錯誤) | ||
| 2 | 是(第 2 次) | 載入分頁 | ||
| 3 | 是(第 3 次) | 載入分頁 (此時 3 個分頁框已全滿) | ||
| 4 | 是(第 4 次) | 記憶體內無 ,需挑選一個分頁置換。 |
第 10 題2 分
有關計算機處理器基於指令流與資料流分類之敘述,下列何者錯誤?
核心觀念
本題考查計算機組織與結構中經典的費林分類法(Flynn's Taxonomy)。
1966 年由麥可·費林(Michael J. Flynn)提出,依據硬體在同一時間能處理的「指令流(Instruction Stream)」與「資料流(Data Stream)」是單一(Single)還是多重(Multiple),將計算機架構劃分為四種類型:
- SISD(Single Instruction stream, Single Data stream):單指令流單資料流。傳統的范紐曼架構(von Neumann architecture),具備單一控制單元與單一處理單元,一次執行一條指令處理一筆資料。
- SIMD(Single Instruction stream, Multiple Data streams):單指令流多資料流。由單一控制單元廣播相同指令給多個處理單元,同時對不同的資料元素執行相同運算,常用於向量處理器(Vector Processor)、陣列處理器(Array Processor)及現代 GPU/多媒體指令集(如 AVX、SSE)。
- MISD(Multiple Instruction streams, Single Data stream):多指令流單資料流。多個處理單元同時接收不同的指令,但處理同一個資料流。此架構商業實作極為罕見,主要用於理論研究或極端高可靠度、高容錯的特殊系統(如航太太空梭的備援表決系統)。
- MIMD(Multiple Instruction streams, Multiple Data streams):多指令流多資料流。多個處理器(或核心)各自獨立執行不同的指令流,處理各自獨立的資料流,為現代多核心 CPU、對稱多處理系統(SMP)與分散式叢集的主流架構。
解題方法
本題題型為「何者錯誤」的觀念辨析題,切入點為比對四種分類的定義及其在實務市場中的應用現況:
第 11 題2 分
有關時間單位與儲存單位的換算,下列何者錯誤?
核心觀念
本題測驗計算機概論中最基礎的「儲存容量單位」與「時間/頻率前綴單位(SI Prefixes)」之數值定義與換算關係:
- 電腦儲存單位換算:計算機內部採用二進位表示法,儲存容量單位階層以 為進位基數。階層由小到大依序為:
- 國際單位制(SI)時間前綴:時間單位「秒()」向下細分採用十進位(以 為一階層縮小):
- 毫(milli-, ):
- 微(micro-, ):
- 奈/纖(nano-, ):
- 皮/微微(pico-, ):
解題方法
本題要求選出「換算錯誤」的選項。解題切入點分為兩大部分:
- 儲存容量選項(A、B):利用 進行相鄰單位的次方展開或換算,驗證等式左右兩端是否相等。
- 時間單位選項(C、D):直接比對國際單位制標準前綴的次方數,檢視「毫秒」與「奈秒」的定義是否正確。
選項分析
- (A) 正確: (Petabyte)與 (Terabyte)為相鄰的儲存容量單位。 依據定義: 因此 敘述正確。
第 12 題2 分
將二進位實數 轉換成常規化(normalized)的(二進制)科學表示法(scientific notation)後,其指數(exponent)以十進制表示的值為何?
核心觀念
本題考查計算機組織與浮點數表示中的二進位常規化科學表示法(Normalized Binary Scientific Notation)。
- 二進位常規化形式: 在現代計算機標準(如 IEEE 754)中,非零實數以二進位科學表示法常規化時,小數點左側固定保留且僅保留一位非零的有效位數。由於二進位系統中唯一的非零數字是 ,故其標準常規化形式為: 其中:
- 假數(Significand / Mantissa)的小數點左邊固定為 。
- 為指數(Exponent),代表 的次方項。
- 小數點移動與指數的關係:
- 小數點每往左移動 1 位,代表數值縮小 2 倍,故指數 必須加 (即乘上 )以保持數值守恆。
- 小數點每往右移動 1 位,代表數值擴大 2 倍,故指數 必須減 (即乘上 )。
解題方法
-
寫出原始二進位實數:
-
移動小數點進行常規化:
- 觀察整數部分為 ,共有 5 個位元。
- 為了符合常規化格式 ,小數點必須移動到最左側第一個有效數字 的後方。
- 小數點需由原位置向左跨越 共 4 個位元:
第 13 題2 分
十進制數 減去二進制數 後的結果為何?
核心觀念
本題測驗的核心為「進位制轉換」(二進制與十進制互相轉換)以及「數值運算基本觀念」。
- 二進制轉十進制:利用權重展開法,由右至左(最低位至最高位)權重依序為 (即 )。
- 十進制轉二進制:利用權重扣除法(填補法)或連續除以 2 取餘數法。
解題方法
面對跨進制的減法計算,最直觀且不易出錯的方式為「先全部轉為十進制進行計算,再將結果轉為二進制與選項比對」。
步驟一:將二進制數 轉換為十進制 依各位置之權重加總:
步驟二:進行十進制減法運算
步驟三:將計算結果 轉換為二進制 利用常用二進制權重()進行拆解:
- (含 )
- (含 )
- (含 )
- (含 及 )
第 14 題2 分
下列何者是 的計算結果?
核心觀念
本題測驗數位邏輯與計算機概論中「不同進位制之轉換與數值運算」:
- 基底與位元分組對應關係:
- 十六進位與二進位:,十六進位每 位數直接對應二進位 位元(Nibble)。
- 八進位與二進位:,八進位每 位數直接對應二進位 位元。
- 進位制數值運算:可透過統一轉為「十六進位」、「二進位」或「十進位」進行運算,再將結果轉換為目標進位制進行比對。
解題方法
本題最佳切入點為利用「位元分組」將減數轉換為十六進位,在十六進位下直接相減,避免冗長的十進位乘除運算與二進位多位借位。
步驟一:將二進位減數轉為十六進位 二進位數 由右至左每 位元劃分一組:
- 高 4 位:
- 低 4 位:
因此:
步驟二:進行十六進位減法運算 十六進位下各欄位相減(均不需向高位借位):
- 高位:
- 低位:
得計算結果為:
步驟三:將結果轉換為各選項所屬進位制
- 轉為二進位:
- 轉為八進位: 將二進位 由小數點(整數最右端)向左每 位元分組,高位不足補 :
第 15 題2 分
有關叢集系統(cluster)的敘述,下列何者錯誤?
核心觀念
本題測驗計算機系統架構中叢集系統(Computer Cluster)的基本定義、硬體架構與運作特性。
- 叢集系統定義:叢集是一組透過區域網路(LAN)或高速專用網路相互連接的獨立電腦(稱為節點,Nodes),在軟體與中介軟體(Middleware)的協同下,對外呈現為單一整合的運算資源。
- 記憶體架構分類:
- 共享記憶體系統(Shared Memory System,如 SMP、NUMA):多個處理器實體共享同一個全域記憶體位址空間,通常屬於「緊密耦合(Tightly Coupled)」架構。
- 分散式記憶體系統(Distributed Memory System,如 Cluster):每個節點擁有獨立的實體主記憶體(Local Memory),節點之間無法直接透過硬體匯流排存取彼此的記憶體,必須藉由網路進行訊息傳遞(Message Passing),屬於「鬆散耦合(Loosely Coupled)」架構。
- 系統特質:具備高可用性(High Availability, HA)、容錯能力(Fault Tolerance)與良好擴展性(Scalability)。
解題方法
本題的解題切入點在於區分「多處理器共享記憶體架構(SMP)」與「多電腦叢集架構(Cluster)」的本質差異:
- 叢集系統的基礎是「由多台獨立的完整計算機組成」,因此每台節點各自具備獨立的 CPU、主記憶體、I/O 與作業系統。
- 檢驗各選項對叢集硬體組成、容錯能力、軟體架構及記憶體配置的描述,找出與「分散式獨立架構」矛盾之敘述。
選項分析
第 16 題2 分
若一計算機系統以 個位元,且以 的補數法表示整數,則 的二進制結果是:
核心觀念
- 2 的補數(Two's Complement)表示法: 在計算機系統中,帶號整數(Signed Integer)普遍採用 2 的補數法表示。以 個位元表示時,數值範圍為 。本題為 個位元,表示範圍為 。
- 負數的 2 的補數求法: 若已知正整數 的二進制表示,其對應負數 的 2 的補數為: 其中「1 的補數」即將所有位元反相( 變 、 變 )。
- 減法運算化為加法: 計算機硬體內部透過加法器處理減法,即 。
解題方法
本題要求計算 的 8 位元 2 的補數結果。
解法一:十進制差值轉換法(最直覺推薦)
- 計算十進制差值:
- 寫出正數 的 8 位元二進制:
- 求 的 2 的補數:
- 取 1 的補數(全數位元反相):
- 加 1 轉為 2 的補數:
解法二:補數加法法(計算機內部運算方式)
- 轉換為加法式:
- 求各數之 8 位元表示:
第 17 題2 分
一個彩色影像像素的顏色是由 、、 三個值決定,而每個值的範圍是 到 的整數,一個像素可能的顏色共有幾種?
核心觀念 本題考查多媒體數位影像的 RGB 色彩模型(RGB Color Model)與離散數學的乘法原理(Rule of Product)。
- 數值個數計算:連續整數區間 內的整數總個數為 。
- 乘法原理:若完成某件事需依序完成 個獨立步驟,且第 個步驟有 種可能做法,則完成這件事共有 種不同方法。
- RGB 色彩原理:彩色像素的顏色由紅(Red)、綠(Green)、藍(Blue)三個獨立的顏色通道(Color Channels)組合而成,各通道各自能表現不同強度的色階。
解題方法
-
計算單一色光的可能數值數: 依題目所述,、、 各自的數值範圍為 到 的整數,故各顏色分量可能的數值各有: (亦即每個顏色通道以 個位元表示,可表示 階亮度)。
-
計算三色光混色後的所有色彩組合數: 一個像素的完整顏色必須由 、、 三個分量同時決定,且三者的取值彼此獨立。根據組合計數的乘法原理,可能產生的總顏色種類數為各通道可能數的連乘積: (若化為以 2 為底的次方,即為 種顏色,即一般通稱的 24 位元「全彩(True Color)」)。
第 18 題2 分
若半加法器(Half Adder)的兩個輸入為 、,下列何者為其相加後的進位(Carry)輸出?
核心觀念
本題考查數位邏輯中的基礎組合邏輯電路——半加法器(Half Adder, HA)的電路架構與布林代數表示式。 半加法器用於執行兩個 1 位元二進位數的加法運算,其輸出包含兩個訊號:
- 和(Sum,常記為 ):表示本位數相加的結果。
- 進位(Carry,常記為 ):表示相加後是否產生向高位元的進位。
解題方法
- 建立二進位加法真值表: 設輸入為 與 ,將所有可能的輸入組合進行相加運算:
- 和 ,進位
- 和 ,進位
- 和 ,進位
- 和 ,進位
- 推導輸出布林函數:
- 進位輸出():觀察上述結果,僅在 且 時,進位 才為 ,其餘情況皆為 。這完全符合及閘(AND gate)的邏輯運算定義:
- 和輸出():在 與 輸入相異(一個為 0、一個為 1)時,和 為 ,輸入相同時為 。這符合互斥或閘(XOR gate)的邏輯運算定義:
題目要求選出「進位(Carry)輸出」,故為 。
第 19 題2 分
布林函式 的真值表中,共有幾種輸入組合可以使得 ?
核心觀念
- 互斥或(Exclusive-OR, XOR, )運算性質:
- 雙輸入基礎定義:,當兩輸入值相異時,輸出為 ;相同時,輸出為 。
- 多輸入延伸定義(奇數同位檢測器,Odd Function):對於多個變數進行連續 XOR 運算,滿足交換律與結合律。其輸出為 的充要條件是輸入組合中包含「奇數個 」;若輸入包含「偶數個 」(包含 個 ),輸出則為 。
- 輸入組合總數:
- 具有 個布林變數的系統,真值表共有 種可能的輸入組合。本題有 個變數(),總輸入組合數為 種。
解題方法
方法一:組合計算法(標準數學推導)
根據 XOR 運算的同位性質,函式 的條件為:輸入變數中「」的個數為奇數。
三變數的輸入中, 的個數可能為 。屬於奇數的情況有兩種:
- 輸入恰有 1 個 : 從 個變數中選出 個為 (其餘為 ),組合數為: 對應組合:、、。
- 輸入恰有 3 個 : 從 個變數中選出 個為 ,組合數為: 對應組合:。
將上述組合數相加,可得使 的輸入組合總數:
方法二:真值表列舉法(直觀驗證)
依序計算 再與 進行 XOR 運算,建立完整真值表:
| 的個數(奇偶性) | |||||
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 個(偶數) |
第 20 題2 分
有關 Unicode 字元編碼標準的敘述,下列何者錯誤?
核心觀念
- ASCII 編碼(American Standard Code for Information Interchange):
- 標準 ASCII 碼使用 編碼,可表示 個字元(包含英文字母大小寫、數字、標點符號與控制字元)。
- 在電腦儲存與傳輸中,通常以 個位元組()存放一個 ASCII 字元,最高位元(第 8 位元)常補 或作為奇偶同位檢查(Parity Check)。
- Unicode(萬國碼/統一碼):
- 為了解決傳統各國編碼(如繁體中文 Big5、簡體中文 GB2312、美規 ASCII)互不相容導致「亂碼」的問題,Unicode 聯盟建立了統一整理全球主要書寫文字的業界標準。
- Unicode 定義了龐大的字元集與抽象碼位(Code Point,範圍為 ,超過 110 萬個碼位),因此無法僅用 個位元組表示。
- 其具體實作格式稱為 Unicode 轉換格式(UTF),常見有 UTF-8(可變長度, 個位元組)、UTF-16(可變長度, 或 個位元組)與 UTF-32(固定長度, 個位元組)。
解題方法
本題為字元編碼規格的「正反對比與觀念辨析題」,切入點為「編碼容量與位元組長度的對應關係」:
- 依字元收錄規模判斷所需長度:
- 僅收錄 128 個英數符號的 ASCII,僅需 (佔 位元組)。
- 收錄全球數十萬字元(含中日韓漢字、表情符號等)的 Unicode,至少需要 21 位元以上的編碼空間,必須依賴多位元組機制( 位元組)。
- 核對各選項陳述:直接檢視各選項對 Unicode 定義、支援範圍、轉換格式(UTF)以及長度規範的描述,即可找出敘述顛倒的錯誤選項。
選項分析
- (A) 正確: Unicode 確實是電腦科學領域的業界標準。其設計目的在於統整世界主要語言文字,為每個字元指定唯一的碼位(Code Point),使得現代作業系統與應用程式在跨平台傳遞文字時能有一致且簡便的處理管道。
第 21 題2 分
在統一塑模語言(Unified Modeling Language)中,下列何者不屬於行為式圖型(Behavioral Diagrams)?
核心觀念
本題測驗統一塑模語言(Unified Modeling Language, UML 2.x)中圖型的分類架構。 在 UML 規範中,所有圖型主要劃分為兩大體系:
- 結構圖(Structure Diagrams):呈現系統的「靜態結構」,描述系統在某個特定時間點或靜態設計時,由哪些元件、類別、物件或硬體節點所組成,不涉及隨時間演進的動作或流程。
- 行為圖(Behavior Diagrams):呈現系統的「動態行為」,描述系統隨時間演變的流程、狀態轉換、功能需求及物件間的訊息傳遞。其中專門描述物件間互動的「互動圖(Interaction Diagrams)」,在 UML 體系中隸屬於行為圖的子類別。
解題方法
本題題目要求選出「不屬於行為式圖型(Behavioral Diagrams)」者,解題切入點即為從選項中找出屬於「結構圖(Structure Diagrams)」的圖型。
根據 UML 2.x 分類:
- 結構圖包含:類別圖(Class Diagram)、物件圖(Object Diagram)、元件圖(Component Diagram)、部署圖(Deployment Diagram)、套件圖(Package Diagram)、複合結構圖(Composite Structure Diagram)、剖面圖(Profile Diagram)。
- 行為圖包含:使用案例圖(Use Case Diagram)、活動圖(Activity Diagram)、狀態機器圖(State Machine Diagram),以及屬於行為圖子類的互動圖(包含循序圖 Sequence Diagram、通訊圖 Communication Diagram、時序圖 Timing Diagram、互動概觀圖 Interaction Overview Diagram)。
因此,物件圖屬於結構圖,不屬於行為圖。
選項分析
- (A) 活動圖(Activity Diagram):錯誤(屬於行為圖)。
第 22 題2 分
下列 C 程式執行後的輸出為何?
#include <stdio.h>
int rf(int n) { if (n == 1) return 1; else return 2 * rf(n - 1) + 1; }
int main(void) { printf("%d", rf(10)); return 0; }
核心觀念
本題的核心考點為 C 語言的遞迴函式(Recursive Function) 與 遞迴關係式(Recurrence Relation)的數學求解。
- 遞迴終止條件(Base Case):當引數滿足終止條件時,函式直接回傳數值,停止繼續呼叫自身,防止無窮遞迴。
- 遞迴步驟(Recursive Step):函式內部呼叫自己,並縮小問題規模。
- 經典遞迴模型:本題形式 為經典的「河內塔問題(Tower of Hanoi)」最佳移動次數遞迴關係式,其閉合形式(Closed-form expression)為 。
解題方法
題目定義的函式 如下:
- 當 時:
- 當 時:
要求計算 rf(10) 的值,可透過以下兩種方式求解:
方法一:數學通式推導(最快、最精確)
將遞迴關係式進行代數變形:
等號兩邊同時加 :
令新數列 ,則有:
此為公比 的等比數列。首項為:
因此,等比數列第 項的通式為:
再將 代回,得到 的通式:
將 代入通式:
方法二:列項觀察規律法
第 23 題2 分
在 Java 程式語言的繼承機制(Inheritance)中,父類別(Superclass)中所定義的欄位(Field)或方法(Method),何者不會被子類別(Subclass)所繼承?
核心觀念
本題考查物件導向程式設計(OOP)中 Java 語言的繼承機制(Inheritance)與類別成員(Class Members)定義。
- 類別成員與繼承:在 Java 規範中,類別的成員包含欄位(Field)、方法(Method)、巢狀類別與介面(Nested Classes and Interfaces)。子類別會依存取修飾詞(Access Modifiers)繼承父類別中非私有(Non-private)的成員。
- 建構子的本質:建構子(Constructor)不屬於類別的成員。其主要用途是初始化該類別自身的新增物件實體(Instance),名稱必須與該類別完全相同。因此,父類別的建構子絕不會被子類別所繼承;子類別僅能在自己的建構子中透過
super或super(...)語法「呼叫」父類別的建構子。
解題方法
從 Java 語法規範與物件導向的特性切入:
- 檢查是否為可繼承的成員:
- 建構子(Constructor)具有與類別同名的限制,若子類別繼承了父類別建構子,將導致「方法名稱與子類別名稱不合」的語法矛盾。
- 官方 Java 語言規格書(JLS)明確定義:「Constructors are not members, and they are not inherited by subclasses.」故建構子不在繼承範圍內。
- 檢驗存取修飾詞(Access Modifiers)的繼承權限:
public(公開):同套件與跨套件的所有子類別皆可繼承。protected(保護):同套件與跨套件的所有子類別皆可繼承並存取。
第 24 題2 分
若執行下列的 Python 程式碼,則輸出結果為何?
sum, num = 0, 0
while num <= 10: if (num % 3 == 0): pass elif (num % 8 == 0): break else: sum = sum + num num = num + 1
print(sum)
核心觀念
本題旨在測驗 Python 程式語言的基礎流程控制與算術運算,核心觀念包含:
while迴圈控制:依據條件判斷式(num <= 10)決定是否重複執行區塊。if-elif-else條件分支與執行優先權:條件由上而下進行判斷,一旦某個條件成立,執行該區塊後即跳出整個條件結構,不再檢查後續的elif或else。pass陳述式:屬於「空操作」(Null operation),僅作為佔位符號,代表符合條件時不做任何處理,繼續往下執行後續程式碼。break陳述式:強制中斷並立即跳出當前所在的while迴圈,不再執行該迴圈剩餘的程式碼與後續迭代。- 模除運算子(
%):計算兩數相除的餘數。需特別注意 除以任何非零整數的餘數皆為 (即 、)。
解題方法
本題適合使用變數追蹤表(Trace Table)逐步推導每一次迴圈迭代中 num、條件判斷分支、sum 與變數遞增的狀態變化。
1. 初始狀態
sum = 0num = 0
2. 逐次迴圈追蹤
| 迭代 | 迴圈檢查 (num <= 10) | 分支條件判斷 | 執行動作 | sum 累加結果 | 迴圈末遞增 (num = num + 1) |
|---|---|---|---|---|---|
| 第 1 次 | (真) | 0 % 3 == 0(真) | 執行 pass(不累加) | sum 仍為 | num 變為 |
| 第 2 次 | (真) | else 分支成立 | sum = 0 + 1 | sum 變為 | num 變為 |
| 第 3 次 | (真) | else 分支成立 | sum = 1 + 2 | sum 變為 | num 變為 |
| 第 4 次 | (真) | 3 % 3 == 0(真) | 執行 pass(不累加) | sum 仍為 | num 變為 |
| 第 5 次 | (真) | else 分支成立 | sum = 3 + 4 | sum 變為 | num 變為 |
| 第 6 次 | (真) | else 分支成立 | sum = 7 + 5 | sum 變為 | num 變為 |
第 25 題2 分
分散式資訊系統(Distributed Information System)或稱為分散式命名服務(Distributed Naming Service)的目的是為了便於管理委託者-服務者系統(Client-Server System),並提供遠端計算所需資訊的一致性存取(unified access)。下列何者是一個分散式命名服務?
核心觀念
本題測驗分散式系統中的目錄服務(Directory Service)與分散式命名服務(Distributed Naming Service)概念:
- 分散式命名/目錄服務:在網路環境中,為了對分散在各處的資源(如使用者帳號、主機、印表機、群組設定)進行統一管理,系統會將資源名稱以樹狀或階層式結構加以命名與組織,讓客戶端(Client)能以一致且透明的方式查詢、定位與驗證遠端資訊。
- 常見相關協定與技術:
- X.500:國際電信聯盟(ITU)制定的目錄服務標準架構。
- LDAP(Lightweight Directory Access Protocol):從 X.500 簡化而來的標準應用層協定,為現代分散式目錄服務(如 OpenLDAP、Microsoft Active Directory)最核心的命名與查詢存取協定。
- DNS(Domain Name System):主要用於主機名稱與 IP 位址對應的階層式分散式命名系統。
解題方法
本題解題切入點在於區分「命名/目錄服務協定」、「資源定位字串語法」、「應用層檔案傳輸」與「資料鏈結層媒介存取機制」之功能定位:
- 題幹所指「分散式命名服務」旨在集中管理 Client-Server 架構下的網路資訊,並提供一致性存取(Unified Access),即典型「目錄服務(Directory Service)」之定義。
- 比對選項中各協定與技術的角色:
- LDAP 係專為分散式目錄命名、認證及屬性查詢所設計之協定,符合題意。
- URL 為字串格式規範、FTP 為檔案傳輸協定、CSMA/CD 為區域網路媒介存取控制,均非分散式命名服務系統。
選項分析
- (A) 錯誤。URL(Uniform Resource Locator,一致性資源定位器): URL 是全球資訊網(Web)上用來「表示特定資源存放位置及存取協定」的字串命名規範(例如 `),其本身是一種識別資源的語法標準,並非負責提供查詢、集中管理與一致性存取的「命名服務系統」或「後端服務協定」。
第 26 題2 分
若一個佇列結構(Queue)從頭端(Front)至尾端(Rear)已存放 、、 三個元素,且刪除及加入資料時分別在頭端及尾端進行,經過 enqueue(35)、dequeue()、dequeue()、enqueue(100) 四個操作後,則此佇列結構從頭至尾的元素內容分別為何?
核心觀念
本題測驗「佇列」(Queue)基本資料結構的運作原理與操作特性:
- 先進先出(FIFO, First-In-First-Out):最早進入佇列的資料最先被取出,如同日常排隊。
- 操作端點規範:
enqueue(x)(推入/加入):在佇列的尾端(Rear)加入新元素。dequeue(推出/刪除):從佇列的頭端(Front)移出最先進入的元素。
- 方向性辨識:題目指定佇列內容是以「頭端(Front)至尾端(Rear)」呈現,解題時必須維持一致的方向性視角。
解題方法
將佇列以線性表示法記錄,左側設為頭端(Front,負責出列),右側設為尾端(Rear,負責入列):
-
初始狀態: 題目給定從頭端至尾端已有 、、:
-
步驟一:執行
enqueue(35)將元素 加入尾端(Rear): -
步驟二:執行
dequeue將頭端(Front)的第一個元素 移出: -
步驟三:執行
dequeue將此時頭端(Front)的第一個元素 移出:
第 27 題2 分
關於貪心演算法(greedy algorithm)的敘述,下列何者錯誤?
核心觀念
本題測驗「貪心演算法(Greedy Algorithm)」的定義、性質以及常見的經典應用實例:
- 貪心演算法的定義與策略:在求解最佳化問題時,每一步驟均採取在當前狀態下看起來最好或最優的選擇(即「局部最佳解」,Locally Optimal Choice),期望透過一系列局部最佳決策推導出整體問題的「全域最佳解」(Globally Optimal Solution)。
- 最佳解的保證條件:貪心演算法不進行回溯(Backtracking)。一個問題唯有同時具備「貪心選擇性質(Greedy-choice Property)」與「最佳子結構(Optimal Substructure)」時,貪心演算法才能保證收斂至全域最佳解;若問題不滿足該性質(例如 0/1 背包問題、旅行推銷員問題),貪心法則僅能得到次佳解或近似解。
- 經典貪心演算法家族:
- 最小生成樹(Minimum Spanning Tree, MST):Prim 演算法、Kruskal 演算法。
- 單源最短路徑:Dijkstra 演算法(邊權重非負)。
- 資料壓縮與字首編碼:霍夫曼編碼(Huffman Coding)。
- 分數背包問題(Fractional Knapsack Problem)。
解題方法
本題題幹要求選出敘述「錯誤」的選項。解題切入點在於逐一檢驗各選項所提及的演算法所屬之「演算法設計典範(Algorithm Design Paradigms)」,以及貪心法的理論限制:
- 檢視 (A) 與 (B):最小生成樹的兩大主流演算法(Prim 與 Kruskal)是否遵循局部挑選最小權重邊的策略。
- 檢視 (C):霍夫曼編碼樹的建構過程是否屬於貪心策略。
- 檢視 (D):貪心法面對各類最佳化問題時是否具備普遍最佳性保證。
選項分析
- (A) 正確:Prim 演算法尋找最小生成樹時,以節點集合的擴展為核心。
第 28 題2 分
有關行動計算(Mobile Computing)裝置之敘述,下列何者錯誤?
核心觀念
本題測驗「行動計算(Mobile Computing)」的定義及其裝置的硬體與軟體特徵。
- 行動計算的定義與特徵:指在移動狀態下仍能進行資訊處理與通訊的技術,核心特質包含「高度可攜性(Portability)」與「無線通訊能力(Wireless Connectivity)」。
- 硬體通訊介面:行動裝置(如智慧型手機、平板電腦、穿戴式裝置)受限於體積與機身厚度,主要依賴無線介面(Wi-Fi、行動通訊網路、藍牙等),不配備體積龐大的實體有線網路連接埠。
- 軟體與作業系統:行動作業系統(如 Android、iOS)大多源自既有的成熟作業系統架構,針對低功耗與觸控操作進行客製化與精簡。
解題方法
從「行動裝置的物理限制」與「行動連網本質」切入判斷: 行動計算裝置強調隨身攜帶、隨時隨地連網,物理外觀朝向輕薄化設計(厚度通常低於 1 公分)。標準 Ethernet 有線網路接頭(RJ-45)體積大、厚度厚,且實體網路線會嚴重限制使用者的移動範圍,完全違反「行動計算」的核心宗旨,因此行動計算裝置原生不配備 RJ-45 介面。
選項分析
- (A) 敘述正確: 行動計算裝置(如智慧型手機、智慧手錶)強調位置感知與適地性服務(Location-Based Services, LBS,如地圖導航、即時回報),因此通常皆內建 GPS(全球定位系統)晶片以提供定位功能。
- (B) 敘述正確:
第 29 題2 分
作業系統的核心架構設計,大致可以分為傳統的單體式核心(monolithic kernel)和模組化的微核心(microkernel)設計,下列哪一個作業系統是採用微核心的設計?
核心觀念
本題測驗作業系統架構中核心設計(Kernel Architecture)的分類與代表範例:
- 單體式核心(Monolithic Kernel,又稱巨核心): 將作業系統的大部分核心功能(包括處理器排程、記憶體管理、檔案系統、裝置驅動程式、網路通訊協定等)全部置於核心空間(Kernel Space)內執行。
- 優點:模組之間可以直接透過函式呼叫(Function Call)進行溝通,執行效能極高。
- 缺點:核心體積龐大,模組間耦合度高;任一模組(例如第三方驅動程式)發生錯誤或記憶體違規,可能導致整個系統崩潰。
- 微核心(Microkernel): 僅保留作業系統運作最不可或缺的基礎機制於核心空間(通常僅含低階記憶體對映、基本執行緒排程、以及行程間通訊 IPC)。其餘傳統核心服務(如檔案系統、虛擬記憶體管理員、網路堆疊、裝置驅動程式等)全部移至使用者空間(User Space),以獨立的伺服行程(Server/Daemon)運作。
- 優點:模組高度獨立,具備高擴充性、高安全性與容錯力(單一服務伺服程式崩潰不致癱瘓全系統)。
- 缺點:服務間的互動依賴跨空間的訊息傳遞(Message Passing)與頻繁的模式切換(User/Kernel Mode Switch),系統額外負擔較大、通訊效能相對較低。
解題方法
本題切入點在於判別各作業系統在體系結構分類上的定位:
- 檢視題目給定的四個作業系統:Linux、Android、MS-DOS、Mach。
- 辨識何者採用「精簡核心空間、將服務移至使用者空間以 IPC 溝通」的微核心設計哲學。
- 藉由經典作業系統架構對照,卡內基美隆大學(CMU)研發的 Mach 為計算機科學界公認最經典的微核心教科書代表範例。
選項分析
- (A) 錯誤:Linux 屬於標準的單體式核心(Monolithic Kernel)。
第 30 題2 分
使用 UNIX 系統時,若一個應用程式發生異常現象無法自行正常結束時,我們通常會以 CTRL-C 按鍵來結束程序(Process)的執行,其作法為何?
核心觀念 本題考查 UNIX/Linux 作業系統中的行程間通訊(IPC)與信號機制(Signals),以及「硬體中斷(Hardware Interrupt)」與「軟體信號(Software Signal)」之分工階層:
- 信號(Signal):UNIX 系統用來通知行程(Process)某個非同步事件已發生的軟體中斷機制。
- 終端機中斷字元與信號對應:當使用者在終端機按下組合鍵時,終端機驅動程式(TTY Driver / Line Discipline)會將特定按鍵轉換為對應的系統信號,發送給前景行程群組(Foreground Process Group)。其中
CTRL-C對應的信號為SIGINT(Signal 2,中斷信號),其預設處置(Default Action)為終止行程的執行。
解題方法
分析使用者在終端機按下 CTRL-C 到應用程式結束執行的系統內部運作流程:
- 硬體層與驅動程式:使用者按下鍵盤,鍵盤控制器觸發 CPU 硬體中斷,由「鍵盤中斷服務常式(ISR)」讀取掃描碼(Scan Code),並將字元存入終端機輸入緩衝區。
- 終端機行規範(Line Discipline)識別:終端控制模組識別出該輸入為中斷字元(
INTR,即 ASCII 碼0x03的CTRL-C)。 - 核心遞送信號:作業系統核心(Kernel)向目前終端機的前景行程送出
SIGINT(Interrupt Signal)信號。 - 行程處理與終止:目標行程接收到
SIGINT信號。若行程未捕捉(Catch)或忽略(Ignore)該信號,則會依預設行為(Default Action)結束自身的執行。
由此可知,按下 CTRL-C 的本質是透過作業系統向目標行程送出特定信號(SIGINT),行程接收並處理後終止。
第 31 題2 分
下列關於虛擬機器(Virtual Machine)的敘述,何者正確?
核心觀念
- 虛擬化技術(Virtualization)與系統開銷(Overhead): 在電腦系統中,透過「虛擬機器監視器」(Hypervisor / Virtual Machine Monitor, VMM)在實體硬體上模擬出多個邏輯隔離的虛擬機器(Virtual Machine, VM)。虛擬化層的介入會帶來額外的運算與切換負擔(稱為 Virtualization Overhead),特別是在 I/O 作業上更為明顯。
- 硬體虛擬化支援與 Popek-Goldberg 準則: 並非所有處理器架構都能天然支援虛擬化,CPU 必須具備適當的特權等級劃分與指令攔截能力(或硬體輔助虛擬化技術)。
- 巢狀虛擬化(Nested Virtualization): 允許在已經虛擬化的 VM 內部再次執行 Hypervisor,進而建立多層次的虛擬機器。
- 雲端運算服務模型(NIST SPI 模型):
- IaaS(基礎架構即服務):提供運算資源、虛擬機器、網路與儲存空間。
- PaaS(平台即服務):提供開發與部署環境(如 Runtime、作業系統管理)。
- SaaS(軟體即服務):提供終端應用軟體服務。
解題方法
本題為觀念判斷題,解題切入點如下:
- 硬體相容性檢驗:評估不同等級與架構的 CPU 是否皆具備執行虛擬機器的硬體條件。
- 技術可行性確認:檢視現代 Hypervisor 是否具備「巢狀虛擬化」之多層次架構支援能力。
- 雲端服務分類歸屬:依據 NIST 定義之雲端運算三層架構,判斷虛擬機器服務落於哪一層。
- 硬體存取途徑與效能比對:比較實體機器與虛擬機器在發出 I/O 請求時的路徑長度與軟硬體中介成本。
選項分析
- (A) 錯誤: 並非「各種 CPU」均可支援虛擬機器。 根據電腦系統架構,CPU 要能支援全虛擬化,必須滿足「敏感指令必須是特權指令」等條件(Popek-Goldberg 虛擬化需求)。早期的 x86 處理器因為部分敏感指令並非特權指令,無法直接由硬體支援虛擬化,需仰賴軟體二進位轉譯(Binary Translation);直到硬體廠商加入硬體輔助虛擬化技術(如 Intel VT-x、AMD-V)後才改善。此外,許多低階嵌入式微處理器(如部分 8 位元、16 位元晶片或無 MMU 記憶體管理單元的單晶片)在硬體架構上根本不支援虛擬化所需的特權層級與指令攔截,因此並非所有 CPU 都能執行虛擬機器。
第 32 題2 分
有一種資訊安全的攻擊方法是:攻擊者介入到網路通訊資訊流中,假裝傳送者(Sender)發送訊息給接收者(Receiver),也同時假裝接收者回傳訊息給傳送者。此項資安攻擊稱之為何?
核心觀念
本題考查網路安全中主動攻擊(Active Attack)的型態與定義,核心在於辨識中間人攻擊(Man-in-the-Middle Attack, MitM)的運作機制與特徵:
- 中間人攻擊(MitM):攻擊者秘密介入兩方通訊鏈路中,分別與兩端建立獨立連線,並攔截、轉發甚至竄改通訊內容。在通訊過程中,攻擊者對傳送端假裝自己是接收端,同時對接收端假裝自己是傳送端,使雙方誤以為彼此正直接且安全地對話。常見的實現技術包括 ARP 欺騙(ARP Spoofing)、DNS 欺騙(DNS Spoofing)及 SSL/TLS 剝離(SSL Stripping)。
解題方法
分析題幹描述之特徵:
- 「攻擊者介入到網路通訊資訊流中」:表示攻擊者位於通訊兩端的路徑節點上(具備攔截流量的能力)。
- 「假裝傳送者發送訊息給接收者,也同時假裝接收者回傳訊息給傳送者」:
- 正常連線模型:
- 攻擊連線模型:
- 攻擊者同時對兩端進行雙向身分偽冒,此特徵完全符合「中間人(MitM)」的標準行為定義。
選項分析
- (A) 錯誤。竊盜服務(Theft of Service)攻擊:
第 33 題2 分
為了提高磁碟儲存資料的可靠度,可以將兩部一樣的實體磁碟機利用鏡射(Mirroring)方法組成 部邏輯磁碟機。假設每個磁碟機的平均失效時間(Mean Time To Failure, MTTF)是 萬小時,平均維修時間(Mean Time To Repair, MTTR)是 小時,則此邏輯磁碟機的平均資料遺失時間(Mean Time To Loss, MTTL)為何?
核心觀念
本題考查磁碟陣列鏡射(RAID 1, Mirroring)之系統可靠度(Reliability)模型與平均資料遺失時間(Mean Time To Data Loss, MTTDL / MTTL)的計算。
- 基本可靠度參數定義:
- (Mean Time To Failure,平均失效時間):單一實體磁碟機正常運作至發生故障的平均運作時間。
- (Mean Time To Repair,平均維修時間):磁碟故障後,抽換新硬碟並完成鏡射資料重建(Rebuild)所需的平均時間。
- (Mean Time To Loss,平均資料遺失時間):邏輯磁碟機發生「不可挽回之資料損毀」的平均間隔時間。
- RAID 1 資料遺失的充要條件: 鏡射架構具備單碟容錯能力。只有當第 1 部磁碟機損壞後的修復期間( 內),第 2 部磁碟機亦發生故障時,才會造成整個邏輯磁碟機的資料遺失。
解題方法
1. 嚴謹學理標準推導(馬可夫模型與電腦架構標準公式)
在經典計算機系統結構(如 Patterson & Hennessy 模型)與可靠度工程中,雙磁碟鏡射系統的資料遺失率推導如下:
- 單一磁碟的失效率為 。
- 當兩部磁碟皆正常時,任一部磁碟率先損壞的失效率為 (平均首損時間為 )。
- 在修復時間 內,另一部正常磁碟也損壞的機率為 。
- 整個系統發生資料遺失的綜合失效率 為:
- 取倒數即為學理標準的平均資料遺失時間公式:
代入題目數值(,):
2. 官方公告答案 (D) 的命題解析與爭議點說明
考選部本題核定之官方答案為 (D) 小時。此答案的推導與成因如下:
- 命題採用的簡化模型: 命題者在計算時,直接採納了將雙磁碟壽命平方後折半的簡化算法:
第 34 題2 分
圖靈測試(Turing test)是由計算理論學者艾倫・圖靈,在 年提出的一個方法,下列何者為圖靈測試的目的?
核心觀念
本題測驗人工智慧(Artificial Intelligence, AI)的基礎概念與發展歷史,核心為圖靈測試(Turing Test)的定義與目的:
- 提出背景:英國數學家兼計算機科學之父艾倫・圖靈(Alan Turing)於 年發表經典論文《計算機器與智慧》(Computing Machinery and Intelligence),提出了著名的核心提問:「機器能思考嗎?(Can machines think?)」。
- 定義與設計:圖靈提出了稱為「模仿遊戲(Imitation Game)」的實驗方法(即圖靈測試)。設一名人類詢問者(裁判)與被測試者(包含一位人類與一部機器)分別置於不同房間,僅透過純文字終端機進行溝通。若人類裁判在多輪自由交談後,無法分辨哪一方是人類、哪一方是機器,則判定該機器展現出與人類相當的智慧表現。
解題方法
本題屬於計算機概論中人工智慧單元的「標準定義題」。解題切入點在於掌握圖靈測試在資訊科學史上的定位:圖靈測試的本質是建立一套可具體操作的「行為主義標準」,用來取代抽象且具哲學爭議的「思考」定義,進而評估與檢驗機器是否具有人類水準的智慧(Intelligence)。依此核心定義即可直接選出正確選項。
選項分析
- (A) 正確:圖靈測試的核心目的就是為「機器是否具有智慧」提供一個客觀、可操作的行為檢驗準則。
第 35 題2 分
解析度為 、使用 MPEG-2 的 DVD,其色彩子取樣(chroma subsampling)方式為何?
核心觀念
- YCbCr 色彩空間與人類視覺特性(HVS): 人類眼睛視網膜對「亮度(Luminance, )」的敏銳度遠高於對「彩度(Chrominance, )」的敏銳度。視訊壓縮技術利用此生理特性,在保留完整亮度細節的同時降低彩度的取樣率,此技術稱為色彩子取樣(Chroma Subsampling)。
- 色彩子取樣表示法(): 以一個寬度為 (通常為 4 個像素)、高度為 2 列的像素參考區塊表示:
- :水平取樣參考寬度(基準值通常為 4)。
- :第一列像素中,彩度信號()的取樣數。
- :第二列像素中,彩度信號相較於第一列的變化取樣數(在 中表示第二列不重複取樣,與第一列垂直共用)。
- DVD-Video 與 MPEG-2 標準規格: DVD-Video 遵循 MPEG-2 Part 2(ISO/IEC 13818-2,即 H.262)的主設定檔/主等級(Main Profile @ Main Level, MP@ML)。在 NTSC 規格下,解析度為 (畫格率 29.97 fps),規範明定彩度子取樣格式採用 。
解題方法
- 分析 DVD-Video 的編碼規範:
- 題目指定「解析度為 、使用 MPEG-2 的 DVD」,此為典型 NTSC 制式的 DVD-Video 光碟標準。
- 為了在有限的單面單層 DVD 容量(約 4.7 GB)與傳輸率(最高約 9.8 Mbps)下達到可接受的畫質,MPEG-2 MP@ML 規範強制採用 色彩子取樣。
- 色彩子取樣的結構定義:
- 在 格式中,水平方向與垂直方向的彩度解析度皆減半。
- 意即每 (共 4 個)像素的區塊中,包含 4 個亮度樣本(),但僅取樣 1 組藍色色差()與 1 組紅色色差()。
- 資料量推導(以 8-bit 色深為例): 平均每個像素僅需:
第 36 題2 分
小華買一個 的隨身碟,打算拿來存放 MP3 音樂檔和 JPG 照片檔。若每一個音樂檔約為 ,每一個照片檔約為 ,下列哪種組合無法裝進小華的隨身碟中?
核心觀念
本題測驗計算機基礎中的資料儲存單位換算(Data Storage Units)與容量加總計算:
- 儲存單位層級與換算比例:
- 電腦資料基本單位為位元組(Byte)。
- 單位級距關係如下:
- 二進制精確定義:、。
- 實務快速估算(十進制簡化):、。
- 總容量計算公式: 若總需求容量大於隨身碟容量(),則無法裝進。
解題方法
為了避免單位混淆,解題策略為將所有檔案容量統一換算為 或 ,再與隨身碟的可用空間進行比對:
- 基本基準值:
- 隨身碟容量:(精確值為 )。
- 音樂檔單檔大小:。
- 照片檔單檔大小:(精確值為 )。
- 驗證方式: 逐一計算各選項的總容量,只要總容量大於 (即超過約 ),即為無法裝進隨身碟的組合。
選項分析
- (A) 錯誤(為本題正確答案,無法裝進隨身碟):
- 音樂檔容量:。
- 照片檔容量:(約 )。
- 總容量:
第 37 題2 分
下列何種介面只支援類比訊號?
核心觀念 本題測驗電腦周邊硬體中「視訊傳輸介面(Display Interface)」的訊號傳輸類型(類比訊號 vs. 數位訊號)。 早期電腦顯示器(如 CRT 螢幕)採用類比訊號驅動,而現代液晶螢幕(LCD)則以數位訊號為原生輸入。各介面規範如下:
- 純類比介面:僅能傳輸連續變化的類比電壓訊號(如 RGBHV),無法直接傳輸二進位數位資料。
- 純數位介面:僅以封包或數位串流傳輸二進位視訊(及音訊)訊號。
- 混合整合介面:同一接頭內同時包含數位與類比的傳輸接腳。
解題方法 判斷各選項所代表之介面規格與訊號傳輸特性:
- 檢視各介面的設計年代與通訊協定規範。
- 排除具備數位訊號傳輸能力的介面(DVI、HDMI、DisplayPort)。
- 鎖定僅支援類比 RGB 訊號、不具備數位通道的傳統介面(VGA)。
選項分析
- (A) DVI(Digital Visual Interface,數位視訊介面):錯誤。 DVI 由數位顯示工作小組(DDWG)於 1999 年推出,其核心目標即為傳輸「數位」視訊訊號。DVI 依接腳配置分為三種規格:
- DVI-D:純數位訊號(Digital only)。
- DVI-A:純類比訊號(Analog only,罕見)。
- DVI-I:數位與類比整合(Integrated)。 DVI 具備數位傳輸能力,並非「只」支援類比訊號。
- (B) VGA(Video Graphics Array,視訊圖形陣列):正確。
第 38 題2 分
D 藍光(Blu-ray D)對於 D 影片的編碼方式為下列何者?
核心觀念
本題測驗多媒體視訊編碼標準在光碟儲存媒介的實務規格演進,核心考點包括:
- 藍光光碟(Blu-ray Disc, BD)與 3D 藍光(Blu-ray 3D)的視訊編碼規範。
- MPEG-4 AVC(ITU-T H.264 / ISO MPEG-4 Part 10)及其延伸規格 MVC(Multiview Video Coding,多視角視訊編碼)。
- 立體視訊壓縮與向下相容性(Backward Compatibility)設計。
解題方法
解題關鍵在於區分「標準 2D 藍光」與「3D 藍光」規格的差異:
- 標準 2D 藍光規範:支援三種視訊編碼格式,分別為 MPEG-2、MPEG-4 AVC 與 VC-1。
- 3D 藍光規範:藍光光碟協會(Blu-ray Disc Association, BDA)於 2009 年底發布 Blu-ray 3D 規格,為了在有限光碟容量內同時容納左眼與右眼的雙眼視角訊號,並兼顧既有 2D 藍光播放設備的向下相容性,指定採用 MPEG-4 AVC 的擴充延伸標準——MVC(Multiview Video Coding)。
- MVC 編碼原理:
- 將左眼視角編碼為標準的 2D MPEG-4 AVC 視訊流(基礎視角,Base View),使一般的 2D 播放機也能讀取並播放 2D 畫面。
- 將右眼視角作為相依視角(Dependent View),利用左右眼高度的時間與空間冗餘(Redundancy),僅編碼兩者間的視角差異資訊(Delta),相較於傳輸兩條獨立完整的視訊流,節省了約 的儲存空間與位元率(Bitrate)。
因此,3D 藍光影片所採用的立體編碼架構屬於 MPEG-4 AVC 規範家族。
選項分析
- (A) 錯誤:HEVC(High Efficiency Video Coding,即 H.265)於 2013 年制定完成,壓縮效率約為 AVC 的兩倍。
第 39 題2 分
假設有個程式在一台電腦執行需要 秒,其中加法指令需要 秒的執行時間。若想只透過提升加法器的速度來縮短程式執行時間,加法器的速度至少需提升到原來的幾倍,才能將該程式的執行時間從 秒降至 秒?
核心觀念
本題的核心觀念為計算機架構中著名的阿姆達爾定律(Amdahl's Law)與程式執行時間的模組化拆解。
當系統僅對特定元件或特定類型的指令進行效能升級時,整體的執行時間會受到「無法被加速部分」的嚴格限制。程式總執行時間可拆解為兩部分:
- 可被加速/改善的時間(Improvable Execution Time):本題中為「加法指令執行時間」。
- 不可被加速/未改善的時間(Unimprovable Execution Time):本題中為「非加法指令執行時間」。
設原執行時間為 ,可改善部分時間為 ,未改善部分時間為 ,當針對可改善部分提升至原來的 倍速時,新的總執行時間 公式如下:
解題方法
採用「分離不可加速部分,倒推所需加速比」的分析方法:
步驟一:拆解原本執行時間
- 原始總執行時間
- 加法指令時間 (可改善部分)
- 非加法指令時間 (不可改善部分)
步驟二:列出新執行時間關係式 題目僅提升加法器速度至原來的 倍,非加法指令執行時間維持 不變。新總執行時間為:
步驟三:代入目標時間求解 目標為將程式執行時間降至 (即 ):
第 40 題2 分
使用霍夫曼編碼法(Huffman Coding)壓縮一份文件,這份文件只會出現五種字母 ,且這五個字母的出現機率分別為 、、、、。關於最後編碼(codeword)的長度,下列何者正確?
核心觀念
- 霍夫曼編碼(Huffman Coding):
- 一種常見且廣泛應用的無失真資料壓縮(Lossless Data Compression)演算法。
- 屬於變動長度編碼(Variable-Length Coding)與前置碼/前綴碼(Prefix-Free Code),即任何字元的編碼皆不可為其他字元編碼的前綴,以確保解碼時的唯一性。
- 貪婪演算法(Greedy Algorithm)與由下而上(Bottom-Up)建樹:
- 霍夫曼樹以頻率(或機率)為依據建構擴充二元樹(Extended Binary Tree)。
- 基本原則:出現機率愈高的符號,分配在樹中離根節點愈近的位置(深度淺、編碼長度短);出現機率愈低的符號,分配在離根節點愈遠的位置(深度深、編碼長度長)。
- 編碼長度:各字母葉節點(Leaf Node)至根節點(Root)的路徑分支數(即該節點在樹中的深度),等於該字母最後編碼的位元長度(Bit Length)。
解題方法
求各字母之編碼長度,標準程序為依序合併最小權重節點以建構霍夫曼樹(Huffman Tree):
步驟一:列出初始節點並由小到大排序
將所有字母依出現機率遞增排序:
步驟二:逐步合併最小的兩個節點
- 第一次合併:
- 挑出機率最小的兩個節點: 與 。
- 合併為內部節點 ,其權重為:
- 現有節點集合更新並重新排序:
- 第二次合併:
- 挑出機率最小的兩個節點: 與 。
- 合併為內部節點 ,其權重為:
- 現有節點集合更新並重新排序:
- 第三次合併:
- 挑出機率最小的兩個節點: 與 。
- 合併為內部節點 ,其權重為:
- 現有節點集合更新並重新排序:
- 第四次合併:
- 剩下最後兩個節點: 與 。
- 合併形成根節點 ,其權重為:
步驟三:繪製霍夫曼樹並計算碼長
建構完成之二元樹結構如下: