Timothy Miller wrote:
<SNIP>
Don't get too caught up in what people tend to mean by CISC and RISC. The MIPS processor has a SQRT instruction that takes over 100 cycles
and incurrs all sorts of structural hazzards (resource contention)
against other FP operations.  Our goal should be to design a
straight-forward, simplified instruction set.  That means if we want
to sparsely populate an instruction word, we should do it.  And we
should do all sorts of clever things that implement multiple types of
operations with the same instruction (like how some MIPS opcodes are
really aliases for others where R0 is implicit).  Sorry.  I have MIPS
on the brain.

Floating point isn't really RISC, you have a RISC processor with a FPU since the FPU couldn't execute stuff in one clock. And, then methods were developed to accelerate the FPU so that it could execute in one clock.

What we really need to decide is how to handle operations (such as matrix math) which require a series of steps for the ALU to complete. We can use CISC like operations where the series of operations is in microcode. Or we can have a RISC like control of the ALU where we have SIMD that can operate on up to 4 32 bit floats in parallel and issue a series of instructions to do what one CISC like operation would do. But, you can combine these like the transputer and have the OP instruction which calls a macrocode subroutine to do these things.

I can't see having more than one ALU per shader since it should have 4 32 bit float hardware multipliers. Since the standard shader operation is multiplying three 4x4 matrices, it is the hardware multipliers that is going to boost throughput.

--
JRT
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to