Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| Message-ID | <4E4BDC49.4090801@SPAM.comp-arch.net> (permalink) |
|---|---|
| Date | 2011-08-17 08:20 -0700 |
| From | "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> |
| Organization | comp-arch.net |
| Newsgroups | comp.arch |
| Subject | Re: Next Big Thing |
| References | (1 earlier) <j2e22t$qhl$1@dont-email.me> <c3d9b888-d0e7-4260-bfea-c648a37e043c@h9g2000vbr.googlegroups.com> <20338456-6796-45b1-a6ba-2b63891ce1fb@glegroupsg2000goo.googlegroups.com> <4E4B1290.4020004@SPAM.comp-arch.net> <f43sh8-cv41.ln1@ntp6.tmsw.no> |
On 8/16/2011 11:19 PM, Terje Mathisen wrote: > Andy "Krazy" Glew wrote: >> I have already talked about how, back when I was an undergrad Programmer >> on Duty, I would teach people to use a concurrent assignment construct > [snip] >> >> This is exactly the sort of thing that people used to hardware languages >> are used to doing. > > Working in hw, it seems kind of obvious that you are working with > wavefronts (clock signals and data) passing over all your various > resources; programming then becomes the problem of getting as much use > out of them as possible, while the usual multithreaded problem of > synchronization sort of goes away. > > Is this the right way to think about it? > > Terje Well, it's not the way I think about it, at higher levels of abstraction. At a high level, I just try to think about outputs, and inputs, and expressing the outputs in terms of the inputs - even if some of the outputs and inputs are the same locations. I'm always thinking NEW(variables) = f( OLD(variables) ). Written in a way so that the order of evaluation does not matter. 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. Adding clock edges is like adding serialized Von Neumann state: it is an opportunity for bugs to arise. Only do that when you get down to implementation.
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