CPU與架構

在程式中呼叫副程式(函式)時,一般用來暫時保存返回位址等的區域是下列何者?

  1. A堆疊(stack)
  2. B快取的標籤(tag)
  3. CROM 的固定區域
查看答案與解析

正確答案:A. 堆疊(stack)

呼叫副程式時,返回位址、應保存的暫存器值、區域變數等會被推入堆疊。堆疊是後放入的先取出(LIFO)的結構,即使呼叫形成巢狀或遞迴,也能依正確的順序返回。頂端位置由堆疊指標指示。遞迴過深而用盡區域時會發生堆疊溢位,也有藉由陣列越界改寫返回位址的攻擊。

  • A. 正確。返回位址等會保存在堆疊中。
  • B. 快取的標籤是表示快取資料屬於哪個位址的資訊。
  • C. ROM 無法改寫,因此不能用於執行時的暫時保存。
練習這個領域 前往領域頁面

CPU與架構的其他題目

  1. 快取未命中分類「3C」所包含項目的組合,下列何者正確?
  2. 在亂序執行的 CPU 中,用來將調換順序執行之指令的結果,依程式原本的順序確定(引退,retire)的機制是下列何者?
  3. 亂序執行 CPU 所使用之暫存器重新命名(register renaming)的主要目的為何?
  4. 在 AI 用加速器等中,將多個乘加運算單元排列成格狀,讓資料依序流向相鄰運算單元的同時計算矩陣乘積的架構是下列何者?
  5. 以運算強度(每位元組的運算數)為橫軸,圖示程式效能是受運算效能還是記憶體頻寬所限制的模型是下列何者?

這個領域的比較