> ==>發信人: abcdefghi.bbs@ptt.cc (蠍子), 信區: programming
> ※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言:
> : > 我的認知裡所有含 CPU 的系統都算電腦, 所以你所謂的 "所有電腦" 有問題,
> : > 又請問你所謂的電腦是什麼? 家裡的 PC ?
> : 謝謝你告訴我這個新發展.
> : 不過, 沒有 " 都不必搬進 RAM " 的情況.
> 1. Linux 有 XIP 不是新發展, 至少有 4 年了.
> (一樣, 請善用 google)
> 2. 我沒說過 "都不必搬進RAM", 我反對的只是 "要都搬進RAM".
> (要玩文字遊戲?)
Flash Memory 是可讀寫的, 只是讀得慢, 尤其寫得更慢.
使用純 ROM 執行是早就知道的技術, 所以要特意做 linking loader
的處理. 這是因為 UNIX 是誕生於 1971 , 那個時代都是 Core memory
不怕停電的, 所以技術不必刻意考慮. 只有軍用的 RTOS 是會用 ROM 放
code text 來執行, 到 Linux 時代依舊是依照 UNIX 的 time sharing
主架構, 而且核心依舊太大, 這是一種改進, 但重點是能快速 "寫回去"
執行是含有讀與寫的.
> : 使用 ROM 執行 code text 的考量在前貼已說明.
> [不想跟你吵其他的, 不回這句]
> : > 亂講, 我強調的是 "搬到 RAM 跑是適用於 所有 電腦" 這句話不對, 你不要加
> : > "所有" 兩個字就沒問題. 還有 CPU 沒 register 的啊?
> : 不是有網友強調用 memory 當 register 嗎 ?
> 請你回去看那位網友舉的例子, 那是只是 CPU 會把特定的 memory address
> mapping 到 CPU 的 register 而已, 本質上, 那還是在存取 register.
RISC 機器通常使用多組 register , 使用類似 cache 與 memory mapper 技術, 就
能讓 Memory 當更多的 register set 又不必煩腦 save & restore 的問題. 如果
沒有真實的 real memory 存在, 一旦啟動 mapper 就會找不到 register 的內容.
而真正的最終內容存取是在 memory .
> : XIP 跟第 2 項密切相關, 就是 kernel 的 code text 與 data , stack 要
> : 分開. 老式的說法稱為 dirty code .
> [不想跟你吵其他的, 不回這句]
--
◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234