Hulkort

Fra DDHFwiki
Spring til navigation Spring til søgning
Hulkort i forskellige udformninger

Behovet for lagring af maskin-læsbare data opstod længe før computeren eksisterede. Det vigtigste lagringsmedie i forhold den videre historiske udvikling var hulkortet opfundet af Herman Hollerith i slutningen af 1800-tallet. Aflæsning af hullerne i hulkort kan ske både ved mekaniske kontaktfjedre (der kan slutte en elektrisk strøm) eller optisk (lysstråle der går igennem hullet og registreres) eller alternativt kapacitivt (luft og pap har forskellige elektriske egenskaber).

Der findes også "hulkort", hvor informationen markeres med en blød blyant - de såkaldte stregmarkeringskort (i midten til højre på billedet). En blyantstreg indeholder grafit, der kan lede elektrisk strøm mellem kontakter - og således vise om kortet er markeret i den pågældende position.

Hollerithkort

Den tidligste udgave af hulkort havde 10 rækker og 45 kolonner. Det var kun muligt at skrive tal, og det var designet således at kun blev lavet ét hul per kolonne. "0" var et hul i række 1, "1" i række 2 osv. Øverst til venstre på billedet er et 45-hullers kort fra slutningen af 1800-tallet.

Tallene 0 til 9 som huller
0 1 2 3 4 5 6 7 8 9
Række 1
Række 2
Række 3
Række 4
Række 5
Række 6
Række 7
Række 8
Række 9
Række 10

Mest kendt er nok IBMs 80-kolonners hulkort fra 1928.

I slutningen af 1920erne opstod der et behov for at kunne gemme bogstaver såvel som tal på et hulkort og i 1928 introducerede IBM et nyt kort med 2 ekstra rækker og 80 kolonner i samme fysiske format - 7⅜ x ​3¼ engelske tommer. Hullerne blev gjort rektangulære for at kunne få flere kolonner. De to nye rækker blev placeret i toppen af kortet som række 11 og 12. De bliver betegnet zoner. Rækkerne 1 til 10 blev omnummereret til at matche det tal de kunne indeholde, altså række 0 til 9. Tallet 0 (række 0) bliver også brugt som zone. Hvis der er to huller i en kolonne, så bruges zonerne, ellers er det et tal fra 0 til 9, '&' eller '-' og er derved bagudkompatibelt med Hollerith formatet.

Af hensyn til pladsen viser et tal/bogstav viser hvad hulpositionen betyder. F.eks. hvis en kolonne har huller i række 12 og række 6 er det et 'F'. Hvis der er et enkelt hul i kolonnen i række 12, er det et '&'. Den eneste kombination hvor der er to huller tæt på hinanden i en kolonne er skråstreg ('/').


Række 12 &
Række 11 -
Række 0 0
Række 1 1 A J /
Række 2 2 B K S
Række 3 3 C L T
Række 4 4 D M U
Række 5 5 E N V
Række 6 6 F O W
Række 7 7 G P X
Række 8 8 H Q Y
Række 9 9 I R Z

Mellemrum er repræsenteret ved intet hul i kolonnen.

De forskellige computerfirmaer opfandt forskellige måder at gemme hulkorts informationen i hukommelse, typisk i 2+4 bit, således at zonerne bliver til de to første bit, og resten kodes i 4 bit. Ingen zone kodes til 00, zone 12 til 01, zone 11 til 10 og 0 til 11. Der var ingen standardisering, ikke engang i samme firma, og det var også muligt at se Ingen-0-11-12.

Når 10 muligheder indkodes i 4 bit, så bliver der 6 pladser tilovers. Det blev udnyttet til at få flere tegn og dermed blev Binary-Coded Decimal (BCD) etableret.

Binary-Coded Decimal (BCD)

BCD betegner en række løsninger for at kode hulkortsdata i 6 bit. For at kunne udnytte alle 64 muligheder blev 8-tallet (række 8) indraget som zone og der kan være tre huller i en kolonne. Nedenstående er et eksempel på et tegnsæt i IBM 716 printeren.

IBM 716 printer tegnsæt G
Række 12 &
Række 11 -
Række 0 0
Række 1 1 A J /
Række 2 2 B K S + . $ ,
Række 3 3 C L T - * %
Række 4 4 D M U
Række 5 5 E N V
Række 6 6 F O W
Række 7 7 G P X
Række 8 8 H Q Y
Række 9 9 I R Z

EBCDIC

Extended Binary Coded Decimal Interchange Code (EBCDIC) er et tegnsæt, der bliver primært brugt på IBM mainframes. Det blev etableret i 1964 sammen med IBMs System/360 produktlinje for bla. at have små bogstaver og flere specialtegn. For at kunne læse/skrive til hulkort blev 9-tallet nu også brugt som zone til kontroltegn. Der kan derfor være op til 3 huller i en kolonne. EBCDIC tabel for IBM model 029 keypunch vist som det ville være kodet på et hulkort. Zone 9 er ikke vist i tabellen.

Række 12 & Zone 12
Række 11 - Zone 11
Række 0 0 Zone 0
Række 1 1 A J / a j ° : ¢ !
Række 2 2 B K S b k s # . $ ,
Række 3 3 C L T c l t @ < * %
Række 4 4 D M U d m u ' ( ) _
Række 5 5 E N V e n v = + ; >
Række 6 6 F O W f o w " | ¬ ?
Række 7 7 G P X g p x
Række 8 8 H Q Y h q y Zone 8
Række 9 9 I R Z i r z Zone 9

Maskinel

Bærbar IBM hulkorthuller

F47.JPG

Denne enhed er fra omkring 1960. Hulkorthulleren kunne ligge i en lomme og muliggjorde derfor registrering af data "i marken". Der anvendes nogle specielle hulkort med 40 kolonner og perforering, således at det er let at trykke et hul ud med den medfølgende pen.

På eksemplaret her har man kunnet registrere salg af sodavand mm. samt dato'er herfor.

Læs mere her.

Hulkortsudstyr

Model 029 er det mest typiske udstyr til at hulle hulkort.

Model 129 er en såkaldt kontrolhuller. Kort blev hullet på en model 029, men hvis informationen var kritisk, f.eks. beløb, skulle kortene kontrolhulles, dvs. at en "genhulning" af et kort skulle passe med de huller der var i forvejen.

Sortering

IBM 082 Card Sorter

IBM 082 Card Sorter kan mere end bare sortere kort. Sorteringen sker ved at en lille metalbørste gennem et hul får kontakt med en rulle. Der aktiveres en magnetspole, som trækker en tynd plade ned, så kortet bliver ført frem mellem 2 smalle plader, hvorefter kortet ender i 1 ud af 13 lommer : 0..9, 11 og 12 svarende til kortrækkerne, og en lomme til kolonner uden huller. 11-hullet og 12-hullet er de 2 huller ovenover 0-hullet. 12-hullet ligger nærmest kanten. På højre side ses et håndsving. Dette bruges til at positionere børsten over den kolonne der skal sorteres på.

Under håndsvinget findes en lille låge. Her kan man aktivere/deaktivere de enkelte rækker. Hvis man f.eks. vil frasortere alle kort hvor der er et hul i 4-rækken, deaktiverer man alle andre rækker. Det vil bevirke at alle kort uden et hul i 4-rækken, kommer i samme lomme.

Og hvordan sorterer man så? Kortene lægges i hopperen, med face down, og 12-hullet udad. Håndsvinget sættes på den mindst betydende kolonne. Når kortene er løbet igennem sorteren, lægger man dem ovenpå hinanden igen, fra højre mod venstre. Så skifter man kolonne, og lader dem igen løbe gennem maskinen. Sådan fortsætter man hele vejen.

Der kan også sorteres alfanumerisk. Her laver man først en gennemløb hvor man vælger på 3 huller : 0 11 og 12. Disse 3 bunker holdes nu for sig. Så tager man 0-bunken igen, for det kunne jo være at det ikke var et bogstav, men et rigtigt 0. Denne bunke vælges nu på 0..9. Dem der ryger ud i 0-lommen, er så "rigtige" nuller, hvor de andre er bogstaverne R..Z (skal kontrolleres). Vi ender altså med 4 bunker: 3 bogstavsbunker (A..I, J..Q, R..Z) og 1 bunke med rene tal.