计算机组成原理笔记
一、概论
1.1 计算机系统简介
1.1.1 计算机简介
1.1.2 计算机的基本组成
一、冯·诺依曼计算机的特点
1.计算机由五大部件组成
2指令和数据以同等地位存于存储器,可按地址寻访
3.指令和数据用二进制表示
4.指令由操作码和地址码组成
5.存储程序
6.以运算器为中心
二、系统复杂性管理的方法(3’Y)
一 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
一 模块化( Modularity) :有明确定义( well-defined)的功能和接口
一 规则性(regularity):模块更容易被重用
三、指令和数据都是保存在存储器中的
四、存储器的基本组成
存储体——存储单元——存储元件
存储单元 存放一串二进制代码
存储字 存储单元中二进制代码的组合
存储字长 存储单元中二进制代码的位置每个存储单元赋予一个地址
1.1.3 计算机硬件的主要技术指标
“存储程序”的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,
在计算机系统中,软件和硬件在逻辑上是等效的。
1.1.4 认识各个硬件部件
存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
存储元:即存储二进制的电子元件,每个存储元可存1bit
MAR=4位→总共有24个存储单元
MDR=16位→每个在储单元可存放16bit,
1个字(word)=16bit
易混淆:
1个字节( Byte) = 8bit
1B=1个字节,1b=1个bit
运算器的基本组成
ACC:累加器,用于存放操作数,或运算结果。
MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
X:通用的操作数寄存器,用于存放操作数
ALU:算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算
控制器的基本组成
cu:控制单元,分析指令,给出控制信号
lR:指令寄存器,存放当前执行的指令
pc:程序计数器,存放下一条指令地址,有自动加1功能
二、数据的表示和运算
2.1 计进位计数制
基数:每个数码位所用到的不同符号的个数,r进制的基数为r
2.1.1 二进制 转 八进制、十六进制
2.1.2 各种进制的常见书写方式
2.1.3 十进制→任意进制
2.1.4 真值和机器数
2.2 BCD码
2.2.1 8421码
+0110=>+6(加5会进位)
2.2.2 余3码
2.2.3 2421码
2.3 字符与字符串
2.3.1 ASCII码
2.4 奇偶校验码
由若干位代码组成的一个字叫码字。
将两个码字逐位进行对比,具有不同的位的个数称为两个码字间的距离。
一种编码方案可能有若干个合法码字,各合法码字间的最小距离称为“码距”
硬件的实现:各信息进行异或(模2加)运算,得到的结果即为校验位
2.5 海明校验码
2.5 循环冗余校验码
思想:数据发送、接受方约定一个“除数”
K个信息位+R个校验位作为“被除数”,添加校验位后需保证除法的余数为0
先上最高位然后异或
2.6 定点数的表示
无符号数:整个机器字长的全部二进制位均为数值位,没有筏号位,相当于数的绝对值。
n位的无符号数表示范围为:0 ~2n-1
2.6.1 原码
整数
小数
2.6.2 反码
2.6.3 补码
2.6.4 移码
例子:
2.7 运算
2.7.1 移位运算
1、原码
2、反码
3、补码
2.7.2 加减运算&溢出判断
【-B】补=全反【B】补 + 1
判断溢出:
方法一
方法二
2.8 浮点数
2.8.1 浮点数的表示
2.8.2 IEEE
阶码一共8位
位码一共23位
2.8.3 浮点数加减
- 对齐阶数(阶数小的向大的对齐)
- 尾数加减
- 规格化(左移、右移)
- 舍入(若规定只能保留n位有效尾数 )
- 判断是否溢出(看规定)
三、指令系统
3.1指令格式
3.1.1 指令格式
一条指令通常要包括操作码字段和地址码字段两部分
3.2寻址方式
3.2.1 指令寻址
3.2.2 数据寻址
1、立即寻址
2、立即寻址
3、隐含寻址
4、间接寻址
5、寄存器寻址
6.寄存器间接寻址
7.基址寻址
8、变址寻址
9、相对寻址