www.ti.com
1.5SystemArchitecture
ALG
ALG
ALG
Framework
Status
Cmd
Status
Cmd
Core run time support
1.5.1Frameworks
SystemArchitecture
Tosupporttheabilityofasystemintegratortorapidlyevaluatealgorithmsfromvariousvendors,a
mechanismshouldbedefinedthatallowsacomponenttobeusedforevaluationonly.Thiswould
encouragealgorithmvendorstoprovidefreeevaluationsoftheirtechnology.Itisimportanttoprovide
mechanisms,suchasencryptionofthecode,thatprotectthevendor'sIP;otherwise,vendorswillnot
maketheircomponentsreadilyavailable.
Eachalgorithmcomponentistypicallydeliveredwithdocumentation,on-linehelpfiles,andexample
programs.Ideally,thissetoffileswouldbestandardizedforeachalgorithm,andinstallationintotheCode
ComposerStudioenvironmentwouldbestandardized.Thestandardizationwillgreatlysimplifytherapid
evaluationandsystemintegrationprocess.Inaddition,itisimportantthatwhenacomponentisobtained,
itsorigincanbereliablydetermined,topreventcomponenttheftamongalgorithmvendors.
ManymodernDSPsystemarchitecturescanbepartitionedalongthelinesdepictedinFigure1-2.
Figure1-2.DSPSoftwareArchitecture
Algorithmsare"pure"datatransducers;i.e.,theysimplytakeinputdatabuffersandproducesomenumber
ofoutputdatabuffers.Thecorerun-timesupportincludesfunctionsthatcopymemory,andfunctionsto
enableanddisableinterrupts.Theframeworkisthe"glue"thatintegratesthealgorithmswiththereal-time
datasourcesandlinksusingthecoreruntimesupport,tocreateacompleteDSPsub-system.
FrameworksfortheDSPofteninteractwiththereal-timeperipherals(includingotherprocessorsinthe
system)andoftendefinetheI/Ointerfacesforthealgorithmcomponents.
Unfortunately,forperformancereasons,manyDSPsystemsdonotenforceaclearlinebetweenalgorithm
codeandthesystem-levelcode(i.e.,theframework).Thus,itisnotpossibletoeasilyreuseanalgorithm
inmorethanonesystem.TheTMS320DSPAlgorithmStandardisintendedtoclearlydefinethislinein
suchawaythatperformanceisnotsacrificedandalgorithmreusabilityissignificantlyenhanced.
FrameworksoftendefineadeviceindependentI/Osub-systemandspecifyhowessentialalgorithms
interactwiththissub-system.Forexample,doesthealgorithmcallfunctionstorequestdataordoesthe
frameworkcallthealgorithmwithdatabufferstoprocess?Frameworksalsodefinethedegreeof
modularitywithintheapplication;i.e.,whichcomponentscanbereplaced,added,removed,andwhencan
componentsbereplaced(compiletime,linktime,orreal-time).
Evenwithinthetelephonyapplicationspace,thereareanumberofdifferentframeworksavailableand
eachisoptimizedforaparticularapplicationsegment(e.g.,largevolumeclient-sideproductsandlow
volumehigh-densityserver-sideproducts).Giventhelargenumberofincompatibilitiesbetweenthese
variousframeworksandthefactthateachframeworkhasenjoyedsuccessinthemarket,thisstandard
doesnotmakeanysignificantrequirementsofaframework.
SPRU352G–June2005–RevisedFebruary2007Overview13
SubmitDocumentationFeedback