点击跳转,进制转换详解
例如:
在数字后面加上不同的字母来表示不同的进位制。 B(Binary)表示二进制, O(Octal)表示八进制, D(Decimal)或不加表示十进制, H(Hexadecimal)表示十六进制。 例如: 将(101011)B转换成八进制,从右往左分割数字,每3位数字可以对应一个八进制位 则将101011分割为 101 和 011 ,且101= 5,011=3 所以(101011)B=(53)O 将(101011)B转换成十进制, 等于1×2^5+1×2^3+1×2^1+1×2^0 = 43 所以(101011)B=(43)D 将(101011)B转换成十六进制,从右往左分割数字,每4位数字可以对应一个十六进制位 则将101011分割为 10 和 1011 ,将10补全则为 0010 和 1011 且0010=1×2^1= 2,1011=1×2^3+1×2^1+1×2^0 = 11 = B 所以(101011)B==(2B)H
例如:二进制转换成十进制:
10100.01 = 1×2^4+1×2^2+1×2^-2
例如:七进制转换成十进制:
604.01 = 6×7^2+4×7^0+1×7^-2
例如:将十进制数94转换成2进制:
例如:2进制与8进制与16进制之间的转换:
2进制转8进制(从右往左每3位数字可以对应一个八进制位)
2进制转16进制(从右往左每4位数字可以对应一个十六进制位)
在十六进制中:
点击查看:源码,补码和反码的探究
例如:
1000——→1.0×10^3 119——→1.19×10^2 两数相加步骤: 首先对阶(将低阶转换成高阶,保证阶数相同)——→再进行尾数计算——→最后将结果格式化 1.19×10^2转换成0.119×10^3——→1.0+0.119=1.119——→将结果1.119×10^3格式化仍为×10^3(尾数不能为0,也不能超过1位数字) 注意: 格式化的结果不能是0.1119×10^4或者是11.19×10^2</font>
例如:如上图所示,若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是取指2ns,分析2ns,执行1ns。那么,流水线周期是多少?100条指令全部执行完毕需要的时间是多少?
流水线计算方式分为两种: (1)理论公式:一条执行指令+(指令条数-1)×流水线周期 (t1+t2+..+tk)+(n-1)×△t 即:(2+2+1)+(100-1)×2 =203 (2)实践公式:一个完整任务完成时间 +(指令条数-1)×流水线周期 这里将每个部分时间工整化,都取2ns k+(n-1)×△t 即:6+(100-1)×2 =204
例如:计算上题的流水线吞吐率为多少?
流水线吞吐率 = 指令条数 / 流水线执行时间 即:TP=100 / 203 = 0.493
例如:计算上题的流水线加速比为多少?
流水线加速比 = 不使用流水线执行时间 / 使用流水线执行时间 计算不使用流水线执行100条指令需要花费的时间 T = (2+2+1)×100 =500,使用流水线执行时间为203 故S = 500 / 203 =0.985 该比值的高低决定了流水线的效率的好快程度(即:比值越高,流水线效率越高)
例如:计算上图的流水线效率为多少?
E = n个任务占用的时空区/ K 个流水线的总时空区 即:E = (△t +△t +△t +3△t )×4 / 15△t×4 相当于计算阴影面积占全部面积的比值
寄存器容量极小,但速度非常快,故是属于存储结构的最高层 Cache是高速缓存存储器 内存 外存 速度从上往下逐步变慢,内存从上往下逐步增大(实际上是基于性价比的考量)
例如:Cache的访问命中率为95%,Cache的周期时间为1ns,主储存器周期时间为1ms,求系统的平均周期?
系统的平均周期 = 访问命中率×Cache的周期时间+(1-访问命中率)×主储存器周期
换算: 1KB (Kilobyte 千字节) = 1024B = 2^10B 1MB (Megabyte 兆字节 简称“兆”) = 1024KB = 2^10KB 1GB (Gigabyte 吉字节 又称“千兆”) = 1024MB = 2^10MB 在内存中: 1KB = 1024B = 1024字节 = 2^10字节 1MB= 1024KB = 1048576字节 = 2^20字节 1GB= 1024MB = 1073741824字节 = 2^30字节 1TB= 1024GB = 1099511627776字节 = 2^40字节 1PB= 1024TB = 1125899906842624字节 = 2^50字节
解:字节换算:1MB=2^20B,故16MB=2^24B, 1B(字节)=8bit,所以16MB=2^24×8bit, 且按字节编址,就是每8bit编一个地址,所以需要2^24×8bit/8bit=2^24个地址。 故要产生这么多地址,所以主存地址至少需要你用24个二进制数表示。
若上题改成用4为编址,则主存地址需要多少位?
解:字节换算:16MB=2^24×8bit,2^24×8bit/4bit=2^25个地址。 故要产生这么多地址,所以主存地址至少需要你用25个二进制数表示。
若改成改成按字编址,且该计算机为64位,则主存地址需要多少位?
解:字节换算:64bit=8B,16MB=2^24B,2^24B/8B=2^21个地址 故要产生这么多地址,所以主存地址至少需要你用21个二进制数表示。
内存按字节编址,地址从DFFFF到A0000, 共有多少字节?
点击跳转,十六进制加减法
解:计算内存容量DFFFF-A0000= 3FFFF 3FFFFH换成二进制就是0011 1111 1111 1111 1111,从右往左第18位是最后一个1,也就是2的18次方 即2^10×2^8=1KB*256,即256KB;
例如:计算机地址范围C000H等于48k的计算方式为:
计算下题:
解: 首先十六进制计算:尾地址-首地址+1,即C7FFFH-AC000H+1 = 1C000 然后转换为十进制: 1C000 = 0001 1100 0000 0000 0000 =2^16+2^15+2^14 B= 2^14(2^2+2^1+1)B =7×2^4×2^10B 最后字节换算:B与KB之间的转换: 7×2^4×2^10B/2^10 = 112KB,故共有112K个地址单元 求存储单元: 112×16/28×16×Y,即Y=4,故该芯片每个存储单元存储4位
根据图片解析:
解:磁盘旋转周期为33ms,说明磁盘转动一周经过11个物理块时间为33ms,每个物理块的读取时间为3ms 而每条记录的处理时间也为3ms,且为单缓冲区,一次只能处理单个物理块 故:R0的处理时间为3+3=6ms 每个物理块的处理时间=磁盘转动一周+处理时间 故:R1到R9都处理完花费时间为,(33+3)×10 =360ms 总处理时间360+6 = 366ms,因此48题答案选择C 分布优化后每个物理块所需时间为 = 读取时间 + 处理时间 即(3+3)×11 = 66ms,因此48题答案选择B
具体案例计算: