作者eggy1018 (罗密欧与猪过夜)
看板Grad-ProbAsk
标题[理工] page fault计算疑问
时间Sun Nov 18 23:14:14 2018
想请教大家一题原文书上面的题目,请参考下图
https://i.imgur.com/NCvhvIR.jpg
我自己的想法是记忆体是row major存放资料,所以如果最外面的回圈存的是row所以
可以一直存,直到一个page大小用完,即使外面回圈跑两次也没关系,这是我看答案
的理解,但一直很难说服自己为什麽可以这样。
相对的,如果外回圈存的是column就没办法想像会怎麽跑了,只知道会产生相对多很
多的page fault。
另外再请教一个问题,在这两种存矩阵的方式下所占用的记忆体大小都一样吗?
是在new int[100][100]时就固定大小了吗?
应该不会受到page fault的影响吧?这边我会一直这样卡住是因为会想到cache miss
会一直搬要存的block上来,怀疑说到底有没有额外的记忆体空间浪费。
以上问题还有劳考题版各位帮忙,祝大家都金榜题名!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.137.35.92
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1542554057.A.8E4.html
2F:→ aggress5566: 至於new int[100][100] 我记得如果没有 assign value11/19 00:51
3F:→ aggress5566: 似乎是不会去 allocate memory 这要看实作了 11/19 00:52
4F:推 skyHuan: 所以楼上有回答到问题吗,小的资质驽钝看不是很懂,更不11/19 13:38
5F:→ skyHuan: 太懂是在嘘?11/19 13:38
6F:→ eggy1018: 抱歉我没有引用好文章,但这题还是不能明白,希望各位大11/19 16:52
7F:→ eggy1018: 大能帮忙11/19 16:52
※ 编辑: eggy1018 (223.137.113.142), 11/19/2018 16:55:35
8F:→ aggress5566: 我的回答就是先去理解C-like 2D array memory layout 11/19 17:47
9F:→ aggress5566: 我是根据原文的疑问猜想原PO的问题是什麽 11/19 17:48
10F:→ aggress5566: 至於dynamic memory allocation 我自己的经验是 11/19 17:55
11F:→ aggress5566: call malloc的话 如果没有assign value似乎是不会真 11/19 17:55
12F:→ aggress5566: 的被swap out new的话也许概念上会类似 实作我没有 11/19 17:56
13F:→ aggress5566: 深究 另外推嘘这种在PTT上没什麽 大可以质疑我的推文 11/19 17:58