计算总线数据传输速率
总线数据传输速率=时钟频率(Mhz)/每个总线包含的时钟周期数*每个总线周期传送的字节数(b)
计算系统速度
每秒指令数=时钟频率/每个总线包含时钟周期数/指令平均占用总线周期数
平均总线周期数=所有指令类别相加(平均总线周期数*使用频度)
控制程序所包含的总线周期数=(指令数*总线周期数/指令)
指令数=指令条数*使用频度/总指令使用频度
每秒总线周期数=主频/时钟周期
FSB带宽=FSB频率*FSB位宽/8
计算机执行程序所需时间
P=I*CPI*T
执行程序所需时间=编译后产生的机器指令数*指令所需平均周期数*每个机器周期时间
指令码长
定长编码: 码长>=log2
变长编码:将每个码长*频度,再累加其和
平均码长=每个码长*频度
流水线计算
l 流水线周期值等于最慢的那个指令周期
l 流水线执行时间=首条指令的执行时间+(指令总数-1)*流水线周期值
l 流水线吞吐率=任务数/完成时间
l 流水线加速比=不采用流水线的执行时间/采用流水线的执行时间
存储器计算
存储器带宽:每秒能访问的位数 单位ns=10-9秒
存储器带宽=1秒/存储器周期(ns)*每周期可访问的字节数
(随机存取)传输率=1/存储器周期
(非随机存取)读写N位所需的平均时间=平均存取时间+N位/数据传输率
内存片数:(W/w)*(B/b)W、B表示要组成的存储器的字数和位数;
w、b表示内存芯片的字数和位数
存储器地址编码=(第二地址 – 第一地址)+1
{例: [(CFFFFH-90000H)+1] / [(16K*1024)*8bit]}
内存位数:log2(要编址的字或字节数)
Cache计算
平均访存时间:Cache命中率 * Cache访问周期时间 + Cache失效率 * 主存访问周期时间
[例: (2%*100ns+98%*10ns)+1/5*(5%*100ns+95%*10ns)=14.7ns ]
映射时,主存和Cache会分成容量相同的组
cache组相联映射主存地址计算
主存地址=(主存容量块数*字块大小)log2 (主存块和cache块容量一致)
[例: 128*4096 = 219(27*212)
主存区号=(主存容量块数 / cache容量块数)log2
Cache访存命中率=cache存取次数/(cache存取次数+主存存取次数)
磁带相关性能公式
数据传输速率(B/s)=磁带记录密度(B/mm)*带速(mm/s)
数据块长充=B1(记录数据所需长度)+B2(块间间隔)
B1=(字节数/记录)*块因子/记录密度
读N条记录所需时间:T=S(启停时间)+R+D
R(有效时间)=(N*字节数/记录)/传输速度
D(间隔时间)=块间隔总长/带速=[(N/块化因子)*(块间间隔)]/带速
每块容量=记录长度*块化系数
每块长度=容量/(记录密度)
存储记录的块数=磁带总带长 / (每块长度+每块容量)
磁带容量=每块容量*块数
|