6
0)
2)
4)
6)
8)
X
Y
Z ∙
X
Y |
|
∙ |
Z |
|
|
|
|
X
Y
Z ∙
X
Y ∙
Z
X
Y
Z
|
|
|
|
|
|
|
|
|
|
|
1) |
X |
Э1 |
|
|
|
|
|
|
F |
|
||||
|
|
Э3 |
|
|
Y |
|||||||
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2 |
|
|
|
|
|
|
|
|
|
|
3) |
Z |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
||
Э1 |
|
|
|
|
|
|
F |
|
||||
|
|
Э3 |
|
|
Y |
|||||||
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5) |
Z |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
||
Э1 |
|
|
|
|
|
|
|
|
F |
|
||
|
|
|
|
Э3 |
|
|
|
Y |
||||
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7) |
Z |
||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
Э1 |
|
|
|
|
|
|
|
|
F |
|
||
|
|
|
|
Э3 |
|
|
|
Y |
||||
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2 |
|
|
|
|
|
|
|
|
|
|
9) |
Z |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
||
Э1 |
|
|
|
|
|
|
|
F |
|
|||
|
|
|
Э3 |
|
|
Y |
||||||
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2 |
∙ |
|
|
|
|
|
|
|
|
|
Z |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э1 |
∙ |
|
F |
||
|
|
Э3 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2
Э1 Э3 F
∙Э2
|
|
|
|
|
|
|
|
|
∙ |
|
|
|
|
|
|
|
|
Э1 |
|
|
|
|
|
F |
||
|
|
|
|
Э3 |
||||
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∙ |
|
|
|
|
|
|
|
|
Э1 |
|
|
|
|
|
F |
||
|
|
|
|
Э3 |
||||
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2
∙ |
Э1 |
|
|
|
F |
|
|
|
Э3 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 1 − Варианты логических схем
7
1.3 Функциональные узлы и устройства микропроцессорной техники
Задание №6. На рисунке 2 представлена логическая схема двоичного трёхразрядного счётчика импульсов. В чём заключается особенность работы данного устройства? Для более полной аргументации ответа привести таблицу переходов и временные диаграммы счётчика.
|
|
|
|
|
|
|
|
|
|
|
|
|
Q1 |
|
|
|
|
|
Q2 |
|
|
Q3 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
С1 |
TT1 |
|
|
|
С2 |
|
TT2 |
|
|
|
|
С |
TT3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
∙ |
|
|
|
∙ |
3 |
|
∙ |
|||||
Установка ²0² |
|
|
|
R |
|
|
|
|
R |
|
|
|
|
|
|
R |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
∙ |
|
|
∙ |
|
|
|
|
|
|
|
|
|
|
|||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
& |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 2 − Логическая схема двоичного трёхразрядного счётчика
1.4 Архитектура и основы программирования микропроцессоров
Задание №7. Разработать алгоритм сложения минимального и максимального целочисленных значений, хранящихся в 10-элементном массиве в оперативной памяти компьютера. Начертить структурную схему алгоритма и привести её подробное описание. Реализовать функциональное «ядро» алгоритма (т.е. поиск минимального и максимального значений и их последующее сложение) с использованием языка ассемблера одного из известных микропроцессоров (микроконтроллеров). При реализации в качестве упрощения можно допустить, что и минимальное и максимальное значения представлены в массиве в единственном экземпляре. Ввод значений для элементов массива и вывод (отображение) результата сложения также можно не реализовывать.
2 Методические рекомендации к выполнению заданий курсовой работы
2.1Арифметические основы микропроцессорной техники
Врабочей программе дисциплины «Микропроцессорная техника» данной теме соответствует «Раздел 2. Представление информации в компьютере, кодирование числовых и символьных данных, арифметические операции с двоичными числами». При выполнении заданий рекомендуется использовать записи конспекта лекций, а также информацию из отчёта, подготовленного для защиты лабораторной работы №1 «Двоичное представление информации. Арифметические операции с двоичными числами. Перевод чисел из одной системы счисления в другую».
Рекомендации к выполнению задания №1. Для перевода вещественного десятичного числа в двоичную систему счисления необходимо выполнить по
8
отдельности перевод целой и дробной частей числа. Перевод целой части
выполняется с помощью последовательного деления целой части десятичного числа на 2 с одновременным слежением за получающимися остатками, из
которых формируется целая часть двоичного числа путём записи их в направлении от последнего к первому.
Перевод дробной части десятичного числа выполняется с помощью последовательного умножения дробной части десятичного числа на 2 с одновременным слежением за целыми частями получающихся произведений,
из которых формируется дробная двоичного числа путём записи их в направлении от первой к последней.
Например, десятичное число 37.125 эквивалентно двоичному числу 100101.001, которое получается в результате выполнения следующих операций.
1.Для целой части десятичного числа (37) − целочисленное деление на 2
изапись полученных остатков от деления в направлении от последнего к первому:
37 |
: 2 |
= 18 + 1 (остаток 1) |
|
|
18 |
: 2 |
= 9 + 0 (остаток 0) |
Направление |
|
9 |
: 2 = 4 + 1 (остаток 1) |
|||
4 |
: 2 = 2 + 0 (остаток 0) |
записи остатков |
||
в целой части числа |
||||
2 |
: 2 = 1 + 0 (остаток 0) |
|||
|
||||
1 |
: 2 = 0 + 1 (остаток 1) |
|
||
Целая часть числа в двоичном виде: 100101 2. Для дробной части десятичного числа (0.125) − умножение на 2 и
запись полученных целых частей произведений в направлении от первой к
последней: |
|
|
|
|
|
0.125 × 2 |
= 0.25 (целая часть произведения 0) |
Направление |
|||
0.25 |
× 2 |
= 0.5 |
(целая часть произведения 0) |
||
записи целых частей |
|||||
0.5 |
× 2 |
= 1.0 |
(целая часть произведения 1) |
||
произведений |
|||||
Дробная часть числа в двоичном виде: 0.001 3. Объединение полученных целой и дробной частей двоичного числа:
100101 + 0.001 = 100101.001 4. Проверка полученного результата с помощью обратного перевода − из
двоичной системы счисления в десятичную:
100101.001 = 1×25+0×24+0×23+1×22+0×21+1×20+0×2-1+0×2-2+1×2-3 = = 32 + 4 + 1 + 1/8 = 37 + 0.125 = 37.125
При выполнении задания №1 можно использовать следующую общую
процедуру перевода целого десятичного числа в одну из предложенных систем счисления. Необходимо выполнить последовательное целочисленное деление на число, являющееся основанием системы счисления, в которую осуществляется перевод. Сначала делят само переводимое число, а затем и получающиеся частные от деления до тех пор, пока в качестве частного не будет получен 0. При этом должны фиксироваться остатки от деления, запись которых в направлении от последнего к первому, и даёт представление числа в новой системе счисления.
9
Следует иметь в виду, что целочисленное деление числа на 2 выполняется сравнительно легко, но количество операций деления при этом может оказаться достаточно большим.
Получив двоичное представление числа, легко перейти к восьмеричному и шестнадцатеричному представлениям, выполнив группирование двоичных цифр по три (для восьмеричной системы) или по четыре (для шестнадцатеричной) с последующей заменой каждой тройки или четвёрки
двоичных цифр одной восьмеричной или шестнадцатеричной цифрой соответственно. Группирование двоичных цифр для целой части числа следует начинать справа, для дробной части − слева, дописывая в недостающие позиции незначащие нули. Например, десятичное число 37.125 в различных системах счисления имеет следующий вид:
100101.0012 = 45.18
100101.0012 = 00100101.00102 = 25.216
Проверка полученного результата, заключающаяся в обратном переводе в десятичную систему, подтверждает эквивалентность представлений числа:
45.18 = 4×81 + 5×80 +1×8-1 = 32 + 5 + 1/8 = 37.125 25.216 = 2×161 + 5×160 + 2×16-1 = 32 + 5 +2/16 = 37.125
Наименьшее количество операций деления потребуется при переводе целого десятичного числа в шестнадцатеричную систему (хотя делить многозначные числа на 16 сложнее, чем на 2). Получив шестнадцатеричное представление, следует представить каждую цифру этого представления четвёркой двоичных цифр, т.е. выполнить перевод числа в двоичную систему счисления. Затем, осуществив группирование двоичных цифр по три с заменой каждой группы восьмеричной цифрой, получить восьмеричное представление.
Таким образом, при выполнении задания №1 можно использовать один из следующих вариантов:
∙перевести десятичное число в двоичный вид с помощью целочисленного деления на 2. Затем путём группирования двоичных
цифр получить восьмеричное и шестнадцатеричное представления числа;
∙перевести десятичное число в восьмеричный вид с помощью целочисленного деления на 8. Затем, заменив каждую восьмеричную цифру тройкой двоичных цифр, получить двоичное представление, из которого путём группирования по четыре двоичных цифры (дописывая при необходимости незначащие нули) − получить шестнадцатеричное представление;
∙перевести десятичное число в шестнадцатеричный вид с помощью целочисленного деления на 16. Затем, заменив каждую шестнадцатеричную цифру четвёркой двоичных цифр, получить двоичное представление, из которого путём группирования по три двоичных цифры (дописывая при необходимости незначащие нули) − получить восьмеричное представление.
10
Рекомендации к выполнению задания №2. При сложении чисел с разными знаками необходимо положительное двоичное число представить прямым кодом, отрицательное двоичное число − дополнительным кодом, а затем сложить эти коды. При этом требуемый знак суммы будет формироваться «автоматически». Если в знаковом разряде будет содержаться «двоичный 0», то сумма представляет собой прямой код положительного числа. Если в знаковом разряде суммы будет содержаться «двоичная 1», то сумма представляет собой дополнительный код отрицательного числа.
Предположим, что номером зачётной книжки является число 12345, т.е. необходимо выполнить двоичное сложение двух чисел: 12 и -345. Прямым кодом числа 12 является число 000011002. Дополнительный код числа -345 формируется следующим образом. Сначала получаем прямой код соответствующего положительного числа 345 (например, последовательным делением на 2): 00000001010110012. Затем выполняем инвертирование, т.е. обращение (замену на противоположное значение) двоичных разрядов прямого кода, для получения обратного кода отрицательного числа: 11111110101001102. И, наконец, сложив обратный код с двоичной 1, получаем дополнительный код числа -345: 11111110101001112.
В заключение выполним сложение прямого кода числа 12 и дополнительного кода числа -345:
0000000000001100 +1111111010100111 1111111010110011
Поскольку в знаковом (старшем) разряде результата содержится 1, то полученная сумма является отрицательным числом (-333), представленным в дополнительном коде.
Как и при решении задания №1, рекомендуется выполнить проверку результата, т.е. убедиться, что полученная сумма представляет число -333. Прямой код положительного числа 333 представляет собой 00000001010011012; обратный код числа -333: 11111110101100102; дополнительный код числа -333: 11111110101100112. Сравнивая полученное значение для дополнительного кода числа -333 со значением суммы, приведённым выше, убеждаемся, что они совпадают.
Рекомендации к выполнению задания №3. Существуют различные кодировочные таблицы символов, в которых коды символов представляются комбинациями различного количества бит. Каждый символ в кодировке КОИ-7 представлен восьмиразрядным двоичным числом (фактически, это один байт), в котором младшие 7 бит (двоичных разрядов) предназначены для кода самого символа (таблица 3), а старший бит называется битом (разрядом) контроля чётности и часто используется для контроля ошибок при передаче данных. В этот бит записывают 0 или 1, чтобы сумма единиц, содержащихся в двоичном коде данного символа, было чётным.