打孔卡

存储信息的卡片

打孔卡,也稱穿孔卡(英語:Punched card)又稱霍爾瑞斯式卡IBM卡,是一塊紙板,在預先知道的位置利用打洞與不打洞來表示數碼訊息。現在幾乎是一個過時的記憶體,但其設計轉變成現今常用於考試彩券投注等用途的光學劃記符號辨識卡片(答題卡)。

用於1890年人口普查的霍列瑞斯式的打孔機[1]
80列、矩形孔的標準的IBM打孔卡片,已經打孔表示了字元集。此類型用於儲存數據。

簡介

編輯

1801年,法國人約瑟夫·瑪麗·雅卡爾發明了打孔卡用在控制織布機織出的圖案。

1880年代,美國人口調查局職員赫爾曼·何樂禮發明了用於人口普查數據的穿孔卡片及機器,並用於1890年美國人口普查,僅6周就完成了統計。而此前1880年美國人口普查的數據全靠手工處理,歷時7年才得出最終結果。何樂禮建立的公司,發展為今日的IBM

1890年代至20世紀初,打孔卡廣泛運用在商業和相關文書。20世紀期間,打孔卡應用在單位記錄機作為輸入端、處理和電腦程式。早期的數碼電腦運用打孔機已輸入資訊的打孔卡當做電腦程式資料的主要輸入媒介。另外,一些投票機也運用打孔卡。

1928年,IBM發明的80列、矩形孔卡片,成為事實上的標準。其工作原理如下:編號為0至9,總計10行;以及一塊區域,用於第11、第12行(注意,沒有編號為第10的行)。

每列的穿孔組合用於表示單個字元:

  • 數字通過在行0至行9直接打1個孔來表示。
  • 空格符的表示,不需要打孔。
  • 字母用2個孔表示:一個孔在第11、第12、第0行;另一個孔在第1至第9行。字母表被依次分為由9個字母組成的區(zones),每個區的字母依次在第1至第9行打孔。每個區分別在第11、第12、第0行打孔。第3區第1個字元保留未使用。
  • 一些特殊字元使用了額外的單孔表示,或者雙孔表示。
  • 大多數特殊字元(如標點符號等)用3孔表示:第8行被穿孔;第0、第11、第12行有1個穿孔;第1到第7行有1個穿孔。第9行保留未使用。

總計表示了67個字元。

進入到數字電腦時代,上述穿孔卡片字元表示方式發展為6位元的字元編碼:用4位元表示第0行至第9行的哪一行被穿孔;用2位元表示第11、第12行的哪一行被穿孔。這可以表示所有的單孔或者雙孔的字元表示,這被稱作「二進制編碼的十進制交換碼」(Binary Coded Decimal Information Code,BCDIC, BCD碼)。

1964年,IBM在BCDIC上又增加2個位元,形成了8位元的「擴充的二進制編碼的十進制交換碼」(Extended Binary Coded Decimal Information Code,EBCDIC),首先用於IBM System/360電腦。EBCDIC向下相容BCDIC,擴充了小寫字母,以及從ASCII碼借鑑來的一些控制字元(穿孔卡片實際上不需要,也不表示控制字元)。因為EBCDIC脫胎於穿孔卡,所以其字母表是以9個為一組,彼此不連續編碼表示的,這給程式設計師帶來了很大不便。例如,字母「I」編碼為0xC9;而字母「J」編碼為0xD1,二者中間有8個碼位間斷。EBCDIC一直用到目前的IBM System/390電腦系統。

參考文獻

編輯
  1. ^ Truesdell, Leon E. The Development of Punch Card Taabulation in the Bureau in the Bureau of the Census: 1890-1940. US GPO. 1965 (英語). 

本條目部分或全部內容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。

外部連結

編輯

參見

編輯