文章目录
写在前面
为迎接期末,总结了下知识点,供个人复习使用,仅供参考。
本文用到的复习资料:点我跳转,提取码:1l49
为方便读者,PDF文件下载链接已放到文章底部。如需markdown文件,请移步优快云资源下载:点我跳转
我总结的其它专业课:点我跳转
1.计算机系统概论
知识点
1.时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。
2.主频(时钟频率):每秒钟含有多少个时钟周期(1.2GHz即每秒钟含有1.2x109个时钟周期)。
3.CPI:一条指令所需要的时钟周期个数。
4.MIPS:每秒钟能执行多少个100万条指令。

5.MFLOPS:每秒百万次浮点操作次数。
6.CPU执行时间:TCPU=In×CPI×TC (指令条数*一条指令需要几个时钟周期*时钟周期长度)
In:执行程序中指令的总数
CPI(Clock Cycle Per Instruction):执行每条指令所需的平均时钟周期个数
TC:时钟周期时间的长度
7.吞吐量:计算机某一时间间隔内能够处理的信息量(能吞多少)
8.响应时间:从事件开始到事件结束的时间,也称执行时间.
7.冯●诺依曼型计算机设计思想主要有两项:
- 将十进制改为二进制,从而大大简化了计算机的结构和运算过程;
- 存储程序的思想,将程序与数据一起存储在计算机内,使得计算机的全部运算成为真正的自动过程。
存储(程序)并按(地址)顺序执行,这是冯•诺依曼型计算机的工作原理。
8.用嘴(一句一句最后不生成目标程序)来解释,用手(一步到位最后生成目标程序)来编译
编译程序将高级语言转换为机器代码再执行,解释程序用源程序直接解释,解释一句执行一句不用转换成机器代码。所以编译要比解释速度快
9.控制器可根据不同的周期(取指周期或者执行周期)来区分该地址的存储单元存储的是数据还是指令。
习题
1.假定机器M的时钟频率为200MHz,程序P在机器M上的执行时间为12s。对P优化,将所有乘4指令都换成了一条左移两位的指令,得到优化后的程序P’。若在M上乘法指令的CPI为102,左移指令的CPI为2,P的执行时间是P’执行时间的1.2倍,则P中的乘法指令条数为_______4x106________
答:P’的执行时间为10s,比12少了2s,由时钟频率得每秒有2x108个时钟周期,即少了4x108个时钟周期
每条左移指令比乘法指令少了100个时钟周期,那么乘法指令个数即总共少的时钟周期/每条指令少的时钟周期
p和p’的时间差是因为指令被替换了,而所有被替换的指令个数就是乘法指令个数
2.此题MIPS为400

答:平均CPI=2x0.5+ 3x0.2+4x0.1+5x0.2=3,即执行一个指令平均需要3个周期
MIPS为每秒可执行的百万条指令数,1.2GHZ为1200MHZ即一秒有1.2*109个周期,总周期=一个指令所需周期*有多少指令。1200/3=400(M=106,G=109)
3.程序P在机器M上的执行时间是20s,编译优化后,P执行的指令数减少到原来的70%,而CPI增加到原来的1.2倍,则P在M上的执行时间是_______16.8s____
答:CPI即执行一条指令所需的时钟周期数。假设M机器原时钟周期为x,原CPI为y, P程序的指令数为z,可得P程序执行时间为xyz= 20s。
编译优化后M机器的CPI变为1.2y, P程序的指令数变为0.7z,则P程序执行时间为1.2*0.7xyz,故其执行时间为
16.8s。
4.某工作站采用时钟频率f为15MHz,处理速率为10MIP/S的处理机来执行一个已知混合程序。假定每次存储器存取为1周期延迟,此计算机的有效CPI是_______1.5_____________,假定将处理机的时钟频率提高到30MHz,但存储器子系统速率不变。这样,每次存储器存取需要两个时钟周期,如果30%指令每条只需要一次存储存取,而另外5%每条需要两次存储存取,还假定已知混合程序的指令数不变,并与原工作站兼容,则改进后的处理机性能相比原来的_______提高_____________
答:CPI即每个指令需多少周期,已知每秒有15*106个周期,每秒可以处理10*106个指令,那么总周期数/总指令数即为CPI
15*106/10*106=1.5 (注意和后面那个1周期延迟没有关系,不要被他迷惑,这个周期延迟已经被计算在前面的10MIP/s中了)
处理性能是否提高就看处理速率是否提高了。30%需要一次存取,由于每次存取增加了1周期延迟,那么这30%就得增加一个周期,而同理另外5%需要增加两周期。则CPInew=CPI原+30%*1+5%*2=1.9 (原CPI已经包括原来的1周期延迟,只需将计算新增的即可)
又已知现在每秒有30*106个周期,那么处理速率为总周期数/每指令所需周期数=30×106/(1.9×106)= 15.79MIP/S,所以提高了
5.假定计算机M1和M2具有相同的指令集体系结构,主频分别为1.5 GHz和1.2 GHz。在M1和M2_上运行某基准程序P,平均CPI分别为2和1,则程序P在M1和M2_上运行时间的比值是?
答:M1的CPI为2即2周/指,而M2为1周/指。同样的程序P即指令数相同。M1的周期T1=1/1.5*109,M2的周期T1=1/1.2*109
那么每条指令所需时间分别为2×T1和1×T2,指令数相同,那时间比值就等于一条指令所需时间比值即(2×T1)/(1*T2)=8/5
2.运算方法和运算器
知识点
1.数字0在原码反码补码的表示
[+0]原码=0000 0000, [-0]原码=1000 0000
[+0]反码=0000 0000, [-0]反码=1111 1111
[+0]补码=0000 0000, [-0]补码=0000 0000 (补码中是唯一的)
0的移码也是唯一的1000 0000
由于补码0是唯一的所以补码范围要多一个负数(总共都是256个数)
2.对于规格化的浮点数,尾数有三种形式:(小数点左边的是符号位)
-
原码表示时尾数的小数点后第一数位为1,数符任意
-
补码和反码表示时尾数的符号位与小数点后第一数位不同
-
1.1xx……X(原码)
-
1.0XX……X(补码、反码)
-
0.1xx……x(原码、补码、反码)
原理是保证 1> |M|≥ 0.5
3.余3码就是8421码加3所得
4.奇偶校验码:加上校验码后1的个数为奇数就是奇校验。不具备纠错能力。
5.海明码:设有k个数据位,则应设r个校验位,r满足2r-1 ≥ k + r 。发现两位错误纠正一位错误。
6.循环冗余检验码(CRC):k位校验位拼接在n位数据位后面,即为n+k,发现并纠正一位或多位错误
7.A的ascii码:65 a的ascii码:97
8.已知[x]补,求[-x]补:将[x]补连同符号位求反+1
9.移码就是补码的符号位求反
由于负数的补码如-21(101011)看着好像大于21(010101),实际正好是21更大,所以浮点数的阶码用移码表示能直观的看出大小便于加减运算
10.-1的补码永远是全1(可理解为全1加1等于全0)
11.由于补码溢出无法看出是上溢(大于最大数)还是下溢,因此引入变形补码
- 两个符号位不同时表溢出(01为正溢出,10为负溢出(看第一位))
- 最高位那个数代表真正的符号位
- 两个符号位均参与运算,若进位舍去
12.IEEE754计算公式:真值x=(-1)S1.M2e(S为符号位(正还是负),E为阶码(转换成e代表多少次方),M为尾数(小数点后面的数),顺序为SEM)其中e=E-127(可记成大E大所以要减)
13.补码的1000 0000为什么代表-128
补码就是同余,比如-3的原码是1011而它的反码是1100则补码为1101,无符号的1101是13和-3正好模24同余
所以给出一个负数的补码将其看为无符号数减去2n(n为总位数)即代表真值
为什么会这样呢?4位二进制可表示16个数,那么想表示负数怎么办,就用同余的思想,-1就用15表示,-2就用14表示,-3就用13(1101)表示
回到本题,给出补码求真值,将其看成无符号数即为128,与128模28同余的负数即为-128(也可用128-28计算)
14.IEEE754的尾数用原码表示,阶码用指数的移码-1表示(所以E=e+127)
习题
1.写出D=101101的海明码
答:1️⃣首先确定检验位的个数:k=6,2r-1 ≥ k + r即2r ≥7+r,所以r=4
2️⃣确定检验码的位置:检验码Pi(i=1,2…)的位置为2i-1(20,21,22…)
注意从M10到M1,从大到小且没有0

3️⃣求出检验码的值:校验位Pi的值即为所有需要Pi校验的数据位求异或。
如P2对应M2,需要它的有D1即M3(2+1)、D3即M6(2+4)、D4即M7(2+4+1)…
所以最后的海明码为1011100100
2.已知x=11011,y=-10101,用变形补码计算x+y
注意一定要先转换成补码再添符号位运算
3.假设M(x)=x3+1(发送信息的多项式),G(x)=x3+x+1(生成多项式,代表校验位信息)。
1️⃣ 那么M(x)代表的二进制码为: 1001(1*x3+1*x0),G(x)代表的二进制码为: 1011
2️⃣将M(x)的多项式左移G(x)的最高次数,变为1001 000
3️⃣将1001 000对1011做模2除法得到余数为110,将其与被除数1001合并得到CRC码1001 110
这里要注意第三步的模2除法和普通除法不同,模2除法不会向上一位借位也不比较被除数和除数的大小(位数相同即可),如图中第三位商数(1101>1000但仍可做减操作)
4.若浮点数x的754标准存储格式为(41360000)16 ,求其浮点数的十进制数值。

注意阶码没有符号位
5.将数(20. 59375)10转换成754标准的32位浮点数的二进制存储格式。

6.某机器数为1000 0000B,若它代表0,则它是(原)码形式。若代表-128,则它是(补)码形式。若代表-127,则它是(反)码形式。
答:若是原码形式,就是-0。若是反码形式时,转换为原码就是1111 1111即-127(-(27-1)) ,若是补码,1000 0000无符号时是27=128,所以该补码代表-128(详情见上面知识点)
7.某机字长32位,其中1位符号位,31位表示尾数,若用定点小数表示,则最大正小数为多少?(B)
A.(1-2-32) B.(1- 2-31 ) C.2-32 D.2-31
答:这样的题就用4位的先试试。4位最大小数就是 0 111,也就是0.875 即1-2-3 所以可推出32位时最大是 1-2-31
8.IEEE 754单精度浮点数格式


最低0.47元/天 解锁文章
4万+





