Re: The coming death of all RISC chips.



Robert Myers <rbmyersusa@xxxxxxxxx> writes:
On Apr 22, 4:57=A0am, an...@xxxxxxxxxxxxxxxxxxxxxxxxxx (Anton Ertl)
wrote:

I think they added the features because of another conservation of
complexity law: they made it as complex as they believed it could be
implemented; and each feature looks like a good idea.

It's all so strange. The idea, I thought, was to put the burden on
the compiler so the processor could be as simple (and as fast) as
possible.

I don't think "as simple as possible" was part of the design goals. I
think it's: "Don't do in hardware what can be done in the compiler".

If the architecture became cluttered for really no good
reason other than that it was possible, that is truly depressing.

There are good reasons for each of the features; they were there for
things that could not be done or could not be done well by the
compiler.

E.g., if you do modulo variable expansion in the compiler, the code
grows quite a lot (multiple versions with different register
allocations of the steady state and the epilog); instead, you can have
a rotating register file; plus some predicate-handling stuff to reduce
the size of the prolog and epilog even more. And indeed, on things
where software pipelining helped, the Itaniums shone.

(One might argue that software pipelining is only useful for code that
can also be vectorized, and that the now-dominating SIMD approach
requires less control overhead, but OTOH my impression is that the
SIMD instructions are not utilized very well by compilers and most of
the SIMD usage we see nowadays is due to hand-tuned kernels; so as a
general-purpose feature SIMD seems less useful than the IA-64
architectural software pipelining support; OTOH, the SIMD stuff
probably also has fewer interactions with other parts of the hardware
than the software pipelining support).

- anton
--
M. Anton Ertl Some things have to be seen to be believed
anton@xxxxxxxxxxxxxxxxxxxxxxxxxx Most things have to be believed to be seen
http://www.complang.tuwien.ac.at/anton/home.html
.



Relevant Pages

  • Re: Language features worth proposing
    ... Some directive to disallow implicit external procedures. ... one could argue that a compiler flag to do this is ... partly because string conversion is 'fuzzy'. ... for some pet feature to be added. ...
    (comp.lang.fortran)
  • Re: register attribute
    ... Some linkers allow you to force alignment by external symbol ... > of which elements of an array are the real and which are the ... > number of operations to be reduced almost exactly by the SIMD ... > factor if the compiler were smart enough to know where to look ...
    (comp.lang.fortran)
  • Re: First Fortran program vectorized with experimental version of GNU Fortran.
    ... > Intel compiler will inform you which of the loops it managed to ... Why are you under the impression that I wanna vectorize loops? ... such as pipelining and SIMD can in principle limit the processing ...
    (comp.lang.fortran)
  • Re: c++ interpreter
    ... I didn't say it wasn't a feature. ... the setup to the bug ... - Automatically Execute tests on Save ... > unless your compiler builds an executable w/ errors, ...
    (comp.lang.cpp)
  • Deletion of BITS Datatype from Fortran 2008 (Was: Quick Summary of WG5/J3 London meeting)
    ... but my annoyance at lack of this type of feature is fairly high). ... proportion of all Fortran programmers. ... "New datatypes are the worst kind of new feature. ... they affect only a small part of the compiler. ...
    (comp.lang.fortran)