《计算机组成与体系结构(原书第4版)》 —3.4.3 汇总:从问题描述到电路
3.4.3 汇总:从问题描述到电路
现在我们理解了如何通过布尔表达式来表示函数,如何化简布尔表达式,以及如何使用逻辑图来表示布尔表达式。下面综合这些技能从头到尾来设计一个逻辑电路。
例3.10假设任务是设计一个逻辑电路以帮助确定花园种植的最佳时机。调查3种可能因素:(1)时间,其中0表示白天、1表示晚上;(2)月相变化,其中0表示半月、1表示满月;(3)温度,其中0表示45(1=5/9℃)及以下、1代表45及以上。以上3个因素代表输入。认真调研后,确定最佳的花园种植时机是满月的晚上(温度似乎无关紧要)。这将得到以下真值表:
当输入为“夜间”和“满月”时,将输出列设置为1,而表中其他地方设置为0。将真值表转换为布尔函数F,得到F(x,y,z)=xyz′+xyz(使用例3.9中提出的类似方法:包括函数计算结果为1的项)。现在简化F并使用吸收律得到:F(x,y,z)=xyz′+xyz=xy 因此,该函数是使用x和y作为输入的与门。
设计一个布尔电路的步骤如下:(1)认真阅读问题确定输入和输出值;(2)建立一个真值表以显示出对于所有可能输入的输出;(3)将真值表转换成布尔表达式;(4)简化布尔表达式。
例3.11假设你负责设计一个电路,以便让你的大学校长根据天气状况来决定是否关闭学校。如果公路部门还没有用盐处理道路,而且道路上有冰,校园应该关闭。不管道路上是否有冰或盐,只要有大于8in(约20cm)厚的雪,校园应关闭。在其他情况下,校园应该开放。
有3个输入:冰(或无冰)、盐(或无盐),以及道路上超过8in的雪(或没有),从而产生以下真值表:
利用真值表得到布尔表达式F(x,y,z)=x′y′z+x′yz+xy′z′+xy′z+xyz。可以使用布尔定理化简表达式如下:
F(x,y,z)=x′y′z+x′yz+xy′z′+xy′z+xyz
=x′y′z+x′yz+xy′z+xyz+xy′z′ (交换律)
=x′(y′z+yz)+x(y′z+yz)+xy′z′ (使用两次分配律)
=(x′+x)(y′z′+yz)+xy′z′ (分配律)
=(y′z′+yz)+xy′z′ (逆等律/同一律)
=(y′+y)z+xy′z′ (分配律)
=z+xy′z′ (逆等律/同一律)
留给读者画出与z+xy′z′对应的逻辑图。一旦电路已用硬件实现,所有大学校长只需要设置当前输入的条件,输出就会告诉他是否关闭校园。
- 点赞
- 收藏
- 关注作者
评论(0)