Pourquoi les lettres dans EBCDIC ne sont-elles pas consécutives ?

Le standard ASCII a été adopté en 1963, et il est peu probable que quelqu'un utilise encore un encodage dont les 128 premiers caractères diffèrent de l'ASCII. Cependant, jusqu'à la fin du XXe siècle, l'EBCDIC était largement utilisé — c'est un encodage standard pour les mainframes IBM et leurs clones soviétiques EC EM. L'EBCDIC reste l'encodage principal dans z/OS — le système d'exploitation standard pour les mainframes IBM Z modernes.

Ce qui frappe immédiatement à la vue de l'EBCDIC, c'est que les lettres ne s'enchaînent pas : entre I et J et entre R et S il y a des positions inutilisées (sur l'EC EM, nous avons réparti les symboles cyrilliques). Qui aurait pu penser à coder des lettres avec des espaces inégaux entre des lettres adjacentes ? Le nom même EBCDIC (« Extended BCDIC ») suggère que cet encodage — contrairement à l'ASCII — n'a pas été créé à partir de rien, mais sur la base de l'encodage à six bits BCDIC, qui a été utilisé à partir de

Pourquoi les lettres dans EBCDIC ne sont-elles pas consécutives ?

IBM 704 Il n'y a pas de rétrocompatibilité immédiate : une caractéristique pratique de BCDIC, perdue lors du passage à EBCDIC, était que les chiffres (1954):

Pourquoi les lettres dans EBCDIC ne sont-elles pas consécutives ?

correspondent aux codes 0-9. Cependant, des ruptures de sept codes entre 0—9 et huit codes entre I et J BDC déjà étaient présentes. D'où provenaient-elles ? R et S L'histoire de l'(E)BCDIC commence en même temps que celle d'IBM — longtemps avant les ordinateurs électroniques. IBM a été créée par la fusion de quatre entreprises, dont la plus avancée technologiquement était la « Tabulating Machine Company », fondée en 1896 par Herman Hollerith — l'inventeur du

tableur . Les premiers tableurs ne faisaient que compter le nombre de cartes perforées, perforées à un endroit précis ; mais en 1905, Hollerith a commencé à fabriquer destableurs décimaux. Chaque carte pour un tableur décimal était composée de champs de longueur variable, et les nombres enregistrés dans ces champs sous forme décimale familière étaient additionnés sur l'ensemble de la pile. La division de la carte en champs était définie par des connexions de fils sur le panneau de connexion du tableur. Par exemple, sur cette carte perforée de Hollerith, conservée à la Bibliothèque du Congrès, le nombre 23456789012345678 est clairement inscrit, sans qu'il soit connu comment il est divisé en champs : Les plus attentifs auront remarqué que sur la carte de Hollerith, il y a 12 rangées pour les trous, bien que 10 soient suffisantes pour les chiffres ; et dans BCDIC, seulement 12 codes sur 16 possibles sont utilisés pour chaque valeur des deux bits les plus significatifs. à la Bibliothèque du Congrès, le nombre 23456789012345678 est manifestement frappé, sans qu'il soit possible de savoir comment il était divisé en champs :

Pourquoi les lettres dans EBCDIC ne sont-elles pas consécutives ?

Les observateurs les plus attentifs peuvent avoir remarqué que sur la carte de Hollerith, il y a 12 rangées pour les trous, bien que pour les chiffres, dix suffisent ; tandis qu'en BCDIC, seulement 12 codes sur 16 possibles sont utilisés pour chaque valeur des deux bits les plus significatifs.

Bien sûr, ce n'est pas une coïncidence. À l'origine, Hollerith avait prévu des rangées supplémentaires pour les « marques spéciales », qui n'étaient pas additionnées, mais simplement comptées — comme dans les premières tabulatrices. (Aujourd'hui, nous les appellerions « champs de bits ».) De plus, parmi les « marques spéciales », il était possible de définir des indicateurs de groupe : si lors de la tabulation, des sommes intermédiaires étaient nécessaires en plus des totaux finaux, la tabulatrice s'arrêtait lorsqu'elle détectait tout changement dans l'un des indicateurs de groupe, et l'opérateur devait recopier les sommes intermédiaires de l'affichage numérique sur papier, réinitialiser l'affichage, et reprendre la tabulation. Par exemple, lors du calcul des bilans comptables, un groupe de cartes pouvait correspondre à une date ou à un interlocuteur particulier.

En 1920, lorsque Hollerith était déjà à la retraite, des « tabulateurs imprimants » étaient utilisés, qui se connectaient à un télétype et pouvaient imprimer eux-mêmes des sommes intermédiaires, sans nécessiter l'intervention d'un opérateur. La complexité résidait désormais dans la détermination de ce à quoi chaque numéro imprimé faisait référence. En 1931, IBM a décidé d'utiliser des « marques spéciales » pour représenter des lettres : une marque dans la ligne 12 représentait la lettre de A à I, dans la ligne 11 — de J à R, dans la ligne zéro — de S à Z. Le nouveau « tabulateur alphabétique » pouvait imprimer le nom de chaque groupe de cartes avec des sommes intermédiaires ; ici, une colonne non perforée devenait un espace entre les caractères. Notez que S est représenté par la combinaison de perforations 0+2, tandis que la combinaison 0+1 n'était pas utilisée à l'origine de peur que deux perforations adjacentes dans une même colonne ne causent des problèmes mécaniques dans le lecteur.

Pourquoi les lettres dans EBCDIC ne sont-elles pas consécutives ?

Nous pouvons maintenant examiner la table BCDIC sous un autre angle :

Pourquoi les lettres dans EBCDIC ne sont-elles pas consécutives ?

Sauf pour le fait que 0 et l'espace ont été inversés, les deux bits les plus élevés définissent la « marque spéciale », qui était perforée en 1931 dans la carte perforée pour le symbole correspondant ; et les quatre bits inférieurs déterminent le chiffre perforé dans la partie principale de la carte. Le support des symboles & - / Elle a été intégrée dans les tabulations IBM dans les années 1930, et le codage de ces symboles en BCDIC correspond aux combinaisons de perforations pour eux. Lorsqu'un support pour un plus grand nombre de symboles a été nécessaire, une « marque spéciale » supplémentaire a été créée en perforant la ligne 8 - de cette manière, une colonne pouvait contenir jusqu'à trois perforations. Ce format de cartes perforées est resté pratiquement inchangé jusqu'à la fin du siècle. En URSS, les codages IBM de la latine et de la ponctuation ont été conservés, et pour les lettres cyrilliques, plusieurs « marques spéciales » ont été perforées dans les lignes 12, 11, 0 - sans se limiter à trois perforations par colonne.

Lors de la création de l'ordinateur IBM 704, peu de temps a été consacré à la codification des caractères : ils ont simplement pris le codage déjà utilisé à l'époque dans les cartes perforées, en ne changeant que le 0. En 1964, lors du passage de BCDIC à EBCDIC, les quatre bits les plus bas de chaque symbole ont été laissés inchangés, bien que les bits les plus hauts aient été légèrement remaniés. Ainsi, le format des cartes perforées, choisi par Hollerith au début du siècle dernier, a influencé l'architecture de tous les ordinateurs IBM, y compris l'IBM Z.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster