FMUSER Wirless Verzend video en audio eenvoudiger!

[e-mail beveiligd] WhatsApp + 8618078869184
Taal

    DSP inleidende kennis

     

    Digitale signaalverwerking
    Laten we als case study eens kijken naar de meest voorkomende functie in het digitale domein: filteren. Simpel gezegd, filteren is om het signaal te verwerken om de kenmerken ervan te verbeteren. Filtering kan bijvoorbeeld ruis of elektrostatische interferentie uit het signaal verwijderen, waardoor de signaal-ruisverhouding wordt verbeterd. Waarom een ​​microprocessor gebruiken in plaats van een analoog apparaat om het signaal te filteren? Laten we eens kijken naar de voordelen: de prestaties van analoge filters (of meer in het algemeen analoge schakelingen) zijn afhankelijk van omgevingsfactoren zoals temperatuur. Het digitale filter wordt in principe niet beïnvloed door de omgeving.
    Digitale filtering is gemakkelijk te repliceren binnen een zeer kleine tolerantie, omdat de prestaties ervan niet afhankelijk zijn van de combinatie van apparaten waarvan de prestaties zijn afgeweken van de normale waarde. Als een analoog filter eenmaal is vervaardigd, zijn de kenmerken ervan (zoals het doorlaatbandfrequentiebereik) niet eenvoudig te wijzigen. Als u een microprocessor gebruikt om een ​​digitaal filter te implementeren, kunt u de kenmerken van het filter wijzigen door het opnieuw te programmeren.


    Vergelijking van DSP-processors en processors voor algemene doeleinden
    Beschouw eens een voorbeeld van digitale signaalverwerking, zoals een eindige impulsresponsiefilter (FIR). In wiskundige taal is het FIR-filter een reeks puntproducten. Neem een ​​invoer- en een ordinale vector, vermenigvuldig tussen de coëfficiënt en het schuifvenster van het invoermonster en tel vervolgens alle producten op om een ​​uitvoermonster te vormen. Soortgelijke bewerkingen worden in grote aantallen herhaald in het proces van digitale signaalverwerking, zodat de apparaten die hiervoor zijn ontworpen speciale ondersteuning moeten bieden, wat heeft bijgedragen aan de shunt van DSP-apparaten en algemene processors (GPP):

    1 Ondersteuning voor intensieve vermenigvuldigingsoperaties
    GPP is niet ontworpen om intensieve vermenigvuldigingstaken uit te voeren. Zelfs sommige moderne GPP's hebben meerdere instructiecycli nodig om een ​​vermenigvuldiging uit te voeren. De DSP-processor gebruikt gespecialiseerde hardware om vermenigvuldiging met één cyclus te implementeren. De DSP-processor voegt ook een accumulatorregister toe om de som van meerdere producten te verwerken. Het accumulatorregister is gewoonlijk breder dan andere registers, en extra bits, resultaatbits genaamd, worden toegevoegd om overflow te voorkomen. Tegelijkertijd bevatten bijna alle DSP-instructiesets expliciete MAC-instructies om de voordelen van gespecialiseerde multiply-accumulatie-hardware volledig weer te geven.

    2 geheugenstructuur
    Traditioneel gebruikt GPP een von Neumann-geheugenstructuur. In deze structuur is slechts één geheugenruimte verbonden met de processorkern via een set bussen (een adresbus en een databus). Normaal gesproken vinden 4 geheugentoegang plaats voor één vermenigvuldiging, die ten minste vier instructiecycli in beslag neemt. De meeste DSP's gebruiken de Harvard-structuur, die de geheugenruimte in tweeën verdeelt om respectievelijk programma's en gegevens op te slaan. Ze hebben twee sets bussen die zijn aangesloten op de processorkern, waardoor ze gelijktijdig toegankelijk zijn. Deze opstelling verdubbelt de bandbreedte van het processorgeheugen en, nog belangrijker, geeft tegelijkertijd gegevens en instructies aan de processorkern. Onder deze lay-out kan DSP MAC met één cyclus realiseren
    instructie. Er is nog een ander probleem, namelijk dat de typische high-performance GPP eigenlijk twee on-chip caches bevat, één voor gegevens en één voor instructies, die rechtstreeks zijn verbonden met de processorkern om de toegangssnelheid tijdens runtime te versnellen. Fysiek gezien is de structuur van dit on-chip dual geheugen en bus bijna hetzelfde als die van Harvard. Logischerwijs zijn er echter nog steeds belangrijke verschillen tussen de twee.
    GPP gebruikt besturingslogica om te bepalen welke gegevens en instructiewoorden zijn opgeslagen in de cache op de chip, die de programmeur niet specificeert (of misschien niet eens weet). DSP gebruikt daarentegen meerdere on-chip geheugens en meerdere sets bussen om meerdere toegangen tot het geheugen in elke instructiecyclus te verzekeren. Bij gebruik van DSP moet de programmeur duidelijk bepalen welke gegevens en instructies worden opgeslagen
    In geheugen op de chip. Wanneer een programmeur een programma schrijft, moet hij ervoor zorgen dat de processor zijn dubbele bus effectief kan gebruiken. Bovendien hebben DSP-processors nauwelijks datacaches. Dit komt doordat de typische gegevens van een DSP een gegevensstroom zijn. Met andere woorden, nadat de DSP-processor elk gegevensmonster heeft berekend, wordt het weggegooid en wordt het bijna nooit hergebruikt.

    3 Geen lus boven het hoofd
    Als u een algemeen kenmerk van DSP-algoritmen begrijpt, dat wil zeggen dat de meeste verwerkingstijd wordt besteed aan het uitvoeren van kleinere loops, is het gemakkelijk te begrijpen waarom de meeste DSP's gespecialiseerde hardware hebben voor zero-overhead loops. De zogenaamde nul-overheadlus betekent dat wanneer de processor de lus uitvoert, hij geen tijd hoeft te besteden aan het controleren van de waarde van de lusteller, de toestand wordt overgebracht naar de bovenkant van de lus en de
    Verlaag de lusteller met 1. De GPP-cyclus wordt daarentegen geïmplementeerd met behulp van software. Sommige krachtige GPP's gebruiken overgangsvoorspellingshardware, die bijna hetzelfde effect bereikt als de zero-overhead loop die door hardware wordt ondersteund.

    4 Berekening van een vast punt
    De meeste DSP's gebruiken berekeningen met vaste komma in plaats van drijvende komma. Hoewel bij de toepassing van DSP veel aandacht moet worden besteed aan de nauwkeurigheid van getallen, zou het veel gemakkelijker moeten zijn om het met drijvende komma te doen, maar voor DSP zijn lage kosten ook erg belangrijk. Machines met vaste komma zijn goedkoper (en sneller) dan overeenkomstige drijvende-kommamachines. Om geen drijvende-kommamachine te gebruiken en om de nauwkeurigheid van de getallen te garanderen, ondersteunt de DSP-processor verzadigingsberekening, afronding en verschuiving in zowel de instructieset als de hardware.

    5 Speciale adresseermodus
    DSP-processors ondersteunen vaak gespecialiseerde adresseringsmodi, die erg handig zijn voor veelgebruikte signaalverwerkingsbewerkingen en algoritmen. Bijvoorbeeld module (cyclische) adressering (handig voor het implementeren van digitale filtervertragingslijnen), bit-omgekeerde adressering (handig voor FFT). Deze zeer gespecialiseerde adresseringsmodi worden niet vaak gebruikt in GPP en kunnen alleen door software worden geïmplementeerd.

    6 Voorspelling van de uitvoeringstijd
    De meeste DSP-toepassingen (zoals mobiele telefoons en modems) zijn strikt real-time toepassingen en alle bewerkingen moeten binnen een bepaalde tijd worden voltooid. Dit vereist dat de programmeur precies bepaalt hoeveel verwerkingstijd nodig is voor elk monster, of in ieder geval hoeveel tijd nodig is in het ergste geval. Als u van plan bent een goedkope GPP te gebruiken om de taak van realtime signaalverwerking te voltooien, zal de voorspelling van de uitvoeringstijd waarschijnlijk geen probleem zijn. Het zou moeten zijn dat de goedkope GPP een relatief eenvoudige structuur heeft en gemakkelijker de uitvoeringstijd te voorspellen is. De verwerkingskracht die de meeste real-time DSP-toepassingen nodig hebben, kan echter niet worden geleverd door goedkope GPP's. Op dit moment is het voordeel van DSP ten opzichte van GPP met hoge prestaties dat zelfs als een DSP in de cache wordt gebruikt, de programmeur (niet de processor) beslist welke instructies zullen worden ingevoerd, zodat het gemakkelijk is om te bepalen of de instructie afkomstig is van de cache of lezen uit geheugen. DSP gebruikt over het algemeen geen dynamische functies, zoals vertakkingsvoorspelling en uitvoering van gevolgtrekkingen. Daarom is het volkomen eenvoudig om de vereiste uitvoeringstijd te voorspellen op basis van een bepaald stuk code. Hierdoor kan de programmeur de prestatielimieten van de chip bepalen.

    7 Vast punt DSP-instructieset
    De DSP-instructieset met een vast punt is ontworpen volgens twee doelen:
    Stel de processor in staat om meerdere bewerkingen in elke instructiecyclus uit te voeren, waardoor de rekenefficiëntie van elke instructiecyclus wordt verbeterd. Minimaliseer de geheugenruimte voor het opslaan van DSP-programma's (omdat het geheugen een grote impact heeft op de kosten van het hele systeem, is dit probleem vooral belangrijk bij kostengevoelige DSP-toepassingen). Om deze doelen te bereiken, staat de instructieset van de DSP-processor de programmeur gewoonlijk toe om verschillende parallelle bewerkingen binnen één instructie te specificeren. Een MAC-bewerking is bijvoorbeeld opgenomen in een instructie, dat wil zeggen een of twee gegevensverplaatsingen tegelijk. In een typisch voorbeeld bevat één instructie alle bewerkingen die nodig zijn in de sectie om het FIR-filter te berekenen. Dit soort efficiënte betaling
    De prijs is dat de instructieset niet intuïtief noch gemakkelijk te gebruiken is (vergeleken met de instructieset van GPP).
    Het maakt GPP-programma's meestal niet uit of de instructieset van de processor gemakkelijk te gebruiken is, omdat ze over het algemeen talen van hoog niveau gebruiken, zoals C of C ++. Voor DSP-programmeurs zijn helaas de belangrijkste DSP-toepassingen geschreven in assembleertaal (althans gedeeltelijk geoptimaliseerd in assembleertaal). Hier zijn twee redenen voor: ten eerste de meeste veelgebruikte talen op hoog niveau, zoals
    Net als C is het niet geschikt om typische DSP-algoritmen te beschrijven. Ten tweede maakt de complexiteit van de DSP-structuur, zoals meerdere geheugenruimten, meerdere bussen, onregelmatige instructiesets en zeer gespecialiseerde hardware, het moeilijk om er efficiënte compilers voor te schrijven. Zelfs als de C-broncode wordt gecompileerd tot DSP-assemblagecode met een compiler, is de taak van optimalisatie nog steeds erg zwaar. Typische DSP-toepassingen hebben veel rekenvereisten en strikte overheadlimieten, waardoor programma-optimalisatie onmisbaar is (althans voor het meest kritieke deel van het programma). Een belangrijke factor bij het overwegen van de keuze voor DSP is daarom of er genoeg programmeurs zijn die zich beter kunnen aanpassen aan de instructieset van de DSP-processor.

    8 Vereisten voor ontwikkeltools
    Omdat DSP-toepassingen sterk geoptimaliseerde code vereisen, bieden de meeste DSP-leveranciers enkele ontwikkelingstools om programmeurs te helpen bij het voltooien van hun optimalisatiewerk. De meeste fabrikanten bieden bijvoorbeeld tools voor processorsimulatie om de activiteit van de processor in elke instructiecyclus nauwkeurig te simuleren. Of het nu gaat om een ​​realtime werking of om code te optimaliseren, dit zijn zeer nuttige tools. GPP-leveranciers bieden dergelijke tools meestal niet aan, vooral omdat GPP-programmeurs op dit niveau meestal geen gedetailleerde informatie nodig hebben. Het gebrek aan simulatietools die nauwkeurig zijn voor de instructiecyclus van GPP is een groot probleem waarmee DSP-applicatieontwikkelaars worden geconfronteerd: het is bijna onmogelijk om het aantal cycli te voorspellen dat nodig is voor high-performance GPP voor een bepaalde taak, dus het is onmogelijk om uit te leggen hoe om de prestaties van de code te verbeteren.

     

     

     

     

    Een lijst van alle Question

    Bijnaam

    E-mail

    Contact

    Onze andere producten:

    Professioneel FM-radiostationuitrustingspakket

     



     

    IPTV-oplossing voor hotels

     


      Voer een e-mailadres in om een ​​verrassing te ontvangen

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> Albanees
      ar.fmuser.org -> Arabisch
      hy.fmuser.org -> Armenian
      az.fmuser.org -> Azerbeidzjaans
      eu.fmuser.org -> Baskisch
      be.fmuser.org -> Wit-Russisch
      bg.fmuser.org -> Bulgarian
      ca.fmuser.org -> Catalaans
      zh-CN.fmuser.org -> Chinees (vereenvoudigd)
      zh-TW.fmuser.org -> Chinees (traditioneel)
      hr.fmuser.org -> Kroatisch
      cs.fmuser.org -> Tsjechisch
      da.fmuser.org -> Deens
      nl.fmuser.org -> Nederlands
      et.fmuser.org -> Ests
      tl.fmuser.org -> Filipijns
      fi.fmuser.org -> Fins
      fr.fmuser.org -> Frans
      gl.fmuser.org -> Galicisch
      ka.fmuser.org -> Georgisch
      de.fmuser.org -> Duits
      el.fmuser.org -> Greek
      ht.fmuser.org -> Haïtiaans Creools
      iw.fmuser.org -> Hebreeuws
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Hungarian
      is.fmuser.org -> IJslands
      id.fmuser.org -> Indonesisch
      ga.fmuser.org -> Iers
      it.fmuser.org -> Italian
      ja.fmuser.org -> Japans
      ko.fmuser.org -> Koreaans
      lv.fmuser.org -> Lets
      lt.fmuser.org -> Lithuanian
      mk.fmuser.org -> Macedonisch
      ms.fmuser.org -> Maleis
      mt.fmuser.org -> Maltees
      no.fmuser.org -> Norwegian
      fa.fmuser.org -> Perzisch
      pl.fmuser.org -> Pools
      pt.fmuser.org -> Portugees
      ro.fmuser.org -> Roemeens
      ru.fmuser.org -> Russisch
      sr.fmuser.org -> Servisch
      sk.fmuser.org -> Slowaaks
      sl.fmuser.org -> Slovenian
      es.fmuser.org -> Spaans
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> Zweeds
      th.fmuser.org -> Thai
      tr.fmuser.org -> Turks
      uk.fmuser.org -> Oekraïens
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> Vietnamese
      cy.fmuser.org -> Welsh
      yi.fmuser.org -> Jiddisch

       
  •  

    FMUSER Wirless Verzend video en audio eenvoudiger!

  • Neem contact op

    Adres:
    No.305 Zaal HuiLan Gebouw No.273 Huanpu Road Guangzhou China 510620

    E-mail:
    [e-mail beveiligd]

    Telefoon / WhatApps:
    + 8618078869184

  • Categorieën

  • Nieuwsbrief

    EERSTE OF VOLLEDIGE NAAM

    E-mail

  • paypal oplossing  Western UnionBank of China
    E-mail:[e-mail beveiligd]   WhatsApp: +8618078869184 Skype: sky198710021 Praat met me
    Copyright 2006 2020-Powered By www.fmuser.org

    Ons Contacten