Texas Instruments TMS320 DSP Computer Hardware User Manual


 
www.ti.com
1.5.2Algorithms
1.5.3CoreRun-TimeSupport
SystemArchitecture
Carefulinspectionofthevariousframeworksinuserevealsthat,atsomelevel,theyallhavealgorithm
components.Whiletherearedifferencesineachoftheframeworks,thealgorithmcomponentsshare
manycommonattributes.
AlgorithmsareCcallable
Algorithmsarereentrant
AlgorithmsareindependentofanyparticularI/Operipheral
AlgorithmsarecharacterizedbytheirmemoryandMIPSrequirements
Inapproximatelyhalfoftheframeworksreviewed,algorithmsarealsorequiredtosimplyprocessdata
passedtothealgorithm.Theothersassumethatthealgorithmwillactivelyacquiredatabycalling
framework-specific,hardware-independent,I/Ofunctions.Inallcases,algorithmsaredesignedtobe
independentoftheI/Operipheralsinthesystem.
Inanefforttominimizeframeworkdependencies,thisstandardrequiresthatalgorithmsprocessdatathat
ispassedtothemviaparameters.Itseemslikelythatconversionofan"active"algorithmtoonethat
simplyacceptsdataintheformofparametersisstraightforwardandlittleornolossofperformancewillbe
incurred.
Giventhesimilaritiesbetweenthevariousframeworks,itseemspossibletostandardizeatthelevelofthe
algorithm.Moreover,thereisrealbenefittotheframeworkvendorsandsystemintegratorstothis
standardization:algorithmintegrationtimewillbereduced,itwillbepossibletoeasilycomparisonshopfor
the"best"algorithm,andmorealgorithmswillbeavailable.
Itisimportanttorealizethateachparticularimplementationof,sayaspeechdetector,representsa
complexsetofengineeringtrade-offsbetweencodesize,datasize,MIPS,andquality.Moreover,
dependingonthesystemdesigned,thesystemintegratormaypreferanalgorithmwithlowerqualityand
smallerfootprinttoonewithhigherqualitydetectionandlargerfootprint(e.g.,anelectronictoydollverses
acorporatevoicemailsystem).Thus,multipleimplementationsofexactlythesamealgorithmsometimes
makesense;thereisnosinglebestimplementationofmanyalgorithms.
Unfortunately,thesystemintegratorisoftenfacedwithchoosingallalgorithmsfromasinglevendorto
ensurecompatibilitybetweenthealgorithmsandtominimizetheoverheadofmanagingdisparateAPIs.
Moreover,nosinglealgorithmvendorhasallthealgorithmsforalltheircustomers.Thesystemintegrator
is,therefore,facedwithhavingtochoseavendorthathas"most"oftherequiredalgorithmsandnegotiate
withthatvendortoimplementtheremainingDSPalgorithms.
Byenablingsystemintegratorstoplugorreplaceonealgorithmforanother,wereducethetimetomarket
becausethesystemintegratorcanchosealgorithmsfrommultiplevendors.Weeffectivelycreateahuge
catalogofinteroperablepartsfromwhichanysystemcanbebuilt.
Inordertoenablealgorithmstosatisfytheminimumrequirementsofreentrancy,I/Operipheral
independence,anddebuggability,algorithmsmustrelyonacoresetofservicesthatarealwayspresent.
Sincemostalgorithmsarestillproducedusingassemblylanguage,manyoftheservicesprovidedbythe
coremustbeaccessibleandappropriateforassemblylanguage.
Thecorerun-timesupportincludesasubsetofHWIfunctionsofDSP/BIOStosupportatomicmodification
ofcontrol/statusregisters(tosettheoverflowmode,forexample).Italsoincludesasubsetofthestandard
Clanguagerun-timesupportlibraries;e.g.,memcpy,strcpy,etc.Therun-timesupportisdescribedin
detailinAppendixBofthisdocument.
14OverviewSPRU352GJune2005RevisedFebruary2007
SubmitDocumentationFeedback