计算机实现原理专题--存储器的实现(一)中描述了一种可以记住输入端变化的装置。现需要对其功能进行扩充,我们将上面的开关定义为置位,下面的开关定义为复位,然后需要增加一个保持位,当保持位为0的时候,置位和复位无效,当保持位为1的时候,置位和复位则有效:计算机实现原理专题--存储器的实现(二)-LMLPHP

Q表示有效标志,头上加了一横的表示无效。

上图可以简化为:计算机实现原理专题--存储器的实现(二)-LMLPHP

将置位和复位通过非门连接合并成数据端,当数据端为1时表示置位1复位0,当数据端为0时表示置位0复位1。

现在上面的装置可以作为1位存储器,现在保持位的作用是控制数据端何时保存数据,还需要加上一个能重置数据的功能:

计算机实现原理专题--存储器的实现(二)-LMLPHP

现在我们可以将该存储器并联成一个8位的存储器,并将该存储器和8位加法器连接:

计算机实现原理专题--存储器的实现(二)-LMLPHP

首先按下清零开关进行初始化,然后通过8位开关输入第一个加数,按下相加开关会记住改数并反应到B的位置上,再输入第二个加数会生成一个新的结果,按下相加开关后将新的结果保存下来并反应到B的位置上。现在你会发现这就是一个简单的加法计算器!

假设没有这个相加开关会导致什么后果呢?由于生成第一个加数时在实际操作中不会在同一个时刻生成,有时差,这样加法器就会产生临时结果,这些临时结果会保存到锁存器中从而导致B位置上数值发生变化,最终导致相加发生混乱导致错误的结果。

11-16 06:27