马千瞩自从当了“D日以来最强势政务院”的国务卿之后,头发又少了不少。他的日程以分钟计。挤出两个小时来参加会议,这算是莫大的“恩典”。冯诺知道自己这完全是“挠到了痒处”。
为了充分阐述自己的理念和方案,虽然条件不许可他搞个玻璃板的PPT,但是他还是专门制作了“提纲”和“材料”。前者供领导抓纲契领的;后者则是细节,领导有兴趣了就可以仔细。
至于其他的与会者,都算是行家里手,只要提供一分简单的技术说明就可以了。
会议在政务院的会议室举行,冯诺首先介绍了自己的技术思路,目前讨论的各种技术方案,然后才进入正题。
“为什么要采用穿孔卡片?其实很清楚,就是为了解决数据处理中的三大难点。其一,文档尺寸、形状太多;其二,单个文档上记录的交易太多;其三,文档记录数据的形式和方法太多。换言之,就是标准化的问题。”
冯诺停了一会,平缓一下紧张情绪,觉得自己的声调有点偏高。他没想到杨云真的在报告里提了这八字没一撇的穿孔卡计算机系统,还钓来了督公这条大鱼。冯诺太清楚领导来参观对事业的重要性了,这不仅仅是个人在领导面前露脸的问题,就算领导一言不发听完就走,也会对这个项目的前途产生很重要的推动作用,和过去做生意请领导题个字是同样的道理。这机会必须抓住。
穿孔卡计算机的立项研讨会已经开过一次,基本确定了参加人员和大致计划。这次会议主要是对“穿孔卡片”本身的讨论。因为这穿孔卡计算机和手摇计算机不同,首先得确定数据载体——穿孔卡片的规格和各种标准,才能进行下一步的机械设计。元老院手里没有实物可以仿制,只能根据资料和卡片本身进行逆推。所以,项目的第一件事,就是确定穿孔卡片的标准。
冯诺当然极力拿到了负责这一块的任务,他本来就做了不少调研,又是企划院的代表,而那些搞机械和电力的元老对这事也不大感兴趣。
“因此,我们一开始就要确定好穿孔卡片规格,至少在民用领域的所有应用中全部统一。穿孔卡片有45列,80列,90列等类型,但最通用的,也是最早在美国1890人口普查中使用的,是‘霍勒里思’穿孔卡,后来又通称‘IBM卡’。该卡由坚固耐用的卡片纸做成,印有10行x80列数字,每行的数字分别为0-9。此外,卡上还有11和12两排打孔位置,但没有印刷记号。11排亦称X排,12排亦称Y排。其位置实际位于数字行列的上方。这两行,加第0行,又合称‘三行区’或‘高区’”。
“国内以前应用穿孔卡片的时期较短,行业也较为局限,因此,穿孔卡片的标准完全照搬IBM卡的标准。其制造标准如下:缺角矩形卡片,水平方向为长边,长度187.32毫米,误差不超过0.12毫米;垂直方向为短边,长度82.55毫米,误差不超过0.18毫米;厚度为0.175毫米,误差不超过0.005毫米。纸纤维方向应为水平方向。每边的不直度公差为0.08毫米,各对应边的不平行度公差为0.08毫米,相邻两边的不垂直度公差不超过5分,缺角夹角为60度。请大家查看分发到手的资料。”
“然后是打孔规格,卡片基准直线X,即水平基准直线是卡片上缘直线,卡片基准点是右边缘上距X基准直线41.27毫米的点,卡片基准直线Y是通过基准点并与基准直线X垂直的直线。卡片平行于基准直线Y的80条直线称为卡片的‘列’,列间距2.21毫米,卡片平行于基准直线X的12条直线称为卡片的‘行’,行间距6.35毫米。穿孔形状为矩形,孔中心位于行与列的交点上,其长边平行于Y,短边平行于X,尺寸为长边3.2毫米,短边1.4毫米,误差不超过0.05毫米。同一横行上各代码孔的最小边缘距离应大于0.51毫米,孔中心线与行列标准线误差小于0.25毫米。”
会场一片安静,与会者大概都在怀疑他们能否造出读取和打孔这么精密卡片的设备来。而冯诺想的则是忘了把造纸厂的人请来参加讨论,眼下能否造出合乎规格的纸来都十分难说,想爬个科技树,步步都是坑啊,千头万绪。不过他早有准备,继续说道:
“这是70年代末期国内发布的穿孔卡片标准,其制造精度当然是为了满足穿孔卡计算机系统当时每分钟1000张到2000张卡片处理速度的要求来制订的。我们手里目前没有穿孔卡计算机系统早期的卡片标准,不过可以肯定,20世纪初的技术达不到这样的精度标准,实际上,一则50年代的资料中,穿孔卡的尺寸被简单介绍为18.6厘米x8.3厘米。因此,适用于我们自制设备的穿孔卡精度及误差标准,还有待于在开发中进一步摸索。”
“穿孔卡的每一列可用来记录一个字符,包括从0到9的数字和26个英文字母,以及若干种符号,如等号,百分号等。每列记录一个字符,整个卡片共可以记录80个字符。”
“字符通过打孔实现,某列如果要表达一个数字,直接在第0行到第9行的对应行穿孔。如果某列要表达一个英文字母,则需要高区和数字区同时打孔。通常顶端还会印制该列的取值作为参考,具体方案请大家翻到资料附录2。”
穿孔卡片的每一列都能够存储1个英文字母,其方案为: 12-1 A 11-1 J 0-1 / 12-2 B 11-2 K 0-2 S 12-3 C 11-3 L 0-3 T 12-4 D 11-4 M 0-4 U 12-5 E 11-5 N 0-5 V 12-6 F 11-6 O 0-6 12-7 G 11-7 P 0-7 X 12-8 H 11-8 Q 0-8 Y 12-9 I 11-9 R 0-9 Z
“三行区上打孔,搭配1-9数字行打孔,共有3x9=27中方案,除去0-1位置表示特殊符号‘斜线’,刚好能表示26个字母。有意思的是,之所以用0-1表示斜线,则是因为整个方案中,就只有这个编码两个孔的距离最近,技术实现难度较大。此外,其他的特殊符号则可以用每列穿3个孔的若干方案解决。霍勒里思代码里仅用了8号孔作为搭配的孔,但这同时也揭示了,3孔编码在技术上是可能的。”
“之所以提到3孔编码,是考虑到中文编码的问题。”
这时会场出现了不少窃窃私语的声音。中文的编码是元老院应用穿孔卡的一大问题。当年穿孔卡计算机没有在国内自行生产,用途也不广泛,实际并无标准的中文编码方法。