- •Вычислительная техника и информационные технологии Рекомендуемая литература
- •Логические основы вычислительной техники .1. Понятие функции алгебры логики
- •1.2. Основные законы и тождества алгебры логики
- •Формы задания бф:
- •Пример №1
- •2. Комбинационные цифровые устройства
- •2.1. Понятие и последовательность синтеза
- •2.2. Способы задания кцу
- •2.3. Вывод минимальной фал
- •2.4. Базисы и минимальные базисы
- •2.6. Типовые кцу
- •4. Последовательностные цифровые устройства
- •4.1. Понятие и способ задания пцу
- •4.2. Понятие и классификация триггеров
- •4.3. Типовые триггеры
- •Встроенная память/кэш
- •5. Преобразователи сигналов
- •7. Принципы управления микропроцессора.
- •7.1. Классификация микропроцессоров.
- •7.2. Декомпозиция мп.
- •7.3. Принцип аппаратного управления ("жёсткой" логики).
- •7.4. Принцип микропрограммного управления (гибкой логики).
- •7.5. Способы формирования сигналов управления
- •Код номера
- •7.6. Операционное устройство мп.
- •7.7. Обобщённая структурная схема мп.
- •8. Элементы архитектуры мп.
- •8.1. Структура команд.
- •8.2. Способы адресации, основанные на прямом использовании
- •Номера реги- стров
- •Число 4527
- •Адрес 1765
- •8.3. Способы адресации, основанные на преобразовании кода команды.
- •8.4. Понятие вектора состояния мп.
- •8.5. Понятие системы прерывания программ.
- •8.6. Характеристики системы прерывания.
- •8.7. Способы организации приоритетного обслуживания
- •Счётчик
- •Счётчик
- •Компаратор
- •Код маски
- •8.8. Процесс выполнения команд. Рабочий цикл мп.
- •8.9. Конвейерная обработка команд и данных.
- •8.10. Особенности risc-архитектуры.
- •Регистры глобальных переменных
- •9.1. Способы обмена данными между устройствами
- •9.2. Методы передачи информации между устройствами
- •Общая шина
- •Регистр адреса
- •Цепи данных
- •Интерфейс пу
- •Канал ввода-вывода
- •Канал ввода-вывода
- •Данные от процессора
- •Данные в процессор
- •Регистр передатчика очищен
- •Регистр приёмника заполнен
- •10. Программное обеспечение мпс.
- •10.2. Алгоритмизация задач и язык sdl.
- •10.3. Уровни языков программирования.
- •10.4. Средства разработки прикладных программ.
- •10.5. Средства отладки прикладных программ.
- •10.6. Понятие надёжности мпс.
- •10.7. Контроль передачи информации.
- •10.10. Взаимодействие систем технического обслуживания.
- •Ш. Цифровые сигнальные процессоры
- •3.1. Структура цсп tms320c6x
- •3.2. Структура командной строки ассемблера tms320c6x
- •3.3. Особенности команд для чисел с фиксированной запятой
- •3.4. Ограничения целостности ресурса
- •Сетевые информационные технологии
- •11.1. Локальные вычислительные сети
- •11.2. Аппаратная база компьютерной телефонии
- •11.3. Глобальные сети
- •11.4. Основы защиты информации
- •Приложение. Система команд tms320с6х для чисел с фиксированной запятой
- •Команды пересылки данных
10.4. Средства разработки прикладных программ.
В процессе разработки прикладных программ можно выделить несколько основных этапов:
Создание текстового файла, т.е. написание исходного текста программы на выбранном языке программирования в соответствии с предварительно разработанной схемой алгоритма.
Трансляция (компиляция) исходной программы для получения объектного файла или объектного модуля. Использование понятия модуля подчёркивает тот факт, что текстовый файл программы может содержать несколько частей (модулей), допускающих автономную трансляцию на машинный язык.
Компоновка (объединение) объектных модулей в единый загрузочный файл с учётом характеристик используемых аппаратных средств.
Загрузка программы в оперативную память и её исполнение.
При необходимости корректировки (редактирования) исходной программы соответствующий файл загружается из постоянной памяти в буфер ЭРТ.
Отредактированный текст может быть снова переписан в постоянную память в виде файла.
Редактор оперирует исходной программой как текстом, не учитывая синтаксиса (набор грамматических правил) языка программирования, на котором составляется данная программа.
Это позволяет использовать один и тот же редактор текста для создания и модификации программ, написанных на разных языках программирования.
Транслятор ассемблера и компилятор – это специальные программы, предназначенные для трансляции исходной программы с языка ассемблера или одного из языков высокого уровня, соответственно, на машинный язык.
В результате работы этих программ текстовые файлы преобразуются в объектные файлы, содержащие машинные (или объектные) коды соответствующих операторов используемых языков программирования.
Кроме того, транслятор ассемблера и компилятор могут выдавать листинги исходной и объектной программ, сообщения об ошибках и другие виды диагностической информации.
Трансляторы ассемблера могут быть автопрограммами (или резидентными), а также кросс-программами.
Транслятор ассемблера, реализованный непосредственно на МПС, для которой производится трансляция исходной программы в объектную программу, называют автоассемблером или резидентным ассемблером.
Если исходная программа, написанная для одной МПС, транслируется в объектную на другой МПС, то такие трансляторы ассемблера называют кросс-ассемблерами.
Особенностью компиляторов языков высокого уровня является автоматическая оптимизация исходной программы, но только с точки зрения скорости вычислений, не учитывая особенностей архитектуры конкретного МП.
Последнее обстоятельство обусловлено одним из основных требований, предъявляемых к компиляторам языков высокого уровня: универсальность, т.е. независимость от типа МП.
Поскольку компилятор отделяет МП от программиста, то последний не может применять приёмы эффективного программирования языков низкого уровня.
В результате объём объектных программ, полученных с помощью компилятора, увеличивается примерно на (20…40)% по сравнению с объёмом программ, полученных с помощью транслятора ассемблера.
Таким образом, сокращение времени разработки прикладных программ за счёт использования языков высокого уровня связано с увеличением объёма объектных программ.
Из всех методов трансляции ассемблера и компиляции наибольшее применение получила двухпроходная схема. Трансляция происходит путём двухразового считывания исходной программы.
При первом проходе производится просмотр каждой строки с целью формирования таблицы имён (меток, мнемоник команд, директив и т.п.), встречающихся в исходной программе, а также адресов или численных значений.
Полученные данные анализируются на предмет соответствия синтаксису данного языка и на экран дисплея выводятся сообщения об обнаруженных ошибках в синтаксисе языка и перерасходе ресурсов транслятора по числу переменных, меток, констант.
При втором проходе все строки программы просматриваются вновь, но теперь с целью трансляции на машинный язык каждой команды и используемых данных, а также анализа на предмет соответствия семантике данного языка.
В результате формируется объектная программа, а на экран дисплея выводятся сообщения об обнаруженных ошибках в семантике языка.
Наконец два последних этапа - компоновщики и загрузчики.
Объектная программа, созданная транслятором ассемблера или компилятором, как правило, не учитывает физические адреса загрузки программы в микропроцессорной системе, т.е. является неподготовленной для её загрузки и последующего выполнения.
Кроме того, в ряде случаев большая исходная программа подразделяется на несколько исходных модулей, разработка которых производится разными программистами.
В этом случае размер каждого модуля остаётся неизвестным до тех пор, пока не закончатся его разработка и отладка.
Так вот, формирование единого загрузочного модуля (т.е. программы, готовой для загрузки и последующего исполнения) из нескольких объектных модулей и привязка этого модуля к фактическим адресам загрузки конкретной МПС осуществляется программами компоновщика и загрузчика, соответственно.
Компоновщик обеспечивает объединение или компоновку всех объектных модулей в единый модуль.
Это объединение происходит посредством установки соответствия между входными и выходными адресами каждого объектного модуля, т.е. установления их взаимной связи.
Поэтому компоновщик часто именуют редактором связей.
Загрузчик устанавливает фактические адреса размещения в памяти МПС единой объектной программы, сформированной компоновщиком.
В результате создаётся программа, готовая для непосредственного использования в конкретной МПС.
Нередко программы компоновщика и загрузчика объединяются в единую программу.