()“完成了。”
兰恩上前,将纸带小心翼翼的接到手里。
看着手中这条半尺长的穿孔纸带,他心情很好,尤其是检查后发现完全正确后。
康拉德早已经跑到一边,将能源接上伊扎德一号,待初始化完成后,打开输入设备穿孔纸带读带机。
兰恩走过去,认准手中穿孔纸带的方向,将纸带小心的卡入,打开开关。
纸带被缓缓的吞了进去,与此同时,伴随着幽幽的蓝光和连成一片的咔哒咔哒声,伊扎德一号里面的符文回路也开始工作。
在玻璃盖子下面的符文回路中,随着8赫兹(注1)的时钟控制器运作,穿孔纸带上的孔洞被解码器读取,存入两个寄存器中。随着微指令被解析,机器中断,操作面板上一个发光符文亮起。
“我来。”
康拉德兴奋地抢过了操纵权,他拿过刚刚兰恩准备好的数据纸张,走到十进制输入键盘前,输入第一个浮点数,然后按一下旁边的小杆。
穿孔带又移动了一格,康拉德依次输入后面的数据。
随着所有的十八个数据输入完毕,在微序列器控制下,寄存器通过总线,按照穿孔带输入的地址,从内存中取出了刚刚输入的数据。然后,按照穿孔带输入的指令,将数据送入了算术运算单元,进行加减乘除操作,运算结果被放回内存。
由于此次计算的是3x3矩阵的乘法,因此机器执行的是乘法间隔加法的操作。
随着连成一片规律的响声,幽幽的蓝光中,这台机器像活着一样,将数据按照程序进行精密而准确的运算,宛若一台编织数据的织布机。
可惜第一个程序不是输出“你好,世界”……兰恩遗憾的想到。
不过也不能对这台非图灵完全的机器要求太多,诶不对,现在应该叫艾伦完全或者麦席森完全。
而且“你好”世界这句话,也是等高级语言出来后才有的,现在为时太早。毕竟现在使用在穿孔纸带上的控制程序,直接使用的微指令,抽象层次上还不如汇编语言。
对于兰恩来说,面前这台伊扎德一号中继符文计算机,最大的遗憾,是没有设计条件分支和无条件分支,更遑谈分支预测或者动态执行等先进技术。
其次,就是对于结果为0的异常处理做的不好,这是个不小的隐患。
而最后一点,就是数据的来源问题。由于穿孔纸带无法直接设常数,所以所有的数据,要么是用户从十进制输入面板上输入的数据,要么是计算机计算出的中间数据。
接下来,可以考虑将数据输入改成同样使用穿孔纸带,这样可以提前一次性将数据读入内存。而不是现在这样,总要让高速的计算机中断下来,等待缓慢的人工输入,这是对性能的巨大浪费……
在兰恩放飞思绪的时候,计算机已经将穿孔纸带吞入完毕。
结果被显示在十进制显示面板上,面板很粗陋,直接用十个一列的发光符文对应单个数字,七列符文的阵列组成一个七位浮点数的输出。面板上一共有十二个显示单元,支持同时显示十二个数据结果。
“算完了”,康拉德说道。
然后他在手中的纸上,记下最后一个数字:“我们验算下。”
兰恩看到他抄起一张纸,开始手动计算刚刚的矩阵乘法结果。
“完全正确,我们的设计没问题。”
同样的矩阵乘法运算,康拉德的计算速度,明显比面前这台伊扎德一号慢三倍以上。
“不错!再来个4x4矩阵乘法,我们试一下这台机器的最大能力”,兰恩郑重的对康拉德说道,“这次,我来写这段程序。”
在机器忙碌的对新程序进行执行时,兰恩忽然扭头对康拉德说道:“其实,只要我们更改程序定义运算的过程,完全可以将其作为一个大号计算器来使用。另外,如果我们更改程序的逻辑结构,应该能做不少有意思的运算,我现在就有不少美妙的想法,。”