comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Mill processor (Was: Re: Ada case-statement)
Date: Thu, 15 Mar 2018 19:22:26 +0200
Date: 2018-03-15T19:22:26+02:00	[thread overview]
Message-ID: <fgvoejFiea9U1@mid.individual.net> (raw)
In-Reply-To: <66524f57-b182-45ca-aa86-91b033f4fbef@googlegroups.com>

On 18-03-15 14:21 , Dan'l Miller wrote:
> On Thursday, March 15, 2018 at 2:56:55 AM UTC-5, Niklas Holsti
> wrote:
>> And soon we will have processors with the "Mill" architecture,
>> which can execute up to five conditional jumps in _parallel_, in
>> each CPU cycle... brings a whole new set of possibilities for
>> case-statement codde :-)
>>
>> https://millcomputing.com/docs/switches/
>>
>> BTW, the Mill architecture would be good at running Ada programs:
>> very good at controlling the handling arithmetic errors, also good
>> at subprogram calling, threading, emphasis on security
>> (octet-granularity memory protection), etc. As a statically
>> scehduled processor, it _could_ also be the only hope left for a
>> powerful architecture with somewhat deterministic execution timing,
>> for use in critical real-time systems, although the Mill developers
>> currently do not describe it as a real-time processor.
>
> Hmmmmmm.  At 30 subinstructions per wide-issue and the DSP-like
> belt/bypass,  Mill is apparently a VLIW DSP retort to Itanium.

If you dive deeper into the Mill, you will see that the designers are 
very well aware of the VLIW, DSP, and Itanium predecessors, and aim to 
avoid their mistakes and draw-backs.

Their general claim is that the Mill architecture delivers DSP-like 
MIPS/Watt for general (not necessarily DSP-like) applications.

>  Your goal of deterministic execution timing is eroded by the aspect
> of Itanium that most-singlehandedly undermined the entire
> multibillion-dollar EPIC/Itanium effort more than any other aspect:
>
> “• Load responses from a memory hierarchy which includes CPU caches
> and DRAM do not have a deterministic delay. This makes static
> scheduling of load instructions by the compiler very difficult.”

The Mill load instructions have novel means to combat this effect:

https://millcomputing.com/docs/#memory

The Mill also has a scratchpad memory for local storage, avoiding some 
memory accesses.

Cache behaviour (miss/hit/unknown classification, worst-case access 
times) is one aspect of complex processors that _can_ be analysed 
statically, although with some approximation. Works well for instruction 
caches, less well for data caches -- depending on the program to be 
analysed, of course.

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
       .      @       .


  reply	other threads:[~2018-03-15 17:22 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-14 17:35 Ada case-statement Stephen Davies
2018-03-14 17:49 ` Dmitry A. Kazakov
2018-03-15  0:57   ` Robert I. Eachus
2018-03-15  3:10     ` Dan'l Miller
2018-03-15  5:54       ` J-P. Rosen
2018-03-15  7:56         ` Niklas Holsti
2018-03-15 12:21           ` Dan'l Miller
2018-03-15 17:22             ` Niklas Holsti [this message]
2018-03-15 21:50     ` Randy Brukardt
2018-03-14 22:22 ` Mehdi Saada
2018-03-14 23:16 ` Randy Brukardt
2018-03-15  5:04   ` gautier_niouzes
2018-03-15  7:50   ` Jacob Sparre Andersen
2018-03-15 22:05     ` Randy Brukardt
2018-03-15  8:37   ` Dmitry A. Kazakov
2018-03-15 22:20     ` Randy Brukardt
2018-03-16  8:54       ` Dmitry A. Kazakov
2018-03-16 23:49         ` Randy Brukardt
2018-03-17  7:59           ` Dmitry A. Kazakov
2018-03-15 15:37   ` Stephen Davies
2018-03-15 16:33     ` J-P. Rosen
2018-03-15 17:01       ` Dmitry A. Kazakov
2018-03-15 18:41         ` Shark8
2018-03-15 21:12           ` Jeffrey R. Carter
2018-03-18  5:41             ` Robert I. Eachus
2018-03-18  6:57               ` Spiros Bousbouras
2018-03-18  9:17               ` Jeffrey R. Carter
2018-03-18 12:53                 ` Simon Wright
2018-03-15 18:50     ` Jere
2018-03-15 20:40       ` Anh Vo
2018-03-15 22:24     ` Randy Brukardt
2018-03-16  9:53       ` Stephen Davies
2018-04-03 17:56   ` marciant
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox