- ST200 family
The ST200 is a family of
VLIW processor cores based on technology jointly developed byHewlett-Packard Laboratories and STMicroelectronics under the name Lx. The main application of the ST200 family is embedded media processing.Lx Architecture
The Lx architecture is closer to the original VLIW architecture defined by the Trace processor series from
Multiflow than to the EPIC architectures exemplified by theIA64 . Precisely, the Lx is a symmetric clustered architecture, where clusters communicate through explicit send and receive instructions. Each cluster executes up to 4 instructions per cycle with a maximum of one control instruction (goto, jump, call, return), one memory instruction (load, store, pre-fetch), and two multiply instructions per cycle. All arithmetic instructions operate on integer values with operands belonging either to the general register file (64 x 32-bit) or to the branch register file (8 x 1-bit). General register $r0 always reads as zero, while general register $r63 is the link register. In order to eliminate some conditional branches, the Lx architecture also provides partial predication support in the form of conditional selection instructions. There is no division instruction but a divide step instruction is provided. All instructions are fully pipelined. The RAW latencies are single-cycle except for the load, multiply, compare to branch RAW latencies. The WAR latencies are zero cycles and the WAW latencies are single cycle.The principal architects for the ST200 were
Paolo Faraboschi (HPL, architecture) andFred Homewood (STM, microarchitecture).ST200 Cores
The ST200 VLIW family currently comprises the ST210, ST220, ST231 cores, which are single-cluster implementations of the Lx architecture. The differences between these cores are minimal:
* The ST210 was the first STMicroelectronics product based on the Lx technology.
* The ST220 improved the frequency of the ST210 by adding one execute stage, which had the effect of increasing the maximum latency to 3 cycles from 2.
* The ST231 improved the ST220 architecture with register scoreboarding and 32-bit x 32-bit multiplies for integer and fractional data representations. A MMU was also added so the ST231 can be used as a host processor.
Compilation Tools
The first ST210 compiler was the HP Lx compiler developed at HP Labs Cambridge, itself a descendant of the
Multiflow Trace scheduling compiler and heavily modified by HP to target the embedded domain. Starting with the ST220, STMicroelectronics introduced compilers based on theOpen64 technology. In these compilers, theOpen64 release has been improved by upgrading its GCC C and C++ front-end from 2.96 to 2.x and later 3.x, in order to achieve full C++ compliance. The GNU C extensions have been fully implemented in theOpen64 , including the asm statements. As a result, the GNU-Linux kernel can be compiled for the ST200.The other ST200 compilation tools are straightforward ports of GNU as, GNU ld, and
GDB .
Wikimedia Foundation. 2010.