LRCross (Весь материал к лабораторной работе №6 по ВС и МПТ)
Описание файла
PDF-файл из архива "Весь материал к лабораторной работе №6 по ВС и МПТ", который расположен в категории "". Всё это находится в предмете "вычислительные сети и системы" из 7 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "вычислительные системы и микропроцессоры" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
Московский авиационный институт(Государственный технический университет)А. В. БруханскийЛАБОРАТОРНАЯ РАБОТАРАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МИКРОПРОЦЕССОРНОЙСИСТЕМЫ НА БАЗЕ МП К580ВМ80 (INTEL 8080)Методическое пособие по курсу«Вычислительные системы и микропроцессоры».Москва - 2008–2–Цель работы – изучение основных принципов разработки программногообеспечения микропроцессорных устройств обработки сигналов и средствавтоматизации программирования, реализованных на универсальных ЭВМ.1. Общая характеристика программных средств, используемых при разработкемикропроцессорных систем.Требование сокращения сроков создания микропроцессорных систем обработкирадиолокационной и радионавигационной информации определяет необходимостьавтоматизации этого процесса.
Существенно ускорить разработку подобных системпозволяют как специальные аппаратно-программные отладочные комплексы, так ипрограммные средства, реализованные на ЭВМ различных типов.Программные средства, подготовленные для использования в проектируемоймикропроцессорной системе, а также уже эксплуатируемые на базе ее аппаратуры иоблегчающие подготовку новых программ, называются резидентным программнымобеспечением. Программные средства, реализованные и эксплуатируемые навнешней ЭВМ и облегчающие разработку программ и аппаратной частимикропроцессорной системы, носят название кросспрограммного обеспечения.Универсальные ЭВМ, обладающие развитой операционной системой, широкимнабором сервисных программ, значительным объемом оперативной и внешнейпамяти, представляют большие возможности разработчикам микропроцессорныхсистем.
Основными компонентами кросспрограммного обеспечения являютсяследующие программы: трансляторы, интерпретаторы, редакторы связей(компоновщики), загрузчики, отладчики, редакторы текстов, эмуляторы.Трансляторы обеспечивают перевод программы, написанной на языкеассемблера или языках высокого уровня, например, Фортране, PL/M, Паскале,Бейсике, в последовательность кодированных команд конкретного микропроцессора.Результатом работы транслятора является объектный модуль – программа в кодахмикропроцессора, содержащая обычно некоторую служебную информацию обобращениях к отсутствующим в ней подпрограммам, о точках входа в программу и т.п.Транслятор с машинно-ориентированного языка ассемблера называют ассемблером,а трансляторы с языков высокого уровня – компиляторами. Хотя языки высокогоуровня существенно упрощают процесс программирования, однако приводят к менееэффективным программам.
Эти программы занимают на 15-200% больше памяти итребуют для выполнения на 15-300% больше времени, чем программы, написанныена ассемблере опытным программистом [2]. В микропроцессорных системахобработки сигналов резерв времени на выполнение необходимых операций, какправило, невелик, а объем памяти ограничен, что является решающимобстоятельством в пользу составления программ на ассемблере. К тому жеассемблер является единственным языком, обеспечивающим полный доступ ко всемпрограммно-управляемым компонентам микропроцессорных систем.Интерпретаторы позволяют выполнить программу, написанную наалгоритмическом языке, минуя этап ее трансляции – путем ее построчного ввода,различения операторов исходного языка и их последовательного выполнения.Использование интерпретаторов налагает определенные ограничения на конструкциии запись операторов исходного языка. Наиболее удобен для интерпретации языкБейсик. Объем программы интерпретатора обычно невелик, а его использование винтерактивном (диалоговом) режиме отладки программы весьма удобно, чтоспособствует его распространению на микро-ЭВМ.
Однако многократное выполнениепрограммы, что требуется в системах обработки сигналов, средствами ее–3–интерпретации нецелесообразно, ввиду невысокой скорости этого процесса. Всоставе кросспрограммного обеспечения интерпретаторы позволяют выполнитьпрограмму, подготовленную для микропроцессорной системы, на ЭВМ с другимнабором команд.Редакторы связей или компоновщики объединяют несколько объектных модулей,созданных транслятором, в загрузочный модуль, полностью готовый к выполнению. Внекоторых случаях, особенно при программировании на ассемблере, когда программане содержит обращений к подпрограммам, транслируемым отдельно, использованиередактора связей может быть не обязательным.Загрузчики обеспечивают занесение загрузочного модуля, хранящегося обычно навнешнем накопителе, в оперативную память ЭВМ или микропроцессорной системы.Если загрузочный модуль подготовлен в абсолютном формате, т.е. с указаниемконкретных адресов ячеек памяти, то загрузчик помещает его в строго определенноеместо.
Если же загрузочный модуль является перемещаемым, то загрузчик помещаетего в произвольную свободную область памяти, предварительно настроив адреса,указанные в модуле по выбранному месту памяти.Использование отладчиков ускоряет процесс поиска и устранения ошибок впрограмме. С их помощью можно приостановить выполнение программы в любойточке, вывести на печать содержимое регистров микропроцессора и произвольныхячеек памяти, организовать автоматическое слежение за изменением содержимогоопределенных областей памяти и порядком выполнения операторов программы.Отладчики позволяют также выполнять программу в пошаговом режиме.Редакторы текста предназначены для ввода текста программы с клавиатурыдисплея и внесения в нее изменений.
Перемещая «окно» редактора, через которое«виден» отображаемый фрагмент вдоль текста, легко найти нужное местопрограммы, следить за правильностью вносимых изменений. Редакторы текстовпозволяют вставлять, удалять и изменять отдельные символы и строки программы,переносить фрагменты внутри программы. С их помощью можно автоматически найтифрагмент текста, содержащий требуемое слово или сочетание символов.Программа эмулятор моделирует выполнение команд микропроцессора навнешней ЭВМ с другим набором команд.
С помощью эмулятора можно отлаживатьпрограммы микропроцессорных систем до их воплощения в аппаратуре в условиях,близких к реальным. Программно эмулировать (воспроизводить) можно не толькоработу микропроцессора, но и других элементов микропроцессорной системы –памяти, интерфейсов ввода/вывода информации, контроллеров и других устройств,т.е. моделировать выполнение программы в микропроцессорной системе вполнеопределенной структуры с учетом всех внутренних связей.Требования к управляющим программам микропроцессорных устройств обработкисигналов и методы их оптимизацииМикропроцессорные устройства обнаружения, оценивания и фильтрациисигналов являются специализированными управляющими и вычислительнымиустройствами, аппаратурные и программные средства которых жестко определяютсятребованиями конкретной задачи. Вследствие этого объем их оперативной памятиобычно невелик, программные средства исчерпываются набором управляющихпрограмм, занесенных в постоянное запоминающее устройство (ПЗУ).
Вконфигурации внешних устройств таких систем, как правило, отсутствуют накопителибольшой емкости на магнитных носителях. Эти обстоятельства делают оченьтрудным или вообще невозможным разработку и отладку их программногообеспечения без использования кросс - программных средств.–4–К разработке управляющей программы МП - устройства обработки сигналовприступают после того, как пройден этап формализации задачи и записаныалгоритмы работы устройства. К началу составления программы должен быть выбрантип микропроцессора, решен вопрос о способе обмена информацией со всемивнешними устройствами (программный ввод-вывод, по прерываниям, прямой доступ кпамяти), а также осуществлено предварительное разделение всех выполняемыхустройством функций на выполняемые аппаратурно (специализированнымиустройствами) и выполняемые программно (процессором).Основными исходными данными к составлению управляющих программ МП –устройств обработки сигналов являются: темп поступления входных данных, ихразрядность и формат представления, максимальная задержка с выдачей очередногорезультата обработки (управляющей информации ) или интервал времени,отведенный на обработку всего массива данных, точность (разрядность) результатарасчетов, способ обмена информацией с каждым из внешних устройств, числоисточников прерываний и их приоритеты.
Дополнительными условиями,непосредственно сказывающимся на разрабатываемой программе, являетсямаксимально допустимый объем постоянного и оперативного ЗУ, возможностьприменения средств аппаратурной поддержки вычислений (матричныхперемножителей, функциональных преобразователей), возможность параллельноговыполнения операций в многопроцессорном устройстве.Ряд исходных данных может быть уточнен в ходе составления программы,например, выбор способа обмена с внешними устройствами, разделение функций напрограммно и аппаратурно выполняемые, в зависимости от соотношения требуемогои фактического времени выполнения разработанной программы.
В целом нужностремиться к максимальной загрузке процессора за счет отказа от дополнительныхаппаратурных средств, а также к сокращению времени выполнения программы иобъема занимаемой памяти. Эти характеристики управляющей программыопределяют ее эффективность.Стремление повысить эффективность программы диктует использованиеассемблера вместо языков высокого уровня, оптимизацию режима обмена свнешними устройствами, замену сложных в вычислительном отношении операций наболее простые. Например, округление постоянных коэффициентов (множителей) дозначений, кратных целой степени числа 2, позволяет заменить умножение и делениена полноразрядное число совокупностью небольшого числа арифметических сдвигови сложений; операция объединения квадратурных составляющих z=√x²+y² может бытьприближенно заменена выражением z≈max(|x|,|y|)+0.5min(|x|,|y|) или еще болеепростым алгоритмом z≈|x|+|y| и т.д.Сокращение объема программы достигается оформлением совокупностиповторяющихся операторов в виде подпрограммы, однако это ведет к некоторомуувеличению времени ее выполнения.Поскольку команды микропроцессора, связанные с обращением к памяти,выполняются дольше команд, использующих только его рабочие регистры, тосущественного сокращения времени выполнения программы можно добиться за счетминимизации числа обращений к памяти и рационального использования регистров.Так команда прямой загрузки регистра-аккумулятора микропроцессора серии КР580содержит ячейки памяти LDA (см.
Приложение 1) требует для выполнения 13 тактов и4-х обращений к памяти, команда косвенной загрузки регистра MOV R,M – 7 тактов и2-х обращений к памяти, а команда загрузки в пару рабочих регистров двух байт изобласти стека РОР – 5,5 тактов и 1,5 обращений к памяти на 1 загружаемый байт.Использование однобайтных команд с косвенной адресацией и команд работы состеком одновременно сокращает и объем программы.–5–Наконец, радикальным средством сокращения объема программы и времени еевыполнения является применение другого микропроцессора – болеебыстродействующего и с большим числом разрядов.