目录
一,奇偶校验码
1.原理:(奇校验)给原本的数加一位,使得结果是奇数个1;若发送过中有一位发生错误,传过来就有偶数个1,说明错误;但是如果有两个同时发生错误就不能被检测出来
2.奇校验硬件实现:各信息进行异或运算
自己举例子试着看能得到谁
接收方同样是异或运算
二,电路的基本原理&&加法器设计
1.算术逻辑单元ALU
(1)操作:算数+逻辑+辅助功能
辅助:移位
(2)大致结构
实例:
①右边是控制信号,负责判断进行什么操作;右边的五个分别是s0~s4四位,说明可以进行16中算术运算和16中逻辑运算,M进行判断是算术运算还是逻辑运算
②下面两个分别是两个四位的输入数字,上面是四位输出
2.最基本的逻辑运算
(1)从左到右分别是与或非
(2)与运算的优先级比或高
逻辑表达式的优化实际上就是电路的优化
(3)复合逻辑
与非 或非 异或
异或逻辑:
(4)用门电路求奇偶校验
就是把表达式的异或转到图中
3.加法器
(1)一位加法器![](https://img-blog.csdnimg.cn/direct/c5f8981af9d14aa29df0ef7fa2acd3ec.png)
①一位加法器:就是左上角那样相加,A1代表第一位
②右上角的输入输入看看分别是什么
注意L输出si:可以观察到输入有奇数个1时:结果是1,这跟逻辑异或是一个道理,所以可以将这些全部异或,得到结果si;ci我们也有公式,ab都是1,那肯定要进位,ab有一个是1,前一个进位是1也要进位,这两种情况构成ci
③左下角的图形就是根据公式推出来的
④右下角是简化之后的,相当于封装
(2)串行加法器
顾名思义:一位一位加
①样子
输入AiBi本位在si输出,进位保存在进位触发器中,再传给Ci-1,然后在输入AiBi,用进位触发器传来的ci-1去相加
②效率有点低
(3)串行进位的并行加法器
虽说AiBi早就准备好了,同时输入了,但电信号传递也要时间,就是说ci传递也要传递,传过来又进位就要改变,只有低位信号确定了我们才能确定本为和和更高位的进位。
(4)并行进位的并行加法器
一张图:
就这?
之前说虽说ab可以立马输入但是信号传递需要时间,我们改进它
我们将直接算出每个c,不中转,右下角的每个进位都可以用初始表示,因此只要输入AB就立马算出结果,但是问题是越多电路越复杂,我们一般就是四位,右上图所示,四个一位加法器就行了
三,补码加减运算器
1.原理
①算的时候讲cin的1bit加到最低位
cout的一位是溢出的一位
②若串联两个加法器,则可以位扩展,因为右边的低位会传到左边
2.实现减法:
(1)有符号
(2)无符号
无符号的逻辑和有符号相同,都是加法直接相加,减法全部按位取反后加一
所以使用相同的电路即可
但是我们发现溢出的情况不同
3.符号位
四,加减法运算+溢出判断
1.加减法运算
(1)原码
原码只拿非符号位运算,符号位自己判断
(2)补码
符号位参与运算
2.溢出
(1)溢出的判断
自我感觉就是相加进位到符号位
(2)计算机如何处理?
实际上就是结果和原数符号不同
①
硬件电路:与或非门即可
②:符号位和最高数值位只有一个进位时,会发生溢出。
图中红色部分时进位位
电路设计:异或即可
③双符号位:双符号位是01 10时候,表示溢出,此外双符号位的第一位表示原本应该的符号
补充:
双符号位补码是模4补码,因为符号位占两个,符号位%4得到符号位本身 单符号位补码是模2补码
3.符号扩展
扩展之后具体扩展位是多少
4.移位运算:
类比十进制移位运算,100→10.除以10就好,那么二进制右移一位除以2
(1)原码:
(2)反码
(3)补码
补码特性:
总结:
注意他未必是非常精确的
(4)逻辑移位运算
不管符号位,直接移动就好
(5)循环移位
移出来的一位转到右边空位
可以高低字节调换 (循环右移8位)
五,乘法
原码part
1.手算
2.实质
2.机器实现
具体在运算器内实现
录音讲解
上传不了呀
补码part
1.区别
2.具体运算
六,除法
1.除法实质:y=ax+b![](https://img-blog.csdnimg.cn/direct/7433eba67dba4b5e85e27fb5b47f9fac.png)
2.原码的恢复余数法
https://download.csdn.net/download/m0_58765395/88796461?spm=1001.2014.3001.5501
3.原码的不恢复余数法
https://download.csdn.net/download/m0_58765395/88796487
4.补码的不恢复余数法
(1)区别:
①双符号位②符号位参与运算
(2)步骤
step1:被除数除数同号就减异号就加
step2:余数除数同号:商1+左移+减除数
余数除数异号:商0+左移+加除数
最后一位横置0
七,强制类型转换
其实就是
①等长度的有无符号转换:直接换转解释,数据内容不变,就解释补码
②长→短:暴力保留低位
③短→长:直接补高位他的正负号
八,数据存储和排列
1.大小端方式
为什么便于机器处理,因为机器从低位地址读取到高位地址,有时候相加,应该从数据最低为开始相加
2.边界对齐
字和字节的转换;边界对齐有助于一次访存,边界不对齐填充有助于节省空间;(空间换时间)