计算机系统基础(三)——运算电路基础

数字逻辑电路基础

运算电路基础

关于0和1的一套数学运算体系称为布尔代数。
真值表:反映输入和输出之间的关系。异或运算。
在这里插入图片描述
一位逻辑门电路
在这里插入图片描述
组合逻辑部件
组合逻辑电路:没有存储功能,其输出紧依赖于当前输入
时序逻辑电路:具有存储功能,其输出不仅依赖于当前输入,还依赖于存储单元的当前状态
可以利用基本逻辑门电路构成一些具有特定功能的组合逻辑部件(功能部件)如译码器、编码器、多路选择器、加法器
实现一个功能部件的过程

  • 用一个真值表描述功能部件的输入和输出之间的关系
  • 根据真值表确定逻辑表达式
  • 根据逻辑表达式实现逻辑电路

多路选择器
在这里插入图片描述

数字逻辑电路基础

一位加法器(全加器)

在这里插入图片描述
加法由逻辑部件实现,而其他所有算术运算部件都基于加法器和逻辑运算实现,
因此,所有算术运算是基于0和1以及逻辑运算实现的。

n位加法器实现的是n位无符号的加运算
输入包括一位低位进位Cin和两个n位的加数A、B
所有算术运算部件都是基于n位加法器构成

n位带标志加法器
在这里插入图片描述

n位整数加/减运算器
在这里插入图片描述
算术逻辑部件(ALU)
在这里插入图片描述

从C语言表达式到逻辑电路

C语言支持的基本数据类型

从C表达式到运算类指令

基本数据类型

  • 无符号数(二进制位串)、带符号整数(补码)

  • 浮点数(IEEE 754标准)

  • 位串、字符(串)(ASCII码)
    基本运算类型

  • 算术(+ - * / > == !=)

  • 按位(| & ~ ^)

  • 逻辑(|| && !)

  • 移位(<< >>)

  • 扩展和截断

从运算类指令到运算电路

在这里插入图片描述

C语言中各类运算

在这里插入图片描述

算术运算

在这里插入图片描述

按位运算

逻辑运算

在这里插入图片描述

移位运算

在这里插入图片描述

在这里插入图片描述

截断和扩展运算

在这里插入图片描述
在这里插入图片描述

整数加减运算

补码加减运算器

  • 指针、地址等通常被说明为无符号整数,因而在进行指针或地址运算时,需要进行无符号整数的加、减运算
  • 无符号整数和带符号整数的加、减运算电路完全一样,这个运算电路称为整数加减运算部件,基于带标志加法器实现
  • 计算机中的加法器,因为只有n位,所以是一种模2^n运算系统。

在这里插入图片描述

在这里插入图片描述
带符号溢出:最高位和次高位的进位不同;和的符号位和加数的符号位不同
无符号减溢出:差为负数,即借位CF=1
20
做减法以比较大小,规则:
Unsigned:CF=0,大于
Signed:OF=SF时,大于

无符号整数加法溢出判断程序

带符号整数加法溢出判断程序

在这里插入图片描述
当两个符号相同的数相加,结果的符号与之相反,则OF=1,否则OF=0. 2.当两个符号不同的数相减,结果的符号与减数相同,则OF=1,否则OF=0.

在这里插入图片描述

/*
无符号整数加法溢出判断程序
发生溢出时,一定满足result < x and result < y
否则,若x+y-2^n >= x, 则y >= 2^n,这是不可能的
*/
int uadd_ok(unsigned x, unsigned y)
{
	unsigned sum = x + y;
	return sum >= x;
}
/*
带符号整数加法溢出判断程序
*/
int tadd_ok(int x, int y)
{
	int sum = x + y;
	int neg_over = x < 0 && y < 0 && sum >=0 //相减小于-256
	int pos_over = x >= 0 && y >= 0 && sum < 0; //两个数相加小于256
	
	return !neg_over && !pos_over
}

在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值