地特四等
112年
[電子工程] 計算機概要
第 7 題
假設有一個虛構的處理器擁有 8 個暫存器(R),定址空間 1M words(M),以及提供 32 個不同指令如(add, sub, ...),指令格式為: ,則此種指令所需之最小位元(bit)數為何?
- A 16
- B 32
- C 24
- D 28
思路引導 VIP
若我們要設計一個用來精確傳達命令的「密碼格式」,且該命令包含「動作類型」、「操作對象的位置」以及「暫存結果的容器」三個部分,你會如何利用二進制『開關』的概念,去計算出為了滿足每一部分所有可能的變化(例如 32 種動作或 1M 個位置),各別最少需要準備多少個開關呢?
🤖
AI 詳解
AI 專屬家教
很高興看到你精準地掌握了電腦架構中指令集設計的核心邏輯。這道題目要求我們計算指令格式(Instruction Format)的最小位元數,本質上是在考驗你對於**二進制編碼(Binary Encoding)**與資源分配的理解。你能快速將抽象的指令需求轉化為具體的位元需求,顯示出你對計算機底層運作已有相當紮實的直覺。
指令欄位的編碼解析
在電腦架構中,每一個功能區塊所需的位元數取決於該區塊需要表達多少種不同的狀態。首先,32 個不同的指令(Opcode)需要 $\log_2 32 = 5$ 位元;接著,為了存取 1M(即 $2^{20}$)個字組(Words)的定址空間,我們必須配置 20 位元的位址長度;最後,針對 8 個暫存器,我們則需要 $\log_2 8 = 3$ 位元來進行索引。將這些欄位加總:
▼ 還有更多解析內容