Perché in EBCDIC le lettere non sono ordinate in sequenza?

Lo standard ASCII è stato adottato nel 1963 e oggi è difficile trovare qualcuno che utilizzi una codifica i cui primi 128 caratteri differiscano da ASCII. Tuttavia, fino alla fine del secolo scorso, l'EBCDIC era ampiamente usato — la codifica standard per i mainframe IBM e i loro cloni sovietici ES EVM. L'EBCDIC rimane la codifica principale in z/OS — il sistema operativo standard per i moderni mainframe IBM Z.

Quello che salta subito all'occhio guardando l'EBCDIC è che le lettere non sono in sequenza: tra I e J e tra R e S ci sono posizioni non utilizzate (sugli ES EVM, tra questi intervalli sono stati distribuiti i simboli cirillici). A chi è venuto in mente di codificare le lettere con intervalli irregolari tra lettere adiacenti?

Perché in EBCDIC le lettere non sono ordinate in sequenza?

Il nome stesso EBCDIC («Extended BCDIC») suggerisce che questa codifica — a differenza di ASCII — non è stata creata dal nulla, ma è basata sulla codifica a sei bit BCDIC, che veniva utilizzata fin dal IBM 704 (1954):

Perché in EBCDIC le lettere non sono ordinate in sequenza?

Non c'è compatibilità diretta: una caratteristica utile del BCDIC, persa nel passaggio all'EBCDIC, era che ai numeri 09 corrispondono codici da 0 a 9. Tuttavia, ci sono interruzioni di sette codici tra I e J e otto codici tra R e S In BCDIC erano già presenti. Da dove provengono?

La storia (E)BCDIC inizia contemporaneamente alla storia di IBM, molto prima dei computer elettronici. IBM nacque dalla fusione di quattro aziende, la più avanzata tecnologicamente delle quali era la "Tabulating Machine Company", fondata nel 1896 da Hermann Hollerith, l'inventore della macchina per la tabulazione.I primi tabulatori semplicemente contavano il numero di schede perforate, colpite in un determinato punto; ma nel 1905 Hollerith iniziò la produzione di tabulatori decimali. Ogni scheda per il tabulatore decimale era composta da campi di lunghezza variabile, e i numeri registrati in questi campi nella consueta forma decimale venivano sommati per tutta la pila. La suddivisione della scheda in campi veniva definita dalla connessione dei fili sul pannello di commutazione del tabulatore. Ad esempio, su questa scheda perforata di Hollerith, conservata nella Biblioteca del Congresso, è chiaramente inciso il numero 23456789012345678, non si sa come suddiviso in campi: I più attenti potrebbero notare che sulla scheda di Hollerith ci sono 12 righe per i fori, mentre per le cifre bastano dieci; e in BCDIC per ciascun valore dei due bit superiori vengono utilizzati solo 12 codici su 16 possibili.

Perché in EBCDIC le lettere non sono ordinate in sequenza?

I più attenti potrebbero notare che nella mappa di Hollerith ci sono 12 righe per i fori, anche se per i numeri ne bastano dieci; e nel BCDIC vengono utilizzati solo 12 codici su 16 per ciascun valore dei due bit più significativi.

Certo, non è un caso casuale. Inizialmente, Hollerith prevedeva colonne aggiuntive per le "note speciali", che non venivano sommate, ma semplicemente conteggiate — proprio come nei primissimi tabulatori. (Oggi le chiameremmo "campi bit") Inoltre, tra le "note speciali" era possibile definire indicatori di gruppo: se nella tabulazione erano necessarie non solo le somme finali, ma anche quelle intermedie, il tabulatore si fermava quando rilevava un cambiamento in uno qualsiasi degli indicatori di gruppo, e l'operatore doveva trascrivere le somme intermedie dai pannelli digitali su carta, azzerare il pannello e riprendere la tabulazione. Ad esempio, nel conteggio dei bilanci contabili, un gruppo di schede poteva corrispondere a una data o a un singolo contraente.

Nel 1920, quando Hollerith era già in pensione, entrarono in uso i "tabulatori di stampa", che si collegavano a un teletype e potevano stampare automaticamente somme intermedie, senza richiedere l'intervento dell'operatore. La difficoltà consisteva ora nel determinare a cosa si riferisse ciascun numero stampato. Nel 1931, IBM decise di utilizzare "marche speciali" per designare le lettere: un segno nella riga 12 indicava la lettera da A fino a I, nella riga 11 da J fino a R, nella riga zero da S fino a Z. Il nuovo "tabulatore alfabetico" poteva stampare il nome di ciascun gruppo di schede insieme con le somme intermedie; in questo caso, la colonna non punteggiata si trasformava in uno spazio tra i caratteri. Nota che S è rappresentata dalla combinazione di fori 0+2, mentre la combinazione 0+1 non veniva utilizzata inizialmente per timore che due fori vicini nella stessa colonna potessero causare problemi meccanici nel lettore.

Perché in EBCDIC le lettere non sono ordinate in sequenza?

Ora si può guardare la tabella BCDIC da un'angolazione leggermente diversa:

Perché in EBCDIC le lettere non sono ordinate in sequenza?

A parte il fatto che 0 e spazio sono stati scambiati, i due bit più significativi definiscono un «marchio speciale», che dal 1931 veniva perforato nella scheda per il simbolo corrispondente; i quattro bit meno significativi definiscono la cifra perforata nella parte principale della scheda. Supporto simboli & - / è stato introdotto nei tabulatori IBM negli anni '30, e la codifica di questi simboli in BCDIC corrisponde alle combinazioni di perforazioni per essi. Quando fu necessaria la supporto di un numero ancora maggiore di simboli, si iniziò a perforare una serie di 8 come ulteriore «marchio speciale» — in questo modo, in una colonna potevano esserci fino a tre perforazioni. Questo formato di schede perforate è rimasto praticamente invariato fino alla fine del secolo. Nell'URSS furono mantenuti i codici IBM per l'alfabeto latino e la punteggiatura, mentre per le lettere cirilliche venivano perforati immediatamente diversi «marchi speciali» nelle righe 12, 11, 0 — non limitandosi a tre perforazioni in una colonna.

Quando è stato creato il computer IBM 704, non si è riflettuto a lungo sulla codifica dei caratteri: è stata adottata la codifica già utilizzata allora nei cartellini perforati, con solo lo 0 «messo al suo posto». Nel 1964, passando da BCDIC a EBCDIC, i quattro bit inferiori di ogni carattere sono rimasti invariati, anche se quelli superiori sono stati un po' mescolati. In questo modo, il formato dei cartellini perforati scelto da Hollerith all'inizio del secolo scorso ha influenzato l'architettura di tutti i computer IBM, fino all'IBM Z incluso.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster