Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Отладка микропроцессорных систем 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 [ 65 ] 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

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

8.1.6. Компиляторы

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

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

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



граммы на языке АССЕМБЛЕР или на машинном коде. Во многих случаях увеличение объема требуемой памяти и времени выполнения не вызывает серьезных проблем, так как оно более чем компенсируется относительной простотой разработки прикладных программ.

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

Нет правил, устанавливающих размер программы, когда оправдано применение языка высокого уровня. Многие программисты предпочитают пользоваться ассемблерными мнемониками для программ почти любого размера из-за простоты доступа к данным, ее размещению в памяти и простоты манипуляций битами в слове. Программирование на языке АССЕМБЛЕР не составляет особых проблем при разработке программ объемом до 8К, но при его превышении следует внимательно проанализировать возможность применения языка высокого уровня.

8.1.7. Мекеджер-памяти

Термин менеджер памяти относится к нескольким системным программам, одна из которых при необходимости динамически перераспределяет адресуемое пространство памяти. Менеджер памяти в системе проектирования предназначен для разделения системной памяти между самой системой проектирования и целевой машиной в процессах моделирования и эмуляции. В системе проектирования обычно применяется 8-битный микропроцессор с 16-битной шиной адреса, которая может прямо адресовать любую из 65 536 (64К) ячеек памяти. Чтобы иметь возможность работать с очень большими программами, например с компилятором, система комплектуется памятью максимальной емкости, и поэтому любой выданный ЦП адрес имеет соответствующую ячейку в памяти. Когда к системе проектирования подключается целевая система, которая имеет свою память, то она вступает в



конфликт с ячейками памяти системы проектирования. Для разрешения конфликта предусматривается селективное запрещение работы блоков памяти в системе проектирования и разрешение работы целевой системы. Таким образом, общее пространство памяти разделяется между двумя системами.

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

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

Часто системе проектирования разрешается обращаться к общей памяти только после появления определенных событий, например после контрольного останова в программе. Целевая система при этом переводится в режим останова, и система проектирования обращается к памяти для индикации ее состояния и состояния ЦП после контрольного останова.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 [ 65 ] 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82



ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку.



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.