Philips TriMedia VLIW
Philips TriMedia are a range of 32-bit VLIW processors for media processing released during the 1990s. TM-1000, originally TM-1, was the first Philips TriMedia processor, released in 1996, followed by TM-1100 in 1998 and TM-1300 (PNX1300) in 1999.
TriMedia was based on original VLIW work at Philips research in the 1980s for general computing. Actual production TriMedia VLIW processors in the 90s were more specialized for media computations. They could issue five instructions per clock for any of their 27 functional units at clock speeds between 100 and 166 MHz.
They were mostly used in audio, video and photo devices as media co-processors.
VLIWs work extremely well for signal processing and 3-D tasks, and quite good for general purpose programming,
was Philips view on the early TM-1000.
CPU details
Philips TriMedia are based on Philips LIFE VLIW architecture, developed in the late 1980s, and us a VLIW processor core (DSPCPU) with media extensions. TM-1000 was the first product implementation followed by TriMedia TM-1100, TM-1300 and PNX1300 with the same core architecture and higher clock.
Processor | Clock | Cache | Width | Units |
---|---|---|---|---|
TM-1000 | 100 MHz | 32/16 KB | 5-way | 27 |
TM-1100 | 133 MHz | 32/16 KB | 5-way | 27 |
TM-1300 | 166 MHz | 32/16 KB | 5-way | 27 |
PNX1300 | 200 MHz | 32/16 KB | 5-way | 27 |
Instruction set
TriMedia is a 32-bit VLIW architecture with an instruction set of RISC operations, load/store operations and special multimedia and DSP operations, coupled with IEEE floating point. Philips also implemented 32 special SIMD operations in TriMedia CPUs.
The very long instruction width of TriMedia processors is 220-bit, data width is 32-bit. TriMedia can issue five instructions per clock, integrated into a single VLIW, for their large set of functional units.
One of the main reasons for VLIW processors are the simplified CPU cores with large execution and data computation capacity: VLIWs are datapath intensive, very low control area/complexity.
Functional units
Philips TriMedia processors have a very large number of functional units: 27.
- Integer: 9 (ALU, Load/Store, Multiply)
- DSP: 4 (ALU, Multiply)
- FP: 4 (ALU, Compare, Square)
- Other: 10 (Shifter, Branch, Constant)
TriMedia VLIW processors have 128 registers with 32-bit.
Cache and memory
TM-1000, TM-1100 and TM-1300 have 16 KB data and 32 KB instruction caches, 8-way set associative (LRU).
The instruction cache contains compressed VLIW instructions.
Caches are on-chip, attached via two 32-bit (data) and one 220-bit (instruction) bus to the CPU.
Memory is supported up to 64 MB physical and 4 GB virtual, implemented in SDRAM up to processor clock, attached via 32-bit data highway to the CPU. Up to four chips are supported for 400/532/572 MB/s data rate.
Integration and peripherals
Processor and cache are attached via 32-bit bus (data highway) to PCI and integrated many I/O and co-processing functions onto the chip.
- Image Co-processor (for image manipulations)
- Variable Length Decoder (MPEG)
- Video input and output (CCIR-601/656), for e.g. PAL and NTSC TV
- Digital audio input and output
- Serial interfaces (SSI), which could be used for V.34 mode or ISDN in software
- I²C and Timers
- PCI interface (32-bit 33 MHz)
- TM-1100 and TM-1300/PNX1300 added a DVD descrambler (DVDD) and SPDIF
Physical
TM-1000 has a clock speed of 100 MHz, with 3.3V core voltage. Die is manufactured in 0.35µ 4-layer metal CMOS process, packaged in 240-pin MQUAD, power 4W.
TM-1100 has up to 133 MHz clock speed, with 3.3V core voltage. Die is manufactured in 0.35µ 5-layer metal C75 CMOS process, packaged in 240-pin MQUAD, power 6W.
TM-1300 has a clock speed of 143 or 166 MHz, with 2.5V core voltage. Die (58mm²) is manufactured in 0.25µ 6-layer metal CMOS process, packaged in 292-pin BGA, power 3.2W.
PNX1300 has a clock speed of 200 MHz, with 2.2V core voltage. Die is manufactured in 0.25µ 4-layer metal CMOS process, packaged in 292-pin HBGA, power 2.5W.
Used in
TriMedia VLIW processors were used in a large range of multimedia systems:
- Video conferencing: Polycom ViewStation, Philips Matchview Tiger, Telestream ClipMail (video mail?)
- CCD: Dresearch TeleObserver
- Video editing: Matrox DigiSuite, Fast Multimedia, Alacron FastSeries
- Integrated computing: BlueICE Video
- TV: Philips HDTV, SAMSUNG ATSC receiver, Philips DVS set-top box
- and many others
TriMedia used pSOS+ real-time operating system, and had high-performance Java support.
Development was conducted on TriMedia Software Development Environment with Metrowerks CodeWarrior for TriMedia and TriMedia Application Libraries.
Benchmarks
The original TM-1000 was slightly too slow for full-speed DVD decoding
due to limited memory bandwidth, mitigated by the later TM-1100 and TM-1300 with higher clock.
They still needed a host microprocessor for general memory and I/O.
TM-1300 were advertised as peak performances required by DVD playback: 180-MHz CPU with 143 MHz SDRAM.
For multimedia operations, TriMedia VLIWs were very fast co-processors.
Processor | Speed | Platform | MIPS/FLOPS | SPEC92 int/fp |
---|---|---|---|---|
Philips TM-1000 | 100 MHz | 4,000* | ||
Philips TM-1100 | 133 MHz | 5,000* | ||
Philips TM-1300 | 166 MHz | 7,200* | ||
Comparisons | ||||
Sun MAJC-5200 | 500 MHz | 12,000 6,000 |
Documentation
- TriMedia TM-1000 Data Sheet, Philips (1998, 9397 750 03407) datasheetcatalog
- TriMedia TM-1100 Data Sheet, Philips (1998, 9397-750-03177) datasheetcatalog
- TriMedia PNX1300 Series Data Sheet, Philips (2002) datasheetcatalog
- TriMedia TM-1300 Data Sheet, Philips (1999, 9397-750-06379) datasheetcatalog
- Media TriMedia Business Line Business Line, presentation, Philips Semiconductors (n.d.) archive.org
- Philips Advances TriMedia Architecture, Microprocessor Report, (October 1998)
- Old New Things: An examination of the Philips TriMedia architecture, Quarks Lab (2019)
- The Trimedia TM-1 PCI VLIW Mediaprocessor, Philips Semiconductors, (1996 Hot Chips) archive.org
- TM-1300 High-speed, Low-cost, Enhanced PCI, VLIW Media Processor, Philips Semiconductors, (1999 Hot Chips) archive.org