Deutsch   English   Français   Italiano  
<a7558b1767c6cb23070ccc4b0a3fc47b@www.novabbs.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.quux.org!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
Subject: Re: Why VAX Was the Ultimate CISC and Not RISC
Date: Sat, 1 Mar 2025 22:30:32 +0000
Organization: Rocksolid Light
Message-ID: <a7558b1767c6cb23070ccc4b0a3fc47b@www.novabbs.org>
References: <vpufbv$4qc5$1@dont-email.me> <8qJwP.64143$2zn8.32753@fx15.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="2408450"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="o5SwNDfMfYu6Mv4wwLiW6e/jbA93UAdzFodw5PEa6eU";
User-Agent: Rocksolid Light
X-Rslight-Posting-User: cb29269328a20fe5719ed6a1c397e21f651bda71
X-Rslight-Site: $2y$10$3olli3yHbjlOR3DWnGUhy.09N4wSxWig/MdAcvPcLhmSzriXuQHSu
X-Spam-Checker-Version: SpamAssassin 4.0.0
Bytes: 5415
Lines: 87

On Sat, 1 Mar 2025 19:40:55 +0000, EricP wrote:

> Lawrence D'Oliveiro wrote:
>> Found this paper
>> <https://gordonbell.azurewebsites.net/Digital/Bell_Retrospective_PDP11_paper_c1998.htm>
>> at Gordon Bell’s website. Talking about the VAX, which was designed as
>> the ultimate “kitchen-sink” architecture, with every conceivable
>> feature to make it easy for compilers (and humans) to generate code,
>> he explains:
>>
>>     The VAX was designed to run programs using the same amount of
>>     memory as they occupied in a PDP-11. The VAX-11/780 memory range
>>     was 256 Kbytes to 2 Mbytes. Thus, the pressure on the design was
>>     to have very efficient encoding of programs. Very efficient
>>     encoding of programs was achieved by having a large number of
>>     instructions, including those for decimal arithmetic, string
>>     handling, queue manipulation, and procedure calls. In essence, any
>>     frequent operation, such as the instruction address calculations,
>>     was put into the instruction-set. VAX became known as the
>>     ultimate, Complex (Complete) Instruction Set Computer. The Intel
>>     x86 architecture followed a similar evolution through various
>>     address sizes and architectural fads.
>>
>> The VAX project started roughly around the time the first RISC
>> concepts were being researched. Could the VAX have been designed as a
>> RISC architecture to begin with? Because not doing so meant that, just
>> over a decade later, RISC architectures took over the “real computer”
>> market and wiped the floor with DEC’s flagship architecture,
>> performance-wise.
>>
>> The answer was no, the VAX could not have been done as a RISC
>> architecture. RISC wasn’t actually price-performance competitive until
>> the latter 1980s:
>>
>>     RISC didn’t cross over CISC until 1985. This occurred with the
>>     availability of large SRAMs that could be used for caches. It
>>     should be noted at the time the VAX-11/780 was introduced, DRAMs
>>     were 4 Kbits and the 8 Kbyte cache used 1 Kbits SRAMs. Memory
>>     sizes continued to improve following Moore’s Law, but it wasn’t
>>     till 1985, that Reduced Instruction Set Computers could be built
>>     in a cost-effective fashion using SRAM caches. In essence RISC
>>     traded off cache memories built from SRAMs for the considerably
>>     faster, and less expensive Read Only Memories that held the more
>>     complex instructions of VAX (Bell, 1986).
>
> If you look at the VAX 8800 or NVAX uArch you see that even in 1990 it
> was
> still taking multiple clocks to serially decode each instruction and
> that basically stalls away any benefits a pipeline might have given.
>
> If they had just only put in *the things they actually use*
> (as show by DEC's own instruction usage stats from 1982),
> and left out all the things that they rarely or never use,
> it would have had 50 or so opcodes instead of 305,
> at most one operand that addressed memory on arithmetic and logic
> opcodes
> with 3 address modes (register, register address, register offset
> address)
> instead of 0 to 5 variable length operands with 13 address modes each
> (most combinations of which are either silly, redundant, or illegal).

Excepting for the 1 memory operand per instruction, the above para-
graph accurately describes My 66000 ISA.

> Then they would have be able to parse instructions in one clock,
> which makes pipelining a possible consideration,
> and simplifies the uArch so now it can all fit on one chip,
> which allows it to complete with RISC.

If VAX had stuck with PDP-11 address modes and simply added the
{Byte, Half, Word, Double} accesses it would have been a lot easier
to pipeline.

> The reason it was designed the way it was, was because DEC had
> microcode and microprogramming on the brain.

As did most of academia at the time.

> In this 1975 paper Bell and Strecher say it over and over and over.
> They were looking at the cpu design as one large parsing machine
> and not as a set of parallel hardware tasks.

Orthogonality, Regularity, Expressibility, ...

> This was their mental mindset just before they started the VAX design:
>
> What Have We Learned From PDP11, Bell Strecker, 1975
> https://gordonbell.azurewebsites.net/Digital/Bell_Strecker_What_we%20_learned_fm_PDP-11c%207511.pdf