Языки программирования: классификация, виды. Виды программ: Исходная, объектная, рабочая. Отладка программы.

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

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

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

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

Машинный язык — язык низкого уровня. Для него характерна высокая степень детализации шагов. Это единственный язык, который непосредственно воспринимает, «понимает» микропроцессор. Язык представляет собой систему команд, выраженных в двоичных кодах, или систему инструкций.

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

Оправдано составление на машинном языке простых программ. Такие программы могут быть написаны с минимальной затратой времени и использованием малого объема памяти.

К достоинствам машинного языка относят: сравнительно высокую производительность при написании короткой программы (примерно до 250 байт), минимальный объем занимаемой ею памяти, непосредственный ввод результатов в устройство подготовки данных ППЗУ, возможность обходиться без дополнительных аппаратных средств, отсутствие необходимости расходовать машинное время для трансляции программ (сущность трансляции поясняется ниже). Недостатками этого языка являются: большая трудоемкость и низкая производительность составления объемных программ, высокая вероятность ошибок и сложность их выявления, трудности развития или сокращения ранее написанных программ [31].

Язык ассемблера (от англ. to assemble — собирать, компоновать) — это символическое представление машинного языка. Команды языка ассемблера позволяют существенно упростить составление, чтение и отладку программ функционирования микропроцессорной системы по сравнению с командами на машинном языке. Язык ассемблера, образованный в результате мнемонического (от греч. mnemonikon — искусство запоминать) или символического кодирования, считают наиболее простым языком программирования. Имеется практически взаимооднозначное соответствие между командами языка ассемблера и машинными командами микропроцессора. Каждая машинная команда обозначается символом, представляющим собой сокращенную форму полной записи наименования данной команды на английском языке. Символ кодирования названия и содержания команды запоминается и воспринимается намного легче, чем сочетание нулей и единиц. Примеры типичных операций и их мнемонических обозначений приведены в табл. 1.

При записи полного набора команд программы мнемонические обозначения применяют как для кода операции, так и для операндов и их адресов (последние представляются символическими именами).

Так как микропроцессор «понимает» только язык двоичных кодов, то необходим языковый транслятор [от англ. Translator — переводчик (с одного языка на другой)], преобразующий программу, написанную на определенном языке программирования, в машинные коды. Подготовка программы на машинном языке путем замены символических названий операций на машинные коды и символических адресов на абсолютные или относительные адреса называется ассемблированием (абсолютный адрес — это адрес, который непосредственно определен в самой команде; относительным называют адрес, определяемый относительно адреса счетчика команд: для получения адреса oпeранда указанный в команде адрес суммируется с содержимым счетчика команд). Программист получает распечатку программ, называемую листингом, который содержит и исходную, и транслированную программы.

 

Операция Английское наименование Мнемоническое обозначение
Записать в память Сложить Вычесть Переслать . Загрузить Увеличить на 1 Уменьшить на 1 Логическое И Логическое ИЛИ Исключающее ИЛИ Сравнить два числа Сдвинуть влево на 1 разряд STORE ADD SUBSTRACT MOVE LOAD INCREMENT DECREMENT AND OR EXCLUSIVE OR COMPARE ROTATE LEFT in CARRY ST AD SUB или SU MOV LD или L INR DCR AN OR XOR или XO CMP RLC

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

Язык ассемблера — наиболее распространенный язык программирования. Его главное преимущество заключается в возможности эффективного использования особенностей микропроцессора. Но следует иметь в виду, что этот язык ориентирован на конкретную микро-ЭВМ, микропроцессорную систему. При необходимости работы с другой микро-ЭВМ, относящейся к иному классу машин, язык ассемблера, сохраняя общие свои черты, будет иным. Различия сводятся в основном к терминам, используемым в командах, и способам адресации операндов. Необходимо учитывать специфические особенности конкретного микропроцессора при пользовании языком ассемблера, т. е. программа на нем составляется для микропроцессора определенного типа. Таким образом, язык ассемблера относится к машинно-ориентированным языкам программирования. Из этого следует, что специалист, пишущий программу для данной микропроцессорной системы, должен хорошо знать ее устройство и особенности построения, ясно представлять ее архитектуру.

Программа на языке ассемблера—это последовательность команд (операторов), описывающая решение задачи. Все команды имеют одинаковую структуру. Команда, написанная на языке ассемблера, делится на четыре части, которые называют полями:

Метка Операция Операнд Комментарий.

Кратко охарактеризуем их.

Метка — это имя, присваиваемое тем командам, на которые в программах имеются ссылки. Иначе говоря, помечают те операции, к которым хотят обращаться в программе по ходу ее выполнения. Но так как ссылаются не на каждую команду, то отдельные поля остаются пустыми. Поле метки отделяют» от соседнего поля двоеточием.

Операция — это действие, которое предписывается командой. Поле операции содержит мнемонический код операции.

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

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

Резюмируя изложенное, к достоинствам языка ассемблера следует отнести: легкое восприятие и запоминание символических кодов и ссылок, сравнительно высокую производительность составления программ средней длины (д( 1000 байт), возможность использования средств, облегчающих программирование, относительную простоту изменения программы в процессе ее отладки или при модернизации. Недостатки, с которыми сталкиваются составители про грамм, сводятся к следующему: необходимо изучить правила и форматы языка его машинно-ориентированный характер, требующий знания структуры микропроцессора и микропроцессорной системы, для которой пишется программа; значительные затраты времени на программирование отдельных операций; потребность иметь дополнительную ЭВМ для трансляции программ в некоторых ситуациях

Языки программирования высокого уровня позволяют упростить и ускорить составление программ. Эти языки являются машинно-независимыми, чт( означает возможность использования программы, составленной на подобном, языке, для различных ЭВМ. Различают процедурно-ориентированные и проблемно-ориентированные языки высокого уровня, хотя четкую грань между ни ми провести трудно. Процедурно-ориентированные языки содержат средств; выражения характерных алгоритмических действий: вычисления выражений, про верки условий, выполнение процедур циклических вычислений, включение под программ (подпрограммой называют часть программы, представляющую собой последовательность команд, неоднократно выполняемых в различных раз делах программы). Эти языки освобождают программиста от записи программ, похожих на машинные. Проблемно-ориентированные языки ориентированы на определенные классы однотипных задач и представляют своим пoльзoвaтeля средства определения более или менее широкого набора функций, подлежащих выполнению. Такие языки определяют задание для ЭВМ в терминах функций, которые надо выполнить без детализации шагов, позволяющих осуществить эти функции. Проблемное ориентирование достигается в результате использования пакетов прикладных программ (иначе называемых проблемными или функциональными), т. е. программ, осуществляющих решение задачи, необходимой непосредственно пользователю вычислительной системы.

К языкам высокого уровня относятся:

АЛГОЛ [от англ. Algo(ritmic) L(Language) язык алгоритмов — алгоритмический язык, ориентированный на решение задач численного анализа;

ФОРТРАН [от англ. Formular Translation) трансляция формулы — язык программирования, разработанный специально для решения научных и инженерных задач;

КОБОЛ (от англ. Cobol—от аббревиатуры слов Common business oriented Language — общепринятый деловой язык) — язык, ориентированный на решение экономических, коммерческих задач, связанных с организацией больших массивов и их обработкой;

БЕЙСИК(от англ. Basic — аббревиатуры слов Beginners all purpose symbolic istruction code — универсальный символический код команд для начинающих) — наиболее широко распространенный диалоговый язык, т. е. язык взаимодействия человека с машиной, сравнительно простой в употреблении;

ПАСКАЛЬ (название — в честь известного французского математика, физика и философа Блеза Паскаля, который в 1642 г. сконструировал счетную машину) — язык программирования, ориентированный на обучение программированию как систематической дисциплине, которая основана на ряде фундаментальных понятий, отраженных в этом языке;

ПЛ/1 и ПЛ/М [PL — аббревиатура английских словProgramming Language (язык программирования), а буква М указывает, что язык предназначен для программного обеспечения микропроцессоров — язык для алгоритмизации широкого класса научно-технических и информационных задач (язык ПЛ/М—подмножество языка ПЛ/1), он представляет попытку синтеза лучших свойств Фортрана, Алгола, Кобола, но имеет и ряд новых свойств, существенно расширяющих область его применения;

ЛИСП (от англ.LISP — аббревиатуры слов List Processing — обработка списков) — язык программирования, ориентированный на обработку списков; широко используется для программирования задач искусственного интеллекта. Кроме перечисленных используются и другие языки высокого уровня, в том числе и появившиеся за последнее время.

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

Таким образом, достоинством языков программирования высокого уровня являются значительное сокращение продолжительности написания программы, уменьшение затрат на программирование, возможность использования программы, составленной для одной ЭВМ, при решении этой задачи на другой ЭВМ, более простое управление программами и сравнительно легкая передача в эксплуатацию. Однако следует ясно представлять и недостатки: необходимы программисты высокой квалификации (с большим опытом), нередко — дополнительная затрата средств и времени для трансляции составленных программ на машинный язык, осуществляемой с помощью больших ЭВМ, значительный объем памяти, занимаемый программой, получаемой после трансляции. Учитывая достоинства и недостатки программирования на языках высокого уровня, специалисты полагают, что его следует применять при больших программах (объёмом 1000 байт и более), для опытных образцов и изделий, выпускаемых мелкими сериями, для изделий, намеченных к производству большими сериями, программы составляют программисты высокого класса

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

Исходной называется программа работы микропроцессорной системы (микро-ЭВМ), написанная на языке ассемблера или языке высокого уровня. С помощью транслятора исходная программа преобразуется в объектную программу— программу, представленную на машинном языке. Перевод с языка ассемблера осуществляется с помощью программы ассемблера, а трансляция программы, написанной на языке высокого уровня, в объективную выполняется посредством программы-компилятора После проверки и корректировки объектной программы получается рабочая программа. Указанные программы — исходная, объектная и рабочая — составляют программное обеспечение пользователя.

Для выполнения трансляции исходной программы в объектную, получения рабочей программы и ввода ее в микропроцессорную систему изготовитель микропроцессора или микро-ЭВМ снабжает пользователя набором вспомогательных (служебных, сервисных) программ. Они относятся к системному программному обеспечению, которое разделяют на резидентное программное обеспечение и кроссовое программное обеспечение. Резидентное обеспечение состоит из набора служебных программ, реализованных в той же микро-ЭВМ (микропроцессорной системе), которая будет работать согласно прикладной программе пользователя. Кросс - программное обеспечение — совокупность служебных программ, предназначенных для создания рабочих программ на микро-ЭВМ, отличающейся от той микро-ЭВМ, которая будет выполнять, рабочую программу. В состав кросс-программного обеспечения входят кросс- ассемблер, кросс-компилятор и имитатор.

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

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

Управление функционированием микро-ЭВМ при трансляции, проверке, корректировке и вводе прикладных программ пользователя проводится с помощью резидентной программы-монитора.

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

Отладка программы. При составлении программы могут быть допущены ошибки. Их необходимо выявить и исключить. Эта процедура называется отладкой программы. Для проведения отладки используют аппаратные и программные средства. Как уже указывалось, существует специальная служебная программа-отладчик. Ее записывают в ПЗУ микропроцессорной системы. Отладчик позволяет проверить содержимое ячеек внешней памяти и регистров микропроцессора, которое при необходимости может быть изменено. Если в проверяемой программе указаны контрольные точки, то по достижении такой точки выполнение программы приостанавливается. Программист получает возможность сверить состояние микропроцессорной системы с ожидаемым состоянием и сделать заключение о том, что между какими двумя контрольными точками находится ошибка. Уменьшением расстояния между двумя точками удается локализовать ошибку. Иногда для исправления ошибки программы в нее требуется вставить несколько команд. Такую вставку делают в исходной программе, и после трансляции получается новая версия объектной программы.

Касаясь аппаратных средств, применяемых для отладки, следует сказать об эмуляторе. Под эмуляцией [от англ. Emulation — подражание (примеру)] в вычислительной технике понимают метод приспособления одних вычислительных машин к решению задач, подготовленных для других машин. Иначе говоря, эмуляция — это имитация одной системы средствами другой системы без какой-либо потери функциональных возможностей или искажения получаемых результатов. Эмулятор представляет собой специализированный программируемый контроллер, который при выполнении отладки заменяет микропроцессор в микропроцессорной системе. Подобный блок позволяет без перепрограммирования выполнять на проверяемой микропроцессорной системе программу, использующую коды или способы выполнения операций, отличные от данной микропроцессорной системы.

Ввод программы в память микропроцессорной системы. Если программа находится в ПЗУ, то она в него введена изготовителем и ее изменить нельзя. Однако нередко в составе микропроцессорной системы содержатся ППЗУ или РППЗУ, которые могут программироваться пользователем. Для ввода данных в ячейку запоминающего устройства требуется указать адрес ячейки и помещаемое в нее число.

Управление микропроцессорной системой во время ввода рабочей программы производит программа-монитор.

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

 

 


 

Методы тестирования МПУ. Задачи тестирования и виды контроля. Основные трудности при разработке МПУ. Средства отладки и контроля МПУ: Обычные контрольно-измерительные приборы, Ручные инструментальные средства, Внутрисхемные эмуляторы

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

Под тестированием МПУ будем понимать процесс установления исправности или работоспособности устройства с помощью определенных входных воздействий и анализа соответствующих выходных реакций. Тестирование является одной из основных процедур технической диагностики (контроля), задачами которой являются определение технического состояния объекта контроля и, в случае его неработоспособности — обнаружение и локализация неисправностей.

Совокупность входного воздействия и соответствующей ему выходной реакции называется тестом, а упорядоченная последовательность тестов — тестовой программой. Процедура контроля МПУ состоит из разработки тестовой программы, последующей подачи входных воздействий на контролируемый прибор, наблюдения выходных сигналов и анализа полученных результатов с целью установления годности изделия. Процедура контроля обеспечивает полный (неполный) контроль МПУ, если она обнаруживает любую (не обнаруживает хотя бы одну) неисправность рассматриваемого класса нарушений. Полнота контроля является одним из основных требований, предъявляемых к разрабатываемой тестовой программе устройства. Другим, противоречащие первому требованием, является максимизация скорости контроля, что обычно интерпретируется как минимизация длины тестовой программы. В зависимости от того, что является исходной информацией для создания тестовой программы МПУ, различаются два вида контроля: функциональный и структурный.

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

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

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

Модульный подход предусматривает разбиение МПУ на блоки (модули), для которых по отдельности определяются тестовые программы. Полученные тестовые программы блоков соответствующим образом объединяются (склеиваются), образуя тестовую программу всего МПУ. Одной из распространенных разновидностей модульного подхода является метод «раскрутки», сущность которого заключается в выборе определенной последовательности проверки отдельных блоков МПУ, позволяющей в первую очередь установить исправность узлов МПУ, нарушение функционирования которых может влиять на достоверность результатов контроля последующих узлов.

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

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

Из сказанного следует, что при модульном и системном подходе могут быть использованы и функциональные, и структурные методы контроля.

Особенности тестового контроля МПУ.Формализация методов построения тестов требует разработки математических моделей технических устройств как объектов диагноза и моделей неисправностей, характерных для этих объектов.

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

Основные трудности при разработке МПУ, следующие:

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

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

большая часть процесса обработки информации в МПУ недоступна для наблюдения извне, что в значительной степени затрудняет установление причины отказа;

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

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

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

Поясним сказанное. Сложность тестирования типичной микросхемы оценим на примере микропроцессора КР580ВМ80А. Система его команд состоит из 78 базовых команд (m = 78), длина слова данных п = 8, Общее число тест-комбинаций для проверки МП с учетом всех возможных двоичных наборов для каждой команды определяется равенством С = 2тп == 28*78 = 2624, что в десятичной системе счисления составляет величину С = 10187,84. Предположим, что каждый тест длится 1 мкс (значение почти недостижимое для МП КР580). Тогда на проведение всех тестов потребуется 10181,84 или 3,171 10174-84 лет. Нетрудно оценить реальную достижимость полного контроля такой микросхемы, если примерный возраст Земли оценивается в 4,7-109 лет. Из-за невозможности полного контроля микросхемы микропроцессора проводится ее функциональное тестирование, при котором каждая функция проверяется спривлечением ограниченного множества двоичных наборов.

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





©2015-2017 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.

Обратная связь

ТОП 5 активных страниц!