导图社区 计算机组成原理期末复习路线
此文档是我自己总结,汇总了计算机组成原理的期末复习路线和重要知识点、题型,有需要的朋友收藏下图参考消息吧!
编辑于2022-05-09 09:20:29计算机组成原理期末复习路线(其一)(上)
1.第一章:计算机概论
1.冯诺依曼结构特点
1°二进制表示信息(数据和指令采用二进制)
2°存储程序的工作方式(核心)
3°五大部件:运算器、控制器、存储器、IO设备
*世界上第一台计算机ENIAC不是存储程序的计算机
2.计算机的硬件组成
1°CPU=运算器+控制器
2°主机=CPU+主存储器(RAM和ROM)
*计算机硬件的连接方式:总线
3.计算机的总线结构
单总线是最简单的总线结构(系统总线):
1°地址总线AB:单向,由CPU向主存、外设输入地址信息
2°控制总线CB:双向,传输的是CPU向主存、外设的控制命令 和 主存、外设向CPU的反馈信号
3°数据总线DB:双向,CPU可以向主存、外设读取数据,也可以向它们传输数据
4.计算机的存储器系统
主存储器(RAM、ROM)
外存储器(硬盘、光盘、U盘等)
Cache高速缓冲存储器
5.易错概念
对计算机的软硬件资源进行管理,是操作系统的功能
在用于科学计算的计算机中,标志系统性能的主要参数是MFLOPS
计算机运算速度是指每秒能执行多少条指令/浮点运算
2.第二章:数据的机器层次表示
1.数值数据的表示
无符号数:机器字长为n+1位的无符号数的表示范围是0~2^(n+1)-1
有符号数:符号位不参与运算
1.真值:带正负号的数
2.机器数:符号数字化的数
原码
反码
补码
模:字长位n+1位的纯整数的模是2^n+1
*三种机器数间的转换关系: x为正数,[x]原=[x]反=[x]补 x为负数,[x]反=[x]原xs不变,其余按位取反,[x]补=[x]反+1
2.机器数的定点表示与浮点表示
定点数
定点整数(假设机器字长为n+1位)
原码:-(2^n-1)~2^n-1
反码:-(2^n-1)~2^n-1
补码:-2^n~2^n-1
定点小数(假设机器字长有n+1位)
原码:-(1-2^n)~(1-2^n)
补码:-1~1-2^n
*补码表示定点小数最小值为-1,表示为1.0000000
浮点数
表示:N=M*r^E
E为阶码部分,带符号位,移码下最大为1111(n=4),最小为0000(n=4)
M是尾数部分,带符号位,纯小数
r是基数,通常r=2
*浮点数的取值范围由阶码的位数决定,浮点数的精度由尾数的位数决定
浮点数的表示范围
浮点数的规格化
基数为2
原码
无论正负,m1=1
补码
无论正负,ms⊕m1=1
为其他基数时,只需保证规格化后的尾数1/r<=|M|<1
3.非数值数据的表示
字符和字符串的表示
ASCII码:标准为7位,使用最广泛
汉字的表示
区位码:20-26 <=> 141AH(首先换算成十六进制)
国标码:国标码=区位码+2020H
机内码:机内码=国标码+8080H
十进制数的表示
BCD(二进制编码的十进制数)
8421码
2421码
4.数据校验码
5.易考大题
1.IEEE短浮点数和十进制数的转换
E=阶码真值+偏置量(127)
数值的最高位总是1(隐含)
2.给定机器字长写出定点整数和浮点数的表示范围
1°补码表示定点整数的最小值比原码/反码多一位
其原因是真值0的补码表示形式只有一种,所以规定多出来的代码来表示最小值 如 -1000作补码的真值是 -8 -1000作反码的真值是 -7 -1000作原码的真值是-0
2°补码表示定点小数的最小值是-1
原因与1°大致相同
3°无符号数表示的最小值是0
3.海明校验码/循环冗余校验码
海明校验码
1°判断标志位的位数2^K>=N+K-1
2°从P1起,划1隔1
3°从P2起,划2隔2
4°从P3起,划4隔4
···以此类推
*若P4/P5前没有D,则需保证之前出现的每个D的出现次数相同
P1~Pn均作异或运算
计算机组成原理期末复习路线(其一)(下)
3.第三章:指令系统
1.指令格式
1°操作码OP
操作+寻址特征MOD字段(配合寻址方式)
长度固定(IBM360/370)/长度不固定(PDP-11)
2°地址码A
显示
三地址指令:OP|A1|A2|A3
两个源操作数地址+存放结果的地址
二地址指令:OP|A1|A2
两个源操作数的地址,将结果存放到其中的一个地址里
一地址指令:OP|A1
单目运算比如取反操作(自加1),A1既是源操作数的地址,也是存放结果的地址
双目运算比如相加减,需借助ACC累加器,一个源操作数存放在A1,一个源操作数存放在ACC中,结果也存放至ACC中,采用立即寻址。
零地址指令:OP
NOP空指令操作,不需要操作数,堆栈指令如push、pop操作数隐含在堆栈里
隐式
地址码中的内容
源操作数地址
主存地址M
寄存器地址R
I/O设备地址
源操作数I(立即数)
目标操作数地址
下一条指令的地址
*通常考一个设计指令的大题,请移步至打印资料或课本的大题进行复习
2.寻址方式(指令给出操作数或操作数的有效地址的方式) 形式地址A-----------(寻址方式)----------->有效地址EA
1°立即寻址
地址码直接给出操作数 EA=操作数
不必访问主存,速度快
受指令长度限制,灵活性差
2°直接寻址
地址码给出的是操作码所在存储单元的地址 A=EA,则S=(A)
3°间接寻址
A为操作数地址的地址,S=((A))
扩大了指令寻址范围
多级间接寻址寻找操作数需要花费大量时间
4°寄存器寻址
道理同直接寻址,只不过直接寻址从主存中取操作数, 这里是从寄存器中取操作数。
从寄存器中存取数据比主存快得多
缩短了指令的长度且提升了执行速度,几乎所有的计算机都使用了寄存器寻址
5°寄存器间接寻址
A是存放操作数地址的主存单元的地址S=((Ri))
6°变址寻址
EA=(Rx)(偏移量)+A(首地址) S=((Rx)+A)
变址寻址是面向用户的一种寻址方式,变址寄存器的内容由用户确定,在程序执行过程中可以修改
只需修改变址值,对于数组和字符串的修改很便利
7°基址寻址
EA=(Rb)(首地址)+D(偏移量) S=((Rb)+D)
基址值由操作系统或管理员确定/修改
适用于多用户的计算机系统
8°相对寻址
EA=(PC)+A(相对偏移量)
A可正可负且用补码表示
适用于浮动程序设计,放在主存中的任意位置都无影响
9°堆栈寻址
※SP
先进后出,SP指向栈顶的空单元,栈底固定不变
零地址指令如POP/PUSH就是堆栈指令,其操作数隐含为栈顶元素
10°页面寻址
将整个主存空间分为若干个大小的区,每个区称为一页
标志位Z/C=1 表示当前页寻址,Z/C=0 表示0页寻址
3.堆栈与堆栈操作
寄存器堆栈(硬堆栈)
栈顶固定
寄存器组中各寄存器相互连接
存储期堆栈(软堆栈)
栈顶的大小可变,栈底固定,栈顶浮动,用专门的硬件寄存器作为堆栈的栈顶指针,简称栈指针SP
自底向上生成(向低地址方向生成)
进栈: (SP)-1->SP (A)->(SP)
出栈: ((SP))->A (SP)+1->SP
自顶向下生成(向高地址方向生成)
进栈先令SP+1->SP,再压入数据
出栈先弹出数据,再SP-1->SP