The goal of this section, is an historical perspective covering the time when DSPs became CPUs and vice versa.
Background
We are now in 1996 and for the last couple of years DSP is fashionable in Silicon valley. To complicate things further, DSP is just seen as a subset of the shining keyword of the 1990's: "MULTIMEDIA"."TA!DA!" Pretty much all processor vendors are preparing something. A good summary of that time is found in Jeff Bier's [ref 1 and 2]. Description
Roughly speaking there were 3 and a half types, here classified by interest order.- Add a DSP COP to a CPU (or more likely a MCU).
- Add a DSP extension to an existing CPU ISA
- Start from scratch and build a completely new architecture. It can be:
- a DSP based on RISC principle (ZSP)
- a DSP based on more RISCY than Thou Principle(C6x)
- a RISC CPU equally good at DSP (TriCore)
- a DSP with a register file
- Multimedia processors (MM)
- We will not mention MM further, except that for the sake of simplification we will put Pentium MMX in this category instead of ISA extension. Remember that we are speaking about DSPs.
- Not considered: dual-core platforms such as consisting of a DSP core plus a CPU core.
We can also lamely argue that a C64x can be seen as a CPU (1 cluster + 3 simplest execution units (EU) ) or a powerful DSP ( 2 clusters with all 4 EUs).
Category 1- DSP COP
Largely obsoleted by category 2 and 3, we will mention a few products:
- SH-DSP (1996) had a COP added to the the SH-3 core " good classic model"
- ARM Piccolo (1997) , was architecturally identical but with the bonus of original solutions to some basic problems. (To be studied in details)
- Siemens C166/ST10 MAC (1998) started as a COP and finished as fully integrated ST Super10.
- And later, for instance...Massana Filu which was a piece of IP ( a COP). to be attached to a host.
- We will not mention here the Tensilica Vectra or similar which are filed under Vector Processor.
Category 2- DSP extensions to CPU
Here are examples of DSP extensions to common CPU ISA. Note that not all of them are "Q format" types and are more commonly classified as MM extensions(*VP*). From our perspective, the difference between the twos are more understood in terms of DSP generation. - PowerPC
- Altivec and variants (*VP*)
- MPC8xx DSP addendum (MPC8xxRMAD Rev.0.1., 10/2003)
- ARM (we are a bit lost here)
- Move
- Neon (*VP*)
- MM extensions
- SIMD
- ARM9E
- Xscale WMMX , WMMX2
- MIPS
- Lexra DSP extensions
- MIPS DSP extensions
- Coldfire DSPon
- Hitachi MM extensions
- TenSilica Vectra, VectraLX (*VP*)
- ARC SIMD at MPR05
- PIC MCU adds DSP (2005)
- Intel SSE4
- Sparc, HP --> see Ruby Lee, AMD, Alpha, MIPS Madmax
Categorie 3- New DSP Architectures
Further sub categorized as- New CPU
- The unique illustration as such is TriCore (1996).
- New DSP
- Blackfin (1998) presented itself as an hybrid but really a DSP (hey 40-bit native register width, give you away)
- Tiger Sharc (1999)
- Starcore (1999)
- TI C62x (1997) became C64x(2000) then C66 (2010)
- And of course C67
- New name: ZSP (1997)
- tons of other hopefuls
- We will not mention the Infineon Carmel and the DSP group family (see "revenge of the trees" and "the last honest DSP" in chapter DSP of the First Kind).
Category (outside): dual-core platforms
-> see platforms, Multi-Core.- For the record
- 68356
- Dual core consisting of a DSP plus a CPU (typ: ARM7 + OAK)
References
- BDTI “DSP on General Purpose Processors—An Overview”, presentation to MicroDesign Resources dinner meeting, January 1997.
- --> giving rise to the BDT Guide - DSP on GP CPU (1997)
- also comparing BDTI guide 2004 and 1995 reveals the amount of the evolution.
- BDTI guide on TriCore (not available)
- BDTI guide on StarCore
- Multiple press vulgarus articles on "hybrid", C compilation and register files.
- The many TI VLIW white papers
No comments:
Post a Comment