Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-25 Thread Guy Dunphy via cctalk
At 12:56 PM 25/06/2019 +0200, Liam Proven wrote:
>On Mon, 24 Jun 2019 at 12:31, Tony Aiuto via cctalk
> wrote:
>>
>> On a related note, a fun talk about ARM
>> https://www.youtube.com/watch?time_continue=2045=_6sh097Dk5k
>
>Remarkable. Thanks for the link. Astounding. Very thought-provoking.


Yes, it is. Fascinating!
And right now jdownloader is fetching me a local copy, as opposed to
previously not working with that one video for some inexplicable reason.
So thanks for reminding me to try again.

Guy


Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-25 Thread Liam Proven via cctalk
On Mon, 24 Jun 2019 at 12:31, Tony Aiuto via cctalk
 wrote:
>
> On a related note, a fun talk about ARM
> https://www.youtube.com/watch?time_continue=2045=_6sh097Dk5k

Remarkable. Thanks for the link. Astounding. Very thought-provoking.



-- 
Liam Proven - Profile: https://about.me/liamproven
Email: lpro...@cix.co.uk - Google Mail/Hangouts/Plus: lpro...@gmail.com
Twitter/Facebook/Flickr: lproven - Skype/LinkedIn: liamproven
UK: +44 7939-087884 - ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053


Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-24 Thread Tony Aiuto via cctalk
On a related note, a fun talk about ARM
https://www.youtube.com/watch?time_continue=2045=_6sh097Dk5k


Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-17 Thread Pontus Pihlgren via cctalk
On Sat, Jun 15, 2019 at 08:25:13AM -0700, Chuck Guzis via cctalk wrote:
> 
> It's difficult to say exactly, because of the constraints on the
> definition.   Or does something have to be RISC only if it came after
> the definition?
> 

I would say that one of the points he was making is that the definition 
is not very clear.

It was enlightning to see that there are properties and traits other 
than instruction count and addressing mode counts that make a design 
RISCy or CISCy

(I haven't read the whole thing yet, it requires some digestion: )

/P


Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-16 Thread Chuck Guzis via cctalk
On 6/16/19 8:17 AM, Noel Chiappa via cctalk wrote:

> Still, the basic idea of RISC still applies; make the CPU clock rate as fast 
> as
> possible by making the instructions simple, and let software deal with the 
> resulting
> issues.

I'll mention in passing here that the goal of executing the maximum
number of instructions per unit time is a bit of a red herring.  What
really matters is delivering the largest number of results per unit
time.   So SIMD ISAs can blow away scalar RISC implementations for
certain classes of problems, which is why they've been part of
multimedia for a long time now and are even part of ARM (e.g. Neon).

--Chuck





Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-16 Thread Noel Chiappa via cctalk
I finally got around to reading that note. My principal reponse is that it got 
so
far down into details that I couldn't see the larger picture any more.

Going back to the original IBM 801 work, the RISC concept is very simple: to 
make
the overall system as fast as possible; it did this by making the CPU cycle time
as short as possible. This results in a CPU that is not as easy to work with;
therefore the compiler has to be 'smarter'. In other words, engineering 
complexity
is moved from the hardware to the software.

This is an an acceptable tradeoff; the complexity in the software is not a 
recurring
cost, whereas extra gates add cost to every machine produced. Moreover, while 
the
more complex compiler may be more time-consuming to run, that cost is only paid
once, whereas the efficiency of the binary is felt every time the program is 
run.

Focusing on what features a CPU does or does not have in some ways misses the
whole point of RISC: it's not about what specific features the CPU has, in
isolation; it's about looking at the system as a whole, all the way up through
the compilers, to maximize performance.

I recall Tom Knight laying out the implication for CPU design very simply, in a
seminar I took back when the idea had just come out: look at the CPU design, and
find the longest signal path; this will set the lower limit on the clock time.
Redesign to remove that path; since the capability that needed it will 
inevitably be
used only part of the time, the execution increase caused by losing it will be
outweighed by the speedup of all the other instructions.

The other thing one needs to remember, talking about RISC, is that it's now
been almost 40 years since the concept was devised (an eternity in the computing
field), and the technology environment has changed drastically since then. So
RISC has changed and adapted as that environment changed.

Nowadays, when people throw a billion transistors at each CPU, the picture is
somewhat different. Register widows were just the first instance of this sort of
thing; we have this unused area of the chip, what can we put there?


>> On 6/15/19 3:40 PM, ben via cctalk wrote:

>> CISC design is now needed to handle the 'extended features'. ... RISC 
came
>> along only because Compilers could only generate SIMPLE instructions, 
that
>> matched the RISC format.

No; compilers had been created that could use the more complex CISC 
instructions of,
say, a VAX. RISC post-dated a lot of those developments, and had an entirely
different point.


> From: Chuck Guzis

> For what it's worth, the number of instructions in the ISA does not define
> RISC, but rather that the instructions execute quickly. Some RISC
> implementations have large instruction sets.

Right; what's reduced is the complexity of the instructions, which leads to
the speedup which is the goal, not the number of them.

In fact, a RISC CPU may actually have more instructions, e.g. separate ones
for different cases, with the compiler being given the responsibility of
picking the right one, instead of the CPU figuring it out as it goes.

> RISC does carry a penalty in that you're executing more instructions to 
get
> something done, so your code space is larger; but, you hopefully have 
them scheduled
> such that the whole task runs faster.

This in another aspect, which I've mentioned before, behind the rise of RISC, 
which
is the changing size and speed of main memory, relative to the CPU. Simpler
instructions are faster, but a given task will need more of them. This is 
acceptable
if the memory can supply them fast enough. If the memory bandwidth is less, more
complex instructions make sense, to get more out of the limited bandwidth.

Also, if memory is of limited capacity, or expensive, then more complex 
instructions
make sense, since more can be done with a fixed amount of memory. (The PDP-11 
still
scores very high in code density.) This too, however, has been overtaken by the
march of technology.

Still, the basic idea of RISC still applies; make the CPU clock rate as fast as
possible by making the instructions simple, and let software deal with the 
resulting
issues.

Noel



Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-15 Thread Chuck Guzis via cctalk
On 6/15/19 3:40 PM, ben via cctalk wrote:
> On 6/15/2019 8:47 AM, Stefan Skoglund via cctalk wrote:
> 
>> With VAX 11/780 and S/360 involved ? I don't think so soo
>> the Cyber series and 709(4) could be interesting.
> 
> Well the early 1960's was the rise of BIG IRON that had REAL POWER
> and that led to people thinking about high level languages and Computer
> Science in general. We got  PL/I (USA) and ALGOL (Every where ELSE)
> that is a realy hard to compile into effective code. CISC design is
> now needed to handle the 'extended features'. C was simmpler,
> but still hand many features. RISC came along only because Compilers
> could only generate SIMPLE instructions, that matched the RISC format.

I'm not completely sure I'd agree with that assessment.  Heck, we talked
to the hardware design people to add/modify CISC instructions to fit the
compiler needs.

RISC had a benefit not so much for compiler work, but that a greater
issue rate with the optimization and scheduling tasks left to the
compiler (or programmer) rather than the hardware.

I'll posit that RISC offers little gain on simple unified ALU CPUs or a
CPU with a small register file.  Where are are pipelined, segmented and
multiple functional units, RISC starts to shine, provided that the
register file is large enough and the instruction issue rate is fast enough.

For what it's worth, the number of instructions in the ISA does not
define RISC, but rather that the instructions execute quickly.  Some
RISC implementations have large instruction sets.

In fact, RISC does carry a penalty in that you're executing more
instructions to get something done, so your code space is larger; but,
you hopefully have them scheduled such that the whole task runs faster.

A related subject of "let the compiler do it" is VLIW.

--Chuck







Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-15 Thread ben via cctalk

On 6/15/2019 8:47 AM, Stefan Skoglund via cctalk wrote:


With VAX 11/780 and S/360 involved ? I don't think so soo
the Cyber series and 709(4) could be interesting.


Well the early 1960's was the rise of BIG IRON that had REAL POWER
and that led to people thinking about high level languages and Computer
Science in general. We got  PL/I (USA) and ALGOL (Every where ELSE)
that is a realy hard to compile into effective code. CISC design is
now needed to handle the 'extended features'. C was simmpler,
but still hand many features. RISC came along only because Compilers
could only generate SIMPLE instructions, that matched the RISC format.
My 2 cents.
Ben.



Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-15 Thread Chuck Guzis via cctalk
On 6/15/19 7:47 AM, Stefan Skoglund wrote:

> 
> With VAX 11/780 and S/360 involved ? I don't think so soo
> the Cyber series and 709(4) could be interesting.

It's difficult to say exactly, because of the constraints on the
definition.   Or does something have to be RISC only if it came after
the definition?

One of the issues with much older systems is that register memory was
very expensive--and the corollary, of course, is that memory in general
was expensive and a bottleneck.  So, for example, the IBM  7030, with
all of its very advanced architecture, remains out of the picture,
because of its single-accumulator architecture.  I don't think I'd call
a 7090 a RISC architecture, either.

There are plenty of early simple-architecture systems, (e.g. IBM 1130)
that fail to qualify under the RISC definition because of this.

One detail about the CDC 6000 that escapes many people is that there are
no condition codes for branches.   Given a three-address architecture,
there's no "compare" instruction either (absent the CMU add-on).  If you
want to compare, say, registers X1 and X2 for equality, your code might
look like this:

IX0 X1-X2
ZR  X0,equal-target

The peculiar advantage of this is that condition codes don't come into
the picture for the purposes of instruction scheduling--one simply uses
the normal result reservation mechanism.  The "compare" (IX0) above, can
be anywhere in the preceding instruction stream before the zero jump.

--Chuck





Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-15 Thread Stefan Skoglund via cctalk
ons 2019-06-12 klockan 14:35 -0700 skrev Chuck Guzis via cctalk:
> On 6/12/19 1:47 PM, alan--- via cctalk wrote:
> > I especially appreciated he not only offered an opinion - his
> > specific
> > ideas on where the boarder between RISC and CISC was - but then
> > provided
> > an analysis of a bunch of processors based on those criteria and an
> > analysis of the outliers that challenged his criteria.  It's a well
> > thought-out and explained opinion that just doesn't happen often on
> > the
> > Internet.
> > 
> > I assume from RS/6000, he meant generally the Power gen 1
> > architecture. 
> > And IBM RT/PC he meant ROMP.  I'm pretty sure Alpha was well
> > established
> > when he wrote the analysis.  Would have been nice to see that
> > included. 
> > If I had more time, I'd research it.  Maybe SuperH and WE32 as
> > well.
> > 
> 
> Is the discussion restricted to microprocessors?
> 
> --Chuck
> 

With VAX 11/780 and S/360 involved ? I don't think so soo
the Cyber series and 709(4) could be interesting.




Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread Chuck Guzis via cctalk
On 6/12/19 1:47 PM, alan--- via cctalk wrote:
> 
> I especially appreciated he not only offered an opinion - his specific
> ideas on where the boarder between RISC and CISC was - but then provided
> an analysis of a bunch of processors based on those criteria and an
> analysis of the outliers that challenged his criteria.  It's a well
> thought-out and explained opinion that just doesn't happen often on the
> Internet.
> 
> I assume from RS/6000, he meant generally the Power gen 1 architecture. 
> And IBM RT/PC he meant ROMP.  I'm pretty sure Alpha was well established
> when he wrote the analysis.  Would have been nice to see that included. 
> If I had more time, I'd research it.  Maybe SuperH and WE32 as well.
> 

Is the discussion restricted to microprocessors?

--Chuck



Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread Jecel Assumpcao Jr. via cctalk
Alan,

> I especially appreciated he not only offered an opinion - his specific 
> ideas on where the boarder between RISC and CISC was - but then provided 
> an analysis of a bunch of processors based on those criteria and an 
> analysis of the outliers that challenged his criteria.  It's a well 
> thought-out and explained opinion that just doesn't happen often on the 
> Internet.

It does happen quite a lot but is drowned out by the far larger volume
of nonsense.

> I assume from RS/6000, he meant generally the Power gen 1 architecture.  
> And IBM RT/PC he meant ROMP.  I'm pretty sure Alpha was well established 
> when he wrote the analysis.  Would have been nice to see that included.  

The text explains the situation in 1991 and the Alpha was released in
1992.

-- Jecel


Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread alan--- via cctalk



I especially appreciated he not only offered an opinion - his specific 
ideas on where the boarder between RISC and CISC was - but then provided 
an analysis of a bunch of processors based on those criteria and an 
analysis of the outliers that challenged his criteria.  It's a well 
thought-out and explained opinion that just doesn't happen often on the 
Internet.


I assume from RS/6000, he meant generally the Power gen 1 architecture.  
And IBM RT/PC he meant ROMP.  I'm pretty sure Alpha was well established 
when he wrote the analysis.  Would have been nice to see that included.  
If I had more time, I'd research it.  Maybe SuperH and WE32 as well.


Thanks for sharing! +1

-Alan H.

On 2019-06-12 13:45, Chuck Guzis via cctalk wrote:
On Jun 12, 2019, at 11:59 AM, Liam Proven via cctalk 
 wrote:


Goes a bit over my head but may be of interest:

https://userpages.umbc.edu/~vijay/mashey.on.risc.html



There are fuzzy areas.   Consider the ETA 10--a very RISC scalar unit
that pretty much fulfills the criteria laid out, bolted onto a vector
unit (all memory-memory).


Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread Will Cooke via cctalk


> On June 12, 2019 at 12:45 PM Alan Perry via cctalk  
> wrote:
> 
> 
> Ok. Here is a second thank you. An interesting read.
> > On Jun 12, 2019, at 9:58 AM, Liam Proven via cctalk  
> > wrote:
> > > On Wed, 12 Jun 2019 at 18:55, David  wrote:
> > > 
> > > I found it most interesting, thanks for sending out the link.
> > Oh good. I'm glad to hear that. One "thank you" makes it worth the while. 
> > :-)
> > 
> > -- 
> > Liam Proven - Profile: https://about.me/liamproven
> > Email: lpro...@cix.co.uk - Google Mail/Hangouts/Plus: lpro...@gmail.com
> > Twitter/Facebook/Flickr: lproven - Skype/LinkedIn: liamproven
> > UK: +44 7939-087884 - ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053

And a third.
CISC VS RISC MINUS RELIGION -- rare


Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread Chuck Guzis via cctalk
On 6/12/19 10:14 AM, Paul Koning via cctalk wrote:
> 
> 
>> On Jun 12, 2019, at 11:59 AM, Liam Proven via cctalk  
>> wrote:
>>
>> Goes a bit over my head but may be of interest:
>>
>> https://userpages.umbc.edu/~vijay/mashey.on.risc.html
> 
> Nice.  Still reading through it.
> 
> I like his definition of RISC.  It captures the key points.  Interesting that 
> a substantial fraction of those criteria apply to the CDC 6000 architecture, 
> which some of us like to call out as the first RISC architecture.  Sure, it 
> has only 3 x 8 registers, but when registers are built up out of discrete 
> transistors that's understandable.  The performance considerations that drive 
> the RISC design approaches carry over quite nicely.

There are fuzzy areas.   Consider the ETA 10--a very RISC scalar unit
that pretty much fulfills the criteria laid out, bolted onto a vector
unit (all memory-memory).

--Chuck



Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread Alan Perry via cctalk
Ok. Here is a second thank you. An interesting read.

> On Jun 12, 2019, at 9:58 AM, Liam Proven via cctalk  
> wrote:
> 
>> On Wed, 12 Jun 2019 at 18:55, David  wrote:
>> 
>> I found it most interesting, thanks for sending out the link.
> 
> Oh good. I'm glad to hear that. One "thank you" makes it worth the while. :-)
> 
> -- 
> Liam Proven - Profile: https://about.me/liamproven
> Email: lpro...@cix.co.uk - Google Mail/Hangouts/Plus: lpro...@gmail.com
> Twitter/Facebook/Flickr: lproven - Skype/LinkedIn: liamproven
> UK: +44 7939-087884 - ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053



Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread Paul Koning via cctalk



> On Jun 12, 2019, at 11:59 AM, Liam Proven via cctalk  
> wrote:
> 
> Goes a bit over my head but may be of interest:
> 
> https://userpages.umbc.edu/~vijay/mashey.on.risc.html

Nice.  Still reading through it.

I like his definition of RISC.  It captures the key points.  Interesting that a 
substantial fraction of those criteria apply to the CDC 6000 architecture, 
which some of us like to call out as the first RISC architecture.  Sure, it has 
only 3 x 8 registers, but when registers are built up out of discrete 
transistors that's understandable.  The performance considerations that drive 
the RISC design approaches carry over quite nicely.

paul




Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread Liam Proven via cctalk
On Wed, 12 Jun 2019 at 18:55, David  wrote:
>
> I found it most interesting, thanks for sending out the link.

Oh good. I'm glad to hear that. One "thank you" makes it worth the while. :-)

-- 
Liam Proven - Profile: https://about.me/liamproven
Email: lpro...@cix.co.uk - Google Mail/Hangouts/Plus: lpro...@gmail.com
Twitter/Facebook/Flickr: lproven - Skype/LinkedIn: liamproven
UK: +44 7939-087884 - ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053


Re: One of the deeper dives into RISC vs CISC I've seen

2019-06-12 Thread David via cctalk
I found it most interesting, thanks for sending out the link.

David

> On Jun 12, 2019, at 8:59 AM, Liam Proven via cctalk  
> wrote:
> 
> Goes a bit over my head but may be of interest:
> 
> https://userpages.umbc.edu/~vijay/mashey.on.risc.html
> 
> -- 
> Liam Proven - Profile: https://about.me/liamproven
> Email: lpro...@cix.co.uk - Google Mail/Hangouts/Plus: lpro...@gmail.com
> Twitter/Facebook/Flickr: lproven - Skype/LinkedIn: liamproven
> UK: +44 7939-087884 - ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053