logo
Методичка

1.5.2 Представление символьной информации

Компьютер может оперировать только двоичными числами. Как же в нём должны храниться символьные данные? Для этого нужно заранее определить таблицу символов, с помощью которой будет установлено взаимнооднозначное соответствие между символами алфавита и целыми числами. До недавнего времени символы алфавита представлялись восьмиразрядными числами. При такой разрядности максимальное число различных символов, которые можно закодировать составляло 28 = 256. Американский национальный институт стандартов (ANSIAmerican National Standard Institute) разработал кодовую таблицу, содержащую 256 символов. Эта таблица называется ASCII таблицей (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Первые 128 символов образуют основную таблицу, которая содержит символы пунктуации, прописные и строчные буквы английского алфавита, цифры и управляющие коды. В таблице А.1 методических указаний к выполнению лабораторных работ приведены коды основной таблицы ASCII-символов. Остальные 128 символов образуют дополнительную таблицу, которая содержит символы псевдографики и буквы национального алфавита той или иной страны. Каждое государство кодировало “под себя” вторую половину ASCII-таблицы, то есть символы от 128 до 255. В таблице А.2 Приложения А приведены коды дополнительной таблицы ASCII-символов для России. Для того чтобы напечатать на экране те символы дополнительной таблицы, которых нет на клавиатуре, например, символы псевдографики, необходимо использовать в текстовом редакторе комбинацию клавиш ALT+Код, где Код – десятичный код символа, который необходимо напечатать.

Для одновременной поддержки в компьютере алфавитов различных стран мира была создана 16-разрядная кодовая таблица, которую назвали Юникод (Unicode) – таблица универсальных кодов. Она содержит 216 = 65536 символов. Этого достаточно для кодирования символов практически всех языков мира. Например, символы русского алфавита занимают в этой таблице диапазон кодов от 1040 до 1105 включительно. Просмотреть Unicode-таблицу можно в текстовом редакторе MS Word воспользовавшись вставкой символа и выбрав шрифт, например, Arial Unicode MS или Courier New.

Если Юникод записан в виде UTF-16 или UTF-32, то порядок байтов является существенным. Одним из способов обозначения порядка байтов в юникодовских текстах является постановка в начале файла специального символа BOM (byte order mark, U+FEFF) – «перевёрнутый» вариант этого символа (U+FFFE) не существует и не допускается в текстах.

Один или нескольких символов называются строкой. Строки хранятся в памяти компьютера в виде последовательности байтов, содержащих ASCII-коды или Unicode символов, в зависимости от того, какая таблица кодировки символов используется. Например, текстовой строке “ABC123” соответствует последовательность байтов в памяти компьютера в шестнадцатеричном представлении (об этом свидетельствует буква h, указанная в конце каждого байта) 41h, 42h, 43h, 31h, 32h, 33h. Такие строки называются ASCII-строками. Если в конце последовательности символов находится байт, содержащий нулевое значение 00h, такая строка называется нуль-завершённой (null-terminated) и обозначается как ASCIIZ. Нуль-завершённые строки используются в различных языках программирования, а также для передачи параметров при вызове функций операционной системы.

Вопросы для самопроверки

  1. К какому типу по способу обработки данных относится процессор, стоящий в Вашем компьютере?

  2. Каково соотношение между производительностью и тактовой частотой?

  3. Чем определяется энергоэффективность процессора?

  4. Поясните смысл термина мультиплексирование шины адреса и данных?

  5. Что такое конвейер, и какие ступени конвейера бывают?

  6. Какова зависимость между частотой и количеством ступеней конвейера?

  7. Перечислите основные достоинства и недостатки и гарвардской архитектуры.

  8. Перечислите основные достоинства и недостатки и фоннеймановской архитектуры.

  9. Раскройте способы адресации байтов в памяти компьютера.

  10. В чём отличие указателя команд и регистра команд?

  11. Какова функция дешифратора команд?

  12. Какова взаимосвязь пропускной способности системной шины и её частоты?

  13. Что такое нуль-завершённая строка?

  14. В каких процессорах используется RISC-архитектура?

  15. Что хранится в знаковом разряде числа?

  16. В чём отличие ALU и FPU?

  17. В чём отличие микропроцессоров и микроконтроллеров?