108 年 國立宜蘭大學電子工程學系碩士班《計算機概論》
第 1 題
- 以下何者不是用以描述 CPU 的規格
(A) 7200RPM
(B) 2 Cores
(C) 8 Threads
(D) 2GHz
(E) 8MB L3 Cache
登入後即可作答並保存紀錄。
此題考查 CPU 的基本規格與效能指標。CPU 的規格通常包含核心數量、時脈速度、執行緒數量以及快取記憶體大小。RPM (Revolutions Per Minute) 是轉速單位,通常用於描述硬碟或光碟機的轉速,而非 CPU 的規格。
第 2 題
一個 4 位元的暫存器被用來儲存有號整數,若以 2' complement 的方式來儲存,則可儲存與 0 差距最多的正整數為何?
(A) +1
(B) +3
(C) +5
(D) +7
(E) +9
登入後即可作答並保存紀錄。
此題考查 2's complement(二補數)表示法下,有號整數的表示範圍。
對於一個 n 位元的二補數系統:
- 正整數的範圍是 到 。
- 負整數的範圍是 到 。
- 0 的表示法是所有位元皆為 0。
本題是 4 位元系統,所以 。
- 正整數的範圍是 到 。
第 3 題
一個 4 位元的暫存器被用來儲存有號整數,若以 2' complement 的方式來儲存,則可儲存與 0 差距最多的負整數為何?
(A) -2
(B) -4
(C) -6
(D) -8
(E) -10
登入後即可作答並保存紀錄。
此題考查 2's complement(二補數)表示法下,有號整數的表示範圍。
對於一個 n 位元的二補數系統:
- 正整數的範圍是 到 。
- 負整數的範圍是 到 。
- 0 的表示法是所有位元皆為 0。
本題是 4 位元系統,所以 。
- 正整數的範圍是 到 。
第 4 題
Google 地圖是哪一種類型的雲端服務
(A) IaaS
(B) PaaS
(C) SaaS
(D) MaaS
(E) GooS
登入後即可作答並保存紀錄。
此題考查雲端運算服務模式的分類。常見的雲端服務模式包括:
- IaaS (Infrastructure as a Service):提供基礎設施,如伺服器、儲存、網路。使用者需要自行管理作業系統、應用程式等。
- PaaS (Platform as a Service):提供應用程式開發和部署的平台,包含作業系統、資料庫、開發工具等。使用者專注於應用程式開發。
- SaaS (Software as a Service):提供完整的軟體應用程式,使用者透過網路存取,無需安裝或管理。
Google 地圖 (Google Maps) 是一個提供地圖服務的應用程式,使用者透過網頁瀏覽器或行動應用程式即可使用,無需安裝或管理底層的基礎設施或平台。
第 5 題
以下何者為非對稱性加密演算法
(A) RC4
(B) RSA
(C) DES
(D) 3DES
(E) AES
登入後即可作答並保存紀錄。
此題考查常見的加密演算法分類,特別是針對對稱性加密與非對稱性加密。
- 對稱性加密 (Symmetric Encryption):使用同一把金鑰進行加密和解密。速度快,但金鑰管理較為困難。
- 非對稱性加密 (Asymmetric Encryption) / 公鑰加密 (Public-Key Cryptography):使用一對金鑰,一個公鑰用於加密,另一個私鑰用於解密(或反之)。金鑰管理較為方便,但速度較慢。
第 6 題
計算機內部用以解碼指令的電路單元為
(A) 算術邏輯運算單元
(B) 輸入單元
(C) 輸出單元
(D) 記憶體單元
(E) 控制單元
登入後即可作答並保存紀錄。
此題考查計算機體系結構中 CPU 的基本組成部分及其功能。CPU 主要包含三個部分:
- 算術邏輯單元 (ALU - Arithmetic Logic Unit):負責執行算術運算(加、減、乘、除)和邏輯運算(AND, OR, NOT, XOR)。
- 控制單元 (CU - Control Unit):負責從記憶體中取出指令、解碼指令、產生控制信號,協調 ALU、記憶體及輸入/輸出設備的工作,指揮整個電腦的運行。
第 7 題
記憶階層由不同種類的儲存裝置所組成,那種儲存裝置的資料存取速度最快?
(A) 暫存器
(B) 快取記憶體
(C) 主記憶體
(D) 硬碟
(E) 磁帶
登入後即可作答並保存紀錄。
此題考查計算機記憶體層次結構(Memory Hierarchy)中各儲存裝置的存取速度。記憶體階層的設計目的是為了平衡儲存容量、速度和成本。通常,越靠近 CPU 的儲存裝置,其存取速度越快,但容量越小,成本也越高。
記憶體階層的典型順序(從快到慢):
- CPU 暫存器 (CPU Registers):CPU 內部的高速儲存單元,直接與 CPU 的執行單元互動,存取速度最快,延遲極低。
- 快取記憶體 (Cache Memory):位於 CPU 和主記憶體之間,用於存放 CPU 最近常用或即將使用的資料。通常分為 L1, L2, L3 等級,L1 最快。
- 主記憶體 (Main Memory / RAM):也稱為隨機存取記憶體,用於存放當前運行程式的指令和資料。
第 8 題
記憶體位址被存取後,有很大的機會於不久的將來會再被存取的現象稱做
(A) Spatial Locality
(B) Temporal Locality
(C) Random Locality
(D) Access Locality
(E) No Locality
登入後即可作答並保存紀錄。
此題考查記憶體存取的基本原理,特別是關於局部性原理 (Principle of Locality)。局部性原理是作業系統和電腦體系結構設計的重要基礎,它描述了程式在執行時對記憶體的存取模式。
局部性原理包含兩種:
- 時間局部性 (Temporal Locality):如果一個記憶體位置被存取,那麼在不久的將來,該位置很可能被再次存取。例如,迴圈中的變數、函數中的局部變數等。
第 9 題
以下哪個技術不是用來加速電腦運算速度?
(A) 多層快取記憶體
(B) 多核心
(C) 管線
(D) 磁碟陣列
(E) 熱抽換
登入後即可作答並保存紀錄。
此題考查用於提升電腦效能的常見技術。我們逐一分析各選項:
(A) 多層快取記憶體 (Multi-level Cache):CPU 內部設有多層快取(如 L1, L2, L3),用於存放常用數據,減少 CPU 存取主記憶體的次數,從而加速運算。這是加速技術。
(B) 多核心 (Multi-core):一個 CPU 內包含多個處理核心,可以同時執行多個執行緒或任務,提高整體處理能力。這是加速技術。
(C) 管線 (Pipelining):將指令執行的過程分解成多個階段(如取指令、解碼、執行、寫回),讓不同階段的指令可以同時在 CPU 的不同單元上執行,提高指令的吞吐量。這是加速技術。
第 10 題
以下哪個軟體不是作業系統?
(A) Windows
(B) Linux
(C) OneNote
(D) Unix
(E) OS X
登入後即可作答並保存紀錄。
此題考查作業系統 (Operating System, OS) 的基本概念。作業系統是管理電腦硬體與軟體資源的系統軟體,它為使用者和應用程式提供了一個介面,並控制程式的執行。
選項分析:
(A) Windows:是 Microsoft 公司開發的廣泛使用的個人電腦作業系統。
(B) Linux:是一個開源的類 Unix 作業系統內核,被廣泛用於伺服器、嵌入式設備以及個人電腦。
第 11 題
物聯網之英文縮寫為何?
(A) IoT
(B) BoT
(C) BCT
(D) BCN
(E) Tol
登入後即可作答並保存紀錄。
此題考查物聯網 (Internet of Things) 的英文縮寫。
物聯網是指將各種實體物品(如感測器、設備、車輛等)透過網路連接起來,實現數據的收集、交換和智能化處理的技術。
其英文縮寫為 IoT。
第 12 題
以下何者為物件導向語言?
(A) C
(B) Python
(C) Fortran
(D) Basic
(E) Prolog
登入後即可作答並保存紀錄。
此題考查程式語言的範式,特別是物件導向程式設計 (Object-Oriented Programming, OOP)。物件導向程式設計是一種程式設計典範,它將程式的組成單元視為「物件」,物件包含資料(屬性)和操作(方法)。
我們來分析各選項的語言範式:
(A) C 語言:主要是一種程序式程式語言,雖然可以透過結構體 (struct) 和函數指標模擬物件導向的概念,但本身並非原生支援物件導向。
(B) Python:是一種多範式程式語言,廣泛支援物件導向程式設計。
第 13 題
以下何者是虛擬機器軟體?
(A) Word
(B) FireFox
(C) VirtualBox
(D) Chrome
(E) EndNote
登入後即可作答並保存紀錄。
此題考查虛擬機器 (Virtual Machine, VM) 軟體的辨識。虛擬機器軟體允許在一台實體電腦上模擬出一個或多個虛擬的電腦環境,可以在這些虛擬環境中安裝和運行不同的作業系統及應用程式,而不會影響到實體電腦。
第 14 題
大數據的特性包含了 Volumn、Velocity、Variety 與 Veracity。請問 Variety 指的是何種特性?
(A) 資料真實性
(B) 資料巨量性
(C) 資料可辨性
(D) 資料多樣性
(E) 資料流動性
登入後即可作答並保存紀錄。
此題考查大數據 (Big Data) 的 4V 特性。大數據的 4V 特性是描述大數據的關鍵屬性:
- Volume (巨量性):數據的規模非常龐大,遠超傳統數據處理工具的能力。
- Velocity (高速性/流動性):數據產生、處理和分析的速度非常快,通常是即時或近乎即時的。
第 15 題
資料結構上一個擁有8個結點的樹有幾個邊(edge)?
(A) 3
(B) 4
(C) 5
(D) 6
(E) 7
登入後即可作答並保存紀錄。
此題考查樹 (Tree) 資料結構的基本性質。在圖論和電腦科學中,一棵樹的節點 (Node) 和邊 (Edge) 之間存在一個固定的關係。
第 16 題
若一個演算法的時間複雜度為 T(n) = n² + 1,則以下何者不正確?
(A) T(n) = Ω(n²)
(B) T(n) = O(n²)
(C) T(n) = Θ(n²)
(D) T(n) = O(n³)
(E) T(n) = Ω(n³)
登入後即可作答並保存紀錄。
此題考查演算法的時間複雜度表示法,包括大 O 符號 (O)、大 Omega 符號 (Ω) 和大 Theta 符號 (Θ)。
給定時間複雜度為 。
我們來分析各選項的正確性:
大 O 符號 (Upper Bound): 表示存在正常數 和 ,使得對於所有 ,都有 。
-
(B) :
我們需要找到 和 使得 。
若取 ,則 成立,對於 (即 )。
所以 是正確的。 -
(D) :
我們需要找到 和 使得 。
若取 ,則 成立,對於 (因為 的根約為 1.46,所以 開始滿足)。
所以 是正確的。事實上,任何高於 的函數都可以作為 的上界。
大 Omega 符號 (Lower Bound): 表示存在正常數 和 ,使得對於所有 ,都有 。
第 17 題
ISO 所定義的網路七層架構的第四層為何?
(A) 實體層
(B) 資料連結層
(C) 網路層
(D) 傳輸層
(E) 會議層
登入後即可作答並保存紀錄。
此題考查 OSI (Open Systems Interconnection) 模型,即網路七層架構。OSI 模型將網路通訊劃分為七個邏輯層,每一層負責特定的功能。
OSI 模型從上到下(或從應用程式到實體介質)的七層分別是:
7. 應用層 (Application Layer)
6. 表示層 (Presentation Layer)
5. 會議層 (Session Layer)
4. 傳輸層 (Transport Layer)
3. 網路層 (Network Layer)
第 18 題
那一種協定可用以安全連接主機帳戶?
(A) SMTP
(B) TELNET
(C) SSH
(D) FTP
(E) DHCP
登入後即可作答並保存紀錄。
此題考查網路安全協定。安全連接主機帳戶通常指遠端登入或檔案傳輸時的驗證和資料傳輸的安全性。
我們來分析各選項的協定功能:
(A) SMTP (Simple Mail Transfer Protocol):用於傳送電子郵件的協定,本身不提供安全連接或帳戶驗證。
(B) TELNET:用於遠端登入的協定,但其傳輸的資料(包括帳戶和密碼)都是明文,不安全。
(C) SSH (Secure Shell):是一種網路協定,用於在不安全的網路上提供安全的遠端登入和其他網路服務。SSH 透過加密來保護傳輸的資料,包括帳戶驗證資訊。
第 19 題
假設一個時脈振動頻率為 1GHz,則此時脈的週期為何?
(A) 10⁻¹² second
(B) 10⁻⁹ second
(C) 10⁻⁶ second
(D) 10⁻³ second
(E) 1 second
登入後即可作答並保存紀錄。
此題考查頻率 (Frequency) 與週期 (Period) 之間的關係。
頻率 (f) 是指單位時間內發生的週期性事件的次數,單位是赫茲 (Hz)。
週期 (T) 是指完成一個週期性事件所需的時間,單位是秒 (s)。
兩者之間的關係是:
或
題目給定的時脈振動頻率為 。
首先,需要將 GHz 轉換為 Hz:
第 20 題
微處理器執行指令的順序為何?
(A) 提取指令、解碼指令、提取資料、執行指令
(B) 提取資料、執行指令、提取指令、解碼指令
(C) 執行指令、提取指令、解碼指令、提取資料
(D) 解碼指令、提取資料、執行指令、提取指令
(E) 提取指令、解碼指令、執行指令、提取資料
登入後即可作答並保存紀錄。
核心觀念
本題考微處理器的指令執行循環。一般可分為提取指令、解碼指令、提取運算元資料,以及執行指令等階段。處理器先從記憶體取出指令並判讀其內容,接著取得執行該指令所需的資料,最後才進行運算或其他操作。
解題方法
依照指令執行的先後關係判斷:
- 提取指令:依程式計數器(PC)所指位置,從記憶體讀取下一個指令。
- 解碼指令:控制單元判讀指令內容,確認要執行的操作及所需運算元。
- 提取資料:若指令需要記憶體中的運算元,便將資料取入處理器。
- 執行指令:由算術邏輯單元或其他單元完成指定操作。
因此順序為「提取指令 → 解碼指令 → 提取資料 → 執行指令」。
選項分析
第 21 題
二進制數值 (11111001)₂ 轉換為十六進制時,其值為何?
(A) (69)₁₆
(B) (F9)₁₆
(C) (31)₁₆
(D) (88)₁₆
(E) (9F)₁₆
登入後即可作答並保存紀錄。
此題考查二進制 (Binary) 到十六進制 (Hexadecimal) 的轉換。
十六進制使用 0-9 和 A-F (代表 10-15) 這 16 個符號來表示數值。
二進制到十六進制的轉換方法是將二進制數從右邊開始,每四位分為一組,不足四位的前面補零,然後將每一組四位二進制數轉換成對應的十六進制數字。
給定的二進制數是 。
我們將它從右邊開始分組,每四位一組:
現在,將每一組轉換成十六進制:
第一組 (右邊):
。
所以, 對應的十六進制數字是 9。
第 22 題
下列軟體何者可用於壓縮資料?
(A) IE
(B) Excel
(C) Sybase
(D) WinZip
(E) WinEdit
登入後即可作答並保存紀錄。
此題考查常見軟體的功能,特別是資料壓縮軟體。
我們來分析各選項的軟體功能:
(A) IE (Internet Explorer):是 Microsoft 公司開發的網頁瀏覽器,用於瀏覽網際網路上的網頁。
(B) Excel:是 Microsoft Office 套件中的試算表軟體,用於處理和分析數據。
第 23 題
一個程式在電腦中執行共需 120 秒,其中乘法指令共花掉 80 秒,請問要將乘法指令速度提升為多少倍可使程式執行時間成為原來的二分之一?
(A) 2倍
(B) 4倍
(C) 8倍
(D) 16倍
(E) 32倍
登入後即可作答並保存紀錄。
此題考查程式效能分析,特別是針對特定指令的加速對整體執行時間的影響。這可以應用 Amdahl's Law (阿姆達爾定律) 的概念,但此題更為直接。
原始程式執行時間 秒。
其中,乘法指令執行時間 秒。
程式中其他指令的執行時間 秒。
目標是讓新的程式執行時間 成為原來的一半,即 秒。
第 24 題
假設 p 與 q 皆是邏輯上的命題(propositions),則 ¬ p → ¬q 的對等命題是
(A) q → p
(B) ¬p → q
(C) q → ¬p
(D) p → q
(E) ¬q → ¬p
登入後即可作答並保存紀錄。
核心觀念
本題考查「蘊涵命題」與「逆否命題」的等價關係。
對任意命題 、:
其中 稱為 的逆否命題,兩者必定等價。
原命題為:
令 、,其逆否命題為:
利用雙重否定律 、,得:
因此正確選項為 (A)。
選項分析
-
(A) :正確
這是 的逆否命題:
因此與原命題等價。
-
(B) :錯誤
這不是原命題的逆否命題。原命題可改寫為:
而 (B) 可改寫為:
兩者不相等。例如令 、:
但
-
(C) :錯誤
第 25 題
以下有關 GPU 的敘述,何者不正確。
(A) 適用於圖形處理的運算單元
(B) 可以是多重執行緒的架構
(C) 可以有數千個運算核心
(D) 它是 Good Processing Unit 的縮寫
(E) 電腦中的 GPU 不可以單獨存在,需搭配 CPU
登入後即可作答並保存紀錄。
此題考查 GPU (Graphics Processing Unit) 的基本特性。
我們逐一分析各選項:
(A) 適用於圖形處理的運算單元:這是 GPU 的主要功能,GPU 擅長平行處理大量圖形相關的計算任務,如渲染、著色等。此敘述正確。
(B) 可以是多重執行緒的架構:現代 GPU 設計支援大量的平行執行緒,能夠同時處理眾多任務,這是其高並行性的體現。此敘述正確。
(C) 可以有數千個運算核心:現代的高階 GPU 確實擁有數千個(或更多)專門的處理核心(如 CUDA Cores 或 Stream Processors),用於大規模並行計算。此敘述正確。
第 1 題
二、簡答題(共25分)
- (每小題2分)依據下列給定的程式,回答列印出的值為何?
(A) a[2][3]的值為何?
(B) b[0]的值為何?
(C) b[1]的值為何?
(D) b[2]的值為何?
(E) b[3]的值為何?
(F) b[4]的值為何?
#include <stdio.h>
main(void)
{
int a[3][4], b[5]={1, 2, 0, 4, 3}, i, j, *p;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
{
a[i][j] = i + j;
b[0] = b[0] + a[i][j];
}
}
p = &a[0][0];
b[1] = *p + 5;
b[2] = *(p+2) + 5;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
{
if (a[i][j] == 3)
b[3] = b[3] + 1;
else
b[4] = b[4] + 1;
}
}
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
{
printf("a[%d,%d]=%d\n", i, j, a[i][j]);
}
}
for (i=0; i<5; i++)
printf("b[%d]=%d\n", i, b[i]);
return 0; // Added for completeness, though not in original code snippet.
}
登入後即可作答並保存紀錄。
此題考查 C 語言的陣列操作、指標、迴圈和程式執行流程。我們需要逐步分析程式碼,計算出各個變數的值。
1. 陣列 a 的初始化與 b[0] 的計算:
首先,int a[3][4] 宣告了一個 3x4 的二維整數陣列。
int b[5]={1, 2, 0, 4, 3} 宣告了一個包含 5 個整數的陣列 b,並給予初始值。
第一個雙重迴圈:
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
{
a[i][j] = i + j;
b[0] = b[0] + a[i][j];
}
}
這個迴圈會遍歷 a 陣列的所有元素,並將 a[i][j] 的值設為 i + j。
同時,b[0] 會累加 a[i][j] 的值。
讓我們計算 a[i][j] 的值:
當 i=0: a[0][0]=0, a[0][1]=1, a[0][2]=2, a[0][3]=3
當 i=1: a[1][0]=1, a[1][1]=2, a[1][2]=3, a[1][3]=4
當 i=2: a[2][0]=2, a[2][1]=3, a[2][2]=4, a[2][3]=5
現在計算 b[0] 的累加值。初始值是 b[0] = 1。
b[0] 會累加所有 a[i][j] 的值。
b[0] 的總和 = (0+1+2+3) + (1+2+3+4) + (2+3+4+5)
= 6 + 10 + 14
= 30
所以,在第一個迴圈結束後,b[0] 的值是 1 (初始值) + 30 (累加和) = 31。
2. 指標 p 和 b[1], b[2] 的計算:
p = &a[0][0];
b[1] = *p + 5;
b[2] = *(p+2) + 5;
p = &a[0][0]:指標 p 指向陣列 a 的第一個元素 a[0][0]。
在記憶體中,陣列 a 是連續儲存的,其順序為 a[0][0], a[0][1], a[0][2], a[0][3], a[1][0], ...。
由於 p 指向 a[0][0],所以 *p 就是 a[0][0] 的值。
-
(A)
a[2][3]的值為何?
根據前面的計算,a[i][j] = i + j。
所以,a[2][3] = 2 + 3 = 5。 -
(C)
b[1]的值為何?
p指向a[0][0]。
*p就是a[0][0]的值,而a[0][0] = 0 + 0 = 0。
b[1] = *p + 5 = 0 + 5 = 5。 -
(D)
b[2]的值為何?
*(p+2)表示p指向的位置往後偏移 2 個整數單位的記憶體地址所指向的值。
p指向a[0][0]。
p+1指向a[0][1]。
p+2指向a[0][2]。
a[0][2]的值是0 + 2 = 2。
所以,*(p+2)就是a[0][2]的值,即 2。
b[2] = *(p+2) + 5 = 2 + 5 = 7。
第 2 題
- 設計一個具有 3 條輸入線 XYZ 一條輸出線 OUT 的組合邏輯電路 (Combinational Circuit), 此電路用以檢測輸入之介於 0~7 的無號整數是否可被 3 整除 (提醒: 0 是可以被 3 整除的數), 若是 可以被整除則輸出為 1, 否則為 0。
(A) (5分) 寫出此電路的真值表
(B) (4分) 畫出此真值表的卡諾圖 (Karnaugh Map)
(C) (4分) 以 NOT Gate、AND Gate、OR Gate 畫出最簡電路。
登入後即可作答並保存紀錄。
核心觀念
本題考查三變數組合邏輯電路的設計流程:
- 將輸入 視為三位元無號整數。
- 找出可被 整除的輸入值。
- 由真值表寫出標準乘積和(Sum of Products, SOP)。
- 使用卡諾圖化簡布林函數。
- 以 NOT Gate、AND Gate、OR Gate 實作最簡電路。
以下假設 為最高位元、 為中間位元、 為最低位元,因此:
介於 到 的數字中,可被 整除者為:
特別注意 也可被 整除,因此輸入 時輸出必須為 。
解題方法
將符合條件的輸入列為輸出 ,其餘輸入列為輸出 。
符合條件的三個最小項為:
因此輸出函數可先寫成:
(A) 真值表
| 十進位值 | 是否可被 整除 | ||||
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 是 | 1 |
| 0 | 0 | 1 | 1 | 否 | 0 |
| 0 | 1 | 0 | 2 | 否 | 0 |
| 0 | 1 | 1 | 3 | 是 | 1 |
| 1 | 0 | 0 | 4 | 否 | 0 |
| 1 | 0 | 1 | 5 | 否 | 0 |
| 1 | 1 | 0 | 6 | 是 | 1 |
| 1 | 1 | 1 | 7 | 否 | 0 |
由真值表可得:
的輸入為:
(B) 卡諾圖
採用 作為列, 作為欄。卡諾圖的欄位必須按照 Gray Code 順序排列:
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 |
其中:
- 位於
- 位於
- 位於
這三個 在卡諾圖中彼此都沒有相鄰,因此無法形成二格或四格群組。每個 都必須各自形成一個一格群組,故無法再消去任何變數。
(C) 最簡布林函數與電路
各個 所對應的乘積項如下:
因此:
因此:
因此:
將三個乘積項以 OR Gate 相加,得到最簡 SOP: