Кодирование алфавитно-цифровой информации в вычислительных системах
ЭВМ работает с программами и данными, записанными на так называемом машинном языке, на котором вся информация представляется в виде двоичных слов.
Программа вычислений – это последовательность команд, определяющих машинные операции. Программа кодируется в цифровую форму и помещается в память машины. Программа содержит в себе последовательность команд, выполнение которых обеспечивает получение требуемого результата.
Машинная команда – символьный оператор, опознаваемый и выполняемый техническими средствами машины. Код команды обеспечивает выработку в ЭВМ сигналов, требуемых для выполнения определенных операций машинами над заданными числами. Код команды и данные, с которыми работает ЭВМ, – это комбинации двоичных цифр 0 и 1.
Для первых электронных вычислительных машин программы составлялись программистами в машинных кодах в восьмеричной системе счисления и ЭВМ использовались в основном для выполнения арифметических операций.
В дальнейшем сфера применения ЭВМ быстро расширялась. В настоящее время ЭВМ применяются не столько для научно-технических расчетов, сколько для обработки самых разнообразных данных в области экономики, управления, информационном обслуживании, обучении и т. д. Появились разнообразные алгоритмические языки программирования – ПАСКАЛЬ, ФОРТРАН, C++, ПРОЛОГ и другие, – играющие роль посредников между языком человека и машинным языком. В сообщениях подобного рода содержатся буквы алфавита, цифры от 0 до 9 и некоторые специальные символы. В машине каждому из этих знаков – алфавитно-цифровых символов – соответствует определенный код.
Для ввода алфавитно-цифровых символов в машинах первого поколения применялись пятиразрядные коды. С совершенствованием ЭВМ возникла необходимость использования новых служебных, арифметических, логических и других символов и поэтому появились различные варианты шести- и семиразрядных кодов. В ЭВМ для ввода и вывода информации применяют семиразрядный и восьмиразрядный коды, в микроЭВМ применяются преимущественно семиразрядные коды.
При преобразовании символов (знаков) в цифровой код между множествами символов и кодов должно иметь место взаимнооднозначное соответствие, т. е. разным символам должны быть назначены разные цифровые коды, и наоборот. Это условие является единственным необходимым требованием при построении схемы преобразования символов в числа. Однако существует ряд практических соглашений, принимаемых при построении схемы преобразования исходя из соображений наглядности, эффективности, стандартизации. Таким образом, из соображений наглядности и легкости запоминания целесообразно множества символов, упорядоченных по какому-либо признаку (например, лексико-графическому), кодировать также с помощью упорядоченной последовательности чисел.
Другим важным моментом при организации кодировки символьной информации является эффективное использование оперативной памяти ЭВМ. Так как общеупотребительными являются примерно 100 знаков (сюда помимо цифр, букв русского и английской алфавитов; знаков препинания, арифметических знаков входят знаки перевода строки, возврата каретки, возврата на шаг и т. п.) то для взаимно-однозначного преобразования всех знаков в коды достаточно примерно сотни чисел. Значение этого выбора заключается в том, что для размещения числа из этого диапазона в оперативной памяти достаточно одного байта, а не машинного слова. Следовательно, при такой организации кодировки достигается существенная экономия объема памяти.
При назначении кодов знакам надо также учитывать соглашения, касающиеся стандартизации кодировки. Можно назначить знаковые коды по своему выбору, но также возникнут трудности, связанные с необходимостью обмена информацией с другими организациями, использующими кодировку, отличную от нашей. В настоящее время существует несколько широко распространенных схем кодирования. Например, код BCD (Binary-Coded Decimal) – двоично-десятичный код используется для представления чисел, при котором каждая десятичная цифра записывается своим четырехбитовым двоичным эквивалентом. Этот код может оказаться полезным, когда нужно преобразовать строку числовых знаков, например, строку из числовых знаков «2537» в число 2537, над которым затем будут производиться арифметические действия. Расширением этого кода является EBCDIC (Extended Binary-Coded Decimal Interchange Code) – расширенный двоично-десятичный код обмена информацией, который преобразует как числовые, так и буквенные строки.
В ЭВМ типа PDP (или СМ) применяется код ASCII (American Standard Code for Information Interchange) – американский стандартный код обмена информацией. Этот код генерируется некоторыми внешними устройствами (принтером, АЦПУ) и используется для обмена данными между ними и оперативной памятью ЭВМ. Например, когда нажимаем на терминале клавишу G, то в результате этого действия код ASCII для символа G (1000111) передается в ЭВМ. А если надо этот символ распечатать на АЦПУ, то его код ASCII должен быть послан на печатающее устройство.
Отечественной версией кода ASCII является код КОИ-7 (двоичный семибитовый код обмена информацией), который совпадает с ним, за исключением букв русского алфавита.
Дата добавления: 2015-08-08; просмотров: 3601;