作者sitos (麦子)
看板ask-why
标题Re: [请益] 用软体测试RAM是否有没有毁损的原理是??
时间Fri Nov 13 18:05:23 2009
: 推 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
1F:→ HuangJC:C under OS 是不行;但 C 本身倒不会不行,要换 compiler.. 11/14 01:31
2F:推 jphant:我也是这样想所以才会问要怎麽去写这个程式... 11/14 02:40
3F:→ jphant:要换成甚麽compiler才可以直接access RAM的物理位置? 11/14 02:42
4F:推 HuangJC:下一篇有提到,OS cache 你可以避过但 H/W cache 却不好避 11/14 02:48
5F:→ HuangJC:所以不只换 Compiler,还得懂硬体配置;那已经相当於写组合 11/14 02:48
6F:→ HuangJC:语言了;用 C 不会省你多少事 11/14 02:51
7F:推 jphant:所以如果是这样说 像楼上po的那些用C写一个回圈去一个bit 11/14 05:13
8F:→ jphant:一个bit去跑的solution 还算是solution麽? 11/14 05:14
9F:推 HuangJC:凡是有多环结的事(不单指写程式),你都得考量要不要再深入 11/14 10:51
10F:→ HuangJC:了解内部环结.你想做的不是数理逻辑,而是干涉硬体,最糟状 11/14 10:52
11F:→ HuangJC:况你连电子学都要懂一些咧.. 11/14 10:52
12F:推 HuangJC:每一个环结出错都可以导致错误,所以用C写 bit test 可以通 11/14 11:01
13F:→ HuangJC:过一个环结;但那毕竟不是关键.你也知道关键是直接物理位址 11/14 11:03
14F:→ HuangJC:存取.那你要看通多少硬体关联? 11/14 11:04