well for starters...
What was the SIMD unit used for in these products?
It doesn't *have* a SIMD unit, it maps SIMD instructions over the FPU registers... (actually just like Gekko)
I thought the SH-4 was used in many applications even including such mundane appliances as microwave ovens!
No, those would more likely be built with SH-1, SH-2 microcontrollers..
SH-4 core was probably a request from SEGA since the SIMD vector unit would only be required for stuff like 3D. In that respect the SH-4 was a completely customized core based on the Super Highway ISA tailored specifically after SEGA's needs.
This would be false... The SH-4 was already in development. Yes SEGA had significant input however the SIMD capability was not the sole input of SEGA. The chip was being targetted for set-top boxes (the DC being one, cable boxes, satellite receivers being others) to begin with, as well as hand-held PCs, routers, etc...
Also, the SIMD instructions have more use than just 3D... You can use them for handling audio (e.g. echo-cancellation in VoIP routers, voice recognition algorithms) and video (deblock, convolution, etc) processing filters, image/video stream decode/decompression...
Looks like hataci / sega beat sony to the cell computing
You could say the same thing about MIPS, PowerPC, SPARC, x86, M88k, M68k...
Pretty sure it's just less cache, unneeded instructions removed, and a nintendo customized version of what is probably similar to SSE.
actually it's the same level cache as the 750CX line... No instructions removed (actually added instead)... Additional parallel arithmatic instructions for pack-single processing on the FPU, and a slew of load/store instructions for packed loads and stores, cache manipulation (comparable to a 7450, with cache-locking and DMA), and an actual DMA queue and a write gather pipe...
If it is the later, than XCPU is custom too.
Nope, it's about as COTS as you can get... It just has a unique S-code to distinguish it...
Like Emotion Engine, I think you can buy that from Toshiba, for your own use, so I consider that off the shelf components.
You cannot... The TX-079 was a spinnoff of the EE that Toshiba offers, but it's not an EE, it's basically just what composes the EEcore...
Anyway in the case of Gekko, it was an existing chip that was already available on the market and used in various devices. That chip was then modified to be used in GCN. Cache was increased and instructions were added.
No cache increase... However the 750CX/CXe *was* an existing desktop CPU in it's midlife stage.
For SH-4, it was in development as a successor to the SH-3 and was intended for use as a general purpose RISC chip for various devices none of which required strong FP performance.
You were correct until you got to the FP performance part...
Afaik SH4 was just as much off the shelf as other SHs and Rxxxs were in other consoles before and after. Grab a design, modify it a bit, and stuff it in the box. Gekko is more of the same, just that it builds on a non Mips/Hitachi design for a change.
Somewhat, but not quite... While there are external difference between variations of SH-4s (the nature of embedded processors) such as memory controllers, external interfaces, ports, etc., the core is essentially the same as any other SH-4 model. I.e. code compiled (ABI withstanding) for the SH-7709 (DC), will pretty much run fine on any of the other SH-775x/776x... Ergo, the 7709 doesn't have any instructions not present in other SH-4s (excluding some of the newer sythesized non-FPU designs).
On Gekko, OTOH has a lot of changes to the core that makes it different from the rest of the 750 line. No other PowerPC in the 750 line has a write-gather pipe attached to the LS pipe, or the DMA queue. Also no 750 has Gekko's cache locking features, loadQ, storeQ intructions, or any of the packed FP ALU instructions... You compile something for (say fictional gcc flag -mcpu=gekko mtune=750) and try to run that on any other PowerPC 750 (or any PowerPC for that matter, again ABI withstanding) you're program is likely to crash...