写给外行的计算机原理(四)CPU读写内存

还记得上次我们发明的内存吗?现在我们要对它进行一些改进,好让它能够和CPU一起工作。


在上图的左上角,是两个由电路控制的按钮,上面的是常开按钮,当电磁铁中有电流通过时,电路就会接通;下面的是常闭按钮,当电磁铁线圈中有通电时,电路就会断开。我们的基本内存装置中包含一个常开按钮,用于将内存中的数据设置为1,还有一个常闭按钮,用于将内存清零。现在,我们就将原先需要用手操作的按钮换成相应的用电路控制的按钮,这样,我们的内存装置就可以画成图中右上角所示的样子,S代表常开按钮的正极,R代表常闭按钮的正极,它们的负极连在电源的负极上,但是在图中我们将它们省略了,因为决定电路状态的是两个正极。这样,我们的内存装置只需要将外部的三根导线画出来就可以了。

这样,我们的八位内存就可以画成图中下部所示的样子,我们只将设一的导线和输出端保留,而把复位导线保留在了内部。如果我们把这个八位内存装进一个盒子,那么,从外面来看,就只有八根用于设一的导线和八根用于输出数据的导线,是不是看起来简单了很多?下面,我们就会将这种内存和CPU连接起来,让它们一起工作,你将会明白CPU如何读写内存。

在图中,我们用到了三个八位内存,其中两个用于输入,一个用于输出,两个输入的内存中保存的是需要相加的两个八位数:0101011010001001,其中第一个八位数在图中左上角的内存中是从右往左输入的。为了图中的导线不至于太过混乱,我们的机器第一个内存中的数据是倒着输入的。图右边的内存中保存的是两个数相加的计算结果:11011111,这个内存中的数据是从上往下读的。当我们将两个输入内存中的数据改变时,输出结果就会立即改变,如果我们在输出内存的八个输出端接上八个灯泡,那你就可以看到灯泡的亮灭,当然,我们也可以接上别的东西,比如八个电风扇,这样,上面的计算结果就是八个电风扇分别这样工作:转转停转转转转转。

中间的电路就姑且叫做CPU吧,虽然它是简单幼稚的电路,但确实可以正确地计算某些特定的题目(到目前为止,我们只能对有限的题目进行正确的运算)。注意,图中输入内存的输出端的箭头表示电动按钮,如果该导线中有电,那么,箭头所指的开关就会闭合。两个开关是并联起来的,这样,只要两个输入数据对应位置上有一个1,计算结果就会是1。两个输入内存的输出端的状态变化引起CPU的状态变化,这就叫做CPU读内存(见过Windows有时候弹出一个窗口,提示说“该内存不能为read”吗?);当CPU的状态变化反应到输出内存中,这就叫做写内存。因为任何的状态变化达到稳定都需要时间,而CPU的工作速度和内存的工作速度并不会一致,所以CPU的工作频率和内存的频率也不一样。如你所见,我们将一个数输入内存,然后它内部的电磁铁开始噼里啪啦动作,这相对来说比CPU的电路状态改变慢多了。当然,真实的内存中并没有电磁铁。但历史上的确有过用电磁铁制成的机器。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值