From Newsgroup: comp.arch
John Levine <
johnl@taugh.com> writes:
Also, the LUT bit is look-up tables, less flexible but presumably faster
than full microinstructions.
Microinstructions use the full-custom hardware of the CPU running at
5GHz or so. LUTstructions use FPGA LUTs, resulting in clock rates on
the order of 50-300MHz. There are some things that take many (micro)instructions based on the building blocks available to (micro)instructions, and that can be done in one or a few cycles in
FPGAs. But of course that must be so hard that the factor 20-100
speed disadvantage of FPGAs can be overcome. There are not that many
such useful things that satisfy that criterion, and if they are useful
to a lot of people, they tend to be cast into custom silicon at some
point (e.g., the AESENC instruction in AMD64 or video encoding and
decoding hardware in various GPUs). That's why the dream that people
have of adding an FPGA to a CPU to add additional special-purpose
instructions somehow has never happened (at least in the mass market),
although people where hopeful when AMD bought one FPGA company and
Intel bought the other one.
The bottom line is that I see it exactly the other way round: FPGAs
are flexible but slow, microinstructions steering full-custom hardware
are less flexible but fast, instructions steering full-custom hardware
are inflexible at the individual instruction level, but can be
composed to flexible routines, and that tends to be slightly faster
than microcoded instructions (because CPUs have overhead when entering microcode).
There has been some work at connecting blocks of custom hardware using FPGA-like mechanisms, and some of that has made it to real FPGAs, and
I expect that the flexibility/speed balance of that lands somewhere
between using LUTs and using microinstructions.
I have only looked at your posting, not the paper itself, but I don't
see anything in the abstract that would change this.
- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <
c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>
--- Synchronet 3.21b-Linux NewsLink 1.2