首頁
社區(qū)
課程
招聘
如何保證transmitter訪問vaddr會在L3 cache留下痕跡?

提問者:
waynehao 2020-7-19

 

老師您好,有幾個問題想請教下。
1.如何保證transmitter訪問vaddr會在L3 cache留下痕跡?是如何保證該痕跡不會在L1 L2 cache留下?

 

2.請問receiver為什么要計算出16個虛擬地址?16是如何得來的?

 

3.如何保證計算的16個虛擬地址都能映射到同一個L3 cache中?謝謝老師!

收藏
1條回答
teacher 2023-5-23

第一個問題,循環(huán),循環(huán)里面就一個訪存語句mov [vaddr],eax可以保證vaddr在L3留下cache entry。會在L1、L2中也留下,這是肯定的,對于transmitter不需要考慮這個問題,因為他只需要確保把receiver填充的16個entry任意踢出去一個就行了,在L1、L2留下痕跡也無所謂。真正有影響的是receiver,因為他有一個很重要的步驟是判斷自己之前填充的entry是否被從L3中踢出去了一個,這個步驟是通過測量16個虛擬地址的遍歷時間判斷的,L1、L2的存在會對這個測量過程引入噪聲,假設(shè)地址a和地址b都緩存在L3,a同時也出現(xiàn)在L2和L1,b只存在于L3,那么a和b的訪存延遲就相差很大,這就是噪聲

 

第二個問題,16是L3的緩存相聯(lián)度,這個可以通過cpuz工具查看

 

第三個問題,我在第一章節(jié)的最后一課會講解具體算法,現(xiàn)在應(yīng)該還看不到

回復 已采納
Intel CPU漏洞研究
  參與學習     83 人
  提問次數(shù)     3 個
《Intel CPU漏洞研究》0day、從原理及實際應(yīng)用方向兩個角度,洞悉前沿CPU原理,快速成為CPU漏洞專家
0
我的提問
0
我的回答
0
學習收益