- •Краткий конспект лекций по дисциплине Микропроцессорная техника
- •3.1. Цифровая информация
- •2) Перевод целого числа из любой системы в десятичную
- •3.2 Структура и принцип построения эвм
- •3.3 Микропроцессоры
- •3.4 Устройства памяти
- •3.5 Алгоритм работы микропроцессорной системы
- •1) Команды перемещения данных
- •2) Команды преобразования данных
- •3) Команда передачи управления
- •3.6 Микропроцессор кр580вм80а
- •3.7 Интерфейсы
- •Ethernet - 10 Мбит/с; Быстрый (Fast) Ethernet - 100 Мбит/с; Гигабитный (Gigabit) Ethernet - 1 Гбит/с; 10-гигабитный Ethernet
- •3.8 Микроконтроллеры
- •3.9 Языки программирования
- •Оператор_1 (группа операторов)
- •Оператор_2 (группа операторов)
- •Оператор (группа операторов)
- •Тело цикла
- •Тело цикла
- •3.10 Применение мс в электротехники
2) Перевод целого числа из любой системы в десятичную
Десятичное число можно представить в виде суммы единиц, десятков, сотен и т.д. (т.е. степеней 10), умноженных на соответствующие коэффициенты
45610 = 4·102 + 5·101 + 6·100 = 400 + 50 + 6 = 456
По аналогии разлаживается числа других систем счисления.
Пример 3 – Перевести в десятичную систему число 1С8
12 С1 80 = 1·162 + 12·161 + 8·160 = 256 + 192 + 8 = 456
3) Для перевода числа из двоичной системы в шестнадцатеричную и наоборот, нужно отсчитывать справа налево по 4 разряда – тетрад двоичного числа и записывать каждую группу разрядов с помощью символов из таблицы 3.1, в которой представлены соотношения между числами в различных системах счисления.
1С816 = 0001 1100 1000
1 12 8
Недостатком шестнадцатеричной системы является ее избыточность для чисел 7 и менее (недоиспользуются многие двоичные разряды). Для устранения этого недостатка используют восьмеричную систему счисления, которую можно затем записать в двоичном коде с использованием для каждой цифры только трех разрядов – триад.
Для перевода числа из двоичной системы в восьмеричную и наоборот, нужно отсчитывать справа налево по три разряда двоичного числа и записывать каждую группу из трех разрядов с помощью символов 0...7.
7108 = 111 001 000
7 1 0
4) В цифровых вычислительных системах используют также комбинированную, десятично-двоичную систему счисления, облегчающую запись больших чисел с применением двоичного кода. В этом случае каждый разряд десятичного числа записывают двоичным кодом, используя для этого соответствующие тетрады, т.е. четырехразрядные двоичные элементы.
15910 = 0001 0101 1001
1 5 9
Самостоятельная работа — Арифметические основы ЭВМ
Произведите необходимые операции над числами в различных системах счисления:
- переведите десятичное число в иную систему счисления;
- проверьте полученные результаты (выполните обратный перевод);
- сложите числа в указанной системе счисления.
Таблица 3.2 — Варианты заданий
№ варианта |
Перевод числа |
Сложение чисел |
||
Десятичное число |
Иная система счисления |
Слагаемые |
Система счисления |
|
0 |
1000 |
двенадцатеричная |
+2121 1212 |
троичная |
1 |
487 |
пятнадцатеричная |
+1234 211 |
пятеричная |
2 |
4000 |
четырнадцатеричная |
+2345 364 |
семеричная |
3 |
285 |
четверичная |
+23A6 975 |
одинадцатеричная |
4 |
5000 |
семнадцатеричная |
+7775 887 |
девятеричная |
5 |
854 |
шестеричная |
+1FH C12 |
восемьнадцатеричная |
6 |
255 |
пятеричная |
+51FD А17 |
семнадцатеричная |
7 |
179 |
троичная |
+40B 8C1 |
четырнадцатеричная |
8 |
2940 |
восемьнадцатеричная |
+3122 1232 |
четверичная |
9 |
723 |
семеричная |
+7B19 5A1 |
двенадцатеричная |
Единицы измерения цифровой информации
Бит (от английского "BInary digiT" ― двоичная цифра) принимает только два значения: 0 или 1. Можно закодировать логическое значение «да»» или «нет», состояние «включено» или «выключено», состояние «открыто» или «закрыто» и т.п.
Группа из восьми бит называется байтом, например 10010111. Один байт позволяет кодировать 256 значений: 00000000 = 0, 11111111 = 255.
Бит ― наименьшая единица представления информации.
Байт ― наименьшая единица обработки информации.
Два взаимосвязанных байта называется словом, 4 байта ― двойное слово, 8 байт ― учетверённое слово.
Представление двоичных чисел в ЭВМ
В вычислительных машинах применяются две формы представления двоичных чисел:
- естественная форма или форма с фиксированной запятой (точкой);
- нормальная форма или форма с плавающей запятой (точкой).
С фиксированной запятой все числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой, отделяющей целую часть от дробной.
Эта форма наиболее проста, естественна, но имеет небольшой диапазон представления чисел и поэтому не всегда приемлема при вычислениях. Диапазон значащих чисел N в системе счисления с основанием q при наличии m разрядов в целой части и s разрядов в дробной части числа (без учета знака числа) имеет вид
q-s ≤ N ≤ qm при q = 2, m = 10 и s = 6 0,015 < N< 1024
Если в результате операции получится число, выходящее за допустимый диапазон, происходит переполнение разрядной сетки, и дальнейшие вычисления теряют смысл. В современных ЭВМ естественная форма представления используется как вспомогательная и только для целых чисел.
С плавающей запятой каждое число изображается в виде двух групп цифр. Первая группа цифр называется мантиссой, вторая - порядком, причем абсолютная величина мантиссы должна быть меньше 1, а порядок - целым числом. В общем виде число в форме с плавающей запятой может быть представлено в виде
N = ±Mq±p,
где М ― мантисса числа (|M| < 1); q ― основание системы счисления; р ― порядок числа (целое число).
Н ормальная форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ. При q = 2, m = 10 и s = 6 диапазон чисел простирается примерно от 10-19 до 1019.
Знак числа обычно кодируется двоичной цифрой, при этом код 0 означает знак «+», код 1 - знак «-».
Машинные коды
Для алгебраического представлений чисел (т.е. для представления положительных и отрицательных чисел) в машинах используются специальные коды: прямой, обратный и дополнительный. Причем два последних позволяют заменить неудобную для ЭВМ операцию вычитания на операцию сложения с отрицательным числом; дополнительный код обеспечивает более быстрое выполнение операций, поэтому в ЭВМ применяется чаще именно он.
Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или единица) перед его старшим числовым разрядом.
Пример 4
A10 = +10; А2 = +1010; [А2]п = 01010;
В10 = -14; В2 = -1110; [В2]п = 11110. [Я2]0= 10011. Я2=-1100; [Я2]0= 10011. Я2 = -ШО; [52]п=11110.
Обратный код двоичного числа образуется по следующему правилу. Обратный код положительных чисел совпадает с их прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом разряде числа, а значащие разряды числа заменяются на инверсные, т.е. нули заменяются единицами, а единицы – нулями.
Пример 5
A10 = +4; А2 = +100; [А2]п = [А2]о = 0100;
В10 = -12; В2 = -1100; [В2]о = 10011.
Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет собой результат суммирования обратного кода числа с единицей младшего разряда.
Пример 6
A10 = +18; А2 = +10010; [А2]п = [А2]0 = [А2]д = 010010;
В10 = -12; В2 = -1100; [В 2]д = [В2]о +20= 10011 + 1 = 10100.
Использование обратного и дополнительного кодов заменяет операцию вычитания операцией сложение. Это позволяет производить арифметические операции, используя только сумматоры, т.е. упростить аппаратные средства арифметически – логического устройства.
Правила двоичной арифметики
0 + 0 = 0 0 + 1 = 1 1 + 1 = 10 10 + 1 = 11
В двоичной системе счисления сложение делается точно так же, как и в десятичной. Только нужно помнить, что в этой системе каждый разряд может принимать лишь два значения: либо 0, либо 1. Точно так же, как и в десятичной системе, складываем числа поразрядно, начиная с младшего разряда. При сложении двух единиц мы получим ноль в этом разряде и единицу переноса в следующий разряд.
11001110
10000110
101010100
Умножение тоже делается аналогично умножению в десятичной системе - столбиком. При этом умножение сводится к сдвигу влево и сложению, полученных сдвигом чисел. Точно также деление в двоичной системе сводится к сдвигу и вычитанию. Это важно при построении вычислительных устройств. Именно поэтому многие простые микропроцессоры не имеют в составе своих команд, команд умножения и деления. Но обязательно, каждый процессор имеет команды сдвига и сложения (вычитания). При необходимости выполнения операций умножения либо деления и отсутствии данных команд у процессора эти действия выполняются, используя команды сдвига сложения и вычитания.
Правила логической арифметики
Основные логические операции: И (AND), ИЛИ (OR), NOT (НЕ), исключ. ИЛИ (XOR)сс
1111 0011 1010 0000 1010 1111
AND OR XOR
0011 1111 0000 1111 0000 1111
0011 0011 1010 1111 1010 0000