Nima uchun EBCDIC da harflar ketma-ket emas?

ASCII standarti 1963 yilda qabul qilingan va hozirda deyarli hech kim dastlabki 128 ta belgi ASCII dan farq qiladigan kodlashni ishlatmaydi. Biroq, o'tgan asrning oxirigacha EBCDIC faol ravishda ishlatilgan - IBM meynfreymlari va ularning sovet klonlari EC kompyuterlari uchun standart kodlash. EBCDIC zamonaviy IBM Z meynfreymlari uchun standart operatsion tizim bo'lgan z/OS da asosiy kodlash bo'lib qolmoqda.

EBCDIC ga qaraganingizda darhol ko'zingizga tushadigan narsa shundaki, harflar bir qatorda emas: orasida I и J va orasida R и S foydalanilmagan pozitsiyalar mavjud edi (bu intervallar uchun ES kompyuterida tarqatilgan Kirill harflari). Qo'shni harflar orasidagi teng bo'lmagan bo'shliqlar bilan harflarni kodlashni kim o'ylagan?

Nima uchun EBCDIC da harflar ketma-ket emas?

EBCDIC ("Kengaytirilgan BCDIC") nomining o'zi bu kodlash ASCII dan farqli o'laroq, noldan yaratilmaganligini, lekin o'sha paytdan beri foydalanilgan olti bitli BCDIC kodlashiga asoslanganligini ko'rsatadi. IBM 704 (1954):

Nima uchun EBCDIC da harflar ketma-ket emas?

Darhol orqaga qarab muvofiqlik yo'q: EBCDIC ga o'tishda yo'qolgan BCDIC ning qulay xususiyati bu raqamlar edi. 0-9 0-9 kodlariga mos keladi. Biroq, ular orasida ettita kod bo'shliqlari mavjud I и J va sakkizta kodda R и S allaqachon BCDICda bo'lgan. Ular qayerdan kelgan?

(E)BCDIC tarixi IBM tarixi bilan bir vaqtda - elektron kompyuterlardan ancha oldin boshlanadi. IBM to'rtta kompaniyaning qo'shilishi natijasida tashkil topgan bo'lib, ulardan texnologik jihatdan eng ilg'ori 1896 yilda ixtirochi Herman Xollerit tomonidan asos solingan Tabulating Machine kompaniyasi bo'ldi. tabulator. Birinchi tabulatorlar shunchaki ma'lum bir joyda teshilgan perfokartalar sonini hisoblab chiqdilar; ammo 1905 yilda Hollerith ishlab chiqarishni boshladi kasr tabulatorlar. O'nlik tabulator uchun har bir karta ixtiyoriy uzunlikdagi maydonlardan iborat bo'lib, bu maydonlarda odatiy o'nlik shaklda yozilgan raqamlar butun maydonchada jamlangan. Xaritaning maydonlarga bo'linishi tabulatorning patch panelidagi simlarni ulash orqali aniqlandi. Masalan, Hollerithning ushbu perfokartasida, saqlanadi Kongress kutubxonasida 23456789012345678 raqami aniq muhrlangan, maydonlarga bo'linganligi noma'lum:

Nima uchun EBCDIC da harflar ketma-ket emas?

Xollerit xaritasida teshiklar uchun 12 qator borligini eng diqqatli odamlar payqashgan bo'lishi mumkin, garchi raqamlar uchun o'ntasi etarli; va BCDICda eng muhim ikki bitning har bir qiymati uchun 12 ta mumkin bo'lgan koddan faqat 16 tasi ishlatiladi.

Albatta, bu tasodif emas. Dastlab, Xollerit "maxsus belgilar" uchun qo'shimcha qatorlarni mo'ljallangan, ular qo'shilmagan, balki oddiygina hisoblangan - birinchi tabulatorlarda bo'lgani kabi. (Bugun biz ularni “bitli maydonlar” deb atar edik.) Bundan tashqari, “maxsus belgilar” orasida guruh ko‘rsatkichlarini ham belgilash mumkin edi: agar jadval tuzishda nafaqat yakuniy summalar, balki oraliq summalar ham talab qilinsa, u holda tabulator qachon to‘xtab qoladi. u har qanday guruh ko'rsatkichlarining o'zgarishini aniqladi va operator raqamli taxtalardan oraliq jamlamalarni qog'ozga qayta yozishi, taxtani qayta o'rnatishi va jadvallarni qayta tiklashi kerak edi. Misol uchun, buxgalteriya balansini hisoblashda, kartalar guruhi bir sana yoki bitta kontragentga mos kelishi mumkin.

1920 yilga kelib, Xollerit nafaqaga chiqqanida, teletaypga ulangan va operator aralashuvini talab qilmasdan o'z-o'zidan oraliq to'plamlarni chop etishi mumkin bo'lgan "yozuvchi tabulatorlar" ishga tushdi. Endi qiyinchilik bosilgan raqamlarning har biri nimani anglatishini aniqlash edi. 1931 yilda IBM harflarni ko'rsatish uchun "maxsus belgilar" dan foydalanishga qaror qildi: 12-qatordagi belgi quyidagi harfni ko'rsatdi. A uchun I, 11-da - dan J uchun R, nolda - dan S uchun Z. Yangi "alifbo tabulatori" har bir kartalar guruhi nomini oraliq jami bilan birga chop etishi mumkin edi; bu holda, buzilmagan ustun belgilar orasidagi bo'shliqqa aylandi. Shuni esda tuting S 0+2 teshik birikmasi bilan belgilanadi va 0+1 kombinatsiyasi bir ustunda yonma-yon joylashgan ikkita teshik o'quvchida mexanik muammolarni keltirib chiqarishidan qo'rqib, dastlab ishlatilmagan.

Nima uchun EBCDIC da harflar ketma-ket emas?

Endi siz BCDIC jadvaliga biroz boshqacha burchakdan qarashingiz mumkin:

Nima uchun EBCDIC da harflar ketma-ket emas?

0 va bo'sh joy teskari bo'lishidan tashqari, eng muhim ikki bit 1931 yildan beri tegishli belgi uchun perfokartaga kiritilgan "maxsus belgini" belgilaydi; va eng kam ahamiyatli to'rt bit kartaning asosiy qismiga kiritilgan raqamni aniqlaydi. Simli qo'llab-quvvatlash & - / 1930-yillarda IBM tabulatorlariga qo'shilgan va bu belgilarning BCDIC kodlashi ular uchun teshilgan teshik birikmalariga mos keladi. Ko'proq belgilarni qo'llab-quvvatlash kerak bo'lganda, 8-qator qo'shimcha "maxsus belgi" sifatida teshildi - shuning uchun bitta ustunda uchta teshik bo'lishi mumkin edi. Ushbu perfokarta formati asr oxirigacha deyarli o'zgarmagan. SSSRda ular IBM-ning lotincha va tinish belgilarini kodlashni qoldirdilar va kirill harflari uchun ular bir vaqtning o'zida 12, 11, 0-qatorlarda bir nechta "maxsus belgilar" ni qo'yishdi - bitta ustunda uchta teshik bilan cheklanmagan.

IBM 704 kompyuteri yaratilganda, ular uning uchun belgilarni kodlash haqida uzoq o'ylamadilar: ular o'sha paytda perfokartalarda qo'llanilgan kodlashni olishdi va faqat "uni o'z o'rniga qo'yishdi". 0 yilda BCDIC dan EBCDIC ga o'tish davrida har bir belgining quyi tartibli to'rtta bitlari o'zgarishsiz qoldi, garchi yuqori tartibli bitlar biroz aralashtiriladi. Shunday qilib, o'tgan asrning boshida Hollerith tomonidan tanlangan perfokarta formati IBM Z ga qadar barcha IBM kompyuterlarining arxitekturasiga ta'sir ko'rsatdi.

Manba: www.habr.com

a Izoh qo'shish