引用:
Originally posted by oninout
商業界是以資料匯流排為準(例如資料匯流排有64條就判定為64位元)
因為數字越大越好賣呀
但不知為什麼課本和大多數老師也以資料匯流排為依據
網路上的大大們都是用位址匯流排來判定位元數
現在一般cpu位址線都比資料線少了一半(早期486電腦位址和資料線數目好像都一樣?)
但小弟不解的是…為什麼要用位址匯流排判定才是正確的呢?
有什麼原因嗎?
|
位址匯流排寬度的判定法也不見得正確, 因為決定位址匯流排寬度還有晶片組. 現在的晶片組有的並沒有限制你 RAM 最多只能插 4GB (特別是 Server), why??晶片組提供更寬的位址線而已, 對 CPU 而言, 要存取超過 4GB 的位址, 配合 GDT、LDT 一樣可以.
看CPU是幾位元, 我通常是以一般暫存器寬度來判斷的, 如果對 x86 有點研究, 所謂的 4GB 限制, 是作業系統設下的, 並不是 IA32 x86 真的只能定址到 4GB. 對微軟而言, 就像當年 8086、8088 的 64KB real mode 節區問題一樣, 8088、86需要 segment : offset 組合成 20 Bits 定址寬度來存取 1MB 記體體空間, IA32 同樣也有 selector : offset 可以存取到 TB 以上的位址, 問題是 selector 的存取結構複雜, 會比 segment 浪費很多的效能, 而對於已經定型的 Windows 作業系統來說, 能以一個 offset 就存取到 TB 以上更多的記憶體空間, 不單只是效能增進, 而且架構的設計也簡化很多.