114 年 國立成功大學資訊管理研究所甲組《計算機概論》
第 I-1 題
Which of the following scenarios best illustrates the use of a virtual machine (VM) in a business environment?
(A) Hosting a single operating system on a physical server for file storage.
(B) Running legacy software on a modern operating system without modifying the hardware.
(C) Using a high-performance cluster to solve parallel computing problems.
(D) Utilizing a dedicated physical server to increase network bandwidth.
登入後即可作答並保存紀錄。
核心觀念
本題主要考查**虛擬化技術(Virtualization Technology)與虛擬機器(Virtual Machine, VM)**在企業實務環境中的應用場景與核心效益。
- 虛擬機器(Virtual Machine, VM):利用軟體技術(稱為 Hypervisor 或 Virtual Machine Monitor, VMM)在實體硬體上模擬出獨立的電腦系統環境。每個虛擬機器都可以執行自己的作業系統(Guest OS)與應用程式,並與底層的硬體或宿主作業系統(Host OS)互相隔離。
- 遺留系統與相容性(Legacy Software & Compatibility):企業中常有早期開發的舊版應用程式(Legacy Software),這些系統可能僅能在特定舊版作業系統(例如 Windows XP、Linux 早期的 kernel 等)上運作,無法直接安裝於現代的新版作業系統上。透過虛擬機器,可以在現代的實體硬體與現代作業系統上建置舊版作業系統的 Guest OS,進而使舊軟體順利運作,無需修改硬體或重新開發應用程式。
解題方法
解答此類應用場景選擇題的切入點,在於將各選項的敘述與**虛擬化技術(VM)**的本質特質進行比對:
- 辨識 VM 的核心優勢:硬體抽象化、跨作業系統相容性、硬體資源整合(Consolidation)、隔離性與移轉性。
- 分析題幹需求:題目要求選出最能體現企業環境中「使用虛擬機器(VM)」的情境。
- 比對選項:檢視何者需要利用 VM 在同一台硬體上模擬特定作業系統環境,解決軟硬體相容性或資源調配問題。
選項分析
- (A) Hosting a single operating system on a physical server for file storage.(錯誤)
- 分析:在一台實體伺服器上僅執行單一作業系統來提供檔案儲存服務,屬於標準的傳統非虛擬化環境部署(Bare-metal deployment)。這完全沒有發揮虛擬機器「一機多系統」或資源隔離的效益,反而是傳統實體伺服器(如 Dedicated File Server / NAS)的做法。
第 I-2 題
In a multitasking operating system, how does the OS ensure that multiple processes execute efficiently without interfering with each other?
(A) By using a single CPU core to execute all processes sequentially.
(B) By dividing available memory equally among all processes.
(C) By implementing process scheduling and memory protection mechanisms.
(D) By prioritizing user applications over system processes to maximize responsiveness.
登入後即可作答並保存紀錄。
核心觀念
本題考查作業系統(Operating System, OS)在多工作業環境(Multitasking Environment)下的兩大關鍵功能:行程排程(Process Scheduling)與記憶體保護(Memory Protection)。
- 行程排程(Process Scheduling):透過 CPU 排程演算法(如 Round Robin, Shortest Job First, Multi-Level Queue 等)與上下文切換(Context Switch),OS 動態地將 CPU 時間分時(Time-sharing)分配給各個行程,確保所有行程得以高效執行(efficiently execute)。
- 記憶體保護(Memory Protection):透過硬體機制(如基底/界限暫存器 Base/Limit Registers、MMU 分頁表權限位元等),OS 隔離不同行程的位址空間(Address Space),確保一個行程無法非法存取或破壞其他行程與系統核心的記憶體,防止互相干擾(without interfering with each other)。
解題方法
分析題目核心需求:OS 如何 simultaneous 達到「高效率執行」與「互不干擾(安全性與獨立性)」:
- 「高效執行」需要靠 CPU 時間分時與合理的資源排程,即 Process Scheduling。
- 「互不干擾」需要靠記憶體硬體保護與位址空間隔離,即 Memory Protection。
結合上述兩點,(C) 選項同時精準地涵蓋了效率(Scheduling)與隔離(Memory Protection)兩大關鍵機制。
選項分析
第 I-3 題
Suppose that items I, J, K, L, and M are inserted into an initially empty queue, in that order. The queue is then dequeued four times, and each item removed is pushed onto an initially empty stack. If two items are then popped from the stack, what is the next item that will be popped from the stack?
(A) item I
(B) item J
(C) item K
(D) item L
(E) item M
登入後即可作答並保存紀錄。
核心觀念
本題旨在考驗兩種最基礎且重要的資料結構(Data Structure):佇列(Queue) 與 堆疊(Stack) 的資料存取特性與操作順序。
- 佇列(Queue):遵循 先進先出(FIFO, First-In-First-Out) 原則。最早進入佇列的元素會最先被取出(Enqueue 從尾端加入,Dequeue 從前端取出)。
- 堆疊(Stack):遵循 後進先出(LIFO, Last-In-First-Out) 原則。最晚進入堆疊的元素會最先被取出(Push 從頂端壓入,Pop 從頂端彈出)。
解題方法
我們依據題目描述的操作順序,逐步追蹤佇列與堆疊的狀態變化:
-
初始狀態與連續 Push 至 Queue:
- 將項目 I, J, K, L, M 依序加入(Enqueue)初始為空的 Queue 中。
-此時 Queue 內部的元素順序(由前端至尾端)為:
- 將項目 I, J, K, L, M 依序加入(Enqueue)初始為空的 Queue 中。
-
連續 4 次 Dequeue 並 Push 至 Stack:
- 依據 Queue 的 FIFO 特性,連續取出 4 個元素:
- 第 1 次 Dequeue 取出 ,並 Push 入 Stack。
- 第 2 次 Dequeue 取出 ,並 Push 入 Stack。
- 第 3 次 Dequeue 取出 ,並 Push 入 Stack。
- 第 4 次 Dequeue 取出 ,並 Push 入 Stack。
- 此時 Stack 內部的元素順序(由底端至頂端)為:
- (註: Queue 中僅剩項目 )
- 依據 Queue 的 FIFO 特性,連續取出 4 個元素:
-
連續 2 次 Pop 出 Stack:
- 依據 Stack 的 LIFO 特性,從頂端連續彈出元素:
- 第 1 次 Pop 出頂端的 。
- 第 2 次 Pop 出頂端的 。
- 依據 Stack 的 LIFO 特性,從頂端連續彈出元素:
第 I-4 題
A user reports that their system slows down significantly when running multiple applications, and the hard drive activity increases. This behavior is likely due to:
(A) Insufficient CPU cores for multitasking.
(B) Virtual memory swapping due to insufficient RAM.
(C) A failed hard drive partition.
(D) An outdated operating system.
登入後即可作答並保存紀錄。
核心觀念
本題考驗作業系統(Operating System)中**虛擬記憶體(Virtual Memory)與頁面置換(Page Replacement / Swapping)的運作機制,以及複製抖動(Thrashing)**現象。
- 虛擬記憶體(Virtual Memory):
作業系統利用硬碟(Secondary Storage)的一塊區域(如 Swap 分區或 Swap 檔)來模擬延伸的主記憶體(RAM)。當多個應用程式同時執行,導致實體 RAM 容量不足時,作業系統會將暫時不使用的頁面(Pages)寫入硬碟,並將需要的頁面讀入 RAM。 - 抖動(Thrashing):
當系統運行的程式過多,實體 RAM 嚴重不足時,作業系統會頻繁進行頁面換入(Page-in)與頁面換出(Page-out)。因為硬碟的讀寫速度遠慢於 RAM,絕大多數的 CPU 時間都耗費在等待硬碟 I/O,導致硬碟指示燈持續暴亮/頻繁讀寫(Hard drive activity increases),且系統整體效能嚴重降低(System slows down significantly)。
解題方法
本題的切入點在於分析使用者回報的兩個關鍵特徵:
- 「同時執行多個應用程式時,系統顯著變慢(System slows down significantly)」:代表實體資源(RAM)已不足以支撐當前的工作負載(Working Set)。
- 「硬碟存取活動大幅增加(Hard drive activity increases)」:代表系統正轉轉於龐大的硬碟 I/O 讀寫,此即典型的「虛擬記憶體頻繁 Swapping / Page Fault」現象。
結合這兩點可知,問題的根源在於實體記憶體(RAM)不足,導致系統陷入**虛擬記憶體 Swapping(或 Thrashing)**狀態。
選項分析
- (A) Insufficient CPU cores for multitasking.(錯誤)
第 I-5 題
A company implements a stateful firewall in its network. How does this type of firewall enhance security?
(A) By encrypting all outgoing traffic to prevent data leaks.
(B) By analyzing and filtering packets based on predefined rules.
(C) By monitoring the state of active connections and allowing packets that are part of established connections.
(D) By scanning incoming packets for malware before allowing them to enter the network.
登入後即可作答並保存紀錄。
核心觀念
本題考驗網路安全(Network Security)中**狀態防火牆(Stateful Firewall / Stateful Inspection Firewall)**的工作原理與運作機制。
- 狀態防火牆(Stateful Firewall)定義:
狀態防火牆會追蹤並記錄通過防火牆的所有網路連線狀態(如 TCP 握手狀態、連線階段資訊)。它維護一張連線狀態表(State Table / Connection Tracking Table),記載來源 IP、目的 IP、來源連接埠、目的連接埠以及當前的連線狀態(如SYN_SENT,ESTABLISHED等)。 - 與無狀態防火牆(Stateless / Packet-Filtering Firewall)之差異:
- 無狀態防火牆:僅單純依賴預先設定的規則(如 ACL)逐一檢查單一封包的 Header(IP/Port),不記憶過去的連線歷史。
- 狀態防火牆:除了檢查 ACL 規則外,還能識別封包是否屬於已建立(Established)或相關(Related)的合法連線。若封包屬於已記錄在狀態表中的合法連線,通常會直接允許通過,無須重新比對繁雜的規則庫,大幅增進安全性與處理效率。
解題方法
解題切入點在於區分不同防火牆技術(Stateless Packet Filter, Stateful Firewall, Application Layer Gateway/Proxy, UTM/IPS, Data Encryption)的核心特徵:
- 識別題目關鍵字 Stateful Firewall。
- 搜尋答案中包含「監控/追蹤連線狀態(monitoring the state of active connections)」與「允許屬於已建立連線的封包通過(allowing packets that are part of established connections)」等符合作合狀態防火牆特徵的描述。
選項分析
- (A) 錯誤
- 說明:加密所有傳出流量以防止資料洩漏是 專用網路加密技術(如 VPN / IPsec / TLS) 或 **數據丟
第 I-6 題
A computer system uses virtual memory with a paging mechanism to manage memory. The virtual address space is divided into pages, and the physical memory is divided into frames of the same size. Which of the following statements about paging and virtual memory is correct?
(A) Paging eliminates the need for swapping data between RAM and disk.
(B) The page table stores the mapping between virtual page numbers and physical frame numbers.
(C) Virtual memory allows the entire program to be loaded into RAM before execution.
(D) A page fault occurs when the operating system allocates a physical frame to a new process.
登入後即可作答並保存紀錄。
核心觀念
本題考查**虛擬記憶體(Virtual Memory)與分頁機制(Paging Mechanism)**的基本運作原理機制,涵蓋以下核心定義:
- 分頁表(Page Table):作業系統用於維護「虛擬頁碼(Virtual Page Number, VPN)」與「實體 Frame 號碼(Physical Frame Number, PFN)」之間對映關係(Mapping)的資料結構。
- 缺頁(Page Fault):當 CPU 存取的虛擬位址所對應之 Page 目前不在實體記憶體(RAM)中(Valid Bit 為 0)時所引發的硬體中斷,作業系統需至次級儲存裝置(Disk/Swap space)將所需的 Page 載入 RAM。
- 頁面置換與對調(Swapping / Paging):虛擬記憶體允許程式的大小超越實體記憶體大小,透過在 RAM 與 Disk 之間進行資料對調(Swapping/Paging),實現僅載入所需頁面即可執行程式的機制(Demand Paging)。
解題方法
解答此類概念性選擇題時,採取觀念對比法與排除法:
- 檢視虛擬記憶體的核心設計初衷:解決實體記憶體不足、簡化記憶體管理、提供保護機制。
- 分析每個選項說法的精確度,比對作業系統(OS)專有名詞的嚴謹定義(如:Page Table 的職責、Demand Paging 的特徵、Page Fault 觸發的時機)。
- 確定正確選項後,說明其餘錯誤選項偏離定義之處。
選項分析
- (A) 錯誤
- 原因:分頁機制(特別是配合 Demand Paging)並不會消除在 RAM 與 Disk 之間對調資料的需求;
第 I-7 題
In a multitasking operating system, which of the following statements correctly differentiates foreground and background jobs?
(A) Foreground jobs run without user interaction, while background jobs require constant user input.
(B) Foreground jobs are directly controlled by the user, while background jobs run independently without direct user control.
(C) Only one foreground job can run at a time, but multiple background jobs cannot run simultaneously.
(D) Background jobs always have higher priority than foreground jobs to ensure smooth system operation.
登入後即可作答並保存紀錄。
核心觀念
本題旨在考驗作業系統(Operating System)中**前景工作(Foreground Job)與背景工作(Background Job)**的概念差異與資源管理機制:
- 前景工作(Foreground Job):通常與終端機(Terminal)或使用者介面(UI)綁定,能直接接收使用者的輸入(Standard Input,
stdin)並將結果輸出(Standard Output,stdout)至螢幕。系統設計上為保證互動體驗的順暢度,前景工作通常獲得較高的排程優先權或資源存取權。 - 背景工作(Background Job):在背景獨立運作,不需要且通常無法直接接收使用者的即時互動輸入。多用於執行不需要即時互動的長時任務(如數據編譯、檔案備份、伺服器服務
daemon等)。在多工系統(Multitasking System)中,系統允許同時運作多個背景工作。
解題方法
本題切入點為區分兩者的互動性(User Control/Interaction)與多工特性。
- 分析使用者能否直接介入與控制:前景工作接受使用者直接控制與輸入;背景工作離線或獨立運作,不直接接受使用者互動輸入。
- 檢視作業系統排程與數量限制:前景工作在同一終端機介面通常一次只有一個(或極少數獲得焦點的程序),而背景工作可以有多個同時並列執行。
- 據此對照選項敘述,逐一判定真偽。
選項分析
第 I-8 題
In an object-oriented programming system, consider the following scenario:
A base class Vehicle defines a method startEngine(). Two derived classes, Car and Motorcycle, override the startEngine() method to provide their specific implementations. At runtime, a Vehicle reference is used to invoke the startEngine() method on an instance of either Car or Motorcycle.
Which of the following concepts ensures that the correct implementation of startEngine() is invoked based on the object type at runtime?
(A) Encapsulation, which hides internal state and restricts direct access to it.
(B) Polymorphism, which allows a single interface to be used for different data types or objects.
(C) Inheritance, which allows the Car and Motorcycle classes to derive properties and behaviors from the Vehicle class.
(D) Abstraction, which defines abstract methods for subclasses to implement.
登入後即可作答並保存紀錄。
核心觀念
本題的核心觀念為物件導向程式設計(Object-Oriented Programming, OOP)四大特性之一的「多型」(Polymorphism),以及其相關的**動態綁定/晚期綁定(Dynamic Binding / Late Binding)**機制。
在物件導向程式設計中,四大核心特性為:
- 封裝(Encapsulation):將資料(屬性)與操作資料的方法封裝在物件內部,隱藏內部實作細節,並限制外部直接存取。
- 繼承(Inheritance):子類別(Derived class / Subclass)能夠繼承父類別(Base class / Superclass)的屬性與方法,以達到程式碼複用(Code Reuse)與階層關係建立。
- 多型(Polymorphism):允許使用統一的介面(父類別指標或參考)來操作不同型態的物件。其關鍵在於執行期(Runtime)能根據物件的「實際型別」(Actual Type)來決定並呼叫對應覆寫(Override)後的方法。
- 抽象(Abstraction):將複雜的真實世界簡化為概念模型,僅展示物件的核心特徵與介面,隱藏複雜的實作細節。
解題方法
-
情境分析:
- 題目建立了一個父類別
Vehicle,並定義方法startEngine()。 - 兩個子類別
Car與Motorcycle分別覆寫(Override)了startEngine()。 - 在執行期(Runtime),程式使用
Vehicle型態的參考(Reference)來指向Car或Motorcycle的實例(Instance),並呼叫startEngine()。
- 題目建立了一個父類別
-
觀念比對:
- 當呼叫
startEngine()時,系統能在**執行期(Runtime)**動態檢查該參考實際指向的是Car還是Motorcycle物件,進而執行該實例所對應的startEngine()版本。 - 此種「同一種介面(父類別參考),多種實作表現(依實體物件決定)」的能力,正符合 Polymorphism(多型) 的定義。
- 當呼叫
選項分析
第 I-9 題
An adjacency matrix is a two-dimensional array commonly used to represent the edges of a graph. It is ideal for certain types of graphs due to its characteristics. In which of the following scenarios would an adjacency matrix be the most efficient choice?
(A) A graph with 150 vertices and 200 edges
(B) A network with 40 nodes and 600 connections
(C) A dataset representing 300 elements with 500 relationships
(D) A diagram with 25 points and 50 connections
(E) An adjacency matrix is never efficient for any graph.
登入後即可作答並保存紀錄。
核心觀念
本題考驗圖形(Graph)資料結構的表示法選擇,重點在於比較**鄰接矩陣(Adjacency Matrix)與鄰接串列(Adjacency List)**的使用時機與特性。
-
密集圖(Dense Graph)與稀疏圖(Sparse Graph)定義:
- 設圖形的頂點數量為 ,邊的數量為 。
- 在無向圖中,最大可能的邊數為 ;在有向圖中,最大可能的邊數為 。
- 密集圖(Dense Graph):邊的數量 接近最大可能邊數 (即 )。
- 稀疏圖(Sparse Graph):邊的數量 遠小於最大可能邊數 (即 ,通常 )。
-
鄰接矩陣(Adjacency Matrix)的特性:
- 空間複雜度:不論圖形為密集或稀疏,皆固定需要 的記憶體空間。
- 時間複雜度:查詢任意兩節點間是否存在邊 只需 時間。
- 適用時機:最適合用於節點數少、邊數極多的密集圖(Dense Graph)。在密集圖中,由於 ,鄰接矩陣能充分利用分配的陣列空間,且具備 高效查詢邊的優勢。
解題方法
判定何者最適合(最有效率)使用鄰接矩陣,核心原則是計算各選項中圖形的密度(Density)或邊數與最大可能邊數的比例。邊數 越接近 ,圖形越密集,鄰接矩陣的空間使用效率就越高。
我們以簡單圖(Simple Graph,無重覆邊與自我環)來評估各選項的最大邊數與空間利用率:
- 計算公式:
有向圖/無向圖的最大邊數皆階層化為 數量級。若以無向圖最大邊數 為基準計算圖形密度 :
-
(A)
- 密度 (極稀疏,以鄰接串列較優)
-
(B)
- (若為有向圖則
第 I-10 題
A user performs an internet speed test and sees a result of 50 Mbps for their download speed. Which of the following statements correctly interprets this value?
- Mbps stands for megabytes per second, representing data transfer in bytes.
- Mbps stands for megabits per second, representing data transfer in bits.
- To convert Mbps to megabytes per second (MBps), divide the value by 8.
- A speed of 50 Mbps means approximately 6.25 megabytes per second can be downloaded.
Which of the following options is correct?
(A) Statements 1 and 3 are true.
(B) Statements 2 and 3 are true.
(C) Statements 2 and 4 are true.
(D) Statements 1 and 4 are true.
(E) All statements are true.
登入後即可作答並保存紀錄。
核心觀念
本題考查計算機網路與資料傳輸率(Data Rate / Transmission Speed)的基本計量單位轉換:
- 位元與位元組(Bits vs. Bytes):
- 小寫 代表 bit(位元),為資料傳輸與電腦運算的最基本單位。
- 大寫 代表 Byte(位元組),。
- 傳輸速率單位標示:
- Mbps(Megabits per second):兆位元/秒(百萬位元/秒),通常用於標示網路頻寬與網路傳輸速率。
- MBps / MB/s(Megabytes per second):兆位元組/秒(百萬位元組/秒),通常用於標示檔案下載速度與儲存設備(如 SSD、硬碟)讀寫速度。
- 單位轉換公式:
解題方法
- 定義辨析:
- 區分 Mbps 中的 為 bit,而非 Byte。
- 敘述檢驗與數值計算:
- 敘述 1:宣稱 Mbps 代表 megabytes,此定義錯誤。
- 敘述 2:宣稱 Mbps 代表 megabits,此定義正確。
- 敘述 3:根據 ,將 Mbps 轉換為 MBps 需除以 ,此敘述正確。
- 敘述 4:進行實際傳輸速率計算:
故 50 Mbps 相當於每秒下載約 6.25 MB 的檔案,此敘述正確。
綜合上述分析,敘述 2、3、4 皆為正確敘述。
選項分析
- 敘述 1:錯誤。Mbps 中的小寫 代表 bit(位元),而非 Byte(位元組)。
- 敘述 2:正確。Mbps 為 Megabits per second 的縮寫,代表每秒傳輸多少百萬位元。
- 敘述 3:正確。
第 II-1 題5 分
Consider the following recursive function:
int Calculate(int n)
{
if (n <= 2)
return 1;
else
return Calculate(n - 2) + n;
}
What is the value returned by the function call Calculate(7)?
登入後即可作答並保存紀錄。
核心觀念
本題考查 C 語言中**遞迴函數(Recursive Function)**的追蹤(Tracing)與傳值呼叫(Call by Value)機制。
遞迴函數包含兩個關鍵要素:
- 基本情況(Base Case):遞迴停止的條件。本題中為 ,此時直接回傳 。
- 遞迴情況(Recursive Case):將問題拆解為較小規模的子問題。本題中為 ,回傳 。
此外,此遞迴關係可轉化為數學上的遞迴關係式(Recurrence Relation):
解題方法
本題採用**樹狀追蹤法(Decision Tree / Call Stack Tracing)**展開遞迴呼叫過程,由上至下展開(Top-Down Expansion),再由下至上回傳結果(Bottom-Up Evaluation)。
關鍵步驟與推導:
-
展開遞迴呼叫(Top-Down):
- 呼叫
Calculate(7):,觸發遞迴 - 呼叫
Calculate(5):,觸發遞迴 - 呼叫
Calculate(3):,觸發遞迴 - 呼叫
Calculate(1):,滿足 Base Case,直接回傳
- 呼叫
-
帶回數值計算(Bottom-Up):
第 II-2 題5 分
What is the difference between a virtual function and a pure virtual function in C++? Explain their purposes and provide an example to illustrate how each is used.
登入後即可作答並保存紀錄。
核心觀念
本題考查 C++ 面向物件程式設計(Object-Oriented Programming, OOP)中的**多型(Polymorphism)與抽象類別(Abstract Class)**機制。
-
虛擬函數(Virtual Function):
- 定義:在基類(Base Class)中使用
virtual關鍵字宣告,並提供預設實作(Implementation)的成員函數。 - 目的:允許衍生類別(Derived Class)根據需求**重寫(Override)**該函數。透過基類指標或參考呼叫時,系統會在執行期(Runtime)透過虛擬函數表(Vtable)動態綁定(Dynamic Binding),呼叫到物件實際型別的實作。
- 定義:在基類(Base Class)中使用
-
純虛擬函數(Pure Virtual Function):
- 定義:在基類中宣告時語法為
virtual void func() = 0;,通常不提供函數主體(Body)。 - 目的:強制要求所有具體(Concrete)衍生類別必須提供該函數的實作,藉此定義一組統一的介面規範(Interface Contract)。包含至少一個純虛擬函數的類別稱為抽象類別(Abstract Class),無法被直接實體化(Instantiate)為物件。
- 定義:在基類中宣告時語法為
解題方法
解答切入點應分為三大部分:
- 比較與目的說明:透過對照表格與定義,說明二者的主要差異(包含有無預設實作、是否可實體化物件、衍生類別是否強制覆寫)。
- 範例程式碼說明:撰寫一個標準且語法正確的 C++ 範例(如幾何圖形
Shape類別),示範兩者的宣告與繼承覆寫用法。 - 複雜度與執行效能分析:說明動態綁定帶來的時間與空間開銷。
答案與範例解析
1. 虛擬函數與純虛擬函數之主要差異與目的
| 比較項目 | 虛擬函數 (Virtual Function) | 純虛擬函數 (Pure Virtual Function) |
|---|---|---|
| 語法特徵 | virtual void draw(); | virtual void draw() = 0; |
| 預設實作 | 提供預設主體實作 | 通常不提供(僅做介面宣告) |
| 衍生類別限制 | 衍生類別可選擇是否覆寫(Override) | 具體衍生類別必須覆寫,否則該類別仍為抽象類別 |
| 類別實體化 | 該類別可直接創建物件實體 | 包含純虛擬函數的類別為抽象類別,無法直接實體化 |
| 設計目的 | 提供預設行為,同時保留動態多型的彈性 | 定義介面規範(Interface Standard),強制要求衍生類別遵循 |
2. 範例程式碼說明
以下以幾何圖形類別 Shape 為例,展示兩者的使用方式:
第 II-3 題5 分
A company is exploring the possibility of optimizing its web services by implementing a lightweight UDP-based HTTP service alongside an existing TCP-based web server on port 80. Is it technically feasible to run both the UDP-based HTTP service and the TCP-based web server on the same port (80) simultaneously? Discuss in detail the technical limitations or conditions under which this might be possible, including how the transport layer handles such cases and its implications for client-server communication.
登入後即可作答並保存紀錄。
核心觀念
本題旨在考驗傳輸層(Transport Layer)的多工與解多工(Multiplexing and Demultiplexing)機制,以及 Socket 通訊中套接字識別碼(Socket Identifier)的定義與運作原理。
傳輸層主要依據 IP 標頭與傳輸層標頭中的資訊來識別與分發封包:
- IP 標頭中的 Protocol 欄位:用於區分上層使用的傳輸層協定。UDP 的協定代碼為 17,TCP 的協定代碼為 6。
- 套接字識別碼(Socket Tuple):
- UDP Socket(無連接 Socket):以二元組 來進行解多工處理與定位。
- TCP Socket(面向連接 Socket):以四元組 來獨特識別一個連線。
在作業系統中,Port(埠號)的命名空間在傳輸層是以「傳輸層協定(Protocol)」進行獨立劃分的。也就是說,UDP 的 Port 80 與 TCP 的 Port 80 屬於完全獨立的端點資源。
解題方法
1. 技術可行性評估(Technical Feasibility)
答案為完全可行(Technically Feasible)。
UDP 與 TCP 服務可以同時綁定(Bind)在同一個主機的相同 Port(如 Port 80)上。
2. 傳輸層處理機制(Transport Layer Handling)
當作業系統的網路協定棧(Network Stack)收到進入主機的 IP 資料報(IP Datagram)時:
- 檢視 IP 標頭:網路層會先檢查 IP 標頭中的
Protocol欄位。- 若值為
6,網路層將封包轉交給 TCP 模組處理。 - 若值為
17,網路層將封包轉交給 UDP 模組處理。
- 若值為
- 解多工至具體 Socket:
- TCP 模組會在 TCP Port 80 的通訊庫中,依據四元組尋找匹配的 Socket。
- UDP 模組會在 UDP Port 80 的通訊庫中,依據二元組尋找匹配的 Socket。
因此,兩者在傳輸層即被分流至不同的接收佇列與處理程式,絕不會發生 Port 衝擊或混淆。
第 II-4 題5 分
The Intel Core i7-13700K processor is characterized by the following specifications:
- Series: Intel i7 series
- Cores and Threads: 16 cores and 24 threads
- Clock Speed: A base frequency of 3.4 GHz
Analyze the significance of each specification in terms of the CPU's architecture and machine cycles. Additionally, evaluate how these features contribute to the processor's performance in multitasking, gaming, and professional workloads.
登入後即可作答並保存紀錄。
核心觀念
本題旨在考驗對現代中央處理器(CPU)微架構設計原理及機器週期(Machine Cycle)運作機制的理解,並評估硬體規格如何映射至實際應用場景(多工處裡、電競遊戲、專業工作負載)。
- 處理器系列(Series / CPU Architecture):
- Intel Core i7-13700K 屬於第 13 代 Raptor Lake 架構,採用混合核心架構(Hybrid Architecture),劃分為效能核心(P-core, Performance-core)與能效核心(E-core, Efficient-core)。
- 核心與執行緒(Cores and Threads):
- 實體核心(Physical Cores):CPU 內部獨立的運算處理單元。16 核心配置包含 8 個 P-cores 與 8 個 E-cores。
- 邏輯執行緒(Logical Threads / Hyper-Threading):利用超執行緒技術(Simultaneous Multithreading, SMT / Hyper-Threading),每個 P-core 可同時處理 2 個執行緒(8 P-cores 2 = 16 threads),而 E-core 不支援超執行緒(8 E-cores 1 = 8 threads),故總計 個執行緒。
- 時脈速度與機器週期(Clock Speed & Machine Cycles):
- 時脈頻率(Clock Speed, ):CPU 的內部時脈訊號產生器每秒發出的脈衝數。基頻為 ,代表每秒發出 個時脈週期(Clock Cycles)。
- 週期時間(Clock Cycle Time, ):。
- 機器週期(Machine Cycle):CPU 執行一條機器指令的基本四階段流程——取指(Fetch)、譯碼(Decode)、執行(Execute)、寫回(Writeback)。
- 效能公式:
其中 (Cycles Per Instruction)表示執行每條指令平均所需的時脈週期數。
解題方法
本題為非選擇題型之結構化分析題,解題切入點應分為兩大主軸:
- 硬體規格與架構/機器週期之關係分析:
- 分析 Series (Intel i7-13700K) 的混合架構如何影響指令調度(Intel Thread Director)。
- 分析 16 Cores / 24 Threads 對於硬體暫存器(Register Files Sets)、硬體狀態切換及流水線(Pipeline)與機器週期的並行處理能力。
- 分析 Clock Speed (3.4 GHz) 如何決定機器週期四階段(Fetch-Decode-Execute-Writeback)的步調(Pacing),以及流水線頻率。
- 應用場景效能評估(Performance Evaluation):
- 多工處理(Multitasking):著重於背景作業與前台作業在 P-core / E-core 間的分工,以及高執行緒數帶來的核間切換開銷(Context Switch Overhead)降低。
- 電競遊戲(Gaming):著重於單執行緒效能(Single-Threaded Performance)、高時脈(Clock Speed)與 P-core 低延遲(Low Latency)對遊戲影格率(FPS)及指令流水線吞吐量的影響。
- 專業工作負載(Professional Workloads):著重於高度平行運算(Massively Parallel Processing,如渲染、編譯、數據分析)對 24 執行緒完全滿載的利用率與總吞吐量(Throughput)。
選項分析(規格逐項深入剖析)
1. Series: Intel i7 Series (i7-13700K)
- 架構與機器週期意義:
i7-13700K 採用 x86-64 微架構的異質混合核心設計(Performance Hybrid Architecture)。硬體層面內建 Intel Thread Director(微碼級調度器),即時監視各執行緒在機器週期的指令類型(例如 AVX-512、普通 ALU 算術指令或 I/O 等待)。P-core 具備更寬的譯碼器(Decode Width)、更大的亂序執行(Out-of-Order Execution, OoO)視窗與較短的記憶體存取延遲;E-core 則採較窄的順序/輕量亂序執行架構,以極高能效比提供基礎吞吐量。 - 應用效能貢獻:
定位為高階效能級產品,提供頂尖單核與強大多核效能平衡,適合全方位應用。
2. Cores and Threads: 16 Cores and 24 Threads
- 架構與機器週期意義:
- 實體層面:16 個核心代表 16 個獨立的算術邏輯單元(ALU)、浮點運算單元(FPU)及 L1/L2 快取記憶體。
- 機器週期層面:在傳統單執行緒 CPU 中,若指令因等待快取未命中(Cache Miss)或數據相依性(Data Dependency)而停頓(Stall),機器週期的「執行(Execute)」階段會產生閒置(Bubble)。
第 B-1 題
When an enterprise performs data backup, which of the following processes can best ensure the security and integrity of the backup data?
(A) Delete the original data immediately after backup to save storage space
(B) Regularly store the backup data in an off-site storage space
(C) In order to complete the backup quickly, only perform backups when important files have changed
(D) Back up all Stored on the same server as the original data
登入後即可作答並保存紀錄。
核心觀念
本題考查**企業資料備份與災害復原(Data Backup & Disaster Recovery, DR)的核心原則,特別是異地備份(Off-site Backup)**與 3-2-1 備份原則。
- 資料安全性與完整性(Security and Integrity):備份的目的在於當發生硬體故障、天然災害(如火災、地震)、勒索軟體攻擊或人為誤刪時,能夠完整還原資料。
- 異地備份(Off-site Storage):將備份資料儲存在與主要資料中心不同的實體地點(如遠端機房或雲端儲存空間),可防止區域性災難(Site-wide Disaster)導致原始資料與備份資料同時毀損。
- 3-2-1 備份原則:
- 至少製作 3 份資料複本(1 份正本 + 2 份備份)。
- 使用 2 種不同的儲存介體(如硬碟、磁帶、雲端)。
- 至少有 1 份備份資料儲存在異地(Off-site)。
解題方法
解答此類企業資訊系統(MIS / 資安)觀念題時,切入點為評估資料備份的風險抵禦能力與還原可行性:
- 分析備份架構是否具有單點故障(Single Point of Failure, SPOF)。
- 評估災害發生時,備份資料是否能不受主要受災區域影響而獨立留存。
- 檢視選項中的操作是否符合標準資訊安全運作規範。
選項分析
- (A) Delete the original data immediately after backup to save storage space(錯誤)
- 原因:備份(Backup)的目的在於保留資料複本以備不時之需,而刪除原始資料的做法屬於「資料移轉」或「歸檔(Archive)」,而非「備份」。立即刪除原始資料會導致資料只有單一複本,一旦備份檔損壞或遺失,資料將永遠無法救回,嚴重破壞資料安全性與可用性。
第 B-2 題
A router is a common network hardware device. Which of the following is the most important function of a router?
(A) A device that allocates hardware locations
(B) A device that specifically determines whether data is sent from one line to another in a local area network (LAN)
(C) Responsible for forwarding data packets from one network to another network
(D) encrypts all data packets on the network
登入後即可作答並保存紀錄。
核心觀念
本題考驗**電腦網路(Computer Networking)**中 OSI 七層模型(OSI Model)與網路硬體設備功能的分層定位。
路由器(Router)屬於 OSI 七層架構中的**第三層:網路層(Network Layer)**設備。網路層的主要核心功能包括:
- 封包轉發(Packet Forwarding):將接收到的數據封包根據內部路由表(Routing Table)指引,從輸入介面傳送到正確的輸出介面。
- 路徑選擇(Routing / Path Determination):透過路由協定(如 OSPF, BGP)計算並選擇封包傳送至目標網路的最佳路徑。
- 跨網路互連(Inter-networking):連接不同 IP 網段(Subnet)或不同的自治系統(Autonomous System, AS),實現異質網路之間的通訊。
解題方法
本題切入點在於區分「不同網路硬體設備(如 Hub, Switch, Router)的運作層級與主要職責」:
- 實體層(Layer 1):集線器(Hub)、中繼器(Repeater),僅負責訊號放大與轉接。
- 資料鏈結層(Layer 2):交換器(Switch)、橋接器(Bridge),負責同一個區域網路(LAN)內的訊號轉發與 MAC 位址過濾。
- 網路層(Layer 3):路由器(Router),負責**跨區域網路(Inter-LAN / Network-to-Network)**間的 IP 封包轉發與路由選擇。
根據題意,詢問的是路由器「最重要(most important)的功能」,因此重點在於跨網路(from one network to another network)轉發封包。
選項分析
- (A) 錯誤
- 原文:A device that allocates hardware locations
- 解析:路由器並非用於「分配硬體位置」的設備。若是指分配 IP 位址,則是 DHCP 伺服器(DHCP Server)的功能;若是指 MAC 位址,則是網卡(NIC)出廠時固定的實體位址。
第 B-3 題10 分
Under the IPv6 prefix, 2001:b030:10e:10::/60, how many more subnets can be created at most, why? (4%)
Under the IPv4 class B address of 140.116.0.0 in NCKU, how many class C subnets can be assigned at most, why? (4%)
These two IP standards (IPv6 and IPv4) are standards for which layer in the 5-layer architecture of TCP/IP? (2%)
登入後即可作答並保存紀錄。
第一小題:IPv6 前綴切割子網數
核心觀念
本題考查 IPv6 CIDR(無類別域間路由)子網分割(Subnetting)的計算。
- IPv6 地址總長度為 。
- IPv6 網路中,標準的單一子網(Subnet / Interface Prefix)長度通常為
/64(即 Host 部分 occupy 64 bits,Prefix occupy 64 bits)。 - 若給定 Prefix 長度為
/N,欲切割至標準/64子網,可增設的子網位元數為 。 - 位元數為 時,最多可產生的子網數量公式為 。
解題方法與計算步驟
- 確定現有 Prefix 長度與目標子網 Prefix 長度:
- 題目給定 IPv6 Prefix 為
2001:b030:10e:10::/60,即網路前綴佔據 。 - 在 IPv6 網路架構與路由規範中,最基本的單一 LAN 子網長度為
/64。
- 題目給定 IPv6 Prefix 為
- 計算可用於子網劃分的位元數(Subnet Bits):
- 計算可創建的最大子網數:
因此,在此/60的 Prefix 下,最多還可以劃分成 個/64的子網。
第二小題:IPv4 Class B 分割為 Class C 子網數
核心觀念
本題考查 IPv4 傳統類別網路(Classful Addressing)與 CIDR 的劃分對應關係。
- Class B 網路:預設網路遮罩為
/16(),網路位元佔 。 - Class C 網路:預設網路遮罩為
/24(),網路位元佔 。 - 將 Class B(
/16)劃分為 Class C(/24)時,借用的位元數為 。
解題方法與計算步驟
- 確認起始與目標位元長度:
- 成功大學的 IPv4 位址
140.116.0.0屬於 Class B,網路前綴位元數為 (即/16)。 - 一個 Class C 網路的標準前綴位元數為 (即
/24)。
- 成功大學的 IPv4 位址
Hotel (<u>hotelNo</u>, hotelName, city)
Room (<u>roomNo</u>, <u>hotelNo</u>, type, price)
Booking (<u>hotelNo</u>, <u>guestNo</u>, <u>dateFrom</u>, dateTo, roomNo)
Guest (<u>guestNo</u>, guestName, guestTel)
第 B-4-(1) 題6 分
Describe the definition of superkey, primary key, and foreign key in the database, respectively.
登入後即可作答並保存紀錄。
核心觀念
本題考驗關聯式資料庫(Relational Database)中**鍵值(Keys)**的基本定義與階層關係。在關聯式模型中,鍵值是用來唯一識別資料表(Relation)中每一筆紀錄(Tuple / Row),以及建立資料表之間關聯性的重要機制。
- 超鍵(Superkey):能夠唯一識別資料表中某一筆 Tuple 的屬性(Attribute)或屬性集合。
- 主鍵(Primary Key, PK):從候選鍵(Candidate Key)中挑選出來,作為唯一識別該 Tuple 的主要屬性集合。
- 外鍵(Foreign Key, FK):用於建立與維護兩個資料表之間的參考完整性(Referential Integrity)約束之屬性或屬性集合。
解題方法
本題為敘述型定義題,應先給出精準的學理定義,再結合題目共用題幹的 Schema(例如 Guest 與 Booking 資料表)進行具體舉例說明,使解答具備完整性與專業說服力。
詳細定義與範例說明
1. 超鍵(Superkey)
- 學理定義:在關聯 中,若一個屬性或屬性集合 滿足:對任意合法狀態下的關聯實體,任意兩筆不同的 Tuple 皆不可能在 上擁有完全相同的屬性值,則稱 為 的一個 Superkey。簡言之,Superkey 具備「唯一性(Uniqueness)」,但不要求具備「極小性(Minimal/Irreducible)」,亦即 Superkey 中可能包含多餘(冗餘)的屬性。
- 題幹範例:以
Guest(guestNo, guestName, guestTel)資料表為例:{guestNo}為 Superkey。{guestNo, guestName}亦為 Superkey(即使加上guestName顯得多餘,依然滿足唯一識別 Tuple 的特性)。
2. 主鍵(Primary Key, PK)
- 學理定義:
- 候選鍵(Candidate Key, CK):同時具備「唯一性(Uniqueness)」與「極小性(Minimality)」的 Superkey。極小性代表若從屬性集合中移除任何一個屬性,該集合便無法再唯一識別 Tuple。
- 主鍵(Primary Key, PK):由資料庫設計者從眾多候選鍵(Candidate Keys)中指定的一個作為主要識別工具。Primary Key 的值必須滿足實體完整性(Entity Integrity),即不可包含空值(
NULL)。
第 B-4-(2) 題3 分
If there is a reservation system for a class, please write a SQL command for the following question:
甲、Show the price of all rooms in Taipei by increasing 10 percent of the original price.
登入後即可作答並保存紀錄。
核心觀念
本題考驗關聯式資料庫(Relational Database)中 SQL 查詢與多表連接(Join) 的運用,以及 SELECT 子句中的算術運算與別名設定(Column Alias)。
- 關聯表連接(Table Join):資料庫關聯表之間透過外鍵(Foreign Key)進行連結。本題中,房間價格
price位於Room表,而城市資訊city位於Hotel表,兩者透過主鍵/外鍵hotelNo進行關聯。 - 算術運算(Arithmetic Operations):SQL 允許在
SELECT欄位列表中對數值欄位直接進行算術運算。原價增加 10% 即為原價乘以1.1()。 - 資料篩選(Filtering):使用
WHERE子句篩選條件為城市為台北(city = 'Taipei')。
解題方法
- 分析目標欄位與來源表:
- 需求欄位:調整後的房間價格(
price * 1.1)、房間編號(roomNo,輔助辨識)。 - 資料來源:
Room表(包含roomNo,price,hotelNo)與Hotel表(包含hotelNo,city)。
- 需求欄位:調整後的房間價格(
- 建立表與表之間的連結:
- 使用
INNER JOIN(或在WHERE中以Room.hotelNo = Hotel.hotelNo條件進行等值連接),將Room與Hotel串接起來。
- 使用
- 設定篩選條件:
- 在
WHERE子句中限制Hotel.city = 'Taipei'。
- 在
- 撰寫 SELECT 算術表示式:
- 將
price乘以1.1表示調漲 10%,並可使用AS設定新欄位名稱(如newPrice或adjustedPrice)以利閱讀。
- 將
SQL 關鍵程式碼與語法說明
標準 SQL 查詢指令如下:
第 B-4-(3) 題3 分
If there is a reservation system for a class, please write a SQL command for the following question:
乙、List the guest names who book more than five times in one hotel.
登入後即可作答並保存紀錄。
核心觀念
本題考驗 SQL 資料庫查詢語言中 多表連接(Join)、資料分組(GROUP BY) 與 分組後篩選(HAVING) 的綜合運用。
在 SQL 中:
- 表格連接(Join):欲取得顧客姓名(
guestName),必須透過guestNo將記錄顧客資料的Guest表與記錄預訂資料的Booking表進行連接。 - GROUP BY 子句:當題目要求計算「在同一家飯店(
hotelNo)預訂超過五次」時,需要對「顧客與飯店的組合」進行分組,即GROUP BY Guest.guestNo, Guest.guestName, Booking.hotelNo(或在嚴格 SQL 模式下將guestName一併納入分組欄位)。 - 聚合函數(Aggregate Function)與 HAVING 子句:
COUNT(*)用於統計每個分組(同一顧客在同一飯店)的預訂筆數。針對聚合後的結果進行條件過濾時,必須使用HAVING而非WHERE,因為WHERE作用於分組前的原始列,而HAVING作用於分組後的聚合結果。
解題方法
-
確定資料來源:
- 題目要求列出顧客姓名(
guestName),該欄位位於Guest表。 - 題目判斷條件為預訂次數與飯店,相關預訂記錄位於
Booking表。 - 因此需要連接
Guest與Booking兩張表,關聯條件為Guest.guestNo = Booking.guestNo。
- 題目要求列出顧客姓名(
-
確定分組基準:
- 題目目標為「在同一家飯店預訂超過 5 次的顧客」。
- 故分組依據必須同時包含顧客與飯店,即
Booking.hotelNo與Guest.guestNo(以及Guest.guestName以便在SELECT輸出)。
-
撰寫篩選條件與過濾分組:
- 使用
COUNT(*)或COUNT(Booking.hotelNo)來計算同一顧客在同一家飯店的預訂次數。 - 篩選條件為預訂次數「超過 5 次」(即
> 5),寫在HAVING子句中:HAVING COUNT(*) > 5。
- 使用
-
組合完整 SQL 語句:
第 B-4-(4) 題4 分
If there is a reservation system for a class, please write a SQL command for the following question:
丙、List the guest names who used to book all hotels.
登入後即可作答並保存紀錄。
核心觀念
本題考查關聯式代數中的「全稱條件」與「關聯除法(Relational Division)」。
題目要求找出:
曾經預訂過所有旅館的旅客姓名。
對每一位旅客而言,必須滿足:
也就是:
- 對每一家旅館;
- 都至少存在一筆該旅客的訂房紀錄。
其中:
Guest用來取得旅客姓名;Hotel提供「所有旅館」的集合;Booking判斷旅客是否曾預訂該旅館。
解題方法:雙層 NOT EXISTS
SQL 沒有直接表示「所有」的關鍵字,通常使用「雙重否定」轉換:
沒有任何一家旅館,是該旅客未曾預訂的。
邏輯形式為:
因此查詢結構如下:
- 逐一檢查每位旅客。
- 尋找是否存在某一家旅館,該旅客沒有預訂紀錄。
- 若找不到這種旅館,代表該旅客預訂了所有旅館。
- 從
Guest取出其姓名。
SQL 參考答案
SELECT g.guestName
FROM Guest AS g
WHERE NOT EXISTS (
SELECT 1
FROM Hotel AS h
WHERE NOT EXISTS (
SELECT 1
FROM Booking AS b
WHERE b.guestNo = g.guestNo
AND b.hotelNo = h.hotelNo
)
);
查詢條件逐段說明
外層查詢
SELECT g.guestName
FROM Guest AS g
從 Guest 資料表逐一取出旅客,最後輸出 guestName。
第一層 NOT EXISTS
WHERE NOT EXISTS (
SELECT 1
FROM Hotel AS h
...
)
這表示:
不存在任何一家旅館,使得內層條件成立。
這裡的「內層條件成立」就是「該旅客沒有預訂這家旅館」。
第二層 NOT EXISTS
WHERE NOT EXISTS (
SELECT 1
FROM Booking AS b
WHERE b.guestNo = g.guestNo
AND b.hotelNo = h.hotelNo
)
這表示:
不存在一筆訂房紀錄,同時符合目前旅客與目前旅館。
因此,第二層 NOT EXISTS 成立時,代表該旅客沒有預訂這家旅館。
外層再使用一層 NOT EXISTS 排除所有「漏訂至少一家旅館」的旅客,最後留下曾預訂全部旅館的人。
以關聯式代數理解
先取出所有旅客與旅館的配對:
再找出實際存在於訂房紀錄中的旅客—旅館配對:
第 B-5 題10 分
2024 may be defined as the first year of AI PC. Please provide a basic definition (4%) of AI PC, list the capabilities it should have for the three processing units to operate together, and explain the tasks that the three processing units should be responsible for. (6%)
登入後即可作答並保存紀錄。
核心觀念
本題旨在考驗考生對 AI PC(人工智慧個人電腦) 的定義、異質計算(Heterogeneous Computing)架構,以及三大核心處理單元(CPU、GPU、NPU)分工與協同作業機制的掌握程度。
- AI PC 的基本定義:配備專屬 AI 加速硬體(如 NPU),能夠在本地端(Edge/On-device)高效執行生成式 AI 與機器學習模型,具備低延遲、高隱私、高省電效率與無網路連接亦可運作等特性的個人電腦。
- 三大處理單元(Processing Units):
- CPU (Central Processing Unit):通用處理器,負責系統控制、邏輯判斷與高單執行緒任務。
- GPU (Graphics Processing Unit):圖形與高度平行計算處理器,負責大吞吐量的圖形渲染、多媒體處理及高負載 AI 矩陣運算。
- NPU (Neural Processing Unit):神經網絡加速器,專為低功耗、持續性(Always-on)的深度學習推論(Inference)所設計。
- 三者協同作業所需的能力:異質計算架構下的動態工作負載分派(Dynamic Workload Offloading)、統一記憶體架構(Unified Memory/Shared Memory Architecture)與統一的 API 軟體開發架構(如 DirectML、OpenVINO、ONNX Runtime 等)。
解題方法
本題分為兩個小題(4% 與 6%),切入點應精準對應題目配分與三大問項:
- 基本定義 (4%):明確給出 AI PC 的核心定義,並指出其與傳統 PC 的最大差異(本地端硬體加速與 NPU 的引進)。
- 協同作業應具備的能力 (3%):說明 CPU、GPU、NPU 三者若要順暢協同運作,系統與架構層面必須具備的三大關鍵機制(動態調度、共享記憶體、軟體堆疊與 API)。
- 三大處理單元各自負責的任務 (3%):條列並對比 CPU、GPU 與 NPU 的架構特性與對應的 AI/計算任務分工。
詳細解答
一、 AI PC 的基本定義 (Basic Definition of AI PC)
AI PC(Artificial Intelligence Personal Computer) 指的是在傳統 PC 架構基礎上,額外整合專屬 AI 加速晶片/神經網絡處理單元(NPU) 的個人電腦系統。其核心宗旨在於實現本地端(On-device / Edge)AI 運算,無須完全依賴雲端伺服器即可直接執行大語言模型(LLM)、擴散模型(Diffusion Models)與各類機器學習推理任務。
AI PC 具備以下四大關鍵優勢:
- 低延遲(Low Latency):資料於本地即時處理,避免網路傳輸時延。
- 高隱私與安全性(Privacy & Security):敏感資料留存於本地設備,不需上傳雲端。
- 高能源效率(Energy Efficiency):透過 NPU 處理特定 AI 任務,大幅降低系統功耗並延長電池續航力。
- 離線運作能力(Offline Availability):在無網路環境下仍能提供完整或基礎的 AI 輔助功能。
二、 三大處理單元協同作業應具備的能力 (Capabilities for Co-operation)
為使 CPU、GPU 與 NPU 能夠無縫協同運作,AI PC 系統必須具備以下關鍵技術能力:
- 動態工作負載調度能力(Dynamic Workload Scheduling & Offloading)
- 系統與作業系統(如 Windows Copilot+ 邏輯)需具備感知任務特性的能力,自動將適當的運算作業分派給最合適的處理器。例如:持續性輕量 AI 任務調度至 NPU、重度圖形/矩陣運算調度至 GPU、複雜邏輯控制留給 CPU。
第 B-6 題6 分
At present, artificial intelligence has become the focus of the industry. One of the hot topics is LLM, but SLM has also been raised. Please explain what SLM is (2%). Discuss 2 advantages of SLM compared with LLM from your perspective. (4%)
登入後即可作答並保存紀錄。
核心觀念
本題考查當前人工智慧(AI)領域中,大型語言模型(Large Language Model, LLM)與小型語言模型(Small Language Model, SLM)的定義、技術特性與實務應用差異。
-
SLM(Small Language Model,小型語言模型)的定義:
SLM 通常指參數規模較小(一般在 1 Billion 至 10 Billion 參數之間,如 Llama 3 8B、Phi-3 3.8B、Gemma 2B/7B 等)的語言模型。相較於百億至千億級參數的 LLM,SLM 透過高品質數據集精緻訓練(Data Curation)、知識蒸餾(Knowledge Distillation)與模型壓縮技術(如量化 Quantization、剪枝 Pruning),在大幅降低參數量與計算資源需求的同時,保有優異的自然語言理解與特定任務處理能力。 -
考題配分與配頁邏輯:
- SLM 定義說明:2分
- SLM 相比 LLM 的兩大優勢說明:4分(每項優勢佔 2 分,建議從「部署成本/硬體門檻(Edge Computing & Efficiency)」與「資料隱私/安全性(Privacy & Data Security)」切入說明)。
解題方法
本題為簡答申論題,答題策略應採**「先定義,後對比,再條列」**的標準結構,確保閱卷老師能迅速抓到得分關鍵字(Key-terms):
-
第一部分(解釋 SLM):
- 明確給出 SLM 的完整英文全稱(Small Language Model)。
- 點出參數規模(通常 參數)。
- 說明其核心設計哲學:以「高品質數據與精巧架構」替代「盲目擴充參數規模(Scaling Law)」。
-
第二部分(討論 SLM 相比 LLM 的 2 大優勢):
- 優勢一:資源消耗低與邊緣端部署能力(Low Resource Consumption & Edge Deployment Capability)
- 切入點:推論延遲(Inference Latency)、記憶體佔用(VRAM/RAM Footprint)、能源消耗(Energy Consumption)。
- 說明:SLM 能在手機、PC、車用系統等邊緣設備(Edge Devices)上本機運行,無需仰賴龐大的雲端 GPU 叢集,顯著降低營運成本(OPEX)與網路延遲。
- 優勢二:更高的資料隱私性與安全性(Enhanced Data Privacy & Security)
- 切入點:本地化運算(Local Processing)、離線執行(Offline Execution)、合規性(GDPR / HIPAA Alignment)。
- 說明:資料無需上傳至第三方雲端伺服器,能避免企業敏感資料或個人隱私外洩的風險,極度適合金融、醫療與法務等高度監管領域。
- 優勢一:資源消耗低與邊緣端部署能力(Low Resource Consumption & Edge Deployment Capability)
選項與觀念對比分析
(本題為非選擇題之申論題型,以下針對 SLM vs LLM 之關鍵技術指標進行全方位對比分析,以確保答題完整性):
| 評比維度 | 大型語言模型 (LLM) | 小型語言模型 (SLM) | 試題剖析與優勢判定 |
|---|---|---|---|
| 參數規模 (Parameters) | 通常 (如 GPT-4, Llama-3-70B/405B) | 通常 (如 Phi-3 3.8B, Gemma 2B) | SLM 參數顯著精簡,維護與部署門檻極低。 |