计算机组成原理期末总结王诚.docx
《计算机组成原理期末总结王诚.docx》由会员分享,可在线阅读,更多相关《计算机组成原理期末总结王诚.docx(32页珍藏版)》请在冰豆网上搜索。
计算机组成原理期末总结王诚
2013计算机组成原理期末总结
第一章、计算机系统概述
1、计算机5大部件组成作用。
同时说明三大系统总线的作用。
2、计算机系统的层次结构。
(0.数字逻辑层—1.微体系结构层—2.指令系统层—3.操作系统层—4.汇编语言层—5.高级语言层—6.应用层)
3、计算机三大语言:
机器、汇编和高级
4、计算机主要技术和性能指标
字长、CPU速度、存储容量、内存储器的存取周期和外存储器的数据传送速率、输入输出设备的入出速度
5.冯·诺伊曼体系结构基本思想。
书上习题:
2.从传统的观点来看,基本计算机硬件系统由哪几个功能部件组成?
每个部件完成的主要功能是什么?
它们之间是如何连接在一起的?
运算器:
数据处理,算术运算和逻辑运算
存储器:
存储数据与程序
控制器:
从存储器中取出指令,并进行指令译码
输入设备:
输入数据,并且把人读数据变为机读数据
输出设备:
输出数据,并且把机读数据变为人读数据
它们是通过总线连接在一起的,其中总线包括:
数据总线,地址总线,控制总线
3.什么是计算机系统的层次结构?
一般可以划分为哪几个层
次?
层次之间的关系体现在哪些方面?
采用层次结构的观点
来看待,分析计算机的组成有什么好处?
上面的一层是建立在下一层的基础上实现出来的,实现的功能更强大,更接近人解决问题的思维方式和处理问题的具体过程,对使用人员更方便,使用这一层提供的功能时,不必关心下一层的实现细节。
分层次的方法:
有利于简化处理问题的难度,在某一段时间,在处理某一层中的问题时,只需集中精力解决当前最需要关心的核心问题即可,而不必牵扯各上下层中的其他问题。
第二章、数字电路基础
要求掌握考试仅仅出一些基础型题目,考查数电基础。
要求掌握的部件有:
三态门、加法器、译码器、选择器、D触发器、寄存器和计数器
●三态门(高阻抗)
●加法器/
XnYnCn
FnCn+1
000
001
010
011
100
101
110
111
00
10
10
01
10
01
01
11
Fn=Xn⊕Yn⊕Cn
Cn+1=XnYn+(Xn⊕Yn)Cn
●译码器:
常用于把一组输入代码的状态组合翻译成相应的控制电位,若输入信号有n个,其输出最多有2^n个。
正常输出时,2^n个输出中仅有一个输出为低(或高),用于表明n个输入的某一种状态组合。
(SN74LS138译码器)3个输入信号、8个(2^3)输出信号(低电平有效)
●选择器:
由控制信号从输入的多路数据中选择一路作为输出
●D触发器
●寄存器:
把多个D型触发器组合成一个部件使用,从而形成接收与发送多位数据的寄存器,或带有移位功能的移位寄存器,或带有计数功能的进位计数器
通常由n个D触发器构成n位寄存器。
计算机中的指令寄存器(存放指令编码)、地址寄存器(存放当前地址)等可选用SN74LS377(能控制是否接受输入)、SN74LS374(能控制输出是否为三态)和SN74LS273(有清0功能)等,这是三种不同功能的8位寄存器器件。
●计数器
同时掌握组成逻辑和时序逻辑的区别。
数字电路分为组合逻辑电路和时序逻辑电路两种。
组合逻辑电路中,任一时刻电路的输出只与该时刻的输入信号有关,与电路的原来状态(以前的输入或操作过程)无关,即组合逻辑电路无记忆功能。
时序逻辑电路的特点是任一时刻,电路的输出不仅与该时刻的输入有关,还与电路以前的状态有关(既有记忆功能)。
2.11CPLD器件和FPGA器件在内部组成和使用方法等方面有什么区别?
CPLD是采用与,或两级逻辑陈列加上输出逻辑单元的内部结构,而FPGA的内部结构则是采用许多个独立的可编程的逻辑模块,输入输出模块和互连资源3部分组成的
第三章、数据运算方法
本章节是重点章节。
务必复习到位。
1、关于进制及码制转换
例:
进制转换(1101.0101)2=(13.3125)10
(37.43)10=(100101.01101)2要求小数点后取5位
(45.625)10=(1011101.101)2
(1109.385)10=(2125.305)8
(7.44)8=(7.5625)10
(1A.08)16=(26.03125)10
码制转换
原码表示法
v
(1)表示方法:
最高位表示数的符号,其他位表示数值位。
▪符号位:
0-正数,1-负数。
▪数值位:
与绝对值相同。
v对于定点整数:
▪若X=+X1X2……Xn,则[X]原=0,X1X2……Xn;
▪若X=-X1X2……Xn,则[X]原=1,X1X2……Xn。
v对于定点小数:
▪若X=+0.X1X2……Xn,则[X]原=0.X1X2……Xn;
▪若X=-0.X1X2……Xn,则[X]原=1.X1X2……Xn。
v例1:
X=1011,Y=-1011,则:
[X]原=0,1011;[Y]原=1,1011;
v例2:
X=0.1101,Y=-0.1101,则:
[X]原=0.1101;[Y]原=1.1101;
v例3:
X=1011,Y=-0.1101,求X和Y的8位原码机器数。
[X]原=0,0001011;[Y]原=1.1101000;
▪[+0]原=00…0[-0]原=10…0
反码表示法:
v例1:
X=1011,Y=-1011,则:
[X]反=0,1011;[Y]反=1,1011;
v例2:
X=0.1101,Y=-0.1101,则:
[X]反=0.1101;[Y]反=1.0010;
v例3:
X=1011,Y=-0.1101,求X和Y的8位反码机器数。
[X]反=0,0001011;[Y]反=1.0010111;
▪[+0]反=00…0[-0]反=11…1
补码表示法:
▪
(1)表示方法:
最高位为符号位,其他位为数值位。
▪符号位:
0-正数,1-负数。
▪数值位:
正数时,与绝对值相同;负数时,为绝对值取反后,末位加1。
▪对于定点整数:
▪若X=+X1X2……Xn,则[X]补=0,X1X2……Xn;
▪若X=-X1X2……Xn,则[X]补=1,X1X2……Xn+1。
▪对于定点小数:
▪若X=+0.X1X2……Xn,则[X]补=0.X1X2……Xn;
若X=-0.X1X2……Xn,则[X]补=1.X1X2……Xn+0.00……1。
v例1:
X=1011,Y=-1011,则:
[X]补=0,1011;[Y]补=1,0101;
v例2:
X=0.1101,Y=-0.1101,则:
[X]补=0.1101;[Y]补=1.0011;
v例3:
X=1011,Y=-0.1101,求X和Y的8位补码机器数。
[X]补=0,0001011;[Y]补=1.0011000;
▪[+0]补=00…0[-0]补=00…0
2、检错纠错码掌握奇偶效验码
奇偶校验码:
通常是为一个字节补充一个二进制位,称为校验码,通过设置校验码的值为0或1,使字节自身的8位和校验码为1值的位数一定为奇数或偶数。
在使用奇数个1的方案进行校验时,称为奇校验;反之则称为偶校验。
这种方案只能发现一位错或奇数位错,但不能确定是哪一位错,也不能发现偶数个位出错。
校验位的值是取0还是1,是由数据位中1的个数,是奇校验还是偶校验共同决定的。
3、了解ASCii码表
使用得最多、最普遍的是ASCII字符编码,即AmericanStandardCodeforInformationInterchange
128个编码,最高位为0.
A的ASCII码是1000001,即65;a的ASCII码是1100001,即97;0的ASCII码是0110000,即48。
4.定点数的原码反码补码
1的原码(8位):
0000_0001
反码、补码跟原码一样。
-1的原码(8位):
1000_0001
反码:
1111_1110
补码:
1111_1111
0有+0和-0之分
+0的原码(8位):
0000_0000
反码、补码同。
-0的原码(8位):
1000_0000
反码:
1111_1111
补码:
0000_0000
正数的原码、反码、补码一样;
负数的原码就是{符号位1,绝对值原码},反码等于符号位除外的各位取反,补码等于反码加1
5、浮点数的表示方法,尤其是规格化浮点数。
掌握。
要考
浮点数N的构成:
(M被称为浮点数的尾数,R被称为阶码的基数,E被称为阶的阶码。
例:
11.0101=》0.110101*2^2
0
0
0010
11010100
规格化浮点数:
规定计算机内浮点数的尾数部分用纯小数形式表示,而且当尾数的值不为0时,其绝对值应大于或等于0.5
6、补码加减法及其电路。
尤其在溢出判断上面要注意。
v对于加减运算,可能发生溢出的情况:
同号(两数)相加,或者异号(两数)相减。
v确定发生溢出的情况:
▪正数相加,且结果符号位为1;
▪负数相加,且结果符号位为0;
▪正数-负数,且结果符号位为1;
▪负数-正数,且结果符号位为0;
常用的判溢方法(补码加减运算)
v
(1)单符号位判溢方法
▪当最高有效位产生的进位和符号位产生的进位不同时,加减运算发生了溢出。
▪V=C1⊕Cf
v
(2)双符号位判溢方法
▪X和Y采用双符号位补码参加运算,正数的双符号位为00,负数的双符号位为11;当运算结果的两位符号Sf1Sf2不同时(01或10),发生溢出。
▪V=Sf1⊕Sf2=Xf⊕Yf⊕Cf⊕Sf
▪Sf1Sf2=01,则正溢出;Sf1Sf2=10,则负溢出。
补码加减法的电路:
减法电路是将Y3取反,C0=1
检查溢出:
先将C4,X3,Y3异或,再将它们异或的值与F3异或(本来应该是F3与C3异或的,但是C3无法抽出)
7、原码乘除法及其电路。
原码乘法:
见书上摘记P89上半部分
原码除法:
见书上摘记P87下半部分
原码恢复余数法:
1.上面添0;2.还原;3.下面后面添0
被除数被余数所替代,除数不变(左移)
原码不恢复法:
例:
一浮点数的阶码为6位(包括一位阶符),尾数为10位(包括一位数符),阶码与尾数均采用补码表示,阶码的底为2。
写出X与Y的规格化浮点数。
(1)X=-123.25
(2)Y=34/128
解:
(1)X=(-123.25)10
=(-1111011.01)2
=-0.111101101×2+7
▪EX=+7=(+00111)2,MX=-0.111101101
▪[EX]补=000111,[MX]补=1.000010011
▪则:
[X]浮=1000111000010011
(2)Y=(34/128)10
=(0.010001)2
=0.10001×2-1
▪EY=-00001,MY=0.100010000
▪[EY]补=111111,[MY]补=0.100010000
▪则:
[Y]浮=0111111100010000
课后练习:
11、12
10.写出下面2组数的原、反、补表示,并用补码计算每组数的和、差。
双符号位的作用是什么?
它只出现在什么电路之处?
(1)X=0.1101 Y=-0.0111
(2)X=10111101Y=-00101011
双符号位能容易检查加减运算中的溢出情况。
只有在算术与逻辑运算部件中采用双符号位。
第四章:
运算器部件
1、运算器基本功能
●完成算术、逻辑运算
●取得操作数:
寄存器组、立即数
●输出、存放运算结果:
寄存器组、数据总线
●暂存运算的中间结果:
Q寄存器、移位寄存器
●获得运算结果的状态:
C、Z、V、S
●理解、响应控制信号
2、计算机组成
●1个算术逻辑运算部件ALU
●16个通用寄存器
●1个乘商寄存器Q
●5组多路选择门
能完成的功能
●8种运算功能
●8种数据组合
●8种结果处
3、Am2901内部组成
4、ALU完成功能需要的控制信号
●数据组合(I2I1I0)
●功能代码(I5I4I3)
●结果处理(I8I7I6)
●A口地址
●B口地址
●最低位进位控制信号(SCi)
●状态寄存器接收信号(SST)
●移位控制信号(SSH)
课后练习:
1.解释定点运算器的功能和组成部件?
以Am2901芯片为实例,来介绍定点运算器的有关知识,你的认知程度如何?
答:
定点运算器的功能与组成
●⑴对数据进行算术运算和逻辑运算,给出结果某些特征;
●⑵暂存参加运算的数据和中间结果;
●⑶可用硬件完成乘除运算;
●⑷接受外部数据的输入,送出运算结果;
●⑸与计算机其他部件协同工作运算器的组成:
①算术与逻辑运算部件;②通用寄存器;③乘商寄存器;④多路选择器;⑤输入/输出逻辑电路。
5在运算器部件中,为什么要设置一个乘商寄存器?
它与运算器部件中的累加器有哪些不同之处?
●为了用硬件线路完成乘除指令运算,运算器内一般还有一个能自行左右移位的专用寄存器,通称乘商寄存器。
●运算器内的通用寄存器与乘商寄存器的差异表现在:
通用寄存器是暂存将参加运算的数据和中间结果,这些寄存器可被汇编程度员直接访问与使用;乘商寄存器由计算机内部设置,不能为汇编程序员访问。
6运算器内的乘商寄存器的移位操作与通用寄存器的移位操作之间应有什么样的关联关系吗?
为什么会是这样?
●乘除寄存器的移位操作与通用寄存器的移位操作是联合移位,没有乘除寄存器单独移位功能。
当通用寄存器本身移位时,乘除寄存器不受影响。
8.以教学计算机为例,说明应如何控制与操作运算器完成指定的数据运算、传送功能,为什么必须在Am2901芯片之外解决向运算器提供最低位的进位信号,最低、最高位的移位输入信号,以及状态位的接受与记忆问题。
设计完成如下操作功能的操作步骤和必须提供的信号:
把100送入R0,R0的内容送入R1,完成R0-R1并存入R0,R1的内容减1,R1的内容送入Q,R1和Q与C联合右移一位。
●在教学计算机中,为控制运算器完成指定的数据运算、传送功能,必须给出要用的数据组合、ALU要完成的运算功能、和对运算结果的保存及送出办法;
●选择送到ALU最低位的进位信号的状态,如何处理最高、最低位的移位信号的状态,是否保存运算结果的特征位信号等问题,都要依据指令执行的实际需求来处理,不是运算器内部功能所能包含的,故只能到Am2901芯片之外来解决。
第五章、指令系统
1、指令格式
v操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分
v操作数是指令执行的参与者,即各种操作的对象
例:
ADDA,B(一个,两个,无。
。
。
)
A=>目的操作数,存放指令、操作系统
B=>源操作数
A,B=>地址码字段
2、常用寻址方式
立即数寻址:
操作数在指令字中给出,即指令字中直接给出的不是操作数地址,而是操作数本身。
例:
直接寻址:
在指令的操作数地址字段直接给出操作数在存储器中的地址。
例:
MOVA[2000H]
寄存器寻址:
操作数位于寄存器中,操作数所在的寄存器编号存放在指令的地址字段A中。
间接寻址:
A[B]B中数据代表一个地址,这个地址所指向的存储单元的数据。
堆栈寻址:
后进先出
3、常用指令以课本tec2000系统为例
算术与逻辑类指令(ADD、SUB、AND、OR、XOR、CMP、TEST、DEC[-1]、INC[+1]、NOT)
输入输出类指令(IN,OUT)对外部设备端口的操作
数据传送类指令(MVRR,MVRD)MVRDR0,00数据与寄存器MVRRR0,R1寄存器与寄存器
移位类指令(SHL左移、SHR右移)
改变程序执行流程类指令(JR转移)
RET结束
4、看懂简单汇编程序
5、了解CISC(复杂指令系统计算机)和RISC(精简指令系统计算机)指令系统。
答:
区别:
CISC因为指令复杂,指令功能齐全,硬件实现复杂,指令条数多,并行度差。
RISC因为指令功能简单,指令格式规整,指令条数少,实现简单,并行性高。
主要目标:
CISC:
追求指令系统的功能复杂和完备,以弥补高级语言程序和机器语言程序之间的差异
RISC:
追求指令系统的精简高效,精简高速的硬件组成,精妙智能的编译软件,达到低价高性能的理想目的
见书本P119
例子:
用汇编写出1+。
。
。
+10=?
第六章、计算机控制器
1、控制器的功能、组成。
尤其掌握PC程序计数器的使用
控制器的功能:
执行一条指令,通常要经过读取指令、分析指令、执行指令所规定的处理功能三个阶段才能完成,这是在控制器的控制下实现的。
控制器还要保证计算机能按程序中设定的指令运行次序,自动地连续执行指令序列(整个代码)。
控制器的组成:
●程序计数器(PC):
用于提供指令在内存中的地址的部件,服务于读取指令,可进行内容加1和接受新的指令地址,并给出下一条将要执行的指令的地址。
指示指令在内存中的位置
•顺序:
PC=PC+1
•转移:
PC先做PC+1,再用转移指令所得到的转移指令地址修改PC。
•比如:
JMP2000
●指令寄存器(IR)
●步骤标记线路
●控制信号保存或形成线路
2、一条指令的执行步骤。
一条指令的执行过程包括读取指令、指令译码和读寄存器组、ALU执行运算、读写内存或接口、数据写回寄存器组5个步骤。
3、一段程序的执行步骤。
正确从程序首地址开始;
正确分步执行每一条指令,
并形成下条待执行指令的地址;
正确并自动地连续执行指令,
直到程序的最后一条指令。
4、组合逻辑控制:
组成和运行原理(书本P150-P152)
基本运行原理:
使用大量的组合逻辑门电路,直接提供给计算机各功能部件协同运行所需要的控制信号。
这些门电路的输入信号是指令操作码、指令执行步骤编码,或许还有其他的控制条件,其输出的一批信号就是给计算机各功能部件的控制信号。
节拍发生器的功能,以一条指令为例如ADDR0R1分析指令的执行过程。
课本P166教学计算机的基本指令流程图、171流程表。
对硬连线控制器,指令不同的执行步骤使用节拍发生器给出的几位节拍信号来区分的,需要为指令的每一个执行步骤分配确定的节拍状态信号。
节拍发生器(时序逻辑电路)
5、微程序控制器组成和运行原理。
(见书本P176-178)
微程序控制器组成:
程序计数器PC,指令寄存器IR,控制存储器和微指令寄存器,微指令下的地址线路(用于向控制存储器提供读操作使用的地址,解决读出和执行微指令的次序。
(下地址线路))
其中要掌握:
指令、程序、微指令和微程序的一些概念。
6、以ADD为例,通过微程序控制器如何实现对这条指令的执行过程。
课本190、191、192控制器课件3
7、以ADD为例解释组合逻辑控制器和微程序控制器的区别和共同点。
8、自己去查阅流水线概念。
第七章存储器系统
1、存储器概述
●什么是存储器?
用于存放正在运行中的程序和相关数据。
●操作:
存储器读操作:
从存储器取出数据,又称为读出。
存储器写操作:
向存储器存放数据,又称为写入;
●概念:
存储单元:
存储二进制信息的部件,每个单元可以存放一个字或字节的信息,存储器就是存储单元的集合。
单元地址:
存储单元的编号,是区分存储器中不同存储单元的唯一标志。
2、解释CPU和存储器之间的信息交互如何实现的。
当按字节寻址时,20位的地址可以访问1MB的存储空间,32位的地址访问4GB的储存空间。
3、层次存储器系统:
各性能指标、运行原理(回答为什么要用层次存储结构)、必须遵从的原则。
各性能指标:
存储容量,存储速度,存储器的价格,可靠性,功耗
运行原理(回答为什么要用层次存储结构):
同时满足CPU对存储器系统在速度、容量两方面的要求。
必须遵从的原则:
一致性原则,包含性原则(处在内层[更靠近CPU]存储器中的信息一定被包含在各外层的储存器中,即内层[更靠近CPU]存储器中的全部信息一定是个外层存储器中所存信息中一小部分的副本)
4、程序运行的局部性原理
●时间方面,在一小段时间内,最近被访问过的程序和数据很有可能被再次访问。
●空间方面,这些最近访问过的程序和数据往往集中在一小片存储区域中。
●指令执行顺序方面,指令顺序执行比转移执行的可能性要大。
5、主存:
SRAM和DRAM(只读存储区(ROM),读写存储区(RAM))
●他们之间的区别
从所用的半导体生产工艺区分,存储器芯片又可以分为静态存储器和动态存储器两种类型。
由于动态存储器集成度高,生产成本低,被广泛用于实现对容量要求较高的主存储器。
由于静态存储器读写速度快,生产成本高,通常用来实现容量可以较小但速度要求较高的高速缓冲存储器。
●SRAM的字扩展和位扩展。
必考
1K*41k=1024byte=2^10byte,10条地址线
4位,4条数据线
该存储器的容量为4096个字,每个字的字长为16位。
存储器芯片选用有2048个存储单元、每个存储单元由8位组成的静态存储器芯片LS6116,为此,必须用两块芯片实现由2048个存储单元扩展容量到4096个存储单元(字扩展),再用两块芯片实现由8位长度扩展长度到16位字长(位扩展),共用4片芯片。
位扩展:
•需要在位方向扩展8倍,而字方向无须扩展。
•解决方法:
各芯片上的地址线及其读写控制线对应相接(并联),而数据线单独引出。
字扩展:
•字扩展是容量的扩充,而位数不变。
•解决方法:
芯片的地址线、读写控制线等引脚对应相接(并联),片选信号则分别与外部译码器的各个译码输出端相连
见书本摘记P228下半部分摘记及229上半部分摘记
6、CACHE工作原理和三种映射关系。
重点。
必考
书本P263(CACHE工作原理)
书本及书本摘记P264(直接映射方式)
组相连映射(组间模映射,组内全映射)
将cache分为v组,每组包含k个块。
主存块和cache块的对应关系:
m=v*k,i=jmodv(i为cache的组号,j为主存中的块号,m为cache中的块数)
课后练习:
1.在计算机中,为什么要采用多级结构的存储器系统?
它们的应用是建立在程序的什么特性之上的?
⏹答:
在现代的计算机系统中,通常总是采用由三种运行原理不同,性能差异很大的存储介质分别构建高速缓冲存储器、主存储器和虚拟存储器,再将它们组成三级结构的统一管理、高度的一体化存储器系统。
由高速缓冲存储器缓解主存储器读写速度慢,不能满足CPU运行速度需要的矛盾;用虚拟存储器更大的存储空间,解决主存储器容量小,存不下更大程序与更多数据的难题。
⏹这种三级结构的存储器系统的运行原理,是建立在程序运行的局部性原理之上的。
即在一小段时间内,运行