EBCDIC'de harfler neden sıralı değil?

ASCII standardı 1963'te kabul edildi ve artık neredeyse hiç kimse ilk 128 karakteri ASCII'den farklı olan bir kodlama kullanmıyor. Bununla birlikte, geçen yüzyılın sonuna kadar, IBM ana bilgisayarları ve onların Sovyet klonları EC bilgisayarları için standart kodlama olan EBCDIC aktif olarak kullanıldı. EBCDIC, modern IBM Z ana bilgisayarları için standart işletim sistemi olan z/OS'ta birincil kodlama olmaya devam ediyor.

EBCDIC'e baktığınızda hemen gözünüze çarpan şey harflerin sıralı olmamasıdır: arasında I и J ve arasında R и S kullanılmayan pozisyonlar vardı (ES bilgisayarında bu aralıklar için dağıtılmış Kiril karakterleri). Harfleri bitişik harfler arasında eşit olmayan boşluklarla kodlamak kimin aklına gelirdi?

EBCDIC'de harfler neden sıralı değil?

EBCDIC ("Genişletilmiş BCDIC") adı, bu kodlamanın - ASCII'den farklı olarak - sıfırdan yaratılmadığını, o zamandan beri kullanılan altı bitlik BCDIC kodlamasını temel aldığını ima ediyor. IBM 704 (1954):

EBCDIC'de harfler neden sıralı değil?

Hemen geriye dönük bir uyumluluk yoktur: EBCDIC'ye geçişte kaybedilen BCDIC'nin kullanışlı bir özelliği, sayıların 0-9 0-9 kodlarına karşılık gelir. Ancak aralarında yedi kodluk boşluklar vardır. I и J ve aradaki sekiz kodda R и S zaten BCDIC'e gitmiştim. Nereden geldiler?

(E)BCDIC'nin tarihi, elektronik bilgisayarlardan çok önce, IBM'in tarihiyle eşzamanlı olarak başlar. IBM, teknolojik açıdan en gelişmiş olanı, mucit Herman Hollerith tarafından 1896 yılında kurulan Tablolama Makinesi Şirketi olan dört şirketin birleşmesi sonucu kuruldu. tabulator. İlk tablolayıcılar, belirli bir konuma delinmiş delikli kartların sayısını basitçe sayıyordu; ancak 1905'te Hollerith üretime başladı ondalık tablolayıcılar. Ondalık tablolayıcının her kartı, isteğe bağlı uzunluktaki alanlardan oluşuyordu ve bu alanlara olağan ondalık biçimde yazılan sayılar, tüm deste boyunca toplandı. Haritanın alanlara dağılımı, kabloların tablolayıcının bağlantı paneline bağlanmasıyla belirlendi. Örneğin, bu Hollerith delikli kartında, saklanmış Kongre Kütüphanesi'nde, alanlara bölünmüş olarak bilinmeyen 23456789012345678 numarası açıkça damgalanmıştır:

EBCDIC'de harfler neden sıralı değil?

En dikkatli kişi, Hollerith haritasında delikler için 12 sıra bulunduğunu, ancak sayılar için on tane yeterli olduğunu fark etmiş olabilir; ve BCDIC'de en anlamlı iki bitin her değeri için mümkün olan 12 koddan yalnızca 16'si kullanılır.

Elbette bu bir tesadüf değil. Başlangıçta Hollerith, ilk tablolarda olduğu gibi "özel notlar" için toplanmayan, ancak basitçe sayılan ek satırlar tasarladı. (Bugün onlara “bit alanları” adını vereceğiz.) Ek olarak, “özel işaretler” arasında grup göstergelerini ayarlamak mümkündü: tablolama yalnızca nihai toplamları değil, aynı zamanda ara olanları da gerektiriyorsa, tablo oluşturucu ne zaman duracaktı? grup göstergelerinden herhangi birinde bir değişiklik tespit etti ve operatörün dijital kartlardaki alt toplamları kağıda yeniden yazması, kartı sıfırlaması ve tablolamaya devam etmesi gerekti. Örneğin, muhasebe bakiyeleri hesaplanırken bir grup kart, bir tarihe veya bir karşı tarafa karşılık gelebilir.

1920'de Hollerith zaten emekli olduğunda, bir teletipe bağlanan ve operatörün müdahalesine gerek kalmadan alt toplamları kendileri yazdırabilen "daktilo tablolayıcıları" kullanıma sunuldu. Şimdi zorluk, basılı sayıların her birinin neye atıfta bulunduğunu belirlemekti. 1931'de IBM, harfleri belirtmek için "özel işaretler" kullanmaya karar verdi: 12. satırdaki işaret, A karşı I11. yüzyıldan itibaren J karşı R, sıfırdan - itibaren S karşı Z. Yeni "alfabe tablolayıcı", her kart grubunun adını alt toplamlarla birlikte yazdırabilir; bu durumda kesintisiz sütun, karakterler arasında bir boşluğa dönüştü. Lütfen bunu not al S 0+2 delik kombinasyonuyla belirtilir ve 0+1 kombinasyonu başlangıçta aynı sütunda yan yana iki deliğin okuyucuda mekanik sorunlara neden olabileceği korkusuyla kullanılmamıştır.

EBCDIC'de harfler neden sıralı değil?

Artık BCDIC tablosuna biraz farklı bir açıdan bakabilirsiniz:

EBCDIC'de harfler neden sıralı değil?

0 ve boşluğun ters çevrilmesi dışında, en önemli iki bit, 1931'den bu yana karşılık gelen karakter için delikli karta delinmiş olan "özel işareti" tanımlar; ve en az anlamlı dört bit, kartın ana kısmına yazılan rakamı belirler. Sembol desteği & - / 1930'larda IBM çizelgeleyicilerine eklendi ve bu karakterlerin BCDIC kodlaması, onlar için açılan delik kombinasyonlarına karşılık geliyor. Daha fazla sayıda karakter için desteğe ihtiyaç duyulduğunda, ek bir "özel işaret" olarak 8. satıra yumruk atıldı; böylece bir sütunda en fazla üç delik olabiliyordu. Delikli kartların bu formatı yüzyılın sonuna kadar neredeyse hiç değişmeden kaldı. SSCB'de, IBM'in Latince ve noktalama işareti kodlamalarını bıraktılar ve Kiril harfleri için, bir sütundaki üç delikle sınırlı olmamak üzere, 12, 11, 0 satırlarına aynı anda birkaç "özel işaret" deldiler.

IBM 704 bilgisayarı yaratıldığında, bunun için karakter kodlaması üzerinde fazla düşünmediler: o zamanlar delikli kartlarda zaten kullanılan kodlamayı aldılar ve yalnızca "yerine koydular." 0'te BCDIC'den EBCDIC'ye geçiş sırasında, her sembolün düşük dereceli dört biti değişmeden kaldı, ancak yüksek dereceli bitler biraz karıştırıldı. Böylece geçen yüzyılın başında Hollerith tarafından seçilen delikli kart formatı, IBM Z'ye kadar tüm IBM bilgisayarlarının mimarisini etkiledi.

Kaynak: habr.com

Yorum ekle