110 年 國立中正大學資訊工程學系碩士班甲組《計算機系統》

📄 試題原卷 免費註冊後即可對照原始考卷 PDF免費註冊

第 1-(1) 題2 分

Which of the following statements is false?

(A) Mobile devices must be concerned with power consumption.
(B) Mobile devices can provide features that are unavailable on desktop or laptop computers.
(C) The difference in storage capacity between a mobile device and a laptop is shrinking.
(D) Mobile devices usually have fewer processing cores than a standard desktop computer.

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

這一題的完整詳解

核心觀念

本題比較行動裝置與筆記型、桌上型電腦的資源限制與功能差異,重點包括電池供電、感測功能、儲存容量及處理器核心數。判斷時要分清楚「行動裝置容量通常較小」與「容量差距正在縮小」是兩種不同的主張;前者描述現況,後者描述趨勢。

解題方法

逐項檢查敘述是否符合一般行動裝置的特性。行動裝置仰賴電池,常有筆電或桌機沒有內建的感測與通訊功能;在題目的典型比較中,行動裝置的儲存容量仍遠小於筆電,因此不能據此認定兩者的容量差距正在縮小。

選項分析

  • (A) 正確。 行動裝置主要使用電池供電,處理器、螢幕、無線通訊等元件的耗電會影響續航力,因此設計時必須重視功耗。
🔒

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

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

免費註冊

第 1-(2) 題2 分

When the exclusive lock is applied to a file, then ____.

(A) only one process can use this file
(B) only one process can write to this file, but many processes can read it concurrently
(C) many processes can read and write to this file concurrently
(D) processes can write to this file only

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

這一題的完整詳解

核心觀念

檔案鎖定用來協調多個行程對同一檔案的存取,避免同時操作造成資料不一致。獨佔鎖(exclusive lock)代表取得鎖的行程獨占該檔案的使用權;其他遵守鎖定規則的行程不能同時讀取或寫入。相對地,共享鎖通常允許多個行程同時讀取,但會阻擋寫入。

解題方法

判斷關鍵在於「獨佔」:同一時間只能有一個行程取得該檔案的存取權,因此選出描述「只有一個行程能使用檔案」的選項。

選項分析

🔒

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

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

免費註冊

第 1-(3) 題2 分

Unified virtual memory uses ____ to cache both process page and file data.

(A) disk block caching
(B) double caching
(C) buffer caching
(D) page caching

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

這一題的完整詳解

核心觀念

統一虛擬記憶體(Unified Virtual Memory)讓檔案資料與程序的虛擬記憶體頁面共用同一套快取機制。作業系統以**頁面快取(page cache)**將檔案內容載入記憶體;程序讀取檔案時,這些資料也能以記憶體頁面的形式使用,減少重複存放與資料複製。

解題方法

題目問的是:統一虛擬記憶體用什麼機制,同時快取程序頁面與檔案資料?關鍵是「統一」代表兩類資料共用同一套頁面快取,因此答案是 page caching。

選項分析

  • (A) disk block caching:錯誤。 磁碟區塊快取以磁碟區塊為單位快取資料,著重於區塊層級,未指出程序頁面與檔案資料共用同一套頁面快取。
🔒

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

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

免費註冊

第 1-(4) 題2 分

In memory-mapped I/O, ____.

(A) main memory of the computing device is used for communicating with the I/O devices using the standard I/O instructions.
(B) main memory of the computing device is used for communicating with the I/O devices using the special I/O instructions.
(C) address space of the computing device is used for communicating with the I/O devices using the standard I/O instructions.
(D) address space of the computing device is used for communicating with the I/O devices using the special I/O instructions.

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

這一題的完整詳解

核心觀念

處理器與 I/O 裝置溝通有兩種方式:

  • 記憶體對映 I/O(memory-mapped I/O):把裝置的控制暫存器、資料暫存器配置在處理器的位址空間中的一段位址上,CPU 用一般的 load/store 指令(標準指令)讀寫這些位址,就等於讀寫裝置。
  • 隔離式 I/O(port-mapped / isolated I/O):裝置有獨立的 I/O 位址空間,必須用特殊的 I/O 指令(如 x86 的 in、out)存取。

選項分析

  • (A) 錯誤。 記憶體對映 I/O 使用的是位址空間中保留給裝置的位址,並不是佔用主記憶體(RAM)本身來與裝置溝通;那些位址對應到裝置暫存器,而不是記憶體晶片。
🔒

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

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

免費註冊

第 1-(5) 題2 分

Disk scheduling algorithms in the OS consider only seek distances, because ____.

(A) rotational latency is insignificant compared to the average seek time.
(B) modern disks do not disclose the physical location of logical blocks.
(C) the operating systems may have other constraints such as writes may be more urgent than reads.
(D) it is difficult to optimize seek time in disk hardware.

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

這一題的完整詳解

核心觀念

磁碟存取時間主要包含三部分:

Taccess=Tseek+Trotational+TtransferT_{\text{access}} = T_{\text{seek}} + T_{\text{rotational}} + T_{\text{transfer}}

其中,尋道時間 TseekT_{\text{seek}} 是讀寫頭移至目標磁軌所需的時間;旋轉延遲 TrotationalT_{\text{rotational}} 是等待目標磁區轉到讀寫頭下方所需的時間;傳輸時間 TtransferT_{\text{transfer}} 則是實際傳送資料所需的時間。

傳統作業系統磁碟排程常以請求間的尋道距離為依據,嘗試減少讀寫頭移動。要精確安排旋轉延遲,必須知道目標磁區在磁碟上的實際位置與當前旋轉狀態;但現代磁碟會將作業系統看到的邏輯區塊位址(LBA)轉換成實體位置,並可能進行內部重映射,因此作業系統通常無法直接取得這些資訊。

解題方法

題目問的是「為什麼排程演算法只考慮尋道距離」。判斷關鍵在於:作業系統是否能取得足夠資訊來預測旋轉延遲。

🔒

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

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

免費註冊

第 1-(6) 題2 分

Which of the following statements about device formatting is FALSE?

(A) Device manufacturers store the initial file-system data structures in the device.
(B) Operating system can create multiple partitions within a single device.
(C) Volume creation is implicit when a file system is placed directly within a partition.
(D) Not every partition contains a copy of the operating systems.

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

這一題的完整詳解

核心觀念

本題考查磁碟裝置的格式化、分割區與磁碟區之間的關係。

  • 低階格式化由製造商或相關工具建立磁碟的實體磁區結構。
  • 邏輯格式化由作業系統建立檔案系統所需的資料結構,例如目錄與空間管理資訊。
  • 磁碟可切分成多個分割區。分割區若建立了檔案系統,就稱為磁碟區(volume);也可以保留為未格式化或供其他用途。

解題方法

逐項對照「裝置製造商負責實體格式化」與「作業系統負責建立檔案系統」的分工。若選項把檔案系統資料結構歸給裝置製造商,即與格式化流程不符。

選項分析

🔒

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

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

免費註冊

第 1-(7) 題2 分

Which of the following statements is not true about spinlocks in Linux?

(A) Spinlocks cannot be used on single processor machines.
(B) A thread may disable kernel preemption on Symmetric Multi-Processing machines instead of acquiring spinlocks.
(C) A thread that acquires a spinlock cannot acquire the same lock a second time without first releasing the lock.
(D) The Linux kernel is designed so that the spinlock is held only for short durations.

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

這一題的完整詳解

核心觀念

Linux 核心的 spinlock(依 Silberschatz《Operating System Concepts》對 Linux 同步機制的說明):

  • 在**對稱多處理(SMP)**機器上,spinlock 是基本的鎖定機制;
  • 在單處理器機器上,自旋等待沒有意義(持有鎖的執行緒不可能同時在另一顆 CPU 上執行並釋放鎖),所以 spinlock 不適用,改以**停用/啟用核心搶先(preempt_disable / preempt_enable)**取代;
  • Linux spinlock 不可遞迴取得;
  • 核心設計成只在短時間內持有 spinlock,需要長時間持有時改用 semaphore 或 mutex。
單處理器多處理器
取得鎖停用核心搶先取得 spinlock
釋放鎖啟用核心搶先釋放 spinlock
🔒

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

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

免費註冊

第 1-(8) 題2 分

A thread using POSIX condition variables ____.

(A) must lock the associated mutex lock before calling pthread_cond_wait(), and unlock it after calling pthread_cond_signal().
(B) must lock the associated mutex lock before calling pthread_cond_wait(), but does not need to unlock it after calling pthread_cond_signal().
(C) does not need to lock the associated mutex lock before calling pthread_cond_wait(), but must unlock it after calling pthread_cond_signal().
(D) does not need to lock the associated mutex lock before calling pthread_cond_wait() and does not need to unlock it after calling pthread_cond_signal().

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

這一題的完整詳解

核心觀念

POSIX 條件變數用來讓執行緒等待某個條件成立。條件本身通常由共享變數表示,並由互斥鎖保護。

呼叫 pthread_cond_wait(&cond, &mutex) 前,呼叫執行緒必須已持有 mutex。此函式會原子地釋放互斥鎖並進入等待;被喚醒後,函式會先重新取得該鎖,再返回。因此,等待執行緒返回時仍持有互斥鎖。

pthread_cond_signal(&cond) 則不要求呼叫端持有關聯的互斥鎖,也不會自動解鎖互斥鎖。

解題方法

分別判斷兩件事:

  1. 呼叫 pthread_cond_wait() 前是否必須持有互斥鎖? 必須,否則無法正確保護共享條件,也不符合 POSIX 條件變數的使用要求。
  2. 呼叫 pthread_cond_signal() 後是否必須解鎖互斥鎖? 條件變數介面沒有這項要求。訊號執行緒可以不持有該鎖就呼叫 pthread_cond_signal();若它先前自行取得了鎖,仍須依一般互斥鎖規則在適當時機釋放。
🔒

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

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

免費註冊

第 1-(9) 題2 分

Which of the following is true for the solutions to critical-section problems?

(A) No deadlock implies progress, and progress implies bounded waiting.
(B) Bounded waiting implies progress, and progress implies no deadlock.
(C) Progress implies no deadlock, and no deadlock implies bounded waiting.
(D) Bounded waiting implies no deadlock, and no deadlock implies progress.

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

這一題的完整詳解

核心觀念

臨界區問題的正確解法通常必須滿足三項要求:

  • 互斥(mutual exclusion):同一時間最多只有一個程序在臨界區內。
  • 進展(progress):若臨界區目前沒有人,而有程序想進入,選擇下一個進入者的決定不能無限期延遲;只有想進入臨界區的程序能影響這項決定。
  • 有限等待(bounded waiting):程序提出進入臨界區的請求後,其他程序在它獲准前進入臨界區的次數有上限。

其中,進展關注「有程序想進入時,能否在有限時間內選出進入者」;有限等待則進一步保證「特定請求不會一直被其他程序超過」。因此,有限等待比進展提供更強的保障。

解題方法

判斷各項性質之間的蘊含關係:

  1. 若滿足有限等待,請求進入的程序不會被其他程序無限次超過,因此等待中的程序終將有機會進入;這也保證了進展。
  2. 若滿足進展,當臨界區空閒且有程序請求進入時,不能無限期不讓任何程序進入,因此不會發生死結。
  3. 反方向不一定成立:沒有死結只表示不會所有相關程序都卡住,不能保證請求一定會獲准;進展也不限制某個程序被其他程序超過的次數,因此不能保證有限等待。

可記為:

🔒

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

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

免費註冊

第 1-(10) 題2 分

Which of the following statements regarding threads is false?

(A) Sharing is automatically provided in Java threads.
(B) Both Pthreads and Win32 threads share global data.
(C) The start() method actually creates a thread in the Java virtual machine.
(D) The Java method join() provides similar functionality as the WaitForSingleObject in Win32.

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

這一題的完整詳解

核心觀念

三種執行緒函式庫的資料共享(Silberschatz《Operating System Concepts》):

  • Pthreads、Win32:在函式外宣告的全域資料,自然由同一行程的所有執行緒共享。
  • Java:純物件導向語言,沒有全域資料的概念;兩個以上的執行緒要共享資料,必須明確把共享物件的參考傳給各個執行緒,共享不是自動提供的。

選項分析

  • (A) 錯誤(本題答案)。 Java 執行緒的資料共享不是自動提供的;必須把同一個物件的參考交給需要共享的執行緒(例如在建構 Runnable 物件時傳入共享物件)。
  • **(B) 正確。
🔒

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

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

免費註冊
📄 以下 2 題共用同一段題幹

Suppose there are three real-time processes in the system, as shown in the table. All processes are ready at time 00, and the deadline for each process equals its period.

ProcessProcessing TimePeriod
P12050
P230100
P390300

第 2-(a) 題5 分

Suppose the Rate Monotonic Scheduling algorithm (RMS) is adopted to schedule the real-time process set. Can all the processes be scheduled without missing their deadline requirements?

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

這一題的完整詳解

核心觀念

率單調排程(RMS)是固定優先權排程:週期越短,優先權越高。因此本題優先順序為 P1>P2>P3P1>P2>P3。題目給定每個工作的截止期限等於週期,且所有工作在時間 00 同時就緒。

可用響應時間分析檢查每個工作的最壞完成時間。對低優先權處理程序 PiP_i,響應時間反覆計算:

Ri=Ci+∑j∈hp(i)⌈RiTj⌉CjR_i=C_i+\sum_{j\in hp(i)} \left\lceil\frac{R_i}{T_j}\right\rceil C_j

其中 CiC_i 是處理時間,TjT_j 是較高優先權處理程序的週期,hp(i)hp(i) 是所有優先權高於 PiP_i 的處理程序集合。若計算收斂後 Ri≤TiR_i\leq T_i,該處理程序便能在截止期限前完成。

解題方法

依 RMS 排序為 P1>P2>P3P1>P2>P3,逐一計算響應時間。

對 P1P1,沒有更高優先權處理程序干擾:

R1=C1=20≤50R_1=C_1=20\leq 50

對 P2P2,只有 P1P1 會造成干擾。從 R2(0)=30R_2^{(0)}=30 開始迭代:

R2(1)=30+⌈3050⌉20=50R_2^{(1)} =30+\left\lceil\frac{30}{50}\right\rceil20 =50

再代入 5050:

R2(2)=30+⌈5050⌉20=50R_2^{(2)} =30+\left\lceil\frac{50}{50}\right\rceil20 =50

響應時間收斂為 R2=50≤100R_2=50\leq 100。

對 P3P3,較高優先權處理程序為 P1P1 和 P2P2。從 R3(0)=90R_3^{(0)}=90 開始迭代:

🔒

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

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

免費註冊

第 2-(b) 題5 分

Suppose the Earliest Deadline First Scheduling (EDF) is adopted to schedule the real-time process set. Can all the processes be scheduled without missing their deadline requirements?

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

這一題的完整詳解

核心觀念

本題考查單一處理器上的最早期限優先排程(EDF)可排程性。每個工作的相對期限等於其週期,屬於「隱含期限」工作集合。

對可搶先、獨立且週期性工作的單一處理器,在此條件下,EDF 可排程的充要條件是總處理器利用率不超過 11:

U=∑iCiTi≤1U=\sum_i \frac{C_i}{T_i}\leq 1

其中 CiC_i 是處理時間,TiT_i 是週期。UU 表示處理器長期必須用於執行工作的比例。

解題方法

代入三個工作的處理時間與週期:

U=2050+30100+90300U=\frac{20}{50}+\frac{30}{100}+\frac{90}{300} U=0.4+0.3+0.3=1U=0.4+0.3+0.3=1

因此,工作集合恰好使用處理器的全部容量,沒有空閒時間;但因為 U=1U=1 仍符合 EDF 的可排程條件,所以所有工作都能在期限前完成。

也可用超週期 H=lcm⁡(50,100,300)=300H=\operatorname{lcm}(50,100,300)=300 驗證。以下是一種 EDF 執行排程,區間右端點即為各段執行結束時間:

時間區間執行工作
00–2020P1P1
2020–5050P2P2
5050–7070P1P1
🔒

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

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

免費註冊
📄 以下 2 題共用同一段題幹

Given a computer system with a 64-bit virtual address, let the system be only byte-addressable. Assume that every page is of 32 KB with 4 bytes per page entry in the page table. Suppose that the frame number needs 3 bytes to store.

第 3-(a) 題5 分

Suppose that we have multi-level paging. How many levels do we have in multi-level paging?

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

這一題的完整詳解

核心觀念

多層頁表的層數取決於虛擬頁號需要多少位元,以及每一層頁表可用多少位元來索引。頁面大小決定頁內位移位數;每個頁表項目占用的大小則決定一個頁表頁面能容納多少個項目。

解題方法

頁面大小為 32 KB=21532\text{ KB}=2^{15} 位元組,且系統以位元組定址,因此頁內位移占 1515 位元。虛擬位址為 6464 位元,虛擬頁號便占:

64−15=49 位元64-15=49\text{ 位元}

每個頁表項目為 44 位元組,一個頁面可容納的頁表項目數為:

215 位元組22 位元組/項目=213 個項目\frac{2^{15}\text{ 位元組}}{2^2\text{ 位元組/項目}} =2^{13}\text{ 個項目}
🔒

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

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

免費註冊

第 3-(b) 題5 分

Suppose that TLB is adopted for paging, where the above multi-level paging is used. Let the memory access time and TLB access time be 100 ns and 10 ns, respectively. When the TLB hit ratio is 80%, what is the effective memory access time?

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

這一題的完整詳解

核心觀念

TLB 命中時,處理器可直接取得頁面到實體框架的對應,只需一次實際的記憶體存取。TLB 未命中時,必須先逐層查詢頁表取得位址轉換,再存取目標資料。

解題方法

頁面大小為 32 KB=21532\text{ KB}=2^{15} bytes,因此位移欄位占 1515 位元。虛擬頁號占:

64−15=49 位元64-15=49\text{ 位元}

每個頁表項目為 44 bytes,一個頁表頁面可容納:

21522=213\frac{2^{15}}{2^2}=2^{13}

個頁表項目,因此每層可索引 1313 位元。4949 位元的虛擬頁號需要 44 層頁表,例如索引位元數分配為 13+13+13+10=4913+13+13+10=49。

🔒

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

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

免費註冊

第 4 題5 分

Given the following snapshot of the system, determine whether there exists a safe sequence.

ProcessAllocation AAllocation BAllocation CAllocation DMax AMax BMax CMax DAvailable AAvailable BAvailable CAvailable D
P0201131110111
P112012212
P210022012
P321012212
🖼️ 本題附圖:
第 4 題附圖
圖看不清楚?展開原卷第 5 頁核對
原卷第 5 頁

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

這一題的完整詳解

核心觀念

本題考 **Banker’s algorithm(銀行家演算法)**的安全性檢查。對每個行程計算尚需資源量:

Need=Max−Allocation\text{Need}=\text{Max}-\text{Allocation}

若某行程的 Need 每種資源都不超過目前可用量,就能先完成該行程;完成後,它會釋放已分配的資源,使其他行程有機會完成。若所有行程都能依序完成,該順序就是安全序列。

解題方法

圖中表格的 Available 為 (A,B,C,D)=(0,1,1,1)(A,B,C,D)=(0,1,1,1)。各行程的 Allocation 與 Max 如題表所示;計算 Max 減 Allocation 後,Need 為:

行程Need ANeed BNeed CNeed D
P01100
P11011
P21010
P30111

從可用量 (0,1,1,1)(0,1,1,1) 開始,P3 的 Need (0,1,1,1)(0,1,1,1) 不超過可用量,因此 P3 可以先完成。完成後釋放其 Allocation (2,1,0,1)(2,1,0,1),可用量更新為:

🔒

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

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

免費註冊

第 5 題5 分

Consider a file system that uses inodes to represent files. Disk blocks are 4 KB in size, and a pointer to a disk block requires 8 bytes. This file system has 12 direct disk blocks, plus single, double, and triple indirect disk blocks. What is the maximum size of a file that can be stored in this file system?

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

這一題的完整詳解

核心觀念

inode 透過不同層級的索引區塊,記錄檔案資料區塊的位置:

  • 直接指標:每個指標直接指向一個資料區塊。
  • 單重間接指標:指向一個索引區塊,該索引區塊內的指標都指向資料區塊。
  • 雙重間接指標:經過兩層索引區塊後,指向資料區塊。
  • 三重間接指標:經過三層索引區塊後,指向資料區塊。

每個索引區塊可存放的指標數為:

區塊大小指標大小\frac{\text{區塊大小}}{\text{指標大小}}

計算檔案大小時,統計這些指標最多能對應到多少個資料區塊,再乘上每個資料區塊的大小。

解題方法

題目給定區塊大小為 4 KB=40964\text{ KB}=4096 bytes,區塊指標大小為 88 bytes。因此,一個索引區塊可容納:

40968=512 個指標\frac{4096}{8}=512\text{ 個指標}

各層級可指向的資料區塊數如下:

🔒

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

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

免費註冊
📄 以下 3 題共用同一段題幹

The sequential machine shown in the figure consists of two inverters, one NAND gate, and a D flip-flop.

🖼️【此處有附圖,請對照原卷】

第 6-(a) 題6 分

Describe the Boolean equations for this sequential machine, including the next-state function and output function.

🖼️ 本題含圖表,以下為原卷對應頁面:
原卷第 5 頁原卷第 6 頁

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

這一題的完整詳解

核心觀念

時序電路由組合邏輯與 D 型正反器組成。D 型正反器在時脈觸發時,將 DD 端的值存入狀態,因此下一狀態函數為 Q+=DQ^{+}=D;輸出函數則由輸出端所連接的組合邏輯決定。

解題方法

圖中有兩個反相器、一個 NAND 閘與一個 D 型正反器。令輸入為 xx、正反器目前狀態為 qq:輸入 xx 經一個反相器後接到 DD 端;xx 與回授的目前狀態 qq 接到 NAND 閘,而 NAND 輸出再經另一個反相器形成輸出 yy。

因此,下一狀態由 DD 端訊號決定:

🔒

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

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

免費註冊

第 6-(b) 題4 分

If the input at each cycle is “0”, “0”, “1”, “1”, “0”, and “1”, and initially the present state is “0”, please find the output of the sequential machine.

🖼️ 本題含圖表,以下為原卷對應頁面:
原卷第 5 頁原卷第 6 頁

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

這一題的完整詳解

核心觀念

這題考同步循序電路的狀態轉移與輸出函數。D 型正反器在時脈觸發時,將 DD 端的值存入狀態,因此下一狀態為 Q+=DQ^{+}=D;輸出則由當下的輸入與現態決定。

解題方法

圖中輸入 xx 分成兩路:一路經反相器接到正反器的 DD 端;另一路與回授的現態 QQ 接至 NAND 閘,NAND 輸出再經反相器形成輸出 yy。因此:

Q+=x‾Q^{+}=\overline{x} y=Qx‾‾=Qxy=\overline{\overline{Qx}}=Qx

每一個週期先用該週期開始時的現態和輸入計算輸出,再在時脈觸發後更新狀態。初始現態為 Q=0Q=0:

🔒

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

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

免費註冊

第 6-(c) 題5 分

Assume that the setup time, clock-to-q delay, and hold time of the D flip-flop are 100 ps, 100 ps, and 50 ps, respectively. The inverter has a 50 ps delay, and the NAND gate has a 100 ps delay. What is the maximum operating frequency of this circuit?

🖼️ 本題含圖表,以下為原卷對應頁面:
原卷第 5 頁原卷第 6 頁

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

這一題的完整詳解

核心觀念

同步電路的最高時脈頻率由暫存器到暫存器的最長組合路徑決定。若路徑存在,時脈週期至少要滿足:

Tclk≥tcq+tcomb,max+tsetupT_{\text{clk}} \ge t_{\text{cq}}+t_{\text{comb,max}}+t_{\text{setup}}

其中 tcqt_{\text{cq}} 是時脈至輸出延遲,tcomb,maxt_{\text{comb,max}} 是組合邏輯最大延遲,tsetupt_{\text{setup}} 是建立時間。

解題方法

圖中 D 端接的是輸入訊號經一個反相器後的 next_state;Q 端的 present_state 則接至 NAND 閘,NAND 輸出再經另一個反相器形成電路輸出。依照圖示,Q 到輸出有組合邏輯,但這條路徑沒有接回 D 端;D 端的路徑則由外部輸入開始。

因此,圖中沒有可用來套用上述公式的暫存器到暫存器路徑。題目也沒有提供輸入相對於時脈的到達時間,或輸出端的時序限制,所以無法從所給資料算出此電路的最高操作頻率。題目提供的保持時間也無法補足這項缺失;

🔒

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

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

免費註冊

第 7 題8 分

SRAM and DRAM are used to implement the memory system. Please compare the difference between SRAM and DRAM in terms of density, power, cost, and speed.

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

這一題的完整詳解

核心觀念

本題比較兩種揮發性記憶體的實作方式與硬體成本:

  • SRAM(靜態隨機存取記憶體):每個位元通常以 6 個電晶體組成鎖存器儲存資料;只要供電,資料便能維持,不需定期刷新。
  • DRAM(動態隨機存取記憶體):每個位元通常以 1 個電晶體搭配 1 個電容儲存電荷;電荷會逐漸漏失,因此必須定期刷新。

解題方法

比較時,先看每個位元所需的儲存元件數量,再推論晶片面積、成本與存取速度。SRAM 的單位元電路較複雜,占用面積較大,但讀寫不必等待刷新,存取速度較快;DRAM 的單位元電路較簡單,可在相同晶片面積中放入更多位元,成本較低,但刷新與讀取程序使存取較慢。

比較項目SRAMDRAM
密度較低。每個位元通常需要 6 個電晶體,占用面積較大。較高。每個位元通常只需 1 個電晶體與 1 個電容,占用面積較小。
🔒

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

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

免費註冊

第 8 題8 分

Suppose that there are two machines, A and B. Machine A uses a dual-port memory, and machine B uses a single-port memory. The ideal CPI is 11 for both machines, and machine B has a clock rate that is 1.05 times faster than machine A. If loads are 40% of executed instructions, which machine is faster? Why?

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

這一題的完整詳解

核心觀念

比較兩台機器的效能,不能只看時脈頻率,還要同時考慮每條指令平均需要的時脈週期數(CPI)。對相同的指令數 II:

執行時間=I×CPI時脈頻率\text{執行時間}=\frac{I\times \text{CPI}}{\text{時脈頻率}}

雙埠記憶體可在同一週期內處理指令擷取與資料存取;單埠記憶體同一時間只能處理一項存取,因此載入指令若與指令擷取衝突,就需要停等。

解題方法

假設兩種機器都採用單一記憶體供指令擷取與資料存取,且機器 B 的每次載入衝突會多花一個週期。

機器 A 使用雙埠記憶體,不需因載入指令增加停等週期,因此實際 CPI 為 11。

機器 B 的載入指令占指令總數 40%40\%。每條載入指令平均增加一個停等週期,所以:

CPIB=1+0.40×1=1.40\text{CPI}_B=1+0.40\times 1=1.40

令機器 A 的時脈頻率為 ff,則機器 B 的時脈頻率為 1.05f1.05f。比較每秒可執行的指令數:

🔒

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

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

免費註冊

第 9 題7 分

Translate the following C code into MIPS assembly language, and briefly explain the assembly code execution.

C code: f=(i==j)?g+h:g−h;f=(i==j)?g+h:g-h;

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

這一題的完整詳解

核心觀念

此題考查 C 語言條件運算子 ?: 如何轉成 MIPS 的條件分支。原式

f=(i==j)?g+h:g−hf=(i==j)?g+h:g-h

表示:若 i=ji=j,令 f=g+hf=g+h;否則令 f=g−hf=g-h。MIPS 可用 beq 比較兩個暫存器,並依比較結果跳到對應的指令區段。

解題方法

假設各變數的整數值已存入下列暫存器:

變數MIPS 暫存器
ii$s0
jj$s1
gg$s2
hh$s3
ff$s4

先用 beq 判斷 ii 是否等於 $j

🔒

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

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

免費註冊

第 10 題6 分

Based on the IEEE 754-2008 standard, half-precision floating-point format (sometimes called FP16 or binary16) occupies 16 bits with one sign bit, 5 exponent bits, and 10 mantissa bits. Please show the representation of −5.0-5.0 and +2.5+2.5.

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

這一題的完整詳解

核心觀念

IEEE 754 binary16(半精度)由 16 位元組成:

符號位元 s∣指數欄位 E(5 位元)∣尾數欄位 F(10 位元)\text{符號位元 }s \quad|\quad \text{指數欄位 }E\text{(5 位元)}\quad|\quad \text{尾數欄位 }F\text{(10 位元)}

對於非零正規化數,數值為

(−1)s×(1.F)2×2E−bias(-1)^s \times (1.F)_2 \times 2^{E-\text{bias}}

其中 5 位元指數的偏移量為

bias=25−1−1=15\text{bias}=2^{5-1}-1=15

尾數欄位只存小數點後的位元;正規化數的小數點前首位 11 不另外儲存。

解題方法

先將絕對值改寫成二進位正規化形式,再依序填入符號位元、偏移後的指數,以及尾數欄位。

−5.0-5.0

5.010=101.02=1.012×225.0_{10}=101.0_2=1.01_2\times 2^2
🔒

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

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

免費註冊

第 11 題6 分

Hit time, miss rate, and miss penalty are three metrics for cache optimizations. Please provide two cache optimization schemes to increase cache bandwidth.

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

這一題的完整詳解

核心觀念

快取頻寬(cache bandwidth)是快取在單位時間內能提供的資料量,可概念化為:

快取頻寬=每次傳輸的資料量×單位時間內的傳輸次數\text{快取頻寬} = \text{每次傳輸的資料量} \times \text{單位時間內的傳輸次數}

題目提到的命中時間(hit time)、失誤率(miss rate)與失誤代價(miss penalty),分別描述命中時的存取時間、存取未命中快取的機率,以及未命中後取回資料所需的額外時間。這題聚焦在提高資料傳輸速率;降低命中時間或失誤率不等於直接增加快取頻寬。

解題方法

從「每次能傳多少資料」與「能否同時進行多筆傳輸」兩個方向,各提出一種快取最佳化方式:

🔒

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

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

免費註冊

其他考古題