Специализирани микропроцесорни системи (курс лекции) Учебна година 2008/2009



страница1/4
Дата22.07.2016
Размер0.54 Mb.
  1   2   3   4


СПЕЦИАЛИЗИРАНИ МИКРОПРОЦЕСОРНИ СИСТЕМИ
(курс лекции)


Учебна година 2008/2009
Специалности БКР, ТИ, ТТ

Иван Крумов КУРТЕВ

СЪДЪРЖАНИЕ


стр.

Раздел 1: Сигнални процесори за обработка на аудио сигнали



1.

Сигнални процесори. Архитектурни особености. Апаратни и програмни средства за изпълнение на типичните операции за цифрова обработка на сигнали. Конвейеризация и паралелизъм при сигналните процесори. Сигнални процесори на водещи световни фирми.

3

2.

Специализирани сигнални процесори за обработка на сигнали в звуковия спектър. Конструктивни особености. Реализация на аналогов интерфейс.

9

3.

Методи за обмен на данни. Реализация на паралелни и серийни интерфейси в микропроцесорните системи.

13



Раздел 2: Сигнални процесори за обработка на видео сигнали


4.

Специализирани сигнални процесори за обработка на видео сигнали. Архитектурни особености.

19

5.

Специфични особености на сигналните процесори за обработка на мултимедия.

22

Раздел 3: Специализирани микропроцесорни системи. Мултипроцесорни системи



6.

Стратегии при използване на ресурсите на мултипроцесорните системи. Организация на входно-изходния обмен при мултипроцесорните системи.

27

7.

Изисквания към програмното осигуряване на мултипроцесорните системи.Независимост на данните и начини за осъществяването й. Особености на обектно ориентирани, йерархични и релационни мултипроцесорни системи. Методи за търсене на информация.

30



Тема 1

Сигнални процесори. Архитектурни особености. Апаратни и програмни средства за изпълнение на типичните операции за цифрова обработка на сигнали. Конвейеризация и паралелизъм при сигналните процесори. Сигнални процесори на водещи световни фирми
1. Сигнални процесори:

Сигналните процесори (СП – DSPDigital Signal Processors) са специализирани процесорни устройства за реализация на алгоритми за цифрова обработка на сигнали – аудио и видео. Тяхната поява през 1975 г. е свързана с цифровите филтри. Технологически те представляват интегрални схеми (ИС) на базата на VLSI (Very Large Scale Integration) технологии. Изискванията към тях в сравнение с процесорите на стандартните КС са по-тежки, по-сурови, по отношение на скорост, производителност и консумация на енергия. Това е причината СП да превъзхождат по тези показатели стандартните П за КС. Развитието им като VLSI е подчинено на закона на Мур (“Броят на логическите елементи в един чип се учетворява на всеки 3,5 години, а тактовата честота се удвоява на всеки 3 години”. Съществуват и MSP (Mixed Signal Processor) - това са хибридни сигнални устройства, също VLSI. Развитието на СП е съпроводено с повече нововъведения в проектирането и синтеза – силициева компилация и поведенчески синтез, които по-късно бяха приложени и в стандартните П. Решението тук беше намерено чрез въвеждане на технологията ASIC (Application Specific Integrated Circuits).

Понастоящем можем да твърдим, че СП оказват влияние върху КС и компютърните чипове в следните три направления:


  • Въвеждане на архитектури, ориентирани към реализация на мултимедийни алгоритми. Пример за такава е IA64. Тя е реализирана частично при СП, като това е добре познатата архитектура VLIW (Very Long Instruction Word);

  • Увеличаване броя на функционалните блокове, реализирани в ИС – контролери за ДДП, серийни канали, АЦП, ЦАП, специализирани декодери за GSM телефония – Viterbi. Това доведе до появата на процесори, съдържащи в себе си програмируеми структури – FPGA (Field programmable gate Array), даващи възможност за апаратна реализация на редица аргоритми;

  • Трансфер на чисто апаратна реализация на цели функции и алгоритми към изцяло програмната им реализация. Пример за това може да бъде еволюцията на кодиране на видео сигналите – JPEG, MPEG1, MPEG2, MPEG4, MPEG7. Така отново се стига до ASIC решение. След което цикълът се повтаря.

СП се появяват в днешния си вид – еднокорпусна ИС, през 1979 год. - M.Townsend, съдържаща П+АЦП+ЦАП.
2. Архитектурни особености:

В своето развитие в различните водещи световни фирми, СП в своята архитектура са както на основата на класическата за процесорите архитектура на фон Нойман – например фирмата AT&T, така и на Харвардската архитектура - фирмата NEC с един типичен СП от самото начало NEC7720.

Нека преди това разгледаме една най-обща структура на СП – какви основни блокове трябва да има:

Памет

Операнди


АЛУ

Умножител

Мащабиращо

устройство

Суматор

Фиг. 1.
От схемата се вижда, че освен задължителните в една КС функционални блокове, в архитектурата на СП задължително участват Умножител, Суматор и Мащабиращо устройство. Това са блокове, необходими за цифровата обработка на непрекъснатите сигнали. Освен това паметта тук по обем е максимално разширена – поне 100-ци МВ.

Строгите изисквания за производителност на СП, както бяха споменати по-горе, наложиха тези СП да реализират компютърни архитектури, ориентирани към паралелни изчисления.


3. Апаратни и програмни средства за изпълнение на типичните операции за цифрова обработка на сигнали. Конвейеризация и паралелизъм при сигналните процесори:

3.1. Паралелните изчисления могат да бъдат разгледани в няколко насоки – на няколко йерархични нива.

  • Първото ниво на паралелни изчисления е паралелно изчисление на ниво инструкция – ILP (Instruction Level Parallelism).

Тези архитектури, реализиращи такъв паралелизъм на ниво инструкция, са наречени суперскаларни. На схемата, архитектурата на процесора съдържа в себе си едно устройство за умножение и събиране на числа с плаваща запетая и две устройства за целочислени операции. Тези три устройства могат да работят независимо едно от друго, т.е. да изпълняват до три инструкции паралелно. Така една програма с 12 машинни цикъла може да се доведе до три машинни цикъла или 4-кратно ускорение на тази програма (Фиг. 1.6., стр.11, Л[1]). Ключовият момент за оптимизацията на тази програма е нейното пренареждане. То може да се реализира от СП по два начина:

    • Чрез указания на програмиста, за което е необходим специален синтаксис на Асемблера на съответния СП;

    • Чрез апаратен блок върху процесорния чип – наречен секуенсър (Sequencer) – този блок за пренареждане в реално време е характерен най-вече за процесорите с общо предназначение. Така програмистът е освободен от тази тежка задача, а голяма част от площта на чипа е заета от този нов апаратен блок. Типичен представител на процесорите с общо предназначение тук е процесорът Pentium:










Регистров блок

Регистров блок

Регистров блок












FMULL f3, f14, f27

ADD r3, r4, r7

ADD r48, r63, r62


Фиг. 2.


  • Второ ниво на паралелни изчисления при СП са с елементи на суперскаларната архитектура, за сметка на секуенсъра, който тук обикновено липсва, а на негово място се реализират множество други блокове и устройства, които могат да работят паралелно и повече регистрови банки - всички те значително увеличават производителността на СП. Освен това в СП има конвейери за реализация на инструкции, отнемащи повече от един машинен цикъл.

  • Трето ниво на паралелни изчисления на ниво инструкции е нов вид архитектура, междинна между суперскаларната и архитектура с елементи на суперскаларната архитектура. Тази архитектура е известна под името архитектура с много дълга машинна думаVLIW (Very Long Instruction Word). Първите такива СП са на фирмата Texas InstrumentsTMS320C6xxx. Тяхната архитектура е патентовата под името Veloci TI. При тази технология пренареждането на инструкциите, с цел оптимизиране на програмата се извършва от компилатора.

  • При СП има и една модификация на VLIW (Very Long Instruction Word)’ архитектурата, която предшества, във времето, появата на класическата VLIW SIMD (Single Instruction Multiple Data). Тук паралелизмът е под нивото на машинните инструкции – т.н. subword parallelism. Така се повишава производителността на процесора на база на обработена информация. Реализацията на тази архитектура се извършва чрез инструкции, които съдържат в себе си множество данни с различна дължина, кратна на 8, 16 и т.н. бита, като върху всяка от тези данни се извършва една и съща операция – така тук може да се дефинира, че имаме инструкция, пакетирала в себе си множество данни. Тази архитектура е изпълнена в П с общо предназначение MMX на Intel, цитираните по-горе СП на TI и др.

3.2. Организацията на регистрите в СП е реализирана при разширени изисквания по отношение на връзките между регистрите и операционните устройства. Това е наложено от наличието на множество паралелно работещи операционни блокове (вж. горната Фиг.), всеки от които изисква данните, обработвани от него да бъдат разположени в регистър. За да се избегнат множеството от връзки в този случай – по 2 входа и 1 изход за всеки операционен блок, и при наличието максимум до три паралелно работещи операционни блока, стигащи при някои СП до осем – тези на Texas InstrumentsTMS320C6xxx, регистрите се групират в клъстери и всеки клъстер е свързан с определен операционен блок. Тук има две възможности:

  • Програмно невидима клъстеризация – с ограничено приложение: групирането на регистрите е невидимо за програмиста, като процесорът избира коректния регистър – оттук и забавянето;

  • Програмно видима клъстеризация – тук програмистът знае и използва връзките между регистрите и операционните блокове, като това е проблем на компилатора при VLIW архитектура;

  • Трета възможна организация на регистровите блокове е само за регистрите в СП, във връзка с архитектурата SIMD (Single Instruction Multiple Data). За да се адресират части от регистрите тук, се изисква резервиране на битове за адресация в командите на процесора, добавяне на допълнителна декодираща логика и добавяне на допълнителни портове за връзка с функционалните блокове. Едно от възможните решения е в СП да се изградят множество банки от регистри, които да се обединяват в различни по дължина виртуални регистри. Схемата на това решение е дадена на долната фигура:



и

Четна половина

16 bits
нструкция

Нечетна половина

16 bits
инструкция

→ ←






Преместващ регистър


Фиг. 3.
3.3. Организацията на паметта е с изключително големи изисквания в СП. Тук се разграничават два класа достъп до паметта – вече беше споменато, че тя е максимално разширена, поне няколко стотин МВ:

  • Достъп до паметта с пространствена локализация, но без времева локализация – това е характерно за големи по обем данни, които се прочитат еднократно, какъвто е случаят с видео данните – при тях кадрите например се обработват еднократно от системата. Локализацията е пространствена в смисъл, че данните се четат последователно от паметта, байт по байт, или пиксел по пиксел. Така всяка следваща итерация използва данни от близката околност на пространството от паметта;

  • Достъп до паметта с времева локализация, но без пространствена локализация – това са обикновено данните от речници и кеш-таблици, използвани при компресия и декомпресия на данните. Локализацията е времева, в смисъл, че се извършва многократен достъп до едни и същи масиви от данни, като тук пространствена локализация липсва, защото се извършват последователни във времето итерации с достъп до пространствено отдалечени клетки от паметта.

При СП, поради това, че кеширането на данните се среща рядко, се използва друг подход за намаляване времето за достъп до паметта. Това е идея близка до кеширането – локалната памет.

  • Локална памет – това е част от едно видимо адресно пространство на паметта, предоставено на програмиста. В този случай програмистът поема управлението и използването на тази памет. Така, при компилаторите за езици от високо ниво, наличието на локална памет води до следните промени в тяхната реализация:

  • Реализация на езикови разширения – нова синтактическа конструкция, която определя кога една променлива или данни могат да бъдат разположени или извлечени от локалната памет на СП;

  • Реализации на специални команди или опции на компилатора – това се реализира чрез една от директивите на езика С: #pragma (Фиг. 1.8., стр.16, Л[1]).

3.3.4. Конвейеризацията при изпълнение на инструкциите в СП е един от основните способи за изпълнението и реализацията им.

Тези процесори притежават инструкции, характерни само за тях, а в последствие и взаимствани от П с общо предназначение. Едни от основните и най-характерни класове от инструкции за СП са:



Нека имаме една от най-често използваните математически операции в СП - конволюцията – множество умножения, с последващо сумиране на получения резултат и натрупване:

Z = Z + X*Y.

Най-често тази инструкция се изпълнява за един процесорен такт, но СП разполага с един акумулиращ блок - MAC (Multiply Accumulate), чрез който се реализира тази инструкция.



  • Инструкциите за реализация на цикли са често срещани системите за цифрова обработка на сигнали, като ефективната реализация на циклите е от голямо значение за СП. Тук специализираните инструкции за реализация на цикли са два типа:

  • Инструкции Repeat – група инструкции се изпълняват зададен брой пъти, т.е. могат да се разглеждат като апаратна реализация на цикли от типа for на езика С. Така се спестяват значителен брой процесорни цикли за инкрементиране и сравняване при реализация на циклите;

  • Инструкции Decrement Test-and-Branch – те също се реализират като еднотактови инструкции – като цикли от типа do & while на езика С, като реализират цикли с неизвестен брой изпълнения на тялото им;

  • Инструкции за форматиране на числа – за мащабиране и прилагане различни формати на числа с плаваща запетая, за да се избягват нежелани ефекти от препълване, както и крайната дължина на машинната дума;

  • Специализирани инструкции – в някои СП апаратно са реализирани цели алгоритми от цифровата обработка на сигналите – пример за това е разгледаната технология на кодиране и декодиране Viterbi.

Знаем, че инструкциите за преход при П с общо предназначение са основен източник за спад на ефективността от използване на конвейерни архитектури при използване на секуенсър. При СП, където тази задача е поверена на компилаторите, може да се направи следната реализация: една инструкция за преход става причина за формиране на цикли на изчакване, с цел изпразване на конвейера, за да се осъществи зареждането на новия адрес на инструкцията (Фиг. 1.9., стр.18, Л[1]). Вместо да се изчакат тези два такта, компилаторът може да направи анализ на програмата и да предвиди този преход. По този начин на мястото на празните инструкции в конвейера се поставят други инструкции, с което се извършва оптимизация (Фиг. 1.10., стр.18, Л[1]). Условието тук е конвейерът на процесора да бъде достъпен за компилатора, т.е. СП трябва да има инструкции за управление на конвейера или поне инструкция за подготовка на преход.
4. Сигнални процесори на водещи световни фирми
4.1. Analog Devices
4.2. Motorola
4.3. Texas Instruments
4.4. Atmel

Тема 2

Специализирани сигнални процесори за обработка на сигнали в звуковия спектър. Конструктивни особености. Методи за обмен на данни. Реализация на аналогов интерфейс.
1. Специализирани сигнални процесори за обработка на сигнали в звуковия спектър. Конструктивни особености.

Специализираните сигнални процесори, както беше отбелязано в предните лекции, представляват един чип, произведен по технология VLSI, с вградени в него централен процесор с кеш памет, блок вътрешна памет, блокове регистри – основни и допълнителни, ЦАП – кратни на 2, АЦП – също кратни на 2, модули за поддръжка на паралелната обработка на данните. За съвременните СП шината данни е 32 битова за работа с числа с плаваща запетая и 48 битова шина за инструкции. Захранващото напрежение е +3,5 V, за по-старите модели - +5V. За обработка на сигнали в звуковия спектър не е необходим блок АЦП на изхода на данните, за преобразуването им от цифрови отново в аналогови.

Производителите, наложили се на пазара в областта на СП за обработка на аудио сигнали, са Texas Instruments и Analog Devices. Една примерна функционална схема на такъв СП е схемата на ADSP-2181:



Фиг. 4.
Конструктивните особености на тези СП са съобразени с тяхното приложение. Както вече беше отбелязано, те представляват един монолитен чип с 64 щифта, който директно може да се монтира в обща функционална схема на конкретна информационна система.

Например понастоящем широко разпространените МР3 не представляват нищо друго освен един СП с допълнителна памет, който записва аудио сигнал, чрез своите аналогови интерфейси – ЦАП, след което я възпроизвежда, като цифрово кодираните аудио сигнали през АЦП достигат до човешкото ухо за възприемане.




Фиг. 5.
Освен това, беше отбелязано, че СП за първи път са разработени за приложение като цифрови филтри и като такива, със значително опростена архитектура от останалите си събратя СП, участват в общи електронни модули, където тези СП са една отделна ИС, удобна за монтаж – конвенционален или най-често повърхностен понастоящем.
2. Методи за обмен на данни:

Тук ще се спрем накратко върху обработката на един аудио сигнал, който по своята физическа същност представлява непрекъснат сигнал U(t), чрез цифрови изчислителни структури. За целта е необходимо този непрекъснат сигнал да се представи чрез своите моментни стойности - U(n) на функцията U(t). Или аналоговият сигнал за избран / определен период от време да се изрази от крайно множество моментни стойности, представени в цифров вид. Тук е необходимо да си припомним теорията на цифровата обработка на сигналите в дисциплината “Сигнали и системи” – основни теореми, дискретното и бързото преобразования на Фурие, за да можем правилно да подберем необходимата ни за целта апаратна част, обслужвана от необходимите й програмни продукти.

В резултат на цифровата обработка на непрекъснатия аналогов сигнал се получава множество от цифрови стойности на аналоговия сигнал, което ни дава възможност да обработваме тези цифрови стойности по методи, аналогични по краен резултат на тези, реализирани от аналогови операционни блокове - цифровите стойности да бъдат интегрирани, диференцирани, да се определя нарастване, да се изглаждат по отношение на екстремни стойности, да се интерполират или екстраполират, да се анализират за периодичност или да се подложат на обработка с цел повишаване нивото на полезния сигнал спрямо нивото на шумовите компоненти. Всички тези операции се извършват с универсални или специализирани цифрови устройства и се анализират от гледна точка на точността на получените резултати и възможностите за реализацията им на тези цифрови структури в реално време.

Няколко думи за особеностите при представянето на цифровите сигнали:

Дискретните сигнали са определени САМО в краен брой дискретни моменти n от времето, разделени/отстоящи един от друг с интервал на дискретизация Ts. Така тези моменти се определят от зависимостта: tn = nTs. Приемаме интервала за дискретизация за постоянна величина, при което се получава дискретна стойност на сигнала за всеки момент U(nTs), или с по-просто означение Un или U(n), като Ts се подразбира. Наборът от тези дискретни стойности – на тази цифрова редица представлява съвкупност от дискретни стойности за определен интервал на изменение на дискретизирания сигнал или общият брой дискретни стойности са N. Такива редици от дискретни стойности се описват по два начина:


Освен показаното аналитично представяне, редиците могат да се представят и графично. Трябва да се има предвид следното тук – единичният импулс в дискретните системи е аналогичен на единичния импулс в непрекъснатите системи.

Единичният скок може да се изрази чрез единичния импулс посредством сумата:





U(n) = U(i).

i=0

Така се получава степенна редица, която в общия случай може да се представи чрез умножени по константа и “задържани” единични импулси:





U(n) = a(m)δ(n-m).

m=-∞

Оттук се вижда, защо в архитектурата на СП има задължителни функционални блокове “Суматор” и “Умножител”.

Основните характеристики на СП, разглеждан като дискретна система са дадени в уводните две лекции, като тук само ще подчертаем, че освен функцията конволюция над дискретните редици, се използва и функцията корелация над две дискретни редици – входната редица и импулсната характеристика на линейната цифрова система. Това е подобна на корелацията функция. Корелацията генерира трета редица от двете входни дискретни редици и с тази редица еднозначно определя изходната редица. Наред с тази своя основна задача, корелацията може да решава още две задачи: намиране на импулсната характеристика при зададени входна и изходна редици и втора задача – намиране на входната редица при зададени изходна редица и импулсна характеристика на линейната цифрова система.

При практическата реализация на дискретните системи се налагат някои ограничения, независимо от вида на тази система – с рекурсивна или с нерекурсивна структура:



  • Аналоговият сигнал, при въвеждането му в цифровата изчислителна структура трябва да бъде дискретизиран и квантуван, като моментните му стойности се представят с КРАЕН брой двоични разряди, при което към цифровия сигнал се добавя и шумов сигнал с равномерно разпределение на плътността;

  • Коефициентите, описващи предавателната характеристика на дискретната система, се представят също с КРАЕН брой двоични разряди, съобразени с дължината на машинната дума или с разрядността на специализираното изчислително устройство. Това води до изменение на нулите и полюсите на предавателната характеристика, което задължително трябва да бъде отчетено и анализирано;

  • Предавателната характеристика се реализира чрез последователни умножения на стойностите на входния сигнал с постоянни коефициенти и последващо събиране. Така се получава общ брой на разрядите a+b - a-разряда за цифровата дума и b-разряда за коефициента. Това изисква резултатът на изхода да бъде закръглен или ограничен отново до a-разряда, преди следваща циклична обработка.




  1. Реализация на аналогов интерфейс:

Основната задача при един СП, освен неговата производителност, е тази част от неговата архитектура, която приема непрекъснатия аналогов сигнал и го дискретизира.

Фиг. 6.
Този аналогов интерфейс на входа на СП трябва да е съобразен със следното:

  • Работи се в реално време;

  • Аудио сигналът е в честотния диапазон от 20 Hz до 30 кHz;

  • Цифров филтър, чиято основна операция е да реализира тегловни суми.

Изпълнителните устройства на аналоговия интерфейс по вход са: съгласуващо стъпало за амплитудата и честотата на входния сигнал, аналогово-цифров преобразовател цифрово-аналогов преобразовател – два или кратни на 2, заради честотния обхват и амплитудата на входния сигнал, блок за ДДП, наличие на периферна и допълнителна, освен основната памет, като таймерната система на СП да реализира постъпващите времеви данни.

Изпълнителните устройства на аналоговия интерфейс по изход са: декодиращо устройство, блок за честотна реконструкция на сигнала, блок за честотно разпределение по време, цифрово-аналогов преобразовател – отново два или кратни на 2, поради гореизложените причини, съгласуващо стъпало към стандартен говорител.

При съвременното развитие на технологиите за производство на ИС, се срещат не малко затруднения и се допускат редица компромиси, като се набляга основно на качеството на възпроизводство на аудио сигнала. То е с несравнимо много по-високо качество от това при аналоговата обработка на същия сигнал. Технологиите, прилагани тук включват и задължителното кодиране и последващо декодиране на аудио сигнала. Кодирането се извършва в аналогово-цифровия преобразовател по време на дискретизацията на аналоговия сигнал, като в него се “въвеждат”т.н. служебни думи” и на изхода на АЦП се получава един битов поток. Този битов поток при декодирането първо преминава през блок разделител на битовете на входа на ЦАП, който “отделя” въведените преди това служебни думи от целия информационен битов поток. Така ЦАП преобразува в аналогов непрекъснат сигнал само необходимата информация.

Основни представители на СП за обработка на сигнали в звуковия спектър са: серията СП - ADSP828x на фирмата Analog Devices и серията СП - TMS320C6xx на фирмата Texas Instruments.



  1   2   3   4


База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

    Начална страница