Тема 3.5 Вычислительные и микропроцессорные устройства

Содержание программы

Особенности построения микропроцессорных систем. Применение вы­числи­тельных средств в системах управления. Контроль работы вычислитель­ных средств.

 

Методические указания

При рассмотрении темы следует дать определение микропроцессорной системе (МПС); рассмотреть ее структурную схему и дать назначение блоков и магистралей МПС.

Под вычислительной системой (ВС) понимают совокупность технических средств (устройств для обработки данных, устройств памяти, периферийных устройств) и специальных программ, поставляемых вместе с аппаратурой.

Вычислительная система, решающая задачи управления, называется кон­тролле­ром.

Большинство ВС относится к восстанавливаемым системам, таким, в ко­торых возможно устранение неисправности и ее последствий.

Возможные ошибки (сбои) вычислительной машины можно разделить на систе­матические и случайные.

Ошибки в процессе вычислений во время наладки, ремонта и профилак­тики об­наруживаются средствами контроля ЭВМ -совокупностью средств, пре­дусмот­ренных в аппаратуре ЭВМ и (или) в программах. Поэтому средства кон­троля подразделяются на программные и аппаратные.

Программный контроль ЭВМ состоит из программно-логического кон­троля и (или) тестового контроля выполнения предусмотренных зависимостей или со­стояний.

Аппаратный контроль ЭВМ осуществляется с помощью встроенного в ЭВМ оборудования.

Следует рассмотреть следующие аппаратурные методы контроля: контроль па четность-нечетность; контроль по совпадению; контроль с исправлением одиночной ошибки, допущенной при передаче; метод дублирования оборудова­ния: контроль арифметических операций.

Следует рассмотреть следующие программные методы контроля: контроль правильности ввода информации; контроль с помощью двойных просчетов; контроль алгоритма; контроль про­граммы по счетчику времени; контроль с по­мощью тестовых задач.

 

Контрольные вопросы

1Объясните структурную схему МПС. Данте определение ВС.

2 Какие ВС называются восстанавливаемыми?

3 Чем обусловлены систематические ошибки?

4 Чем вызваны случайные ошибки?

5 Чем обнаруживаются программный контроль ЭВМ?

6 Как осуществляется программный контроль ЭВМ? Перечислите про­граммные методы контроля и разъясните их суть.

7 Как осуществляется аппаратурный контроль ЭВМ? Перечислите аппара­турные методы контроля и разъясните их суть.

 

Тема 3.6 Основы программирования

Содержание программы

Классификация языков программирования. Понятие алгоритма про­граммы, его свойства. Типы алгоритмов. Способы описания. Простые, цикличе­ские, ветвя­щиеся алгоритмы. Характеристики программ. МП. Назначение, со­став, струк­турная схема. Работа МП. Система команд. Составление и отладка программ.

 

Методические указания

Для первых программно-управляемых машин разработка программ велась применительно к решению конкретных задач. Связь пользователя с машиной состояла всего из двух уровней: система команд машины - программа пользова­теля. Команды и их операнды имели непосредственные адреса.

В дальнейшем процесс программирования был усовершенствован путем приме­нения метода символических адресов.

Участки программ, повторяющиеся в одной программе или являющиеся об­щими для различных программ, могут быть записаны в программе отдельным блоком, а в ходе выполнения основной программы их можно вызвать по мере необходимости и исполнять. Такие программные блоки называются подпро­граммами основной программы.

Если подпрограммы должны использоваться в различных программах, то они и могут храниться отдельно от программ. В этом случае их называют стан­дарт­ными программами. Большинство из этих программ считаются элементами ал­горитмических языков высокого уровня и используются в качестве встроен­ных функций языка.

Анализ выполнения программ показал, что для реализации одной про­граммы нет необходимости, чтобы все устройства ЭВМ работали параллельно. Возникла идея распараллеливания некоторых устройств для одновременного решения не­скольких задач. Для обеспечения такой работы ЭВМ необходимы дополнитель­ные программные и аппаратные средства. Программное дополнение к ЭВМ об­разовало вместе с ЭВМ исполнительную систему, а программное обеспечение ЭВМ стали называть при этом общесистемным.

В состав общесистемного обеспечения ЭВМ входят системы: операцион­ная, ввода, вывода, обслуживающих программ, программирования.

Пакеты прикладных программ — это система прикладных программ, предназна­ченная для решения задач определенного, класса.

В цепи пользователь - ЭВМ есть еще один уровень иерархии система ма­шинных команд - общесистемное программное обеспечение - пакеты приклад­ных про­грамм - программа пользователя.

По способу реализации входного задания пакеты могут быть обрабаты­вающие и производящие.

Языки программирования для микроЭВМ можно разделить на три основ­ных уровня:

- машинные языки - являются языками нижнего уровня, языками цифр, они не­удобны для описания вычислительных процессов и требуют от програм­мистов больших усилий при написании и отладке программ;

- алгоритмические языки высокого уровня (БЕЙСИК, ПАСКАЛЬ и другие) за­нимают верхнее положение в иерархии языков программирования. Они обеспе­чивают естественную описания вычислительных процессов, но не всегда позво­ляют в полной мере реализовать технические возможности ЭВМ. Кроме того требуется перевод программы с языка высокого уровня в машинные коды;

- языки ассемблера занимают промежуточное положение между машин­ными языками и языками высокого уровня и объединяют в себе некоторые дос­тоин­ства самого нижнего и самого верхнего уровней языков программирования.

Каждый язык ассемблера является машинно - зависимым языком и отра­жает ап­паратные особенности той микроЭВМ, для которой он создан.

Под программированием понимают процесс подготовки задачи, дающий воз­можность решить задачу на машине.

Указание о выполнении тех или иных операций задается машине с помо­щью ко­манд. Команда - это предписание, определяющее порядок работы ма­шины в те­чение некоторого отрезка времени. Совокупность последовательности команд, представляющая алгоритм решения задачи на языке операций конкрет­ной ма­шины, называется программой вычислений.

По своей структуре программы могут быть линейными, циклическими и ветвя­щимися.

У большинства существующих реализаций ассемблера нет интегрирован­ной среды как у языков высокого уровня. Поэтому для выполнения всех функ­ций по вводу кода программы, ее трансляции, редактированию и отладке необ­ходимо использовать отдельные служебные программы, большая часть которых входит в состав специализированных пакетов ассемблера.

Выделяют четыре шага разработки программы на ассемблере. На первом шаге, когда вводится код программы, можно использовать любой текстовый редактор. Основным требованием к нему является то, чтобы он не вставлял по­сторонних символов.

Программы, реализующие остальные шаги схемы, входят в состав про­граммного пакета ассемблера. Большую популярность на рынке ассемблера для процессоров Intel имеют два пакета:

-«Макроассемблер» MASM фирмы Microsoft;

-Turbo Assembler TASM фирмы Borland.

У этих пакетов много общего. В эти пакеты входят трансляторы, компо­новщики, отладчики и другие утилиты для повышения эффективности процесса разра­ботки программ на ассемблере.

При программировании на языке ассемблер вместо двоичных кодов ис­поль­зуются их символические буквенные обозначения – мнемоники. Мнемо­ники представляют сокращенное название английских терминов, обозначающих смысл операции. Применение символических обозначений освобождает про­граммиста от необходимости запоминать большое число двоичных кодов ма­шинных команд и следить за адресацией команд и операндов. Мнемоники имеют понятный смысл, позволяющий производить обращения к командам и операн­дам на уровне символических адресов. Все это существенно повышает произво­дительность работы программиста.

Программа на ассемблере состоит из ряда строк, каждая из которых имеет определенный формат и содержит только одну команду. Строка ассемблера со­стоит, как правило, из четырех полей, называемых «метка», «код операции», «операнды», «комментарий»

В поле метки записывается символическое имя, присваиваемое оператору данной строки. Это имя состоит из прописных латинских букв и цифр и одно­значно определяет абсолютный адрес в памяти, по которому данный оператор хранится. После трансляции программы на машинный язык метка автоматически заменяется абсолютным адресом памяти.

Поле метки отделяется от поля кода операции двоеточием. Метка позво­ляет обращаться к нему из любой точки программы..

Поле кода операции содержит мнемоническое обозначение кодов опера­ций – команд микропроцессора и содержат до десяти букв и специальные сим­волы. Мнемоники кодов операций приведены в системе команд микропроцес­сора.

Поле кода отделяется от поля операндов одним пробелом.

Поле операндов содержит один или два операнда, разделяемые запятой. В качестве операндов могут использоваться численные или символьные кон­станты, имена, выражения.

Поле комментария начинается с разделителя – точки с запятой и содер­жит краткое пояснение действий, осуществляемых данной командой. Для хоро­шего понимания программы комментарий должен быть полным и понятным.

Содержание поля комментария полностью игнорируется программой, по­этому в поле комментария можно помещать любой текст.

Следует отметить, что некоторые поля строки ассемблера могут быть пус­тыми – не содержать никакой информации. Преобразование (трансляция) мне­моник в двоичный код осуществляется специальной программой-транслятором ассемблера.

Редактор текста: представляет собой программу, предназначенную для создания исходных программ. Программа, независимо от используемого языка программирования, представляет собой текстовый файл, которому присваива­ется какое-либо имя и записывается на диск. При необходимости корректировки исходной программы файл снова загружается в буфер. Редактор текста имеет ряд полезных команд, с помощью которых осуществляется корректировка про­граммы с помощью курсора, перемещая который по тексту можно внести в про­грамму необходимые дополнения.

Трансляция программы: исходный текст программы на ассемблере подго­товлен и записан на диск. Следующий шаг – трансляция программы. На этом этапе формируется объектный модуль, который включает в себя представление исходной программы в машинных кодах и некоторую другую информацию, не­обходимую для отладки и компоновки его с другими модулями.

Трансляторы ассемблера входят в состав программного обеспечения боль­шинства современных ЭВМ для облегчения составления программ.

Для получения объектного модуля исходный файл необходимо подверг­нуть трансляции при помощи программы tasm.exe из пакета TASM.

Обязательным аргументом командной строки является имя_исходного_файла. Этот файл должен находиться на диске и иметь расши­рение .аsm.

Объектный модуль записывается на диск, а на экране монитора появля­ются файлы объектного модуля.

Компоновка программы: программа, созданная с помощью транслятора, явля­ется неподготовленной для ее загрузки и ее последующего выполнения. Бо­лее того, в ряде случаев большая исходная программа подразделяется на не­сколько модулей, разработка которых производится не одним, а группой про­грамми­стов. В этом случае размер каждого модуля остается неизвестным пока не за­кончится его разработка.

Компоновка обеспечивает объединение и форматирование всех объектных модулей в единый загрузочный модуль и обеспечивает привязку этого мо­дуля к фактическим адресам загрузки конкретной МП-системы.

Компоновщик устанавливает взаимные связи модулей, поэтому его часто на­зывают редактором связей.

Сформированная компоновщиком единая объектная программа обрабаты­ва­ется загрузчиком. В результате создается программа, предна­значенная для не­посредственного использования в конкретной МП-сис­теме.

Отладка программы: разработка программ – это сложный процесс с неиз­бежными ошибками, которые необходимо корректировать.

Наиболее элементарные ошибки, вызванные неправильным синтаксисом, как правило хорошо обнаруживаются на этапе трансляции исходной про­граммы.

Значительно сложнее обнаружить логические ошибки, которые проявля­ются только при исполнении программы на машинном языке в конкретной МП-системе.

Последний этап – отладка программы, которая позволяет выполнить про­грамму в пошаговом режиме, в режиме прерываний (остановов) по кон­троль­ным точкам, в режиме трассировки(последовательное исполнение программы). В этих режимах эффективно обнаруживаются ошибки и ана­лизируются их при­чины при работе программ.В пошаговом режиме вы­полнение отлаживаемой программы прекращается после каждой команды и возобновляется только по команде оператора.

В режиме трассировки автоматически выполняется вся или часть про­граммы. При этом на экране монитора регистрируются состояния регист­ров микропроцессора после выполнения каждой команды.

В режиме останова место прерывания программы может задаваться в виде адреса команды или операндов, в виде кода команды или операнда, слова со­стояния микропроцессора.

Для отладки программ используются автономные программы-отладчики, ко­торые позволяют определить место и причину ошибки.

Простота использования программ-отладчиков, и их постоянная доступ­ность разработчикам, высокая эффективность делают их важным инстру­ментом программного обеспечения.

Следует рассмотреть следующие характеристики программ: надежность; удобочитаемость; гибкость; мобильность; простота; эффектив­ность.

 

Лабораторная работа №3

Приобретение навыков программирования сложных линейных программ

 

Контрольные вопросы

1 Дайте классификацию языков программирования.

2 Что такое программирование?

3 Что такое команда?

4 Что такое программа?

5 Какова структура программ?

6 Перечислите и поясните этапы отладки программ.

7 Поясните основные характеристики программ.