Hoekom is die letters nie in 'n ry in EBCDIC nie?

Die ASCII-standaard is in 1963 aangeneem, en nou gebruik amper niemand 'n enkodering waarvan die eerste 128 karakters van ASCII verskil. Tot aan die einde van die vorige eeu is EBCDIC egter aktief gebruik - die standaardkodering vir IBM-hooframe en hul Sowjet-klone EC-rekenaars. EBCDIC bly die primêre enkodering in z/OS, die standaard bedryfstelsel vir moderne IBM Z hooframe.

Wat jou dadelik opval as jy na EBCDIC kyk, is dat die letters nie in 'n ry staan ​​nie: tussen I и J en tussen R и S daar was ongebruikte posisies (op die ES-rekenaar vir hierdie intervalle versprei Cyrilliese karakters). Wie sou kon dink om letters met ongelyke spasies tussen aangrensende letters te enkodeer?

Hoekom is die letters nie in 'n ry in EBCDIC nie?

Die einste naam EBCDIC (“Extended BCDIC”) dui daarop dat hierdie enkodering - anders as ASCII - nie van nuuts af geskep is nie, maar gebaseer is op die ses-bis BCDIC enkodering, wat sedertdien gebruik is. IBM 704 (1954):

Hoekom is die letters nie in 'n ry in EBCDIC nie?

Daar is geen onmiddellike terugwaartse versoenbaarheid nie: 'n gerieflike kenmerk van BCDIC wat verlore gegaan het met die oorgang na EBCDIC was dat die getalle 0-9 stem ooreen met kodes 0-9. Daar is egter gapings van sewe kodes tussen I и J en in agt kodes tussen R и S was al by BCDIC. Waar het hulle vandaan gekom?

Die geskiedenis van (E)BCDIC begin gelyktydig met die geskiedenis van IBM – lank voor elektroniese rekenaars. IBM is gevorm as gevolg van die samesmelting van vier maatskappye, waarvan die mees tegnologies gevorderde die Tabulating Machine Company was, gestig in 1896 deur Herman Hollerith, die uitvinder. tabulator. Die eerste tabulators het eenvoudig die aantal ponskaarte getel wat op 'n spesifieke plek gestamp is; maar in 1905 het Hollerith met produksie begin desimale tabulators. Elke kaart vir die desimale tabulator het bestaan ​​uit velde van arbitrêre lengte, en die getalle wat in hierdie velde in die gewone desimale vorm geskryf is, is oor die hele dek opgesom. Die verdeling van die kaart in velde is bepaal deur die drade op die tabulator se pleisterpaneel te verbind. Byvoorbeeld, op hierdie Hollerith-ponskaart, gestoor word in die Library of Congress is die nommer 23456789012345678 duidelik gestempel, onbekend soos verdeel in velde:

Hoekom is die letters nie in 'n ry in EBCDIC nie?

Die oplettendstes het dalk opgemerk dat daar op die Hollerith-kaart 12 rye vir gate is, hoewel tien genoeg is vir getalle; en in BCDIC, vir elke waarde van die mees betekenisvolle twee bisse, word slegs 12 kodes uit 16 moontlike gebruik.

Dit is natuurlik nie toevallig nie. Aanvanklik het Hollerith addisionele rye vir “spesiale punte” bedoel wat nie opgetel is nie, maar bloot getel is - soos in die heel eerste tabellere. (Vandag sou ons hulle "bietjievelde" noem.) Boonop was dit onder die "spesiale punte" moontlik om groepaanwysers op te stel: as die tabulering nie net die finale somme vereis nie, maar ook intermediêres, dan sou die tabulator stop wanneer dit het 'n verandering in enige van die groepaanwysers opgespoor, en die operateur moes die subtotale van die digitale borde op papier oorskryf, die bord terugstel en die tabel hervat. Byvoorbeeld, wanneer rekeningkundige saldo's bereken word, kan 'n groep kaarte ooreenstem met een datum of een teenparty.

Teen 1920, toe Hollerith reeds afgetree het, het "tiktabulators" in gebruik geneem, wat aan 'n teletipe gekoppel was en self subtotale kon druk sonder om operateur ingryping te vereis. Die moeilikheid was nou om te bepaal waarna elkeen van die gedrukte nommers verwys het. In 1931 het IBM besluit om "spesiale merke" te gebruik om letters aan te dui: 'n punt in die 12de ry dui die letter van A aan I, in die 11de - van J aan R, op nul - van S aan Z. Die nuwe "alfabet-tabulator" kon die naam van elke groep kaarte saam met subtotale druk; in hierdie geval het die ononderbroke kolom in 'n spasie tussen karakters verander. Neem kennis dat S word deur die gaatjiekombinasie 0+2 aangedui, en die 0+1-kombinasie is nie oorspronklik gebruik nie uit vrees dat twee gate langs mekaar in dieselfde kolom meganiese probleme by die leser sou veroorsaak.

Hoekom is die letters nie in 'n ry in EBCDIC nie?

Nou kan jy na die BCDIC-tabel kyk vanuit 'n effens ander hoek:

Hoekom is die letters nie in 'n ry in EBCDIC nie?

Behalwe dat die 0 en spasie omgekeer word, definieer die mees betekenisvolle twee bisse die "spesiale merk" wat sedert 1931 in die ponskaart vir die ooreenstemmende karakter gedruk is; en die minste betekenisvolle vier bisse bepaal die syfer wat in die hoofgedeelte van die kaart gedruk word. Simbool ondersteuning & - / is in die 1930's by IBM-tabulators gevoeg, en die BCDIC-kodering van hierdie karakters stem ooreen met die gaatjiekombinasies wat daarvoor gepons is. Wanneer ondersteuning vir 'n selfs groter aantal karakters nodig was, is ry 8 as 'n bykomende "spesiale merk" gepons - dus kan daar tot drie gate in een kolom wees. Hierdie formaat van ponskaarte het tot die einde van die eeu feitlik onveranderd gebly. In die USSR het hulle IBM se Latynse en leestekens enkoderings gelos, en vir Cyrilliese letters het hulle verskeie "spesiale merke" gelyktydig in rye 12, 11, 0 geslaan - nie beperk tot drie gate in een kolom nie.

Toe die IBM 704-rekenaar geskep is, het hulle nie lank gedink aan die karakterkodering daarvoor nie: hulle het die enkodering wat op daardie tydstip reeds in ponskaarte gebruik is, geneem en dit net op sy plek gesit. In 0, tydens die oorgang van BCDIC na EBCDIC, is die lae-orde vier bisse van elke simbool onveranderd gelaat, hoewel die hoë-orde bisse 'n bietjie geskommel is. Die ponskaartformaat wat Hollerith aan die begin van die vorige eeu gekies het, het dus die argitektuur van alle IBM-rekenaars, tot en met die IBM Z, beïnvloed.

Bron: will.com

Voeg 'n opmerking