Микропроцессорные устройства

Автор работы: Пользователь скрыл имя, 11 Января 2014 в 17:55, курс лекций

Краткое описание

Работа содержит конспекты лекций по дисциплине "Микропроцессорные устройства".

Вложенные файлы: 1 файл

mikroprocessornye_ustroistva.doc

— 3.69 Мб (Скачать файл)

Для получения числа  в некоторой позиционной системе  счисления необходимо сложить произведения значений цифр на степени оснований, показатели которых равны номерам разрядов (нумерация разрядов начинается с нуля). Все системы счисления, которые будут рассматриваться ниже, являются позиционными. Число А(p) представляется в виде последовательных цифр, А(p)n-1an-2...a1a0. При этом всегда выполняется неравенство ak<p. Видно, что одно и то же число А  в зависимости от основания p при кодировании формируется из разного количества разрядов.

Для кодирования заданного диапазона  чисел в машине в зависимости  от выбранной системы счисления  требуется разное количество оборудования.

Определим, при каком основании  p0 для представления данного множества чисел М требуется наименьшее количество аппаратуры (аппаратных затрат). Множество чисел М=pn. Предположим, что объём используемых электронных элементов для обработки каждого разряда пропорционален основанию системы счисления. Тогда для реализации множества чисел М=pn потребуется N электронных схем: N=α*p*n, где α – коэффициент пропорциональности, p- основание системы счисления, n – количество разрядов. Так как lnM=n*lnp => n=lnM/lnp. Подставим в выражение для N значение n. N=α*p*lnM/lnp. Поскольку N есть функция p при прочих постоянных значениях, для определения p0 найдём и приравняем нулю первую производную:

=> lnp-1=0,   p0=e.

Таким образом, наиболее экономичным основанием позиционной системы счисления является число e =2.718 .

Из целочисленных значений оснований ближайшими к значению e являются цифры 2 и 3. Код с нецелым основанием e технически нереализуем. По соображениям простоты технической реализации явное преимущество на стороне кода с p =2. Для него необходимы дискретные элементы с двумя устойчивыми состояниями.

 

                                              

 

 

Типы данных

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

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

Содержание (смысл) сообщения - это  информация, а знаки, в которые  сообщение воплощено, - это данные.

В ЭВМ используют двоичное представление информации, поэтому  символы «0» и «1» являются единственными элементами машинного алфавита. Принято называть символы «0» и «1» двоичными цифрами или разрядами и связывать с ними понятие бита как минимальной единицы представления информации. Восьмиразрядное двоичное число называют байтом. Формат байта представлен на рисунке .

 

 

 

 

 

 

Разряды байта разделены на две  группы по четыре двоичных разряда  – тетрады.

Иногда к восьми информационным разрядам байта присоединяется девятый разряд. Он используется для контроля правильности передачи байтовой информации в ЭВМ путём определения чётности или не чётности «1» в коде. При значении этого разряда, равном 1, число единиц в передаваемых данных нечётное, а при равном 0 – чётное. Этот метод получил название контроля чётности.

Слово – это последовательность знаков, которую удобно рассматривать  как одно целое.

С точки зрения размерности  МП поддерживает следующие основные типы данных (рисунок 2)

 

 

 

В данном случае слово – это  последовательность из двух байт, имеющих  последовательные адреса. Размер слова – 16 бит; биты нумеруются от 0 до 15. Байт, содержащий 15-й бит называется старшим байтом. Младший байт содержит нулевой бит.

Двоичное слово – последовательность из четырёх байт (32 бита), расположенных по последовательным адресам. Нумерация от 0 до 31. Слово, содержащее нулевой бит, называется младшим словом, а слово, содержащее 31-й бит, – старшим словом.

 

2.2 Двоичная система  счисления

В этой системе используются только два символа. Это хорошо согласуется с техническими характеристиками цифровых схем, имеющих только два устойчивых состояния. В качестве символов служит 0 и 1. Основание p =2. Количественный эквивалент некоторого целого n-значного двоичного числа вычисляется согласно формуле (1)

А(2)n-1*2n-1+an-2*2n-2+…+a1*21+a0*20            (2)

Каждой позиции (разряду) присваивается определённый вес. Вес  разрядов равен основанию системы счисления возведённому в степень соответствующую номеру разряда. Рассмотрим двоичное число 10100111. Вычислим количественный эквивалент этого числа. Согласно формуле (2) получим:

1*27+0*26+1*25+0*24+0*23+1*22+1*21+1*20=128+32+4+2+1=167.

 

2.3 Шестнадцатеричная  система счисления

Данная система счисления имеет  следующий набор цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}. Основание системы p =16.

Следующая таблица содержит представления  десятичных чисел из диапазона 0-15 в двоичной и шестнадцатеричной системах счисления.

 

Десятичные числа

Двоичные числа

Шестнадцатеричные числа

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

8

9

1001

9

10

1010

A

11

1011

B

12

1100

C

13

1101

D

14

1110

E

15

1111

F


 

Таблицей удобно пользоваться при преобразованиях чисел из одной системы счисления в другую. Количественный эквивалент некоторого целого n-разрядного числа вычисляется по формуле (1).

A(16)=an-1*16n-1+an-2*16n-2+…+a1*161+a0*160   

Например, число F45ED23C в десятичной системы счисления будет следующим:

15*167+4*166+5*165+14*164+13*163+2*162+3*161+12*160 = 4099854908.

 

Десятичная система  счисления

Данная система счисления имеет  следующий набор цифр {0,1,2,3,4,5,6,7,8,9}, основание степени p =10. Количественный эквивалент некоторого целого n-значного десятичного числа вычисляется согласно формуле

A(10)=an-1*10n-1+an-2*10n-2+…+a1*101+a0*100

 

            Перевод чисел из одной системы счисления в другую

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

             Преобразование десятичных чисел в двоичные

Алгоритм преобразования следующий:

  1. Разделить десятичное число А на основание системы счисления (в данном случае на 2).
  2. Запомнить частное q и остаток а. Если в результате первого шага частное q 0, то принять его за новое делимое и отметить остаток а, который будет очередной значащей цифрой числа. Далее вернуться к шагу 1, на котором в качестве делимого (десятичного числа) участвует полученное на шаге 2 частное.
  3. Если в результате шага 1 частное q =0, алгоритм прекращается.
  4. Выписать остатки в порядке обратном их получению. Тем самым будет составлен двоичный эквивалент исходного числа.

Рассмотрим два примера.

1.Преобразовать десятичное число 57 в двоичное число

Шаг   Деление   Частное   Остаток

1   57/2    28    1   (МЗР)

2   28/2    14    0

3   14/2    7    0

4   7/2    3    1

5   3/2    1    1

6   1/2    0    1   (СЗР)

 

МЗР – младший значащий разряд.

СЗР – старший значащий разряд.

В процессе преобразования следует  учитывать, что частное от деления 1 на 2 составляет нуль, а остаток равен 1.

Результат: 5710=1110012.

 

2. Преобразуем десятичное число  134 в двоичное число.

Шаг    Деление    Частное    Остаток

1   134/2    67    0   (МЗР)

2   67/2    33    1

3   33/2    16    1

4   16/2    8    0

5   8/2    4    0

6   4/2    2    0

7   2/2    1    0

8   1/2    0    1   (СЗР)

Результат: 13410=100001102

 

Перевод чисел из десятичной системы счисления в

шестнадцатеричную

Практическое использование шестнадцатеричной системы объясняется тем, что число 16 есть число 2 в четвёртой степени. Поэтому шестнадцатеричную цифру используют как средство сокращённой записи 4-разрядного двоичного кода. Общая идея преобразования аналогична рассмотренной выше.

    1. Разделить десятичное число А на 16. Запомнить частное q и остаток а.
  1. Если в результате шага 1 частное q 0, то принять его за новое делимое, записать остаток и вернутся к пункту 1.
  1. Если частное q=0, то прекратить работу алгоритма.
  2. Выписать остатки в порядке, обратном их получению. Тем самым составляется шестнадцатеричный эквивалент исходного десятичного числа.

 

1.Требуется преобразовать  число 3276710 в 16-ную систему счисления.

Шаг    Деление    Частное    Остаток

1   32767/16   2047    1510=F16    (МЗР)

2   2047/16   127    1510=F16 

3   127/16   7    1510=F16 

4   7/16    0    7    (СЗР)

Результат: 3276710=7FFF16

 

2.Преобразовать число  634.

Шаг    Деление    Частное    Остаток

1   634/16   39    101016   (МЗР)

2   39/16    2    7

3   2/16    0    2    (СЗР)

Результат: 63410=27А16

 

                                    Перевод дробных чисел.

Любое дробное число  в системе счисления с основанием p можно представить в виде

A(p)=an-1*pn-1+an-2*pn-2+…+a1*p1+a0*p0+a-1*p-1+a-2*p-2+…+a-m*p-m

Рассмотрим операции перевода чисел на примерах.

Перевести в десятичное представление  дроби в двоичной системе счисления.

Как и в десятичной системе  в двоичной системе для отделения  дробной части от целой используется точка. Каждая позиция справа от этой точки имеет свой  вес – вес разряда дробной части числа. Значение веса в этом случае равно основанию двоичной системы, возведённому в отрицательную степень. Такие веса – это дроби 1/2, 1/4, 1/8, 1/16, 1/32 и т.д., которые могут быть записаны как 2-1, 2-2, 2-3, 2-4 и т.д.

Преобразовать число:

110100,01001011=1*25+1*24+0*23+1*22+0*21+0*20+0*2-1+1*2-2+   

+0*2-3+0*2-4+1*2-5+0*2-6+1*2-7+1*2-8

 

Перевести в десятичное представление дробь в шестнадцатеричной  системе счисления:

1DF2,A1E416=1*163+13*162+15*161+2*160+10*16-1+1*16-2+14*16-3+

+4*16-4

 

Рассмотрим проблему представления десятичных дробей в  двоичной и шестнадцатеричной системах счисления.

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

  1. Выделить целую часть десятичной дроби и выполнить её перевод в выбранную систему счисления по алгоритмам, рассмотренным выше;
  2. Выделить дробную часть и умножить её на основание выбранной новой системы счисления;
  3. В полученной после умножения десятичной дроби выделить целую части и принять её в качестве значения первого после запятой разряда числа в новой системе счисления;
  4. Если дробная часть значения, полученного после умножения, равна нулю, то прекратить процесс перевода! Процесс перевода можно также прекратить в случае, если достигнута необходимая точность вычисления. В противном случае перейти к шагу 3.

Пример: Преобразовать десятичное число 0,3437510 в двоичное:

2*0,34375=0,6875   0  (СЗР)

2*0,6875=1,375             1

2*0,375=0,75    0

2*0,75=1,5             1

2*0,5=1     1  (МЗР)

Результат: 0,3437510=0,010112

 

Перевести в двоичную систему счисления  десятичную дробь108,406

    1. Переводят целую часть десятичной дроби в двоичную систему счисления:

10810=11011002

    1. Переведём дробную часть в двоичную систему:

2*0,406=0,812    0  (СЗР)

2*0,812=1,624    1

2*0,624=1,248    1

2*0,248=0,496    0

2*0,496=0,992    0

2*0,992=1,984    1

2*0,984=1,968    1

2*0,968=1,936    1

…………………

Результат перевода следующий: 108,40610 1101100,011001112

 

Рассмотрим следующий  пример: преобразовать десятичное число 634,328125 в шестнадцатеричное

63410=27А16

Информация о работе Микропроцессорные устройства