Автор: Пользователь скрыл имя, 23 Января 2011 в 10:55, контрольная работа
В цифровых вычислительных системах, непосредственно для вычислений используется бинарный код представленный двумя логическими уровнями «0» и «1».
Непосредственно уровни сигналов передающиеся по шинам микропроцессора проще всего переставить двоичном виде.
1. Представление данных в вычислительных системах (двоичная и шестнадцатеричная система счисления)
2. Алгоритм преобразования многобайтного двоичного числа в двоично-десятичный код
3. Способы организации взаимосвязи задач в микропроцессорной системе. Организация системы прерываний.
4. X - 16-битное число без знака, находящееся в ОЗУ с начальным адресом ADR1, CONST - 16-битная константа. Выполнить вычитание X - CONST и занести результат в ОЗУ с адреса ADR2.
ГОСУДАРСТВЕННОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМ. Н. П. ОГАРЁВА»
Факультет электронной техники
Кафедра промышленной электроники
ПО КУРСУ
«Программирование
микропроцессорных систем»
ВЫПОЛНИЛ:
Саранск
ЗАДАНИЕ
К КОНТРОЛЬНОЙ РАБОТЕ.
1. Представление
данных в вычислительных
2. Алгоритм
преобразования многобайтного
3. Способы
организации взаимосвязи задач
в микропроцессорной системе. Организация
системы прерываний.
4. X - 16-битное
число без знака, находящееся
в ОЗУ с начальным адресом ADR1,
CONST - 16-битная константа. Выполнить
вычитание X - CONST и занести результат в
ОЗУ с адреса ADR2.
1.
Представление данных
в вычислительных
системах (двоичная
и шестнадцатеричная
система счисления)
В цифровых вычислительных системах, непосредственно для вычислений используется бинарный код представленный двумя логическими уровнями «0» и «1».
Непосредственно уровни сигналов передающиеся по шинам микропроцессора проще всего переставить двоичном виде.
1.1 Двоичная система счисления.
В двоичной системе
счисления используется основание
р = 2.
Для записи чисел используется набор из
двух цифр 0 и 1. Числа в бинарном коде обозначаются
буквой B, пример записи бинарного числа:
1011010 B.
Для получения значения числа в десятичном коде необходимо значения разрядов умножить на 2 в степени соответствующей разряду и полученные значения сложить.
Пример записи десятичного числа 46,5 в бинарном счислении:
Минимальное
значение бинарных данных соответствующее
одному
двоичному разряду –БИТ
Также
используются кратные форматы 8 разрядов-
БАЙТ, состоящее из нескольких байт СЛОВО,
либо четырехразрядная форма ТЕТРАДА.
1.2 Шестнадцатеричная система счисления.
Пре
всей наглядности отображения двоичная
система, при росте разрядности числа
становится весьма громоздкой и неудобной,
поэтому
для боле компактной записи используются
другие системы счисления в частности
шестнадцатеричная.
В
шестнадцатеричной системе счисления
используется основание
р = 16 поскольку натуральных чисел
всего 10 для обозначения значении
корме цифр от 0 до 9 дополнительно
используются буквы от A до F
при этом A=10, B=11, C=12, D=13, E=14, F=15 соответственно.
При этом значение одного разряда шестнадцатеричной записи соответствует четырем разрядам двоичной.
Пример
представления десятичного
Т а б л и ц а 1
Представление чисел
в двоичной и шестнадцатеричной
системах.
|
2. Алгоритм преобразования многобайтного двоичного числа в двоично-десятичный код.
Сущность алгоритма преобразования двоичного кода в двоично-десятичный, состоит в том, что для получения двоично-десятичного кода необходимо посчитать, сколько в исходном числе единиц, десятков, сотен, тысяч, и т.д. Для этого из исходного числа необходимо отнимать десятичные числа начиная с максимального кратного 10, (величина которого зависит от разрядности исходного числа) до тех пор пока не получится отрицательное значение. Количество итераций и будет значением кода для данного разряда. Из числа оставшегося при вычитании числа вычитаем десятичное число меньшее на один разряд предыдущего и так далее.
Для записи полученного кода выделяем необходимое количество памяти в соответствии с разрядностью исходного числа.
Алгоритм перевода целого значения, записанного двоичным кодом, в двоично-десятичный код можно представить, как показано на рисунке. 2.1.
Рис. 2.1. Алгоритм преобразования двоичного числа в двоично-десятичный код
где: n – номер десятичного разряда десятичного эквивалента двоичного кода А', аn – количество весов 10n, входящих в исходное значение (т. е. значение соответствующего десятичного разряда).
Последовательность действий по переводу двоичных чисел в двоично-десятичный код можно описать следующими формулами.
1. Эквивалент А целого двоичного числа А' в десятичной системе находится путем последовательного определения количества десятичных весов в исходном значении и преобразования их в двоичный код:
а n = Ent [А'/10 n]
а n–1 = Ent [(А' – a n 10 n)/10 n – 1]
а
n–2 = Ent [(А' – a
n 10 n – a
n–1 10 n – 1 )/10 n
– 2]
… …
а 0 = Ent [(А' – a n 10 n – a n–1 10 n – 1 – a n–2 10 n – 2 – … – a1 101)/10 0].
2. Эквивалент А правильной двоичной дроби А' в десятичной системе получается путем последовательного определения количества дробных десятичных весов в исходном значении и преобразования их в двоичный код:
а–1 = Ent А'10
а–2 = Ent (А'10 – а –1)10
а–3
= Ent ((А'10 – а
–1)10 – a
–2)10
… …
а–n = Ent (…((А'10 – а –1)10 – a –2)10 – … – а – (n – 1))10,
(2.2)
где Ent – операция выделения целой части числа.
3. Смешанные дроби
разбиваются на целую и
В двоичной арифметике деление сводится к многократному вычитанию. Поэтому действия, представленные формулами (2.1) и (2.2)., можно свести к простому циклическому алгоритму.
При программной
реализации данного алгоритма набор
необходимых десятичных весов можно сформировать
в виде отдельной таблицы в памяти и
представить значения этих весов в дополнительном
коде. Тогда вычитание весов при определении
значения каждого десятичного разряда
можно свести к повторяющимся действиям:
сложению с соответствующим элементом
таблицы.
3. Способы организации взаимосвязи задач в микропроцессорной системе. Организация системы прерываний.
При существовании в называют мультипрограммной системе нескольких задач в том числе алгоритмически не связанных возникает необходимость организации управления потоком задач.
С
мультипрограммированием
Функции, реализуемых системой, можно представить в виде автономной программы или задачи, которая выполняется независимо от других. Действия, реализуемые в системе по распределению времени для решения задач процессором, называются планированием задач.
Задачи могут находиться в одном из трех состояний: выполнения, когда процессор выполняет задачу; готовности к выполнению при выделении времени процессора; приостановки (ожидания, блокировки), когда задача должна ожидать некоторого внешнего события или когда истек отведенный ей интервал времени процессора. Когда одна задача переходит в состояние ожидания, процессор переключается на выполнение другой.
Способ реализации конвейера с распределением интервалов пропорциональных количеству задач широко применяемый в многозадачных в вычислительных системах например персональных компьютерах в связи с спецификой решаемых микроконтроллерами задач в данном случае малопригоден по причине того что невозможно четко определить время реакции системы на событие.
Поскольку в любом случае задачи микроконтроллером выполняются последовательно и выполнение их носит циклический характер а приоритеты задач различны (прикладные, сервисные и организационные) простейшим способом взаимодействия является организация прерываний от внешних таймеров.
По мере возникновения новых задач, требующих решения, происходит их включение в цикл уже решаемых задач. Если задача решена полностью и далее в ее выполнении нет необходимости, то она исключается из перечня решаемых задач.
Варианты организации планирования задач по приоритетам:
1. Использование слова запросов на выполнение задач.
Задача выставляет в слове запросов флаг запроса, после окончания выполнения любой задачи производится анализ запросов в слове запросов в соответствии с порядком убывания приоритетов задач. При обнаружении запроса система переходит к выполнению задачи имеющий наивысший приоритет.
Этот вариант чаще всего используют в сложных многопроцессорных системах с большим числом задач алгоритм организации планирования выполнения пяти задач с различными приоритетами с формированием и анализом слова запросов на их решение показан на рис.3.1
2. Использование системы вложенных прерываний.
Во втором случае выполняемая задача может быть прервана для выполнения задачи с большим приоритетом.
Информация о работе Программирование микропроцессорных систем