Искусство программирования на Си (984073), страница 59
Текст из файла (страница 59)
График, юмюстрир< юи<ии приме<ге<<не менения; когда ошибка чала, требуется меньшее изче- 40 колффициента Г. колффнциен тон Г и Г<. 0 5 10 15 20 25 ЭО 35 40 45 50 пение. Недостаток чисто пропорционального управле- В алгоритме Р1Р часто используются измененные Член с< в алгоритме Р! 12 часто исклю <ают из вычнс- варианты интегрального <лена 1, когда его накопленное когда ко<ырольное зна <ение равно нулю, умножение использовин<ги толька ко<ффициеюпа пропорц~она~ьности лений во время ускорения или при изменении конт- интсгральное значение обнуляется (если коэффпш<ент Г>броаоп~ко инфра«ил гигназоо яопознитктьниг тат ати«ггкиг раздето ° ! Масть 81 сигналом контрольного значения и стабилизация его на Упреждающая поправка на у скорение добавляет член этом уровне Но это нс всегда так.
Бывают случаи, кот- м — — -+.— к вычисленному значению выходного сипзалв, исходя за да треб>ется точное >правление изменениями перемеп- из прилзененного ускорения, прежде чем это >скорение ной процесса. привелет к появлению ошибки. та та Давайте рассмотрим отучай >правления темпсрату- Др>гой пример упреждающей поправки — упреждарой вн>три хилзического аппарата, в котором протека! ющая поправка на скорость. Эта поправка >лучшает ст реакция. Если температура повышается слишком за ответ переменной процесса на изменения контрольно- м медленно, время расходуется непродуктивно и, возмож- го значения, будь то отдельные скачки или >правляе- ю но, рез>льтат реакции галлее оказывается неудовлство- мое ускорение. рительным. Если температура повышается слишком При обычном управлении РП> интеграл строится до быстро, в реакторе люжст повыситься лавление и выз- " 1 тех пор, пока его зна <ение не становится в точности вать опасность аварии.
1а равнылз значению, необходимому для подлержания та — Г— Ешс один тип > правления, при котором важна ско- ~...Е выходного сигнала на уровне контрольного значения с рооп, изменения переменной процесса, — это управлс- а та та за «а за аа та за аа 1аа учетом коэффициента 1. Когда контрольное значение ° ° - за аа за аа та аа за заа ние движениелз. НапРимеР, пРи УпРавлении движени- РИСУНОК1811,11рофитьгкорогтидаитенинпогтзеиаринт излгеняется и устройство управления пытается реагировать РИСУНОК 18.12.
Пгнзф . д Гнзфиль скорость аижениа при см лифта во избежание травм пассажиров требуется осе! дрЫ на это, построенный итггеграл сопротивляется изменению, испгмьзоаонии отгоритмо упроапенип г упреиг аттими под зова ит, с уп д осуществлять управление сто >скорением. Ешс один пытаясь сохранить старое контрольное значение до тех прилюр — согласование нескольких видов перемещения. УПРВЖДВЮЩИВ ПОПРАВКИ пор, пока накопленные значения ошибок не настроят его Рассмотрилт механическое >стройство, вырсзаюшее ле- д х пор алг >ритмы были реактив- гинтеграл> на новое контрольное значение Попробуйте изменять значения в различных файлах Глава 18 $Щ дилл~лил~елыиемгяптивсглисрпмс и Гезрпнпеллп Чия)рпвих гислпмв Часть П) Глава та Ниже описаны нскоторыс спсшсализированные Арифметическиеоперацииснасыщением почему они не использ>ются в настольных компьюте- РВСШИОЕНИЯ ОсзР В ПРОЦЕССОРаХ ОбЩЕГО свойства аппаратных срелств 05Р, которые делают их Во многих приложениях большой массив ланных нуж- рал? Дело в том, что их оптилшзация ддя ряда случаев назначения в высшей степени эффектинными при вычислениях, лается в изменении путем умножения леления, сложе- применения ведет к повьппению стоимости.
Транзл~стосвязанных с цифровой обработкоп сигнаэов. Однако не ния ил вычи ия одного и того же значе я ля каж- ры, использ>смыв лля реализации функций 05Р, не Несмотря на то что 05Р не подошли бы лля зап>ска все 05Р обладают вссл~и описанными ниже свойствами.
до плече а. Е и ачен я прин сж. л однол из обеспечивают многие обшие ф>нкции, требующиеся современных настольных операционных систем, подобтипов целых значений со знаком, переполнение или настольным операцпоннылз системам и приложениям.
ных >Ншс)оисн или Е)пвл, и их приложении, нскоторыс Инструкция МАС отрицательное переполнение приводит к неопределен- из их ф>нкции нахолят применение в более распрост- НнстР)кциЯ МАС (Мцрир1У Ассцпш!а!е — накопление ном» повелению. Если значения имеют тип целого без Ограничения ыногозядачиости р "—" раненныл процессорах. произведений) — отличительное свойство 05Р. Мно~ие знака, повеление вполне определено, но оказывается нс Современные процессоры обладают такими аппаратны- Вероятно, наиболее известными примерами могут алгоритмы обработки сигназов выполняют с>ммирова- таким, как требуется.
Во всех гпих случаях желательно, лги функциями, как аппаратные менсдхссры памяпь под- сз>жить расширения ММХ и 51М0 компании 1пгс) для нис вы ~исденных произведении, полобно вычислению чтобы при переполнении результат> присвнивалось аержинаюшие виртуальную памяп, и за|диту памяти лля последних процессоров семейства Репбшп. Вослсожнгь нового шачения ныхолного сипсала н програл<лссрга)оор- минимальное или максимальное значение.
В обычных в, полнен нескольких задач и потоков. 05Р нс имеют менее известны инстР»кции А1!!Нес компании Мо)ого1а, В обычном процессоре лля каждого такого шага лотре- процессорах это должно выполняться программой, но такого аппаратного обеспечения и нообшс нс очень пол- нл зючснные в процессоры Рожсг РГ. Все этп инструкбонгшпсь бы, по меньшей мере. две инструкции.
Вна многие 05Р имеют специальные инструкции ныполне- ходят лля обеспечения режима лшогозадачности. ции основываются на опсрациял 1ипа 5)М0 !5ш51с чала дна члена. такие как шаченпе и коэффициент, > л' ния арифметических операций с насышенисм, которые 1пн!гцс!соп, Мц1нр1е 0а!а — олин поток инструкции, ножаются олин на лр>~ои, а затем их произведение решают эту влачу на аппаратном уровне.
Ограниченные типыданных множество потоков ланшь~х), н которых специальныи добавляется к изменяюшеися |потовой сумме. 05Р име- Как правило 05Р имеют единственныи гпп лля прел- Регистр содержит ло четырех значении типа целого или ст инструкцию МАС, которая ца одном этапе перечно- Циклы переполнения нуля ставзснпя дснствитсльных чисел — тип с йеиксирован типа с пэзвансшсй то ~кой одинарнои точности и одна Зачнет>ю вычисления 05Р сопряжены с циклической ной или плаваксшей точкой В )2-разрядных 05р инсгр)кция выполняет олн> и ту жс операцию со все В ЭТОЙ ГЛАВЕ ° Постановка задачи Ян Келли ° Формулировка решения ° Польская нотация 1юфф дпполнитюыме~аеаатиыгхоеяаыезм 6Б ЫЛ Часть ! И фическое изображение, компьютер осуществляет управление Р!П для выполнения операции с жестким писком, выявления и исправления ошибок в переданных и принятых данных и распаковки данных для воспроизведения графического изображения.
Язык С предоставляет все инструментальные средства и функции, необходимые для выполнения любои задачи обработки сигналов — от операций логического И побитового сдвига низкого уровня, используемых при сжатии и обработке ошибок, до сложных вычислений с плавающей точкой в таких приложениях, как алгоритмы управления Р!0. И в заключение был рассмотрен специализированный процессор цифровых сигналов, для чего большинство программистов на С не создают программы непосрелственно. Вы у~пали, чеч такой процессор отличается от более знакомых процессоров настольных компьютеров.
Было показано, как ценой снижения обшей производительности большинства других операций, используемых в программах более общего назначения, компромиссгя в констр>кции процессора Р$Р способствтют повышению производительности при выполнении некоторых специализированных вычислений в процессе обработки сигналов.
Синтаксический анализ и вычисление выражений ° Преобразование из обычной формы в форму обратной польской нотации ° Преобразование нз формы польской нотации в оценочную функцию ° Синтаксический анализ ошибочного ввола При написании программ на я~ыке С мы формируем Итак, *побы написать какое-либо выражение, нсоб 6 $<~яй дооонш~нельныетенионмеекиери<аеьы ( ннмша инеь кии анализ ° 1 часть Ш течение приемлемого времени.
По мере >величения На обычном языке бинарный оператор ' означает ° Лэьтернативы представлены таким образом, что они вил для языка С. Это подмножество не солержнт выра- длины выражений нагр>зка на компиляторы во<ра- умножение, бинарный оператор / означает получение либо размешаются в отдельных строках, лаба для женнй присваивания илп перечислимых констант и стает. Однако время, которое треб>ется компилято- частного, а бинарный оператор % — получение остат- этого используется фраза ане о), которая разл<ешает- позволяет использовать весьма ограниченный набор ру для обработки выражений, не должно возрастать ка ог деления первого операнда на второй; если второй ся после узлового имени.
типов имен в вырах<ениях приведения и<пав. В нил таквместе с увеличением длины выражения по экспо- операнд равен О, тогда результат нс определен. ° Нижний индекс ар< означает, что данный элемент яв- же имеются ограничения на типы целочисленных конненциальному закону (что в действ<цельности про- Такая нотация (запись) нередко называется нор- лястся необязательным. стант и опушен оператор поразрядно<о отрицания. Тем исходило в некоторыл первоначю<ьных вариантах мальной формой или формои Бэкуса-На>ра (БНФ— не менее, они содержат все основные элементы выра- компиляторов). В идеальном сл>чае компиляция Вас)<цв-1~дог Еопп) Она впервые была использована при О понимании синтаксиса женив на С.