Чтение онлайн

ЖАНРЫ

Искусство схемотехники. Том 2 (Изд.4-е)
Шрифт:

Упражнение 10.10. Чтобы понять смысл последней фразы, напишите представление числа 1.0 в формате IBM. После этого напишите следующее меньшее число в том же формате.

Использование в формате IBM числа 16 в качестве основания увеличивает динамический диапазон, но уменьшает точность. Более того, точность несколько изменяется от числа к числу из-за переменного количества лидирующих двоичных нулей; это явление известно, как «качание» (wobble). В формате IBM отсутствуют «не числа» и бесконечность, и имеется только один нуль (все биты нули); не нормализованные числа не допускаются. Имеется формат IBM и для чисел с двойной точностью (64 бит). Последний формат на рис. 10.24, MIL STD-1750A, используется в военных системах. Он необычен в том отношении, что вместо знака и величины числа в нем записывается мантисса в форме дополнения до двух и порядок тоже в форме дополнения до двух (строго говоря, предыдущие форматы характеризуются записью мантиссы в форме знак/величина, а порядка в форме смещенного двоичного). В формате отсутствуют бесконечности, «не числа» и не нормализованные числа; имеется вариант для чисел с удвоенной точностью.

Хранение чисел в

памяти.
Разработчики микропроцессоров любят выражать свою индивидуальность, предусматривая хранение чисел в памяти в своеобразном порядке. Микропроцессоры 8086/8 (а, следовательно, и компьютеры IBM PC и совместимые с ними) записывают числа в память, начиная с самого младшего байта, который располагается в байте памяти с наименьшим номером; для семейства 68000 характерен обратный порядок. Вот счастье-то!

Преобразование данных в процессе ввода-вывода. Нам пришлось уже обсуждать форматы данных в контексте аппаратного интерфейса, который выдавал упакованные двоично-десятичные числа. Каков наиболее оптимальный способ работы с 8-разрядными данными, получаемыми из такого интерфейса? В зависимости от типа входных данных, числа значащих цифр, диапазона их изменения и проч. может оказаться удобным преобразовывать входные данные в числа с плавающей точкой (для получения максимального динамического диапазона), или в целые числа (для получения максимального разрешения), или выполнить какие-то другие числовые процедуры (например, вычисление отклонений от среднего значения или разностей последующих отсчетов). Все это можно делать в программном «драйвере» конкретного устройства, т. е. в программном модуле, который управляет вводом данных. Мы видим, таким образом, что оптимизация программного обеспечения не может быть выполнена без понимания особенностей аппаратуры и смысла принимаемых данных. Еще одна причина, по которой столь важно освоиться в этом чудесном мире электронной аппаратуры!

Таблицы

7

8

9

10

* * *

notes

Примечания

1

Шум лопающихся при поджаривании, кукурузных зерен. — Прим. перев.

2

Многие читатели, имеющие дело с персональными компьютерами, наверняка слышали слово boot– сектор (сектор начальной загрузки). Для того чтобы дать понять читателю, какие образы возникали у отцов — основателей персональных компьютеров, отметим, что среди множества значений слова boot есть и такое как «ударить сапогом», а термин bootstrap фигурирует в выражении, которое переводится как «поднять самого себя за шнурки ботинок». — Прим. перев.

3

Точнее говоря, выполнить после дальнейшей обработки полученного объектного кода программой-редактором связей. Непосредственно исполнять объектный код компьютер не может. — Прим. перев.

4

Кроме арифметических флагов регистр флагов содержит еще три дополнительных флага для управления некоторыми действиями ЦП: флаг направления (DF), флаг разрешения прерываний (IF), флаг трассировки (ТF). — Прим. перев.

Поделиться с друзьями: