View Single Post
Old 24 February 2017, 02:44   #22
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
Originally Posted by absence View Post
The Playstation has rather ugly 3D graphics due to lack of perspective correction (textures get warped) and low precision in the vertex position output from the geometry transformation (moving triangles stutter). Hombre could very well have produced better graphics, but would also be more expensive with its 100+ MHz CPU compared to Playstation's 33 Mhz one. If Commodore had gotten it out in a timely manner, it might have competed quite favourably against the PC though, as 3DFX Voodoo wasn't released until 1996. I don't think it would be possible for Commodore to use custom graphics chips designed in-house after that however. They would have to use third-party graphics cores like most successful arcade machines and game consoles have done ever since.
We can do a little better armchair analysis of Hombre.

Originally Posted by Dr. Ed Hepler

Hombre was to be a complete system in two chips.

The first chip was the CPU chip and contained a RISC integer core, a blitter, a 3D colour rendering engine, audio, a CD interface, a peripheral interface, a bus interface and controllers for display and system memories.

The second chip was the video data path and contained line buffers, a colour lookup table, etc.
The "CPU chip" was doing most of the 3D, general purpose processing and could act as a logic controller.

Originally Posted by Dr. Ed Hepler
Hombre had an integer PA-RISC core on board to act as the system processor in the low-end mode or as a peripheral processor in the high-end mode. I added a few instructions to it to help in graphics and 3D processing, much like the MMX instructions that Intel has added to the Pentium.
The "CPU chip" included a PA-RISC (probably 7150@125MHz) with SIMD (maybe MAX-2?). It sounds like the SIMD was customized and used for 3D probably giving much of the performance.

Originally Posted by Dr. Ed Hepler
I was targeting $45 (USD) for the two chips (total). This would have been our cost to produce...
There was probably a good relationship with HP as this sounds like a reasonable price. Perhaps C= finally made the deal they needed but too late.

Let's evaluate the PA-RISC 7150 (introduced in 1994) with SIMD. It was based on the PA-RISC 7100 using the same fab process but with improved circuit design to allow 125MHz. The PA-RISC was one of the first general purpose processors to include an SIMD called MAX which processed only 32 bits as 2x16 bit data at one time using a single instruction (1.9x to 2.7x fps speedup claimed for MPEG video, convolve 512x512, zoom 512x512 and H.261 video). MAX-2 could process 64 bits as 4x16 bit data at one time using a single instruction (likely 2x the performance of 32 bit MAX).

The PA-RISC 7100@99MHz (L1: 256kB ICache/256kB DCache) without SIMD could decode MPEG 320x240 video at 18.7 fps. My 68060@75MHz (L1: 8kB ICache/8kB DCache) using the old RiVA 0.50 decodes MPEG video between 18-22fps (average ~20fps). An update to the new RiVA 0.52 works now giving 21-29 fps (average is ~26fps with more 68060 optimization possible). Note that the PA-RISC 7100 was introduced in 1992 and used in technical and graphical workstations and computing servers while the 68060 was introduced in 1994 for desktop and embedded applications (less demanding and lower cost applications). The PA-RISC 7100LC@60MHz (L1: 32kB ICache/32kB DCache) introduced in 1994 with SIMD (initially 32 bit MAX but may have been upgraded to MAX-2 later?) could do 26fps decoding 320x240 MPEG. MAX not only improved the performance (finally better than the 68060 at MPEG fps) but improved the code density by replacing many RISC instructions allowing the cache sizes to be reduced tremendously. The PA-RISC 7100LC@80MHz (L1: 128kB ICache/128kB DCache) with MAX SIMD could do 33fps decoding 320x240 MPEG. The Apollo Core 68k@78MHz should be about the same performance, if not a little better, without using an SIMD (the Apollo Core with SIMD is likely twice as fast as the PA-RISC 7100LC@80MHz in MPEG decoded fps). As we can see, the PA-RISC had unimpressive performance even with an SIMD and lots of resources.

There were other 3D graphics chips which went on to use an SIMD processor in a somewhat similar configuration like the Broadcom VideoCore with ARM CPU as used in the Raspberry Pi. High end graphics boards eventually moved on to more specialized parallel processing units but have a logic controller CPU to process the I/O and feed the specialized units. It looks like this configuration allows more parallelization than an SIMD and scales better while the SIMD can be started quicker (less latency), is easier to program (relative as still not easy to program) and can improve code density (which reduces caches needed) if general purpose enough.

Could Hombre have saved C= from bankruptcy? Probably not as it was not far enough along in development. It was probably on par with the PS1 but wasn't finished so maybe would have had to compete with the PS2. Would C= have been pursuing the PA-RISC if they know now what the 68k could do as presented here? If they were smart, they would have been looking to license or buy the rights to the 68060 from Motorola (should have been cheap as it was undervalued and discarded for PPC) and perhaps add their own SIMD as it would have saved them the development effort of porting the AmigaOS to PA-RISC and they could have done it as a much prioritized effort to make a single chip Amiga (68k+custom chips) SoC. Then again, knowing C=, they would have probably tried to create a 68030 based SoC instead of 68060 based one as they lacked a tech savvy vision with good leadership.

Last edited by matthey; 04 March 2017 at 01:40.
matthey is offline  
Page generated in 0.06000 seconds with 9 queries