<<
>>

Принцип обратной записи

Разработчики вычислительной техники часто используют общий принцип, по кото- рому более важная информация должна размещаться в начале сообщения, а ее уточнение, различные детали — в конце.
В соответствии с этим принципом разме- щаются, например, элементы кода числа в формате с плавающей точкой: в началь- ном разряде поля находится самый важный элемент — код знака, затем располага- ется код порядка и на последнем месте находится наименее информативный код мантиссы, причем сначала размещаются старшие биты мантиссы, а в конце — ее младшие биты. Действие указанного принципа можно наблюдать и в повседнев- ной жизни, достаточно, например, прислушаться к объявлениям о прибытии по- ездов на вокзалах.

Применение обсуждаемого принципа к размещению кодов данных в полях памя- ти с учетом ряда технических соображений реализуется в виде правила, по кото- рому старшие байты полей, то есть байты с большими номерами, должны содер- жать более важную информацию.

ВНИМАНИЕ ----------------------------------------------------------------------------------------------------------

В процессорах Intel старшие (начальные) биты кода занимают старшие байты поля, а младшие (завершающие) биты кода занимают соответственно младшие байты поля.

С точки зрения этого правила обратим внимание на способы нумерации бай- тов и битов внутри полей памяти (см.

рис. 4.2). Байты внутри полей, так же как в оперативной памяти в целом, нумеруются слева направо, что, вообще говоря, соответствует естественному способу чтения текстов и выполнения нумерации в большинстве национальных языков. В то же время биты внутри отдельных байтов и полей памяти нумеруются справа налево. Необходимость в использова- нии такого порядка нумерации битов объясняется действием закона разложения по основанию системы счисления, в соответствии с которым в позиционных сис- темах определяются значения чисел.
В нумерации справа налево номер любого бита совпадает с номером разряда соответствующей цифры кода, что обеспечива- ет эффективное выполнение арифметических операций над кодами целых чисел.

Порядок нумерации байтов внутри поля, очевидно, противоречит правилу раз- мещения старших и младших битов кода. Рассматривая, например, содержимое поля на рис. 4.7, а как код числа в формате с плавающей точкой, увидим, что не- сущий самую важную информацию знаковый бит попадает в нулевой байт поля, а наименее информативный код мантиссы находится в первом, втором и третьем байтах. Причем младшие цифры кода мантиссы находятся в старшем, третьем байте, а ее старшие цифры — в первом. Таким образом, нужно отказываться либо от выбранных способов нумерации, либо от обсуждаемого принципа. Разработ- чики процессоров Intel разрешили это противоречие, введя обратный порядок записи кодов, в соответствии с которым старшие цифры кода всегда записыва- ются в старшие байты поля.

На рис. 4.7, а и б показаны два способа записи кода в поле: прямой и обратный. Использование прямого способа сохраняет естественный порядок следования битов кода в поле, но нарушает обсуждаемый принцип — старшие разряды кода попадают в младшие байты поля, в то время как обратный порядок записи удов- летворяет этому принципу.

Все необходимые действия по поддержанию обратного порядка записи кодов в поля памяти выполняются аппаратурой компьютера автоматически. Поэтому

программисту в большинстве случаев о нем можно не беспокоиться. На практи- ке об обратном порядке записи необходимо помнить, когда приходится анализи- ровать содержимое различных полей или участков оперативной памяти. Рассмот- рим пример, изображенный на рис. 4.6. Если не вспомнить о принятом способе записи кодов, можно прийти к естественному, но ошибочному выводу о том, что поле с адресом 0000C16 содержит код 01FC16, который в знаковом представлении формата с фиксированной точкой соответствует числу +50810. Учитывая обратный порядок записи, приходим к выводу о том, что данное слово памяти фактиче- ски содержит код FC0116, который в той же интерпретации соответствует числу -102310. Сложности возникают также в случае передачи информации в компью- тер, процессор которого использует другой порядок записи, и в некоторых дру- гих ситуациях.

<< | >>
Источник: Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей. 2007

Еще по теме Принцип обратной записи:

  1. Принцип «обратной связи».
  2. Принцип "обратной связи".
  3. 10.8.1. Техника записи импровизаций
  4. ЗАВЕДИТЕ ПРИВЫЧКУ К ЗАПИСИ
  5. Глава первая Познакомьтесь с Крайоном Начало записей...
  6. Репортаж в записи
  7. Дети о взрослых из записей Д.С.
  8. Полторы дыры из записей Д.С.
  9. Стирание записи изображения и звука
  10. Упражнение ЗАПИСИ ДЛЯ ИСПРАВЛЕНИЯ КОНТРАКТА ДУШИ
  11. Прослушивание магнитофонной записи своего голоса проявляет детскую боязнь оказаться недостаточно хорошим.
  12. Врата настежь - налог на удобство из записей доктора Кстонова
  13. Очищение Старых Лемурийских Записей На рассвете Новой Эры на Земле
  14. Рассказывает потомственный мастер-кузнец Иван Николаевич Мельников, доживший до 99 лет (по моей давней записи).