Pse në EBCDIC shkronjat shkojnë jo një pas tjetrës?

Standardi ASCII u miratuar në 1963, dhe tani është e vështirë të gjesh ndonjë kodim të parë 128 karakteresh që ndryshon nga ASCII. Megjithatë, deri në fund të shekullit të kaluar, EBCDIC ishte aktivisht e përdorur — standardi i kodimit për mainframe-t e IBM dhe klonët e tyre sovjetikë të ЕС ЭВМ. EBCDIC mbetet kodimi kryesor në z/OS — sistemin standard operativ për mainframe-t modernë IBM Z.

Ajo që bie menjëherë në sy kur e shikon EBCDIC është se shkronjat nuk renditen njëra pas tjetrës: mes I dhe J dhe mes R dhe S kanë mbetur pozita të papërdorura (në ЕС ЭВМ nëpërmjet këtyre boshllëqeve ishten simbolet e cirilikës). Kush mund të kishte menduar të kodonte shkronjat me boshllëqe të pabarabarta mes shkronjave fqinje?

Pse në EBCDIC shkronjat shkojnë jo një pas tjetrës?

Vetë emri EBCDIC (“Extended BCDIC”) nënkupton se ky kodim — në ndryshim nga ASCII — nuk është krijuar në një vakum, por mbi bazën e kodimit me gjashtë bitë BCDIC, i cili ishte përdorur që nga IBM 704 (1954):

Pse në EBCDIC shkronjat shkojnë jo një pas tjetrës?

Nuk ka një përputhje të menjëhershme: një karakteristikë e përshtatshme e BCDIC, që u humb gjatë kalimit në EBCDIC, ishte se numrat 09 kanë kodet 0-9. Megjithatë, kishte mungesa prej shtatë kodesh mes I dhe J dhe me tetë kode mes R dhe S në BCDIC që ishin tashmë të pranishme. Nga erdhën ato?

Historia (E)BCDIC fillon në të njëjtën kohë me historinë e IBM — shumë para kompjuterëve elektronikë. IBM u formua si rezultat i bashkimit të katër kompanive, prej të cilave më teknologjikisht e avancuara ishte «Tabulating Machine Company», e themeluar në vitin 1896 nga Herman Hollerith — shpikësi i tabulatorit. Tabulatorët e parë thjesht numëronin numrin e kartave perforuese që ishin goditur në një vend të caktuar; por në vitin 1905 Hollerith filloi prodhimin të tabulatorëve . Çdo kartë për tabulatorin e dhjetorit përbënte fushat e gjatëzgjidhura, dhe numrat, të shkruar në këto fusha në formën e zakonshme dhjetore, grumbulloheshin për të gjithë paketën. Shkalla e kartës në fusha përcaktohej nga lidhjet e kabllove në panelin e lidhjes së tabulatorit. Për shembull, në këtë kartë perforuese të Hollerith, e ruajtur në Bibliotekën e Kongresit, është qartë e goditur numri 23456789012345678, por është e paqartë se si është ndarë në fusha:

Pse në EBCDIC shkronjat shkojnë jo një pas tjetrës?

Ata që kanë vëmendje mund të kenë vënë re se në kartën e Hollerith kishte 12 rreshta për shpimeve, ndonëse për numrat mjaftojnë dhjetë; dhe në BCDIC për çdo vlerë të dy bitëve më të lartë përdoren vetëm 12 kodet nga 16 të mundshme.

Natyrisht, kjo nuk është një rastësi. Fillimisht, Hollerith kishte parashikuar rreshta shtesë për "shënime speciale" që nuk përfshiheshin në shuma, por thjesht numëroheshin — si në tabulatorët e parë. (Sot do t'i quanim "fushat e bitëve".) Për më tepër, mes "shënimeve speciale" mund të përcaktoheshin tregues grupi: nëse gjatë tabulimit kërkoheshin jo vetëm shumat përfundimtare, por edhe ato ndërmjetëse, tabulatori ndalte kur zbulonte ndryshimin e ndonjë treguesi grupi, dhe operatori duhej të shkruante shumat ndërmjetëse nga paneli numerik në letër, të zerojë panelin dhe të vazhdonte tabulimin. Për shembull, gjatë llogaritjes së bilanceve të kontabilitetit, një grup kartash mund të përshtatej me një datë ose një kontraktor të vetëm.

Në vitin 1920, kur Hollerith ishte pensionuar tashmë, u futën në përdorim "tabulatorët që printonin", të cilët lidhnin me telegrap dhe mund të printonin vetë shumën ndërmjetëse pa kërkuar ndërhyrjen e operatorit. Tani veshtirësia ishte të përcaktohej se për çfarë i përkiste çdo numër i printuar. Në vitin 1931, IBM vendosi të shënojë shkronjat me "shënime speciale": shënimi në rreshtin e 12-të përfaqësonte shkronjën nga A deri te I, në rreshtin 11-të — nga J deri te R, në rreshtin zero — nga S deri te Z. "Tabulatori alfabetik" i ri mund të printonte emrin e çdo grupi kartash së bashku me shumat ndërmjetëse; ndryshe, një kolonë e papërcaktuar shndërrohej në një hapësirë midis simboleve. Vini re se S shënohet me kombinimin e vrimave 0+2, ndërsa kombinimi 0+1 origjinalisht nuk u përdor për shkak të frikës se dy vrima pranë njëra-tjetrës në një kolonë mund të shkaktonin probleme mekanike në lexues.

Pse në EBCDIC shkronjat shkojnë jo një pas tjetrës?

Tani mund ta shikoni tabelën BCDIC nga një kënd tjetër:

Pse në EBCDIC shkronjat shkojnë jo një pas tjetrës?

Përveç faktit që 0 dhe hapësira janë ndërruar, dy bitët më të lartë përcaktojnë "shenjën speciale" që nga viti 1931 janë vendosur në kartën perforuese për simbolin përkatës; ndërsa katër bitët më të ulët përcaktojnë numrin, që perforohet në pjesën kryesore të kartës. Mbështetje për simbolet & - / u shtua në tabulatorët IBM në vitet 1930, dhe kodimi i këtyre simboleve në BCDIC përputhet me kombinimet e perforimit për to. Kur nevojitej mbështetje për një numër edhe më të madh simboresh, si një "shenjë speciale" shtesë u perforuan njëra nga rreshtat 8 - kështu, në një kolonë mund të ishin deri në tri hapësira. Ky format i kartave perforuese është ruajtur praktikisht pa ndryshime deri në fund të shekullit. Në Bashkimin Sovjetik mbetën kodet e IBM-it për latinishten dhe pikëzimin, ndërsa për shkronjat e cirilikës perforoheshin menjëherë disa "shenja speciale" në rreshtat 12, 11, 0 - pa u kufizuar në tre hapësira në një kolonë.

Kur u krijua kompjuteri IBM 704, nuk u mendua shumë për kodimin e simboleve për të: morën kodimin që ishte përdorur atëherë në kartat perfoqe dhe thjesht 0 «e vendosën në vend». Në vitin 1964, gjatë kalimit nga BCDIC në EBCDIC, katër bitët më të rinj të çdo simbole mbetën të pandryshuar, edhe pse u përzier pak bitët e vjetër. Kështu, formati i kartave perforuese, i zgjedhur nga Hollerit në fillim të shekullit të kaluar, ndikoi në arkitekturën e të gjitha kompjuterëve IBM, deri në IBM Z përfshirë.

Burimi: habr.com

Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster