TASK2中的DELTA起什么作用
没有作用
为什么在CACHE_LINE较小的情况下,读数据无法读入缓存
经过测试,在CACHE_LINE<26时,读操作无法载入缓存
关于_rdtscp(&x)函数用法
函数为time=_rdtscp(&junk),其中返回时间戳计数器的时钟数,junk为指向包含计算机特定寄存器 TSC_AUX[31:0] 内容的位置的指针
关于初始化为什么要赋值
将数组写入内存,防止COW(copy on write),即在采用读操作访问同一内存时,他们会获取相同指针获取相同资源。写操作时会复制一份专有副本给进程。通俗易懂的讲,写入时复制技术就是不同进程在访问同一资源的时候,只有更新操作,才会去复制一份新的数据并更新替换,否则都是访问同一个资源。未初始化则存在大片0内存,使进程访问该共享内存。
在数组未初始化时直接访问会导致没有时钟差异,无法通过侧信道攻击时间差异来获取数据。
关于cpu分支训练
两种方式:一为单独构造for循环进行训练,二为将越界分支并入循环,通过计算的方式决定本次执行内容。
第一种方式造成hit率都较低
第二种方式效果较好
原因:第二种方式能够避免分支预测
关于reload方式
两种方式:一为正常循环探测,二为乱序探测(质数乘后与的操作)。
第一种方式造成hit率都偏高
第二种方式效果较好
原因:顺序循环造成cpu预测执行,提前加载内存入缓存
02-17
5206
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
02-17
6680
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
02-25
1312
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-04
07-15
07-15
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交