[理工] 幾個計組觀念

看板Grad-ProbAsk作者 (NullSpace)時間9年前 (2017/01/23 16:54), 編輯推噓7(7020)
留言27則, 7人參與, 最新討論串1/1
有些觀念想請教大家 1.A branch history table buffer is typically indexed by the load instr. address. 這句話是錯的 應該怎麼改呢? 2.Pipeining is a technique that can effectively increase the clock rate. 這句話為什麼是正確的呢? 在我的印象中 pipeline不會改善單一指令的latency 而是改善整體的throughput 3.關於3C中的2個C,我想釐清一些觀念: Compulsory misses: 可藉由增大block size來降低compulsory miss 我的想法是這樣的 因為block size變大 所以block數目變少(index bits數減少) 被access的block再度被access的機率比原本還高了 所以冷開機失誤會減少 但是如果block size變太大就會增加miss penalty 因為一次要抓一個block 變太大的話抓的成本就高 張凡講義有提到 "Very large block could increase miss rate." 這句我想不通為什麼... Capacity misses: 可藉由增加cach size來降低capacity miss 可能造成的負面效果是 access time可能會增加 請問為什麼會有這個負面效果呢? 4.There is no cache coherency problem for the write-through cache since the data are written into the next level of memory,and thus the data are consistent between the two caches. 請問這段話錯在哪裡呢? 5.A system using a write-through cache as its private cache will not have cache coherency problem since the written data are also updated in the main memory. 請問這句為什麼錯呢? 拜託各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.66.250.26 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1485161679.A.C7E.html

01/23 16:56, , 1F
1.也許是by branch instruction?
01/23 16:56, 1F

01/23 16:57, , 2F
2.pipelining沒說的話都跟single cycle比,single cycl
01/23 16:57, 2F

01/23 16:57, , 3F
的cycle time是全部的步驟加起來,pipeline只要取最長
01/23 16:57, 3F

01/23 16:58, , 4F
的那個就好,所以cycle time變短,clock rate就高了
01/23 16:58, 4F

01/23 17:00, , 5F
Capacity miss:cache也是一種記憶體,只是他很小很快
01/23 17:00, 5F

01/23 17:00, , 6F
記憶體的特性就是變大access time會變長,好像是因為
01/23 17:00, 6F

01/23 17:01, , 7F
定址的時間會拉長,因為位址的長度變長了
01/23 17:01, 7F

01/23 17:02, , 8F
4.cache coherency好像是在指不同processor之間cache
01/23 17:02, 8F

01/23 17:02, , 9F
data不一致的問題?不是在說cache跟memory data不一致
01/23 17:02, 9F

01/23 17:03, , 10F
5好像跟4一樣
01/23 17:03, 10F

01/23 17:17, , 11F
(4)和(5)我的理解是,write-through就是用來解決cache
01/23 17:17, 11F

01/23 17:17, , 12F
coherence的方式之一,所以不能說是沒有cache coherence
01/23 17:17, 12F

01/23 17:18, , 13F
這個問題,不同processor如果修改自己的cache裡的共用變
01/23 17:18, 13F

01/23 17:18, , 14F
數(processor1和processor2的共用變數)這樣就要用writ
01/23 17:18, 14F

01/23 17:18, , 15F
e-through去更新memory裡資料,這就算cache coherence問
01/23 17:18, 15F

01/23 17:18, , 16F
題了吧
01/23 17:18, 16F

01/23 17:22, , 17F
(3)的話,你可以看張凡課本下冊p.18下面,他說block size
01/23 17:22, 17F

01/23 17:23, , 18F
變大,block總數下降,block之間會互相競爭,所以block比
01/23 17:23, 18F

01/23 17:23, , 19F
較容易會被置換出去
01/23 17:23, 19F

01/23 18:13, , 20F
現在在上課啊 下課你問問他
01/23 18:13, 20F

01/23 18:26, , 21F
上課專心r
01/23 18:26, 21F

01/23 19:24, , 22F
我也記得cache coherency是指不同processor之間的cache
01/23 19:24, 22F

01/24 16:05, , 23F
所以,張凡課本說的incosistent的問題,跟coherency是
01/24 16:05, 23F

01/24 16:05, , 24F
在探討同一件事情嗎
01/24 16:05, 24F

01/24 21:59, , 25F
應該是
01/24 21:59, 25F

01/25 02:45, , 26F
cache coherency是cache之間不一致,要用write-update
01/25 02:45, 26F

01/25 02:45, , 27F
或write invalidate去解決
01/25 02:45, 27F
文章代碼(AID): #1OXSJFn- (Grad-ProbAsk)