108 年 國立成功大學工程科學系碩士班丙組《計算機概論》
第 1 題10 分
一般的郵件伺服器(e-mail server)提供給郵件瀏覽程式(e-mail clients 如 outlook、thunderbird 等)兩種作業協定,一為 Post Office Protocol version 3(POP3),另一為 Internet Message Access Protocol(IMAP),請解釋兩種協定的相同及不同之處。
登入後即可作答並保存紀錄。
核心觀念
本題評量應用層(Application Layer)中「電子郵件存取協定(Mail Access Protocol)」的運作原理與架構差異。
電子郵件系統主要由三個部分構成:
- 使用者代理(User Agent, UA / Mail Client):如 Outlook、Thunderbird。
- 郵件傳送代理(Mail Transfer Agent, MTA / Mail Server):如 Postfix、Sendmail。
- 通訊協定:
- SMTP(Simple Mail Transfer Protocol):用於「發送」郵件(Client Server 或 Server Server)。
- POP3 / IMAP:用於收件者端從 Mail Server「讀取/下載」郵件(Client Server)。
本題焦點在於釐清 POP3 與 IMAP 的定位、相通特質,以及兩者在「訊息同步機制」、「伺服器儲存策略」、「多裝置存取支援」等維度上的核心技術差異。
解題方法
回答此類申論比較題,最佳切入策略為「先總體架構、再條列相同點、最後系統化對比相異處」,結構清晰且能精準涵蓋給分要點。
一、相同之處(Commonalities)
- 協定層級與定位:
兩者皆屬於 TCP/IP 模型中的應用層(Application Layer)協定,專門扮演 Mail Access Protocol(郵件存取/擷取協定),負責讓 Mail Client 從遠端 Mail Server 取回電子郵件,皆不負責郵件的外發傳送(外發由 SMTP 負責)。 - 底層傳輸協定:
兩者皆依賴傳輸層(Transport Layer)的 TCP 協定來建立連線,以確保資料傳輸的可靠性(Reliability)、正確性與不封包遺失。 - 身分驗證與安全性支援:
- 兩者連線初期皆提供使用者帳號、密碼認證機制。
- 兩者皆支援 TLS/SSL 加密安全通道(POP3S / IMAPS),防止認證憑據與郵件內文遭竊聽。
二、不同之處(Differences)
兩者主要的相異處整理如下表與重點說明:
| 比較項目 | Post Office Protocol version 3 (POP3) | Internet Message Access Protocol (IMAP) |
|---|---|---|
| 運作哲學 | 下載並刪除(Store and Download) | 遠端同步管理(Store and Synchronize) |
| 預設埠號(Port) | 一般:TCP 110<br>SSL/TLS(POP3S):TCP 995 | 一般:TCP 143<br>SSL/TLS(IMAPS):TCP 993 |
| 郵件儲存位置 | 預設下載至本機端,遠端伺服器上的副本通常被刪除(或僅短期保留)。 | 郵件主要保留於伺服器端,本機端僅保留快取(Cache)。 |
| 多裝置存取支援 | 差。 |
第 2 題20 分
常常在電腦系統裡聽到快取(cache)這名詞,例如 CPU 快取及硬碟快取,請問快取是甚麼?在 CPU 快取及硬碟快取上各有甚麼功能?相同及不同之處為何?
登入後即可作答並保存紀錄。
核心觀念
本題評量計算機組織與作業系統中**記憶體階層架構(Memory Hierarchy)與快取技術(Caching)**之核心概念。
-
快取的定義與原理:
- 快取(Cache)是一種介於「高速裝置」與「低速裝置」之間的暫存記憶體機制。其目的在於緩解不同硬體層級之間巨大速度差異(Speed Mismatch / I/O Bottleneck)所導致的效能瓶頸。
- 快取技術之所以有效,基於程式執行的區域性原理(Principle of Locality):
- 時間區域性(Temporal Locality):最近剛被存取過的資料或指令,不久後極可能再次被存取。
- 空間區域性(Spatial Locality):一旦某筆資料或指令被存取,與其鄰近記憶體位址的資料或指令極可能很快也被存取。
-
記憶體階層架構對應:
- CPU 快取(CPU Cache):介於 CPU 核心(暫存器/運算單元)與主記憶體(RAM)之間。
- 硬碟快取(Disk Cache / Buffer):介於主記憶體(或主機匯流排介面)與硬碟儲存媒體(旋轉磁片或 NAND Flash)之間。
解題方法
解答分為四個部分逐一闡述:快取之本質定義、CPU 快取之功能、硬碟快取之功能、兩者之異同比較(列點與綜合表格)。
一、快取的本質定義
快取(Cache)本質上是一種「用較小容量但高速的儲存媒介,存放來自大容量但低速媒介中最頻繁存取之副本」的硬體或軟體暫存機制。透過區域性原理,讓系統多數存取請求能直接在快取中命中(Cache Hit),從而大幅降低平均存取時間(Average Access Time, AAT):
二、CPU 快取(CPU Cache)之功能
- 縮減 CPU 與主記憶體的運算時差(Memory Wall):
- CPU 運算時脈在 GHz 等級,存取內部暫存器僅需 個週期以內;但主記憶體(DRAM)存取延遲高達數十至上百個奈秒(ns),約合數百個 CPU 週期。
- CPU 快取直接整合於處理器晶片內或極近距離,提供單週期至數個週期的高速存取能力。
- 多階層快取架構(L1, L2, L3 Cache):
- L1 Cache:容量最小(每核心數十 KB)、速度最快,通常分設為指令快取(L1 I-Cache)與資料快取(L1 D-Cache)。
- L2 Cache:速度次之、容量較大(每核心數百 KB 至數 MB)。
- L3 Cache:晶片上各核心共享(數 MB 至數十 MB),為存取主記憶體前的最後防線。
- 功能綜整:
- 預先載入指令與資料(Prefetching)。
- 透過管線化與多通道架構,維持 CPU 管線(Pipeline)持續運作,避免 CPU 頻繁發泡停頓(Stall)。
三、硬碟快取(Disk Cache)之功能
- 彌補主記憶體與儲存裝置的極大速度落差:
- 傳統機械式硬碟(HDD)的機械尋道與旋轉延遲在毫秒(ms)等級;即使固態硬碟(SSD),延遲亦在數十微秒()等級,遠慢於 DRAM 的奈秒(ns)等級。
- 讀取預取與加速(Read Caching & Read-Ahead):
- 讀取資料時,硬碟控制器依空間區域性將目標磁區及其後續磁區一併讀入快取,後續連續讀取請求可直接由快取回傳,免除機械移動或快閃記憶體讀取延遲。
- 寫入緩衝與整併(Write Caching & Write Combining):
- 採用回寫(Write-Back)策略,當主機發出寫入要求時,資料寫入快取後立即回報完成(Write-through 則需寫回磁碟),降低主機等待時間。
- 收集多筆寫入請求,於背景將隨機寫入重新排序並整合成連續寫入(Elevator Algorithm 等),大幅提高磁碟寫入吞吐量。
- 型態區分:
- 硬體硬碟快取(On-drive Buffer/DRAM Cache):位於硬碟控制電路板上的專用 DRAM 晶片。
第 3 題30 分
七段顯示器如右圖 🖼️【此處有附圖,請對照原卷】,常常用在需要顯示 1 到 9 數字的場合,例如電梯的面板或是電視的頻道。請設計一有四條輸入線(input lines)的控制電路,在輸入為 0 到 9 時點亮相對應的燈段(10 到 15 不考慮)。請畫出真值表、寫出 A 到 G 的布林表示式並化簡之、最後請畫出系統的完整邏輯閘圖。
登入後即可作答並保存紀錄。
核心觀念
本題考查**組合邏輯電路設計(Combinational Logic Circuit Design)**中的典型範例——BCD 至七段顯示器解碼器(BCD to 7-Segment Decoder)。
核心觀念與步驟包含:
- 輸入與輸出定義:4 條輸入線通常以 4 位元二進位( 或 ,由高位至低位)表示十進位數字 ;輸出為 7 個區段訊號 (或一般標準標記 )。
- 隨意項(Don't Care Conditions, ):輸入範圍為 (對應 ),輸入值 ()在設計中不考慮,可視為隨意項 來化簡邏輯式。
- 卡諾圖化簡(Karnaugh Map, K-map):利用 4 變數卡諾圖,結合 1 與隨意項 圈選最大區塊,求得各段的最簡積之和(Sum of Products, SOP)布林代數表示式。
- 邏輯閘圖繪製:將化簡後的 SOP 式以 AND-OR(或 NAND-NAND)邏輯閘完整實現。
解題方法
1. 七段顯示器配置與編碼定義
標準七段顯示器的燈段排列如下:
- :頂部水平段
- :右上垂直段
- :右下垂直段
- :底部水平段
- :左下垂直段
- :左上垂直段
- :中間水平段
設 4 條輸入線為 ( 為最高有效位 MSB, 為最低有效位 LSB,代表十進位數值 ),高電位輸出(Active-High,即輸出為 時點亮對應燈段)。
數字 0 到 9 的標準七段點亮方式為:
- 0:( 不亮)
- 1:
- 2:
- 3:
- 4:
- 5:
- 6:(亦有 不亮之版本,標準 BCD 包含頂端 )
- 7:(亦有加點亮 之版本,標準取 )
- 8: 全亮
- 9:(底端 亮)
2. 真值表(Truth Table)
輸入為 ;輸出為 。輸入 全為隨意項 。
| 十進位 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 2 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 3 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 4 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 5 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 6 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 7 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
| 8 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 9 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 10~15 | \multicolumn{4}{c | }{} |
3. 卡諾圖化簡與布林表示式
隨意項集合為 。
-
燈段 :
未點亮(0)為 。利用卡諾圖圈選可得最簡 SOP:
(或寫作 ) -
燈段 :
未點亮(0)為 。卡諾圖化簡得:
(或寫作 ) -
燈段 :
未點亮(0)僅 。卡諾圖化簡得:
-
燈段 :
未點亮(0)為 。卡諾圖化簡得:
-
燈段 :
點亮項少,以 0 項化簡或直接合併: 與 形成一組 ; 與 形成一組 。化簡得:
第 4 題20 分
請詳細說明何為電腦硬碟陣列(RAID)?他們的組合模式 RAID 0、RAID 1、RAID 5 在組織及運作上有甚麼不同之處?
登入後即可作答並保存紀錄。
核心觀念
本題評量作業系統與計算機組織中的次級儲存裝置管理(Secondary Storage Management),特別是**獨立磁碟容錯陣列(RAID, Redundant Array of Independent Disks)**的架構與原理。
1. RAID 定義與目標
RAID 係指將多顆實體硬碟(Physical Disks)透過硬體控制器或軟體驅動程式,結合成一個或多個邏輯磁碟機(Logical Drive)的技術。其主要設計目標為:
- 提高效能(Performance):藉由「資料分條(Data Striping)」,將循序或平行 I/O 請求分散到多顆磁碟同步讀寫,大幅增加資料傳輸頻寬。
- 提高可靠度與容錯能力(Reliability & Fault Tolerance):藉由「鏡射(Mirroring)」或「同位元校驗(Parity Check)」,當單一(或多個)實體硬碟損壞時,資料仍可完整保留或即時重建。
- 擴大單一邏輯容量(Capacity Aggregation):整合多顆硬碟的儲存空間,利於作業系統集中管理。
2. 關鍵技術定義
- Data Striping(資料分條):將連續資料切割成固定大小的區塊(Blocks 或 Strips),依序循環輪流(Round-Robin)寫入陣列中的各個實體硬碟。
- Mirroring(鏡射):將相同資料完整寫入兩顆以上的硬碟,提供最高的資料安全性。
- Parity(同位元檢查):利用布林代數的互斥或(XOR, )運算生成校驗碼。若任一顆硬碟故障,可藉由其餘硬碟的資料與校驗碼還原原始資料:
解題方法
申論此題時,應採取**「定義與架構原理 個別模式組織與運作深度剖析 綜合多維度指標對比」**的三段式架構切入:
一、硬碟陣列(RAID)之定義與核心運作
RAID 原名為 Redundant Array of Inexpensive Disks(後改為 Independent Disks),其運作架構由 RAID 控制器(RAID Controller)接管主機送出的 I/O 指令,透過以下機制運作:
- 邏輯位址對應(Logical Address Mapping):作業系統發出的邏輯區塊位址(LBA),經由控制器演算法對應到特定實體硬碟的特定軌道與磁區。
- 平行存取(Parallel I/O):資料傳輸時可跨磁碟並行驅動讀寫頭,突破單顆硬碟介面與機械臂的物理傳輸瓶頸。
- 同位元重建(Parity/Redundancy Reconstruction):背景執行背景降級運作(Degraded Mode)與熱備援(Hot Spare)自動重建。
二、RAID 0、RAID 1、RAID 5 之組織與運作差異
1. RAID 0(Striped Disk Array without Fault Tolerance)
- 組織方式:
- 最少需 顆硬碟。
- 僅採用 Data Striping 技術,不儲存任何同位元或鏡射冗餘資料。
- 區塊配置方式:資料塊 分別依序交錯寫入 Disk 0 與 Disk 1。
- 運作機制:
- 讀取/寫入:I/O 請求被拆解至多顆硬碟同時並行執行,循序讀寫與隨機讀寫的頻寬均倍數成長。
- 容錯性:完全無容錯能力。任一顆硬碟故障,整個陣列的資料即全數損毀(因資料塊交錯分散,遺失單一塊便破壞檔案結構)。
- 儲存容量:假設有 顆容量均為 的硬碟,可用容量為 (空間利用率 )。
2. RAID 1(Disk Mirroring)
- 組織方式:
- 最少需 顆硬碟(通常為偶數顆)。
- 採用 Mirroring 技術。所有資料皆在一對一的主硬碟與鏡射硬碟上各存一份完全相同的副本。
- 運作機制:
- 讀取:可從主硬碟或鏡射硬碟任一處讀取,亦可將不同讀取請求分散至兩顆硬碟並行處理,讀取效能顯著提升。
- 寫入:每次寫入必須同時向主硬碟與鏡射硬碟寫入相同資料(可平行發送,但需等待兩者皆完成確認),寫入效能受限於最慢的單顆硬碟。
- 容錯性:極高。只要成對的鏡射硬碟中至少有一顆維持正常運作,資料便不遺失;可容許單一硬碟故障(在 顆硬碟架構下)。
- 儲存容量:可用容量僅為 (以兩顆為例,空間利用率僅 ),成本最高。
第 5 題20 分
在電腦網路的通訊協定上最常見的是 TCP 及 UDP 兩種,請寫出兩種協定之英文全名?並請問這兩種協定的運作模式最主要不同處為何?他們和網際網路協定(IP-Internet Protocol)的關係又為何?
登入後即可作答並保存紀錄。
核心觀念
本題評量 OSI 七層模型與 TCP/IP 通訊協定架構之核心機制,重點包含:
- 傳輸層(Transport Layer)通訊協定全名:TCP 與 UDP 之標準術語定義。
- 連線模式與可靠性差異:TCP 的「連線導向(Connection-oriented)」、「可靠傳輸(Reliable)」機制,與 UDP 的「非連線導向(Connectionless)」、「盡力而為(Best-effort)」機制之對比。
- 通訊協定分層與上下層關係(Layering Relationship):傳輸層(TCP/UDP)與網路層(Network Layer,即 IP 協定)的階層分工、封裝(Encapsulation)機制與端對端(End-to-End)傳輸角色。
解題方法
針對題目的三個子問題,依序條列並輔以表格對比,展現層次分明的答題架構:
1. 協定英文全名
- TCP:Transmission Control Protocol(傳輸控制協定)
- UDP:User Datagram Protocol(使用者資料包協定)
2. TCP 與 UDP 運作模式之主要不同處
兩者最主要的本質差異在於**「連線狀態維護」與「傳輸可靠性保證」**:
- 連線建立機制:
- TCP 為連線導向(Connection-oriented):資料傳送前,雙方必須透過「三次握手(Three-way Handshake)」建立邏輯連線;結束傳輸時需透過「四次揮手(Four-way Handshake)」中斷連線。
- UDP 為非連線導向(Connectionless):傳送端不需事先與接收端建立連線,直接將資料包(Datagram)送出。
- 可靠性與傳輸控制:
- TCP 保證可靠傳輸(Reliable):具備確認應答(ACK)、序號標記(Sequence Number)、逾時重傳(Retransmission)、流量控制(Flow Control,透過滑動視窗 Sliding Window)及壅塞控制(Congestion Control)等機制,確保封包不遺失、不重複且按序抵達。
- UDP 提供不可靠傳輸(Unreliable / Best-effort):不保證封包送達順序,亦無重傳與壅塞控制機制,若網路壅塞造成封包遺失概不負責。
- 主要特性對比表:
| 比較項目 | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
|---|---|---|
| 連線模式 | 連線導向(Connection-oriented) | 非連線導向(Connectionless) |
| 可靠性 | 可靠(保證到達、有序、無損) | 不可靠(盡力而為 Best-effort,可能遺失或亂序) |
| 表頭開銷(Header Size) | 較大(標準 20 位元組,有選項時可達 60 位元組) | 較小(固定 8 位元組) |
| 傳輸速度與延遲 | 因握手與各項控制機制,延遲較高、速度較慢 | 無握手開銷,傳輸速度快、即時性高 |
| 傳輸單位 | 串流(Byte Stream) | 獨立資料包(Datagram) |