- •Аппаратный и программный подходы к синтезу цифровых устройств
- •201000, 201200, 071700 И направления 550400
- •Введение
- •Рекомендуемая литература
- •1. Аппаратный синтез
- •1.1. Постановка задачи
- •1.2. Решение поставленной задачи
- •1.2.1. Синтез счетчика по модулю n
- •1.2.2. Синтез преобразователя кода
- •1.2.3. Расчет быстродействия и потребляемой мощности
- •2. Программный синтез
- •2.1. Постановка задачи
- •2.2. Решение поставленной задачи
- •2.2.1. Требования к построению блок-схемы алгоритма
- •2.2.2. Требования к написанию программы
- •2.2.3. Пример программного синтеза
- •3. Оформление курсовой работы
- •4. Основные вопросы по защите курсовой работы
- •Приложение 1. Стандарт на размеры структурных блоков
- •Приложение 2. Стандарт на алгоритмические блоки
- •Приложение 3. Основные сведения о процессоре tms320c6x п3.1. Структура
- •П3.2. Система команд для чисел с фиксированной запятой
2. Программный синтез
2.1. Постановка задачи
Блок данных из 8 слов (8 32-разрядных двоичных числа) со знаком размещен в памяти данных процессора TMS320C6x с ячейки памяти (ЯП) m2m1 по ЯП (m2m1 + 7) включительно (за исключением заданий 12 и ). После обработки весь блок «автоматически» обновляется. Требуется:
1. На языке ассемблера TMS320C6x разработать алгоритм и программу обработки блока данных в соответствии с задачей, выбранной из табл. 5 по значению числа
При этом, во-первых, процесс обработки должен быть циклическим (цикл – многократное повторение одних и тех же вычислений, но для различных исходных данных). Во-вторых, количество используемых РОН должно быть минимально возможным.
2. Определить число тактов, необходимое для выполнения разработанной программы.
Таблица 5. Техническое задание
М |
Задача |
0 |
Определить количество отрицательных слов блока. Результат разместить в ЯП m2m1+8. |
1 |
В каждом слове определить количество нулевых старших разрядов, следующих после знакового разряда. Результаты разместить в ЯП, начиная с m2m1+8. |
2 |
В каждой паре слов (1 и 2, 2 и 3, …) блока обнулить слово, меньшее по абсолютной величине. |
3 |
В ЯП, начиная с m2m1+8, разместить слова, в которых хотя бы один и двух старших после знакового разрядов не нулевой. |
4 |
Определить количество максимальных по абсолютной величине слов блока. Результат разместить в ЯП m2m1+8. |
5 |
Определить номера трех наибольших по абсолютной величине слов блока. Результаты разместить в ЯП, начиная с m2m1+8. |
6 |
В ЯП, начиная с m2m1+8, разместить положительные слова, а с m2m1+16 – отрицательные. |
7 |
Определить номера слов, в которых хотя бы раз встречаются три, следующих подряд, единицы. Результаты разместить в ЯП, начиная с m2m1+8. |
8 |
В ЯП, начиная с m2m1+8, сформировать блок, первое слово которого содержит только одну единицу и в старшем разряде; второе слово – только две единицы и в старших разрядах; третье – только три единицы и в старших разрядах; и т.д. |
9 |
В ЯП, начиная с m2m1 + 8, разместить четные по номеру слова, а с m2m1 + 16 – нечетные по номеру слова. |
10 |
Для каждой пары слов (1 и 2, 3 и 4, …) получить сумму, если оба они положительные, и разность в противном случае. Результаты разместить в ЯП, начиная с m2m1+8. |
11 |
В ЯП, начиная с m2m1+8, сформировать новый блок, в котором двоичные слова исходного блока следуют в порядке: 1, 8, 2, 7, 3, 6, 4, 5. |
12 |
В ЯП с m2m1 по m2m1+4 размещены ненулевые слова блока, в ЯП m2m1+5 – номер первого ненулевого слова блока, в ЯП с m2m1+6 по m2m1+9 – расстояния между номерами остальных ненулевых слов блока. В ЯП, начиная с m2m1+10, разместить слова восстановленного блока. |
13 |
Определить наименьшее количество нулевых старших (за исключением знаковых) разрядов блока. Результат разместить в ЯП m2m1+8. |
Продолжение таблицы 5
14 |
Определить номера положительных слов. Результаты разместить в ЯП, начиная с m2m1+8. |
15 |
Определить максимальное по абсолютной величине слово. Результат разместить в ЯП m2m1+8. |
16 |
В ЯП, начиная с m2m1+8, разместить четные по абсолютной величине слова, а с m2m1+16 – нечетные по абсолютной величине слова. |
17 |
Обнулить слова, меньшие по абсолютной величине эталонного полуслова без знака. Эталонное полуслово размещено в ЯП m2m1+8. |
18 |
С точностью до целого определить среднее (со знаком) значение блока. Результат разместить в ЯП m2m1+8. |
19 |
В ЯП m2m1+8 размещено число N, определяющее наименьшее количество нулевых старших разрядов, за исключением знакового. В каждой из ЯП, начиная с m2m1+9, разместить знаковый и два старших после N разряда соответствующих слов исходного блока. |
20 |
В ЯП m2m1+8 разместить сумму положительных и четных по номеру слов, а в ЯП m2m1+9 – сумму отрицательных и нечетных по номеру слов. |
21 |
В ЯП, начиная с m2m1+8, разместить суммы каждой пары отрицательных слов (первого отрицательного слова и второго, третьего и четвертого и т.д.). В случае отсутствия пары сложить с нулем. |
22 |
В ЯП с m2m1+8 по m2m1+15 размещены номера наибольших слов блока (нулевое содержимое первой же из этих ЯП означает окончание последовательности наибольших слов). Определить сумму абсолютных величин остальных слов блока. Результат разместить в ЯП m2m1+16. |
23 |
В каждом слове установить в единицу 28-й разряд и обнулить остальные. |
24 |
Определить номер слова, в котором структура старшего байта (включая знаковый разряд) имеет вид C8h. Результат разместить в ЯП m2m1+8. |
25 |
В каждом слове определить количество единичных позиций. Результаты разместить в ЯП, начиная с m2m1+8. |
26 |
В ЯП, начиная с m2m1+8, разместить номера слов, в которых 30-й и 0-й разряды имеют единичное значение. |
Продолжение таблицы 5
27 |
Заменить младший байт первого слова величиной A3h, второго – величиной A2h, третьего – величиной A1h и т.д. Наконец, младший байт восьмого слова величиной 9Сh. |
28 |
В ЯП, начиная с m2m1+8, расположить слова в порядке убывания их абсолютных величин. |
29 |
В ЯП m2m1+8 размещено число N, определяющее наименьшее количество нулевых старших разрядов, за исключением знакового. В ЯП с m2m1+9 по m2m1+16 размещены знаковый и два старших после N разряда. В ЯП с m2m1 по m2m1+7 разместить слова блока восстановленной до 32 разрядности с нулевыми младшими разрядами. |