0%

计算机组成-布尔代数

这是我在授课的时候总结的,所以显得会比较稚嫩,内容也不太全,但是没时间再花心思整理这个内容了,只能说做题遇见不会的在说吧。

里面的知识还是很有意思的,因为当学完以后就会发现,布尔代数其实跟计组没啥关系,准确的说,布尔代数是数字电路的基础,而我们计组一旦进入到了使用 verilog 的阶段,那么就是大量的行为建模而不是结构建模了。后面搭建各种 CPU,用的都不是布尔代数的思想,也不需要其作为基础。

另外复习突然发现,忘了与或式是啥了,就是这个

那么或与式就是这个

一、反演定律

如果将一个式子的互换(注意不改变计算顺序,也就是转换成的时候需要加括号),1和 0 转换,文字相互转换,那么就可以得到这个公式的反,举个例子

那么他的反演式,就是

我们注意到反演直接就给等号左侧取反了,这就是对的,也就是说,原来能够使 $F$ 得 1 的输入向量,现在能使 $\bar F$ 得 0 ,,原来能够使 $F$ 得 0 的输入向量,现在能使 $\bar F$ 得 1。可以说是一个很神奇的公式了,神奇到我之前都没有发现他的威力。

那么为什么会有这种结果呢?可以粗浅的理解一下,如果把 $F$ 展开成一个极小项范式,这个范式按照上面的操作来一遍,就可以得到 $\bar F$ 的极大项范式,这个可以从真值表中直接得出,反之亦然。对于没有化成标准范式的式子,其实都是可以推广的。


二、对偶定理

这个其实就是不交换原变量和反变量,其他跟反演定律一致,举个例子

他的对偶式就是

但是 $F^{*}$ 和 $F$ 之间就没有这么明显的关系了,这是因为这个式子探究的不是函数间的关系,而是恒等式(等号两侧是平等的)之间的关系,正确的用法是

然后由对偶定理,我们可以得到另一组恒等式,有


三、一个重要公式

如果有两项中的因子互为反变量 $A,\bar A$, 而且这两项中的其他因子 $B,C$ 在后面中的某一项中同时出现 $BCDEF… $​,那么这一项可以消去。​

证明方式如下:


四、公式化简和卡诺图

公式化简的最基本的方法就是合并补项联立,其中以补项联立最为反人类思维方式。但是这两种都可以很好用卡诺图解决。

对于 SR 寄存器的状态转移公式,有如下式

可列出卡诺图如下:

00 01 11 10
0 0 0 x 1
1 1 0 x 1

可以看出根据卡诺图很容易就可以写出表达式

其中 x 是因为对于 S,R 均为 1 的情况,不会出现,所以是 x。

那么我们在看一遍正经的化简过程:

可以看到,增添的三项其中两项对应的是 x,另一项是画圆圈的时候重叠的项,所以可以看出,补项联立被处理的很好。


五、门的实际作用

这里讨论的是一类电路设计的特殊情况,即与门或门的作用。

对于与门而言,有一种可以控制数据流通的作用,当我们将与门的两个输入中的一个看做使能端的时候,就会发现,与门的输出就跟另一个输入(我们叫它输入)有了密切联系,当使能端为 1 的时候,输出就等于输入,当使能端为 0 的时候,输出就是 0。是一个很好的控制门。

对于或门而言,有一种综合多输入的作用,当其他输入为 0 的时候,那么输出就只跟唯一那个输入有关了,也是很好的性质。

什么叫做高阻态,其实高阻态可以理解为断路(电路如果断了,就是很高的电阻)