Slashdot Mirror


Clockless Computing

ender81b writes "Scientific American is carrying a nice article on asynchronous chips. In general, the article advocates that eventually all computer systems will have to move to an asynchronous design. The article focuses on Sun's efforts but gives a nice overview of the general concept of asynchronous chip design." We had another story about this last year.

116 of 342 comments (clear)

  1. HOW???? by Anonymous Coward · · Score: 2, Funny

    But how will we be able to tell time with our computers! Dear god no!

  2. 1 Million reward by nick-less · · Score: 5, Funny

    for the first guy who overclock's it ;-)

    1. Re:1 Million reward by sketchkid · · Score: 5, Funny

      larry ellison? is that you? :)

      --


      ------
      [insert funny .sig here]
    2. Re:1 Million reward by npietraniec · · Score: 3, Insightful

      You actually could "overclock it" because such computers would have a maximum speed... Instead of spinning their wheels like todays computers do, they would only clock when they needed to. They'd be able to achieve quicker bursts because all that wheel spinning wouldn't melt the processor.

    3. Re:1 Million reward by Midnight+Thunder · · Score: 5, Funny

      Intel marketing wouldn't like clockless chips as it would cause them massive headaches in the Mhz FUD. For once real world performance comparisons would have to matter.

      --
      Jumpstart the tartan drive.
    4. Re:1 Million reward by ZeLonewolf · · Score: 5, Informative

      You actually could "overclock it" because such computers would have a maximum speed... Instead of spinning their wheels like todays computers do, they would only clock when they needed to. They'd be able to achieve quicker bursts because all that wheel spinning wouldn't melt the processor.
      Er...no.

      That's one of the key benefits of clockless computing: an instruction runs through the processor as quickly as the electrons can propagate through the silicon. In other words, the processor is ready to accept the next instruction at the exact instant it's available. You just can't pump it any faster...

      HOWEVER,

      Electricity propagates through Silicon faster when the temperature drops. Thus, the COOLER an asychnronous chip runs, the FASTER it gets! This opens up alot of exciting doors....and will certainly ignite hordes of development in the CPU cooling industry if async chips ever get off the ground. For an async chip overclocking = overcooling.
      --
      "If at first you don't succeed, lower your standards."
    5. Re:1 Million reward by Mike_K · · Score: 3, Insightful

      Simple. Crank up the voltage.

      One huge advantage of asynchronous circuits is that you can turn the power down, and the chip simply slows down (up to a point, but you see the point). You turn power up (increase Vcc) and the chip runs faster. Same principles apply in overclocking your desktop chip, except here you don't need to crank voltage AND clock :)

      Of course doing this could ruin your chip.

      m

    6. Re:1 Million reward by Octorian · · Score: 2

      Already happened :)

      Look at Sun's newest high-end graphics card, the XVR-1000. The heart of this card is the MAJC, which is Sun's new async processor.

    7. Re:1 Million reward by maraist · · Score: 2

      ...cooling will raise the "speed" of the chip, which in turn will add heat, which will counteract the cooling you do.

      But it can't make it worse than it was. Yes there is a paracitic resistance to increases in performance, but that's like the graduated tax-scale.. You can't lose money by making more, you only get taxed at a greater percentage for each additional dollar (not the preceeding dollars).

      --
      -Michael
    8. Re:1 Million reward by Anonvmous+Coward · · Score: 2

      "Electricity propagates through Silicon faster when the temperature drops. Thus, the COOLER an asychnronous chip runs, the FASTER it gets!"

      Does this mean that the speed varies based on temperature?

      Initially this idea bugs me a bit because it means that a computer would have 'moods' based on the temperature. I could see that being a little problematic. The nice thing about a clock is that you can reasonable expect things to be done within a certain number of ticks. With variable speed processors, some synchronization issues will definitely arise that'll need solving.

      On the other hand, lots of work has already been done that way. Look at Quake 3 played over the internet. Lotsa people connect to a server with variable speed connections and response times, but the game manages to remain playable.

      Maybe I'm worried about nothing. For the uninitiated it'll take a bit to wrap their minds around.

      I do have a feeling though that ther'll be a market for both types of processors for the forseable future.

    9. Re:1 Million reward by Weird+Dave · · Score: 2, Insightful
      Even in "clockless computing" there's still kind of a "clock," in that a new instruction would trigger the operation instead of clock edges.

      If you had a multiply instruction that took maybe 3 clock cycles in a clocked computer, you would still have 3 cycles/events/stages or whatever you wanted to call them in an unclocked computer that the instruction would need to step through. The instruction wouldn't be regulated by the clock, but pushing it through the stages would take a certain amount of time... And there might be ways to "overclock that" if you wanted to call it that... Of course, that's kind of what you said at the end :)

      Man, you lost and you know it. You were caught bullshitting, and if I had any mod points, I'd mod you down. Don't even try to claim that there is some sort of pretend clock in an asynchronous processor if you look at it sideways. You're never going to overclock the asynchronous part of a processor because there's no clock, by definition. You might be able to make it run faster by mucking with other factors like the ambient temperature, but that's not what you said, and you know it! You can save no face because you are totally and completely wrong. Have a nice day.
      --

      Grumble, Grumble
    10. Re:1 Million reward by (outer-limits) · · Score: 2

      You can guarantee that Tom's won't think much of this. I can see it now "Overclocking with this chip is impossible, a huge drawback, meaning the the 1423 fps is all you will get in Quake III."

      --

      Microsoft - Where would you like to go today, Maybe Jail?

    11. Re:1 Million reward by npietraniec · · Score: 2

      Yea, I know. I'm just so used to saying "clock" the circuit that's it's kind of synonymous with incrementing or stepping through one cycle... Bad choice of words.

    12. Re:1 Million reward by MillionthMonkey · · Score: 2

      the electrons are frozen and fixed.

      What, so you can tell me what the electron's position and velocity are?


      Actually this is a good illustration of why absolute zero is unattainable. But electrons are a bad example. It seems someone thinks electrons only move because of thermal motion.

      Electrons are still moving quite fast at absolute zero. In fact, electron speed is not hugely affected by earthly temperatures. And as things heat up and the crystal gets hotter, thermal scattering starts interfering with electron mobility. They travel a shorter mean free path before bouncing off at some weird angle, so they don't get as far as they do at colder temperatures.

      Nuclear motion does die down near 0 Kelvin, but actually reaching absolute zero would require a violation of the uncertainty principle as you suggest.

    13. Re:1 Million reward by brejc8 · · Score: 2

      To aveclock an asynchronous cpu you spray it with CFC. We have a couple in the office and its cool to see them speed up.
      Or you can attach a faster hamster.

  3. Yeah and... by xbrownx · · Score: 2, Funny

    ...maybe some day we'll actually get 64 bit processors for home use

    1. Re:Yeah and... by benwb · · Score: 2

      You mean a sun blade for under a thousand dollars?

  4. One problem with asynchronous logic by Mifflesticks · · Score: 2, Interesting

    For any large project (such as an MPU), using asynchronous logic isntead of synchronous for the entire thing means it goes from being "merely" really-really-hard to damn-near-impossible.

    1. Re:One problem with asynchronous logic by William+Tanksley · · Score: 3, Insightful

      That's not true either. It can take fewer transistors even at a small scale, and it often takes fewer transistors at a large scale, since propagating the clock pulse across a chip requires a surprising amount of circuitry.

      Consider that the Pentium 4 added entire pipeline stages for the sole purpose of getting data from one side of the chip to the other in step with the clock.

      Consider that the x25, a largely asynchronous chip, has about as many gates as a 386 yet contains 25 parallel processors.

      The main problem isn't impossibility or complexity; the problem is that asynchronous design isn't yet understood. We have a LOT of research to do. Once we've done it, engineers will consider asynchrony to be a simple, solved problem.

      -Billy

  5. clockless computing? by gyratedotorg · · Score: 4, Funny

    they can't take away the clock. how will i know what time it is?

    --
    Gyrate Dot Org - "Where high-tech meets low-life"
    1. Re:clockless computing? by Citizen+of+Earth · · Score: 4, Funny

      they can't take away the clock. how will i know what time it is?

      Why is it that a $5 watch can keep perfect time but a $10,000 computer cannot?

  6. The Amiga Zorro Bus was Asyncronous by Anonymous Coward · · Score: 4, Interesting

    Yet another old idea revived. The Amiga's Zorro expansion bus was asyncronous and plug n play in the 80s (although the rest of the machine was clocked).

    1. Re:The Amiga Zorro Bus was Asyncronous by Joel+Ironstone · · Score: 5, Funny

      I thought the clock on the zorro was just masked.

    2. Re:The Amiga Zorro Bus was Asyncronous by mikehoskins · · Score: 2, Insightful

      Are you just talking about a passive backplane? If so, we're talking about something VERY different here. If it's a passive backplane, you're talking about power and conections, little else.

    3. Re:The Amiga Zorro Bus was Asyncronous by alphaseven · · Score: 2
      Poor Amiga, that reminds me of a quote from John C. Dvorak:

      The hapless Amiga, a machine a decade ahead of its time (there's a lesson in there somewhere)

    4. Re:The Amiga Zorro Bus was Asyncronous by plastik55 · · Score: 2

      Generally, all RAMs are asynchronous, except for SDRAM.

      --

      I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!

    5. Re:The Amiga Zorro Bus was Asyncronous by Citizen+of+Earth · · Score: 2

      Generally, all RAMs are asynchronous, except for SDRAM.

      I suppose that's true since RAMs internally are just big combinational circuits, but RAMs before SDRAMs weren't really used in an asynchronous way 'back in the day'. The microcode in the CPU was simply programmed to wait for a certain period of time after putting an address on the memory bus before reading the data lines back into the CPU. In this sense, the memory usage was synchronous and only RAMs with a certain response time could be used with a CPU.

      The 68000, OTOH, had actual handshaking control lines so that the RAM (or some controller?) could tell the CPU when the data was valid. In principle, RAMs with widely different valid-data times and devices with widely different speeds could be used on the same bus and the CPU would wait for them. I'm not sure how wide-spread the asynchronous-bus idea ever became.

    6. Re:The Amiga Zorro Bus was Asyncronous by brejc8 · · Score: 2

      The idea comes from a paper in 1958. Several machines in the 60/70s were asynchronous including the MU5 which in its day was the fastest around.

    7. Re:The Amiga Zorro Bus was Asyncronous by jafuser · · Score: 2

      Carl Sassenrath designed a lot of the core components of the AmigaOS kernel. He used to have a more extensive website there, but there is some information about his past and current projects. Now he's leading the design of a system called REBOL that seems to be a bit interesting.

      --
      Please consider making an automatic monthly recurring donation to the EFF
  7. Explanation, sorta by McCart42 · · Score: 3, Interesting

    To clear a few things up, just because a processor/motherboard is "clockless" does not mean it won't be able to tell time. They can still use the 60 Hz AC signal for ticks.

    This is really cool. I was learning a little about asynchronous systems in my Logic Design and Computer Organization class last fall...they seemed pretty cool on a small scale, however they could get really difficult to work with when you're dealing with something as complex as a processor.

    --
    "I may be quite wrong." - Socrates
    1. Re:Explanation, sorta by barawn · · Score: 5, Informative

      er... doubt they'd use that, to be honest. :) It's extremely unlikely that the entire system would be clockless: you'd have to redesign almost every peripheral. In any case, there'd be a clock SOMEWHERE for them to use.

      For me, this is kindof amusing: asynchronous logic is where you start out - it's more basic (shove signal in, get signal out). You then move to synchronous logic to eliminate glitches and possible race conditions (clocked flipflops, etc.). Apparently now you move BACK to asynchronous logic to gain performance. I can't disagree : working with synchronous systems, I've always been annoyed that certain combinations couldn't be used because they were too close to a clock edge, and it could miss the latch. If you can eliminate the glitches and race conditions, asynchronous logic would be faster. Of course, that's like saying "if software bugs didn't occur, you'd never need to look over code." Yes, true, valid, but not gonna happen.

      Of course, they're not talking about a true full asynchronous design: just getting rid of external clock slaving. The external clock would still BE there, for the external architecture - it's just that the internal architecture wouldn't all move to the beat of a clock.

      For instance, I'm pretty sure that no one is suggesting getting rid of synchronous memory design: it's just easier that way.

    2. Re:Explanation, sorta by Elwood+P+Dowd · · Score: 2

      Ok, I don't know anything about this, but...

      Isn't that exactly what Sun supposedly did in order to get faster RAM without using RAMBUS? Here's a link. Maybe it was just in the memory interface? I don't really follow it.

      --

      There are no trails. There are no trees out here.
  8. Think of a water clock by imta11 · · Score: 2, Informative

    I have read this article, and it is a very cool technology. Portions of the UltraSparc IIi have gates (capacitance) in the datapath that let the chip capture state of a computation and finish the result later. This lets the chip do other calculations during the time it would usually be in the wait state. Like compile the bytecode to optimize a loop after iterations have begun, but before it terminates.

  9. Return of the 68000? by vanyel · · Score: 2, Interesting

    Wasn't the 68000 asynchronous?

    1. Re:Return of the 68000? by leucadiadude · · Score: 2

      Hardly.

      It was the original CPU chosen for the Amiga 1000 and several of the Atari machines. It was the first consumer 32 bit device (16/24 bit address bus, 32 bit for everything else).

      It had a clock speed of 7.14 MHz, or 0.000714 GHz.

    2. Re:Return of the 68000? by Baki · · Score: 3, Interesting

      In a way yes. If I remember well, it's memory addressing and I/O bus system was asynchronous (not the clock of the CPU itself), meaning no 'wait states'. It would request a memory location and react as soon as the memory came up with the result. I forgot the details though.

    3. Re:Return of the 68000? by isorox · · Score: 4, Funny

      Wasn't the 68000 asynchronous?

      No, it was so slow it just seemed that way.

    4. Re:Return of the 68000? by martinde · · Score: 3, Informative

      > It would request a memory location and react as soon as the memory came up with the result.

      Well, kind of. A bus cycle completed when someone signaled "data transfer acknowledge" (DTACK) - then the CPU would read the data off of the bus. Most systems understood where in the address space the memory request was going, how fast that device was, and had logic to count system clocks to trigger DTACK when the data "should be" ready. (In fact, most memory devices have no way of signaling when a read has completed - they just guarantee in in a certain amount of time.)

      On the other hand, if you didn't hit DTACK in time, a bus error was generated and an exception routine triggered. Ahhh, the good old days ;-)

    5. Re:Return of the 68000? by AstroJetson · · Score: 4, Interesting

      Exactly right. Nowdays, most of the Motorola embedded processors (many of which use 68000 or 68020 cores) can generate their own DTACK signals. For example, the 68302 has four CS (chip select) lines that you can internally map to whatever address ranges you want. You specify how many wait states are required and the DTACK and CS signals get generated automagically. This cuts down dramatically on on-board glue logic and address decoding logic, which is important for (typically small) embedded designs.

      --
      Admit nothing, deny everything and make counter-accusations.
    6. Re:Return of the 68000? by freeweed · · Score: 2

      Also some rather more known machines, say like the original Macintoshes, and a lot of PDAs (my Palm has one).

      --
      Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
    7. Re:Return of the 68000? by Baki · · Score: 2

      Brrrr, wait states. I remember I was programming 68020 on VME bus in that time (>10 years ago). When I first met an Intel with Multibus, I was shocked by the concept of wait states.

    8. Re:Return of the 68000? by leucadiadude · · Score: 2

      Wrong.

      6800 (Aug '74) was an 8-bit chip.

      68000 (Sep 79) was a 16/24/32 bit chip (16 data 24 address 32 everything else. It was the first consumer available chip capable of 32 bit math.

    9. Re:Return of the 68000? by leucadiadude · · Score: 2

      I left out the Apple line as an experiment to see how long before someone posted about the fact.

      Took longer than I thought it would actually.

      I forgot about Palm. I have a IIIc so I should know better.

    10. Re:Return of the 68000? by AstroJetson · · Score: 2

      I designed a piece of equipment once that had a touchpad and an LCD (and a few other odds and ends) that were all run from the same board. This board was connected to the CPU board with a flat ribbon cable (I wanted a backplane, but economics won out). Anyway the devices on the front panel board were much slower than the CPU and due to that and also the lag on the cable I had to insert wait states for the block of memory that mapped the front panel. The 302 made it real easy, there was virtually nothing on the CPU board other than the CPU itself, some RAM, ROM, and drivers for the ribbon.

      --
      Admit nothing, deny everything and make counter-accusations.
    11. Re:Return of the 68000? by AstroJetson · · Score: 2

      No need to be sorry. We know what async means. We're just off on a tangent here.

      --
      Admit nothing, deny everything and make counter-accusations.
  10. combine clocked/-less sections on same chip? by The+Fun+Guy · · Score: 3, Insightful

    The article talks about an advantage of clockless chips being the fact that you can do away with all of the overhead in sending out the clock signal to the various parts of the chip. It also discusses what kind data processing activities are more suited for clocked vs. clockless chips. To get a best-of-both-worlds chip design, what about farming out various responsibilities on the chip to clockless sub-sections? The analogy I have in mind is when I drop my laundry off at the dry cleaners. I am on a tight schedule, and I have a lot of things to do in a certain sequence, while the dry cleaners collects laundry and does it at various rates during the course of the day. This particular laundry of mine can be done at any point over the next 4 days, and held afterwards, just so long as I have the finished product exactly when I need it, Thursday at 4:15 p.m. Different people assign different limits on the time-sensitivity of their laundry. The clocked sections can drop off their data for processing, and pick it up when they need it, and what happens inbetween is up to the clockless subchip, which does more-or-less FIFO, but can be flexible based on the time-sensitivity of the task.

    --
    The man who does not read good books has no advantage over the man who cannot read them. - Mark Twain
  11. Thisisahorribleidea... by zulux · · Score: 5, Funny

    withoutaclocksignal,howcanyoutellwhenoneinstructio nstopsandanotherbegins?

    (kidding)

    --

    Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

    1. Re:Thisisahorribleidea... by alexburke · · Score: 2

      withoutaclocksignal,howcanyoutellwhenoneinstructio nstopsandanotherbegins?

      By the spaces inserted randomly by Slashcode.

      (Sorry, but it's true!)

  12. Small scale, and then larger by McCart42 · · Score: 3, Interesting

    After reading the article, I have to wonder why asynchronous processors (or smaller logic devices, such as ALUs) haven't been considered before. The ideas have certainly been around for awhile--and in fact, asynchronous is intrinsically simpler than synchronous logic. The only conclusion on this I can reach is that while asynchronous designs may be "simpler" in theory, in that they don't include a clock pulse, they are much more difficult to work with in practice. Here's an example for those of you that have worked with logic design: try creating the logic for a simple vending machine that dispenses the product whenever a combination of coins (triggered by 3 switches, quarter, dime, and nickel) adds up to $0.50. Which would you prefer to use--synchronous or asynchronous logic? I know when I did this example I got myself stuck by using asynchronous logic, because while asynchronous logic meant less memory states (all states above $0.50 were treated the same), it also meant lots of added complexity, which I didn't need for the problem at hand.

    I foresee lots of bugs, but if they can pull this off, more power to them.

    --
    "I may be quite wrong." - Socrates
    1. Re:Small scale, and then larger by el+bastardo · · Score: 2, Informative
      It's also tough to test and verify. I do ASIC timing analysis for a living, and most test methodologies (including IEEE JTAG boundary scan) rely on some sort of test clocks to pre-load test patterns into the chip before throwing on the system clock. I'm sure you could do this with global async. control signals, but it would be harder.

      I also haven't seen or heard of any large-scale software tools for doing this sort of analysis (as opposed to classic synchronous design, where one can pick from at least half a dozen static timing analyzers on the market today). This is probably at least a big a gate as anything else.

    2. Re:Small scale, and then larger by Salamander · · Score: 4, Informative

      You've hit the nail right on the head. Async circuits aren't harder to design; they're harder to verify and debug. Historically the tools just haven't been up to it and, despite some recent breakthroughs, I'm not sure they are now. Check out the work at CalTech, Manchester, and Theseus Logic for the current state of the art.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    3. Re:Small scale, and then larger by javahacker · · Score: 2, Informative

      The big issue in going asynchronous is scale. It's easy to get small logic blocks to work properly, but there are timing issues that exist when building something complex like a processor, that are very difficult to address.

      The logic inside of standard clocked logic is asynchronous, but the clock is used to make sure you look at the result only when it is known to be valid. The clock rate is limited by how long it takes to assure the logic state to be stable.

      The timing and scaling issues exist even with clocked logic, which is why it took so long to make high clock rate motherboards. The data transfers on a modern motherboard are happening at well above the frequency of the FM radio band (tops out at around 108 Mhz), which makes the physical design of the board very interesting. You need to make sure that signals travel the same distance if they are supposed to be evaluated together, like the address or data buss.

      The change to asynchronous logic means you have to change the way you design your logic, change all of your CAD software you use to design the chips, and change all of your automated test equipment you use to certify which chips are good. This is a massive conversion for the chip industry, taking a great deal of time, and a great deal of money.

    4. Re:Small scale, and then larger by Salamander · · Score: 2

      But how complex was the 8600? I can't find a specific number, but some sources say the later 9000 was still shy of a million gates. Researchers have already built async versions of MIPS and ARM cores more complex than that, and still seem leery of applying the same tools to anything on the order of a modern (superscalar, speculating, branch-predicting) CPU or 3D graphics chip.

      Also, why is it that people who write about the history of asynchronous logic mention lots of other projects but not the 8600? Was it truly async, as the term would be understood today, or were there still synchronous aspects of the design? Perhaps you could elucidate by describing your equivalents of rendezvous or micro-pipeline structures.

      --
      Slashdot - News for Herds. Stuff that Splatters.
  13. But... by ZaneMcAuley · · Score: 3, Insightful

    ... won't the buss and storage devices be a bottleneck still?

    Bring on the solid state storage.

    --
    ----- Whats wrong with this picture? http://www.revoh.org:1234/whatswrong
  14. Re:Intel will be pissed by isorox · · Score: 5, Funny
    1. ClocklessCPU
    2. ClocklessCPU 2
    3. Super ClocklessCPU 2
    4. Super ClocklessCPU Turbo
    5. Super ClocklessCPU Turbo 2
    6. Super ClocklessCPU Turbo !!!
    7. Super Duper ClocklessCPU Turbo MAX
    8. Super Duper ClocklessCPU Turbo MAX 2
    9. etc. etc.
    Your comment violated the "postercomment" compression filter. Try less whitespace and/or less repetition. Comment aborted.
  15. Tools by loli_poluzi · · Score: 3, Insightful

    Kevin Nermoyle (Sun VP) advocated asynch at the 2001 uProcessor Forum. The biggest and most daunting objection I heard in response was that tool support would be a killer. There is no tool support for asynch design at the complexity level needed to do a processor. You're left to a bunch of Dr. Crays using the length of their forearm to resolve race conditions with wiring distance. Since a large portion of the industry would have to make the leap to get the tool guys to invest in development, this kills any realistic possibility of an overnight asynch revolution. Small niche applications will have to get the ball rolling on this. Even still, designer's would need to get a lot smarter to think asynch. Think of how many chip protocols rely on a clock. How do you do even simple flow control in a queue for example? Pipelining goes to pot - its a whole different world. My two-cents.. Loli

  16. Why? by nuggz · · Score: 2

    Why not have several smaller sections passing messages to each other? They could be clocked unclocked or just picking their noses.

    Right now a network is a bunch of arbitrary speed systems just passing messages, can't we scale that down to the computer level?
    It wouldn't even involve anything overly revolutionary.

  17. No mhz!?!? The world will end. by Dutchmaan · · Score: 2

    ...but what scale will I use to justify how cool I'm trying to be!?!?! How will people be able to judge just how much more successful they are than their fellow human beings.

    I guess I'll just go back lifting weights, over compensating cars and the ruler. *sigh* I hate analog.

  18. Huh? by autopr0n · · Score: 2

    Well, its not like they are going to have no clock, obviously they'll have some crystals in there to keep other things synchronized. And lots of thing, especially interactive stuff needs accurate timekeeping (not to mention most of the chips in the overall system will need a clock)

    --
    autopr0n is like, down and stuff.
  19. Heard about this stuff in class by Montag2k · · Score: 2, Informative

    I have a professor here who swears by this asynchronous stuff. He told us that Intel actually developed an asynchronous version of the Pentium (I) processor. It worked just fine, and used less power than a normal clocked processor. Unfortunately, all of the processes and designs for everything else they were doing had to be redesigned for it, and it would have ended up costing a bundle in retraining and redesign in order to mass market the chip.

    It seems to me that clockless chips like these would seem to work very well with MIPS style processors - where you have lots of little instructions. However, you can't take advantage of the extreme pipelining features that chips like the Pentium 4 use when you don't have a clocked design. It would take a lot of research and a lot of re-education to get the design engineers to start thinking asynchronously instead of clocked, but my professor seems to think that eventually there will be no other way to speed things up.

    Its also like you'd be trading in one problem for a host of others. I remember doing tests on 1GHz clock chips, and those things had to be absolutely PERFECT in order work correctly on the motherboard. They ate up a lot of power too. However, an asynchronous design would have its own traps. You can design a state machine for it an then minimize the states, but glitches will do a lot more harm on a chip that is running asynchronously. Plus you have to take into account that chips run at different speeds at different temperatures. I think we have a long way to go in the quality of individual electronic components before we can actually implement a modern processor that is asynchronous.

    By the way, that Professor's name is John McDonald, and he's here at Rensselaer Polytechnic Institute.

    -Montag

    1. Re:Heard about this stuff in class by cpeterso · · Score: 2, Funny

      should I be looking into doing research with asynchronous logic design or software-defined radio (see recent H2K2 slashdot article)? Decisions, decisions...

      You should consider researching software-defined asynchronous radio logic.

    2. Re:Heard about this stuff in class by William+Tanksley · · Score: 5, Insightful

      It's amusing to read the claim that an asychronous chip couldn't take advantage of pipelining. You see, the thing is that pipelining exists ONLY to control two of the disadvantages of clocked processors.

      First, it allows different instructions to complete in different amounts of time. An asynchronous chip wouldn't have that disadvantage.

      Second, it allows 'idle' portions of the chip to be used by other instructions whose time hasn't come. Asynchronous chips are vulnerable to that as well, but they can be much less vulnerable than even the most pipelined architecture, because dataflow can completely guide the chip: you can hammer in more data as soon as the previous data's been slurped in.

      So far from not taking advantage of pipelining, asynchonous chips naturally have one of the advantages of pipelining, and can be built to have the only other.

      -Billy

    3. Re:Heard about this stuff in class by William+Tanksley · · Score: 2

      Actually, using the idle portion is natural with asynchronous logic. It's hard, but natural.

      One way of doing it is to have each portion of the chip 'request' more data once the data it contains is accepted by another part. So as soon as instruction decoding is done, the instruction decoder is ready for the next instruction from the loader (even though the instruction hasn't executed).

      The reason it's hard is the same reason that upgrading the Linux kernel to support multiple processors is hard -- you have to add more and more 'locks' so that data doesn't break in while you're trying to work. It's easier with hardware because nothing can break in without a line being cut for it, of course.

      The alternative is to do the same thing the Linux kernel used to do -- run only one instruction at a time, and wait until it's completely done before trying another one. That's safe, and very fast (data locks slow things down even when they're ready for data), but doesn't use the full capabilities of the hardware you have, and denys the ability to add still more hardware.

      Now, the interesting thing comes along when you continue the comparison. BitKeeper author Larry McVoy has long been saying that fine-grained kernel locking is a bad strategy, because it makes things slower on each processor and increases the complexity of the code _immensely_. Instead he recommends what you might call microclusters: one kernel running on each processor (or small group of processors), pretending to be a seperate machine, and communicating with the other processors as though over a very high-bandwidth network. This way you can have as many processors in a single machine as you want without making the kernel any more complex.

      Now, consider: how does this relate to microchips? The answer's pretty obvious: make the chips simpler, but put more of them on the die, and give them an internal network. Sure enough, both Sun and Chuck Moore are taking this path -- and preliminary results indicate that it works VERY well indeed.

      -Billy

  20. Armada by Shadow+Wrought · · Score: 2, Funny

    Hopefully Sun's "ships" and "flotillas" won't go the way of the Spanish Armada;-) Will this be the new way to measure? "Sure this one has 10k ships, but they're only frigates. Even though this one only has 5k ships, they're all ships of the line."

    --
    If brevity is the soul of wit, then how does one explain Twitter?
    1. Re:Armada by RollingThunder · · Score: 2

      Kind of brings a new scope to "piracy", doesn't it?

  21. Re:xxxxx Thisxxxx isxxxxxx horrible by A+nonymous+Coward · · Score: 5, Informative

    withoutxxxx axxxxxxxxxx clockxxxxxx signalxxxxx ,xxxxxxxxxx howxxxxxxxx canxxxxxxxx youxxxxxxxx tellxxxxxxx whenxxxxxxx onexxxxxxxx instruction stopsxxxxxx andxxxxxxxx anotherxxxx beginsxxxxx ?xxxxxxxxxx

    Because rephrasing your question as above is what synchronous looks like; every word has to be padded to the longest word length. Asynchronous is like normal written language; words end when they end, not when some 5 char clock says so. Another crude analogy is sync vs async serial comm, except using hoffman(sp?) encoded chars, so async can use variable length chars, but sync has to padd the short ones out to the length of the longest.

    I tried underline instead of x but the stupid lameness filter objected/

  22. Intel, AMD, etc and marketing by Alien54 · · Score: 5, Insightful
    So ...

    if we have clockless computers for the desktop, HOW will Intel and AMD market them?

    After all, a large quick and dirty rating they have used for decades is the clock speed. Throw that away and what do you have?

    I can see the panic in their faces now...

    --
    "It is a greater offense to steal men's labor, than their clothes"
    1. Re:Intel, AMD, etc and marketing by MikeD83 · · Score: 2, Interesting

      An industry standard benchmark (SPEC CPU benchmark for example) will be used.
      This of course has problems because a lot factors into the speed of a computer. For instance motherboard chipsets will become increasingly important.

    2. Re:Intel, AMD, etc and marketing by guttentag · · Score: 2
      Intel won't market clockless chips. It will continue to market its overclocked Pentiums and run ad campaigns ridiculing AMD chips for running at 0 mhz.
      "Dude! You don't want one of those Thunderchunks. Those things run at like zero megahertz. The heck with that... Dude, you're getting a Pentium."
  23. Would like to see some real-world results by acordes · · Score: 2

    It would be interesting to see some real-world speed results comparing an asynchronous and synchronous circuit with identical functionality, fab process, transistor size, transistor switching speed, etc.

    1. Re:Would like to see some real-world results by brejc8 · · Score: 2

      Dirrerent methods for making async chips are available.

      DIMS is 8 times bigger anc consumes 2 times more power and is 2-3 times slower. But ultra safe from power analasis attacks and fully DI meaning it will not crash if you turn the power down or bombard it with alpha rays ot damage a few transistors (a little)

      Bundled data is 30% smaller to 10% bigger, consumes 10%-80% less power and runs as fast as synchronous. This is what is used in most chips.

      My method (you can rtead my thesis about it) is 2 times bigger ,consumes 2 times more power and gets 20-60% speen improvement over the synchronous design.

      So it depends what you want, area, speed, power or security.

  24. Re:Explanation, sorta [--OT?] by AstroJetson · · Score: 2, Interesting

    It's dead accurate. By law, the number of zero crossings on an AC line must be 10368000 every day. If there are too many in the morning, they have to make up for it that afternoon.

    But I think an asynchronous computer would still use a RTC to keep track of calendar time. It has to keep time even when it's turned off.

    --
    Admit nothing, deny everything and make counter-accusations.
  25. What's this look like to the programmer? by mcc · · Score: 2

    I am just curious. Would the way an asynchronous chip worked dictate anything about the instruction set of the chip? Would it be possible to use today's instruction sets in an asyn chip? Would you have to come up with something different? Would someone writing an asyn compiler have any special issues or optimisation techniques they would have to be aware of that would be inherent to the concept of the asyn chip itself?

    Are there any "features" related to the asynchronocity of the chip that it would be possible to add to the assembly language of an asyn chip? Becuase individual sectors of the chip can function independently and not have to synchronize, can you kind of get a multiprocessing-within-a-single-chip effect? I.E. can you create a singular asyn chip split up into separate sectors, each of which functions as if it were an autonomous processor? Can you have one chip concurrently execute single threads?

    If the answer to this last question is "yes", do you have to do this by organizing the chip such that the different sectors are basically seperate chips on the same cast, or can you just have it so that the exact borders of the the chip area working on a certain thread at a certain moment is reconfigured dynamically? Would it be possible someday to create a microchip whose internal execution model is somewhat like that of Cilk?

    How does asynchronous design fit in with atomic-execution technologies like VLIW and EPIC?

  26. Low-Power Async Procs by Dielectric · · Score: 2, Interesting

    A while back I saw a whitepaper on an asynchronous design, but it was being done for low power applicatios. Basically, you had two lines for each bit. Condition 00 wasn't allowed and could be used to detect faults. 10 was one, 01 was zero, and 11 was idle. Nothing would happen until one of the lines dropped, so there was no clock but the CPU still knew when it was time to do something. It was a fully static design where no power was being used unless there was some user interaction. You could run it off a few nanoamps, so a piece of citrus fruit would run it until the fruit rotted. Simple chemistry.

    I think this was from Seiko-Epson. I might have the states screwed up but that's the idea.

    1. Re:Low-Power Async Procs by brejc8 · · Score: 2

      This is called dual-rail. I am currently implementing processors in this technology for speed. It is actually more power hungry than synchronous but a dirrerent method called bundled data is better for power.

  27. How do you know "how fast" a clockless system is? by mikehoskins · · Score: 2, Insightful
    Today, we get to benchmark a system using measurements such as TpM, MIPS, FLOPS, etc. How do you quantify how fast a clockless machine is? Yes, they're supposedly faster with fewer transistors, but how do you sell a clockless computer to somebody who asks you how much faster a system is than the old one it replaces?

    The Pentium IV is supposed to be partially clockless, but to the outside world, all the I/O is clocked, making it easy to benchmark. If the I/O, logic, memory, etc., were ALL clockless, how fast is the machine?

    Government contracts of big systems are really picky about things like this.

    I think marketing will be the most likely problem for this technology. (Interfacing to clocked equipment won't be.)

  28. "Bucket brigade" analogy unconvincing... by tlambert · · Score: 3, Insightful

    If you have looked at the "bucket brigade" graphic in the article, then you will know what I'm talking about...

    Is it just me, or does that picture seem to imply that you get a lower "buckets per unit time" throughput from asynchronous processing?

    I know that this is not the claim of the article... but it's still my gut reaction to the graphic.

    "Gandy Dancers" (railroad manual track laying and repair teams) were so-called because the first part of their name was the Chicago tool maker that made track laying tools, and the second part of their name came from the fact that they worked to a rhythm.

    A better analogy would be a work-content based multipath route, where the amount of time is based on the type of work to be performed.

    This would have implied (correctly) that, in an synchronous system, you should be able to "make up for" slow elements by doubling them up: i.e., when you are faced with a slow section of pipe, rather than bottle-necking, make it wider, instead.

    Or to use their analogy, if you have a slow guy, then get another slow guy to stand next to him so he doesn't bottlneck the brigade.

    Probably a more apt analogy would be nice: it's hard to show throughput increases, except by number of buckets in the hands of the people.

    -- Terry

    1. Re:"Bucket brigade" analogy unconvincing... by Rupert · · Score: 4, Insightful

      It's more accurate if you think of the amount of water getting to the other end. If the water supply is irregular, the synchronous bucket chain will sometimes be sending empty buckets. The asynchronous bucket chain only has to send full buckets. If one person is 1% slower than the others, the other people on the synchronous bucket chain have to wait a whole extra cycle, reducing throughput by 50%. Throughput on the asynchronous bucket chain is reduced by just 1%.

      --

      --
      E_NOSIG
  29. Clockless primer by CommieLib · · Score: 3, Informative

    Here's a somewhat shorter primer from Wired:

    http://www.wired.com/news/topstories/0,1287,6179,0 0.html

    --
    If your bitterest enemies are people who hack the heads off civilians, then I would say you're doing something right.
  30. Those who forget the past by neongenesis · · Score: 2, Interesting

    The famous PDP-6 was asynch logic. It made a very fast machine out of very few transistors, but was a nightmare to maintain. The follow-on PDP-10 was syncronous logic.

    There must be some history out there somewhere of the problems DEC had with the asynchronous logic. Any old MIT research notes?

    1. Re:Those who forget the past by brejc8 · · Score: 2

      The difficult was with design methodologys. Clocked is worse but easyer to design by hand. For async we use special tools which are computation hungry. PDP6 is a little too slow to desighn a async chip.

  31. Clockless issues by KeggInKenny · · Score: 2, Interesting

    Despite the marketing problems associated with clockless machines (as a one-time computer retail sales guy, it was easy to talk a 1st-time-buyer into upgrading from the 800MHz system for the identical 900MHz for $50 difference) there are some other asynchronis aspects which may throw a wrench into design. First, if the chip is asynchronous, there must be a way to signal that the chip is ready for the next instruction - i.e. a "ready" line. Similarly since everyonw is pumped about the chips coming out in the last few years which execute multiple instructions simutaneously in different parts of the chip (think pipelines) there would have to be several of these signal lines. This will require additional logic circuits simply to decode these lines and figure out what instuctions can be executed, where they can, when they can, and so on. A related problem occurs with large, time consuming instructions which require the majority of the chip to execute. It would be difficult to implement a system which is by its nature asynchronous with a system of semaphores and time-estimating logic. And how much faster would this type of design actually be than a RISC based chip with a fast floating point unit. Since flops are typically the operation bottleneck in a new breed of processor, are we really saving time? I realize that the whole presumption of an asynchronous chip is that in traditional clocked chips we have to wait a finite amount of time (usually determined by the most complex operation) for every cycle, even if the op can be completed in less time. But personally I don't think that we'll see these on the market for at least ten years (well... maybe in a few microcontrollers, but only for really, really specialised tasks). Still it's good to see a few novel ideas (or in this case applying an old idea on a completely different scale) in this industry of re-packaging buzzwords.

    --

    "A dictatorship would be a heck of a lot easier, there's no question about it." -George W. Bush
    1. Re:Clockless issues by brejc8 · · Score: 2

      The chip decides when its ready to fetch another instruction. It times itself and it still uses pipelines, except now fine grain pipelines are much cheaper and faster. You dont just wait for a finite period of time. The operation that you are executing will signal that its ready to move onto the next pipeline stage and the prevous stage is ready to accept another piece of data.

  32. Manufacturing Hype^H^H^H^HConsent by Alomex · · Score: 3, Insightful

    In the past I've mentioned here the role that popular publications like Scientific American have in creating hype. Be it the semantic web, nanotechnology, AI or asynchronous circuits, SciAm seems to focus on pie-in-the-sky ideas with a very small chance of success.

    That would be fine if they acknowledged this in the text, but more often than not they take an extremely bullish approach and echo the wildest promises by the researchers as if they were to happen tomorrow.

    Very smart people have been working for many years in asynchronous circuits, yet the likeliest scenario are hybrid designs mixing synch and asynch circuits (the asynch circuit stops the clock from propagating).

    Why do SciAm and other such publications do this? According to Chomsky because they are told so by the trilateral comission. Personally, I think they do it because it sells magazines.

  33. The problem with overcooling async logic by flanagan · · Score: 2, Interesting

    The problem with slapping active cooling on an asynchronous chip is that the chip will *stop* working if it gets too cold, just like if it gets too hot.

    Here's why:

    There are two main aspects to consider in an asynchronous chip, gate delay (the time for a gate to open/close) and propagation delay (the time it takes for a signal to go from one gate to the next).

    Asynchronous logic works by carefully arranging the length and geometry of the wiretraces between gates, so that the signals coming from those traces all hit their target gate (nearly) simultaneously.

    The problem is that gate delays are affected by temperature differently than propagation delays. They both get faster with cooling, and slower with heating, but they do so nonlinearly, and at *different rates*. And asynchronous logic requires those rates to be carefully matched. Change the rates too much, and the chip breaks.

    Synchronous logic doesn't have this problem (as much), because the whole point of latching everything between clock cycles is to give the slower signals time to catch up to the faster ones, and to force them all to wait up until everybody is ready (at which point the clock releases the latch, and the next cycle starts). But this has the downside of the extra wiring, circuitry, and power required to run all the clock lines and latches.

    --
    If you want to get rid of the bathwater, you've got to throw out a few babies.
    1. Re:The problem with overcooling async logic by brejc8 · · Score: 2

      You are confusing asynchronous logic with wave pipelining systems. We still need controll units.
      There are two methods. Eather you do things in DI where nothing can break the chip as every gate transition is acknowledged so even it a gate takes a year to switch it will still complete its operation.
      The second is using delay components which are placed amongst the datapath so it the datapath heats up so does the delay line.
      Its much safer than synchronous where if you do dump the chip into -100c its gates can out run the clock and alter the next latch during the clock strike.

  34. Real-Time by Amazing+Quantum+Man · · Score: 3, Interesting

    How would an asynchronous process affect determinism requirements, such as those of a hard real-time system?

    --
    Fascism starts when the efficiency of the government becomes more important than the rights of the people.
    1. Re:Real-Time by brejc8 · · Score: 2

      Although we say its self timed so operations can take different ammounts of time there is still a hard upper bound of worst case operations.
      Async circuits have been used in all sorts of hard delay systems like dynamicly vareable depth fifo in CD players or 1GHz+ FIR filters on hard disk reads.

  35. Arbiters... Something doesn't make sense. by Asparfame · · Score: 2
    The story spends a lot of words discussing Arbiters and the Buridan's Ass "paradox". A quote from the story: "Although Arbiter circuits never grant more than one request at a time, there is no way to build an Arbiter that will always reach a decision within a fixed time limit."

    I don't understand this at all - is it just Scientific American oversimplification? Why can't an Arbiter simply decide that if two pieces of data need to pass through the same component, it will let the left one through first this time, and next time there is a conflict it will let the right one through first (in order to avoid systematic "discrimination" against one part of the chip). This decision making process will always take the same amount of time.

    Can anybody explain to me what I have misunderstood - I'm sure there must be something I'm not getting, otherwise Sun wouldn't be researching this one piece so deeply.

    --

    There's no reason for a sig here.

    1. Re:Arbiters... Something doesn't make sense. by dubious9 · · Score: 2, Informative

      I'm no expert but here's my best shot. Well, what is an arbiter? An arbiter is something will let a signal through unless there is a collision with another signal. But there is a place on the border of being a collision and going a certain way, it's hard to know which way to go. But what is a collision? If they both get there within 20 picoseconds? Say the left signal gets there first, but the right signal gets there 19 picosecond later. Do you let the left one pass? Or do you let the right one go because the left one got it last time?

      This is the meta-stable line that the article refers to. So set up another state (a "close collision state)that detects the meta-stable case and alternate letting the signals pass. But by doing this you create another meta-stable line between the "go left/right" state and new "close collision". Say the time difference falls in the new meta-stable line. How do you decide? This is where it gets tricky because you always have a boundary between states, and the more logic you throw in an arbiter the longer it takes to process the common "only the right/left signal is here so i'll let it pass" state and all other states.

      Also, the penalty for landing on the smaller meta-state will be proportional to how much more unlikely you made it to land on.

      So instead of best case of 200 ps and a 10% chance of 300ps, your suggestion might be a best case of 220 ps and a 5% chance of 600ps. Remember, when talking pico seconds, nothing is free.

      --
      Why, o why must the sky fall when I've learned to fly?
    2. Re:Arbiters... Something doesn't make sense. by brejc8 · · Score: 2

      Correct! Fantastic! Someone on slashdot asked a question about async and another person answeared it correctly!
      The fact that the arbiter can take an infinite ammount of time is talked about a lot but never happens. Sometimes if you have two requests which just hit the border than it can take a ns for the unit to balance. This will happen once every year. For a longer period of time like 1 ms you would have to wait will the end of the universe. As engineers we dont plan our products to last that long and even if it happens then there is no fault as its self timed.

    3. Re:Arbiters... Something doesn't make sense. by frank_adrian314159 · · Score: 2

      Isn't it true, though that only truly unbiased arbiters take a potentially infinite amount of time? By using a preferential arbiter, you can trade off maximum arbitration delay vs. fairness. In most cases, simultaneous signal arrival (i.e., within the time needed to drive an arbiter into a metastable state) would be rare enough that an unfair, but bounded-time, arbiter would work just as well. Or am I mis-remembering some old crud from my past?

      --
      That is all.
  36. Cooling actually does speed up asynch CPUs by jncook · · Score: 5, Informative

    In 1993 I was a graduate student in the Caltech asynchronous circuit design group. That year we had a prototype asynchronous microprocessor that implemented a subset of the MIPS instruction set.

    The guys in the lab used to demo this by hooking up an oscilloscope to show the instruction rate. They would then get out a can of liquid nitrogen, and pour it on the CPU. The instruction rate would climb right up... This lead to many jokes about temporary cooling during heavy loads. "Hey, get the ice cubes... He's starting gcc!" :-)

    I believe our group used a different basic latch design than Sutherland describes. We handled all bits asynchronously using three wires, one that went high for 0, one that went high for 1, and a feedback wire for "got it". His design looks like it could latch a bus of wires simultaneously. Forgive me if I'm wrong... it's been almost a decade.

    One of the nice features of these chips is that they are tolerant of manufacturing errors. Often impurities in the silicon will change the resistance or capacitance of a long wire. In asynchronous designs, this just means operations that need that wire will be a little slower. In the synchronous world, either the whole chip fails or you have to underclock it.

    A group of ex-Caltech graduate students started a company to sell these asynchronous processors. Details at Fulcrum Microsystems.

    (For those at Caltech: Yes, that's me on the asynch VLSI people page. And yes, I wrote prlint. What an awful piece of software that was.)

  37. No mention of Theseus Logic? by BitMan · · Score: 4, Interesting

    Unless I missed it, there was no mention of Theseus Logic's Null Convention Logic at all which is a real disappointment. Theseus has one of the few approaches that doesn't require a PhD-level of education to understand and design in.

    --
    -- Bryan "TheBS" Smith
    Independent Author, Consultant and Trainer
    1. Re:No mention of Theseus Logic? by brejc8 · · Score: 2

      This might be because theseus have no novel stuff. They copied all their work from a paper by muller from 1958.

    2. Re:No mention of Theseus Logic? by BitMan · · Score: 2
      This might be because theseus have no novel stuff. They copied all their work from a paper by muller from 1958.

      Huh? I'm not talking the packetized boolean stuff of Amulet that Furber came up with. I'm talking Karl Fant's NCL approach which he developed while at Honeywell in the late 60s through the 80s and took commercial when he created Theseus in the 90s.

      --
      -- Bryan "TheBS" Smith
      Independent Author, Consultant and Trainer
    3. Re:No mention of Theseus Logic? by brejc8 · · Score: 2

      Well NCL or "4 phase return to zero one of n codes" was invented by Muller in 1958. Theseus might act like they invented async but people were doing dual rail well before they came along.

      Their only comtribution is trying to use threshold "gates" (with hysteresis) which might be very nice isn't usefull for anyrthing except for adders.
      Their implementations use DIMS gates (again from 1958) and when they dont they have a non DI (Delay Insensitive) implementation with orphan hazards.

      I am doing research on simmilar systems and have found their buziness stratergy to make patents well after they were invented and then make every one beleive that they invented it. They do have some very nice mind melting presentations (Im guessing you went to one).

  38. Re:Oh yeah, how do you upgrade one of these system by mark-t · · Score: 2
    Will slower clockless chips talk to/interface with faster clockless chips?

    They should.

    How do you avoid overruns?

    One mechanism I came up with in my first year hardware course was to use "READY" lines for each component, which would toggle state when the device was actually ready for input. It was the responsibility of the individual components to respect this protocol and not try to do things faster than any device that it communicates with. The result would be that without parallel processing, the overall computing device would not function any faster than the slowest component. It worked for what I was doing in my class... but I'm not entirely sure how well it would scale to something many hundreds of thousands of times more complex. But I have no doubt that someone's come up with something that works if I could come up with that.

  39. Re:Explanation, sorta [--OT?] by AstroJetson · · Score: 2

    No I don't, this is what I was told by my boss when I first started working in the traffic industry. We use AC power for all of our timing since it's FAR more accurate than a RTC. Cumulative drift in time is a very bad thing for us since the traffic controllers in a system would gradually get more and more out of step with each other.

    --
    Admit nothing, deny everything and make counter-accusations.
  40. bogus benefit claims by cheese_wallet · · Score: 2

    All the benefits this article touts about asynchronous designs are almost totally bogus, except the claim about power consumption.

    As it stands now, it is more difficult to keep things happening in the right order in an asynch circuit than to route a clock.

    The idea that clock has to operate only as fast as the slowest component--Well this is true, but it doesn't matter. The last design I did had numerous clocks in it. The fastest being in the tens of MHz (I know, not that fast), the slowest being less than 1KHz. The portions of my design that were able to run at high speed did. The portions that needed a slower clock got one.

    And has anyone heard of a multi-cycle path? Just because a circuit can't complete its objective in one clock cycle doesn't mean you have to slow down the whole boat. If it needs more than one, give it two.

    There are a lot of other aspects to be concerned about too... design validation (on paper, before building it), static timing analysis, fault coverage...

  41. Re:Clockless chips and turing machines? by mindstrm · · Score: 2

    What does clock have to do with a turing machine?

    A turing machine deals in discrete steps, but has no requirement for a constant clock.

  42. traffic waves and slotted aloha by slew · · Score: 2

    Asynchronous logic always appears to be better than synchronous at first glance, but when you do the math, sometimes it isn't so clear...

    Have you wondered why when traffic gets heavy on a freeway, it slows down? This is sort of like an asynchronous processor where every instruction is trying to get processed as quickly as they can (every driver is independent) but they need micro-synchronization to prevent collisions (brake lights, gas pedals). When the freeway is mostly empty, micro-synchronization works fine. However, as you approach the capacity limit, sometimes a global clock helps, sometimes it doesn't...

    If you have a pipeline, you get back pressure waves as you approach the capacity which can make things slower than a synchronous system. If the processing topology is more complicated, it becomes even more difficult to analyze...

    This effect is well known and affects things like processors and networks. Lookup articles on slotted ALOHA (a packet radio protocol) for some of the math if you are interested in some of the math behind this...

    1. Re:traffic waves and slotted aloha by brejc8 · · Score: 2

      If you design your async system correctly then you will NEVER be slower than the clock estimation of time required for an operation. Read my paper at my site about direct translation.

  43. Killer technology by Tablizer · · Score: 2


    "Cockless Computing"?

    There goes my sales to lonely Nunns.

  44. Pipelining by Joel+Ironstone · · Score: 2

    I would think that pipelining would be a difficult feature to uphold in an asynchonous system. You can't really divide instrucitons into little bits of undetermined size...or mayeb you can, if anyoen can explain how one pipelines an asynchonous processor I would be grateful

    1. Re:Pipelining by brejc8 · · Score: 2

      on my website read my paper im writing. It explains how async pipelines are very easy, fast and low power etc.

  45. Easy approach to asynchronous computing by brejc8 · · Score: 2

    I have written a paper and am writing my thesis on synchronous to asynchronous conversion. You simply write your design in vhdl/verilog/schematics and you get a self timed design out. I placed a mips processor through it and it was about 30% faster.

  46. Async Links by brejc8 · · Score: 2

    Sorry I didnt post these sooner but I am at a asynchronous computing workshop.
    If you are intrested in async then here is a list of cool websites:
    Async home is the main website with resources events and background.
    Amulet group have a selection of resources and news.
    And if you want a laugh then check out rat powered cpus

  47. No conforming C compilers though! by Karellen · · Score: 2

    ...if you can't define CLOCKS_PER_SEC

    --
    Why doesn't the gene pool have a life guard?
    1. Re:No conforming C compilers though! by brejc8 · · Score: 2

      You guess. It will take x ammount of time for an average y instruction. The data dependantness is a small effect.

  48. Re: Speed limitations? by brejc8 · · Score: 2

    yep but you dont have to make each stage equal in time. so logical operaions happen faster and difficult arithmetic operations (e.g. 1-1) as fast as synchronous.

  49. Re:So Much Stupid Shit. by brejc8 · · Score: 2

    Imagine working in async and once every 2 years someone on slashdot posts a message about async. Then 1000 slahsdotees who dont get out much and think theire experts about hardware will say something like "How do you tell the time?".
    Their descussions continue untill they conclude between themselves that you cannot ever be sure if a register has returned back to the regbank and it will never work.
    Ah well. BAck to work heh?

  50. Re:Explanation, sorta [--OT?] by jafuser · · Score: 2

    I spent some time in the power distribution office of a local power plant, and they had a big indicator in red LEDs showing the AC frequency, which read 60.0000 most of the time, but occasionally I'd see it click to 59.9999 or 60.0001 for a moment, but I never seen an 8 or 2 on there...

    --
    Please consider making an automatic monthly recurring donation to the EFF
  51. Re:Clockless chips and turing machines? by brejc8 · · Score: 2

    You can make anything in async that you make in sync.

  52. Re:Oh yeah, how do you upgrade one of these system by brejc8 · · Score: 2

    This is the point of asynchronous handshaking. You can do it across any speed components safely. Its request acknowledge wire pairs. Read my thesis, its a gentle inroduction to async.

  53. Re:Clockless chips and turing machines? by brejc8 · · Score: 2

    yeah but it will be slow and complicated.
    You can do it by sticking latches across a few signals and drive then using a clock.