一、单位的换算
1字节(B)=8bit 1KB=1024字节 1MB=1024KB 1GB=1024MB 1TB=1024GB
通信单位中 K=千 , M = 百万
计算机单位中 K=2^10 , M= 2^20
倍数刚好是1.024的幂 ^ 为次方; /为除 ; *为乘 ; (X/X)为单位
二、计算总线数据传输速率
总线数据传输速率=时钟频率(Mhz)/每个总线包含的时钟周期数*每个总线周期传送的字节数(b)
三、计算系统速度
每秒指令数=时钟频率/每个总线包含时钟周期数/指令平均占用总线周期数
平均总线周期数=所有指令类别相加(平均总线周期数*使用频度)
控制程序所包含的总线周期数=(指令数*总线周期数/指令)
指令数=指令条数*使用频度/总指令使用频度
每秒总线周期数=主频/时钟周期
FSB带宽=FSB频率*FSB位宽/8
四、计算机执行程序所需时间
P=I*CPI*T
执行程序所需时间=编译后产生的机器指令数*指令所需平均周期数*每个机器周期时间
五、指令码长
定长编码: 码长>=log2
变长编码:将每个码长*频度,再累加其和
平均码长=每个码长*频度
六、流水线计算
流水线周期值等于最慢的那个指令周期
流水线执行时间=首条指令的执行时间+(指令总数-1)*流水线周期值
流水线吞吐率=任务数/完成时间
流水线加速比=不采用流水线的执行时间/采用流水线的执行时间
流水线的总时间=(指令总数+2)*周期值
七、存储器计算
存储器带宽:每秒能访问的位数 单位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块容量一致)