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

提問者:
waynehao 2020-7-19

 

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

 

2.請(qǐng)問receiver為什么要計(jì)算出16個(gè)虛擬地址?16是如何得來(lái)的?

 

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

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

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

 

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

 

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

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