Re: [請益] 用軟體測試RAM是否有沒有毀損的原理是??

看板ask-why (知識奧秘)作者 (麥子)時間16年前 (2009/11/13 18:05), 編輯推噓5(509)
留言14則, 2人參與, 最新討論串2/4 (看更多)
: 推 cpt:就依序把RAM每個位址存一個bit 再讀取 就能偵錯啦 : 推 jphant:可以解釋一下怎麼寫一個可以從RAM第一個bit存取到最後一個 : → jphant:bit的應用程式麼? 我很好奇要怎麼寫 : 推 gamer:用c就可以寫了,每個記憶體位址都有一個號碼比方說000000x0 : → gamer:然後你可以宣告每一個記憶體位址為一個數字,直到把所有位址 : → gamer:都宣告完。 一般用 C 寫的 application 應該是沒辦法,因為 OS 會作 virtual memory , 所以實際上會對應到哪些 physical memory 是要看 page allocation 的結果。 通常記憶體會有某些部份保留給 OS ,這部份是測不到的。 所以多數 memtest 的軟體都得要用它自己開機才行,這樣才能直接存取記憶體。 : 推 ot32em:for(i=0;i<memSize;i++){if(!ReadWriteOk(i))return gg;} -- 我實實在在的告訴你們,一粒麥子不落在地裡死了, 仍舊是一粒,若是死了,就結出許多子粒來。 約翰福音 12:24 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84

11/14 01:31, , 1F
C under OS 是不行;但 C 本身倒不會不行,要換 compiler..
11/14 01:31, 1F

11/14 02:40, , 2F
我也是這樣想所以才會問要怎麼去寫這個程式...
11/14 02:40, 2F

11/14 02:42, , 3F
要換成甚麼compiler才可以直接access RAM的物理位置?
11/14 02:42, 3F

11/14 02:48, , 4F
下一篇有提到,OS cache 你可以避過但 H/W cache 卻不好避
11/14 02:48, 4F

11/14 02:48, , 5F
所以不只換 Compiler,還得懂硬體配置;那已經相當於寫組合
11/14 02:48, 5F

11/14 02:51, , 6F
語言了;用 C 不會省你多少事
11/14 02:51, 6F

11/14 05:13, , 7F
所以如果是這樣說 像樓上po的那些用C寫一個迴圈去一個bit
11/14 05:13, 7F

11/14 05:14, , 8F
一個bit去跑的solution 還算是solution麼?
11/14 05:14, 8F

11/14 10:51, , 9F
凡是有多環結的事(不單指寫程式),你都得考量要不要再深入
11/14 10:51, 9F

11/14 10:52, , 10F
了解內部環結.你想做的不是數理邏輯,而是干涉硬體,最糟狀
11/14 10:52, 10F

11/14 10:52, , 11F
況你連電子學都要懂一些咧..
11/14 10:52, 11F

11/14 11:01, , 12F
每一個環結出錯都可以導致錯誤,所以用C寫 bit test 可以通
11/14 11:01, 12F

11/14 11:03, , 13F
過一個環結;但那畢竟不是關鍵.你也知道關鍵是直接物理位址
11/14 11:03, 13F

11/14 11:04, , 14F
存取.那你要看通多少硬體關聯?
11/14 11:04, 14F
文章代碼(AID): #1A_Izb-b (ask-why)
文章代碼(AID): #1A_Izb-b (ask-why)