Af hverju eru stafirnir ekki í röð í EBCDIC?

ASCII staðallinn var tekinn upp árið 1963 og nú notar varla nokkur kóðun þar sem fyrstu 128 stafirnir eru frábrugðnir ASCII. Hins vegar, til loka síðustu aldar, var EBCDIC virkt notað - staðalkóðun fyrir IBM stórtölvur og sovéskar klónar EC tölvur þeirra. EBCDIC er áfram aðal kóðun í z/OS, staðlað stýrikerfi fyrir nútíma IBM Z stórtölvur.

Það sem vekur strax athygli þegar þú horfir á EBCDIC er að stafirnir eru ekki í röð: á milli I и J og á milli R и S það voru ónotaðar stöður (á ES tölvunni fyrir þetta bil dreift kýrilískar persónur). Hverjum hefði dottið í hug að umrita stafi með ójöfnu bili á milli aðliggjandi bókstafa?

Af hverju eru stafirnir ekki í röð í EBCDIC?

Sjálft nafnið EBCDIC ("Extended BCDIC") gefur til kynna að þessi kóðun - ólíkt ASCII - hafi ekki verið búin til frá grunni, heldur byggð á sex bita BCDIC kóðun, sem hefur verið notuð síðan IBM 704 (1954):

Af hverju eru stafirnir ekki í röð í EBCDIC?

Það er engin tafarlaus samhæfni til baka: þægilegur eiginleiki BCDIC sem glataðist við umskiptin yfir í EBCDIC var að tölurnar 0-9 samsvara númerunum 0-9. Hins vegar eru bil með sjö kóða á milli I и J og í átta kóða á milli R и S hafa þegar farið á BCDIC. Hvaðan komu þeir?

Saga (E)BCDIC hefst samtímis sögu IBM - löngu á undan rafrænum tölvum. IBM varð til við sameiningu fjögurra fyrirtækja, þar af tæknivæddust var Tabulating Machine Company, stofnað árið 1896 af Herman Hollerith, uppfinningamanninum. töfluvél. Fyrstu tabulatorarnir töldu einfaldlega fjölda gataspila sem slegin voru á tilteknum stað; en árið 1905 hóf Hollerith framleiðslu aukastaf töfluvélar. Hvert spil fyrir tugatöfluna samanstóð af sviðum af handahófskenndri lengd og tölurnar sem skrifaðar voru í þessum reitum með venjulegu aukastafi voru lagðar saman yfir allan stokkinn. Skipting kortsins í reiti var ákvörðuð með því að tengja vírana á plásturstöflu töfluvélarinnar. Til dæmis, á þessu Hollerith gatakorti, geymd í Library of Congress er númerið 23456789012345678 greinilega stimplað, óþekkt sem skipt í reiti:

Af hverju eru stafirnir ekki í röð í EBCDIC?

Þeir athyglisverðustu hafa kannski tekið eftir því að á Hollerith kortinu eru 12 raðir fyrir holur, þó tíu dugi fyrir tölur; og í BCDIC, fyrir hvert gildi mikilvægustu tveggja bitanna, eru aðeins 12 kóðar notaðir af 16 mögulegum.

Auðvitað er þetta ekki tilviljun. Upphaflega ætlaði Hollerith viðbótarraðir fyrir „sérmerki“ sem voru ekki lagðar saman, heldur einfaldlega taldar - eins og í fyrstu töflutöflunum. (Í dag myndum við kalla þá „bitareiti“.) Að auki, meðal „sérmerkja“, var hægt að stilla hópvísa: ef töflugerðin krafðist ekki aðeins lokaupphæða, heldur einnig millistigs, þá hætti töfluna þegar það fann breytingu á einhverjum af hópvísunum og stjórnandinn þurfti að endurskrifa undirtölurnar af stafrænu töflunum á pappír, endurstilla töfluna og halda áfram töflugerð. Til dæmis, þegar bókhaldsstaða er reiknuð út gæti hópur korta samsvarað einni dagsetningu eða einum mótaðila.

Árið 1920, þegar Hollerith var þegar kominn á eftirlaun, komu „vélritunartöflur“ í notkun, sem voru tengdir við fjarritun og gátu sjálfir prentað undirsamtölur án þess að þurfa afskipti af rekstraraðila. Erfiðleikarnir voru nú að ákveða hvað hver og ein prentuðu númerin vísaði til. Árið 1931 ákvað IBM að nota „sérmerki“ til að gefa til kynna stafi: merki í 12. röð táknaði stafinn frá A í I, í 11. - frá J í R, á núll - frá S í Z. Nýja „stafrófstöfluna“ gæti prentað nafn hvers kortahóps ásamt undirtölum; í þessu tilviki breyttist óslitinn dálkur í bil á milli stafa. Vinsamlegast athugaðu það S er merkt með holusamsetningunni 0+2, og 0+1 samsetningin var upphaflega ekki notuð af ótta við að tvær holur hliðar á hvoru öðru í sama dálki myndu valda vélrænum vandamálum hjá lesandanum.

Af hverju eru stafirnir ekki í röð í EBCDIC?

Nú geturðu horft á BCDIC töfluna frá aðeins öðru sjónarhorni:

Af hverju eru stafirnir ekki í röð í EBCDIC?

Nema að 0 og bil er snúið við, þá skilgreina mikilvægustu tveir bitarnir „sérmerkið“ sem hefur verið slegið inn í gatakortið fyrir samsvarandi staf síðan 1931; og minnst marktæku fjórir bitar ákvarða tölustafinn sem er sleginn inn í aðalhluta kortsins. Stuðningur við tákn & - / var bætt við IBM tabulators á þriðja áratug síðustu aldar og BCDIC kóðun þessara stafa samsvarar holusamsetningum fyrir þá. Þegar þörf var á stuðningi fyrir enn stærri fjölda stafa, var lína 1930 slegin sem „sérstakt merki“ til viðbótar - þannig gætu verið allt að þrjú göt í einum dálki. Þetta snið gatakorta hélst nánast óbreytt til loka aldarinnar. Í Sovétríkjunum skildu þeir eftir latínu- og greinarmerkjakóðun IBM og fyrir kýrilíska stafi kýldu þeir nokkur „sérmerki“ í einu í röðum 8, 12, 11 - ekki takmarkað við þrjú göt í einum dálki.

Þegar IBM 704 tölvan var búin til hugsuðu þeir ekki lengi um karakterkóðunina fyrir hana: þeir tóku kóðunina sem þegar var notuð í gatakortum á þeim tíma og „settu hana á sinn stað“. Árið 0, þegar umskiptin frá BCDIC í EBCDIC stóðu yfir, voru fjórir lágstigsbitar hvers tákns látnir óbreyttir, þó að hástigsbitunum hafi verið stokkað aðeins upp. Þannig hafði gatakortasniðið sem Hollerith valdi í byrjun síðustu aldar áhrif á arkitektúr allra IBM tölva, til og með IBM Z.

Heimild: www.habr.com

Bæta við athugasemd