计算机组成原理期中考试知识点

咸鱼の救赎

期中考试不幸被抽到考计算机组成原理,上课不好好听讲只能下课复习 ,好在老师画出重点。


1.构成计算机历代的元器件

  • 第一代为1946~1957年,电子管计算机。在此期间,形成了计算机的基本体系结构,确定了程序设计的基本方法,数据处理机开始得到应用。
  • 第二代为1958~1964年,晶体管计算机。在此期间,工业控制机开始得到应用。
  • 第三代为1965~1971年,中小规模集成电路计算机。在此期间形成机种多样化,生产系列化,使用系统化,小型计算机开始出现。
  • 第四代为1972~1990年,大规模和超大规模集成电路计算机。由几片巨大规模集成电路组成的微型计算机开始出现。
  • 第五代为1991年开始的巨大规模集成电路计算机。由一片巨大规模集成电路实现的单片计算机开始出现。

2.海明码编码中添加校验位的位数

海明码(Hamming Code),是在电信领域的一种线性调试码,以发明者理查德·卫斯里·汉明的名字命名。汉明码在传输的消息流中插入验证码。海明码具有检错和纠错双功能,它基于奇偶校验原理,只能检查出某一位错码的位置。由于汉明编码简单,它们被广泛应用于内存(RAM)。

2.1异或运算

相异为1,相同为0,数学符号是⊕,C语言符号为^ ,(a ^ b) ^ a = b。

奇偶校验规则:

  • 奇校验:使完整编码(有效位和校验位)中的"1"的个数为奇数个;
  • 偶校验:使完整编码(有效位和校验位)中的"1"的个数为偶数个;
待编有效信息奇校验码偶校验码
10111010101110100101110101
11010010110100101110100100

奇偶校验实际上就是对DnDn-1…D0进行异或运算(两两相同为0,不同为1),最后偶校验生成0,奇校验生成1,正确,反之错误。

第一个奇校验:1⊕0⊕1⊕1⊕1⊕0⊕1⊕0⊕0=1(正确)

第二个偶校验:1⊕1⊕0⊕1⊕0⊕0⊕1⊕0⊕0=0(正确)

如果第一个数据传输过去,变成111110100,很明显地D7变成了1,这时候再进行奇偶校验

1⊕1⊕1⊕1⊕1⊕0⊕1⊕0⊕0=0(错误)


2.2海明码校验位数和信息码位数的关系

对于数据位m的数据,加入k位的校验码,它应满足香农第二定理:n=m+k ≤ 2k-1
说明:这里的m是指我们待编有效信息的位数,例如110101就是m=6,然后代入m,6+k
≤2k-1得到m=6,k≥4(取最小值),这样组成10位海明校验码。

【例子】
设数据为01101001,试采用校验位求其偶校验方式的海明码。
根据上面的公式得到,m=8,k≥4

(1)确定数据位D和校验位P在海明码中的位置:
由海明码编码规则可知: pi在海明码的第2i-1,比如P4=2^(4-1)=8,所以位于第8位

海明码123456789101112
校验位P1P2P3P4
数据位D0D1D2D3D4D5D6D7

(2)确定校验位的值

海明码海明码下标校验位组
11P1
22P2
33=2+1P1,P2
44P3
55=4+1P1,P3
66=4+2P2,P3
77=4+2+1P1,P2,P3
88P4
99=8+1P1,P4
1010=8+2P2,P4
1111=8+2+1P1,P2,P4
1212=8+4P3,P4

(3)做对应信息位的异或运算

  • P1=D0⊕D1⊕D3⊕D4⊕D6=0⊕1⊕0⊕1⊕0=0
  • P2=D0⊕D2⊕D3⊕D5⊕D6=0⊕1⊕0⊕0⊕0=1
  • P3=D1⊕D2⊕D3⊕D7=1⊕1⊕0⊕1=1
  • P4=D4⊕D5⊕D6⊕D7=1⊕0⊕0⊕1=0

按照表格海明码的位置插入P1~P4到数据中,所以海明校验码:010111001001


3.RAM和ROM的特点(存储器的分类分级及特点)

存储介质

  • 半导体器件
  • 磁性材料
  • 光储存器

存取方式

  • 随机存储存储器
  • 顺序存取存储器

读写功能

  • 只读存储器(ROM):半导体存储器存储的内容在存储器工作器工作过程中只能读出而不能写入。
  • 随机存取存储器(RAM):在储存器工作中既能读出又能写入的半导体储存器。

信息易失性

  • 断电后信息消失的存储器被称为易失性存储器(RAM)。
  • 断电后仍能保持信息的存储器被称为非易失性存储器(ROM)。

4.移位运算求值

4.1真值,原码,反码和补码

  • 真值
    一般书写表示的数称为真值。
真值
+1001
-1001
  • 原码
    原码表示法在数值前面增加了一位符号位(即最高位为符号位):0表示为正数,1表示为负数,其余为数值位,表示数值大小。
真值原码
+100101001
-100111001
  • 反码
    减法都可以转化为加上一个负数,如 1+1 = 1+(-1)。反码的表示方法基于原码,最高位仍然是符号位。正数的反码是其本身,负数的反码符号位不变,剩下的位全部取反。
原码反码
0100101001
1100110110

利用反码计算:

9 - 9 = 9 +-9= 01001 + 10110 = 11111

11111的反码为10000 = -0;

补码

补码计算法定义:非负数的补码是其原码本身;负数的补码是其绝对值的原码最高位符号位不变,其它位取反,再加1。 (即在反码的基础上+1)

补码的概念可以通过钟表进行表示。假设标准时间为4点整,而一只钟表显示7点,显然这是错误的时间。为了校准时间,我们可以使用两种方法:一是将时针退三格:7 - 4 = 3;二是将时针进9格7 + 9 = 16(4);由此可见,减三和加九是等价的。9是(-3)对12的补码。

用数学公式表示为:-3 = +9(mod 12

[x]=xn+xn-1+xn-2……x1x0
x = − 2 n x n + ∑ i = 0 n − 1 2 i x i x = -2^nx_n +\sum_{i=0}^{n-1} {2^i}x_i x=2nxn+i=0n12ixi

4.2逻辑移位

无符号位的位移,与符号位无关,左移右移均添0
逻辑左移 低位添0,高位移丢
逻辑右移 高位添0,低位移丢

例:01010011
逻辑左移 所有位都参加移位操作 高位0移丢,最低位添010100110

例:10110010
逻辑右移 所有位都参加移位操作 空出的最高位补0,最低位丢弃01011001

4.3算数移位

带符号位的移位
负数的补码:左移添0,右移添1属于符号位的扩展
原码左移右移均添0

例:01010011
算术左移 第一个0表示符号位,这个数为正数,符号位不参与移位,移位的是后面的数据00100110

例:10110010
算术右移 最高位不参与移位,符号位,表示负数,右移左侧空出最高位添1,右侧0丢弃11011001

5.32位规格化浮点数与十进制的相互转化

32位规格化浮点数字长32位,尾数长度23,指数长度8,指数偏移量127;

将176.0625表示为32位规格化浮点数

176.0625转换为二进制为:10110000.0001

IEEE754约定单精度指数偏移量为127,所以176.0625使用IEEE754标准表示时,指数偏移量为 7+127=134 ,:10000110
	
IEEE754约定单精度尾数长度为23,所以176.0625使用IEEE754标准表示时,尾数为:01100000001000000000000

176.0625>0,即为整数,所以符号位为0

3)由上得出:176.0625使用IEEE754规格化后的表示为:0  10000110 01100000001000000000000

将32位格式化浮点数0 10000011 01001001100000000000000表示为十进制

IEEE754约定单精度指数偏移量为127,131-127=4,e=4;

恢复隐藏位的1,1.M = 1.010010011

有x = (-1)^S*1.M*2^e = +(1.010010011)*2^4 = +10100.10011 = 20.59375; //P23 例2.6改

6.线性流水线的时钟周期概念

7.组相连映射(主存到cache的地址映射,主存块号-行号的对应关系)

8.计算机的性能指标求解

  • 基本字长
  • 主存容量
  • 运算速度
  • 运算精度
  • 所配置的外部设备及其性能指标
  • 系统软件的配置

9.片选分析实现

10.补码加减运算及溢出判断

10.1补码加减运算

两个机器数相加的补码可以先通过分别对两个机器数求补码,然后再相加得到,在采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,导致了益出,则直接舍弃),结果为两数之和的补码形式。

35+18:

 	00100011
+	00010010
————————————————————
	00110101

35-18:

 	  00100011
+     11101110
————————————————————
  	 100010001
  	 所以最高位舍弃,舍弃后,结果为00010001

10.2补码加减运算的溢出判断

用变形补码进行双符号位运算(正数符为00,负数符号以11)
若运算结果的符号位为"01",则正溢;
若结果双符号为10,则负溢出;
若结果的双符号位为00或11,无溢出

x=+1100,y=+1000,求x+y

 	001100
+	001000
________________
	010100
双符号位出现‘01’,表示正溢出.

x=-1100,y=-1000,求x+y

 	110100
+	111000
________________
	101100
双符号位出现‘10’,表示负溢出.

11.浮点加减运算

  • 操作数检查

如判知两个操作数中有一个为0,即可得知运算结果。

  • 比较阶码大小并对阶

看两数小数点是否对齐,若对齐则进行尾数的加减运算,反之则使其对齐,这个过程叫做对阶。在对阶使,总是小阶向大阶看齐,即小阶尾数向右移位,直至两数阶码相等。

  • 尾数加减运算

无论加法运算还是减法运算,都按加法进行操作,其方法与定点运算相同。

  • 结果规格化

尾数求和结果绝对值大于1,运算结果右移实现规格化,尾数不是1.M时向左规格化。

  • 舍入处理
  • 溢出处理

12.一位加法器的串并行进位分析

13.容量扩展及片选分析实现

14.指令格式分析

一条指令包括两种信息:操作码,地址码

15.冯诺依曼机的工作原理及硬件组成

工作原理

存储程序并按地址顺序执行,这就是冯诺依曼机的设计思想。由于指令和数据放在同一个存储器,称为冯诺依曼机。
数字计算机的数制采用二进制
计算机应该按照程序顺序执行

硬件组成

基本组成是输入设备、输出设备、运算器、控制器、存储器五大部件

16.若指令和数据共享一内存,如何区分取出的是指令还是数据?

  • 从主存取出的机器周期不同,取指周期取的是指令,分析取数或执行周期取的是数据。
  • 取指令和取数据时的地址来源不同,指令地址来自程序计数器PC,数据地址来自地址形成部件。

17.通过存储器一章的学习列举提高存储器性能的方法或技术

18.主存——cache的地址映射(综合题三种映射选一种考)

19.多模块交叉存储器的带宽求解

20.指令和操作数的寻址方式。(分析求解求有效地址)

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页