Deutsch   English   Français   Italiano  
<vjjj2j$3ucms$1@dont-email.me>

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

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Marcus <m.delete@this.bitsnbites.eu>
Newsgroups: comp.arch
Subject: Re: What do we call non-pipelined designs?
Date: Sat, 14 Dec 2024 10:27:47 +0100
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <vjjj2j$3ucms$1@dont-email.me>
References: <vj55g7$1m45$1@dont-email.me>
 <d65a33a059ff66f5dac9415eafc290dd@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 14 Dec 2024 10:27:47 +0100 (CET)
Injection-Info: dont-email.me; posting-host="8be0ec7f85c108e524ec931794bbf220";
	logging-data="4141788"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18u/jobz2gMGqFBrvXXsLors26gyNfO38g="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:GyRN2GdpmbcfB5B8mFdk2KhjT0s=
In-Reply-To: <d65a33a059ff66f5dac9415eafc290dd@www.novabbs.org>
Content-Language: en-US
Bytes: 2829

On 2024-12-09 00:05, MitchAlsup1 wrote:
> On Sun, 8 Dec 2024 22:10:15 +0000, Marcus wrote:
> 
>> I usually (and simplistically) divide CPU designs (implementations) into
>> two main categories:
>>
>> - Pipelined
>> - Non-pipelined
>>
>> Of course, there is a sliding scale at play, but let's not get into that
>> debate.
>>
>> My question is: What is the best name for non-pipelined designs?
> 
> If any portion of the design fetches the next instruction before the
> last calculation of the previous instruction, then the design is
> pipelined. CDC 6600 had a pipelined front end and serially reusable
> calculation units. {{Also note under this definition 6800, 68000, and
> 8086 were (partially pipelined) architectures.

Yes, it's certainly a scale, where most implementations have *some*
pipelining and *some* unit reuse. I'm thinking about what to call the
two ends of that scale.

> 
>> I'm thinking about CPU:s that transition through several states (one
>> clock cycle after another) when executing a single instruction (e.g.
>> FETCH + DECODE + EXECUTE), and where instruction and data typically
>> share the same memory interface.
> 
> Given that one can take an off the shelf (rather cheap) FPGA and
> implement a fully pipeline RISC ISA implementation::
> 
> Why, in this day and age, would anyone want to even consider doing
> something less pipelined than that ?!?!?

My question is more about the nomenclature, not about merits of
different design choices.

It's mostly about overall design, where on one end (e.g. the MIPS)
you focus on instruction throughput at the cost of resource duplication,
while on the other end (e.g. 6502) you focus on resource reuse at the
cost of lower performance.

/Marcus