close

Вход

Забыли?

вход по аккаунту

?

Kovalenko Solodov KHlestkin Vychislitelnaya tehnika i informacionnye tehnologii Ch2 uchebnoe posobie

код для вставкиСкачать
Федеральное Агентство Связи
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Поволжский государственный университет
телекоммуникаций и информатики»
Коваленко Т.А., Солодов А.Г., Хлесткин А.Ю.
УЧЕБНОЕ ПОСОБИЕ
«Вычислительная техника и Информационные
технологии»
Часть II
Самара
2017
УДК 004.43:811.93
ББК 87.256.631.Ос51
Коваленко Т.А., Солодов А.Г., Хлесткин А.Ю.
«Вычислительная техника и Информационные технологии»
Часть II : Учебное пособие/ Т.А. Коваленко, А.Г Солодов, А.Ю.
Хлесткин – Самара:ПГУТИ, 2017.-108 с.
ISBN 978-5-904029-69-2
Учебное пособие предназначено для студентов старших курсов
технических вузов. В нем рассматриваются вопросы архитектуры
микропроцессоров и программного обеспечения микропроцессорных
систем. Оно содержит необходимые сведения об архитектуре
процессоров фирмы Texas Instruments, информацию о структуре
программы на ассемблере и основных директивах, а также сведения о
форматах машинных команд и правилах их записи в ассемблере. Это
учебное пособие может быть полезно также магистрам и аспирантам,
которые занимаются научными работами в сфере естественных наук.
2
Оглавление
Оглавление .................................................................................................. 3
Аннотация ................................................................................................... 4
1 ПРИНЦИПЫ УПРАВЛЕНИЯ МИКРОПРОЦЕССОРА. ..................... 5
1.1 Классификация микропроцессоров. ............................................... 5
1.2. Декомпозиция МП. ......................................................................... 7
1.3 Принцип аппаратного управления ("жёсткой" логики). ............... 8
1.4. Принцип микропрограммного управления (гибкой логики). ..... 9
1.5. Способы формирования сигналов управления в управляющих
автоматах с "гибкой" логикой. ............................................................ 10
2 ЭЛЕМЕНТЫ АРХИТЕКТУРЫ ЦСП TMS320C6x ............................ 12
2.1. Данные ........................................................................................... 12
2.2. Методы адресации операндов ...................................................... 14
3 Структура ЦСП TMS320C6x ................................................................ 16
4 Структура командной строки ассемблера ........................................... 18
4.1 Основные команды процессора ‘C6x для целых чисел .............. 19
5 Особенности методов базирования и индексации в C6x .................. 21
6 Система команд TMS320С6х ................................................................ 28
6.1 Ограничения целостности ресурса ............................................. 32
7 Организация стандартных алгоритмических структур ...................... 34
8 Классификация и основные характеристики ЗУ ................................. 38
8.1 Организация накопителя ЗУ ......................................................... 39
9 Статические ОЗУ ................................................................................... 42
10 Динамические ОЗУ .............................................................................. 46
11 Постоянные запоминающие устройства ............................................ 50
Лабораторные работы .............................................................................. 56
Лабораторная работа № 1 .................................................................... 57
ЗНАКОМСТВО С СИМУЛЯТОРОМ TMS320C6201....................... 57
Лабораторная работа №2. .................................................................... 63
ПЕРЕСЫЛКА ДАННЫХ .................................................................... 63
Лабораторная №3. ................................................................................ 70
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ ................................................... 70
Лабораторная №4. ................................................................................ 74
ВЕТВЛЕНИЕ С ПРОСТЫМ УСЛОВИЕМ ........................................ 74
Лабораторная работа 5. ....................................................................... 82
ВЕТВЛЕНИЕ СО СЛОЖНЫМ УСЛОВИЕМ ................................... 82
Предметный указатель ............................................................................. 90
Приложение 1 ............................................................................................ 91
Система команд TMS320С6х для чисел с фиксированной запятой ..... 91
Список используемой литературы ................................................... 105
3
Аннотация
Настоящее учебное пособие ориентировано на студентов,
которые изучают вопросы архитектуры микропроцессоров и
программного обеспечения микропроцессорных систем. Оно также
направлено на освоение основных приёмов программирования на
языке ассемблера сигнального процессора TMS320C62x и отладки
соответствующих программ.
Учебное пособие может использоваться на лабораторных и
практических занятиях по дисциплинам «Вычислительная техника и
информационные технологии» и «Цифровые устройства и
микропроцессоры»
для
студентов
телекоммуникационных
направлений.
Оно содержит необходимые сведения об архитектуре
процессоров фирмы Texas Instruments, информацию о структуре
программы на ассемблере, а также сведения о форматах машинных
команд и правилах их записи в ассемблере. Кроме этого в пособии
обсуждаются некоторые приемы программирования на ассемблере,
такие как программирование ветвлений, организация циклов разного
вида и принципы программирования обработки массивов и матриц.
Приведены также форматы и примеры использования некоторых
команд.
Учебное пособие содержит необходимые теоретические сведения,
практические рекомендации и задания по выполнению работ. В
лабораторных работах для создания программ будет использоваться
СИМУЛЯТОР TMS320C62х. Пособие предназначено для студентов
старших курсов и магистров занимаются научными работами в сфере
естественных наук.
4
1 ПРИНЦИПЫ УПРАВЛЕНИЯ
МИКРОПРОЦЕССОРА.
В основе построения микропроцессорных систем (МПС) обработки
информации лежит модульный принцип.
Модулем
микропроцессорной
системы
является
её
функциональный блок, выполненный в виде конструктивно
законченного устройства – обычно в виде одной или нескольких БИС
либо в виде плат.
Модули соединяются между собой посредством специальных
устройств, называемых интерфейсами.
Основными модулями МПС являются однокристальный
микропроцессор (МП), постоянная и оперативная (основная) памяти,
устройства ввода-вывода информации и блоки управления
(контроллеры).
Суть проектирования микропроцессорных систем на основе
выбранного
однокристального
микропроцессора
состоит
в
следующем:
1)
выбор внешних устройств, предназначенных для связи МП с
устройствами ввода-вывода информации;
2)
организация связи этих устройств с микропроцессором;
3)
выбор ёмкости памяти для размещения программы и
промежуточных данных, а также способа её организации;
4)
программирование МП на выполнение требуемых функций
при известной конфигурации МПС с использованием системы команд
МП.
1.1 Классификация микропроцессоров.
Микропроцессором называется функционально законченное
программно-управляемое
устройство
обработки
цифровой
информации.
Числовая информация, заданная для обработки, называется
данными.
Физически микропроцессоры (МП) выпускаются в виде одной или
нескольких больших, или сверхбольших интегральных схем (БИС
или СБИС), содержащих на одном кристалле сотни тысяч
элементарных транзисторов.
МП дополняются БИС для хранения, ввода-вывода данных,
управления и синхронизации, сопряжения интерфейсов и т.п. Эти БИС
совместимы с МП по архитектуре, конструктивному исполнению и
параметрам. Такие наборы БИС называются микропроцессорными
комплектами (МПК).
5
МП можно классифицировать по весьма большому числу
характеристик. Мы воспользуемся одним из возможных вариантов
классификации.
1.
По
назначению
различают
универсальные
и
специализированные микропроцессоры.
Универсальные
МП
могут
осуществить
преобразование
информации в соответствии с любым заданным алгоритмом.
Специализированные МП предназначены для решения
определённого класса задач и даже, может быть, для решения одной
конкретной задачи. Их особенностью являются низкая стоимость,
малая потребляемая мощность, компактность, простота управления.
Среди специализированных МП выделяют микроконтроллеры,
используемые в управлении технологическими процессами,
измерениях, научных исследованиях. Их отличительной чертой
является работа в реальном масштабе времени.
2.
По числу БИС различают секционные (разрядно-модульные)
и однокристальные МП.
Микропроцессорная секция (модуль) представляет собой БИС для
обработки небольшого числа разрядов данных (4 или 8). Такие МП
обладают возможностью наращивания разрядности, что позволяет на
их основе строить МП произвольной разрядности. Кроме того,
секционные МП не имеют фиксированного набора команд, а
программируются на микрокомандном уровне. Это позволяет
реализовать оптимальный для данной задачи набор команд и
отдельных процедур.
Однокристальные МП реализуются в виде одной БИС или СБИС.
Такие МП имеют фиксированный набор команд и фиксированную
разрядность. Благодаря успехам МОП-технологии в повышении
степени интеграции и быстродействия в настоящее время в
микропроцессорной
технике
основное
место
занимают
однокристальные МП (процессоры).
3. По способу управления различают МП с микропрограммным
и с "жёстким" (аппаратным) управлением.
Микропрограммное управление характерно для секционных МП, а
"жёсткое" – для однокристальных.
4. По возможности прерываний выполняемой программы
МП могут не иметь, а могут иметь одно- или многоуровневую систему
прерывания.
В многоуровневых системах прерывания разрешается прерывание
прерывания. Такие системы используются в МП, работающих в
реальном масштабе времени.
6
1.2. Декомпозиция МП.
Для облегчения понимания принципа работы микропроцессора,
представим его в виде некоторого ПЦУ, состоящего из двух устройств:
управляющего и операционного (см.Рис. 1.1).
Операнд
ы
Операционное
устройство
операции
обработки
Сигналы
признаков
Сигналы
управления
Код
Результат
Управляющее
устройство
Рис.1.1 – Программное цифровое устройство
Операционное устройство производит прием операндов (чисел
участвующих в операции), их хранение и преобразование. Кроме того,
операционный блок выдает во внешнюю среду результат
преобразования, а в управляющее устройство – сигналы признаков.
Сигналы признаков (флаги) несут информацию об особенностях
операндов и их отдельных разрядов, а также особенностях
промежуточных и конечных результатов обработки (например,
равенство нулю, чётность результата, переполнение разрядной сетки и
др.).
Управляющее устройство, в зависимости от кода операции и
сигналов
признаков
вырабатывает
сигналы
управления,
обеспечивающие выполнение заданной операции.
Процесс функционирования МП во времени состоит из
последовательности элементарных операций. Например, передача
кодового слова от одного узла МП к другому, поразрядное
инвертирование слова, сдвиг и др.
Элементарная операция выполняется за один такт синхросигнала
и называется микрооперацией.
В течение такта может быть выполнено несколько микроопераций,
но только если результат выполнения каждой из них не зависит от
результатов выполнения остальных.
7
Элементарные
преобразования
информации
производятся
операционным блоком под воздействием управляющих сигналов.
Совокупность
управляющих
сигналов,
обеспечивающих
выполнение микроопераций в течение одного тактового интервала,
называется микрокомандой.
Последовательность микрокоманд, обеспечивающая выполнение
данной операции (команды), называется микропрограммой.
Управляющее устройство может быть задано как автомат Мили
или как автомат Мура, для которых функции переходов и выходов
определяются заданной микропрограммой. В связи с этим
управляющее устройство часто именуется микропрограммным или
управляющим автоматом.
Для построения управляющего автомата используются принципы
"жёсткой" (схемной) и "гибкой" (программируемой) логики.
1.3 Принцип аппаратного управления ("жёсткой" логики).
Типовой управляющий автомат с "жёсткой" логикой имеет
следующую структуру (см. Рис.1.2).
Рис.1.2 – Типовой управляющий автомат с «жесткой» логикой
В управляющем устройстве предусматривается ряд управляющих
узлов (УУз), представляющих собой набор логических схем
Команда, поступающая из внешнего ОЗУ фиксируется в регистре
команд (РгК) и с помощью дешифратора команд (ДШ) включает
соответствующий управляющий узел.
Управляющий
узел
вырабатывает
определённую
последовательность сигналов управления (СУ), обеспечивая
выполнение данной операции операционным блоком.
В общем случае значения сигналов управления зависят от
сигналов признаков, отражающих ход вычислительного процесса.
При таком способе построения управляющего автомата
микропрограммы операций заложены в однажды выполненные
8
соединения между логическими схемами управляющих узлов. Это
означает, что набор команд или, иначе говоря, система команд
фиксируется и соответствует числу выполняемых операций.
Поэтому такие микропроцессоры называются с "жёсткой" логикой
управления.
Невозможность изменения системы команд после изготовления
МП приводит к его узкой специализации. Вместе с тем МП с
"жёсткой"
логикой
управления
обеспечивает
наивысшее
быстродействие при заданной технологии изготовления.
1.4. Принцип микропрограммного управления (гибкой логики).
В управляющем автомате с "гибкой" логикой предусматриваются
управляющая память (УП) и блок микропрограммного управления
(БМУ) (см. Рис. 1.3).
Рис.1.3 – Управляющий автомат с «гибкой» логикой
В УП для каждой операции содержится своя МКП.
УП может быть постоянной или с произвольным обращением, т.е.
допускающая как считывание, так и запись. В последнем случае
загрузка УП производится пользователем.
Команда, поступающая из внешней памяти, используется БМУ
для определения адреса первой МК той МКП, которая реализует
заданную операцию.
Далее
микрокоманды
найденной
МКП
последовательно
считываются из УП. При этом адрес следующей МК определяется
БМУ на основе предыдущей МК.
Для обеспечения такого процесса управления в МК
предусматриваются три поля (три группы разрядов): поле адреса, поле
условных переходов (УсП) и поле сигналов управления (СУ). Два
9
первых поля образуют адресную часть МК, а последнее поле – её
операционную часть (см. Рис.1.4)
Рис.1.4. – Поля МК
В поле адреса содержится адрес очередной МК.
Поле УсП предусматривается для реализации условных и
безусловных переходов.
Один из разрядов этого поля отводится для указания вида перехода
(например, 0 – безусловный переход, 1 – условный переход).
Ещё один разряд определяет участие данного вида перехода в
определении адреса (например, 1 – участвует, 0 – не участвует).
Остальные разряды используются для указания условий, на
которые следует ориентироваться при определении адреса очередной
МК.
В результате в зависимости от условия образуются два различных
адреса и очередная МК, считывается из одной либо из другой ячейки
УП.
Рассмотренный
способ
управления
получил
название
микропрограммного, а МП с управляющим автоматом на этом
принципе называются МП с программируемой логикой.
Достоинством такой организации управления является
возможность гибкого изменения системы команд МП с помощью
изменения совокупности МКП, реализующих эти команды. Отсюда
второе название принципа – принцип "гибкой" логики.
Вместе с тем использование принципа "гибкой" логики может
привести к снижению быстродействия из-за увеличения числа тактов
реализации микропрограммы.
Микропрограммное управление используется не только в
секционных МП, но и в устройствах управления периферийным
оборудованием МПС, а также как средство для аппаратной реализации
фрагментов операционных систем, трансляторов и т.д.
Управляющие автоматы с "гибкой" логикой различаются по
способу формирования сигналов управления.
1.5. Способы формирования сигналов управления в управляющих
автоматах с "гибкой" логикой.
Возможно
горизонтальное,
микропрограммирование.
вертикальное
10
и
смешанное
При горизонтальном микропрограммировании каждому разряду
операционной части МК ставится в соответствие определённый
управляющий сигнал, т.е. определённая микрооперация.
Так, если в i-ом разряде стоит 1, то соответствующая
микрооперация выполняется независимо от значения других разрядов.
При таком способе операционная часть МК содержит m разрядов,
где m – общее число микроопераций.
Достоинствами
горизонтального
микропрограммирования
являются
возможность одновременного выполнения в одном такте любого
набора микроопераций и простота формирования сигналов
управления.
Однако при этом требуется большая длина МК, поскольку число
управляющих сигналов может достигать нескольких сотен.
Поэтому большее распространение получили другие методы.
Контрольные вопросы
Что такое модуль микропроцессорной системы?
В чем состоит суть проектирования микропроцессорных
систем?
3. Классификация микропроцессоров по назначению.
4. Классификация микропроцессоров по числу БИС
5. Классификация микропроцессоров по способу управления
6. Классификация микропроцессоров по возможности прерываний
выполняемой программы
7. Каков принцип декомпозиции микропроцессора.
8. Опишите принцип аппаратного управления ("жёсткой" логики).
9. Опишите принцип микропрограммного управления (гибкой
логики), его достоинства и недостатки.
10. Расскажите о способах формирования сигналов управления в
управляющих автоматах с "гибкой" логикой, достоинства и
недостатки.
1.
2.
11
2 ЭЛЕМЕНТЫ АРХИТЕКТУРЫ ЦСП TMS320C6x
Компания Texas Instruments (TI) вывела на рынок процессоры с
архитектурой VLIW (высоко параллельная архитектура с очень
длинным – 32-разрядным, командным словом), предложив для нее
термин VelosiTI.
5 семейства (платформ) ЦСП: от TMS320C2х до TMS320C6х.
2.1. Данные
16-ричная система счисления – используется для компактной
записи чисел в программах.
Алфавит: 10 арабских цифр от 0 до 9 и шесть латинских букв:
A10, B11, C 12, D13, E14 и F15.
Преобразование десятичных чисел в 16-ричные и обратно:
Переход от 2-х чисел к 16-ричным:
Переход от 16-ричных чисел к
двоичным:
Представление целых чисел.
Числа бывают беззнаковые и знаковые.
В n-разрядной двоичной сетке для модуля беззнаковых чисел
отводятся все n разрядов. При этом диапазон чисел составляет от 0 до
2n-1.
В случае знаковых чисел старший разряд отводится под знак (1 – «», 0 – «+»), а остальные разряды – под модуль. Т.о., диапазон чисел
составляет от +(2n-1 – 1) до -(2n-1- 1).
В процессоре знаковые числа представляются в дополнительном
коде.
Дополнительный код положительного числа, есть само число.
Дополнительный код отрицательного числа образуется по правилу:
символ младшего разряда вычитается из числа, равного основанию
12
системы счисления, а символы остальных разрядов – из числа, на 1
меньшего основания системы счисления.
Примеры при n = 8: -510 = -0000 01012 в прямом двоичном коде;
-510 = 1111 10112 в дополнительном коде.
-7Е16 = 8216 в дополнительном коде.
Арифметические операции над целыми числами.
1. Сложение:
а) производится поразрядно, начиная с младших разрядов;
б) если сумма Si чисел i-го разряда превышает или равна ОСС, то в
этот разряд результата записывается разность (Si – kОСС), а в
следующий, более старший разряд (включая и знаковый), переносится
k в виде дополнительного слагаемого. Здесь k – целая часть от деления
Si на ОСС.
Например, в случае двоичной системы счисления и Si = 5, k = 5/2
= 2. Следовательно, в i-й разряд результата запишется 5-k2 = 5-4 = 1, а
в следующий разряд переносится (говорим «в уме») дополнительное
слагаемое 2 (k = 2);
в) в случае знаковых чисел перенос из знакового разряда не
производится.
Примеры:
числа без знака
Возможно переполнение
знаковые числа
Переполнения нет
Результат операции над знаковыми
числами представлен в прямом коде, если он положительный и в
дополнительном коде, если отрицательный.
2. Вычитание заменяется сложением чисел, предварительно
представленных в дополнительном коде.
Примеры при n = 4:
616-316 = 616+D16 = 316 (перенос из знакового разряда не
производится);
316-616 = 316+А16 = D16 (дополнительный код числа -3);
-616-316 = A16+D16 = 1716 (переполнение разрядной сетки).
13
3. Умножение для положительных чисел выполняется обычным
образом, а для отрицательных – с промежуточным преобразованием в
прямой код.
Примеры: а). Числа без знака:
2.2. Методы адресации операндов
Адресация – обращение к операнду, указание на который
содержится в команде.
Адресный код (АК) – это информация об адресе операнда,
содержащаяся в команде.
Исполнительный адрес (АИ) – это номер физической ячейки
памяти, к которой производится обращение.
Первая группа адресаций устанавливает АИ по значению АК.
Непосредственная адресация – операнд указывается в команде
константой. Эта адресация используется для ввода исходных данных и
при работе с различного рода константами.
Прямая адресация – АИ совпадает с АК.
Регистровая адресация – в команде указывается имя регистра РОН
процессора, в котором хранится операнд.
Косвенная адресация – АК указывает имя регистра процессора, в
котором находится АИ. Такой регистр называют регистром адреса (см.
Рис.2.1).
Рис.2.1 – Регистр адреса
Автоинкрементная (автодекрементная) адресация – в команде
указывается имя регистра процессора, содержимое которого
14
автоматически увеличивается (уменьшается) на 1.
Вторая группа адресаций вычисляет АИ по АК. При этом АИ
определяется алгебраической суммой АК, называемого базовым
адресом (базой), и некоторого числа, называемого смещением (см.
Рис.2.2).
Рис.2.2 – Вторая группа адресации
«База» задает центр области ячеек памяти, а «смещение» –
величину смещения относительно этого центра.
«База» содержится в регистре РОН, называемом регистром адреса
или также базой.
2 метода – базирование и индексация. При базировании база не
меняется, а при индексации – меняется и становится равной АИ.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Как представляются целые числа?
Как производится сложение?
Как делается умножение?
Как делается вычитание?
Дайте
определение
адресации,
адресному
исполнительному адресу.
Что устанавливает первая группа адресации?
Для чего нужна вторая группа адресации?
15
коду
и
3 Структура ЦСП TMS320C6x
Три составные части: ядро (ЦПУ), две области памяти – память
данных и память команд, внутренняя периферия (Рис.3.1).
Программная память 512 Кбит
256-разрядные команды; 32-разрядные адреса
ЦПУ
ЛСЭ
Управляющие
регистры
Пакет выборки команд
Диспетчер команд
Декодер команд
ПДП,
ИВП
.L1 .S1 .M1 .D1
РОНы А
данные
Управляющая
логика
.D2 .M2 .S2 .L2
2x
1x
адреса
РОНы В
данные
Память данных
8-,16-,32-разрядные данные; 32-разрядные адреса
Тестирование
Эмуляция
Прерывания
Дополнительная
периферия:
таймеры,
последовательные
порты, хост-порт и
т.д.
Рис.3.1 – Структура ЦСП TMS320C6x
ПДП – передача данных между областями памяти и начальная
загрузка программы в программную память.
ИВП – обмен данными между памятью данных и внешней
памятью, внешней памятью и внешней периферией, памятью данных и
внешней периферией.
Таймеры – задание временных событий, генерация импульсов,
реализация счетчиков, прерывание процессора.
ЛСЭ – включает «спящие» режимы. Режим 1 – тактирование
снимается только с ядра, режим 2 – тактирование снимается с ядра и
периферии, режим 3 – тактирование снимается практически со всего
кристалла.
Имена регистров РОН: А0, …, А15, В0, …, В15. Регистровые
пары представлены в таблице 3.1.
16
Таблица 3.1
Регистровые пары
Сторона А
Сторона В
А1:А0
А9:А8
В1:В0
В9:В8
А3:А2
А11:А10
В3:В2
В11:В10
А5:А4
А13:А12
В5:В4
В13:В12
А7:А6
А15:А14
В7:В6
В15:В14
Ограничения ресурсов:

только один модуль (.L, .S или .М) и только один операнд может
взять с противоположной стороны РОН;

результат выполнения операции модулем всегда размещается в
регистре РОН своей стороны;

в одном и том же такте к РОН одной стороны возможен доступ
одновременно всех модулей этой стороны;

для обмена данными между РОН одной стороны и памятью
данных можно использовать модуль .D противоположной
стороны.
Процесс обработки команд в ядре включает в себя:
пакет выборки загружается в программную память;
диспетчер
команд
формирует
последовательность
выполняемых пакетов;

для каждой команды выполняемого пакета декодер выделяет
код операции и передает его на соответствующий модуль.


Контрольные вопросы
1.
2.
3.
4.
5.
6.
Перечислите три составных части структуры ЦСП TMS320C6x
Опишите ядро ЦПУ
Дайте определение ПДП,ИВТ и ЛЭС.
Перечислите имена Регистров РОН по парно.
Какие ограничения ресурсов существует?
Что включает в себя обработки команды в ядре?
17
4 Структура командной строки ассемблера
Ассемблерные предложения:
Пробелы внутри каждого из 6 первых полей запрещены.
Поле метки
правильная запись L…: _G...:
неправильная запись 1…: _1…:
_:
Поле параллельных линий ||
Такт
(выполняемый
пакет)
1
2
3
Команды
A
B
C
D
Команда А
Команда В
Команда С
|| Команда D
|| Команда E
переход
E
Поле условия
Регистры условия: A1, A2, B0, B1 и B2.
Принцип выполнения условных команд:
Условие
Команда выполняется, если
[A1]
содержимое А1 не нулевое
[!A1]
содержимое А1 равно нулю
Поле команды
Мнемоника директивы или команды.
Пример директивы ассемблера:
.set (на машинный язык не
переводятся).
Пример команды ассемблера:
add (переводятся на машинный
язык).
18
Поле модуля
Имя конкретного функционального устройства, например .D1 или
.L1Х, если один операнд берется с противоположной стороны.
Функциональный тип устройства, например .М.
Поле операндов
Имена регистров РОН, содержащие данные.
Адресация операндов.
Данные в числовой форме:
1.
Константы:

двоичное целое, например 01b, 0100В;

восьмеричное целое, например 236q, 10Q;

десятичное целое:
знаковые числа от -2 147 483 648 до 2 147 483 647,
числа без знака от 0 до 4 294 967 295;

шестнадцатеричное целое, например 9АH, 5Dh.
Требование: должна начинаться с цифры. Так, при вводе А5h
следует указывать как 0А5h;

символ, например ‘А’ (символ А), ‘
’ (пробел), ‘’’ (один
апостроф);

символьная строка, например “LAN ‘’’’C’’’’ (план ''C').
2. Выражение.
Поле комментария
Начинается символом:

«;», если размещается с любого (кроме первого) столбца
ассемблерной строки;

«*»,если размещается с первого столбца ассемблерной строки.
4.1 Основные команды процессора ‘C6x для целых чисел
Команды загрузки и хранения
Третья буква мнемоник:
W – слово (32-разрядное двоичное число)
H – полуслово (16 младших двоичных разрядов)
19
B – байт (8 младших двоичных разрядов)
Особенности команд загрузки:
LDH и LDB – расширение знаком полуслова или байта,
соответственно;
LDHU и LDBU – расширение нулем.
Примеры для mem = 1005 В071h:
после выполнения LDH – FFFF В071h (В=1011),
после выполнения LDB – 0000 0071h (7=0111),
после выполнения LDHU – 0000 В071h.
Формат поля операндов команд загрузки/хранения:
(для LD) *<АК>,<регистр-приемник РОН>
(для ST) <регистр-источник РОН>,*<АК>
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Как строится ассемблерное предложение?
Перечислите все поля которые входят в ассемблерное
предложение.
Как происходит адресация операндов?
Как задаются данные в числовой форме?
Как задаются данные в выражении?
Перечислите основные команды процессора ‘C6x для целых
чисел.
Назовите особенности команды загрузки.
20
5 Особенности методов базирования и индексации в
C6x
Особенности методов базирования и индексации в С6х состоит в
следующем:
 базирование указывается одним знаком операции со смещением и
всегда перед именем базы, а индексация – двумя знаками;
 смещение указывается в квадратных скобках и представляется либо
константой, либо содержимым регистра РОН, например: *-А7[A5],
*++А7[5];
 второй смысл третьей буквы мнемоники команды: W означает
предварительное учетверение смещения, H – удваивание, B –
неизменность смещения;
 если величина смещение превышает 5 двоичных разрядов, в
качестве базы или индекса может использоваться только регистр В14
или В15. При этом в методе базирования вычитание не
поддерживается.
Команды поддерживают три вида адресации.
Косвенная
например:
LDх *А7,А4
STх А4,*А7
АИ = содержимому А7
Базирование
например
LDW *+А7[5],А4
АИ = А7+45
STH А4,*-А7[5]
АИ = А7- 25
21
Индексация
прединдексация
например
LDB *++А7[5],А4
АИ = А7+15
STH А4,*--А7[5]
АИ =
А7-25
постиндексация
например
STx А4,*А7++[5]
АИ = содержимому А7
LDх *А7--[5],А4
АИ = содержимому А7
Примеры команд загрузки и хранения:
1.
LDW .D1 *A10,B1 (косвенная)
Перед командой
В1
хххх ххххh
A10
0000 0100h
Mem 100h 21F3 1996h
2.
LDВ .D1 *-A5[4],A7 (базирование)
Перед командой
А5
0000 0204h
A7
хххх ххххh
Mem 200h
E1h
3.
после 4 тактов
21F3 1996h
0000 0100h
21F3 1996h
после 4 тактов
0000 0204h
FFFF FFE1h
E1h
LDН .D1 *++A4[А1],A8 (преиндекс.)
Перед командой
А1
0000 0002h
A4
0000 0020h
А8
хххх ххххh
Mem 24h
A21Fh
после 4 тактов
0000 0002h
0000 0024h
FFFF A21Fh
A21Fh
22
STН .D1 A1,*A10--[А11] (постиндекс.)
4.
Перед командой
А1
9А32 7634h
А10
0000 0100h
А11
0000 0004h
Mem 100h В000 800Аh
после 1 такта
9А32 7634h
0000 00F8h
0000 0004h
0000 7634h
LDВ .D2 *+В14[36],В1 (конст. >25-1)
5.
Перед командой
В1
хххх ххххh
В14
0000 0100h
Mem 124h
12h
после 4 тактов
0000 0012h
0000 0100h
12h
LDW .D1 *A4++[1],A6 (постиндекс.)
6.
Перед командой
A4
0000 0100h
А6
хххх ххххh
Мem 100h 0798 F25Ah
после 4 тактов
0000 0104h
0798 F25Ah
0798 F25Ah
Команды ввода исходных данных
MVК (с расширением знаком)
MVК .S1 293,A1
MVК .S1 0А95АF12h,A1
перед командой после 1 такта
перед командой после 1 такта
А1 хххх ххххh 0000 0125h
A1 хххх ххххh FFFF АF12h
MVКH
MVКH .S1
0А3291h,A1
перед командой после 1 такта
А1 хххх 7634h 000А 7634h
23
MVКLH
MVКLН
.S1
7A8h,A1
перед командой после 1 такта
A1 хххх F25Ah 07А8 F25Ah
Арифметические команды
ABS – вычисление абсолютной величины.
Особенность
команды:
дополнительном коде.
результат
представляется
ABS .L1 A1,A5 (отрицательное)
А1
A5
перед командой
8000 4E3Dh
xxxx xxxxh
после 1 такта
8000 4E3Dh
7FFF B1C3h
ABS .L1 A1,A5 (положительное)
A1
A5
перед командой
3FF6 0010h
xxxx xxxxh
после 1 такта
3FF6 0010h
3FF6 0010h
ADDК – сложение со знаковой константой
ADDК .S1 15401,A1
А1
перед командой
0021 37E1h
(1540110 = 3С29h)
после 1 такта
0021 740Ah
ADD2 – сложение младших и старших полуслов
ADD2 .S1X A1,B1,А2
А1
В1
А2
перед командой
0021 37E1h
039A E4B8h
xxxx xxxxh
после 1 такта
0021 37Е1h
039A E4B8h
03BB 1C99h
24
в
ADD – сложение знаковых целых
Особенности команды:
 полагается, что операнды уже представлены в дополнительном
коде;
 только первый операндом может быть знаковой константой, но
длиной не более 5 двоичных разрядов;
 только второй операнд может быть длинным (40-разрядным);
 переполнение исключено.
ADD .L2X A1,В1,В2
A1
В1
В2
перед командой
0000 325Ah
FFFF FF12h
xxxx xxxxh
после 1 такта
0000 325Ah
FFFF FF12h
0000 316Ch
ADDU – сложение беззнаковых целых
Особенность команды: приемником результата всегда является
регистровая пара, поскольку возможно переполнение
ADDU .L1 A1,А2,A5:A4
перед командой
A1
0000 325Ah
A2
FFFF FF12h
A5:A4 xxxx xxxxh
после 1 такта
0000 325Ah
FFFF FF12h
0000 0001:0000 316Ch
ADDU .L1 A1,А3:А2,A5:A4
перед командой
A1
0000 325Ah
А3:A2 0000 00FF:FFFF FF12h
A5:A4 0000 0000: 0000 0000h
после 1 такта
0000 325Ah
0000 00FF:FFFF FF12h
0000 0000: 0000 316Ch
нет доступа
SUB – вычитание знаковых целых
Особенности команды:
 если уменьшаемой положительное, вычитаемое предварительно
преобразуется в дополнительный код, после чего производится
сложение. Здесь приемником результата является регистр.
 если уменьшаемое отрицательное, то после преобразования
вычитаемого в дополнительный код оба операнда расширяются знаком
до 40-разрядных чисел, затем производится сложение.
25
SUB .L1 A1,А2,A3
перед командой
A1
0000 325Ah
A2
FFFF FF12h
A3
xxxx xxxxh
после 1 такта
0000 325Ah
0000 00ЕЕh
0000 3348h
SUB .L1 A1,А2,A5:А4
перед командой
A1
FFFF CDA6h
A2
0000 00EEh
A5:A4 0000 0000h:0000 0000h
после 1 такта
FF:FFFF CDA6h
FF:FFFF FF12h
0000 00FF:FFFF CCB8h
SUBU – вычитание беззнаковых целых
Особенность команды: 32-разрядное вычитаемое расширяется
знаком до 40-разрядного, затем преобразуется в дополнительный код,
после чего производится сложение.
SUBU .L1 A1,А2,A5:А4
A1
A2
A5:A4
перед командой
0000 325Аh
FFFF FF12h
0000 0000:0000 0000h
после 1 такта
00:0000 325Аh
00:0000 00ЕЕh
0000 0000:0000 3348h
SUBU .L1 A1,А2,A5:А4
перед командой
A1
FFFF CDA6h
A2
0000 00EEh
A5:A4 0000 0000h:0000 0000h
после 1 такта
00:FFFF CDA6h
FF:FFFF FF12h
0000 0000:FFFF CCB8h
MPY – умножение младших знаковых полуслов
Особенность команды: только первый операнд может быть
знаковой константой, но длинной не более 5 двоичных разрядов.
MPY .M1 A1,А2,A3
перед командой
A1 0000 0123h
А2 01E0 FA81h
A3 xxxx xxxxh
после 2 такта
0000 0123h
01E0 FA81h
FFF9 C0A3h
26
Комментарий:
(FA81 – доп. код числа -057Fh)
(-057Fh0123h = -0006 3F5Dh)
MPYU – умножение младших беззнаковых полуслов
MPYU .M1 A1,А2,A3
перед командой после 2 такта
Комментарий:
A1 0000 0123h 0000 0123h (FA81h берется как положительное)
А2 0F12 FA81h 0F12 FA81h
A3 xxxx xxxxh 011C C0A3h
(результат без знака)
MPYUS (первый операнд – без знака, второй – знаковый)
MPYUS .M1 A1,А2,A3
перед командой после 2 такта
Комментарий:
A1 1234 FFA1h 1234 FFA1h (FA81h берется как положительное)
А2 1234 FFA1h 1234 FFA1h (FA81h – доп. код числа -5Fh)
A3 xxxx xxxxh FFA1 2341h (FA81h-5Fh = -005Е DBFh)
MPYSU (первый операнд – знаковый, второй – без знака)
MPYSU .M1 13,A1,А2
А1
А2
перед командой
3497 FFF3h
xxxx xxxxh
после 2 такта
3497 FFF3h
000C FF57h
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
8.
Перечислите особенности методов базирования и индексации.
Сколько команд поддерживают адресацию, дайте их
характеристику.
Какие команды отвечают за хранение данных?
Какие команды отвечают за передачу данных?
Какие команды отвечают за ввод исходных данных?
Какие команды отвечают за сложение и их особенности?
Какие команды отвечают за вычитание и их особенности?
Какие команды отвечают за умножение и их особенности?
27
6 Система команд TMS320С6х
Логические команды
AND, OR, XOR
Выполняются поразрядно. Пример поразрядной
(Рис.6.1)
дизъюнкции
Рис.6.1 – Операция дизъюнкции
Особенности команд:
 только первый операнд может быть знаковой константой;
 знаковая константа расширяется знаком до 32 разрядов и
представляется в дополнительном коде, после чего выполняется
данная операция.
OR .L2 -12,B1,B2
перед командой после 1 такта
B1 0000 3A41h
0000 3A41h
B2 xxxx xxxxh
FFFF FFF5h
(числу -12 отвечает -0000000Сh или в дополнительном коде FFFF
FFF4h)
AND .L1X A1,B1,A2
перед командой
A1 F7A1 302Ah
B1 02B6 E724h
A2 xxxx xxxxh
после 1 такта
F7A1 302Ah
02B6 E724h
02A0 2020h
Команды сравнения
Особенности команд:
 только первый операнд может быть константой;
 только второй операнд может быть 40-разрядным. При этом в
сравнении участвует только число, хранящееся в четном регистре
пары;
 знаковые числа представляются в дополнительном коде.
28
CMPEQ .L1X A1,B1,A2 (равны?)
перед командой
после 1 такта
A1 0000 04B8h 0000 04B8h
B1 0000 04B7h 0000 04B7h
A2 xxxx xxxxh
0000 0000h
CMPQT .L1X A1,B1,A2 (больше?)
перед командой
A1 FFFF FE91h
B1 FFFF FDC4h
A2 xxxx xxxxh
после 1 такта
FFFF FE91h
FFFF FDC4h
0000 0001h
Команды сдвига
Особенности команд:
 только первый операнд может быть 40-разрядным и при этом
знаковым;
 только второй операнд может быть константой, причем длинной не
более 5 двоичных разрядов и без знака;
 при арифметическом сдвиге вправо в освободившийся триггер
вводится знак слова.
SHL .S1 A0,2,A1
перед командой
A0 02E3 031Ch
A1 xxxx xxxxh
после 1 такта
02E3 031Ch
0B8C 0C70h
SHR .S1 A0,A1,A2
перед командой
после 1 такта
A0 8719 1925h
4719 1925h
A1 0000 0003h
0000 0003h
A2 xxxx xxxxh
F0E3 2324h
SHRU .S1 A1:A0,3,A3:A2
перед командой
A1:A0 0000 0083h:4719 1925h
A3:A2 xxxx xxxxh:xxxx xxxxh
после 1 такта
0000 0083h: 4719 1925h
0000 0010h: 68E3 2324h
29
Команда перехода
Особенность команды: в слотах задержки можно разместить
другие команды.
Сервисные команды
CLR
EXT
Границы области вычисляются по константам, указанным в
команде: нижняя а = k2-k1, верхняя b = 31-k1.
30
SAT
 Правило формирования результата:
 если N > 231-1 (7FFF FFFFh), результат равен 231-1;
 если N < -231 (-00:8000 0000h или в дополнительном коде FF:8000
0000 h), результат равен -231 (8000 0000h);
 иначе результат равен N.
SET
LMBD
Значение младшего бита первого из указанных в команде регистров
определяет предмет поиска во втором регистре – первую слева 1 или
первый слева 0.
LMBD L1.
A1,A2,A3
Перед командой после 1 такта
А1 0000 0001h
0000 0001h
А2 009E 3A81h 009E 3A81h
A3 xxxx xxxxh 0000 0008h
31
(в А2 определить число нулей
до первой слева 1)
6.1 Ограничения целостности ресурса
Ограничения на использование командами одного и того же
функционального устройства
Неправильный выполняемый
пакет
ADD .S1 A0,A1,A2
|| SHR .S1 A3,15,A4
Правильный выполняемый пакет
ADD .L1 A0,A1,A2
|| SHR .S1 A3,15,A4
Ограничения на перекрестные линии (1X и 2X)
Неправильный выполняемый
пакет
ADD .L1X A0, B1, A1
|| MPY .M1X A4, B4, A5
Правильный выполняемый пакет
ADD .L1X A0, B1, A1
|| MPY .M2X B4, A4, B2
Ограничения на чтения регистра
Неправильный выполняемый
пакет
MPY .M1 A1,A1,A4
|| ADD .L1 A1,A1,A5
|| SUB .D1 A1,A2,A3
Правильные выполняемые
пакеты
MPY .M1 A1,A1,A4
[A1] ADD .L1 A0,A1,A5
||
SUB .D1 A1,A2,A3
Ограничения на записи в регистр
Неправильный выполняемый
пакет
MPY .M1 A0,A1,A2
ADD .L1 A4,A5,A2
32
Правильный выполняемый пакет
MPY .M1 A0,A1,A2
|| ADD .L1 A4,A5,A2
Неправильный выполняемый
пакет
LDW .D1 *A4,A5
|| STW .D2 A6,*B4
Правильные выполняемые
пакеты
LDW .D1 *A4,B5
|| STW .D2 A6,*B4
LDW .D1 *A0,B2
|| LDW .D2 *B0,A1
Неправильный выполняемый
пакет
LDW .D1 *A0,A1
|| LDW .D2 *A2,B2
Правильный выполняемый
пакет
LDW .D1 *A0,A1
|| LDW .D2 *В0,B2
Ограничения на загрузку и хранение
L1:
Обнаруживаемый конфликт
ADD .L2 B5,B6,B7
|| SUB .S2 B8,B9,B7
Не обнаруживаемый конфликт
L2:
MPY .M2 B0,B1,B2
L3:
ADD .L2 B5,B6,B2
Нет конфликта
L4: [!B0] ADD .L2 B5,B6,B7
|| [B0] SUB .S2 B8,B9,B7
Не обнаруживаемый конфликт
L5: [!B1] ADD .L2 B5,B6,B7
|| [B0] SUB .S2 B8,B9,B7
Конфликты множественной записи
Контрольные вопросы
1.
2.
3.
4.
5.
6.
Перечислите логические команды и их особенности.
Перечислите команды сравнения и их особенности.
Перечислите команды сдвига и их особенности.
Перечислите команды перехода и их особенности.
Перечислите сервисные команды и их особенности.
Дайте определение ограничения целостности ресурса и на что
это распространяется.
33
7 Организация стандартных алгоритмических
структур
Наиболее часто алгоритмы процессов обработки информации в
МПС представляют графически в виде схем, используя язык
спецификаций и описаний SDL.
Алфавит языка SDL состоит из набора графических символов,
которые подразделяются на 2 группы.
Первая группа используется для представления диаграмм
взаимодействия, а вторая – диаграмм процесса схем алгоритмов.
Приведём основные символы языка SDL (табли.7.1).
Таблица 7.1
Основные символы языка SDL
34
На диаграмме взаимодействия МПС представляется набором
функциональных БЛОКОВ, соединённых между собой и с
окружающей средой однонаправленными КАНАЛАМИ.
Каждый БЛОК состоит из одного или нескольких ПРОЦЕССОВ.
SDL-ПРОЦЕССУ можно поставить в соответствие произвольный
элемент или совокупность элементов МПС, выполняющих некоторый
набор логических функций, имеющих конечную память внутренних
состояний и взаимодействующих с другими элементами МПС
посредством дискретного и конечного множества входов и выходов.
В СПИСКАХ СИГНАЛОВ перечисляются сигналы, передаваемые
между ПРОЦЕССАМИ в пределах одного БЛОКА, а также сигналы,
передаваемые по КАНАЛУ в направлении некоторого БЛОКА или от
него.
На диаграмме процессов каждый ПРОЦЕСС определяется в
терминах теории конечных автоматов и может находиться либо в фазе
СОСТОЯНИЕ, либо в фазе ПЕРЕХОД.
В фазе СОСТОЯНИЕ действие ПРОЦЕССА приостановлено в
ожидании поступления некоторого сигнала ВХОД.
Этот сигнал переводит ПРОЦЕСС в фазу ПЕРЕХОД, которая
характеризуется последовательностью действий, определяемых
информацией в сигнале ВХОД.
По окончании фазы ПЕРЕХОД ПРОЦЕСС вновь оказывается в фазе
СОСТОЯНИЕ и вырабатывает сигнал ВЫХОД, являющийся в свою
очередь сигналом ВХОД для другой фазы СОСТОЯНИЕ.
Среди последовательности действий фазы ПЕРЕХОД следует
различать:

РЕШЕНИЕ – действие, связанное с выбором одного из
нескольких возможных путей продолжения ПРОЦЕССА;

ЗАДАЧА – действие, не являющееся ни РЕШЕНИЕМ, ни
ВЫХОДОМ;

ЗАПОМИНАНИЕ – действие, выражающееся в задержке
одновременно поступивших СИГНАЛОВ с целью их последующей
последовательной обработки.
Основные положения теории конечных автоматов, на базе которой
строится язык SDL, налагают следующие ограничения на порядок
следования графических символов:
1.
Первым символом диаграммы процесса является символ
НАЧАЛО, указывающий начальную точку вновь созданного
ПРОЦЕССА.
Далее ПРОЦЕСС пребывает либо в фазе СОСТОЯНИЕ, либо в
фазе ПЕРЕХОД, перемещаясь по направлению к очередной фазе
35
СОСТОЯНИЕ.
2.
За символом СОСТОЯНИЕ может следовать один или
несколько символов ВХОД или ЗАПОМИНАНИЕ.
3.
Каждому символу ВХОД или ЗАПОМИНАНИЕ должен
предшествовать один символ СОСТОЯНИЕ.
4.
За символом ВХОД должен следовать строго один символ, за
исключением символов ВХОД и ЗАПОМИНАНИЕ.
5.
За символом ЗАДАЧА или ВЫХОД должен следовать строго
один символ, который не может быть символом ВХОД или
ЗАПОМИНАНИЕ.
6.
За символом РЕШЕНИЕ должны следовать не менее двух
символов, которые не могут быть символами ВХОД или
ЗАПОМИНАНИЕ.
За символом ЗАПОМИНАНИЕ не могут следовать никакие
символы.
Основные применяемые алгоритмы это линейные, ветвление и
цикл.
Линейные
Ветвление
36
Цикл
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
8.
Для чего используется первая группа алфавита языка SDL?
Для чего используется вторая группа языка SDL?
Приведите примеры основных символов языка SDL?
Как в диаграмме процессов определяется «ПРОЦЕС»?
Каков порядок следования графических символов?
Опишите линейный алгоритм.
Опишите ветвление.
Опишите цикл.
37
8 Классификация и основные характеристики ЗУ
Запоминающие устройства (ЗУ) разделяются на оперативные (ОЗУ)
и постоянные (ПЗУ) (рис.8.1).
ОЗУ предназначены для сравнительно кратковременного хранения
информации. При отключении напряжения питания информация в них
разрушается. По способу хранения информации в запоминающем
элементе различают:
 статические ОЗУ (RAM), в которых запоминающими элементами
являются асинхронные RS-триггеры;
 динамические ОЗУ (RAMD), в которых хранение информации
осуществляется за счёт заряда емкостей, сформированных в структуре
полупроводника.
ПЗУ предназначены для длительного хранения информации,
которая сохраняется и при отсутствии напряжения питания. ПЗУ
разделяются на три группы:
 масочные ПЗУ (ROM), в которые информация записывается
однократно в процессе изготовления;
 однократно-программируемые (PROM), в которые информация
записывается также однократно, но пользователем;
 перепрограммируемые (ППЗУ), допускающие возможность
стирания и повторной записи информации. ППЗУ, в которых стирание
информации обеспечивается электрическим путём, обозначаются как
EEPROM, а ультрафиолетовым облучением – как EPROM.
Все типы ЗУ изготовляются в виде интегральных микросхем. При
этом в маркировке микросхем ОЗУ используются буквы РУ,
микросхем ПЗУ типа ROM используются буквы РЕ, типа PROM –
буквы РТ, типа EPROM – буквы РФ и типа EEPROM – буквы РР.
Выходные цепи ОЗУ организуются с тремя состояниями, а ПЗУ –
как с тремя состояниями, так и с открытым коллектором.
38
ЗУ
ОЗУ
ПЗУ
RAM
ROM PROM EPROM
RAMD
EEPROM
Рис.8.1 – Классификация ЗУ
К важнейшим характеристикам ЗУ относятся:
1. Общая ёмкость С = Nm, определяемая числом хранимых слов N
и их разрядностью m. Измеряется в битах, байтах, килобитах и т.д.
Для хранения одноразрядного слова (одного бита) в ЗУ отводится
запоминающий элемент, а m-разрядных слов – ячейки памяти, каждая из
которых представляет собой совокупность m запоминающих элементов.
2. Быстродействие характеризуется временем обращения к ЗУ,
которое определяется с момента начала записи или чтения
информации до момента их завершения, включая и подготовку ЗУ к
следующему обращению. Соответствие между сигналами управления
и режимами работы ЗУ задается в виде таблицы.
Среди других временных параметров приводятся минимально
допустимые длительность импульсов и пауз и величины временных
сдвигов между сигналами на различных входах ЗУ. Эти параметры
необходимы для обеспечения устойчивой работы микросхем ЗУ.
3. Напряжение питания, напряжения и токи сигналов в различных
режимах работы ЗУ, потребляемая мощность.
8.1 Организация накопителя ЗУ
Накопитель является основной частью ЗУ. Состоит он из
отдельных запоминающих элементов, число которых равно общему
числу бит хранимой информации. Каждый запоминающий элемент
(ЗЭ) имеет определённый номер (адрес), который должен быть указан
при каждом обращении к ЗУ. Таким образом, в полупроводниковых
ЗУ используется адресный принцип хранения информации.
К накопителю запоминающий элемент подключается с помощью
адресных и разрядных линий (проводников). Адресные линии
используются для активизации одного запоминающего элемента или
их совокупности с целью чтения либо записи. По разрядным линиям
39
Адресные линии
РЛ
РЛ
РЛ
ЗЭ11
ЗЭ12
ЗЭ1n
ЗЭ21
ЗЭ22
ЗЭ2n
ЗЭn1
ЗЭn2
ЗЭnn
Рис. 8.2 – Словарная организация накопителя
ЗУ
передается записываемая или считываемая информация.
Адресные линии Х
Разрядная линия
ЗЭ11
ЗЭ12
ЗЭ1n
ЗЭ21
ЗЭ22
ЗЭ2n
ЗЭn1
ЗЭn2
ЗЭnn
Адресные линии Y
Рис. 8.3 – Матричная организация накопителя
40
ЗУ
При построении накопителей используются два основных способа
объединения запоминающих элементов – словарный и матричный.
Словарная организация (рис. 8.2) предусматривает одновременное
обращение к нескольким находящимся в строке запоминающим
элементам. Номер выбираемой строки определяется подачей
разрешающего сигнала на соответствующую адресную линию.
Выделение отдельного запоминающего элемента выбранной строки
осуществляется активизацией соответствующей разрядной линии (РЛ).
Структура накопителя с матричной организацией представлена на
рис. 8.3. Выбор запоминающего элемента производится активизацией
адресных линий X и Y, на пересечении которых он находится.
Выбор нужного запоминающего элемента задаётся пересечением
соответствующих адресных линий по координатам X и Y, на которые
поданы разрешающие сигналы.
Организация с ячейками памяти на рис.8.4
Рис.8.4 – Организация ячеек памяти
Путём наслаивания одноразрядных накопителей формируется К разрядный накопитель: АЛ Х
Соответствующие адресные линии (АЛ) АЛ Y одноразрядных
накопителей соединяются параллельно. В результате образуется mn К
-разрядных ячеек.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
8.
Как классифицируются ЗУ?
Дайте определение статическим ОЗУ.
Дайте определение динамическим ОЗУ
Дайте определение ПЗУ.
Перечислите основные характеристики ОЗУ.
Как подключаются к накопителю запоминающий элемент?
Какие способы используются при построении накопителей их
отличия?
Как происходит организация ячеек памяти
41
9 Статические ОЗУ
Накопитель статических ОЗУ имеет матричную структуру, поэтому
одна половина адресной шины А определяет номер строки, а другая –
номер столбца накопителя.
Запоминающий элемент накопителя представляет собой RSтриггер, построенный на многоэмиттерных транзисторах:
Разрешающий сигнал по адресным линиям (уровень логической 1)
определяет факт обращения к запоминающему элементу с целью
записи или считывания (Рис.9.1). При записи информационным
входом является разрядная линия (РЛ), а на управляющий вход
подаётся сигнал, инверсный информационному.
Рис.9.1 – Запоминающий элемент
Таким образом, при записи 1 открыт второй транзистор, а 0 –
первый.
В режиме хранения (на адресных линиях уровень логического 0)
эмиттерный ток открытого транзистора замыкается на землю через
адресный эмиттер.
При считывании на управляющий вход подаётся уровень между 0 и
1 (1 – 1,5 В) и величина тока в разрядной линии определяет состояние
триггера.
Меньшее значение тока соответствует единичному
состоянию, а большее – нулевому.
42
Рис.9.2 – Графическое обозначение статического ОЗУ
Статические ОЗУ имеют следующее условное графическое
обозначение (рис.9.2):
 -Аi помечены адресные входы, используемые для выбора
запоминающего элемента накопителя;
 W/R – вход выбора режима (write/read - запись/чтение);
 CS – вход выбора кристалла (подобен стробирующему входу
КЦУ);
 DI – информационный вход (input);
 DO – выход (output).
Микросхема статического ОЗУ имеет следующую структуру:
Структура микросхемы включает накопитель (НК), дешифраторы
кода адреса строк Х и столбцов Y, усилители записи (УЗ) и
считывания (УС), устройство управления (УУ)(рис.9.3).
Рис.9.3 – Микросхема статического ОЗУ
Режим работы ОЗУ задаются комбинацией сигналов CS и W/ R
(табл. 9.1).
43
Таблица 9.1
Сигналы управления
CS
W/ R
Режим
1

Хранение
0
1
Чтение
0
0
Запись
Устройство управления задаёт режимы работы ОЗУ в соответствии
с комбинацией сигналов CS и W/R:
В режиме хранения УЗ блокирован, а выходы УС и одного из
дешифраторов установлены в третье состояние.
В результате разрушена связь накопителя с входом и выходом, что
исключает
возможность
случайного
искажения
хранимой
информации.
Разряды адресной шины А разделяются на две группы, одна из
которых определяет номер строки, а другая – номер столбца
накопителя.
Дешифраторы DCX и DCY формируют разрешающие сигналы по
одной строке и одному столбцу накопителя, определяя адресованный
запоминающий элемент.
В режиме записи открывается УЗ и бит информации со входа DI
записывается в выбранный запоминающий элемент.
При этом выход УС остаётся в третьем состоянии.
В режиме считывания бит информации через УС поступает на
выход ОЗУ. При этом УЗ остаётся заблокированным.
Во времени входные сигналы распределяются, как показано на рис.
9.4.
Сигнал CS должен подаваться с задержкой относительно адресного
сигнала. Тем самым устраняется возможность ложного обращения к
накопителю при смене адреса. К моменту подачи сигнала CS должны
быть установлены сигналы на всех остальных входах ОЗУ.
В режиме считывания содержимое адресуемого запоминающего
элемента формируется на выходе ОЗУ с некоторой задержкой.
Задержка имеет место и при переключении выхода ОЗУ в третье
состояние после снятия сигнала CS.
44
Рис. 9.4 – Динамика работы ОЗУ
Эти задержки связаны с процессами включения и выключения
выходных цепей.
Цикл обращения определяется сигналом CS.
Ёмкость статических ОЗУ не превышает 64 Кбит, а время цикла
обращения – четырёх мкс. Потребляемая мощность, за редким
исключением, не бывает больше 0,6Вт.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
8.
9.
Какую структуру имеет статическое ОЗУ?
Каков принцип работы RS-триггера?
Какое условное графическое изображение статического ОЗУ?
Что включает в себя микросхема статического ОЗУ?
Как задается режим работы статического ОЗУ?
Как разделяются разряды адресной шины А?
Для чего нужны дешифраторы DCX и DCY?
Как идет распределение сигналов по времени?
Чем определяется сигнал обращения?
45
10 Динамические ОЗУ
Накопитель динамических ОЗУ имеет словарную организацию. Бит
информации хранится в паразитной ёмкости p-n-перехода. При этом
состояние 0 может сохраняться неопределённо долго, а состояние 1,
из-за утечки заряда емкости, – только ограниченное время. Поэтому
необходимо периодически восстанавливать хранимую информацию.
Операция
периодического
восстановления
информации
в
динамическом ОЗУ называется рефрешем или регенерацией.
Рис. 10.1 – Запоминающий элемент динамического ОЗУ
Запоминающий элемент динамического ОЗУ строится по
следующей схеме (рис.10.1):
Запоминающей ёмкостью служит паразитная емкость С затвора
транзистора VT2.
Перед считыванием подается управляющий сигнал, который
открывает транзистор VT4 и паразитная ёмкость Ср РЛ подзаряжается
от источника питания. Затем на АЛ подается сигнал считывания,
который открывает транзистор VT3, но не может открыть VT2.
Если запоминающий элемент хранит 1, то конденсатор С заряжен и
тогда транзистор VT2 открыт. В этом случае через открытые
транзисторы VT3 и VT2 конденсатор Ср разряжается и низкий уровень
сигнала в РЛ соответствует хранимой 1.
Если запоминающий элемент хранит 0, то ёмкость С разряжена,
транзистор VT2 закрыт и сигнал на АЛ не может вызвать разряд
ёмкости Ср. Высокий уровень сигнала в РЛ соответствует хранимому
0.
При записи на АЛ подаётся высокий уровень сигнала,
открывающий транзистор VT1, который подключает к РЛ конденсатор
С. В результате независимо от своего предыдущего состояния ёмкость
оказывается заряженной (запись 1) или разряженной (запись 0).
46
Рис. 10.2 – Графическое обозначение динамического ОЗУ
Динамические ОЗУ имеют следующее условное графическое
обозначение (рис. 10.2):
 CAS помечен вход выбора столбцов;
 RAS – вход выбора строк накопителя.
Назначение остальных входов аналогично статическому ОЗУ.
Рис. 10 –.3 Микросхема динамического ОЗУ
Микросхема динамического ОЗУ имеет следующую структуру
(рис. 10.3):
 накопитель (НК);
 регистр адреса (РгА);
 дешифраторы кода адреса строк Х и столбцов Y;
 усилители записи (УЗ);
 усилитель считывания (УС);
 усилители регенерации (УР);
 устройство управления (УУ).
47
Устройство управления задает режимы работы ОЗУ в соответствии
с комбинацией сигналов CAS, RAS и W/R (таблица 10.1).
Таблица 10.1
Сигналы управления
RAS
CAS
W/R
Режим
1
Хранения
~
~
0
1
Регенерация
~
0
0
0
Запись
0
0
1
Считывание
Работу ОЗУ поясним с помощью временных диаграмм
представленных на рис. 10.4.
Рис. 10.4 – Временные диаграммы динамического ОЗУ.
Коды номера строки столбца накопителя подаются по одним и тем
же адресным линиям в два приема.
Сначала подается m-разрядный код строки, который фиксируется в
регистре адреса по сигналу RAS.
При помощи дешифратора DCX обеспечивается выборка одной из
строк накопителя.
При отсутствии разрешающего сигнала CAS за относительно
короткое время будет произведена регенерация запоминающих
элементов выбранной строки.
Регенерация
заключается
в
передаче
информации
из
запоминающих элементов адресованной строки в двунаправленные
усилители регенерации, с выходов которых информация вновь
записывается в те же запоминающие элементы.
48
Таким образом, формируя в каждом цикле обращения
последовательность адресов строк, можно за 2m тактов обеспечить
полную регенерацию ОЗУ.
После адресации строки подаётся n-разрядный адрес столбца,
который также фиксируется в регистре адреса, но по сигналу CAS.
Этот код с помощью дешифратора DCY обеспечивает выбор
одного из усилителей регенерации.
При этом значение сигнала W/R определяет режим работы ОЗУ:
запись или считывание.
Задержки сигналов друг относительно друга вызваны причинами,
аналогичными причинам статического ОЗУ.
Цикл обращения определяется сигналом RAS.
Предельные значения основных параметров динамических ОЗУ
составляют: ёмкость - 256 Кбит, время обращения - 1 мкс,
потребляемая мощность – 0,5 Вт.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
8.
Какую структуру имеет динамическое ОЗУ?
Как строится запоминающий элемент динамического ОЗУ?
Какое условное графическое изображение динамического ОЗУ?
Что включает в себя микросхема динамического ОЗУ?
Как задается режим работы динамического ОЗУ?
В чем заключается регенерация?
Как идет распределение сигналов по времени?
Чем определяется сигнал обращения?
49
11 Постоянные запоминающие устройства
Накопитель ПЗУ представляет собой совокупность обычно 8разряд-ных ячеек памяти.
В масочных ПЗУ (типа ROM) накопитель имеет словарную
организацию. Запоминающий элемент накопителя состоит из
биполярного (или полевого) транзистора и плавкой перемычки (П)
(рис.11.1
Рис.11.1 – Накопитель
Запись информации производится на заводе-изготовителе с
помощью индивидуальных для конкретных заказчиков фотошаблонов
(масок).
При записи 1 перемычка оставляется, а при 0 – разрушается
(пережигается).
Графически масочные ПЗУ изображаются как показано на рис.11.2.
11.2 – Условное графическое изображение ПЗУ
Принцип построения большинства микросхем этой группы ПЗУ
одинаков и может быть представлен структурной схемой рис. 11.3.
50
Рис.11.3 – Структурная схема ПЗУ
Код адреса ячейки поступает на входы регистра адреса (РгА),
согласующего схемы на кристалле с внешними цепями.
С помощью дешифратора DCX выбирается одна из строк
накопителя, а с помощью дешифратора DCY и мультиплексора – одна
из его разрядных шин.
На выходах микросхемы выбранное слово появляется при
разрешающем сигнале управления CS.
Предельные значения основных параметров микросхем масочных
ПЗУ составляют: ёмкость - 128 Кбайт, время обращения – 800 нс,
потребляемая мощность – 1 Вт.
Масочные ПЗУ широко используются в качестве носителей
постоянных программ, подпрограмм, кодов физических констант,
постоянных коэффициентов и т.п.
Микросхемы ПЗУ типа PROM (ППЗУ) по принципу построения и
режимам работы аналогичны масочным с тем отличием, что
программируются пользователем.
Кроме того, структура микросхемы имеет дополнительные
устройства на выходах для формирования тока программирования.
Программирование ПЗУ типа PROM осуществляется с помощью
специальных устройств, называемых программаторами.
Программатор подключается к тем же выходам, по которым
считывается информация. При этом адресная шина используется для
выбора заданной ячейки.
Разрушение плавкой перемычки обеспечивается серией импульсов
тока с амплитудой 20 – 30 мА.
Разновидностью
ПЗУ
типа
PROM
являются
ПЛМ.
Программирование
осуществляется
в
два
этапа:
вначале
программируют первую матрицу, затем – вторую. Для управления
этой операцией в микросхеме предусматривается специальный вход,
обозначаемый латинскими буквами PR.
Условное графическое обозначение ПЗУ типа PROM аналогично
масочным, но в среднем поле пишется PROM.
Предельные значения основных параметров микросхем типа
PROM составляют: ёмкость – 8 Кбайт, время обращения – 100 нс,
51
потребляемая мощность – 1 Вт.
В ПЗУ типа EPROM (РПЗУ-ЭС) и EEPROM (РПЗУ-УФ)
накопитель имеет матричную организацию.
В микросхемах типа EPROM в качестве запоминающего элемента
могут использоваться транзистор со структурой МНОП или
транзистор ЛИЗМОП с двойным затвором, один из которых
"плавающий", а другой – внешний (управляющий).
Элемент памяти со структурой МНОП представляет собой МДПтранзистор с индуцированным каналом р-типа (или n-типа) (рис.11.4).
Рис.11.4 – Элемент памяти
В
режиме
программирования
к
затвору
транзистора
прикладывается импульс напряжения положительной полярности
(транзистор р-типа) с амплитудой 30-40 В.
В результате на границе раздела двух диэлектрических слоёв
накапливается заряд электронов, что снижает пороговое напряжение
транзистора.
Это состояние транзистора соответствует записи
логической 1.
Состояние транзистора без заряда в диэлектрике соответствует
логическому 0.
В режиме стирания к затвору относительно подложки
прикладывается импульс напряжения отрицательной полярности той
же амплитуды.
В режиме считывания на затворы МНОП-транзистора подают
напряжение, значение которого лежит между двумя пороговыми
уровнями напряжения транзистора. При этом транзистор откроется,
если в нём записана 1, в противном случае он останется закрытым.
Микросхемы с р-МНОП транзисторами имеют сравнительно
низкое быстродействие, высокое напряжение программирования и
нуждаются в двух источниках питания.
Микросхемы с n-МНОП транзисторами обладают втрое большим
быстродействием, меньшим напряжением программирования (22 В) и
требуют один источник питания.
Вариант элемента памяти на транзисторе ЛИЗМОП с двойным
затвором реализован на МДП-транзисторе с каналом n-типа:
52
Рис.11.5 – Элемент памяти
В режиме программирования на исток и сток относительно
подложки подают импульс напряжения 21-25 В положительной
полярности.
В результате часть электронов инжектирует на плавающий затвор,
преодолевая тонкий слой диэлектрика.
Накопленный на плавающем затворе отрицательный заряд
повышает пороговое напряжение транзистора, что соответствует
записи логического нуля. Отсутствие заряда на плавающем затворе
соответствует логической единице.
Стирание записанной информации осуществляется импульсом
напряжения, подаваемым на управляющий затвор. При этом
электроны вытесняются с плавающего затвора в подложку и
восстанавливается низковольтный уровень порогового напряжения,
что соответствует логической единице.
Режим считывания осуществляется так же, как и в микросхемах на
МНОП-транзисторах.
В микросхемах типа EEPROM в качестве элемента памяти
используется транзистор ЛИЗМОП.
В этом случае стирание записанной информации осуществляется с
помощью УФ-облучения.
Электроны рассасываются с плавающего затвора в подложку в
результате усиления теплового движения за счёт полученной от
источника УФ-излучения энергии.
Излучение проникает к кристаллу через прозрачное окно в крышке
корпуса.
Остальные режимы аналогичны режимам для МНОП-транзистора.
Запоминающий элемент репрограммируемых ПЗУ строится по
схеме, показанной на рис. 11.6.
53
Рис.11.6 – Запоминающий элемент репрограммируемых ПЗУ
Собственно элементом памяти является транзистор VT1. При
появлении на его затворе напряжения считывания в стоке либо будет
протекать ток, либо нет. Транзистор VT2 совмещает функции ключа и
формирователя, преобразуя ток стока в напряжение логического 0 или
логической 1.
Условное графическое обозначение репрограммируемых ПЗУ
аналогично ПЗУ типа ROM, но в среднем поле пишется EPROM или
EEPROM.
Типовая структура репрограммируемых ПЗУ имеет вид
показанный на рис. 11.7.
Рис.11.7 – Типовая структура репрограммируемых ПЗУ
Структурная схема содержит устройство управления (УУ), регистр
адреса (РгА), дешифраторы кода адреса строк (DCX) и столбцов
(DCY), коммутатор режима работы строк (КРС), накопитель (НК) и
устройство ввода-вывода (УВВ).
Дешифраторы осуществляют управление накопителем. Коммутатор
совместно с устройством управления обеспечивает работу
микросхемы в режимах программирования и стирания.
54
Устройство управления формирует импульсы напряжений
требуемой
амплитуды
и
длительности
из
напряжения
программирования UPR. Кроме того, под воздействием сигналов на
своих входах оно управляет работой основных блоков микросхемы.
Управляющие сигналы имеют следующее назначение: CS – выбор
микросхемы; PR – разрешение режима программирования; RD –
сигнал считывания; ER – сигнал стирания информации.
Многие микросхемы ПЗУ типа EPROM допускают как общее, так и
адресное (избирательное) стирание с последующей адресной записью.
В микросхемах типа EEPROM допускается возможность только
общего стирания с обязательной проверкой его качества. Время
стирания информации составляет 30-60 минут.
Ёмкость микросхем ПЗУ типа EEPROM достигает 16 Кбайт, а типа
EPROM – только четырёх.
Достоинством микросхем типа EPROM является, во-первых,
возможность их перепрограммирования без изъятия из устройства; вовторых, значительное число циклов перепрограммирования,
достигающее 104.
У микросхем типа EEPROM число циклов перепрограммирования
невелико (от 10 до 100), что обусловлено быстрым старением
диэлектрика в транзисторных структурах ЛИЗМОП под действием
УФ-излучения.
Кроме того, микросхемы этого типа обладают и другими
недостатками: необходимость изъятия из аппаратуры для стирания
информации, большое время стирания, необходимость в специальном
оборудовании для стирания.
Вместе с тем у микросхем типа EEPROM есть и существенные
достоинства: сравнительно высокое быстродействие, широкий набор
микросхем с различной ёмкостью и большое разнообразие вариантов
исполнения, невысокая стоимость и доступность.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Какую организацию имеет накопитель в масочных ПЗУ?
Какое условное графическое изображение масочных ПЗУ?
Опишите микросхему масочных ПЗУ ее структуру и принцип
работы.
Где используются масочные ПЗУ?
Опишите микросхему ПЗУ типа PROM ее структуру и принцип
работы.
Как происходит программирование ПЗУ типа PROM?
Какую организацию имеет накопитель в ПЗУ типа PROM?
55
Лабораторные работы
Содержание отчета
1. Название лабораторной работы.
2. Код группы, фамилия и инициалы студента.
3. Формулировка индивидуальных заданий данной лабораторной
работы.
4. Блок-схема алгоритма решения задачи.
5. Таблица, содержащая структурированную программу, каждая
командная строка которой сопровождается прогнозом содержимого
используемых регистров РОН, а также указанием номера и
содержимого используемой ячейки памяти данных (ЯПД) процессора
в 16-ричной системе счисления.
ЯПД процессора,
Регистры РОН командной
используемая в
строки
Командная
командной строке
строка
Прогноз содержимого, Номер, Содержимое,
Имя
Hex
Hex
Hex
Данная таблица предъявляется преподавателю до прогона
программы с целью выявления возможных методических ошибок и
получения указаний по адаптации программы к особенностям
симулятора команд.
Исправленные в процессе отладки фрагменты исходной
программы, заносятся в таблицу дополнительными строками. По
завершении отладки окончательная таблица вновь предъявляется
преподавателю с устными пояснениями исправлений.
Систематизация результатов выполнения работ
На любом доступном диске создать рабочую папку группы с
соответствующим именем, например МС-01, в котором используются
только латинские буквы.
Для удобства хранения результатов выполнения лабораторных
работ в папке группы (например, МС-01) создать дерево папок (рис. 1),
где имена папок и содержащиеся в них файлы включают номер
студента в списке группы (обозначен символом N) и прописываются
только латинскими буквами.
В дальнейшем N используется в качестве номера варианта задания.
С целью удобства работы с симулятором команд из папки
С:\C6XTOOLS\CODEGEN.110\BIN скопировать в рабочую папку
студента <Папка группы>\<Familiy_N> файлы ASM6x.exe и
LNK6x.exe (см. рис. 1.1).
56
Лабораторная работа № 1
ЗНАКОМСТВО С СИМУЛЯТОРОМ TMS320C6201
MC01 Ivanov
_N ASM6x.exe
LNK6x.exe
LB1
_N
lb1_N.a
sm
lb1_N.o
bj
lb1_N.o
ut
lb1_N.t
xt
LB7
_N
Petrov_
N
Рис. 1.1 – Организация хранения результатов выполнения
лабораторных работ
Симуляторы являются программами, имитирующими работу
процессора на уровне его команд. Используются они для тестирования
и улучшения программного кода. Симуляторы предоставляют
возможность как пошагового, так и автоматического выполнения
(прогона) программы.
Цель работы
Изучить основные приемы работы с симулятором
ассемблера сигнального процессора TMS320C6x.




команд
Подготовка к работе
По указанной выше литературе изучить:
структуру процессора TMS320C6x;
этапы разработки программы;
процесс подготовки исполняемой программы;
средства отладки прикладных программ: аппаратные эмуляторы,
57
проверочные модули, симуляторы команд, отладчики.
Задание и порядок выполнения работы
1.
Запустить
симулятор
(С:\C6XTOOLS\CODEGEN.
110\BIN\SIM62x.exe) и изучить окна его интерфейса.
В режиме отладки автоматически создаются четыре окна с
отображением чисел в 16-ричной системе счисления:

окно Disassembly отображает команды дизассемблера –
ассемблера, восстановленного по объектному коду, содержащемуся в
программной памяти симулятора. В первой слева колонке этого окна
отображаются адреса ячеек программной памяти симулятора, во
второй – их содержимое (объектный код), в третьей – мнемоники
команд и имена исполняющих их модулей процессора, в четвертой –
поле операндов командной строки ассемблера;
 окно CPU показывает содержимое регистров процессора. При
необходимости его можно задавать принудительно. Для этого
двойным щелчком компьютерной мыши по имени регистра
выделяется его содержимое, вводится требуемое 16-ричное число и
нажимается клавиша <Enter>;
 окно Memory по умолчанию дублирует первые две слева колонки
окна Disassembly. Здесь также можно изменить содержимое ячеек
программной памяти посредством двойного щелчка компьютерной
мыши по нужным разрядам выбранной ячейки памяти;
 окно Command включает область ввода команд управления
симулятором и область отображения сообщений об ошибке
загрузки программы, результате выполнения введенной команды
управления симулятором и служебной информации.
2. Создать исполняемый программный модуль.
Исполняемый модуль непосредственно загружается в симулятор.
Получается он в результате следующей последовательности действий.
1). В текстовом редакторе «Блокнот» сформировать текст исходной
программы на языке ассемблера.
В данной работе ввести текст:
k .set 2
; присвоение символу k значения 2
mvk k,a2
; ввод значения k в РОН а2
mv a2,b2
;копирование содержимого а2 в РОН b2
add а2,b2,a2 ;сложение содержимого а2 и b2 с
*размещением результата в а2.
58
Обратите внимание:

каждая командная строка начинается как минимум с одного
пробела, поскольку предыдущие поля не используются;

символ «;» открывает текст комментария (на машинный язык
не переводится) при его размещении в данной командной строке, а
символ «*» – если он начинается с первого поля строки ассемблера.
2). Сохранить текст исходной программы в рабочей папке <
Familiy_N> под именем lb1_N.asm.
С этой целью в пункте «Файл» оконного меню редактора
«Блокнот» выбрать команду Сохранить как … В открывшемся окне
диалога выполнить следующее:
 указать место хранения, то есть на дереве папок найти и открыть
свою рабочую папку;
 в списке Тип файла выбрать Все файлы;
 в поле Имя файла ввести полное имя файла (здесь lb1_N.asm);
 компьютерной мышью «щелкнуть» кнопку Сохранить.
3). Получить объектный файл (здесь lb1.obj), для чего из рабочей
папки запустить программу ассемблера (файл ASM6x.exe) и в
открывшемся окне ввести имя ассемблируемого файла, причем
расширение имени указывать не обязательно (в данном случае
достаточно ввести lb1_N). После этого нажать клавишу <Enter>.
Отсутствие в рабочей папке объектного файла означает, что в
исходном файле (здесь lb1_N.asm) имеются ошибки. Определить их
удобно с помощью файла листинга программы, который получается
следующим образом:
 из командной строки
 (Пуск\Программы\Стандартные\Выполнить) запустить программу
Ассемблера:
<путь
к
рабочей
папке>\<имя
рабочей
папки>\ASM6x.exe -l (опция -l отделяется от имени файла
пробелом);
 в окне программы ассемблера, как и ранее, ввести имя
ассемблируемого файла (здесь lb1_N);
 нажать клавишу <Enter>.
В результате в рабочей папке образуется файл листинга (здесь
lb1_N.lst), содержащий сведения об ошибках.
После коррекции текста исходного файла сохранить его (команда
Сохранить) и повторить ассемблирование.
4). Получить исполняемый файл (здесь lb1_N.out), для чего из
рабочей папки запустить программу компоновщика (файл LNK6x.exe)
и в открывшемся окне (рис. 1.2) в режиме диалога последовательно и
59
построчно ввести сведения о компонуемых файлах. При этом
достаточно ограничиться лишь именем объектного файла, причем без
расширения, согласившись тем самым с именем исполняемого файла
(здесь lb1_N.out), предлагаемым компоновщиком (см. рис. 1.2).
Рис. 1.2 – Окно программы компоновщика
3. Загрузить исполняемый модуль в симулятор:
 в пункте File оконного меню симулятора выбрать команду Load
Program;
 в одноимённом окне диалога открыть список поля Папка и на
дереве папок найти и открыть рабочую папку;
 в поле Имя того же окна диалога выделить имя исполняемого
модуля (здесь lb1_N.out), после чего с помощью компьютерной
мыши нажать кнопку «Открыть».
В окне Command симулятора появиться сообщение о факте
загрузки отлаживаемого файла.
4. Прогон программы.
В режиме отладки программ симулятор обеспечивает два основных
способа их прогона – по контрольным точкам (точкам останова
выполнения программы) и пошаговый.
В первом случае выполнение каждого участка программы (между
двумя соседними контрольными точками) инициируется командой Run
из пункта Target оконного меню либо одноимённой кнопкой панели
инструментов окна симулятора (рис. 1.3), либо клавишей <F5>
клавиатуры.
60
S
R
tep
un
Контрольная
точка
Рис. 1.3 – Способы прогона программы
Устанавливаются контрольные точки в окне Disassembly щелчком
компьютерной мыши слева от требуемой строки (см. рис. 3).
Снимается контрольная точка щелчком мыши по её изображению.
Для апробации данного режима прогона установите контрольную
точку на строке с адресом 00000004 и инициируйте команду Run.
Снимите контрольную точку и инициируйте команду Restart (найти и
компьютерной мышью «щелкнуть» соответствующую кнопку панели
инструментов окна симулятора).
Во втором случае выполнение каждой командной строки
инициируется командой Step из пункта Target оконного меню либо
одноимённой кнопкой панели инструментов окна симулятора (см. рис.
3), либо клавишей <F8> клавиатуры.
В процессе отладки контролируются следующие окна:
 Disassembly, где исполняемая на следующем шаге командная
строка автоматически отмечается слева стрелкой;
 CPU, содержимое регистров которого сравнивается с прогнозом
выполнения текущей командной строки.
Для апробации выполните в пошаговом режиме модуль lb1_N.out,
отмечая изменения в окне CPU симулятора.
5. Завершить работу с симулятором.
Закрыть симулятор можно любым из трех способов:
 с помощью кнопки «», расположенной в правом верхнем углу
строки заголовка окна симулятора;
 ввести в командную строку окна Command команду quit;
 в пункте оконного меню File выбрать команду Exit.
Опробовать все способы и выбрать для себя наиболее удобный из
них.
61
Контрольные вопросы
Поясните
структуру
строки
ассемблера
процессора
TMS320C6x.
2. Чем отличаются директива и команда ассемблера?
3. Назовите основные этапы преобразования исходной
программы в исполняемый программный модуль.
4. Дайте краткую характеристику этапа редактирования текста
исходной программы и соответствующим инструментальным
средствам.
5. Дайте краткую характеристику этапа трансляции исходной
программы.
6. Дайте краткую характеристику этапа загрузки объектных
модулей в оперативную память.
7. Дайте краткую характеристику этапа компоновки объектных
модулей.
8. Поясните назначение файла листинга исходной программы и
способ его получения с помощью инструментов симулятора
команд процессора TMS320C6x.
9. Поясните назначение и содержание окна Disassembly
симулятора команд процессора TMS320C6x.
10. Поясните назначение и содержание окна CPU симулятора
команд процессора TMS320C6x.
11. Поясните процесс загрузки исполняемого модуля в симулятор
команд процессора TMS320C6x.
12. Поясните способы прогона программы в симуляторе команд
процессора TMS320C6x.
1.
62
Лабораторная работа №2.
ПЕРЕСЫЛКА ДАННЫХ
Пересылка данных включает операции ввода исходных данных в
РОН процессора, обмена данными между РОН (копирование
содержимого одного регистра в другой), а также между РОН и
памятью данных процессора.
Цель работы
Изучить особенности команд пересылки данных, сохранения в
память и загрузки из памяти ассемблера процессора TMS320C6x.




Подготовка к работе
1. По указанной выше литературе изучить:
структуру командной строки ассемблера процессора TMS320C6x;
процесс выполнения программы процессором TMS320C6x;
методы адресации операндов;
форматы команд пересылки данных (между РОН, загрузи/хранения
и ввода исходных данных) ассемблера TMS320C6x и особенности
их выполнения.
2. Ознакомиться с методическими указаниями
3. Подготовить отчет.
Задание и порядок выполнения работы
1. На языке ассемблера TMS320C6x подготовить программу,
соответствующую следующей последовательности операций.
Операция 1. В регистр R1 (назначить из РОН по своему
усмотрению) ввести число, выбранное из табл. 2.1 в соответствии с
номером варианта N (№ студента в списке группы).
63
Таблица 2. 1
N
1
2
3
4
5
6
7
8
Число, Hex
80А1F5C1
A90C7D5
C5D0A5
AF9C5
90B3E8C9
B30B5A8
D9A2B3
BE7C4
Исходный операнд
N Число, Hex N Число, Hex
9
A123F1C0 17 C345A5B7
10 C70A4B2 18 E34F5B1
11
E4C6A0
19
9AC580
12
CD3A0
20
EC7A6
13 B23495A0 21 D046E890
14
D89E5F0 22 F67C3E4
15
F7B0D3
23
B9B483
16
DA0B9
24
FB1D0
N Число, Hex
25 E456F792
26 8E2C795
27 C1A293
28
890A7
29 F598C4E5
30 9F6B287
31 D0E184
32 9A3CB
Операция 2. В регистр R2 (назначить из РОН по своему
усмотрению, но с учетом последующих заданий работы и R2R1)
ввести число 50h в качестве базового адреса памяти данных (ПД)
процессора.
Операция 3. Сохранить содержимое R1 в ПД процессора в
соответствии с условиями из таблицы 2.2
Таблица 2. 2
Условия сохранения операнда
N
Условия сохранения
1 В ячейке памяти F4h с изменением содержимого R2.
В ячейке памяти 50h с изменением содержимого R2 до
2
величины 4Fh.
В ячейке памяти 50h с изменением содержимого R2 до
3
величины 64h.
4 В ячейке памяти 4Сh без изменения содержимого R2.
5 В ячейке памяти 60h с изменением содержимого R2.
В ячейке памяти 50h с изменением содержимого R2 до
6
величины 4Сh.
7 В ячейке памяти 70h без изменения содержимого R2.
В ячейке памяти 50h с изменением содержимого R2 до
8
величины F0h.
9 В ячейке памяти 50h без изменения содержимого R2.
10 В ячейке памяти 48h с изменением содержимого R2.
11 В ячейке памяти 54h без изменения содержимого R2.
12 В ячейке памяти 30h с изменением содержимого R2.
В ячейке памяти 50h с изменением содержимого R2 до
13
величины 54h.
14 В ячейке памяти 34h без изменения содержимого R2.
64
N
Условия сохранения
15 В ячейке памяти 58h с изменением содержимого R2.
16 В ячейке памяти 51h.
В ячейке памяти 50h с изменением содержимого
17
величины 3Сh.
18 В ячейке памяти 80h без изменения содержимого R2.
В ячейке памяти 50h с изменением содержимого
19
величины 60h.
20 В ячейке памяти 38h с изменением содержимого R2.
21 В ячейке памяти 5Сh без изменения содержимого R2.
22 В ячейке памяти 20h с изменением содержимого R2.
23 В ячейке памяти 4Fh.
В ячейке памяти 50h с изменением содержимого
24
величины 68h.
25 В ячейке памяти 40h без изменения содержимого R2.
26 В ячейке памяти 6Аh с изменением содержимого R2.
В ячейке памяти 50h с изменением содержимого
27
величины 48h.
28 В ячейке памяти 78h без изменения содержимого R2.
В ячейке памяти 50h с изменением содержимого
29
величины 90h.
В ячейке памяти 50h с изменением содержимого
30
величины 51h.
31 В ячейке памяти 40h с изменением содержимого R2.
32 В ячейке памяти 58h без изменения содержимого R2.
R2 до
R2 до
R2 до
R2 до
R2 до
R2 до
Операция 4. Из ячейки ПД процессора, используемой в
предыдущем пункте, загрузить в регистр R3 (назначить из РОН по
своему усмотрению и R3R1, R3R2) число в соответствии с
условиями, выбранными из таблицы 2.3.
Таблица 2.3
Условия загрузки числа в РОН
N
Условия загрузки
Полуслово с расширением знаком и без изменения содержимого
1
R2.
2 Байт без расширения знаком и изменения содержимого R2.
Полуслово без расширения знаком и с изменением содержимого
3
R2.
4 Байт с расширением знаком и изменением содержимого R2.
Полуслово с расширением знаком и изменением содержимого
5
R2 до величины 52h.
65
N
Условия загрузки
6 Байт без расширения знаком и изменения содержимого R2.
Полуслово без расширения знаком и с изменением содержимого
7
R2.
8 Байт без расширения знаком и с изменением содержимого R2.
Полуслово с расширением знаком и изменением содержимого
9
R2 до величины 76h.
10 Байт с расширением знаком и без изменения содержимого R2.
Полуслово без расширения знаком и с изменением содержимого
11
R2.
Байт без расширения знаком и с уменьшением содержимого R2
12
на 1.
Полуслово с расширением знаком и без изменения содержимого
13
R2.
14 Байт с расширением знаком и изменением содержимого R2.
Полуслово без расширения знаком и с увеличением
15
содержимого R2 на 1.
16 Байт без расширения знаком и изменения содержимого R2.
Полуслово с расширением знаком и без изменения содержимого
17
R2.
18 Байт с расширением знаком и изменением содержимого R2.
Полуслово без расширения знаком и изменения содержимого
19
R2.
Байт без расширения знаком и c уменьшением содержимого R2
20
на 1.
Полуслово с расширением знаком и изменением содержимого
21
R2.
Байт с расширением знаком и уменьшением содержимого R2 на
22
величину 12h.
Полуслово без расширения знаком и с увеличением
23
содержимого R2 на величину Еh.
24 Байт без расширения знаком и изменения содержимого R2.
Полуслово с расширением знаком и изменением содержимого
25
R2.
26 Байт с расширением знаком и без изменения содержимого R2.
Полуслово без расширения знаком и изменения содержимого
27
R2.
28 Байт без расширения знаком и с изменением содержимого R2.
Полуслово с расширением знаком и изменением содержимого
29
R2.
66
N
Условия загрузки
30 Байт с расширением знаком и без изменения содержимого R2.
Полуслово без расширения знаком и изменения содержимого
31
R2.
32 Байт без расширения знаком и с изменением содержимого R2.
Операция 5. 1. Переслать (скопировать) содержимое R3 в R1.
2. Получить исполняемый программный модуль.
3. Загрузить исполняемый модуль в симулятор.
4. В пошаговом режиме выполнить прогон программы, сравнивая
данные прогноза с соответствующими данными окна CPU симулятора.
5. Предъявить результаты выполнения работы преподавателю,
после чего завершить работу с симулятором.
Методические указания
Операция 1. Для ввода исходных данных используются команды
MVK, MVKH и MVKLH. При этом если:
 число не превышает полуслова (от -32767 до +32767) достаточно
одной команды MVK. При этом следует помнить, что эта команда
выполняется с расширением знаком;
 число превышает полуслово, необходимы две команды: сначала
MVK, а затем MVKH или MVKLH. Последняя команда обязательна
при 16-ричном представлении операнда и буквой в старшем его
разряде.
Операция 3. Поскольку речь идет о сохранении всего
содержимого регистра R1, следует воспользоваться командой:
STW R1,*Ак,
где Ак – адресный код.
При формировании Ак в зависимости от целей дальнейшего
использования регистра базового адреса (базы) R2 применяется один
из следующих типов адресации:
 косвенная, если R2 содержит требуемый исполнительный адрес
(Аи) и изменять содержимое R2 не следует;
 базирование, если R2 не содержит требуемый Аи и изменять
содержимое R2 не следует;
 преиндексация, если R2 не содержит требуемый Аи и после
операции пересылки необходимо заменить содержимое R2 на Аи;
 постиндексация, если R2 содержит требуемый Аи, но после
операции пересылки можно или нужно заменить содержимое R2 на
Аи;
67
 преавтоинкремент или преавтодекремент, если содержимое R2 на 1
меньше или, соответственно, больше требуемого Аи и после
операции пересылки содержимое R2 необходимо заменить на Аи;
 поставтоинкремент или поставтодекремент, если R2 содержит
требуемый Аи, но после операции пересылки можно или нужно
изменить содержимое R2 на 1.
Операция 4. Операции загрузки в зависимости от объёма данных
реализуются посредством команд:
LDW(Н, В) *Ак,r,
где r – имя регистра-приемника операнда. При этом следует
помнить:
 третья буква мнемоники помимо объёма пересылаемых данных
определяет закономерность изменения величины смещения;
 команды LDН и LDВ выполняются с расширением знаком
пересылаемой части слова. При необходимости расширения нулем
следует применять команды LDW(Н, В)U;
 команды загрузки имеют 4 слота задержки, то есть результат
доступен для использования только спустя 4 такта после
объявления команды. Так, если команда объявлена в n-ом такте,
результат ее выполнения сформируется в (n+4)-ом такте, а
использовать его можно, начиная только с (n+5)-го такта. Таким
образом, в данной работе после команды загрузки необходимо
объявить 4-тактный мультицикл NOP (нет операции): NOP 4.
Обобщённые алгоритм и программа (без указания конкретных
чисел, имен регистров РОН, номера ячейки ПД (ЯП) и адресного кода
Ак) представлены на рис. 4, где (Z) – содержимое объекта Z (регистра
РОН или ячейки памяти данных), а символ  обозначает операцию
пересылки данных в требуемом направлении.
68
Начало
R1<число>,
R2 50h
ЯП(Ак)(R1)
R3 (ЯП(Ак))
R1 (R3)
mvk
<число>,R1 ; ввод
mvkh(mvklh) <число>,R1 ; исходных
…………………….
; данных
stw
R1,*Aк
ldw(h,b)(u) *Ак,R3
nop
4
mv
R3,R1
Конец
Рис. 2.1. Блок-схема и программа в обобщённом виде
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Сформулируйте правило формирования результата при
выполнении команды вычитания над знаковыми операндами.
Сформулируйте правило формирования результата при
выполнении команды ABS.
Приведите формат арифметической команды, заданной
преподавателем.
Укажите функциональные особенности команды, заданной
преподавателем.
Укажите ограничения на операнды команды, заданной
преподавателем.
Определите результат выполнения команды, заданной
преподавателем.
Назовите метод адресации, характерный практически для всех
арифметических команд.
69
Лабораторная №3.
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ
Функциональные устройства (модули) ядра процессора способны
вычислять суммы, разности и произведения операндов как знаковых,
так и без знака.
Цель работы
Изучить особенности
процессора TMS320C6x.
арифметических
команд
ассемблера
Подготовка к работе
 По указанной выше литературе изучить форматы и особенности
выполнения арифметических команд ассемблера TMS320C6x.
 Ознакомиться с методическими указаниями
 Подготовить отчет.
Задание и порядок выполнения работы
1. На языке ассемблера TMS320C6x подготовить программу,
соответствующую следующей последовательности операций.
Операция 1. Выбирается из таблицы 3.1 по номеру варианта N с
размещением результата в регистре (регистровой паре) R1 (назначить
из РОН по своему усмотрению).
Таблица 3.1
Вариант операции
N
1
2
3
4
5
6
7
8
9
Содержание операции
Умножение 1616 младших бит чисел 109A00h и С0081h, где
операнды знаковые числа.
Сложение знаковых чисел 9C5A8600h и 78B05D03h.
Умножение 1616 младших бит чисел 109A00h и С0081h, где
операнды – числа без знака.
Вычитание над числами без знака: 78B05D03h - 9C5A8600h.
Умножение 1616 младших бит чисел 9A000h и 7С000h, где
первый операнд – число без знака, второй – со знаком.
Сложение знаковых чисел 9C5A8600h и А8B05D03h.
Умножение 1616 младших бит чисел 9A000h и 7С000h, где
первый операнд – число со знаком, второй – без знака.
Вычитание над знаковыми числами: 78B05D03h - 9C5A8600h.
Умножение 1616 старших бит чисел 7100А000h и 8100С000h,
70
N
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Содержание операции
где операнды – знаковые числа.
Сложение
9C5A8600h
с
5-разрядной
положительной
константой (выбрать по своему усмотрению).
Умножение 1616 старших бит чисел 7100А000h и 8100С000h,
где операнды – числа без знака.
Вычитание над знаковыми числами: 9C5A8600h - 78B05D03h.
Умножение 1616 старших бит чисел 9100А000h и 8100С000h,
где первый операнд – число без знака, второй – со знаком.
Сложение 5C5A8600h с 5-разрядной константой без знака
(выбрать по своему усмотрению).
Умножение 1616 старших бит чисел 9100А000h и 8100С000h,
где первый операнд – число со знаком, второй – без знака.
Вычитание над знаковыми числами: ВC5A8600h - 98B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
бит числа 8100С000h, операнды со знаком.
Сложение чисел 4C5A8600h и 78B05D03h без знака.
Умножение 16 старших бит числа 9100А000h на 16 младших
бит числа 8100С000h, где операнды – числа без знака.
Вычитание над знаковыми числами: 7C5A8600h - 48B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
бит числа 8100С000h, где первый операнд – число без знака,
второй – со знаком.
Вычитание над знаковыми числами: 3C5A8600h - А8B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
бит числа 8100С000h, где первый операнд – число со знаком,
второй – без знака.
Вычитание над знаковыми числами: АC5A8600h - 38B05D03h.
Умножение 16 младших бит числа 9100А000h на 16 старших
бит числа 8100С000h, где операнды – знаковые числа.
Сложение чисел ЕC5A8600h + D8B05D03h без знака
Умножение 16 младших бит числа 9100А000h на 16 старших
бит числа 8100С000h, где операнды – числа без знака.
Вычитание над знаковыми числами: 9C5A8600h - В8B05D03h.
Умножение 16 младших бит числа 9100А000h на 16 старших
бит числа 8100С000h, где первый операнд – число без знака,
второй – со знаком.
71
Содержание операции
Умножение 16 младших бит числа 9100А000h на 16 старших
30 бит числа 8100С000h, где первый операнд – число со знаком,
второй – без знака.
N
Операция 2. Вычислить абсолютную величину содержимого R1
(для регистровой пары использовать только четный регистр) с
размещением результата в регистре R2 (назначить по своему
усмотрению).
Операция 3 1). с размещением результата в регистре R2:
 для нечетных вариантов N содержимое R2 сложить с 16-разрядной
знаковой константой (принять по своему усмотрению);
 для четных вариантов N сложить старшую и младшую половины
R2 соответственно со старшей и младшей половинами числа,
выбранного из таблицы 3.2.
Таблица 3.2
Второй операнд
N
2
4
6
8
10
Число, Hex
80А1F5C1
C5D0A5
90B3E8C9
D9A2B3
A123F1C0
N
12
14
16
18
20
Число, Hex
E4C6A0
B23495A0
F7B0D3
C345A5B7
9AC580
N
22
24
26
28
30
Число, Hex
D046E890
B9B483
E456F792
C1A293
F598C4E5
2). Получить исполняемый программный модуль.
3). Загрузить исполняемый модуль в симулятор.
4). В пошаговом режиме выполнить прогон программы, сравнивая
данные прогноза с соответствующими данными окна CPU симулятора.
5). Предъявить результаты выполнения работы преподавателю,
после чего завершить работу с симулятором.
Методические указания
Примечание: при выполнении некоторых команд ассемблера
происходит дополнение старших разрядов знаком и если число
отрицательное в этих разрядах появятся единицы, что может привести
к неверному результату.
При выполнении данного задания следует:
 предусмотреть регистры R3, R4, … для размещения исходных
72
данных;
 помнить, что команды умножения имеют 1 слот задержки.
 В остальном алгоритм и программа строятся аналогично
предыдущей работе (рис. 3.1):
Начало
R3<число>,
R4<число>
Операция 1
Операция 2
Операция 3
Конец
Рис. 3.1 – Блок-схема алгоритма в обобщённом виде
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Сформулируйте правило формирования результата при
выполнении команды вычитания над знаковыми операндами.
Сформулируйте правило формирования результата при
выполнении команды ABS.
Приведите формат арифметической команды, заданной
преподавателем.
Укажите функциональные особенности команды, заданной
преподавателем.
Укажите ограничения на операнды команды, заданной
преподавателем.
Определите результат выполнения команды, заданной
преподавателем.
Назовите метод адресации, характерный практически для всех
арифметических команд.
73
Лабораторная №4.
ВЕТВЛЕНИЕ С ПРОСТЫМ УСЛОВИЕМ
Ветвления позволяют реализовать альтернативные вычисления в
зависимости от каких-либо условий. Наиболее просто ветвление
организуется для одного условия с одним отношением, например a<b.
Цель работы
Изучить особенности реализации простых условий на языке
ассемблера процессора TMS320C6x.
Подготовка к работе
 По указанной выше литературе изучить поле условия строки
ассемблера TMS320C6x, а также форматы и особенности
выполнения логических и сервисных команд.
 Уяснить особенности реализации нестрогих отношений в условии
ветвления.
 Ознакомиться с методическими указаниями.
 Подготовить отчет.
Задание и порядок выполнения работы
1 На языке ассемблера TMS320C6x подготовить программу,
реализующую алгоритм рис. 4.1.
Начало
Ввод исходных данных
Условие
Нет
Д
Операция
1
а
Операция 2
Операция 3
Конец
Рис. 4.1 Алгоритмическая структура «ветвление»
74
При этом:
Операция 1 заключается в вычислении абсолютной величины
числа, взятого из таблицы 4.1.
Таблица 4.1.
Операнд
N
1
2
3
4
5
6
7
8
Число, Hex
9F6B287
F598C4E5
890A7
C1A293
8E2C795
E456F792
FB1D0
B9B483
N Число, Hex
9
F67C3E4
10 D046E890
11
EC7A6
12
9AC580
13
E34F5B1
14 C345A5B7
15
DA0B9
16
F7B0D3
N Число, Hex
17 D89E5F0
18 B23495A0
19
CD3A0
20 E4C6A0
21 C70A4B2
22 A123F1C0
23
BE7C4
N
24
25
26
27
28
29
30
Число, Hex
D9A2B3
B30B5A8
90B3E8C9
AF9C5
C5D0A5
A90C7D5
80А1F5C1
Операция 2 с размещением результата в регистре (регистровой
паре) R1 (назначить из РОН по своему усмотрению) выбрать из
таблицы 4.2.
Таблица 4.2
Операция
N
Содержание и условия операции
1 Вычитание знаковых чисел 9C5A8600h - В8B05D03h.
Умножение 16 младших бит числа 9100А000h на 16 старших
2 бит числа 8100С000h, где первый операнд – число без знака,
второй – со знаком.
3 Сложение чисел ЕC5A8600h + D8B05D03h без знака.
Умножение 16 младших бит числа 9100А000h на 16 старших
4
бит числа 8100С000h, где операнды числа без знака.
5 Вычитание знаковых чисел АC5A8600h - 38B05D03h.
Умножение 16 младших бит числа 9100А000h на 16 старших
6
бит числа 8100С000h, где операнды знаковые числа.
7 Вычитание знаковых чисел 3C5A8600h - А8B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
8 бит числа 8100С000h, где первый операнд – число со знаком,
второй – без знака.
9
Вычитание знаковых чисел 7C5A8600h - 48B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
10 бит числа 8100С000h, где первый операнд – число без знака,
второй – со знаком.
75
N
Содержание и условия операции
11 Сложение чисел 4C5A8600h и 78B05D03h без знака.
Умножение 16 старших бит числа 9100А000h на 16 младших
12
бит числа 8100С000h, где операнды числа без знака.
13 Вычитание знаковых чисел ВC5A8600h - 98B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
14
бит числа 8100С000h, где операнды знаковые числа.
Сложение 5C5A8600h с 5-разрядной константой без знака
15
(выбрать по своему усмотрению).
Умножение 1616 старших бит чисел 9100А000h и 8100С000h,
16
где первый операнд – число со знаком, второй – без знака.
17 Вычитание знаковых чисел 9C5A8600h - 78B05D03h.
Умножение 1616 старших бит чисел 9100А000h и 8100С000h,
18
где первый операнд – число без знака, второй – со знаком.
Сложение
9C5A8600h
с
5-разрядной
положительной
19
константой (выбрать по своему усмотрению).
Умножение 1616 старших бит чисел 7100А000h и 8100С000h,
20
где операнды числа без знака.
21 Вычитание знаковых чисел 78B05D03h - 9C5A8600h.
Умножение 1616 старших бит чисел 7100А000h и 8100С000h,
22
где операнды знаковые числа.
23 Сложение знаковых чисел 9C5A8600h и А8B05D03h.
Умножение 1616 младших бит чисел 9A000h и 7С000h, где
24
первый операнд – число со знаком, второй – без знака.
25
Вычитание чисел без знака 78B05D03h - 9C5A8600h.
Умножение 1616 младших бит чисел 9A000h и 7С000h, где
26
первый операнд – число без знака, второй – со знаком.
27 Сложение знаковых чисел 9C5A8600h и 78B05D03h.
Умножение 1616 младших бит чисел 109A00h и С0081h, где
28
операнды числа без знака.
Умножение 1616 младших бит чисел 109A00h и С0081h, где
29
операнды знаковые числа.
Умножение 16 младших бит числа 9100А000h на 16 старших
30 бит числа 8100С000h, где первый операнд – число со знаком,
второй – без знака.
Операция 3 заключается в вычислении абсолютной величины
содержимого R1 (для регистровой пары использовать только четный
регистр) с размещением результата в регистре R2 (назначить из РОН
по своему усмотрению);
76
 условие и способ формирования содержимого регистра условия
Rус (назначить из РОН по своему усмотрению) выбрать из таблицы
4.3.
Таблица 4.3.
Условие
N
Условие ветвления
1
3
4
5
6
A8  A9
0 в пяти старших
разрядах В8
A8  0
В8 четное
A8 < A9
B8 = B9
7
A8  0
2
8
9
10
11
12
13
14
15
16
17
18
0 в пяти старших
разрядах В8
A8 > A9
В8 нечетное
A8  0
B8  B9
A8  A9
0 в пяти старших
разрядах В8
A8  0
B8 четное
A8  A9
В пяти старших
разрядах В8 хотя бы
одна 1
19 A8  0
0 в пяти старших
разрядах В8
21 A8 < A9
Способ формирования содержимого
регистра условия Rус
Сравнение чисел без знака
Сброс области бит
Арифметический сдвиг вправо
Операция конъюнкции
Сравнение знаковых чисел
Операция «неравнозначность»
Выделение
старшего
бита
расширения знаком
без
Логический сдвиг вправо
Сравнение чисел без знака
Сброс области бит
Сравнение знаковых чисел
Операция «неравнозначность»
Сравнение знаковых чисел
Выделение области бит с расширением
знаком
Сброс области бит
Сдвиг влево
Сравнение знаковых чисел
Выделение области бит без расширения
знаком
Выделение области бит с расширением
знаком
20
Операция конъюнкции
22 В8 нечетное
Сравнение чисел без знака
Выделение области бит без расширения
знаком
Логический сдвиг вправо
23 A8  0
77
N
Условие ветвления
24 B8 = B9
25 A8 > A9
1 в пяти старших
26
разрядах В8
27 A8  0
28 B8 четное
29 A8  A9
30 B8  B9
Способ формирования содержимого
регистра условия Rус
Сравнение чисел
Сравнение знаковых чисел
Сравнение чисел без знака
Операция конъюнкции
Выделение области бит с расширением
знаком
Сравнение чисел без знака
Сравнение чисел
В таблице имена регистров РОН совпадают с их содержимым.
 Получить исполняемый программный модуль.
 Загрузить исполняемый модуль в симулятор.
 В пошаговом режиме выполнить прогон программы, сравнивая
данные прогноза с соответствующими данными окна CPU
симулятора.
 Предъявить результаты выполнения работы преподавателю, после
чего завершить работу с симулятором.
Методические указания
Алгоритмическая структура, приведенная на рис. 6, используется
при программировании на языках высокого уровня. Однако в языке
ассемблера,
Во-первых, возможны только два признака ветвления –
содержимое регистра условия Rус нулевое (выполняются операции
одной ветви) или ненулевое (выполняются операции другой ветви).
Для формирования этих признаков требуются дополнительные
логические и/или сервисные операции, что должно быть отражено в
алгоритмической структуре (рис. 4.2).
78
Начало
Ввод исходных данных
Формирование
содержимого Rус
Rус = 0
Нет
Д
а
Операция
1
Операция 2
Операция 3
Конец
Рис. 4.2 – Обобщенная структура ветвления, приведенная к
ассемблеру
При этом для одного и того же исходного условия признаки
ветвления могут быть получены разными способами. Например:
1. В случае отношений а  0 либо а < 0 помимо команд сравнения
(обсуждаются ниже) можно использовать знак числа (значение 31-го
двоичного разряда). Для его выделения пригодны конъюнкция
(команда AND) с числом 80000000h, выделение области из одного
старшего бита (команда EXT или EXTU), сдвиг вправо на 31 разряд
(команда SHR или SHRU), обнуление 31 младших разрядов (команда
CLR).
2. Для определения четности числа можно использовать его
конъюнкцию с числом 00000001h, выделение области из одного
младшего бита, сдвиг влево на 31 разряд, обнуление 31 старших
разрядов.
Указанная множественность решений отражена в разделе
«Способ формирования содержимого регистра условия Rус» таблицы
задания, где для одного и того же условия в зависимости от варианта
предлагаются различные команды его реализации.
Во-вторых, команды сравнения ассемблера реализуют только
79
строгие отношения: а < b, a > b и a = b. Поэтому в случае условий a  b,
a  b и a  b следует использовать альтернативные условия: a > b, а < b
и a = b, соответственно. При этом признаки выполнения ветвей «Да» и
«Нет» блока ветвления меняются местами. Например, некоторая
операция должна выполняться, только если a  b (признак «Да»). При
использовании условия a > b заданная операция должна выполняться
только в случае его нарушения, то есть признак «Да» заменяется
признаком «Нет» и наоборот.
В-третьих, все команды, соответствующие операциям той или
иной ветви, должны быть условными. В противном случае команды
одной из ветвей будут выполняться всегда, то есть вне зависимости от
условия ветвления.
Обобщенное решение представленного задания:
Пример обобщенных алгоритма и программы (без указания
конкретных данных) приведен на рис. 8.
При отладке требуется два прогона программы. В первом прогоне
задается такое содержимое РОН, которое соответствует выполнению
условия. Во втором прогоне содержимое одного из этих РОН
изменяется так, чтобы условие нарушалось.
Начало
Ввод исходных
данных
comanda
RусR=0
=0
Нет
Д
comanda
1
а
comanda 2,
comanda 3
mvk
<число>,R1
mvkh(mvklh) <число>,R1
…………………….
comanda
<операнды>,Rус
[!Rус] comanda 1
[Rус] comanda 2
[Rус] comanda 3
Конец
Рис. 4.2 Алгоритм и программа в обобщенном виде
Примечание: при выполнении некоторых команд ассемблера
80
происходит дополнение старших разрядов знаком и если число
отрицательное в этих разрядах появятся единицы, что может привести
к неверному результату.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
8.
9.
Укажите регистры РОН, допустимые для использования в
качестве регистра условия.
Сформулируйте
особенности
реализации
нестрогих
отношений в условии ветвления.
Поясните общие принципы организации ветвлений при
программировании на языке ассемблера.
С пояснениями приведите примеры поля условия строки
ассемблера.
Приведите
формат
логической
команды,
заданной
преподавателем.
Приведите
формат
сервисной
команды,
заданной
преподавателем.
Определите результат выполнения логической команды,
заданной преподавателем.
Определите результат выполнения сервисной команды,
заданной преподавателем.
Приведите программную реализацию ветвления по любому
другому варианту.
81
Лабораторная работа 5.
ВЕТВЛЕНИЕ СО СЛОЖНЫМ УСЛОВИЕМ
Сложное условие состоит из нескольких условий, объединенных
логической связью: <условие1> и <условие2>, <условие1> или
<условие2>, где каждое из условий может быть как простым, так и
сложным.
Цель работы
Изучить особенности реализации сложных условий на языке
ассемблера процессора TMS320C6x.
Подготовка к работе
 По указанной выше литературе изучить принципы реализации
сложных условий.
 Ознакомиться с методическими указаниями.
 Подготовить отчет в соответствии с первым заданием работы.
Задание и порядок выполнения работы
1. На языке ассемблера TMS320C6x подготовить программу,
реализующую алгоритм рис. 5.1
При этом:
Операция 1 заключается в вычислении абсолютной величины числа,
взятого из таблицы 5.1
Таблица 5.1
Операнд
N
1
2
3
4
5
6
7
8
Число, Hex
9F6B287
F598C4E5
890A7
C1A293
8E2C795
E456F792
FB1D0
B9B483
N Число, Hex
9
F67C3E4
10 D046E890
11
EC7A6
12
9AC580
13
E34F5B1
14 C345A5B7
15
DA0B9
16
F7B0D3
82
N Число, Hex
17 D89E5F0
18 B23495A0
19
CD3A0
20 E4C6A0
21 C70A4B2
22 A123F1C0
23
BE7C4
N
24
25
26
27
28
29
30
Число, Hex
D9A2B3
B30B5A8
90B3E8C9
AF9C5
C5D0A5
A90C7D5
80А1F5C1
Начало
Ввод исходных данных
Условие
Нет
Д
а
Операция 1
Операция 2
Операция 3
Конец
Рис. 5.1 – Алгоритмическая структура «ветвление»
Операцию 2 с размещением результата в регистре (регистровой
паре) R1 (назначить из РОН по своему усмотрению) выбрать из
таблицы 5.2.
Таблица 5.2.
Операция
N
Содержание и условия операции
Вычитание знаковых чисел 9C5A8600h - В8B05D03h.
Умножение 16 младших бит числа 9100А000h на 16 старших
2 бит числа 8100С000h, где первый операнд – число без знака,
второй – со знаком.
3 Сложение чисел ЕC5A8600h + D8B05D03h без знака.
Умножение 16 младших бит числа 9100А000h на 16 старших
4
бит числа 8100С000h, где операнды числа без знака.
5 Вычитание знаковых чисел АC5A8600h - 38B05D03h.
Умножение 16 младших бит числа 9100А000h на 16 старших
6
бит числа 8100С000h, где операнды знаковые числа.
7 Вычитание знаковых чисел 3C5A8600h - А8B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
8 бит числа 8100С000h, где первый операнд – число со знаком,
второй – без знака.
9
Вычитание знаковых чисел 7C5A8600h - 48B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
10
бит числа 8100С000h, где первый операнд – число без знака,
1
83
N
Содержание и условия операции
второй – со знаком.
11 Сложение чисел 4C5A8600h и 78B05D03h без знака.
Умножение 16 старших бит числа 9100А000h на 16 младших
12
бит числа 8100С000h, где операнды числа без знака.
13 Вычитание знаковых чисел ВC5A8600h - 98B05D03h.
Умножение 16 старших бит числа 9100А000h на 16 младших
14
бит числа 8100С000h, где операнды знаковые числа.
Сложение 5C5A8600h с 5-разрядной константой без знака
15
(выбрать по своему усмотрению).
Умножение 1616 старших бит чисел 9100А000h и 8100С000h,
16
где первый операнд – число со знаком, второй – без знака.
17 Вычитание знаковых чисел 9C5A8600h - 78B05D03h.
Умножение 1616 старших бит чисел 9100А000h и 8100С000h,
18
где первый операнд – число без знака, второй – со знаком.
Сложение
9C5A8600h
с
5-разрядной
положительной
19
константой (выбрать по своему усмотрению).
Умножение 1616 старших бит чисел 7100А000h и 8100С000h,
20
где операнды числа без знака.
21 Вычитание знаковых чисел 78B05D03h - 9C5A8600h.
Умножение 1616 старших бит чисел 7100А000h и 8100С000h,
22
где операнды знаковые числа.
23 Сложение знаковых чисел 9C5A8600h и А8B05D03h.
Умножение 1616 младших бит чисел 9A000h и 7С000h, где
24
первый операнд – число со знаком, второй – без знака.
25
Вычитание чисел без знака 78B05D03h - 9C5A8600h.
Умножение 1616 младших бит чисел 9A000h и 7С000h, где
26
первый операнд – число без знака, второй – со знаком.
27 Сложение знаковых чисел 9C5A8600h и 78B05D03h.
Умножение 1616 младших бит чисел 109A00h и С0081h, где
28
операнды числа без знака.
Умножение 1616 младших бит чисел 109A00h и С0081h, где
29
операнды знаковые числа.
Умножение 16 младших бит числа 9100А000h на 16 старших
30 бит числа 8100С000h, где первый операнд – число со знаком,
второй – без знака.
Операция 3 заключается в вычислении абсолютной величины
содержимого R1 (для регистровой пары использовать только четный
регистр) с размещением результата в регистре R2 (назначить из РОН
84
по своему усмотрению).
Условие и способ формирования содержимого регистра условия Rус
(назначить из РОН по своему усмотрению) выбрать из таблицы 5.3.
Таблица 5.3
Условие формирования
N
Условие ветвления
3
4
5
6
A8  A9
0 в
пяти
разрядах В8
A8  0
В8 четное
A8 < A9
B8 = B9
7
A8  0
1
2
8
9
10
11
12
13
14
15
16
17
18
старших
19 A8  0
0 в
пяти
разрядах В8
21 A8 < A9
22 В8 нечетное
Сброс области бит
Арифметический сдвиг вправо
Операция конъюнкции
Сравнение знаковых чисел
Операция «неравнозначность»
Выделение старшего бита
расширения знаком
0 в
пяти старших
разрядах В8
A8 > A9
В8 нечетное
A8  0
B8  B9
A8  A9
0 в
пяти старших
разрядах В8
A8  0
B8 четное
A8  A9
В пяти старших разрядах
В8 хотя бы одна 1
20
Способ формирования содержимого
регистра условия Rус
Сравнение чисел без знака
старших
без
Логический сдвиг вправо
Сравнение чисел без знака
Сброс области бит
Сравнение знаковых чисел
Операция «неравнозначность»
Сравнение знаковых чисел
Выделение
области
бит
с
расширением знаком
Сброс области бит
Сдвиг влево
Сравнение знаковых чисел
Выделение
области
бит
без
расширения знаком
Выделение
области
бит
с
расширением знаком
Операция конъюнкции
Сравнение чисел без знака
Выделение
области
бит
расширения знаком
85
без
N
Условие ветвления
23 A8  0
24 B8 = B9
25 A8 > A9
1 в
пяти
26
разрядах В8
27 A8  0
старших
28 B8 четное
29 A8  A9
30 B8  B9
Способ формирования содержимого
регистра условия Rус
Логический сдвиг вправо
Сравнение чисел
Сравнение знаковых чисел
Сравнение чисел без знака
Операция конъюнкции
Выделение
области
бит
расширением знаком
Сравнение чисел без знака
Сравнение чисел
с
В таблице имена регистров РОН совпадают с их содержимым.
 Получить исполняемый программный модуль.
 Загрузить исполняемый модуль в симулятор.
 В пошаговом режиме выполнить прогон программы, сравнивая
данные прогноза с соответствующими данными окна CPU
симулятора.
 Предъявить результаты выполнения работы преподавателю, после
чего завершить работу с симулятором.
Методические указания
Для решения задачи предположим, что сложное условие состоит
из простых условий. Принципиального значения это не имеет, но
облегчает разъяснение рассматриваемого вопроса.
В зависимости от простых условий сформировать признаки
ветвления можно двумя способами:
 сначала с помощью однотипной логической операции над всеми
простыми условиями получить признак ветвления в одном из
разрядов результата, а затем выделить его в регистре условия
(варианты 3, 5 – 13, 17, 19, 23 – 25, 27, 29, 30). В этом случае все
соответствующие команды могут быть безусловны;
последовательная проверка простых условий (варианты 1, 2, 4, 14 –
16, 18,20 – 22, 26, 28). При этом, во-первых, во всех проверках
используется один и тот же регистр условия. В противном случае
возможно несанкционированное выполнение операции данной ветви.
Во-вторых, соответствующие команды подбираются так, чтобы для
одной и той же ветви результат их выполнения был одинаков. Втретьих, команды, реализующие проверку простых условий, должны
86
быть условными, за исключением первой.
Так, например, для логической связи «ИЛИ» и n простых условиях
алгоритмическая структура ветвления в обобщенном виде показана на
рис. 5.2, а соответствующая программа – на рис. 5.3. При этом
предполагается, что при выполнении простого условия содержимое
Rус ненулевое.
Те же структуры, но для логической связи «И» показаны на рис. 5.4
и рис. 5.5, соответственно.
Примечание: при выполнении некоторых команд ассемблера
происходит дополнение старших разрядов знаком и если число
отрицательное в этих разрядах появятся единицы, что может привести
к неверному результату.
Формирование содержимого
Rус по 1-му условию
comanda 1
Rус R=0
0
Да
Нет
Формирование содержимого
Rус по n-му условию
comanda n
Rус R=0
0
Нет
com2
Да
com1
Рис. 5.2 – Обобщенная алгоритмическая структура ветвления при
логической связи «ИЛИ»
87
…………………….
comanda 1 ; формирование Rус по 1-му условию
[!Rус] comanda 2 ; формирование Rус по 2-му условию
…………………….
[!Rус] comanda n ; формирование Rус по n-му условию
[Rус] com1
; операция 1 – выполнено хотя бы одно
;простое условие
[!Rус] com2
; альтернативная операция 2 – ни одно из
;простых условий не выполнено
…………………….
Рис. 5.3. Обобщенная программа ветвления при логической связи
«ИЛИ»
Формирование содержимого
Rус по 1-му условию
comanda 1
RусR=0
0
Нет
Да
Формирование содержимого
Rус по n-му условию
comanda n
RусR=0
0
Нет
Да
com1
com2
Рис. 5.4 – Обобщенная алгоритмическая структура ветвления при
логической связи «И»
88
…………………….
comanda 1 ; формирование Rус по 1-му условию
[Rус] comanda 2 ; формирование Rус по 2-му условию
…………………….
[Rус] comanda n ; формирование Rус по n-му условию
[Rус] com1
; операция 1 – выполнены все простые
; условия
[!Rус] com2
; альтернативная операция 2 – хотя бы одно
;из простых условий не выполнено
…………………….
Рис. 5.5 – Обобщенная программа ветвления при логической связи
«И»
Контрольные вопросы
Поясните принципы организации ветвлений на языке
ассемблера со сложным условием и логической связью «И».
2. Поясните принципы организации ветвлений на языке
ассемблера со сложным условием и логической связью
«ИЛИ».
3. Приведите программную реализацию ветвления по любому
другому варианту.
4. Укажите регистры РОН, допустимые для использования в
качестве регистра условия.
5. Сформулируйте
особенности
реализации
нестрогих
отношений в условии ветвления.
6. Поясните общие принципы организации ветвлений при
программировании на языке ассемблера.
7. С пояснениями приведите примеры поля условия строки
ассемблера.
8. Приведите
формат
логической
команды,
заданной
преподавателем.
9. Приведите
формат
сервисной
команды,
заданной
преподавателем.
10. Определите результат выполнения логической команды,
заданной преподавателем.
11. Определите результат выполнения сервисной команды,
заданной преподавателем.
1.
89
Предметный указатель
PROM - однократно-программируемый ПЗУ ........................................ 38
RAM - статическое ОЗУ ........................................................................... 38
RAMD - динамическое ОЗУ .................................................................... 38
ROM - масочные ПЗУ .............................................................................. 38
БИС - большие интегральные схемы ........................................................ 5
БМУ - блок микропроцессорного управления ......................................... 9
ДШ - дишефратор команд .......................................................................... 8
ЗУ - запоминающее устройство............................................................... 38
ИВП -обмен данных между памятью данных и внешней памятью ..... 16
ЛСЭ -включает "спящие" режимы .......................................................... 16
МК - микрокоманда .................................................................................... 9
МП - однокристальный микропроцессор ................................................. 5
МПК - микропроцессорный комплекс ...................................................... 6
МПС - микропроцессорные схемы ........................................................... 5
НК - накопитель ........................................................................................ 43
ОЗУ - оперативное запоминающее устройство ....................................... 8
П - перемычки ........................................................................................... 50
ПДП - передача данных между областями памяти ................................ 16
ПЗУ - постоянное запоминаующее устройство ..................................... 38
ППЗУ перепрограммируемое ПЗУ .......................................................... 38
РгК - регистор команд ................................................................................ 8
РОН - имя регистра процессора, в которм хранится операнд .............. 14
СБИС - сверхбольшие интегральные схемы ............................................ 5
СУ - сигналы управления ........................................................................... 9
УЗ - усилитель записи .............................................................................. 43
УП - управляющая память ......................................................................... 9
УС - устройство считывания ................................................................... 43
УсП- поле условных переходов ............................................................... 10
УУ - устройство управления .................................................................... 43
УУз - управляющие узлы ........................................................................... 8
90
Приложение 1
Система команд TMS320С6х для чисел с
фиксированной запятой
Условные обозначения в описании команд:
1. R1 – первый операнд, R2 – второй операнд, R3 – третий операнд,
Rsm – смещение, Rbas – регистр адреса, Rres – регистр результата, cstn
– n-разрядная константа.
Буква R символизирует как имя регистра общего назначения, так и
его содержимое. Константа – n-разрядное целое, непосредственно
указываемое в команде.
2. Тип операнда обозначается аббревиатурой: int – 32-разрядное
целое (слово), short – короткое (16-разрядное) целое (полуслово), long
– длинное (40-разрядное) целое.
Перед каждой аббревиатурой типа буква s означает величину со
знаком (число представляется в дополнительном коде), буква u –
величину без знака (число представляется в прямом коде), а буква х –
что операнд исходит из регистра общего назначения противоположной
стороны.
3. Слот задержки (slot) – интервал времени (число тактов) между
началом выполнения команды и моментом времени, когда результат
становится доступным для чтения.
Например, если slot = 1 и команда объявлена в i-м такте, то
результат ее выполнения пишется в Rres в (i + 1)-м такте, а
воспользоваться этим результатом можно лишь в (i + 2)-м такте.
Команды пересылки данных
MV R1,Rres
Устройство
.L1 или .L2,
.S1 или .S2
.D1 или .D2
.L1 или .L2
Перемещение из одного регистра в другой
Тип операндов
R1
R2
Тип
Тип
Слоты
результата команды задержки
xsint
нет
sint
sint
slong
нет
нет
sint
slong
91
1-тактная
0
MVК R1,Rres
Перемещение 16-разрядной константы в пределах
регистра и расширение знаком
Устройство
.S1 или .S2
Тип операндов
R1
R2
scst16
нет
Тип
Тип
Слоты
результата команды задержки
sint
1-тактная
0
Описание: 16-разрядная константа размещается в Rres, свободные
старшие разряды которого заполняются знаком константы.
MVКН, MVКLН R1,Rres
Устройство
.S1 или .S2
Перемещение 16-разрядной константы
в старшие разряды регистра
Тип операндов
Тип
Тип
Слоты
R1
R2
результата команды задержки
scst16
нет
sint
1-тактная
0
Описание: 16 старших (MVКН) или 16 младших (MVКLН) разрядов
константы загружаются в старшие разряды Rres. 16 младших разрядов
Rres остаются неизменными.
Команды загрузки/хранения
LDB, LDBU, LDH, LDHU, LDW R1,Rres Загрузка из памяти с 5разрядной беззнаковой константой или с регистром смещения
Устройство
.D1 или .D2
Тип операндов
R1
R2
R3
См.
синтаксис нет нет
R1
Тип
Тип
Слоты
результата команды задержки
Содержим
ое ячейки Загрузка
4
памяти
Описание: каждая из этих команд загружает из внутренней памяти
данных в регистр Rres общего назначения. Синтаксис R1,
определяющий правило формирования адреса:
*+Rbas[Rsm] или *+Rbas[ucst5] – положительное смещение. К Rbas
добавляется Rsm или ucst5, причём Rbas не изменяется.
Исполнительным адресом является результат суммирования;
*-Rbas[Rsm] или *-Rbas[ucst5] – отрицательное смещение. Из Rbas
вычитается Rsm или ucst5, причём Rbas не изменяется.
Исполнительным адресом является результат вычитания;
*++Rbas[Rsm] или *++Rbas[ucst5] – преинкремент. К Rbas добавляется
Rsm или ucst5, изменяя Rbas. Исполнительным адресом является
92
изменённое содержимое Rbas;
*- -Rbas[Rsm] или *- -Rbas[ucst5] – предекремент. Из Rbas вычитается
Rsm или ucst5, изменяя Rbas. Исполнительным адресом является
изменённое содержимое Rbas;
*Rbas++[Rsm] или *Rbas++ [ucst5] – постинкремент. К Rbas
добавляется Rsm или ucst5, изменяя Rbas. Исполнительным адресом
является содержимое Rbas до его изменения;
*Rbas--[Rsm] или *Rbas--[ucst5] – постдекремент. Из Rbas вычитается
Rsm или ucst5, изменяя Rbas. Исполнительным адресом является
содержимое Rbas до его изменения.
Если смещение (Rsm или ucst5) не задаётся, ассемблер назначает
нулевое смещение, а инкременты и декременты равны 1.
Rbas и Rsm должны быть на той же стороне ЦПУ, что и
используемое устройство .D.
Rsm и cst5 до операции по формированию адреса сдвигаются влево
на 0 (LDB и LDBU), 1 (LDH и LDHU) или 2 (LDW) разряда.
Адресная арифметика (сложение или вычитание) по умолчанию
выполняется в линейном способе. Однако для А4 – А7 и В4 – В7
способ может быть изменён на циклический путём записи
соответствующей величины в регистр AMR.
Для команд LDB(U) и LDH(U) загружаются только младшие 8 и 16
бит, соответственно, а остальные разряды Rres заполняются знаком
(LDB и LDH) или нулями (LDBU и LDHU). Для LDW заполняются все
32 разряда Rres.
LDB, LDBU, LDH, LDHU, LDW R1,Rres
Загрузка из памяти с 15разрядной беззнаковой константой смещения
Устройство
.D2
Тип операндов
Тип
Тип
Слоты
R1
R2 R3 результата команды задержки
*+B14[ucst15]
Содержим
или
нет нет ое ячейки Загрузка
4
*+B15[ucst15]
памяти
Описание: каждая из этих команд загружает из внутренней памяти
данных в регистр Rres общего назначения. До операции по
формированию адреса (вычитание не поддерживается) cst15
сдвигается влево на 0 (LDB и LDBU), 1 (LDH и LDHU) или 2 (LDW)
разряда.
93
Адресная арифметика всегда выполняется в линейном способе.
Для команд LDB(U) и LDH(U) загружаются только младшие 8 и 16
бит, соответственно, а остальные разряды Rres заполняются знаком
(LDB и LDH) или нулями (LDBU и LDHU). Для LDW заполняются все
32 разряда Rres.
STB, STH, STW R,*R1
Загрузка в память с 5-разрядной
беззнаковой константой смещения или с регистром смещения
Устройство
.D1 или .D2
Тип операндов
R1
R2
См. синтаксис
нет
R1
Тип
Тип
Слоты
результата команды задержки
Хранени
нет
0
е
Описание: каждая из этих команд загружает во внутреннюю память
данных из регистра R общего назначения. Синтаксис R1 и выполнение
Rbas и Rsm такие же, как у команд LD.
STB, STH, STW R,*R1
беззнаковой константой смещения
Устройство
.D1 или .D2
Загрузка в память с 15-разрядной
Тип операндов
R1
R2
См. синтаксис
нет
R1
Тип
Тип
Слоты
результата команды задержки
Хранени
нет
0
е
Описание: каждая из этих команд загружает во внутреннюю память
данных из регистра R общего назначения. Синтаксис R1 и выполнение
Rbas и Rsm такие же, как у команд LD.
Арифметические команды
ABS R1,Rres
Устройство
.L1 или .L2
Абсолютная величина целого
Тип операндов
R1
R2
R3
xsint
нет
нет
Тип
Тип
Слоты
результата команды задержки
sint
1-тактная
0
Описание: абсолютная величина R1 устанавливается в Rres.
94
ADD2 R1,R2,Rres
Два 16-разрядных целых добавляются к
старшей и младшей половинам регистра
Тип операндов
R1
R2
R3
sint
xsint
нет
Устройство
.S1 или .S2
Тип
Тип
Слоты
результата команды задержки
sint
1-тактная
0
Описание: старшая и младшая половины R1 добавляются,
соответственно, к старшей и младшей половинам R2. Перенос из
младшей половины результата в старшую не производится. Результат
устанавливается в Rres.
ADD R1,R2,Rres
Устройство
.L1 или .L2
.S1 или .S2
.D1 или .D2
Сложение знаковых целых
Тип операндов
R1
R2
R3
sint
xsint
sint
xsint
xsint
slong
scst5
xsint
scst5
slong
нет
sint
xsint
scst5
xsint
sint
sint
ucst5
sint
Тип
Тип
Слоты
результата команды задержки
sint
slong
slong
sint
slong
1-тактная
0
sint
sint
sint
sint
Описание: R2 добавляется к R1 (для устройств .L и .S) или R1
добавляется к R2 (для устройств .D) и результат устанавливается в
Rres.
ADDK cst,Rres
Сложение целых с использованием знаковой
16-разрядной константы
Устройство
.S1 или .S2
Тип операндов
R1
R2
R3
scst16 Rres
нет
Тип
Тип
Слоты
результата команды задержки
uint
1-тактная
0
Описание: 16-разрядная знаковая константа добавляется к регистру
Rres и результат устанавливается в Rres.
95
ADDU R1,R2,Rres
Устройство
.L1 или .L2
Сложение беззнаковых целых
Тип операндов
R1
R2
R3
uint
xuint
нет
xuint ulong
Тип
Тип
Слоты
результата команды задержки
ulong
1-тактная
0
ulong
Описание: R2 добавляется к R1 и результат устанавливается в Rres.
MPY, MPYU, MPYUS, MPYSU R1,R2,Rres
младших бит знаковых или беззнаковых целых
Устройство
.М1
.М2
или
Умножение 16  16
Тип операндов
Тип
Тип
Слоты
R1
R2
результата команды задержки
sмл.16бит хsмл.16бит
sint
uмл.16бит xuмл.16бит
uint
Умноже
uмл.16бит xsмл.16бит
sint
ние
1
sмл.16бит xuмл.16бит
sint
16 на 16
scst5
xsмл.16бит
sint
scst5
xuмл.16бит
sint
Описание: 16 младших бит R1 умножаются на 16 младших бит R2 и
результат размещается в Rres. В команде MPY оба операнда знаковые.
Позиция буквы S в мнемонике команды соответствует знаковому из
двух сомножителей R1 и R2, другой из которых – без знака.
MPYН, MPYНU, MPYНUS, MPYНSU R1,R2,Rres Умножение 16 
16 старших бит знаковых или беззнаковых целых
Устройство
.М1
.М2
или
Тип операндов
Тип
Тип
Слоты
R1
R2
результата команды задержки
sст.16бит хsст.16бит
sint
Умноже
uст.16бит xuст.16бит
uint
ние
1
uст.16бит xsст.16бит
sint
16 на 16
sст.16бит xuст.16бит
sint
Описание: 16 старших бит R1 умножаются на 16 старших бит R2 и
результат размещается в Rres. В команде MPY оба операнда знаковые.
Позиция буквы S в мнемонике команды соответствует знаковому из
двух сомножителей R1 и R2, другой из которых – без знака.
96
MPYНL, MPYНLU, MPYНULS, MPYНSLU R1,R2,Rres Умножение 16
старших бит на 16 младших бит знаковых или беззнаковых целых
Устройство
.М1
.М2
или
Тип операндов
Тип
Тип
Слоты
R1
R2
результата команды задержки
sст.16бит хsмл.16бит
sint
Умноже
uст.16бит xuмл.16бит
uint
ние
1
uст.16бит xsмл.16бит
sint
16 на 16
sст.16бит xuмл.16бит
sint
Описание: 16 старших бит R1 умножаются на 16 младших бит R2 и
результат размещается в Rres. В команде MPYHL оба операнда
знаковые, а в команде MPYHLU – оба беззнаковые. Позиция буквы S в
мнемонике команды соответствует знаковому из двух сомножителей
R1 и R2, другой из которых – без знака.
MPYLН, MPYLНU, MPYLUНS, MPYLSНU R1,R2,Rres Умножение
16 младших бит на 16 старших бит знаковых или беззнаковых целых
Устройство
.М1
.М2
или
Тип операндов
Тип
Тип
Слоты
R1
R2
результата команды задержки
sмл.16бит хsст.16бит
sint
Умноже
uмл.16бит xuст.16бит
uint
ние
1
uмл.16бит xsст.16бит
sint
16 на 16
sмл.16бит xuст.16бит
sint
Описание: 16 младших бит R1 умножаются на 16 старших бит R2 и
результат размещается в Rres. В команде MPYHL оба операнда
знаковые, а в команде MPYHLU – оба без знаковые. Позиция буквы S
в мнемонике команды соответствует знаковому из двух сомножителей
R1 и R2, другой из которых – без знака.
97
SUB, SUBU R1,R2,Rres
целого без насыщения
Вычитание знакового или беззнакового
Тип операндов
R1
R2
sint
xsint
xsint
sint
sint
xsint
xsint
sint
uint
xuint
xuint
uint
scst5
slong
sint
xsint
scst5
xsint
sint
sint
sint
ucst5
Устройство
.L1 или .L2
.S1 или .S2
.D1 или .D2
Тип
Тип
Слоты
результата команды задержки
sint
sint
slong
slong
ulong
ulong 1-тактная
0
slong
sint
sint
sint
sint
Описание: R2 вычитается из R1 и результат размещается в Rres.
Логические команды
AND R1,R2,Rres
Устройство
.S1 или .S2,
.L1 или .L2
Поразрядное И
Тип операндов
R1
R2
R3
uint
xuint
нет
scst5
xuint
Тип
Тип
Слоты
результата команды задержки
uint
1-тактная
0
uint
Описание: над R1 и R2 выполняется поразрядное И. Результат
устанавливается в Rres. Константа распределяется на 32 разрядах.
CMPEQ R1,R2,Rres
Устройство
.L1 или .L2
Сравнение знаковых целых на равенство
Тип операндов
R1
R2
R3
sint
xsint
scst5
xsint
нет
xsint
slong
scst5
slong
Тип
Тип
Слоты
результата команды задержки
uint
uint
1-тактная
0
uint
uint
Описание: сравнение R1 с R2. Если R1 = R2, то в Rres записывается
1. В противном случае в Rres записывается 0.
98
CMPGT R1,R2,Rres Сравнение знаковых целых в отношении «больше»
Устройство
.L1 или .L2
Тип операндов
R1
R2
R3
sint
xsint
scst5
xsint
нет
xsint
slong
scst5
slong
Тип
Тип
Слоты
результата команды задержки
uint
uint
1-тактная
0
uint
uint
Описание: сравнение R1 с R2. Если R1 > R2, то в Rres записывается
1. В противном случае в Rres записывается 0. Если в команде
константа указана на месте R2, то ассемблер сам переставит её на
первое место.
CMPGTU R1,R2,Rres
Сравнение беззнаковых целых в отношении
«больше»
Устройство
.L1 или .L2
Тип операндов
R1
R2
R3
uint
xuint
ucst4
xuint
нет
xuint ulong
ucst4 ulong
Тип
Тип
Слоты
результата команды задержки
uint
uint
1-тактная
0
uint
uint
Описание: сравнение R1 с R2. Если R1 > R2, то в Rres записывается
1. В противном случае в Rres записывается 0. Если в команде
константа указана на месте R2, то ассемблер сам переставит её на
первое место.
CMPLT R1,R2,Rres Сравнение знаковых целых в отношении «меньше»
Устройство
.L1 или .L2
Тип операндов
R1
R2
R3
sint
xsint
scst5
xsint
нет
xsint
slong
scst5
slong
Тип
Тип
Слоты
результата команды задержки
uint
uint
1-тактная
0
uint
uint
Описание: сравнение R1 с R2. Если R1 < R2, то в Rres записывается
1. В противном случае в Rres записывается 0. Если в команде
константа указана на месте R2, то ассемблер сам переставит её на
первое место.
99
CMPLTU R1,R2,Rres
Сравнение беззнаковых целых в отношении
«меньше»
Устройство
.L1 или .L2
Тип операндов
R1
R2
R3
uint
xuint
ucst4
xuint
нет
xuint ulong
ucst4 ulong
Тип
Тип
Слоты
результата команды задержки
uint
uint
1-тактная
0
uint
uint
Описание: сравнение R1 с R2. Если R1 < R2, то в Rres записывается
1. В противном случае в Rres записывается 0. Если в команде
константа указана на месте R2, то ассемблер сам переставит её на
первое место.
NOP R1
Нет операции
Устройство
нет
Тип операндов
R1
R2
ucst4
нет
Тип
Тип
Слоты
результата команды задержки
нет
NOP
0
Описание: R1 задаёт число тактов, в течение которых никакие
операции (за исключением перехода) не производятся. NOP без
операнда рассматривается как NOP 1.
NOT R1,Rres
Поразрядное НЕ
Устройство
Тип операндов
R1
R2
.L1 или .L2,
.S1 или .S2
OR R1,R2,Rres
Устройство
.L1 или .L2,
.S1 или .S2
xuint
нет
Тип
Тип
Слоты
результата команды задержки
uint
1-тактная
0
Поразрядное ИЛИ
Тип операндов
R1
R2
uint
xuint
scst5
xuint
Тип
Тип
Слоты
результата команды задержки
uint
1-тактная
0
uint
Примечание: константа представляется в дополнительном коде и
расширяется знаком вплоть до 32 бит.
100
SHL R1,R2,Rrest
Устройство
.S1 или .S2
Арифметический сдвиг влево
Тип операндов
R1
R2
xsint
uint
slong
uint
xuint
uint
xsint
ucst5
xuint
ucst5
slong
ucst5
Тип
Тип
Слоты
результата команды задержки
sint
slong
ulong
1-тактная
0
sint
ulong
slong
Описание: операнд R1 загружается в Rrest, после чего
перемещается влево на число разрядов, определённых константой R2.
Когда в качестве R2 используется регистр, величину сдвига
определяют шесть его младших бит. Если 39 < R2 < 64, R1
перемещается влево на 40 разрядов. Освобождающиеся при сдвиге
разряды заполняются нулями.
SHR R1,R2,Rrest
Устройство
.S1 или .S2
Арифметический сдвиг вправо
Тип операндов
R1
R2
xsint
uint
slong
uint
xsint
ucst5
slong
ucst5
Тип
Тип
Слоты
результата команды задержки
sint
slong
1-тактная
0
sint
slong
Описание: операнд R1 загружается в Rrest, после чего
перемещается вправо на число разрядов, определённых константой R2.
Результат расширяется знаком. Когда в качестве R2 используется
регистр, величину сдвига определяют шесть его младших бит. Если 39
< R2 < 64, R1 перемещается вправо на 40 разрядов.
101
SHRU R1,R2,Rrest
Логический сдвиг вправо
Тип операндов
R1
R2
xuint
uint
ulong
uint
xuint
ucst5
ulong
ucst5
Устройство
.S1 или .S2
Тип
Тип
Слоты
результата команды задержки
uint
ulong
1-тактная
0
uint
ulong
Описание: операнд R1 загружается в Rrest, после чего
перемещается вправо на число разрядов, определённых константой R2.
Результат расширяется нулями. Когда в качестве R2 используется
регистр, величину сдвига определяют шесть его младших бит. Если 39
< R2 < 64, R1 перемещается вправо на 40 разрядов.
XOR R1,R2,Rres
Исключающее ИЛИ
Тип операндов
R1
R2
uint
xuint
scst5
xuint
Устройство
.L1 или .L2,
.S1 или .S2
Тип
Тип
Слоты
результата команды задержки
uint
1-тактная
0
uint
Описание: поразрядное исключающее ИЛИ выполняется между R1
и R2. Результат устанавливается в Rres. Константа расширена знаком
до 32 бит.
Команды перехода
В R1
Переход
Устройство
.S1 или .S2
.S2
Тип операндов
R1
R2
R3
метка
нет
нет
xuint
102
Тип
Тип
результата команды
переход Ветвление
Слоты
задержки
5
Сервисные команды
CLR R1, R2, R3, Rres
Устройство
.S1 или .S2
Очистить область бит беззнакового целого
Тип операндов
Тип
Тип
Слоты
R1
R2
R3 результата команды задержки
uint
ucst15 ucst15
uint
1-тактная
0
xuint
uint
нет
uint
Описание: область в R1, заданная константами R2 и R3,
сбрасывается в ноль, и результат устанавливается в Rres. Константа R2
определяет номер младшего бита (относительно нулевого разряда R1),
а константа R3 – номер старшего бита (относительно нулевого разряда
R1) области, которая должна очищаться. Константы могут быть
определены десятью младшими битами регистра R2, где первая
константа является битами с 0 по 4, а вторая – битами с 5 по 9.
ЕХТ R1,R2,R3,Rres
Устройство
.S1 или .S2
Выделение и расширение знаком области бит
Тип операндов
Тип
Тип
Слоты
R1
R2
R3 результата команды задержки
sint
ucst5
ucst5
sint
1-тактная
0
xsint
uint
нет
sint
Описание: константами R2 и R3 определяется область в R1. Номер
старшего бита области равен разности 31–R2 (первая константа), а
номер младшего бита области – разности R3 (вторая константа)–R2
(первая константа). Константы могут быть определены как 10
младших бит регистра R2, где первая константа является битами с 5 по
9, а вторая – битами с 0 по 4. Выделенная область переносится в Rres
на то же место, которое она занимает в R1, сдвигается влево на число
разрядов, равное первой константе, а затем – вправо на число
разрядов, равное второй константе. При сдвигах вправо
освобождавшиеся разряды заполняются знаком (старшим разрядом
области).
103
ЕХТU R1,R2,R3,Rres Выделение и расширение нулями области бит
Устройство
.S1 или .S2
Тип операндов
Тип
Тип
Слоты
R1
R2
R3 результата команды задержки
uint
ucst5
ucst5
uint
1-тактная
0
xuint
uint
нет
uint
Описание: всё также как и в команде ЕХТ, но при сдвигах вправо
освобождавшиеся разряды заполняются нулём.
SАT R1,Rrest
Устройство
.S1 или .S2
Округление 40-разрядного целого до 32-разрядного
Тип операндов
R1
R2
slong
нет
SET R1,R2,R3,Rrest
Устройство
.S1 или .S2
Тип
Тип
Слоты
результата команды задержки
sint
1-тактная
0
Установка области бит
Тип операндов
Тип
Тип
Слоты
R1
R2
R3 результата команды задержки
uint
ucst5
ucst5
uint
1-тактная
0
xuint
uint
нет
uint
Описание: область в R1, определенная константой R2 и константой
R3, размещается в Rrest, после чего устанавливается во все единицы.
Первая (R2) и вторая (R3) константы определяют (относительно
нулевого разряда) номер, соответственно, младшего и старшего
разряда области. Константы могут быть определены как десять
младших бит регистра R2, причём биты 0 – 4 соответствуют второй
константе, а биты 5 – 9 – первой.
ZERO Rres
Устройство
.L1 или .L2,
.S1 или .S2,
.D1 или .D2
.L1 или .L2
Обнуление регистра
Тип операндов
R1
R2
Тип
Тип
Слоты
результата команды задержки
нет
нет
sint
нет
нет
slong
104
1-тактная
0
Список используемой литературы
1.
Хлесткин А.Ю., Солодов А.Г., Коваленко Т.А. Машиннозависимые языки программирования. Учебное пособие. – Саратов,
изд-во Десятая Муза, 2016.
2.
Стефанов А.М., Солодов А.Г. Программирование на языке
ассемблера процессора TMS320C6x. – Самара, ПГУТИ, 2014.
3.
Коваленко, Т.А., Солодов А.Г., Вычислительная техника и
информационные технологии. Учебное пособие: - LA LAMBERT
Academic Publishing GmbH & Co. KG ISBN:978-3-659-97255-3,
2016.
4.
Вычислительная техника: учебник / Н. Г. Захаров, Р, А.
Сайфутдинов. - Ульяновск: УлГТУ, 2007.
5.
Угрюмов Е. Цифровая схемотехника. – С-Петербург, изд-во «БХВПетербург», 2002.
6.
Уэйкерли Дж.Ф. Проектирование цифровых устройств, т.1, 2 /
Пер. с англ. – М.: ПОСТМАРКЕТ, 2002.
7.
Солонина А., Улахович Д., Яковлев Л. Алгоритмы и процессоры
цифровой обработки сигналов. - С-Петербург, изд-во «БХВПетербург», 2001.
8.
Цифровая и вычислительная техника: Уч. для вузов / Э.В.
Евреинов, Ю.Т. Бутыльский, И.А. Мамзелев и др.; Под ред. Э.В.
Евреинова. - М.: Радио и связь, 1991.
9.
Вычислительные системы, сети и телекоммуникации: Учебник. –
2-е изд., перераб. И доп. / А.П. Пятибратов, Л.П. Гудыно, А.А.
Кириченко; Под ред. А.П. Пятибратова – М.: Финансы и
статистика, 2004.
10. Основы современных компьютерных технологий: Учебник / Под
105
ред. проф. А.Д. Хомоненко. – СПб.: КОРОНА принт, 2005.
11. Информатика 2015: учебное пособие/ Алексеев А.П. – М: СОЛОНПресс, 2016. – 104 с.
12. Акчурин, Э. А. Имитационное моделирование канала связи с
использованием нечеткой логики/ Э. А. Акчурин, Т. А. Коваленко
// Информационно-вычислительные технологии и их приложения :
сб. науч. тр. XI Междунар. науч.-техн. конф. – Пенза : Изд-во РИО
ПГСХА, 2009. - С. 3-5.
13. Дьяконов, В. П. MATLAB 6.5 SP1/7+Simulink 5/6 в математике и
моделировании / В. П. Дьяконов. – М. : СОЛОН-Пресс, 2005. - 472
с.
14. Дьяконов, В. П. MATLAB 6.5 SP 1/7/7 SP1/7 SP2 Simulink 5/6.
Инструменты искусственного интеллекта и биоинформатики /
В. П. Дьяконов, В. В. Круглов. – М. : СОЛОН-ПРЕСС, 2006. – 195
с.
15. Коваленко
Т.А.
Анализ
алгоритмов
маршрутизации
в
вычислительных сетях [Текст] / Т. А. Коваленко // Глобальный
научный потенциал – 2011. – № 9. – С. 41-45.
16. Коваленко, Т.А. Интегрированная система маршрутизации в
компьютерных
сетях.
/Т.А.
Коваленко//
Монография/
LA
LAMBERT Academic Publishing GmbH & Co. KG ISBN:978-3-65915123-1
17. Коваленко, Т.
А. Исследование статической маршрутизации с
помощью нечеткой логики / Т. А. Коваленко // XVII Рос. науч.
конф. проф.-препод. состава, науч. сотрудников и асп. : сб науч.
тр. – Самара : ПГАТИ, 2010. – С. 165.
18. Коваленко, Т. А. Эффективное сетевое подключение компьютеров
посредством протокола РРР / Т. А. Коваленко // XVI Рос. науч.
106
конф. проф.-препод. состава, науч. сотрудников и асп. : сб. науч.
тр. – Самара : ПГАТИ, 2009. - С. 11.
19. Математическая модель А. Н. Тихонов [Электронный ресурс] /
книги БСЭ Режим доступа:
http://slovari.yandex.ru/~книги/БСЭ/
Свободный – Загл. с экрана
20. Книги
БСЭ
[Электронный
ресурс]
Режим
http://twt.mpei.ac.ru/ochkov/VPU_Book_New/mas/index.html
Свободный – Загл. с экрана
107
доступа:
Документ
Категория
Без категории
Просмотров
6
Размер файла
2 068 Кб
Теги
posobie, vychislitelnoe, tehnologii, kovalenko, solodova, tehnika, ch2, uchebnoy, khlestkin, informacionn
1/--страниц
Пожаловаться на содержимое документа