Эмне үчүн тамгалар EBCDICте катарда эмес?

ASCII стандарты 1963-жылы кабыл алынган жана азыр биринчи 128 символу ASCIIден айырмаланган коддоону эч ким колдонбойт. Бирок, өткөн кылымдын аягына чейин, EBCDIC жигердүү колдонулган - IBM мейнфреймдери жана алардын советтик клондору EC компьютерлери үчүн стандарттык коддоо. EBCDIC z/OS ичиндеги негизги коддоо, заманбап IBM Z негизги фреймдер үчүн стандарттык операциялык тутум бойдон калууда.

EBCDICти караганыңызда дароо көзүңүзгө урунуп турган нерсе, тамгалар бир катарда эмес: ортосунда I и J жана ортосунда R и S пайдаланылбаган позициялар бар болчу (бул аралыктар үчүн ES компьютеринде таркатылды кириллица тамгалары). Жанаша тамгалардын ортосунда бирдей эмес боштуктар бар тамгаларды коддоо кимдин оюна келген?

Эмне үчүн тамгалар EBCDICте катарда эмес?

EBCDIC ("Кеңейтилген BCDIC") аталышынын өзү эле бул коддоо - ASCIIден айырмаланып - нөлдөн баштап түзүлбөгөнүн, бирок бери колдонулуп келе жаткан алты биттик BCDIC коддоосуна негизделгенин ишара кылат. IBM 704 (1954)

Эмне үчүн тамгалар EBCDICте катарда эмес?

Дароо артка шайкештик жок: EBCDICке өтүүдө жоголгон BCDICтин ыңгайлуу өзгөчөлүгү бул сандар 0-9 0-9 коддоруна туура келет. Бирок, ортосунда жети коддун боштуктары бар I и J жана ортосундагы сегиз коддордо R и S буга чейин BCDICде болгон. Алар кайдан келген?

(E)BCDICтин тарыхы IBMдин тарыхы менен бир убакта башталат - электрондук эсептөө машиналарына чейин. IBM төрт компаниянын биригүүсүнүн натыйжасында түзүлгөн, алардын ичинен эң өнүккөнсү 1896-жылы ойлоп табуучу Герман Холлерит тарабынан негизделген Tabulating Machine Company болгон. табулятор. Биринчи табуляторлор жөн гана белгилүү бир жерде тешилген перфокарталардын санын санашкан; бирок 1905-жылы Холлерит өндүрүшүн баштаган ондук табуляторлор. Ондук табулятор үчүн ар бир карта ыктыярдуу узундуктагы талаалардан турган жана бул талааларда кадимки ондук формада жазылган сандар бүт палуба боюнча жалпыланган. Картанын талааларга бөлүнүшү табулятордун патч панелиндеги зымдарды бириктирүү аркылуу аныкталды. Мисалы, бул Холлериттин перфокартасында, сакталган Конгресс китепканасында 23456789012345678 номери так мөөр басылган, талааларга бөлүнгөнү белгисиз:

Эмне үчүн тамгалар EBCDICте катарда эмес?

Эң көңүл бурган адам Холлерит картасында тешиктер үчүн 12 катар бар экенин байкаса керек, бирок сандар үчүн он жетиштүү; жана BCDICде жогорку эки биттин ар бир мааниси үчүн 12 мүмкүн болгон коддун ичинен 16 гана код колдонулат.

Албетте, бул кокустук эмес. Башында, Холлерит "өзгөчө белгилер" үчүн кошумча катарларды ойлогон, алар кошулбаган, бирок жөн гана эсептелген - эң биринчи табуляторлордогудай. (Бүгүн биз аларды “бит талаалары” деп атамакпыз.) Мындан тышкары, “өзгөчө белгилердин” арасында топтук индикаторлорду коюуга мүмкүн болгон: эгерде таблица акыркы суммаларды гана эмес, ошондой эле аралыктарды да талап кылса, анда табулятор качан токточу. ал топтун индикаторлорунун кандайдыр бир өзгөрүүсүн аныктап, оператор санариптик такталардагы орто суммаларды кагазга кайра жазып, тактаны баштапкы абалга келтирип, таблицаны улантууга туура келди. Мисалы, бухгалтердик балансты эсептөөдө карттардын тобу бир датага же бир контрагентке туура келиши мүмкүн.

1920-жылы, Холлерит пенсияга чыкканда, телетайпка туташтырылган жана оператордун кийлигишүүсүн талап кылбастан, орто суммаларды өздөрү басып чыгара турган "терүү табуляторлору" колдонула баштаган. Азыр кыйынчылык басып чыгарылган цифралардын ар бири эмнеге тиешелүү экенин аныктоо болду. 1931-жылы, IBM тамгаларды көрсөтүү үчүн "атайын белгилерди" колдонууну чечти: 12-катардагы белги тамганы көрсөткөн. A үчүн I, 11-де - тартып J үчүн R, нөлдө - баштап S үчүн Z. Жаңы "алфавит табулятору" ар бир топтун атын орто суммалар менен бирге басып чыгара алат; бул учурда үзүлбөгөн мамыча каармандардын ортосундагы боштукка айланды. Белгилей кетчү нерсе S 0+2 тешик айкалышы менен белгиленет, ал эми 0+1 айкалышы бир колоннадагы бири-бирине жанаша турган эки тешик окурманда механикалык көйгөйлөрдү жаратат деп коркуп, башында колдонулган эмес.

Эмне үчүн тамгалар EBCDICте катарда эмес?

Эми сиз BCDIC таблицасын бир аз башкача бурчтан карай аласыз:

Эмне үчүн тамгалар EBCDICте катарда эмес?

0 жана боштуктун тескерисин кошпогондо, эң маанилүү эки бит 1931-жылдан бери тиешелүү белги үчүн перфокартага коюлган "өзгөчө белгини" аныктайт; жана эң аз маанилүү төрт бит картанын негизги бөлүгүнө тешилген цифраны аныктайт. Символ колдоо & - / 1930-жылдары IBM табуляторлоруна кошулган жана бул символдордун BCDIC коддоосу алар үчүн тешик комбинацияларына туура келет. Мындан да көп сандагы символдор үчүн колдоо керек болгондо, 8-катар кошумча “өзгөчө белги” катары тешилди – ошентип, бир тилкеде үч тешикчеге чейин болушу мүмкүн. Перфокарталардын бул форматы кылымдын аягына чейин дээрлик өзгөрүүсүз калган. СССРде алар IBMдин латын жана пунктуация коддорун калтырып, кириллица тамгалары үчүн 12, 11, 0 саптарга бир эле учурда бир нече «өзгөчө белгилерди» тешишти - бир мамычанын үч тешиги менен чектелбестен.

IBM 704 компьютери түзүлгөндө, алар анын символдук коддоосу жөнүндө көп ойлонушкан жок: алар ошол кезде перфокарталарда колдонулган коддоону алып, "аны өз ордуна коюп" гана коюшкан. 0-жылы, BCDICтен EBCDICке өтүү учурунда, жогорку тартиптеги биттер бир аз аралаштырылса да, ар бир символдун төмөнкү тартиптеги төрт биттери өзгөрүүсүз калган. Ошентип, өткөн кылымдын башында Холлерит тандап алган перфокарта форматы бардык IBM компьютерлеринин архитектурасына, анын ичинде IBM Zге чейин таасир эткен.

Source: www.habr.com

Комментарий кошуу