🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #12198

Re: CISC vs. RISC Code Sizes

#12198
From: Martin Golding
Date: Thu, 20 Jun 1991 17:20
53 lines
3015 bytes
In <3436@crdos1.crd.ge.COM> davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) writes:

>In article <1991Jun18.152303.1889@rice.edu> preston@asta.rice.edu (Preston Briggs) writes:

>|                                 Choosing the right instruction set
>| can lead to tremendous space compression (orders of magnitude).

>  I'd like to see how you got that. Even if you had a CPU which used LZW
>or Huffman code as opcodes, I don't think you see even one order of
>magnitude. 

The Pick operating system, it its original machine code, requires slightly
less than .5 Meg of memory. It expands 4 to 6 times on CISC machines, and 
8 to 12 times on RISC machines; ie: 1 order of magnitude. The instruction
set was designed simultaneously with the system, and is the most C of all
the ISs I've ever seen on a C. 

Details, of course, are proprietary.

>Note that this is hard to measure, since any object files
>almost always contain data. 

But not more than a percentage, so the one order of magnitude is plus
some insignificant amount (or even a significant amount, but certainly
not 2 orders of magnitude).

>Still, no compression method operating on
>either RISC or CISC code will give anything like even one order of
>magnitude, so I don't see that using an interpreted language will save
>that much. If it will maybe you've hit on another data compression
>scheme.

This isn't a process of data compression, it's a process of function
compression, ie, each instruction encodes a series of machine operations.
For a clear and RISC type example, take a look at your generated assembly
code, and estimate the resulting size increase if you removed address
calculation from all of the load/store instructions.

To make use of such an instruction set, you need either a high level
source language or you need a 'vectorizing' compiler, ie, one that
can infer a single high level operation out of a series of low level ones.
Or, you can write everything in assembler, which is sufficiently
productive if your machine language is of a much higher order than
the available high level language.

I'll always wonder whether the world would be substantially different,
if that original PDP11 had had the commercial instruction set.


Martin Golding    | sync, sync, sync, sank ... sunk:
Dod #0236         |  He who steals my code steals trash.
A poor old decrepit Pick programmer. Sympathize at:
{mcspdx,pdxgate}!adpplz!martin or martin@adpplz.uucp
Technical Details
Message-ID: <825@adpplz.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!samsung!uunet!ogicse!cvedc!mcspdx!adpplz!martin
References: <1991Jun18.132315.8202@cbnewsl.att.com> <1991Jun18.152303.1889@rice.edu> <3436@crdos1.crd.ge.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!samsung!uunet!ogicse!cvedc!mcspdx!adpplz!martin
From: martin@adpplz.UUCP (Martin Golding)
Newsgroups: comp.arch
Subject: Re: CISC vs. RISC Code Sizes
Keywords: CISC RISC Size CRISP MIPS R3000
Message-ID: <825@adpplz.UUCP>
Date: 20 Jun 91 17:20:57 GMT
References: <1991Jun18.132315.8202@cbnewsl.att.com> <1991Jun18.152303.1889@rice.edu> <3436@crdos1.crd.ge.COM>
Organization: ADP Dealer Services R&D, Portland, OR
Lines: 53