Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| 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> |
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
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