Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_итог7.doc
Скачиваний:
19
Добавлен:
17.11.2019
Размер:
16.96 Mб
Скачать

1.3 Системы счисления, применяемые в микропроцессорной

технике

В практике находят широкое применение следующие системы счисления.

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

Двоичная. Основание двоичной системы . Используется только две цифры . Такая система естественно описывает состояния дискретных элементов (ключевых схем), являющихся базой микропрцессорной схемотехники. На этой системе основываются аналитические бинарные модели дискретных устройств.

В двоичной системе счисления целой и дробной частям смешанного число соответствуют следующие полиномиальные представления.

Например, целой части двоичного числа соответствует двоичный полином вида

Дробная часть этого числа запишется в виде

Очевидно, что для получения двоичного полинома при представлении весовых коэффициентов и цифр должны использоваться правила двоичной системы счисления. Более того, все операции в полиноме (умножение, возведение в степень, сложение) должны выполняться по правилам двоичной арифметики.

В этом случае имеет место полиномиальное представление двоичного числа в виде двоичного полинома.

Система не лишена недостатков: для представления целых чисел в системе с основанием 2 необходимо больше разрядов, чем, в других систем с непосредственным представлением чисел (см. Рис.1).

Шестнадцатеричная. Система с основанием , в которой используется шестнадцать цифр . Цифрами, превышающими по значению 9, служат прописные буквы латинского алфавита. В этой системе счисления полиномиальное представление смешанного числа, например, имеет следующий вид.

Целая часть этого числа представляется как

Дробная часть

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

Восьмеричная СС. Это система с основанием , в которой используется восемь цифр {0,1,2,…,7}.

В восьмеричной системе счисления смешанное число, например выражается в следующем виде.

Целая часть числа представляется как полином вида

Дробная часть имеет вид

Обобщая вышесказанное, необходимо сделать следующие выводы.

Для получения –ичного полинома –ичного числа необходимо все элементы полинома представлять в –ичной системе счисления.

Более того, все операции в полиноме (умножение, возведение в степень сложение) должны выполняться по правилам –ичной арифметики.

Обращает на себя внимание, что кодовые записи оснований во всех системах счисления выглядят одинаково –10. Однако, это разные по количественному эквиваленту числа, а именно .

Двоично-десятичная система счисления (BCD (Binary Coded Decimal)). Относится к двоично–кодируемым позиционным системам.

Основанием системы является десятичное число 10, а для кодирования десятичных цифр используется десять двоичных четырехразрядных комбинаций (тетрад). Каждая комбинация однозначно соответствует десятичной цифре в десятичном числе.

Известно, что число двоичных четырехразрядных комбинаций превышает число цифр десятичной системы счисления – 10 .

Вследствие этого возникает дополнительная проблема выбора оптимального соответствия между десятичными цифрами и двоичными тетрадами (кодирование).

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

Число различных вариантов кодирования определяется как число размещений с перестановками из шестнадцати элементов (число возможных тетрад - ) на десяти местах (число десятичных цифр - ). Оно может быт подсчитано как

Подсчёты показывают, что число кодов около 6 млн.(!). Пригодность и эффективность конкретного кода для машинных расчётов – различна.

Поэтому при выборе кода желательно, чтобы были учтены некоторые ограничения и требования.

Известны пять основных требований (критериев), которые сформулированы Рутисхаузером.

  1. Единственность. Необходимо однозначное соответствие цифр и тетрад. Если это требование не выполнено, то невозможно кодирование и декодирование чисел.

  2. Упорядоченность. Большим десятичным цифрам должны соответствовать большие (по количественному эквиваленту) тетрады. Выполнение этого требования необходимо при сравнении кодированных чисел.

  3. Четность. Четным десятичным цифрам должны соответствовать четные тетрады (тетрады, у которых в крайнем правой разряде стоит нуль), а нечетным цифрам — нечетные тетрады.

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

  5. Весомозначность. Должны существовать четыре веса таких, что если десятичной цифре сопоставлена тетрада ( ), то имеет место равенство

.

К весомозначности приводит, например, следующий способ кодирования: каждая десятичная цифра кодируется ее записью в двоичной системе с использованием полинома вида (1.1) .

В этом случае цифра 5 будет закодирована тетрадой 0101, цифра 6 –тетрадой 0110 и т.д. Такой способ кодирования называется кодом прямого замещения с весами (8, 4, 2, 1). В этом случае количественный эквивалент цифры равен количественному эквиваленту соответствующей тетрады.

Кодирование, удовлетворяющее всем пяти требованиям, называется совершенным.

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

Для выполнения свойства дополнительности можно кодировать десятичную цифру тетрадой Т(х), равной . Полученный код называется кодом с избытком 3, или кодом Штибитца.

Для выполнения свойства дополнительности можно кодировать десятичную цифру тетрадой Т(х), равной . Полученный код называется кодом с избытком 6.

Однако, кодирование с избытком 3 и 6 как и код прямого замещения, не является совершенным т.к. не обладает свойством весомозначности.

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

Для кодирования единицы необходимо, чтобы один из весов был равен 1. Если считать, что р0 = 1, то необходимо чтобы р3 + р2+ р1 = 8. Возможны следующие комбинации весов (р3 , р2, р1) с точностью до их перестановки: (6,1,1), (5,2,1), (4,2,2), (3,2,3), (4,1,3).

Соответствующие варианты кодирования (комбинации весов) сведены в таблицу.

Таблица 1.2 – Варианты двоично–десятичного кодирования

Кодируемая

десятичная цифра x

Значение тетрады Т(х)в системе счисления

(8,4,2,1)

(6,1,1,1)

(5,2,1,1 )

(3,3,2,1)

(4,3,1,1)

(2,4,2,1)

х + 3

0

0000

0000

0000

0000

0000

0000

0011

1

0001

0001

0001

0001

0001

0001

0100

2

0010

0011

0100

0010

0010

0010

0101

3

0011

0111

0101

0011

0100

0011

0110

4

0100

0111

0101

0110

0100

0111

5

0101

1000

1010

1001

1011

1000

6

0110

1000

1010

1100

1011

1100

1001

7

0111

1001

1011

1101

1100

1101

1010

8

1000

1011

1110

1110

1110

1110

1011

9

1001

1111

1111

1111

1111

1111

1100

Данные таблицы позволяют сделать следующие выводы.

В системе с весами (8,4,2,1) отсутствует свойство дополнительности.

Для случая (6,1,1,1) нарушается первое требование Рутисхаузера: для цифр 4 и 5, т.е. отсутствуют соответствующие тетрады.

В системе с весами (5, 2, 1, 1) не выполняется требование четности для цифр 4 и 5.

В системе с весами (3, 3, 2, 1) не выполняется требование четности для цифр 4 и 5.

Число

в десятичной СС

Число

в двоичной

СС

Число

в шестнадцатеричной СС

Число

в восьмеричной СС

Число в двоично–десятичной СС

Код прямого замещения

Код Айкена—Эмери

00

0000

0

0

0000 0000

0000 0000

01

0001

1

1

0000 0001

0000 0001

02

0010

2

2

0000 0010

0000 0010

03

0011

3

3

0000 0011

0000 0011

04

0100

4

4

0000 0100

0000 0100

05

0101

5

5

0000 0101

0000 0101

06

0110

6

6

0000 0110

0000 1100

07

0111

7

7

0000 0111

0000 1101

08

1000

8

10

0000 1000

0000 1110

09

1001

9

11

0000 1001

0000 1111

10

1010

A

12

0001 0000

0001 0001

11

1011

B

13

0001 0001

0001 0001

12

1100

C

14

0001 0010

0001 0010

13

1101

D

15

0001 0011

0001 0011

14

1110

E

16

0001 0100

0001 0100

15

1111

F

17

0001 0101

0001 0101

16

10000

10

20

0001 0110

0001 1100

17

10001

11

21

0001 0111

0001 1101

0,0625

0,0001

0,1

0,04

0,0000011000100101

0,0000110000100101

0,125

0,001

0,2

0,1

0,000100100101

0,000100100101

0,25

0,01

0,4

0,2

0,00100101

0,00100101

0,375

0,011

0,6

0,3

0,001101110101

0,001111010101

0,5

0,1

0,8

0,4

0,0101

0,0101

0,625

0,101

0,A

0,5

0,011000100101

0,110000100101

0,75

0,11

0,C

0,6

0,01110101

0,11010101

Примечание – для экономии места в таблице “0” в целой части дробных BCD чисел записывается не тетрадой, а одной цифрой

В системе с весами (4, 3, 1, 1) не выполняется требование четности для цифр 2, 3, 6, 7.

Кодирование с избытком 3, как и код прямого замещения, не является совершенным т.к. не обладает свойством весомозначности

В системе с весами (2, 4, 2, 1) все пять требований выполнены, соответствующая арифметика является совершенной и называется в честь авторов — арифметикой Айкена—Эмери.

В таблице 1.3 приведены в качестве примера некоторые числа, представленные в рассмотренных системах.

Таблица 1.3 – Примеры кодирования чисел в машинных системах счисления

Двоично–десятичные системы эффективны при решении задач обработки больших массивов десятичных чисел. Например, при обработке массивов десятичных параметров (экономические задачи). В этом случае, за счет упрощения процедур перевода десятичных чисел в BCD–систему и обратно, может быть достигнуто повышение производительности вычислительного средства.