🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #22192

Re: CISC Silent Spring

#22192
From: Charles Marslett
Date: Wed, 07 Feb 1990 03:08
41 lines
2437 bytes
In article <4537@brazos.Rice.edu>, preston@titan.rice.edu (Preston Briggs) writes:
> For (an old, perhaps overworked) example:
> Suppose I want to load a value from
> memory and add it to a register.  On most CISC's I can do it in one
> instruction.  On most RISC's, I have to use 2 instructions.
> On the RISC machine, the value I loaded will still be in a register
> where I can reuse it later.  Of course, we could also use 2 instructions
> on the CISC.  How often does this case arise?  That depends on
> your code and the strength of your optimizer.  The RISC bet (supported
> by dynamic code measurements) is that it happens a lot.

Is this dynamic code measurements of sloppy assembly code or good compiler
generated code or . . .

If the addend is used all that much, some form of code strength reduction
would be warranted.  I suspect the measurements are due to the "cheapness"
of the CISC address arithemetic [using PTR+6, PTR+9, PTR+12, etc., because
it costs nothing in execution time].

Add immediate is used a lot because it is cheap, too.

> So, no matter how fast the CISC people make that "add from memory"
> instruction run, it won't matter much because it isn't used much.

If my memory is still holding up, the probability that you will reuse the
addend is less than 50% with vast numbers of registers (64 or so), and then
only if you spend an immense amount of computational resources doing rather
good data flow analysis.  That says if you have add-from-memory, you're better
off most of the time using it.

The more accurate statement might be that if you design a RISC box, it is
better to design a register-to-register add than a memory-to-register add
or a register-to-memory add because the penalty for the other 50% where it
is not optimal is much less.

> Preston Briggs
> preston@titan.rice.edu

Charles Marslett
chasm@attctc.dallas.tx.us
[I needed some hate mail anyway, ;^)]
Technical Details
Message-ID: <11343@attctc.Dallas.TX.US>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!zaphod.mps.ohio-state.edu!think!mintaka!mit-eddie!attctc!chasm
References: <3300098@m.cs.uiuc.edu> <771@sce.carleton.ca> <35456@mips.mips.COM> <4537@brazos.Rice.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!zaphod.mps.ohio-state.edu!think!mintaka!mit-eddie!attctc!chasm
From: chasm@attctc.Dallas.TX.US (Charles Marslett)
Newsgroups: comp.arch
Subject: Re: CISC Silent Spring
Summary: WHAT???
Message-ID: <11343@attctc.Dallas.TX.US>
Date: 7 Feb 90 03:08:33 GMT
References: <3300098@m.cs.uiuc.edu> <771@sce.carleton.ca> <35456@mips.mips.COM> <4537@brazos.Rice.edu>
Organization: The Unix(R) Connection, Dallas, Texas
Lines: 41