Home

Heterogeneous DSP: Easier than you think

image

Contents

1. associated with RISC CISC processors such as very long instruction words deep pipelines and multi level caches It s apparent from recent product announcements that a merging of processor topologies is occurring So is a super chip around the corner Is all this dissimilar technology merging together into one hDSP ON A CHIP Any discussion on hDSP should address the new developments of processor manufacturers merging DSP type cores into RISC processors resulting in a tightly coupled co processor arrangement These processors are interesting as to what they add to the processor in capability and how they get programmed There are many variants in the implementations some sharing the external bus some having independent ones Obviously the manufacturers feel that hDSP benefits warrant an integrated solution making a stronger processor option The goal in some cases appears to be reaching for a super processor that can satisfy all requirements becoming a one processor solution for all However all these manufacturers have done is create another type to consider in the heterogeneous mixing bowl No one design does it all as of today CONCLUSIONS hDSP as a system design strategy is an approach of trade offs Benefits can only be realized if the connectivity can be purchased or developed The evolution of board designs and diversification of product lines is helping to make hardware interconnection easily obtainable while software interconn
2. Heterogeneous DSP Easier than you think Ray Hardison Software Engineering Manager Ixthos Inc INTRODUCTION There s a lot of neat technology out there No sooner than you buy what you need to put together one design does another manufacturer come out with a new whiz bang chip that blows away the competition and sets the bar higher The problem is you have a significant amount of time invested with one product line and the thought of having to spin up on a different architecture and development tool set makes things appear more difficult than they are worth It would really be nice to get one or two of those new features especially since your current solution doesn t do that part of the job well But in some ways it still solves certain parts of the problem better than that emerging star Wouldn t it be great to reap the best each technology has to offer To mix and match solutions without have to start all over again with each piece To apply a fixed point processor to a fixed point section of a problem and feed the results to the floating point machine where that type of computation is needed Problem is how do you make all these dissimilar pieces play together without spending all of your time and money on getting them to talk to each other This paper presents the concept and implementation strategies for developing heterogeneous Digital Signal Processing hDSP systems Rather than focus on one specific vendor s solution we wil
3. ace can also provide smart functions such as DMA transfers with strides into and out of DSP memory space Performing these manipulations on the fly and in the background can speed up many data manipulation algorithms commonly performed in DSP applications The PMC sites can host I O cards or DSP cards so you can very easily plug a DSP card with type A processors onto a baseboard having type B processors with all having a local bus connection to a RISC processor The figure also depicts a smart I O PMC card with its own processor IOP giving the configuration shown 4 distinct processor types connected on one in this case 6u VME board PMC sites are showing up on many RISC and CISC based VME cards With the introduction of PMC cards that contain DSPs and dual PMC sites on these cards it is possible to configured a hDSP system on one of these boards that has two distinct types With a DSP PMC that has serial ports as an external interface a parallel data connection could be established to other cards on the VMEbus that have the same ports The combinations of interconnections and components can get quite interesting but can they really communicate with each other SO WHAT ARE THE PROBLEMS It is an age old story you can hook together all the hardware but getting it to work together is totally dependent on the software If you have the time and good documentation you can do it all yourself but few of us have the interest moti
4. ds off of the system bus This keeps the system bus available for the GPP to interact with the DSPs without getting into an arbitration battle for the bus Likewise it provides parallel data movement paths so that DSPs can inter communicate while system bus transfers are occurring Figure 2 depicts two inter board connections One occupies the I O space of the board and the other is a designed in intercommunication channel Both have common APIs but the I O space connections may not be part of the standard API used for the designed in and GPP communications e es l Bus Bus Bus Interface Interface Interface v P JF GPP Application DSP A Application DSP B Application Component Component Component Data Data Oper Input Data Output Data Input Data Output Data Storage J Display Control Interface Interface Interface Interface Figure 2 Multi board hDSP system DSP A and DSP B can be similar or different Off board interconnection schemes vary with board manufactures and DSPs DSPs that have high speed ports and internal I O Processors are normally connected using these ports in a point to point connection Sophisticated APT s may provide many modes of operations for these types of links such as through routing broadcasting bi directional and uni directional transfer modes If the DSP s don t provide any sort of intercommunication links then it s up to the board manufacture to come up with some sort of solution Some of these
5. ection still remains in the domain of the individual manufactures More manufactures are offering hDSP designs and declaring support for MPI High level DSP programming tools are positioned to utilize these developments to obtained true hDSP development potential across different manufacturers products Whether hDSP becomes a more exploited design strategy in the future or disappears will mostly depend on the demand for it in the marketplace Customers will have to want it and request it REFERENCES 1 Marc Snir Steve W Otto Steven Huss Lederman David W Walker and Jack Dongarra MPI The Complete Reference The MIT Press 1996 2 ADSP 2106x SHARC User s Manual Analog Devices Inc 1995
6. eping software cost down as hardware evolves Its ability to ease hDSP implementations is really only a side effect of its intended purpose Its ability to serve in that role will rely totally on the desire and demand for manufacturers to provide the lower level software connectivity required permitting the MPI calls to function across architectures One thing that may work in the favor of MPI and hDSP is the continuing trend in the industry of product diversification and merging Very few board manufactures make just one type of board anymore Since a company can have several types of product offerings it behoves them to provide inter operability among their products Finding vendors that support MPI and hDSP connectivity in their product line is becoming more common Yet it really all comes down to demand connectivity will only be put in place if people want it and a big factor will be the capability and availability of software development tools for such an environment One of the biggest headaches in a hDSP implementation can be dealing with several different code development environments at once Maybe you have the luck to have group of developers that can be partitioned to the effort in much the same way as the components are partitioned to the design But even given such a case there are normally as many issues as there are tools Given what you are trying to accomplish with a hDSP solution a high level solution for the development softwa
7. g data from some I O such as an analog to digital converter filtering transforming integrating and shipping it off to the GPP The GPP could be collecting the processed results performing graphical display reducing or providing storage In the reverse situation the GPP could be providing information to the DSP that would be converted and sent to a digital to analog converter for output Potentially the DSP could be used as a coprocessor to the GPP where the data would be exchanged bi directionally This example also demonstrates the benefit of hDSP each dissimilar element contributes to the process in a unique way bringing its strengths to bear on the problem The GPP contributes its data display storage and operator interface attributes while the DSP contributes its deterministic real time I O handling fast computational capabilities This concept can be expanded to using fixed point DSPs floating point DSPs CISC and RISC processors and even mixing like products from different manufactures We will look more at the potential combinations as we proceed but first we need to look at the basics of how these dissimilar pieces communicate Figure also depicts an Application Program Interface API as a layer between the DSP and GPP application components and the bus interfaces This software s purpose is to facilitate the communications between the two applications removing the application from the responsibility to directly manipulate t
8. he GPP you want But what if you want to use dissimilar DSPs and a GPP together in a system How does the basic configuration of Figure 1 expand What issues now become prominent in the decision process MULTI BOARD hDSP A DSP board plugged into a GPP s system bus may be all you need especially since many DSP boards contain a number of DSPs The vendors of these multi DSP boards normally provide the on board hardware connections along with inter processor communication software libraries If the vendor has a good product the API for inter processor communication would extend to the GPP API This would permit the GPP to exchange data with any of the DSPs and the DSPs to use the same protocol to inter exchange data on the board If your application needs more DSPs than you can obtain on one board you can add more boards to the system bus as depicted in Figure 2 The GPP s API will need to support multi board multi processor addressing and the DSPs API will likely need to have some type of awareness as to how they rank in the system configuration with respect to other DSP boards An easy way to handle this is to have the GPP tell each DSP what system processor ID it is upon program load into the DSP System processor IDs will help the DSP distinguish on board inter processor communication with off board inter processor communication In multi board configurations it is preferable to remove the inter processor communication across boar
9. he bus interface A good API provides software constructs like queues mailboxes the capability for the applications to check for and wait on data plus the capability to multi buffer and be notified of completed writes The GPP s API and the DSP s API must be compatible and use the same constructs and conventions in a like manner Differences in the raw data formats exchanged between the two should be concealed from the two applications with the sending application s intended quantities correctly received by the receiving application In early hDSP configurations these APIs were minimal to non existent causing the system developer to implement their own As DSP products evolved DSP board manufactures started to provide APIs targeted at using their boards with specific GPPs on specific buses If you wanted a off the shelf solution i e you didn t want to design an embedded hDSP solution the approach was as follows Figure out the DSP performance requirements for your problem Select a DSP Select a board vendor Find out what GPP environments the vendor provides support for Select the GPP Do irre This selection sequence results in the DSP board vendor decision determining the GPP Since DSP selection criteria can be so much more performance critical than GPPs this strategy has been a natural trend The brass ring to be obtained is of course good connectivity between the two Otherwise you just as well develop your own API and use t
10. l look at general industry trends and evolutions in hardware and software that further promote the combining of dissimilar technologies WHAT IS A hDSP SYSTEM hDSP is not a new concept as a matter of fact some of the earliest system implementations involved connecting a DSP to a general purpose processor GPP Figure 1 depicts such an architecture where a DSP is connected to the GPP via a bus The GPP has data storage and display devices to offer to the application and the DSP has I O interfaces Where in these type of system configurations the GPP will typically load the program from disk to the DSP and start it executing what makes it a hDSP configuration is the actual involvement of the GPP in the processing of the data stream This is a qualifier of a hDSP configuration The dissimilar elements in this case GPP and DSP must participate in processing the data in unison If the GPP just loaded started and performed some basic command and control it would be acting as a server to a client In hDSP the GPP would be part of the data stream processing the data Bus Bus Interface Interface GPP Application DSP Application Component Component Data Data Oper Input Data Output Data Storage Display Control Interface Interface Figure 1 Simple hDSP configuration One GPP one DSP and a common API What the GPP would bring to the application would primarily be a function of the direction of data flow If the DSP is collectin
11. manufacturer and another type of DSP board from a different manufacturer and be confident they will work together in a seamless manner You may be able to accomplish a similar configuration if you stick with one manufacturer s products but you will be compromising your selection criteria to the product line Unified hDSP development environments are still very new and have limited product support And last but certainly not least the whole concept of hDSP may not be worth the effort the compromises of a one processor type solution may be less painful than the compromises a hDSP configuration would impose WHAT ARE THE BENEFITS So if hDSP is becoming more obtainable why would you want to use it Are there benefits to offset the additional aggravation Or would it be a better bet to look for a processor that can do it all The variations available alone can overwhelm an engineer Not only are there a large number of processor types available there are also different operating systems each which emphasize certain aspects of a processor s performance A single DSP product can be ordered as a low cost reduced feature version of the high cost full product Some products can have many different sub types All these variants exist because of their ability to solve a certain application problem better than the rest If there were a one chip solution variants wouldn t exist To simplify and summarize the benefits a few key feature groups tend
12. oach to a broad market approach This is resulting in some interesting new architectural developments that put hDSP capabilities at the board level BOARD LEVEL hDSP Mixing processors types on a board basis where each type resides on one board can result in big and costly system solutions Thanks to some new innovations this may not be the case anymore Board manufactures are starting to embrace common mezzanines standard local buses and heterogeneous on board architectures Figure 3 shows a generic example of one such board implementation It is based on the Common Heterogeneous Architecture for Multi Processing CHAMP developed by Ixthos This board architecture has a PCI local bus two PMC mezzanines DSPs and a GPP The GPP in this case is a RISC processor that performs a number of board functions and manages the system bus which is a VMEbus Bridge interfaces are used to isolate sections of the local bus so that local traffic stays contained yet the whole bus is accessible from any processor Co PCI interface PMC Site PMC Site POI Local Bus PCI PCI Global PCI PCI interface interface Memory interface interface Local Local Local Local Local Memory Memory Memory Memory Memory Figure 3 Board level hDSP configuration using a generic architecture VMEbus board Each DSP contains a PCI interface that can automatically convert between big endian and little endian formats to keep the data in a bus native format This interf
13. re makes sense Let the development environment manage the different compilers libraries and syntaxes Several vendors now offer DSP development tools that support partitioning and redistribution amongst processor types The types supported are somewhat limited at present but appear to be expanding These tools typically generate and construct the processor code therefore automating the usage of the processors development tools They also provide performance monitoring capabilities that are essential to large scale multi processing development A common API like MPI can bring hDSP and these tools into a harmonious mix After all developers of these tools are just building hDSP applications on which our applications get layered But does not all this layering of software cause a performance hit Wouldn t hDSP be faster and leaner if all the interfaces were implemented directly Absolutely but it comes down to what s cheaper and has a shorter development cycle Man hours tend to be a scarce commodity where hardware constantly gets faster and cheaper and development tools continue to improve Attention to the performance impacts is also a major consideration for the API and tools developers they may have impacts but they are also most aware of those impacts and striving to reduce them So what is the down side of hDSP It s basically that the pieces are coming together but they are not quite there yet You cannot select a DSP board from one
14. solutions have evolved into multi processing interconnects that vendors center all their product offerings around When these vendors expanded their DSP offerings to several different types they extended their interconnection solution into a heterogeneous configuration This would be the case of Figure 2 where one DSP board is of type A and the other is of type B It becomes the responsibility of the hardware and software to make the interconnection seamless This type of multi board hDSP solution has been available from some of the larger DSP vendors for some time These vendors each promote the relative advantages of their product offerings The selection process for configuring this type of hDSP solution becomes as follows Figure out the DSP performance requirements for your problem Select the DSPs Find a board vendor that supports the DSPs Verify interconnects and software can satisfy requirements Find out what GPP environments the vendor provides support for Select the GPP Dye De Of course if you were very diverse in your DSP selection you would find it very difficult to locate a vendor In the past there were only a few companies that had any kind of heterogeneous offerings and the DSPs they offered were only a few well known types However the current market place is exhibiting more diversification in product offerings DSP board manufactures are expanding their product offerings from what was originally a speciality house appr
15. to stand out They are 1 Floating point DSPs High performance 32 bit precision designs that have high benchmarks for multiply and accumulate computations They typically have very deterministic performance minimal overhead operating systems and sufficient cache and bus speed to permit data flows commensurate with the processors computational bandwidth 2 Fixed point DSPs Can be 32 bit or 16 bit 16 bit are used in many low cost embedded cases 16 bit fixed point is very well matched to digital analog and analog digital converters 32 bit versions are normally related to a floating point product offering 3 MP DSPs Features are added to the DSP to facilitate inter processor communication Typical features would be high speed ports shared memory support and integrated I O processor with DMA 4 RISC CISC Supports more elaborate cache and memory management along with more extensive operating systems Some provide 64 bit precision floating point computation Can support peripheral devices like SCSI controllers network chips etc through existing drivers Some of the higher performance RISC architectures have impressive DSP performance capabilities DSPs can bridge several of the above The SHARC from Analog Devices Inc performs 32 bit floating point and 32 bit fixed point operations at full performance In addition the processor has some of the best MP support available in DSP 2 Newer DSP products contain features normally
16. vation or budget to put together a software solution for a hardware puzzle What we want is the capability to focus on our application and have a consistent and reliable method for data to be exchanged among processors This is where a common high level API can serve us well But is there such a thing as acommon API Does it extend beyond one vendor s product offerings An API that has the potential to position itself to be a common standard for hDSP has been slowly emerging This API is referred to as the Message Passing Interface or MPI 1 A consortium of industry academia and government agencies defined MPI and several vendors have announced product support Interest in it appears to be growing in the industry and numerous extensions to the specification are starting to surface to address various implementation issues that have arose from the first attempts to apply the standard in the market place MPI is a definition of high level function calls that provide inter process processor communication abstraction Its definition supports Q Point to point communication Collective operations Process groups Communication domains Process topologies Environmental management and inquiry Performance profiling support Oooooo MPI s success or failure will be determined by how useful it is found to be The hope is that it can be a silver bullet that will permit an application to be easily moved from architecture to architecture ke

Download Pdf Manuals

image

Related Search

Related Contents

ZTE MF30 Global Mobile Hotspot Manual de Usuario  The ZoneTraderPro AutoTrader New User Manual  警告 注意  User`s Manual PDF  T erT iale Spé    

Copyright © All rights reserved.
Failed to retrieve file