Re: [問題] Computer Architecture 的幾個名詞解釋

作者: roadeat (www)   2011-03-25 23:50:08
※ 引述《sean72 (.)》之銘言:
: 小弟最近有一次面試
: 裡面問了幾個名詞
: 由於我不是資訊工程背景出身 關於Computer Architecture的內容都是自修的
: 底子沒有很紮實
: 不過有幾個問題我不知道該如何找答案
: 另外由於這個面試的職位是韌體工程師 用C寫16位元系統的處理器
: 希望板上的高手能從這方面下手 指點迷津
: 下面有A. B. 兩大題
: =====
: A.
: 1. MEMORY SPACE
: 2. I/O SPACE
: 3. MEMORY HEAP
: 4. MEMORY STACK
(後文恕刪)
關於 3. MEMORY HEAP 和 4. MEMORY STACK
最近學"JAVA"有學到類似的概念分享給你 (不知道適不適用)
記憶體中 主要分成三塊 如下圖
┌──────┐
│ Global │
├───┬──┤
│Stack │Heap│
└───┴──┘
Global 主要是用來存放 "全域變數"
Stack 主要是用來存放 "基本型別變數" 或 "參考型別變數的參考值"
Heap 主要是用來存放 "參考型別變數的值"
例如 :
int a = 8;
這a = 8 都是存在Stack中
而 String b = "Happy";
這 "Happy" 則是存到Heap中
Stack的部分b所儲存的是 "Happy" 在Heap中的位置(稱參考值)
作者: lmr3796 (Toro)   2011-03-26 13:09:00
java配置的觀念可能不太適用在原PO提的地方吧?或者說這種配置東西是跟語言本身有關的例如以C來說是不是就沒有參考型別變數?
作者: roadeat (www)   2011-03-26 16:17:00
我也是在想好像跟C有點出入XD
作者: chchwy (mat)   2011-03-27 00:37:00
把java參考想成c指標就通了 (雖然不完全等價)
作者: lmr3796 (Toro)   2011-03-27 00:53:00
雖說如此,但java中的"參考型別變數"應該不在C裡頭常見的說法是不是比較像function內宣告的local變數會被放在stack frame,static和動態配置的部分會在heap?
作者: roadeat (www)   2011-03-27 15:28:00
我記得static的會放在Golbal捏
作者: chchwy (mat)   2011-03-27 15:40:00
C語言用malloc來配置一個struct 不就是在heap裡嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com