Способы кодирования данных

Кодирование

Обмен данными внутри микроконтроллера выполнение операций осуществляется в цифровом виде. Данные кодируются в виде слова, в каждой позиции которого стоит цифра. Такой код называется позиционным. Количество позиций - разрядность числа. Набор цифр, из которых может быть составлено слово образует алфавит. Алфавит состоит т набора цифр от 0 до р-1. Каждой k-ой позиции слова соответствует вес = рk, где р - основание цифрового представления числа. Запись вида: am-1am-2…a1a0 по основанию р - соответствует числу N=a0p0 + a1p1 + а2р2 +...+ аm-1pm-1, где аk = 0.1,...,(р-1) - обозначает цифру в k-ой позиции, m - разрядность числа. В частности, если р=2, то получаем двоичный код. а если р=16 - шестнадцатеричный.

Пример записи чисел в двоичном и шестнадцатеричном коде:

Десятичное число (DEC) Двоичное число (BIN) Шестнадцатеричное число (HEX)
     
     
     
     
     
     
     
     
     
     
    A
    B
    C
    D
    E
    F
  0001 000  
  0001 1111 1F
  0010 0000  

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

Прямой код. Старший бит - знак числа (1 – отрицательное, 0 - положительное), младшие 7 бит - модуль числа в двоичном коде. Недостатки: два представления нуля +0 и -0: трудности в операциях с числами, имеющими разный знак.

Обратный код. Старший бит - знак числа (1 – отрицательно, 0 – положительно), младшие 7 бит - модуль числа в ин

версном двоичном коде (0 вместо 1 и 1 вместо 0). Недостатки: два представления нуля +0 и -0; трудности в операциях с числами, имеющими разный знак.

Дополнительный код. Старший бит - знак числа (1 - отрицательное, 0 - положительное), младшие 7 бит - модуль числа в инверсном двоичном коде (0 вместо 1 и 1 вместо 0) плюс 1 в младший разряд. Достоинства: одно представление нуля; вычитание сводится к сложению; отрицательный результат операции представляется в дополнительном коде. Преобразование дополнительный код в прямой код и обратно; не знаковые биты в обратный код - 1 в младший разряд.

Пример 4-х уровневого конвейера команд

Если операнд следующей команды является результатом предыдущей команды (зависимые команды), то конвейер для синхронизации вычислений должен сделать холостые циклы (без получения результата). Для сокращения простоев конвейера следует распараллеливать вычисления. Часто используемые функции контроля могут быть реализованы в микроконтроллере аппаратно с помощью периферийных устройств. Они «разгружают» CPU.

Периферийные устройства соединяются между собой и с CPU установкой определенных битов в специальных ячейках памяти данных микроконтроллера. Эти ячейки называются регистрами специальных функций (SFR). При этом говорят, что они «отображены в адресное пространство памяти данных».

SFR - также служат для установки режимов работы периферийных устройств и временного хранения данных.


УНИВЕРСАЛЬНАЯ ПОСЛЕДОВАТЕЛЬНАЯ ШИНА (USB)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: