Микропроцессорные средства и системы управления: учебное пособие / А. В. Мануковский, А. Ж. Саринова.

обрабатываемых данных. Именно по разрядности регистров общего назначения определяют разрядность процессора. Например, 32- битный Pentium 4 имеет регистры общего назначения емкостью по 32 бита каждый (точнее, размерность регистров Pentium 4 в несколько раз больше, чем 32 разряда, однако программист может получить доступ только к 32 битам, остальные биты регистра — служебные). В оперативной памяти числа просто хранятся: их нельзя подвергнуть никаким непосредственным преобразованиям. Чтобы изменить число в ячейке оперативной памяти, необходимо сначала загрузить его в один из регистров процессора, произвести необходимые действия, а затем снова записать в указанную ячейку ОП. Это общий принцип работы всех процессоров. Поэтому регистры общего назначения, имеющиеся в них, часто называют сверхоперативной памятью. Над числом в регистре разрешается производить самые изощренные действия. Не говоря уже о таких операциях, как сложение и вычитание. Допустим, можно изменить отдельный бит числа или передвинуть все биты числа влево или вправо. Для чего? Чтобы подробно ответить на этот вопрос, придется прочитать лекцию по низкоуровневому программированию. Поэтому приведу простой пример. К примеру, вам захотелось описать алгоритм умножения числа 7 на число 8. Для того, кто знает свойства двоичных чисел, эта задача не сложная. Достаточно в двоичном представлении числа 7 (00000111) сдвинуть все биты на три позиции влево и дописать справа три нуля. Результирующее двоичное число (00111000) — это и есть десятичное 56 (результат умножения 7 на 8). Почему биты сдвинуты на три позиции? Потому что 8 — это третья степень двойки (2 — основание выбранной системы счисления). Даже в Pentium 4 умножение на степень двойки путем сдвига влево выполняется гораздо быстрее, чем с использованием специальной команды умножения MUL. А в первых процессорах (и Z80 в их числе) специальных команд умножения и деления не было. Умножение — не единственный случай, когда удобно работать с битами числа, но на описание всех прочих сфер применения этого метода просто не хватит места.

RkJQdWJsaXNoZXIy MTExODQxMg==