109 高普考普通考試 資訊處理 計算機概要 考古題詳解
第 1 題2 分
常見嵌入式處理器,如 ARM 與 MIPS,皆使用記憶體映射(memory-mapped I/O)方式與外部的輸入/輸出裝置溝通。下列何者為此類型處理器對輸入/輸出裝置下命令所使用的指令?
核心觀念
本題考查「記憶體映射輸入/輸出」(memory-mapped I/O)。這種設計會把外部裝置的控制暫存器與資料暫存器配置在處理器的記憶體位址空間中。處理器存取這些位址時,實際上是在讀取裝置狀態、讀取輸入資料,或寫入命令與輸出資料。
解題方法
判斷關鍵在於:裝置的暫存器是否被當成記憶體位址來存取。既然題目指出 ARM、MIPS 使用記憶體映射 I/O,處理器便以一般的記憶體存取指令讀寫裝置暫存器。例如,寫入控制暫存器即可下達命令,因此答案是記憶體存取指令。
選項分析
- **(A) 算術與邏輯運算指令:錯誤。**這類指令用來進行加減、位元運算或比較等運算;雖然可以協助處理讀入的資料,但不是用來直接存取裝置暫存器下命令的指令類型。
- **(B) 記憶體存取指令:正確。
第 2 題2 分
處理器的管道化處理技術(pipelining)可提升運作效率,但是在有危障(hazards)發生時則會降低它所帶來的好處。下列何者不是管道化處理的危障?
核心觀念
本題考查處理器的管道化(pipelining)危障。管道化將指令執行拆分成多個階段,讓不同指令能在同一時間分別進入不同階段,以提高處理器的指令吞吐量。但當指令執行所需的資源或資料彼此衝突,或控制流程尚未確定時,管線便可能停頓或清空,降低管道化的效益。
常見的管道化危障分為三類:
- 結構危障(structural hazard):多個指令同時需要同一項硬體資源,造成資源競爭。
- 數據危障(data hazard):指令間存在資料相依,後續指令必須等待前一指令產生資料。
- 控制危障(control hazard):分支或跳躍指令使下一個要執行的指令尚未確定。
解題方法
辨認選項是否屬於管道化的標準三類危障即可。結構、數據與控制危障都是常見分類;「計算危障」不屬於這三類,因此選擇 (D)。
選項分析
第 3 題2 分
多處理器(multiprocessor)架構可大致分為兩個類別:共享實體記憶體位址空間與各自擁有實體記憶體位址空間。針對多處理器架構,下列敘述何者錯誤?
核心觀念
多處理器架構可依實體記憶體位址空間的配置,分為兩類:
- 共享記憶體架構:處理器共享同一個實體位址空間,通常以讀寫共同資料的方式交換資訊。若各處理器有快取,系統須維持快取一致性,避免不同處理器讀到不一致的資料。
- 分散式記憶體架構:各處理器有自己的實體記憶體位址空間,彼此不能直接存取對方的記憶體,須透過訊息傳遞交換資料。
兩種架構各有設計取捨:共享記憶體讓程式較容易透過共同資料溝通,但硬體須處理記憶體共享、快取一致性與同步問題;分散式記憶體的硬體較具模組性,但程式須明確安排處理器間的資料傳送。
解題方法
先用「記憶體如何共享」區分兩類架構,再判斷各選項對硬體設計與程式設計難度的比較是否符合一般特性。本題錯誤選項把共享記憶體架構的硬體設計說成較簡單;實際上,維持共享資料與快取一致性會增加硬體複雜度,因此應選 (C)。
選項分析
(A) 正確。 共享實體記憶體位址空間的處理器可透過共同記憶體中的資料通訊。當處理器各自設有快取時,系統必須採取快取一致性機制,使一個處理器對資料的更新能被其他處理器正確觀察。選項以「快取一致的共享記憶體」描述這類通訊方式,符合共享記憶體架構的特性。
第 4 題2 分
有關計算機使用的技術,下列何者出現的年代最早?
核心觀念
本題考計算機硬體技術的發展先後,常以不同世代的主要電子元件排序:
真空管 → 電晶體 → 積體電路(IC)→ 超大型積體電路(VLSI)
元件演進的方向,是在提升運算能力與可靠度的同時,讓電路更小、更省電,也能整合更多元件。
解題方法
將四種技術按發展年代由早到晚排列,最早出現者即為答案。真空管早於電晶體;電晶體普及後,進一步發展出將多個元件整合於晶片上的積體電路,後來再提升到超大型積體電路。
選項分析
第 5 題2 分
隨著電腦科技的演進,處理器可以扮演的角色日趨多元,下列哪一個類型的處理器,較為適宜用於螢幕繪圖(graphics rendering)與高效能計算?
核心觀念
本題考處理器的用途與架構特性。螢幕繪圖與高效能計算常包含大量可同時執行的運算,例如像素著色、矩陣運算與向量計算。適合這類工作的處理器,通常具有大量運算核心,能以平行方式處理大量資料。
解題方法
先辨認題目描述的工作型態:螢幕繪圖與高效能計算都需要大量、可平行化的數值運算。再比較各選項的主要定位;專為圖形平行運算設計的 GPU 最符合題意。
選項分析
- (A) CPU(中央處理器)錯誤。 CPU 擅長執行一般用途的指令與複雜控制流程,適合處理作業系統、程式邏輯等工作,也能進行計算;但大量相同或相近的運算同時展開時,GPU 通常更適合。
- **(B) DSP(數位訊號處理器)錯誤。
第 6 題2 分
下列何者不適用於敘述圖形處理器(graphics processing unit, GPU)的特性?
核心觀念
本題考 GPU 的平行處理方式,以及 GPU 如何處理記憶體延遲。GPU 擁有大量運算核心,可同時處理多筆資料,常以大量執行緒提高運算吞吐量;但它通常不以「低記憶體延遲」為主要特性。
SIMD 是「單一指令、多筆資料」:多個運算單元對不同資料執行相同指令。MIMD 是「多重指令、多筆資料」:不同處理單元可執行不同指令、處理不同資料。不同 GPU 架構及工作負載可呈現 SIMD 或 MIMD 等平行特性。
解題方法
題目問何者「不適用」於 GPU,應逐項判斷選項是否符合 GPU 常見特性。GPU 的設計重點是大量平行運算與高吞吐量,不是讓單一記憶體存取的等待時間特別短。當記憶體存取延遲發生時,GPU 可切換執行其他可執行的執行緒,以隱藏延遲、維持運算單元忙碌。
選項分析
第 7 題2 分
有關例外(exception)處理,下列敘述何者錯誤?
核心觀念
本題考例外(exception)的處理方式,以及精確例外與不精確例外的差異。例外是處理器在執行指令時遇到的特殊事件,例如未定義指令、除以零或記憶體存取錯誤。處理器會保存例外相關資訊並轉交控制權,讓作業系統或例外處理函式決定如何處理;程式不一定能繼續執行。
精確例外能指出造成例外的指令,且處理器狀態維持在可供系統恢復或重新執行的邊界。不精確例外則可能因指令重疊或管線化執行,難以直接判定是哪一道指令造成,因而增加作業系統處理上的困難。
解題方法
逐項檢查敘述是否符合例外處理的一般機制。特別留意選項中「確保程式可以繼續執行」及「不可以終止程式」這類絕對用語:作業系統可以嘗試處理例外,但不保證能恢復程式;遇到無法處理的錯誤時,終止程式是合理的處置方式。
選項分析
(A) 正確。 發生例外時,處理器會暫停原有執行流程,轉交控制權給作業系統或例外處理函式,由其檢查原因並採取處置。若例外可恢復,處理後可讓程式繼續;若不可恢復,也可終止程式。
第 8 題2 分
程式在執行時,不同程序(procedures)在呼叫時必須遵循程序的呼叫慣例(procedure calling conventions),即利用一個統一的方式使用暫存器,以避免可能造成的潛在錯誤。下列哪一個時間點不需要遵守上述的程序呼叫慣例?
核心觀念
程序呼叫慣例(procedure calling convention)規定程序呼叫時,呼叫者與被呼叫者如何使用暫存器、傳遞參數、保存返回位址,以及返回時如何還原狀態。這套規則讓不同程序能以一致方式協作。
暫存器通常分成兩類:呼叫者保存暫存器由呼叫者在呼叫前自行保存;被呼叫者保存暫存器則由被呼叫者在使用後、返回前還原。呼叫慣例著重在呼叫與返回的介面及相關準備、收尾工作。
解題方法
辨認題目所問的「時間點」,再判斷它是否涉及程序之間依約定交接控制權或保存、還原暫存器。若程序只是在自己的程序本體中執行,且沒有呼叫其他程序,也沒有進行呼叫或返回的準備,就不需要執行程序呼叫慣例所規範的動作。
選項分析
第 9 題2 分
量測一個硬碟的效能數據後,得知其搜尋時間(seek time)之平均值約為 、定位時間(positioning time)之平均值約為 ,那麼該硬碟的每分鐘轉數(rotation per minute, RPM)最接近下列何者?
核心觀念
硬碟的平均定位時間(positioning time)通常由平均搜尋時間與平均旋轉延遲時間組成:
硬碟平均旋轉延遲時間是轉半圈所需的時間,因為資料平均而言要等待磁碟旋轉半圈,才能到達讀寫磁頭下方。若轉速為 RPM,每圈所需時間為 毫秒,因此:
解題方法
已知平均搜尋時間為 ,平均定位時間為 ,先求平均旋轉延遲時間:
平均旋轉延遲時間為一圈時間的一半,所以一圈所需時間為:
換算每分鐘轉數:
最接近的選項是 。
選項分析
第 10 題2 分
許多計算機中有三層快取記憶體(Cache Memories),分別為 L1、L2 與 L3 快取記憶體。下列敘述何者錯誤?
核心觀念
本題考快取記憶體(Cache)的層級特性,以及快取記憶體在記憶體階層中的用途。快取位於中央處理器(CPU)與主記憶體之間,用來利用程式的時間區域性與空間區域性,降低 CPU 等待資料的時間。
一般而言,快取層級越靠近 CPU,存取速度越快、容量越小;層級越遠,速度越慢、容量越大。
解題方法
逐一檢查各選項是否符合快取的層級特性與用途。尤其要分清楚「主記憶體」與「硬碟」:快取主要縮短 CPU 與主記憶體之間的速度差距;硬碟屬於輔助儲存裝置,速度遠低於主記憶體,並非快取直接彌合的對象。
選項分析
(A) 存取速度 :正確。 最靠近 CPU,速度最快; 次之; 通常容量較大、距離較遠,存取速度較慢。此處的「」表示存取速度較快。
第 11 題2 分
冗餘廉價磁碟陣列(RAID)可分成不同等級,在使用硬碟總數相同的情況下,下列何者的安全性最低?
核心觀念
本題考 RAID(冗餘廉價磁碟陣列)各等級的資料保護能力。判斷安全性時,重點是磁碟故障後,陣列能否透過鏡像或同位元資訊重建資料。
- RAID 0:資料分散(striping)寫入多顆磁碟,沒有鏡像或同位元資訊。
- RAID 1:以鏡像(mirroring)在不同磁碟保存相同資料。
- RAID 5:以分散式同位元(distributed parity)提供冗餘。
- RAID 6:以雙重分散式同位元提供冗餘,容許更多磁碟故障。
解題方法
比較各 RAID 等級能容忍的磁碟故障數量。相同磁碟總數下,RAID 0 沒有任何冗餘;只要一顆磁碟故障,部分資料便會遺失,整個陣列通常無法完整使用。因此它的安全性最低。
選項分析
第 12 題2 分
個位元形成的位址空間(Address Space)範圍為何?
核心觀念
位址空間是所有可表示位址的集合。若位址由 個位元表示,每個位元有 、 兩種狀態,因此共有 種不同位址。採用從 開始編號時,位址範圍為 至 。
解題方法
本題有 個位元,故可表示的位址數量為:
從 開始編號,最後一個位址為:
所以位址範圍是 。
選項分析
- (A) :錯誤。 此範圍共有 個位址,對應 個位元。
- **(B) :錯誤。
第 13 題2 分
下列敘述何者錯誤?
核心觀念
本題考查二進位的補數、十進位的補數,以及十進位數字的 BCD(Binary-Coded Decimal,二進碼十進數)表示法。
- 二進位 1 的補數:每個位元逐位反相, 換成 、 換成 。
- 二進位 2 的補數:在 1 的補數上加 ;位數須與原數相同。
- 十進位 9 的補數:每一位數字以 減去該位數字;小數部分也按位計算。
- BCD 碼:每個十進位數字分別以 4 位元表示,不能把整數直接轉成二進位。
解題方法與選項分析
(A) 錯誤。 的 1 的補數是逐位反相:
再加 得 2 的補數:
因此, 的 2 的補數應為 ,不是選項所列的 。也可用固定位數驗算:,捨去最高位進位後為 。
第 14 題2 分
核心觀念
這題考查不同進位數字的表示法與進位制乘法。下標表示該數使用的進位制,例如 是八進位數, 是十六進位數。計算前須先將它們換成相同進位制,或先換成十進位計算。
解題方法
將兩個數都換成十進位:
相乘得:
再將 轉成十六進位:
因此:
選項分析
第 15 題2 分
-to- 解碼器(Decoder)設計中,高位元到低位元的輸入若為 ,下列何者為高位元到低位元的輸出?
核心觀念
-to- 解碼器會把 位元輸入解讀成 至 的二進位數,並使 個輸出中與該數字對應的一個輸出有效,其餘輸出無效。輸入的位元由高位元至低位元排列;輸出也依題目所示,由高位元至低位元排列。
解題方法
輸入為 ,換算成十進位為:
因此,解碼器選取第 號輸出。若輸出由高位元至低位元標為 ,則第 號輸出是 。將 設為 ,其他輸出設為 ,依 至 排列為:
選項分析
第 16 題2 分
八位元的二進位數 邏輯左移(Logical Shift Left)一位後,結果為何?
核心觀念
邏輯左移(Logical Shift Left)會將每一位元向左移一格,最左側被移出的位元捨棄,最右側空出的位置補 。本題是八位元運算,因此結果仍須保留八位元。
解題方法
將 的每一位向左移一格:
因此結果為 。
選項分析
第 17 題2 分
至少要用幾個 NOR 邏輯閘,才能建構出一個 AND 邏輯閘?
核心觀念
NOR 閘的輸出為輸入經 OR 後再反相:
只要將 NOR 閘的兩個輸入端接在一起,就能作為反相器:
因此,NOR 閘可用來組成其他基本邏輯閘。
解題方法
依德摩根定律:
可分三步實作:
- 用第一個 NOR 閘將 反相:。
- 用第二個 NOR 閘將 反相:。
- 將 、 輸入第三個 NOR 閘:
第 18 題2 分
核心程序(Kernel Process)所需記憶體的分配與管理,通常是採取夥伴系統(Buddy System)或平板分配(Slab Allocation)演算法。下列敘述何者錯誤?
核心觀念
Buddy System(夥伴系統)與 Slab Allocation(平板分配)都是作業系統核心管理記憶體的方式,但分配單位不同:
- 夥伴系統把記憶體切分成大小為 2 的冪次方區塊,依需求分配區塊;空間不足時可將區塊分割,回收時則可與同大小的夥伴區塊合併。
- 平板分配先向夥伴系統取得較大的記憶體區塊,再切成多個固定大小的 slab,供特定類型的核心物件使用。
因此,夥伴系統通常以記憶體區塊為分配單位;平板分配則更適合管理核心物件。
解題方法
比較兩種演算法的分配單位、記憶體是否連續,以及碎裂情形。題目要求找出錯誤敘述;其中把夥伴系統的分配單位說成「核心物件」的選項,與其實際用途不符。
選項分析
第 19 題2 分
在機器學習的領域中,我們常用一種叫做監督式學習(supervised learning)的技巧。下列哪一項敘述不是監督式學習的特性?
核心觀念
監督式學習(supervised learning)是使用帶有標記的訓練資料,讓模型學習輸入與預期輸出之間的關係。每筆資料通常包含輸入及其正確標記;模型依據這些例子建立規則,再用於預測新資料的輸出。
監督式學習的模型能否正常訓練,取決於資料品質、資料量、特徵及模型等多項因素。少量標記錯誤可能降低模型表現,但不代表模型必然不能使用。
解題方法
逐項判斷敘述是否符合監督式學習的特性。題目問「不是」其特性,因此要找出把錯誤標記的影響說得過於絕對的選項。
選項分析
- (A) 正確。 監督式學習需要提供輸入資料對應的目標輸出標記。標記通常由人類或既有流程提供,因此設計者或資料準備者須能判定特定輸入應對應的輸出。
第 20 題2 分
下列哪個碼與 之漢明距離(Hamming distance)為 ?
核心觀念
漢明距離是兩個等長二進位字串中,對應位元不同的位置數。逐位比較並計算不同的位元數,即可求出距離;本題要求距離為 。
解題方法
將各選項與 由左至右逐位比較,以 表示該位不同、 表示相同,再加總:
| 選項 | 逐位比較(不同記為 ) | 漢明距離 |
|---|---|---|
| (A) | ||
| (B) | ||
| (C) | ||
| (D) |
第 21 題2 分
在統一塑模語言(Unified Modeling Language)中,下列何者不屬於結構性圖型(Structural Diagrams)?
核心觀念
UML 圖型可依描述對象分為結構性圖型與行為性圖型。結構性圖型呈現系統中較靜態的部分,例如類別、物件、元件與部署;行為性圖型則呈現系統的動作、流程或狀態變化。狀態圖描述物件在不同狀態間的轉換,屬於行為性圖型。
解題方法
逐一辨認各選項所呈現的內容:類別圖、部署圖與物件圖描述系統的靜態結構;狀態圖描述狀態及其轉換。因此,題目詢問「不屬於結構性圖型」時,選出狀態圖即可。
選項分析
- (A) 類別圖(Class Diagram):屬於結構性圖型,用來呈現類別、屬性、操作,以及類別間的關係。
第 22 題2 分
使用 C 程式語言宣告一個聯合(union)資料型態如下:
union unit { char c; int value; };
若 char 型態與 int 型態的變數分別需要占用 個和 個位元組的空間,上述的 union 資料型態需要的空間是多少個位元組?
核心觀念
union(聯合)的所有成員共用同一段記憶體,因此所需空間以最大成員的大小為基礎,而不是將各成員的大小相加。
解題方法
本題兩個成員分別需要:
char c: 個位元組int value: 個位元組
取兩者中的較大值:
所以此 union 需要 個位元組。
選項分析
第 23 題2 分
在 Java 程式中,若子類別(Subclass)的方法(Method)與父類別(Superclass)的方法具有相同的方法名稱、參數(Parameter)數量、參數型態(Type),以及回傳(Return)型態,僅方法內部實作不同,則稱為下列物件導向程式的何種設計方式?
核心觀念
本題考查 Java 的方法覆寫(Overriding)。子類別繼承父類別的方法後,若以相同的方法名稱及參數型態重新定義該方法,子類別版本便會取代或擴充父類別版本的行為。呼叫時實際執行哪個版本,會依物件的實際類別而定,這是執行期多型的重要基礎。
解題方法
題幹指出方法定義在子類別與父類別中,且方法名稱、參數數量、參數型態及回傳型態相同,只有內部實作不同。辨認關鍵是「繼承關係中的相同方法重新實作」,符合方法覆寫的特徵。
選項分析
- **(A) 複製(Copy)錯誤:**複製是將資料或物件內容另行複製的操作,不是子類別重新定義父類別方法的物件導向設計方式。
第 24 題2 分
若執行以下的 Python 程式碼,則螢幕上輸出的數字依序為何?
for a in range(3, 9): for b in range(2, a): if a % b == 0: print(b)
核心觀念
本題考查 Python 巢狀 for 迴圈、range 的範圍,以及取餘數運算子 %。
range(3, 9) 依序產生 ,不包含終點 。每次外層迴圈指定一個 a,內層 range(2, a) 則依序檢查 到 。當 a % b == 0 時,代表 可被 整除,程式便輸出 b。
解題方法
依照外層 a 的順序,逐一列出符合整除條件的 b:
a | 內層檢查的 b | 輸出的 b |
|---|---|---|
| 3 | 2 | 無 |
| 4 | 2、3 | 2 |
| 5 | 2、3、4 | 無 |
| 6 | 2、3、4、5 | 2、3 |
| 7 | 2、3、4、5、6 | 無 |
| 8 | 2、3、4、5、6、7 | 2、4 |
因此,螢幕上的輸出依序為:
選項分析
第 25 題2 分
若一個非空的二元樹(Nonempty Binary Tree)使用 代表節點數量以及 代表高度(Height),並定義根節點(Root)的高度為 ,則有關節點數量與高度,下列敘述何者錯誤?
核心觀念
本題考二元樹的節點數量 與高度 的關係。題目將根節點的高度定為 ,因此高度 的節點位於第 層;從根節點到最深葉節點共有 層。
- 每層至少要有一個節點,才能形成高度為 的二元樹。
- 二元樹每個節點最多有兩個子節點,因此第 層最多有 個節點。
解題方法
固定高度 ,要讓節點數量最少,樹必須只有一條由根節點延伸至高度 的路徑,因此 。
要讓節點數量最多,則每一層都填滿。從第 層到第 層的節點數總和為:
反過來,固定節點數 ,高度最小的情形是盡可能讓各層填滿。由節點數上限可得:
因此高度下界為:
第 26 題2 分
若一個一維陣列 ,每個陣列元素占用二個記憶體位址空間,已知 的記憶體位址為 ,則 的記憶體位址為何?
核心觀念
一維陣列以固定間距儲存元素。每個元素占用 個記憶體位址空間,因此相鄰索引的位址相差 。從一個索引移到另一個索引,位址差為:
解題方法
比 的索引小 :
因此, 的位址比 小 個位址空間:
故 的記憶體位址為 。
選項分析
第 27 題2 分
假設有一個二元搜尋樹(binary search tree),其節點儲存的數值介於 至 之間,下列何者是不可能出現的搜尋過程?
核心觀念
二元搜尋樹(Binary Search Tree, BST)搜尋時,若目前節點的值為 ,要找的值小於 就往左子樹走,大於 就往右子樹走。因此,搜尋路徑上每個節點都會逐步縮小目標值的可能範圍。
一段搜尋序列要能出現在同一棵 BST 中,後續節點必須同時符合先前每一步所形成的上下界;若某個值違反其中任何界限,該搜尋過程便不可能發生。
解題方法
沿著序列逐一更新目標值的範圍:
- 往左走:目前節點成為上界。
- 往右走:目前節點成為下界。
- 後續節點必須落在累積的上下界之內。
選項分析
(A)
由 往右,目標值大於 ;再依序往右經過 ,此時目標值須大於 且小於 。最後的 符合 ,搜尋路徑可成立。
(B)
第 28 題2 分
下列何種攻擊是利用社交工程(social engineering)達成目的?
核心觀念
本題考查社交工程與常見網路攻擊的差異。社交工程是利用人的信任、好奇心或疏忽,誘使對方提供機密資料、點擊連結或執行特定操作;網路釣魚攻擊則常以偽造的電子郵件、網站或訊息,假冒可信任的機關或服務,誘騙使用者交出帳號、密碼等資訊,因此屬於社交工程手法。
解題方法
辨認各選項的主要攻擊途徑:若攻擊核心是操弄使用者、誘騙其採取行動,便是社交工程;若核心是重送封包、攔截通訊或利用伺服器協定機制,則屬於其他類型的攻擊。依此判斷,釣魚攻擊直接利用使用者的信任與判斷疏失,符合題意。
選項分析
- (A) 重送攻擊(replay attack)錯誤。 攻擊者擷取合法傳輸的資料或認證訊息,再於之後重送,企圖冒充合法使用者或重複觸發交易。其關鍵是重複利用已擷取的資料,並非利用社交工程誘騙使用者。
- **(B) 網路釣魚攻擊(phishing attack)正確。
第 29 題2 分
編譯器是在下列哪一個階段,判斷程式是否符合語法(syntax)?
核心觀念
編譯器會將原始程式依序分成數個階段處理。本題考的是**語法分析(syntax analysis)**由哪個階段負責。
- 詞法分析(lexical analysis):將字元組成詞彙單元(token),例如關鍵字、識別字、運算子與常數。
- 解析(parsing):依照文法規則檢查 token 的排列是否符合語法,並建立語法樹或剖析樹。
- 語意分析(semantic analysis):檢查語法正確的程式是否符合語意規則,例如型別是否相容、變數是否已宣告。
- 機器碼最佳化(code optimization):改善程式碼的執行效率或空間使用。
解題方法
題目問「判斷程式是否符合語法」,關鍵是區分「組成合法 token」與「token 排列符合文法」:
- 詞法分析確認字元能否組成合法的 token。
- 解析階段依文法檢查 token 的排列是否正確。
- 因此,判斷程式是否符合語法是**解析(parsing)**的工作。
第 30 題2 分
假設我們有一個平行計算程式,其中有 的工作屬於理想平行計算(Parallel Computation), 的工作屬於循序計算(Sequential Computation)。如果我們現在使用 處理核心(Core)的處理器(Processing Unit),相對於使用只有單一處理核心的處理器,假設每個處理核心都具有相同的運算能力,此工作最快約能加速多少倍?
核心觀念
本題考查阿姆達爾定律(Amdahl’s Law):程式中循序部分無法因增加核心而加速,平行部分則理想上可由多個核心分攤。若平行比例為 、循序比例為 ,使用 個核心時的加速比為:
解題方法
題目給定平行工作比例 、循序工作比例 ,以及核心數 。代入公式:
因此,相較於單核心處理器,使用 8 核心時約可加速 倍。
選項分析
第 31 題2 分
某作業系統中有五個程序 ,四種資源類型(Resource Types):資源類型 A 有 個實例(Instances),資源類型 B 有 個實例,資源類型 C 有 個實例,資源類型 D 有 個實例。以下為某一時間 時的系統資源狀態:
程序 對於 A、B、C、D 四種資源類型所得到的分配(Allocation)情形為:
、、、、。
程序 對於 A、B、C、D 四種資源類型的最大需求(Maximum)情形為:
、、、、。
此時作業系統中 A、B、C、D 四種資源類型的可用(Available)數量為 ,則下列敘述何者正確?
核心觀念
本題考 銀行家演算法(Banker’s Algorithm) 的安全性檢查。系統處於安全狀態,表示存在一種程序執行順序,使每個程序都能先取得尚缺資源、完成後釋放已分配的資源,最後讓所有程序完成。
每個程序的尚需資源量為:
檢查時,若某程序的 各項資源需求都不大於目前的 (可用資源),該程序即可完成;完成後將它原先取得的資源加回 :
初始 。找到一組能讓所有程序依序完成的順序,即為安全順序。
解題方法
依 A、B、C、D 的順序計算各程序的 :
| 程序 | Allocation | Maximum | Need |
|---|---|---|---|
初始可用資源為:
依選項 D 的順序逐步檢查:
- :,可完成。釋放 :
第 32 題2 分
在平行計算的模式中,有所謂的數據平行性(data parallelism)和工作平行性(task parallelism)。下列哪一種平行計算行為屬於工作平行性?
核心觀念
平行計算可依「工作如何分配」區分為兩類:
- 數據平行性(data parallelism):把一批資料切分後,讓多個處理單元對不同資料執行相同或相似的運算。例如,同時計算多個陣列元素。
- 工作平行性(task parallelism):把不同工作或不同處理階段交給不同處理單元,讓它們同時執行;各工作不必對相同型態的資料做相同運算。
本題要判斷各選項的平行化方式,重點是看它在平行執行時,主要是「分派不同資料」還是「分派不同工作」。
解題方法
逐一檢視各行為的工作結構:若可將大量同類資料分給多個處理單元,各自執行相同運算,屬於數據平行性;若可將不同功能或處理階段分給不同處理單元,則屬於工作平行性。依官方答案,本題以同步影音解碼作為工作平行性的例子。
選項分析
第 33 題2 分
記憶體對映檔(Memory Mapped File)是將檔案視為記憶體,並以記憶體操作指令來存取檔案內容的一種檔案操作方式。下列關於記憶體對映檔的敘述,何者錯誤?
核心觀念
本題考查「記憶體對映檔」(Memory-Mapped File)與「記憶體對映輸出入」(Memory-Mapped I/O)的差異。
記憶體對映檔是把檔案內容對映到程序的虛擬位址空間,程序可用一般記憶體讀寫方式存取檔案。作業系統再透過虛擬記憶體與檔案系統機制,處理分頁載入及資料回寫。
記憶體對映輸出入則是將裝置的控制暫存器或輸出入位址對映到處理器的記憶體位址空間,讓處理器以載入、儲存等記憶體指令操作裝置。它和「把一般檔案對映到虛擬記憶體」是不同概念。
解題方法
逐項判斷敘述是否符合記憶體對映檔的用途與機制。關鍵在於辨認選項是否把「檔案對映」和「裝置輸出入對映」混為一談。依題目提供的官方答案,錯誤選項為 D。
選項分析
(A) 正確。 記憶體對映檔會將檔案的一部分或全部對映到程序的虛擬位址空間。作業系統以分頁為單位載入所需內容,並在必要時將修改寫回檔案,因此可透過虛擬記憶體機制完成存取。
第 34 題2 分
應用程式使用系統呼叫(System Call)時,若欲傳送參數給作業系統,通常不會透過下列哪一種途徑?
核心觀念
本題考查作業系統的系統呼叫(System Call)如何接收應用程式傳入的參數。常見方式有三種:將參數放在暫存器、放在記憶體區塊並以指標傳遞,或放在堆疊中,再由作業系統取用。檔案儲存裝置不是傳遞系統呼叫參數的通常途徑。
解題方法
辨認選項是否屬於程式與作業系統間可直接傳遞參數的機制。暫存器、記憶體與堆疊都能讓作業系統取得呼叫參數;檔案儲存裝置則是長期儲存資料的媒介,並非系統呼叫傳參的常見機制。
選項分析
第 35 題2 分
一個用 解析度列印的圖片大小為 英吋乘 英吋,該圖片的輸出點共有幾個?
核心觀念
本題考查列印解析度與輸出點數的關係。 表示每英吋有 個輸出點;圖片的總輸出點數,等於水平方向點數乘以垂直方向點數。
解題方法
圖片長、寬各為 英吋,因此每一方向的輸出點數為:
再將兩個方向的點數相乘:
也可直接計算:
選項分析
第 36 題2 分
在 RGB 彩色模式中,將紅、綠、藍三色的值設為下列何者,可得到黑色?
核心觀念
本題考 RGB 加色混色。RGB 以紅、綠、藍三種光的強度表示顏色;每個色彩通道的數值愈大,該色光愈強。常見的 8 位元 RGB 範圍是 至 :
- 表示該色光完全不輸出。
- 表示該色光達到最大強度。
三個通道都為 時,沒有紅、綠、藍光輸出,因此呈現黑色;三個通道都為最大值時,三色光疊加呈現白色。
解題方法
逐一查看紅、綠、藍三個通道的強度。要得到黑色,三種光都必須完全關閉,因此需滿足:
選項分析
第 37 題2 分
於光線明亮的美術館看到一幅色彩繽紛的畫時,此圖案的色彩訊息主要是由下列哪一項來傳遞訊號到大腦?
核心觀念
本題考視覺感光細胞的功能分工。視網膜內的感光細胞分為錐狀細胞與柱狀細胞:錐狀細胞主要負責明亮環境下的色彩辨識,也有助於辨別細節;柱狀細胞則對微弱光線較敏感,主要負責暗處的視覺,無法辨識色彩。
解題方法
先抓題幹中的兩個線索:「光線明亮」與「色彩繽紛」。明亮環境下要辨識色彩,主要依靠錐狀細胞,因此選擇錐狀細胞。題目問的是傳遞色彩訊息的主要感光細胞,不是整個感光器官或調節入光量的構造。
選項分析
第 38 題2 分
超文本傳輸協定(HyperText Transfer Protocol, HTTP)是全球資訊網通訊的基礎,提供一種接收 HTML 頁面的方法。關於 HTTP 協定,下列敘述何者錯誤?
核心觀念
本題考查 HTTP 的起源、用途、通訊架構,以及是否具備加密機制。HTTP 是應用層的通訊協定;一般 HTTP 傳輸內容未加密,HTTPS 則是在 HTTP 上加入 TLS 加密保護。
解題方法
逐項判斷敘述是否符合 HTTP 的基本特性。特別注意「HTTP」與「HTTPS」的差異:HTTP 本身不提供傳輸加密,因此把加密視為 HTTP 的固有特性,該敘述錯誤。
選項分析
- (A) 正確。 HTTP 由提姆・柏內茲-李(Tim Berners-Lee)在歐洲核子研究組織(CERN)發展,作為全球資訊網的通訊基礎。
第 39 題2 分
「比特幣」與下列哪個技術最為相關?
核心觀念
本題考「比特幣」與「區塊鏈」的關係。比特幣是一種加密貨幣,其交易紀錄會以區塊形式串接,並透過分散式網路共同維護;這種保存與驗證交易紀錄的技術就是區塊鏈。
解題方法
辨認題目中的代表性應用即可:比特幣是區塊鏈技術早期且著名的應用。區塊鏈負責記錄並驗證交易,比特幣則是建立在此機制上的數位貨幣,因此兩者最為相關。
選項分析
- (A) 大數據(Big Data):錯誤。 大數據著重大量、多樣且快速產生資料的蒐集、儲存與分析;它不是比特幣交易紀錄的核心技術。
- **(B) 物聯網(Internet of Things):錯誤。
第 40 題2 分
使用 LZW 壓縮法來壓縮一個由字母集 所組成的字串 ,第三個被新填入字串編碼表的字串為何?
核心觀念
LZW(Lempel–Ziv–Welch)壓縮法會先把字母表中的單一字元列為初始字典。掃描輸入字串時,維持目前字典中最長的已知字串 ,並查看下一個字元 :
- 若 已在字典中,將 延長為 。
- 若 不在字典中,便把 新增至字典,接著從目前位置繼續掃描。
本題問的是「第三個新填入字典的字串」,不問其編碼值。
解題方法
初始字典包含單一字元 、、。依序掃描 ,每次遇到字典中尚未收錄的延伸字串,就新增該字串:
| 掃描位置 | 目前已知字串 | 下一字元 | 新增字典字串 |
|---|---|---|---|
| 1–2 | (第 1 個) | ||
| 2–3 | (第 2 個) |