什么是打孔卡系统?

2025年3月17日 | 阅读 7 分钟

打孔卡通常拼写为“punched cards”。这些纸卡上有一些孔,可以通过手动或机械方式打孔来表示计算机数据和指令。它们也被称为Hollerith卡IBM卡。在早期计算机中输入数据时,它们是一种常用的方法。将卡片放入连接到计算机的读卡器中,计算机将孔的顺序翻译成数字数据。

例如,在早期,计算机程序员可能会使用打孔机将手写的程序转换为大量的打孔卡。之后,程序员会将这叠卡片带到计算机上,并通过读卡器输入程序。

What is Punch Card System

打孔卡是如何操作的?

通过打孔机在每列(每列代表一个字符)上打孔,可以将数据输入卡片。卡片在完成或按下回车键后,就“存储”了信息。如果你使用打孔卡开发程序(每行代码一张卡片),你需要一叠卡片,因为每张卡片只能携带少量数据。

要使用打孔卡阅读器,必须插入每张卡片,读取卡片上的数据,然后输入到计算机中以读取数据或加载软件。当卡片被插入时,读卡器开始读取卡片,从卡片的左上角开始,自上而下垂直移动。读卡器在完成读取上一列后,会读取下一列。当读卡器读取信息时,这些信息会被写入计算机的内存。然后,当所有卡片都已加载到内存中时,计算机将被指示运行代码。如果信息需要打印,打孔卡将被用作输出。1950年代的SAGE防空系统是最大的打孔卡程序(约5MB数据),使用了62,500张打孔卡

掉落打孔卡是用户使用它们时最主要的问题之一。如果这些卡片掉落或顺序混乱,程序可能需要数天或数周才能恢复正常。在某些情况下,重新启动软件可能不可行。

人如何读取打孔卡?

对于大多数后来的打孔卡,每张卡片的内容都会打印在卡片顶部。对于这些卡片,可以通过查看卡片顶部来查看卡片上记录的信息,如果发现错误,会重新打印。如果卡片顶部没有打印数据,人类必须知道每个数字代表什么,并手动翻译每一列。如果你熟悉现代计算机,这就像知道二进制值104105分别对应数字0110100001101001,它们组合起来形成ASCII字符“hi”

打孔卡的演变史。

据报道,打孔卡最早在1725年被用于操作纺织机。例如,Joseph Marie Jacquard1800年代使用打孔卡编织了一幅丝绸自画像。Semen Korsakov1832年使用这些卡片来存储和查找信息。后来,Herman Hollerith1890年发明了一种机械装置,可以将数据捕获并存储在打孔卡上,用于美国人口普查。之后,他创立了现在被称为IBM的公司。

What is Punch Card System

为什么使用打孔卡?

早期计算机没有保存文件的能力。将数据与其他计算机一起使用的唯一方法是使用打孔卡来构建数据文件或程序。在磁性介质出现后,由于其成本更低,打孔卡不再被使用。

打孔卡还在使用吗?

20世纪初,打孔卡是存储和检索数据的主要工具。在20世纪60年代,打孔卡首次被其他存储技术取代,如今它们很少被使用或看到了。

打孔卡可以作为输入。

不,打孔卡本身不是输入设备。相反,打孔卡阅读器被认为是输入设备,因为它将数据从打孔卡传输到计算机。

打孔卡是如何编程的,以及为什么选择打孔卡?

使用了打孔卡和其他现有的技术,例如纸带。它起源于1890年早期的投票计数方法。1933年的IBM 401是一个设计,非常类似于后来计算机中使用的设计。打孔卡阅读器是IBM407,它首次使用是在20世纪60年代中期。与纸带类似,它被使用是因为它是一种易于适应的现有技术。关于语言,我使用了FORTRAN IID,其中D代表计算机新颖的磁盘存储系统。然而,IBM1130的引导代码也存储在打孔卡上,并直接加载到内存中。

打孔卡编码是什么感觉?

编码比现在效率高得多。在打孔卡最后几年的一个实验FORTRAN课程中。每个程序有三次机会正确完成。就像只按三次运行按钮一样,我们惊讶于它在仅两次尝试后就能完成大部分25个程序,然后在第三次运行中进行新的尝试或改进输出格式。在编码表上,仔细编写程序的第一次尝试。获取第一次运行的打印输出;编译错误将很清楚。不要立即调试它;相反,将其带回家,并在打印输出上手动运行。然后在打印输出上,标记每个错误并进行必要的更正。一次挑选一张错误的卡片,直到它所属的列。然后,进行必要的更正,这些更正位于卡片上。下次,将其带回计算机中心。在实验中,我们使用了我们必须自己操作的纠正机器。将两张卡片按指示放置后,单击复制按钮将两张卡片移到正确的列。当自动机器过载时,我们有时不得不通过扭动手指来操作手动Hollerith代码机。机器看起来像这样,只是为了增加难度,它只显示数字,而不是这张图片中显示的字母。

What is Punch Card System

是否已经创建了输出到打孔卡的C编译器?

您可以使用任何现有语言的编译器将数据馈送到打孔卡阅读器,然后将卡片读回兼容的计算机并运行程序。打孔卡是一种数据存储系统。确定内存棒或硬盘是否需要比打孔卡不同的编译器,逻辑是相同的。数据存储的类型无关紧要。

打孔卡如何存储非数字计算机数据?

与磁带或磁盘一样,打孔卡是数字的。这些位被表示为轻质纸卡上战略性定位的孔。如果卡上有孔,光线会透过;如果没有孔,光线就不会透过。这是数字数据。磁盘通过可以翻转或不翻转的磁场工作,具体取决于介质类型。这两种示例都使用数字数据,但实际物品在现实世界中是模拟的。所有现实都包含模拟现象。从这个角度来看,打孔卡只是另一种数字数据存储。

打孔卡每列剩余的六个比特有什么作用(历史,IBM,大型机,打孔卡,复古计算)?

首先讲一个好笑话。Herman Hollerith去世后是如何被安葬的?9边朝右,最初由Hollerith为电子制表机创建了翻转的打孔卡(有关详细历史,请在Google上搜索“Hollerith”)。这就是为什么(在我们一些人看来)它如此有趣。您会将卡片堆叠起来,让9边朝下,并且向右(或向左)放在读卡器处(或向上)。Thomas对“孔”的解释很棒。如果您表示数据,则会使用完整的80列卡片。如果您将其用于Cobol代码,则必须遵守Cobol的结构(代码在第8-72列;第6列用于注释字符,如有必要,第72列用于续行)。最初使用IBM 026打孔机。那时没有悬空的铅屑,所以您可以清除铅屑并毁坏某人的房间。排序在第73-80列进行。较新的打卡机会自动为您排序卡片。因此,如果您弄乱了牌组或不小心操作员洗了牌,您可以将牌放入排序机中。我向您保证,您不想手动排序一个包含1000张卡片的程序,根据Cobol结构列。


下一主题什么是RDIMM