早期的计算机,并没有现在这么先进的存储设备。早期计算机的信息通常是存储在一些有孔的卡片上的。也就是通过卡片的有孔和没孔代表0和1,其基本原理与目前的磁盘很像(磁盘是通过磁性介质的南北极表示0和1)。我们称这个有孔的卡片为打孔卡(punch cards)。打孔卡以霍尔瑞斯卡或者IBM卡著称。它是带有一些空的卡片,卡片上的空通常是用过手动或者机器制作的。卡片上的空代表着计算机的数据或者指令。在计算机的早期,打孔卡是广泛使用的输入信息的方式。这些卡片被填入一个连接计算机的读卡器中。而卡片中的一系列的孔被转换为数字信息。
图1 打孔卡机器
例如早期的计算机程序员需要手写程序,并且将程序通过打卡机转换为一系列的打孔卡。然后程序员将这一叠卡片放入读卡器中来作为输入程序的方式。今天我们介绍以下几方面的内容。
打孔卡如何工作?我们如何阅读一个打孔卡?打孔卡的历史为什么会使用打孔卡?打孔卡仍然在使用吗?打孔卡是输入设备吗?打孔卡如何工作?通过上图所示的打孔卡机器可以将数据写入卡片当中。其方式就是在每列中打入不同的孔以代表不同的字符。下面是一个打孔卡的例子。
图2 打孔卡实例
一旦一个打孔卡完成,或者一个换行键被输入,那么在技术上来说这个卡片就“存储”了这些信息。因为每个卡片只能存储这些信息。如果你通过打孔卡写一个程序,你需要一叠有序的卡片才可(其中每个卡片表示一行代码)。
图3 整叠的卡片
为了加载程序或者读卡片上的数据,需要将每个卡片放入读卡器中,读卡器会将卡片的信息读入计算机中。当卡片被放入读卡器后,读卡器从左上角开始读取卡片的信息,从上到下读取一列的内容,然后进行下一列。也就是读卡器是一列一列来读取卡片的信息的。
人类如何读取卡片内容?大部分后期的卡片会在头部打印该卡片包含的内容。因此,对于这些卡片,您可以检查卡的顶部,以查看卡上存储的内容。如果卡上发现错误,将重新打印。如果卡顶部未打印任何数据,则人类需要知道表示的数字,然后手动翻译每列。如果你熟悉现代计算机,这类似于知道二进制 01101000 和 01101001 等于 104 和 105。在 ASCII 中,他们的拼写就是 hi 字符。
打孔卡的历史如果我们追溯一下, 最早使用打孔卡的年代实在1725年。确实比较久远了。那个时候打孔卡并不是用在计算机当中,而是用在纺织机中。例如,约瑟夫·玛丽·杰奎德用打孔卡制作了一幅用丝绸编织的自画像。在1832年,这些卡片被塞门·科尔萨科夫用来存储和搜索信息。1890年晚些时候,赫尔曼·霍利特发明了一种机器记录和存储打孔卡信息的方法,用于美国人口普查。后来,他组建了我们所知的IBM公司。
为什么使用打孔卡?早期的计算机并不能像现在计算机这样存储文件。因此,如果想创建一个可以被计算机使用的数据文件或者程序,唯一的方式就是通过打孔卡。当磁性介质被发明后,打孔卡就逐渐不再被使用了。
打孔卡还在使用吗?打孔卡是在1900年代存取信息的方法,在1960年后开始被其它存储介质取代。今天我们基本上很少,或者几乎看不到打孔卡的使用了。
打孔卡是输入设备吗?其实不是,打孔卡本身并不是输入设备,而读卡器则可以认为是输入设备。因为读卡器将打孔卡的数据读入到计算机当中。这就好比之前的光盘和光驱一样的概念,软盘本身并不是输入设备,因为他只是存储数据的介质,而光驱则认为是输入设备。
关于计算机老古董的相关知识我们就介绍到这里,关于计算机知识的更多内容请关注本号。