計(jì)算總線數(shù)據(jù)傳輸速率
總線數(shù)據(jù)傳輸速率=時(shí)鐘頻率(Mhz)/每個(gè)總線包含的時(shí)鐘周期數(shù)*每個(gè)總線周期傳送的字節(jié)數(shù)(b)
計(jì)算系統(tǒng)速度
每秒指令數(shù)=時(shí)鐘頻率/每個(gè)總線包含時(shí)鐘周期數(shù)/指令平均占用總線周期數(shù)
平均總線周期數(shù)=所有指令類別相加(平均總線周期數(shù)*使用頻度)
控制程序所包含的總線周期數(shù)=(指令數(shù)*總線周期數(shù)/指令)
指令數(shù)=指令條數(shù)*使用頻度/總指令使用頻度
每秒總線周期數(shù)=主頻/時(shí)鐘周期
FSB帶寬=FSB頻率*FSB位寬/8
計(jì)算機(jī)執(zhí)行程序所需時(shí)間
P=I*CPI*T
執(zhí)行程序所需時(shí)間=編譯后產(chǎn)生的機(jī)器指令數(shù)*指令所需平均周期數(shù)*每個(gè)機(jī)器周期時(shí)間
指令碼長(zhǎng)
定長(zhǎng)編碼: 碼長(zhǎng)>=log2
變長(zhǎng)編碼:將每個(gè)碼長(zhǎng)*頻度,再累加其和
平均碼長(zhǎng)=每個(gè)碼長(zhǎng)*頻度
流水線計(jì)算
l 流水線周期值等于最慢的那個(gè)指令周期
l 流水線執(zhí)行時(shí)間=首條指令的執(zhí)行時(shí)間+(指令總數(shù)-1)*流水線周期值
l 流水線吞吐率=任務(wù)數(shù)/完成時(shí)間
l 流水線加速比=不采用流水線的執(zhí)行時(shí)間/采用流水線的執(zhí)行時(shí)間
存儲(chǔ)器計(jì)算
存儲(chǔ)器帶寬:每秒能訪問(wèn)的位數(shù) 單位ns=10-9秒
存儲(chǔ)器帶寬=1秒/存儲(chǔ)器周期(ns)*每周期可訪問(wèn)的字節(jié)數(shù)
(隨機(jī)存取)傳輸率=1/存儲(chǔ)器周期
(非隨機(jī)存取)讀寫(xiě)N位所需的平均時(shí)間=平均存取時(shí)間+N位/數(shù)據(jù)傳輸率
內(nèi)存片數(shù):(W/w)*(B/b)W、B表示要組成的存儲(chǔ)器的字?jǐn)?shù)和位數(shù);
w、b表示內(nèi)存芯片的字?jǐn)?shù)和位數(shù)
存儲(chǔ)器地址編碼=(第二地址 – 第一地址)+1
{例: [(CFFFFH-90000H)+1] / [(16K*1024)*8bit]}
內(nèi)存位數(shù):log2(要編址的字或字節(jié)數(shù))
Cache計(jì)算
平均訪存時(shí)間:Cache命中率 * Cache訪問(wèn)周期時(shí)間 + Cache失效率 * 主存訪問(wèn)周期時(shí)間
[例: (2%*100ns+98%*10ns)+1/5*(5%*100ns+95%*10ns)=14.7ns ]
映射時(shí),主存和Cache會(huì)分成容量相同的組
cache組相聯(lián)映射主存地址計(jì)算
主存地址=(主存容量塊數(shù)*字塊大小)log2 (主存塊和cache塊容量一致)
[例: 128*4096 = 219(27*212)
主存區(qū)號(hào)=(主存容量塊數(shù) / cache容量塊數(shù))log2
Cache訪存命中率=cache存取次數(shù)/(cache存取次數(shù)+主存存取次數(shù))
磁帶相關(guān)性能公式
數(shù)據(jù)傳輸速率(B/s)=磁帶記錄密度(B/mm)*帶速(mm/s)
數(shù)據(jù)塊長(zhǎng)充=B1(記錄數(shù)據(jù)所需長(zhǎng)度)+B2(塊間間隔)
B1=(字節(jié)數(shù)/記錄)*塊因子/記錄密度
讀N條記錄所需時(shí)間:T=S(啟停時(shí)間)+R+D
R(有效時(shí)間)=(N*字節(jié)數(shù)/記錄)/傳輸速度
D(間隔時(shí)間)=塊間隔總長(zhǎng)/帶速=[(N/塊化因子)*(塊間間隔)]/帶速
每塊容量=記錄長(zhǎng)度*塊化系數(shù)
每塊長(zhǎng)度=容量/(記錄密度)
存儲(chǔ)記錄的塊數(shù)=磁帶總帶長(zhǎng) / (每塊長(zhǎng)度+每塊容量)
磁帶容量=每塊容量*塊數(shù)
|