處理機具有向量數(shù)據(jù)表示,并通過向量指令對向量的各元素進行處理。
以下是計算兩個向量點積的程序段:要求: (1)試分析該段代碼中數(shù)組x和y的時間局部性和空間局部性,并推斷命中率的高低。 (2)假定該段程序運行的計算機的數(shù)據(jù)cache采用直接映射方式,其數(shù)據(jù)區(qū)容量為32字節(jié),每個主存塊大小為16字節(jié)。假定編譯程序將變量sum和i分配給寄存器,數(shù)組x存放在00000040H開始的32字節(jié)的連續(xù)存儲區(qū)中,數(shù)組y緊跟在x后進行存放。試計算該程序數(shù)據(jù)訪問的命中率,要求說明每次訪問的cache命中情況。 (3)將上述(2)中的數(shù)據(jù)cache改用2-路組相聯(lián)映射方式,塊大小改為8字節(jié),其他條件不變,則該程序數(shù)據(jù)訪問的命中率是多少? (4)在上述(2)中條件不變的情況下,如果將數(shù)組x定義為float[12],則數(shù)據(jù)訪問的命中率是多少?
考慮以下兩種總線:總線1是64位數(shù)據(jù)和地址復用的總線。能在一個時鐘周期中傳輸一個64位的數(shù)據(jù)或地址。任何一個讀寫操作總是先用一個時鐘周期傳送地址,然后有2個時鐘周期的延遲,從第四時鐘周期開始,存儲器系統(tǒng)以每個時鐘2個字的速度傳送,最多傳送8個字??偩€2是分離的32位地址和32位數(shù)據(jù)的總線。讀操作包括:一個時鐘周期傳送地址,2個時鐘周期延遲,從第四周期開始,存儲器系統(tǒng)以每時鐘1個字的速度傳輸最多8個字。對于寫操作,在第一個時鐘周期內(nèi)第一個數(shù)據(jù)字與地址一起傳輸,經(jīng)過2個時鐘周期的延遲后,以每個時鐘1個字的速度最多傳輸7個余下的數(shù)據(jù)字。假定進行60%的讀操作和40%的寫操作。在以下兩種情況下,求這兩種總線和存儲器能提供的帶寬。 ①只進行單數(shù)據(jù)字的傳輸。 ②所有的傳輸都是8個字的數(shù)據(jù)塊。