Uirh : другие произведения.

12 лучше чем 8

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:
Школа кожевенного мастерства: сумки, ремни своими руками
 Ваша оценка:


   Тетраэдр лучше чем
   шар - не такой круглый.
   приписывается Лобасти.
   12 лучше чем 8
  
   Двенадцатиразрядный байт лучше чем ныне используемый восьмиразрядный.
  
   1. Представление целых чисел.
   При 8-и битном байте однобайтное целое позволяет представлять числа примерно до 250, а двухбайтное - примерно до 64 тысяч. Что совершенно нелепо. Мы считаем до ста, до тысячи или до миллиона. При 12-и разрядном байте так и получается.
   1а. При управления оборудованием для выдачи и приема аналоговых сигналов широко используются ЦАПы и АЦП. Для них характерная разрядность - как раз двенадцать: восьми и даже десяти разрядов как правило мало, а 16 - это уже экзотика - для управления лишку, а для измерений мало. Для измерений бы надо разрядов 20 - 24. А это уже другие принципы преобразования. Счетноимпульсные на конденсаторе или например сигма-дельта. Однако в телефонии стандарт - четырнадцать бит с последующим неравномерным кодированием по динамическому диапазону (для экономии!) до восьми бит.
   2. Представление вещественных чисел.
   Меньше чем в четыре байта (то есть 32 бита) минимальное вещественное число не влезает. Посмотрим что при этом получается: семь верных разрядов мантиссы - вполне удовлетворительно, но при этом порядок не более чем +/-37 - скандал! Порядок надо бы хотя бы +/-100! Но тогда на мантиссу разрядов не хватит. Под плавающее число надо-бы 37 бит (как это раньше делали) или хотя бы 36. Как раз три двенадцатибитных байта. При этом (чуть пожертвовав точностью) можно использовать естественное деление числа на поля: порядок - обычное целое однобайтное число, мантисса - обычное целое двухбайтное. И увеличение точности получится вполне естественно - просто добавлением байтов к мантиссе.
   3. Представление адресов.
   При восьмибитном байте однобайтный адрес - нонсенс. В такое с позволения сказать "адресное пространство" ничего полезное не влезет. Он может пригодиться разве что при раздельной адресации команд и данных для самого-самого маленького пик-контроллера. Да и то... Двухбайтный адрес уже ничего, но по нынешним временам даже для средненького микроконтроллера его уже мало. Четыре байта - вполне приличный объем памяти, но скоро его уже будет не хватать. При двенадцатиразрядном байте однобайтный адрес (но тоже только для пространства данных) вполне имеет смысл. Двухбайтный - как раз для среднего микропроцессора. А трехбайтный и длиннее... - ну не всё ли равно 32 бита или 36?!
   4. Представление символов.
   Из представления символов восьмибитный байт собственно и появился. То есть изначально ASCII было даже семь бит - его авторы (жуткие эгоисты!) позаботились исключительно о себе любимых. Да, для аглицкого языка базовой части латинского алфавита, цифр, знаков препинания и еще некоторых никому не нужных закорючек (типа символа "Абезьяна", (она же "сАбака") которую впрочем тоже в конце концов пристроили к делу) действительно вполне достаточно. А как же все остальные? Даже тем, кто пользуется латинским алфавитом букв латинского алфавита, имеющихся в кодировке ASCII не хватает. (И вообще следует заметить, что латинский алфавит, при всех своих достоинствах недостаточен ни для одного языка, включая саму Латынь! А англичане на самом деле пишут иероглифами, которые делают из латинских букв, а не из черточек и закорючек как китайцы.) А коли так - все бросились изобретать свои национальные кодировки, заполняя кто в лес кто по дрова свободные 128 кодов тем что им не хватает. Кончилось это тем, что получившийся бардак узаконили: теперь велено для обозначения одной буквы использовать два байта - сам код буквы и номер национальной кодировки. А сами эти национальные кодировки отличаются друг от друга всего двумя - тремя, максимум десятью символами. Маразм крепчал...
   То есть для представления символов - для того, для чего восьмибитный байт был придуман, он тоже решительно не годится!
   Что надо сделать: ввести для всех языков использующих буквенный и слоговый способ записи одну единую для всех двенадцатибитную кодировку. Дело в том, что сорока - пятидесяти символов для любого буквенного алфавита (и даже для слогового - который не "алфавит", а "силлабарий") вполне достаточно. Но для многих алфавитов нужны два набора символов - заглавные и строчные. Пространство в 4096 символов разделить на 64 страницы по 60 символов. (Четыре символа на каждой странице зарезервировать для служебных целей.) Каждому алфавиту, т.е. всем языкам, использующим, например, латинский алфавит, предоставить либо одну либо две (при наличии строчных и заглавных букв) страницы. Где разместить вместе с базовым набором все отличающиеся символы всех языков. Но если например в немецком языке есть буква "U-с-умляутом" (т.е. с двумя точками) а в Эсперанто буква "U-краткое" (с такой же штукой, как русское "Й") то следует обозначать их одним и тем же символом "U-с-элементом". Кроме того выделить одну страницу для цифр и общеупотребительных знаков препинания и одну страницу для "управляющих" символов. Символы в этой кодировке можно хранить и передавать как в "натуральном" - двенадцатибитном виде, так и (учитывая наличие соответствующего оборудования) в традиционном восьмибитном, используя известную парадигму "переключения регистров". Например набор из 256 кодов, делится на четыре страницы по 64 символа. В первых двух размещаются управляющие символы и общеупотребительные (цифры, знаки препинания), а остальные две - переключаемые. Для переключения наборов символов, отображенных на каждую из этих двух страниц, используются символы "служебной" страницы.
  
   Таким образом к достоинствам традиционного восьмибитного байта можно отнести только его "традиционность". Даже с точки зрения аппаратной реализации разрядность байта безразлична. Поэтому в те времена когда машинные слова на байты не делились разрядность машинного слова выбирали не степень числа два а какую удобно: для "средних" машин - 36, 37 разрядов (Минск, Наири), для мини - 12 (PDP-7).
  

 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список

Кожевенное мастерство | Сайт "Художники" | Доска об'явлений "Книги"