前言:快要期末考试了,划水整学期的我说不慌那是假的,本学期非常有纪念意义,在家度过整个学期。废话不多说啦,肝!开始复习!
j4y

冯诺依曼计算机特点

1.计算机由运算器、存储器、控制器、输入输出设备五大部件组成
2.指令和数据以同等地位存放于存储器内,并可按地址寻访。
3.指令和数据均用二进制数表示。
4.指令由操作码和地址码组成。操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
5.指令在存储器内按顺序存放。通常,指令是按顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
6.机器以运算器为中心,输入输出设备与存储器间的数据传递通过运算器完成。
j4y
各部件的功能:
运算器:用来完成算数运算和逻辑运算,并将运算的中间结果暂存在运算器内。
存储器:用来存放数据和程序 。
控制器:用来控制、指挥程序和数据的输入、运行以及处理运算结果。
输入设备:用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等。
输出设备:可将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等。
j4y
主存储器是存储器子系统中的一类用来存放程序和数据,可以直接与CPU交换信息。另一类称为辅助存储器,简称辅存,又称外存。
算术逻辑单元(ALU)简称算辑部件,用来完成算术逻辑运算。控制单元(CU)用来用来解释存储器的指令,并发出各种操作命令来执行指令。ALU和CU是CPU 的核心部件。
I/O设备也受CU控制、用来完成相应的输入、输出操作。

计算机的工作过程:
j4y
(1)主存储器:简称主存或内存。包括存储体M、各种逻辑部件及控制电路等。存储体有许多存储的单元组成,每个存储单元又包含若干个存储元件(或称存储基元、存储元。)寄存器:为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR。MAR是存储器地址寄存器,用来存放域访问的存储的单元的地址,其位数对应存储单元的个数,(如MAR为10位,则有 )MDR是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等
(2)运算器:运算器最少包括3个寄存器和一个算术逻辑单元(ALU)其中ACC为累加器MQ为乘商寄存器,X为操作数寄存器,这3个寄存器在完成不同运算时,所存放的操作数 类别也各不相同。
j4y
M表示存储器的任意地址号,[M]表示对应M地址号单元中的内容;X表示X寄存器,[X]表示X寄存器中的内容;ACC表示累加器,[ACC]表示累加器中的内容;MQ表示乘商寄存器,[MQ]表示乘商寄存器中的内容。

简答题型

写在前面

这些简答题是我在学习过这位博主小姐姐的文章后做得笔记。原文传送门——计算机组成原理超实用
简答题:

  1. 影响流水线性能的主要因素有哪几种?请简要加以说明。
     结构相关:是当多条指令进入流水线后,硬件资源满足不了指令重叠执行的要求时产生的,不同指令争用同一功能部件产生资源冲突。
     数据相关:是指令在流水线中重叠执行时,当后继指令需要用到前面指令的执行结果时发生的。可能改变对操作数的读写访问顺序。
     控制相关:是当流水线遇到分支指令和其他改变PC值的指令时引起的。
  2. 为了保证DRAM(动态随机存储器)的存储信息不遭破坏,必须在电荷漏掉前就进行充电,称为刷新。常见的刷新方式有哪三种,试分析它们间的区别。
     集中刷新:是在规定的一个刷新周期内,对全部存储单元集中一段时间逐行(hang)进行刷新,此刻必须停止读/写操作。
     分散刷新:是指对每行存储单元的刷新分散到每个存储周期内完成。
     异步刷新:是前两种方式的结合,既可缩短“死时间”,又充分利用最大刷新间隔2ms的特点。
  3. 说明计算机九大寻址方式及有效地址EA计算方法。
     立即寻址:无需寻址        隐含寻址:无需寻址       直接寻址:EA=A        间接寻址:EA=(A)         相对寻址:EA=(PC)+A
     基址寻址:EA=(BR)+A    变址寻址:EA=(IX)+A    寄存器寻址:EA=Rj    寄存器间接寻址:EA=(Rj)
  4. 按传输信息的不同,系统总线可分为哪几类?并加以简单描述。
     数据总线:用来传输各种功能部件间的数据信息,是双向传输总线,其位数与机器字长、存储字长有关,一般为8/16/32位。
     地址总线:主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。
     控制总线:用来发送各种控制信号的传输线,通常对任意控制线而言,它的传输是单向的。
  5. 试说明具有Cache-主存结构的计算机,CPU在访问存储器时的工作流程。
     CPU欲读取主存某字时,有两种可能:一种是所需要的字已经在缓存中,即可直接访问Cache;另一种是所需的字不在Cache内,此时需将该字所在的主存整个字块一次调入Cache中(Cache与主存之间是字块传输)。当Cache未满时,主存块可被调入缓存块中,称该主存块与缓存块建立了联系。当Cache已满时,无法接收来自主存块的信息,就由Cache内的替换机构按一定的算法从Cache内移除哪块返回主存,并把新的主存块调入Cache中。
  6. 在写操作时,要考虑Cache和主存的数据一致性的问题,试说明写回法和写直达法的区别。
     写回法(拷回法):写操作时只把数据写入Cache而不写入主存(减少了主存的写操作次数),写操作时间=访Cache时间。但当(读操作且Cache已满时)Cache数据被替换出来时才写回主存,增加了Cache复杂性。
     写直达法(存直达法):写操作时数据既写入Cache又写入主存,写操作时间=访存时间,它能随时保证主存与Cache的数据始终一致,但增加了访存次数。(读操作时不涉及对主存的写操作,更新策划较容易实现。)
  7. 说明补码定点加减运算,判断溢出的两种方法。
     一位符号位判断溢出:参加操作的两个数(减法时即为被减数和“求补”后的减数)符号相同,其结果的符号与原操作数的符号不同,即为溢出。
     两位符号位判断溢出:若结果双符号位相同,则未溢出;若双符号位不同,则溢出。最高符号位为真结果符号。
  8. 说明Cache-主存的地址映像有哪三种方式,说明他们的基本映像原理。
     直接映射:将主存空间按Cache的尺寸分区,每区内相同的块号映像到Cache中相同的块位置。优:实现简单;缺:不够灵活
     全相连映射:主存中的每一个字块可映射到Cache任何一个字块位置上,当访问一个块中的数据时,块地址要与Cache块表中的所有地址标记进行比较以确认是否命中。
     组相连映射:是直接映射和全相连映射的一种折中方案,这种方案将存储空间分为若干组,各组间是直接映射,而组内各块间是全相连映射。
  9. 试说明指令周期,机器周期,时钟周期之间的关系。
     一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期(节拍),每个指令周期内的机器周期数可以不等,每个机器周期内的节拍数也可以不等。
  10. 试说明单译码方式(线选法)和双译码方式(重合法)的区别。
    存储芯片内的地址译码器有两种方式:
    一种是线选法,适用于地址线较少的芯片。地址信号只需经过一个方向的译码器就可以选中某一存储单元的所有位,结构较简单。
    另一种是重合法,适用于地址线较多的芯片。地址线分为两组,分别经行地址译码器和列地址译码器,通过两者“与”选中存储单元才能进行读/写。
  11. 分别说明一下名词MAR,MDR,CU,IR,PC的中文名称及该器件的主要功能。
    MAR是存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数。
    MDR是存储器数据寄存器,用来存放从存储体某单元取出or存入的代码,其位数与存储字长相等。
    CU是控制单元,用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。
    IR是指令寄存器,用来存放当前指令,IR的内容来自MDR。
    PC是程序计数器,用来存放当前欲执行指令的地址,它与主存的MAR间有一条直接通道且具有自动加1功能,即可自动形成下一条指令的地址。
  12. 计算机的五大基本组成是什么?
    运算器:用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器里。
    存储器:用来存放数据和程序。
    控制器:用来控制、指挥程序和数据的输入、运行以及处理运算的结果。
    输入设备:用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等。
    输出设备:可将机器运算结果转换为人们熟悉的信息形式,如打印机输出等。
  13. 设某计算机采用微程序控制器,试说明微程序控制器的基本工作原理(即CPU执行指令时的操作过程)。
    首先将用户程序的首地址送到PC,然后进入
    取指阶段:
            ①将取指周期微程序首地址M→CMAR
            ②取微指令:将对应控存M地址单元中的第一条微指令读到控存数据寄存器中,记为`CM(CMAR)→CMDR`                
            ③产生微操作指令:第一条微指令的操作控制字段中为“1”的各位发出控制信号,如PC→MAR、I→R,命令主存    接收程序首地址并进行读操作。
            ④形成下一条微指令的地址:此微指令的顺序控制字段指出了下一条微指令的地址为M+1,将M+1送至CMAR,即`Ad(CMDR)→CMAR`
            ⑤取下一条微指令:将对应控存M+1地址单元中的第二条微指令读到CMDR中,即`CM(CMAR)→CMDR`
            ⑥产生微操作指令:由第二条微指令的操作控制字段中对应“1”的各位发出控制信号,如M(MAR)→MDR使对应主存2000H地址单元中的第一条机器指令从主存中读出,送至MDR中。
            ⑦形成下一条微指令地址:将第二条微指令下地址字段指出的地址M+2送至CMAR,即`Ad(CMDR)→CMAR`
    执行阶段:
            ①取数指令微程序首地址的形成:当取数指令存入IR后,其操作码OP(IR)直接送到微地址形成部件,该部件的输出即为取数指令微程序的首地址P,且将P送至CMAR,记作OP(IR)→微地址形成部件→CMAR
            ②取微指令:将对应控存P地址单元中的微指令读到CMDR中,记为`CM(CMAR)→CMDR`
            ③产生为操作命令:由微指令操作控制字段中对应“1”的各位发出控制信号,如Ad(IR)→MAR、I→R,命令主存读操作数。
            ④形成下一条微指令地址:将此条微指令下地址字段指出的P+1送至CMAR,即`Ad(CMDR)→CMAR`
  14. 试说明汉明码的校验原理(即如何生成汉明码,以及汉明码的检验原理),默认偶校验。
    汉明码的生成步骤:①确定校验位的位数 `2^k ≥ n + k +1`
                      ②确定校验位的位置
                      ③分组
                      ④生成校验位的值
                      ⑤得出结论
    检验原理:将已知的汉明码按照前三步正常进行,到第四步时,用H接收P和D一起异或,然后把H倒序排列,若都为0,即无错。否则,该序列对应的二进制位置出错。
  15. 试说明循环冗余校验码的校验原理。
    循环冗余校验码的生成步骤:①确定校验位的位数 r
                              ②写出信息多项式 `M(x)`
                              ③将信息多项式左移 r 位,得到 `M(x)·x^r`
                              ④用 `M(x)·x^r` 除以生成多项式 G(x),得到 r 位校验位
                              ⑤`M(x)·x^r+R(x)` 得到CRC码
    检验原理:根据余数判出错位,取反纠错。

    补充

计算题

先复习下正数和负数的原码、补码、反码怎么写。
正数的原码、补码和反码都是一样的。
比如:+7
数值 (原码)0,0000111最前面的是符号位,正数是0,负数是1
则+7的补码为0,0000111、反码为0,0000111
负数 -7
数值(原码)1,0000111符号位是1
则-7的反码1,1111000 (负数的反码与原码符号位相同,数值为取反)
补码1,1111001 (负数的补码是在反码的基础上加1,)

第一题移位运算

j4y
拿+26做栗子;
j4y
负数用-26当栗子:
j4y

第二题加减运算

加减法问题,在计算机中的基本运算。
方法:

1
2
加法:A+B=A+B
减法:A-B=A+(-B)

而且进行加减时,都采用补码作为加减运算。
[A]补+[B]补=[A+B]补
[A]补+[-B]补=[A-B]补
j4y
就是1+1=0的问题。
变形补码判断溢出
最高位的永远是符号位
j4y
有些题会设机器数字长为8(连符号位)
这样的就是包括符号位一共是8位的。比如

1
2
3
+45=+0101101
[B]补=0,0101101
[-B]补=1,1010011

记住一点,加法运算后的结果,符号位前面的该丢就丢。
分数怎么转换成计算机机器数字?
原理:分母是2的n次方,先将分子转换成二进制数字,然后将小数点向前移动n位。比如:
j4y
2的4次方是16,所以先将分子11转换成二进制,是1011,小数点向前移动4位,就是0.1011符号是负号。所以是-0.1011,则它的补码就是1,0101

第三题型乘法运算

什么概念的课本上一堆,不想看。直接看例题来的快。
j4y
看过之后,也是懵B,所以看下面这个。我把它的被乘数(也就是在计算的时候放在最上面的数。)和乘数换了个位置,就是原本是AxB,形式改成BxA数字变了一下。看下面的计算过程。
j4y
可能有的疑问:怎么判断移位移多少?
答:看乘数。比如上题中(手写的这个)乘数是0.1101,它转换回我们日常生活中的数字是这么转换的

1
1101=1x2的三次方+1x2的二次方+0x2的一次方+1x2的零次方

根据这个判断移位。
关于补码一位乘
参考链接补码乘法一位乘
还有最上面的那个链接里也有讲解。
先到这里,慢慢消化,考试加油。
文末寄语:

愿你被很多人爱,如果没有,愿你在寂寞中学会宽容。——刘瑜