计算机组成原理
基本概念
内存
MAR 地址寄存器 位数反映存储单元数量
MDR 数据寄存器 位数等于字长
运算器
ACC 累加计数器
MQ 乘商寄存器
X 通用寄存器
ALU 算数逻辑单元 实现运算步骤
控制器
PC 程序计数器 存放下一指令地址
IR 指令寄存器 存放当前执行的指令
CU 控制单元,分析指令,给出控制信号
一般工作过程 指令存入 pc指向第一条指令 IR读取指令 PC加一 CU分析,指挥部件运行
五层结构 :高级语言 汇编语言 操作系统 机器语言 微指令
CPI 执行一条指令所需的时钟周期数
IPS 每秒执行指令数
FLOPS 每秒浮点运算数
进制转换 依据实际数据进行组匹配,不足则补位
二转八 为3位 转十六则为4位
BCD码
用于二进制和十进制的快速转化
4bit—>16状态 足以表示0-9十个状态
8421码 4个比特的权重分别为8421
985 1001 1000 0101
BCD加法 为二进制加法
修正算法 若超过十,则加六将个位数字置换出来 同时进一将十位数字表述出来
余三码 在8421的基础上加上0011 位次与权值并不固定
2421码 同8421码权值定义 为避免歧义发生 5之后的数字首位必为1
字符与字符串
英文 ascll码
中文 GB2312-80 使用区位码与坐标融合 区位码加20h 即国标码 国标码加80H转化为汉字内码 使其与ASCLL码可以兼容
原理 加入80H后 最高位即为1 ascll中不存在 即为汉字码
字符串 即为字符连续存储 末尾添加00H (/0)
校验码
码字 若干位代码组成的字叫码字
将码字进行对比,不同的位数为两个码字间的距离
各个合法码字之间的最小距离为码距
奇偶校验位 在信息位首部或者尾部添加一个校验位 表达全部1的个数
奇 使全部1个数为奇数
偶 使全部1个数为偶数
计算机通过异或运算 若为1则错误
海明校验码
通过分组进行偶校验,使得具备纠错能力
具体过程
1 确定校验位个数(k个校验位,n个信息位) 满足 2^k>=n+k+1即可
2 在1 2 4 8 各个位置上填入校验码
各个校验码的校验区间为 pi码包括着第i位上为1的信息位 对其进行偶校验
纠错过程 对于各个校验码进行分组偶校验,求得数据,若求得数据均位0则无误,不为0时,其值即为错误位
为了区分1位错误和2位错误,还需要添加全体校验码对于整体再进行一次校验
CRC校验
由生成多项式来确定一个除数,其位数等于多项式最高次数加一
被除数 K个信息位加上最高次数个0
进行模二除后得到r位余数 K+R即为CRC
校验时其与生成多项式进行模二除即可 其可以检测出所有的奇数个错误,双比特错误与小于等于校验位长度的错误,若生成多项式合适且长度足够,可以检测出单比特错误
ps 快速计算二进制数据的值
若1多,则可以尝试加上小值使其仅位,最后再减去该值,使得计算简便。
定点数的表示