Mengapa surat-surat tidak berurutan di EBCDIC?

Standar ASCII diadopsi pada tahun 1963, dan sekarang hampir tidak ada orang yang menggunakan pengkodean yang 128 karakter pertamanya berbeda dari ASCII. Namun, hingga akhir abad terakhir, EBCDIC digunakan secara aktif - pengkodean standar untuk mainframe IBM dan komputer EC klon Soviet mereka. EBCDIC tetap menjadi pengkodean utama di z/OS, sistem operasi standar untuk mainframe IBM Z modern.

Yang langsung menarik perhatian Anda saat melihat EBCDIC adalah huruf-hurufnya tidak berurutan: di antara I и J dan di antaranya R и S ada posisi yang tidak digunakan (di komputer ES untuk interval ini didistribusikan Karakter Sirilik). Siapa sangka untuk mengkodekan huruf-huruf dengan spasi yang tidak sama antar huruf yang berdekatan?

Mengapa surat-surat tidak berurutan di EBCDIC?

Nama EBCDIC (“Extracted BCDIC”) mengisyaratkan bahwa pengkodean ini - tidak seperti ASCII - tidak dibuat dari awal, tetapi berdasarkan pengkodean BCDIC enam-bit, yang telah digunakan sejak saat itu. IBM704 (1954):

Mengapa surat-surat tidak berurutan di EBCDIC?

Tidak ada kompatibilitas langsung ke belakang: fitur praktis BCDIC yang hilang dalam transisi ke EBCDIC adalah angka-angkanya 0-9 sesuai dengan kode 0-9. Namun, ada kesenjangan tujuh kode di antaranya I и J dan dalam delapan kode di antaranya R и S sudah pernah ke BCDIC. Dari mana asalnya?

Sejarah (E)BCDIC dimulai bersamaan dengan sejarah IBM - jauh sebelum komputer elektronik. IBM dibentuk sebagai hasil penggabungan empat perusahaan, yang paling berteknologi maju adalah Tabating Machine Company, didirikan pada tahun 1896 oleh Herman Hollerith, penemunya. tabulator. Tabulator pertama hanya menghitung jumlah kartu berlubang yang dilubangi di lokasi tertentu; tetapi pada tahun 1905 Hollerith mulai berproduksi desimal tabulator. Setiap kartu untuk tabulator desimal terdiri dari bidang dengan panjang sewenang-wenang, dan angka-angka yang ditulis di bidang ini dalam bentuk desimal biasa dijumlahkan ke seluruh dek. Pembagian peta menjadi beberapa bidang ditentukan dengan menghubungkan kabel pada panel patch tabulator. Misalnya, pada kartu punch Hollerith ini, disimpan di Library of Congress tertera nomor 23456789012345678 dengan jelas, tidak diketahui karena terbagi dalam bidang:

Mengapa surat-surat tidak berurutan di EBCDIC?

Orang yang paling penuh perhatian mungkin telah memperhatikan bahwa pada peta Hollerith terdapat 12 baris lubang, meskipun sepuluh sudah cukup untuk angka; dan di BCDIC, untuk setiap nilai dari dua bit paling signifikan, hanya 12 kode yang digunakan dari 16 kemungkinan.

Tentu saja ini bukanlah suatu kebetulan. Awalnya, Hollerith bermaksud menambahkan baris tambahan untuk "tanda khusus" yang tidak dijumlahkan, tetapi hanya dihitung - seperti pada tabulator pertama. (Sekarang kita menyebutnya “bidang bit”.) Selain itu, di antara “tanda khusus” dimungkinkan untuk menetapkan indikator kelompok: jika tabulasi tidak hanya memerlukan jumlah akhir, tetapi juga jumlah perantara, maka tabulator akan berhenti ketika itu mendeteksi perubahan pada salah satu indikator grup, dan operator harus menulis ulang subtotal dari papan digital ke kertas, mengatur ulang papan, dan melanjutkan tabulasi. Misalnya, ketika menghitung saldo akuntansi, sekelompok kartu dapat berhubungan dengan tanggal yang sama atau satu pihak lawan.

Pada tahun 1920, ketika Hollerith sudah pensiun, “tabulator pengetikan” mulai digunakan, yang terhubung ke teletype dan dapat mencetak sendiri subtotalnya tanpa memerlukan campur tangan operator. Kesulitannya sekarang adalah menentukan apa yang dimaksud dengan masing-masing nomor yang tercetak. Pada tahun 1931, IBM memutuskan untuk menggunakan “tanda khusus” untuk menunjukkan huruf: tanda di baris ke-12 menunjukkan huruf dari A untuk I, pada tanggal 11 - dari J untuk R, pada nol - dari S untuk Z. "Tabulator alfabet" baru dapat mencetak nama setiap kelompok kartu beserta subtotalnya; dalam hal ini, kolom yang tidak terputus berubah menjadi spasi antar karakter. Harap dicatat bahwa S ditandai dengan kombinasi lubang 0+2, dan kombinasi 0+1 pada awalnya tidak digunakan karena khawatir dua lubang yang bersebelahan dalam kolom yang sama akan menyebabkan masalah mekanis pada pembaca.

Mengapa surat-surat tidak berurutan di EBCDIC?

Sekarang Anda dapat melihat tabel BCDIC dari sudut yang sedikit berbeda:

Mengapa surat-surat tidak berurutan di EBCDIC?

Kecuali bahwa 0 dan spasi dibalik, dua bit paling signifikan menentukan "tanda khusus" yang telah dimasukkan ke dalam kartu berlubang untuk karakter yang bersangkutan sejak tahun 1931; dan empat bit paling tidak signifikan menentukan digit yang dimasukkan ke bagian utama kartu. Dukungan simbol & - / telah ditambahkan ke tabulator IBM pada tahun 1930-an, dan pengkodean BCDIC dari karakter-karakter ini sesuai dengan kombinasi lubang yang dibuat untuk karakter-karakter tersebut. Ketika dukungan untuk jumlah karakter yang lebih besar diperlukan, baris 8 dilubangi sebagai “tanda khusus” tambahan - sehingga, mungkin terdapat hingga tiga lubang dalam satu kolom. Format kartu berlubang ini hampir tidak berubah hingga akhir abad ini. Di Uni Soviet, mereka meninggalkan pengkodean Latin dan tanda baca IBM, dan untuk huruf Cyrillic mereka membuat beberapa "tanda khusus" sekaligus di baris 12, 11, 0 - tidak terbatas pada tiga lubang dalam satu kolom.

Ketika komputer IBM 704 dibuat, mereka tidak berpikir panjang tentang pengkodean karakternya: mereka mengambil pengkodean yang sudah digunakan pada kartu berlubang pada saat itu, dan hanya “meletakkannya pada tempatnya”. Pada tahun 0, selama transisi dari BCDIC ke EBCDIC, empat bit orde rendah dari setiap simbol dibiarkan tidak berubah, meskipun bit orde tinggi dikocok sedikit. Dengan demikian, format kartu berlubang yang dipilih oleh Hollerith pada awal abad terakhir memengaruhi arsitektur semua komputer IBM, hingga IBM Z.

Sumber: www.habr.com

Tambah komentar