Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch > #3076

Re: Next Big Thing

Message-ID <4E4CB399.1040606@SPAM.comp-arch.net> (permalink)
Date 2011-08-17 23:39 -0700
From "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net>
Organization comp-arch.net
Newsgroups comp.arch
Subject Re: Next Big Thing
References (3 earlier) <20338456-6796-45b1-a6ba-2b63891ce1fb@glegroupsg2000goo.googlegroups.com> <4E4B1290.4020004@SPAM.comp-arch.net> <f43sh8-cv41.ln1@ntp6.tmsw.no> <4E4BDC49.4090801@SPAM.comp-arch.net> <f436c67d-a23d-486c-8ee1-007e145c7e03@glegroupsg2000goo.googlegroups.com>

Show all headers | View raw


On 8/17/2011 10:43 AM, MitchAlsup wrote:
> On Wednesday, August 17, 2011 10:20:41 AM UTC-5, Andy Krazy Glew wrote:
>> Now, this is very much equivalent to saying something like ON RISING
>> EDGE.  But I try to think in terms of as few such "clock edges" as
>> possible, ideally only one.
>
> This is exactly right, the clock performs the synchronization of the parallel activities. And does so many (MANY) times better than atomic stuff in software-land.
>
> One very interesting thing about RTL languages is that a particular expression may be executed many times before the totality of activity quiesses (the programmer does not specify how many times, the order of events determines how many times). Whereas, over in the software land, the writers want to execute a block of code exactly once after the gates have been checked and with synchronization to other interested third (and second) parties.
>
> There is a tradeoff, here, and the tradeoff is in absolute performance.

Interestingly, this multiple rexecution, called "relaxation" in hardware 
simulation

1) isn't necessary when you have a purely functional, single assignment 
language

1.1) when you can do "global smashing and code sorting" - unroll all 
loops, inline all functions, sort all code into a dependence graph 
without cycles

1.2) is necessary only when you have separately compiled modules that 
are not maximally unrolled and inlined, or which have cycles

2) you can eliminate cycles easily in functional, single assignment 
languages.

It is much harder to eliminate cycles in a sequential, conventional 
programming language.



But nevertheless sometimes conventional languages are more expressive.

I think relaxation may be useful in creating a common language 
infrastructure that can handle both.




While we are at it - notice the similarity between relaxation and replay 
pipelines?

Back to comp.arch | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Next Big Thing kenney@cix.compulink.co.uk - 2011-08-16 09:47 -0500
  Re: Next Big Thing Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2011-08-16 08:24 -0700
    Re: Next Big Thing Quadibloc <jsavard@ecn.ab.ca> - 2011-08-16 08:51 -0700
      Re: Next Big Thing MitchAlsup <MitchAlsup@aol.com> - 2011-08-16 12:17 -0700
        Re: Next Big Thing "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> - 2011-08-16 18:00 -0700
          Re: Next Big Thing Terje Mathisen <"terje.mathisen at tmsw.no"> - 2011-08-17 08:19 +0200
            Re: Next Big Thing Colin Paul Gloster <Colin_Paul_Gloster@ACM.org> - 2011-08-17 12:40 +0000
            Re: Next Big Thing "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> - 2011-08-17 08:20 -0700
              Re: Next Big Thing MitchAlsup <MitchAlsup@aol.com> - 2011-08-17 10:43 -0700
                Re: Next Big Thing nmm1@cam.ac.uk - 2011-08-17 18:19 +0100
                Re: Next Big Thing "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> - 2011-08-17 23:39 -0700
                Re: Next Big Thing nmm1@cam.ac.uk - 2011-08-18 07:27 +0100
  Re: Next Big Thing torbenm@diku.dk (Torben Ægidius Mogensen) - 2011-08-17 10:49 +0200
    Re: Next Big Thing Quadibloc <jsavard@ecn.ab.ca> - 2011-08-17 05:37 -0700
  Re: Next Big Thing mac <acolvin@efunct.com> - 2011-08-18 22:23 +0000
  Re: Next Big Thing Morten Reistad <first@last.name> - 2011-08-24 20:44 +0200
    Re: Next Big Thing nmm1@cam.ac.uk - 2011-08-24 20:23 +0100

csiph-web