1. 位运算:
略
2. 进制转换:
3. 计算内存存储容量:
- 前置概念:**
- 内存地址是16进制。 16进制后面的加上的字母H,表示数字为16进制。
- 内存地址编址的单位是Byte,1K =1024B,1024用16进制表示为400H 。
- 计算内存地址单元个数:结束位置 - 开始位置 + 1 ; 别忘记从16进制转换成10进制(要注意)
- 答案:C7FFFH +1 - AC000H = C8000H - AC000H = 1C000H
- 1C000H / 400H = 70H
- 70H转换成10进制为112
- 计算该芯片每个存储单元存储多少位:背一下解题思路
- 总的容量 = 112K * 16bit (内存地址按字16bit编址)
- 设每个存储单元存储 Y 位,总的容量 = 28片 * 每片16K个存储单元 * Y位
- 因此 Y = (112k * 16 bit ) / (28片 X 16K) = 4 bit
- Tips:如果没有说内存地址按多大编址,默认8bit。。
4. 磁盘缓冲区时间计算:
P17
前置概念:
- 1. 从磁盘读取的数据先要放入缓冲区。
- 2. 单缓冲区:发送者向缓冲区发送数据后,接收者可从缓冲区中取出该数据。发送者和接收者不能并行工作。
- 3. 双缓存区:可以减少或消除用户进程的等待时间,提高系统效率。但是,当发送者和接收者进程的速度相差很大时,双缓冲还是不能解决两者并行工作的问题。
第一空:
- 单缓存区中,R0读取到缓存区后,磁头到达R1时,不能读取数据。因为R0在缓存区还没处理完数据,磁头会继续往前走,等到R0在缓存区处理完了,磁头已经到了R2,所以,磁头需要再次回到R1开始位置才能处理R1的数据。
- 由于磁头是匀速旋转的。题意得知转一圈33ms,共有11个记录,则读取(经过)一个记录要3ms。
- 处理完成R0整个步骤:读取R0记录(3ms) + 缓冲区处理(3ms) + 转10格回到R1起点(3ms X 10) 到达R1开始处。
- 再处理R1步骤,依次类推,R0到R9都是如此,此时共花费了 ( 3 + 3 + 30) X 10 = 360 ms。
- 在R10处理完之后,不用再转一圈了,因为R10是最后一个记录。所以处理R10步骤:读取R10记录(3ms) + 缓冲区处理(3ms) = 6ms
- 总时间 = 360 + 6 = 366 ms
第二个空:
- 如果优化磁块分布,则如右图。则可以缓冲区一处理完立即可以处理下一个数据。
- 这样处理完R0整个步骤: 读取R0记录(3ms) + 缓冲区处理(3ms)
- 依次类推,R0到R10都是如此。总时间 = (3+3)X 11 = 66ms
4.1 双缓冲区例题:
- 双缓冲区:发送者向缓冲区发送数据 和 接收者可从缓冲区中取出数据,可以同时进行。
- 下题中:一开始缓冲区没有数据,需要进行"从磁盘读入缓冲区"的操作,时间为15us,有数据后,可以进行由缓冲区到用户区操作,时间为5us 和用户区处理操作,时间为1us。因为是双缓冲区,从磁盘读入缓冲区第一块后,就可以继续读取第二块,不用等待后续操作。并且后续操作可以并行进行。所以:15 * 10 + 5 + 1 =156
4.2 磁盘读取文件计算题:
- 硬盘的存取时间包括:寻道时间 + 旋转延迟时间 + 读写操作时间。
- 一个100块的文件需要时间:(2 * 5 + 10 + 1) * 100 = 2100 ms
- 寻到时间:2 * 5 旋转延迟时间:10 读写操作时间:1
5. 计算海明码:
- 列出校验位公式:
- 位数7影响:R2、R1、R0;位数6影响:R2、R1;位数5影响:R2、R0;位数3影响:R1、R0。
- 异或运算:数学符号为“⊕”;0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1);简单计算:不进位相加。
- 校验位从0开始,信息位从1开始,位数从1开始。
6. 总线带宽计算:
- Tips:简单记一个计算过程。
- 单位转换 -> 32bit / 8 = 4 Byte。
7. 流水线计算:
流水线执行时间计算:
- 流水线周期:为执行时间最长的一段。举例:取指2ns、分析2ns、执行1ns,周期为2ns
- 流水线执行时间计算公式:***
- 理论公式:1条指令执行时间 +(指令条数 -1)* 流水线周期
- 实践公式:(K +指令条数 -1)* 流水线周期 -> K是一条指令执行分几段:3端:取指 + 分析 + 执行
- 例题:
流水线吞吐率:
- 概念:单位时间内流水线所完成的任务数量或输出结果数量。
流水线最大吞吐率: -> 流水线执行周期倒数 -> - 执行时间最长的一段的倒数
∆t:流水线执行周期
流水线加速比:
- 概念:完成同样一批任务,不使用流水线与使用流水线的所用时间之比。
流水线的效率:
- 概念:流水线的设备利用率:
- 根据例题计算:
- n个任务占用的时空区:( ∆t + ∆t + ∆t + 3 ∆t ) * 4
- k个流水段的总的时空区:4 * 15 ∆t