512m DDR為何會少1m

  • 主題發起人 主題發起人 dspa1
  • 開始日期 開始日期
Originally posted by dspa1@Apr 7 2005, 01:49 AM
大家好我的華碩k8v豪華版插上勤茂512m DDR433
在有些軟體顯示容量正常512m如cpu-z
在memtest86 中卻顯示511m

這樣正常嗎
這是被BIOS 用掉的啦
目前有些 BIOS code 會先佔用掉1 M ,通常從最TOP MEM 往下砍
如果可以的話去看BIOS POST 算memory ,BIOS有用掉時post counter memory
就會減掉1M,大家可以去看看
這是沒辦法,現在要加的path & fixed bug太 多啦
是必要之悪,不過在K8 的CPU上 明明就是有用掉,不過OS report 就是不會把那1M扣掉
這是目前碰到很奇怪的地方, 我也查不出來
 
Originally posted by dspa1@Apr 7 2005, 01:49 AM
大家好我的華碩k8v豪華版插上勤茂512m DDR433
在有些軟體顯示容量正常512m如cpu-z
在memtest86 中卻顯示511m

這樣正常嗎
那表示memtest86 抓記憶體的方式比較合規範,是透過中斷服務去抓
CPU-Z有可能直接抓,不透過中斷服務,因為BIOS 用掉的那1M 只是去改CPU MSR memory range value,所以會有這1M 的差距
至於那1M 是否可以不要用,這個要看BUG和要加的CODE多不多,沒辦法
 
還有一個原因,主要是一些早期介面卡,考量到其記憶體定址能力問題,主機板BIOS有一個選項,可以在15-16MB這塊區域做重新配置,以相容這些舊型卡,這時看到的記憶體會少1MB,但主機板BIOS已經很久沒看到這選項了。
因為DOS遺毒,前1MB的最前640KB主要是Base memory,後面384KB主要提供BIOS romcode shadow(就是將romcode複製到這塊記憶體),包括VGA、主機板、SCSI卡、RAID卡等只要有ROM BIOS都會塞到這裡。但因為目前BIOS越來越大,並採壓縮方式儲存,所以還會有將ROM CODE拉到L2 Cache去執行解壓縮,以增進效率。
早期DOS下一大堆記憶體程式(如QEMM386等)對這384KB是錙銖必較,也將DOS核心載入高層記憶體以獲得更大Base memory,但在WINME,不採用真實模式而採保護模式以後,這1MB記憶體也漸漸被遺忘。
 
Originally posted by LSI狼@Apr 7 2005, 01:14 PM
還有一個原因,主要是一些早期介面卡,考量到其記憶體定址能力問題,主機板BIOS有一個選項,可以在15-16MB這塊區域做重新配置,以相容這些舊型卡,這時看到的記憶體會少1MB,但主機板BIOS已經很久沒看到這選項了。
因為DOS遺毒,前1MB的最前640KB主要是Base memory,後面384KB主要提供BIOS romcode shadow(就是將romcode複製到這塊記憶體),包括VGA、主機板、SCSI卡、RAID卡等只要有ROM BIOS都會塞到這裡。但因為目前BIOS越來越大,並採壓縮方式儲存,所以還會有將ROM CODE拉到L2 Cache去執行解壓縮,以增進效率。
早期DOS下一大堆記憶體程式(如QEMM386等)對這384KB是錙銖必較,但在WINME以後,不採用真實模式而採保護模式,這1MB記憶體也漸漸被遺忘。
這個15M-16M memory hole目前已經在memory post 都跳過了,BIOS不會去看這邊
如果今天是被吃掉2M 那一定是跟這有關,應該是很舊的CODE ;rr;
目前會少1M 都是放BIOS SMI code居多,以前有一些客戶很難接受,現在不會啦 :D
搞不好EFI 吃的更多 :O||: