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.

342 comments

  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 cybermace5 · · Score: 1

      Not impossible.

      The speed of the chip will still be limited by certain factors, which can be changed by increasing voltage and cooling.

      Communication interfaces will still need clocks for the time being, including peripheral busses. Unless, of course, a clockless computer has a redesigned peripheral base as well.

      I see asynchronous processors making their first mainstream appearance in high-performance graphics cards. This is an application where specialized functions will benefit vastly, as well as the ability to pack in more processing power without heating up. The graphics processing will get done as fast as possible, and the chips will be designed to process in a massively parallel fashion.

      --
      ...
    7. Re:1 Million reward by Diego_27182818 · · Score: 1
      For once real world performance comparisons would have to matter.
      No they wouldn't. The only thing that would happen would they would put forth another meaningless measure of speed.
      --
      Warning, cape does not enable user to fly
    8. Re:1 Million reward by boomer_rehfield · · Score: 1

      so now all the Europeon computers will be faster?!?!

      That's it...I'm moving....

      --
      Carpe Canem - Seize the Dog
    9. 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.

    10. Re:1 Million reward by McCart42 · · Score: 1

      But when it gets faster, doesn't it begin to run hotter? Not saying that cooling isn't still relevant, but it may be harder to "overcool" than to "overclock", since cooling will raise the "speed" of the chip, which in turn will add heat, which will counteract the cooling you do.

      Cooling will still help but it will perhaps not be at the scale we think.

      --
      "I may be quite wrong." - Socrates
    11. Re:1 Million reward by Anonymous Coward · · Score: 0

      Wrong...

      It is not [totally clock]ess computing, it is [centralized clock]less computing. From page 2 of the article:

      Without a clock to govern its actions, an asynchronous system must rely on local coordination circuits instead. These circuits exchange completion signals to ensure that the actions at each stage begin only when the circuits have the data they need.

      So, the integer pipeline does not have to be "clocked" as slowly as the FP one, as strict integer calculations would use only their own pipelines. If there were an operation using both the int and FP pipelines, the int would have to wait for the FP to be done.

      Losing the centralized clock does not make magic chips, it just changes the game a bit.

    12. Re:1 Million reward by Anonymous Coward · · Score: 0

      I'm feeling pretty skeptical -- I mean I've designed async. circuits to do things like control a traffic light and it is HARD! Since not everything runs nicely in step because of a clock, you get a nightmare of mismatched propagation delays causing errors you can't even imagine. Some intermediate state of an output (unpredictable) gets used instead of the signal you want it to settle out at... so avoiding the races and hazards for such a big circuit: you either use some synchronization mechanism (like a clock!! or 'hardware semaphore'??) or... well, rework the logic. Not possible with a CPU...

      veeery tricky, I kind of doubt they will be able to do it, maybe use some kind of hardware synch. signal to allow a VARIABLE clock speed? That might be better... so each circuit sub-element could tell the rest of the world when its results were safe to be latched?

    13. Re:1 Million reward by questionlp · · Score: 1
      I checked the product page for the XVR-1000 and the product page for the MAJC processor and didn't see any mentions of async on either pages.

      The MAJC processor microarchitecture is VLIW-based (which is what the Tranmeta Crusoe and the Itanium processors use, along with other processors that I can't remember at the moment)... the MAJC 5200 contains two processors within the package (kind of lie the IBM POWER4 processor) and definitely has a clockrate.

      Am I looking at the wrong set of data?

    14. Re:1 Million reward by ZeLonewolf · · Score: 1

      But when it gets faster, doesn't it begin to run hotter? Not saying that cooling isn't still relevant, but it may be harder to "overcool" than to "overclock", since cooling will raise the "speed" of the chip, which in turn will add heat, which will counteract the cooling you do.


      Well, yes.

      There is a feedback system between clock speed, heat output, and cooling. When you slap that CPU cooler on, the system reaches an equilibrium between these factors.

      However, as you increase the amount of cooling you put in, the system compensates by increasing the clock speed (This is more a mathematical concept than an engineering concept).

      If the rate of change in clock speed with respect to cooling is nonlinear and declining, than there will be a point afterwhich the clock speed cannot go any higher, or at least, for every incremental increas in cooling, there is an increasingly insignificant increase in the clock speed.

      Of course, there MUST be a limit, since nothing could possibly go faster than an electron zipping through silicon at absolute zero...
      --
      "If at first you don't succeed, lower your standards."
    15. Re:1 Million reward by Anonymous Coward · · Score: 0

      The async ships will initially be used mostly for their power saving feature and will be integrated with clocked chips.

    16. 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
    17. Re:1 Million reward by Anonymous Coward · · Score: 0

      Like Quake 3 framerates?

    18. Re:1 Million reward by npietraniec · · Score: 1

      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 :)

    19. 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.

    20. Re:1 Million reward by IWX222 · · Score: 1

      Even though different cicuits can run at different speeds, surely some operations require other operations to be able to proceed. Won't the system run at the speed of the slowest part, to a certain extent?

      --


      .sig me!
    21. Re:1 Million reward by Speed+Racer · · Score: 1

      There, but for the pesky third law of thermodynamics, go we.

      --
      Free Mac Mini. Yes, I'm
    22. 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
    23. Re:1 Million reward by Weird+Dave · · Score: 1
      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.
      Parts of the Pentium 4 processor are asynchronous. In other words, you could always stick a clocked component on one end of the processor, and claim that that's the speed.
      --

      Grumble, Grumble
    24. Re:1 Million reward by Anonymous Coward · · Score: 0

      there is limit though.

      At 0 degree Kelvin (absolute zero), the electrons are frozen and fixed. They can't move any more which is _BAD_ in a computer chip...

      Now, where did I put this liquid nitrogen tank of mine to cool my CPU...

      Artaxerxes

    25. Re:1 Million reward by br0ck · · Score: 1
      nothing could possibly go faster than an electron zipping through silicon at absolute zero...
      except an electron going through gallium arsenide. (see 10th paragraph) The speed of each electron isn't much compared to the speed of light. See this article for more information about the speed of electrons vs. the speed of electrical current propagation.
    26. Re:1 Million reward by joesao · · Score: 1
      For an async chip overclocking = overcooling

      How's that any different for a sync chip? Cooler sync chips also run significantly faster.

    27. Re:1 Million reward by timeOday · · Score: 1

      But "clock" is not a good word for that signal, because the basic idea of a clock is that it proceeds at a uniform rate.

    28. Re:1 Million reward by Anonymous Coward · · Score: 1, Informative

      Not entirely true. You have to 'know' when data is stable enough to key the next series of logical steps, otherwise you get indeterminate results. It isn't like the TTL logic circuits you made in your Intro to Digital Logic class where it doesn't matter what time everything finishes. All of the asynchronous designs I've worked on still had multiple 'stages' like a pipeline. You still have to have your basic load/decode/execute/retire stages in some form for a CPU. The difference is that each stage completes when it is 'finished' and triggers the next stage to start operation. For example, for one set of data, the adder may stabilize/finish in 1ns which lets the whole thing complete in 5ns where for a different set of data, the adder takes 2ns to finish and makes the whole instruction take 7ns to finish as opposed to a synchronous design where all adds take 6ns to finish, regardless of the data, because each clock tick is 1ns long and the add instruction takes 6 clock ticks to execute completely.

      The tradeoffs between synchronous and asynchronous design are that clock circuits take up a large amount of real estate on a chip. However, the control logic for asynchronous designs can take up as much space. Clock skew issues are nasty at high speeds when you try to ship it around to various parts of the chip too, where in asynchronous designs, there is no skew to worry about really. Asynchronous designs can use much less power than synchronous designs.

      Depending on how the thing is designed, the data that is being processed in an asynchronous design may govern how fast the thing performs. For example, it could be that as long as we are adding many numbers that have less than 5 '1' digits in them we are very fast, but if you have over 10 '1' digits in them, it is a bit slower. Certain bit patterns may require longer times to settle as well.

    29. Re:1 Million reward by nexthec · · Score: 1

      It doesnt, there is just other ways to overclock a a sync chip, like overclocking, which usualy leades to needing significanlty more cooling power.

    30. Re:1 Million reward by PacoTaco · · Score: 1

      Welcome to Slashdot, home of the trademark "geek smackdown." :)

    31. Re:1 Million reward by Anonymous Coward · · Score: 0

      You missed the obvious objection:
      At absolute zero *nothing* moves.

    32. Re:1 Million reward by duren686 · · Score: 1

      Perhaps the original poster meant "Nothing, at absolute zero, moves faster than an electron through silicon"

      --
      Y2K Compliant since the late 1890s
    33. Re:1 Million reward by Anonymous Coward · · Score: 0

      So, the integer pipeline does not have to be "clocked" as slowly as the FP one, as strict integer calculations would use only their own pipelines. If there were an operation using both the int and FP pipelines, the int would have to wait for the FP to be done.

      Oh I get it, you're complaining about slashdot's time limits.

    34. 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?

    35. Re:1 Million reward by _Knots · · Score: 1

      Yes, async chips are designed like you make them sound. It's kinda... standard with async logic to have a "latchable" / "ready" / pseudo-clock line going from one component via fanout to any that are listening to its output.

      You *can* of course design async systems without that, but for reasons you stated, it's almost never done for anything not very simple. A traffic light controller, as you point out, is probably near the borderline in terms of complexity (also, I'm betting you did have a clock to drive delays and such. Or made an async unit that clocked).

      If the async modules get complex enough they themselves may be clocked units, or they may be made up of simpler unclocked ready-ASAP units. The words "asynchronus computing" really leaves a lot open to the designers, since each module just has to take/pass data and zero or more "ready" signals.

      And as for "not possible with a CPU" - well, that depends. Given the black-box nature of the async modules, it would seem that a perfect fusion of async computing and FPGAs could be made. If not the entire CPU, well, then perhaps just parts of it. It'd be really really sweet to have a rewirable async coprocessor (even better on the CPU itself).

      But I digress.

      --Knots

      --
      Anarchy$ dd if=/dev/random of=~/.signature bs=120 count=1
    36. 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.

    37. Re:1 Million reward by Hank+the+Lion · · Score: 1

      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.


      What is the problem in that? Actually, this speed difference based on temperature is there in present-day computers. The further you cool them, the higher you can (over)clock. But to avoid stability problems, you should keep a safety-margin.

      You could see asynchronous computing as automatic maximum overclocking without stability issues: the system will run as fast as temperature will allow!

    38. Re:1 Million reward by Manitcor · · Score: 1

      This concept is discussed in the article.

      Circuts called arbiters handle the switching and determine when a paticulare step is free to take on another calculation.

      Though in most operations one process can depend on another and there is no way to determine when the next anwser will come up to match data in teh buffer. At the end of the article they mentioned that this is one issue they are stillworking on yet they did not mention how they were going about it (schoolchildern analogy). Perhaps some predictive circuit.

      Anyone know how this may work?

      --
      "Don't mess with him, he taunts the happy fun ball."
    39. Re:1 Million reward by Anonymous Coward · · Score: 0

      the electrons are frozen and fixed.

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

      Homey don't play that.

    40. Re:1 Million reward by Anonymous Coward · · Score: 0

      This post gets the dumbass of the day award.

    41. Re:1 Million reward by sirsnork · · Score: 1

      Yes... but the slowest part may only be the slowest part when it is doing something incredibly complex, that onnly happens once every year.. at all other times it isn't even the slowest part.. Of course then you have a new slowest part :-). I believe a certain balance will need to be reached

      --

      Normal people worry me!
    42. Re:1 Million reward by Anonymous Coward · · Score: 0

      It could be that niggers, jews, spics, muslims, and chinks are the main problem. Eliminate these troublemakers and the world would be a better place.

    43. 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.

    44. Re:1 Million reward by Vulture_ · · Score: 1
      Those synchronization issues and such were resolved a long time ago.
      1. Today's computers run at a variety of different speeds. Some of those speeds the result of over/underclocking only, and no processors are rated at such speeds. Software must therefore not rely on the machine running at any particular speed.
      2. In modern multitasking operating systems, the speed of the machine is effectively random, since each process may be suspended and resumed at any time. Therefore, user-space programs cannot rely on the machine running at a constant speed.
      3. Many modern low-power processors (such as those used in laptops) are capable of altering their clock speed on the fly, to conserve power when load is light. Therefore, even the kernel cannot rely on the machine running at a constant speed.
      There are some other reasons, but I think I've made my point. Note that some problems relating to processor speed may be resolved by using the computer's real-time clock as a point of reference, which is independent of processor speed.
      --

      The only way the typical /.er can pick up a chick is with a forklift. -- AC

    45. 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.

    46. Re:1 Million reward by Anonymous Coward · · Score: 0
      Circuts called arbiters handle the switching and determine when a paticulare step is free to take on another calculation.

      Anyone know how this may work?
      Usually the arbiters just stasis field your entire army and then recall lots of zealots and reavers into your base.
    47. Re:1 Million reward by Anonymous Coward · · Score: 0

      Yeah I love doing that, they think its just this one ship coming to scout you out then boom, an entire army is knocking on your front door.

    48. Re:1 Million reward by IWX222 · · Score: 1

      I expect that it will reach an equilibrium, and that it will be faster than current sychronous processors. It might not be as fast as people expect, but they should be good! Actually, if they could function in a truly multi-tasking way, they could be very efficient. It should be interesting, whatever happens!

      --


      .sig me!
    49. Re:1 Million reward by jafuser · · Score: 1

      At least you won't have to worry about overheating as much, since the processor will slow down if it heats up... Which makes for an inherent negative feedback... :)

      --
      Please consider making an automatic monthly recurring donation to the EFF
  3. BS by Anonymous Coward · · Score: 0

    That will never happen. Users are aleady too used to having a clock in the computer to tell them the time & to remind them of their appointments. :)

  4. 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 Anonymous Coward · · Score: 0

      uh... why not just go pick up a PS2 Linux box? if nothing else, it's fun (and good experience?) to program for the 128bit processor core (in asm, of course. all mips compilers suck, sorry guys)

      cheap too.

    2. Re:Yeah and... by Anonymous Coward · · Score: 0

      You mean like next year?

      The earliest Hammers will become a new line of Athlons. Athlons are generally for home use.

      Just because Intel wants to control tight supply of IA-64 so it'll cost more doesn't mean we won't have 64-bit processors.

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

      You mean a sun blade for under a thousand dollars?

    4. Re:Yeah and... by xbrownx · · Score: 1

      Something tells me I should wait to believe it til I see it.

    5. Re:Yeah and... by JPriest · · Score: 1

      AMD's ClawHammer is due the second half of this year. The Barton will (probably) be a scaled down 32 bit version of the ClawHammer. You can find the PR rating chart for the TB and Barton here. The Hammer may be released somewhere in the 3400+ range.

      --
      Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
    6. Re:Yeah and... by AltaMannen · · Score: 1

      You mean like a Nintendo 64 or something?

    7. Re:Yeah and... by Anonymous Coward · · Score: 0

      You're dumb. The PS2 is 32 bit. It just has a 128-bit bus or something else (it's been a while since I cared) but the main processor is 32 bit.

    8. Re:Yeah and... by King+of+the+World · · Score: 1

      Your wish is answered (rather, was answered, in 1993)

  5. I don't understand by Gabreal · · Score: 0

    If you have a clockless computer than doesn't that mean everthing is running at the same speed and if that is true doesn't that mean good for the computer world??? If you think about it that sortof means that everything is going at the same speed which means no more lag in any of the programs we run as well that means that when something on the computer goes down then it may cause major side effects on the systems timing sending the whole thing out of wack? Oh well it does seem for the most part a good idea, every syustem will run a hell of a lot smoother and faster.....

    1. Re:I don't understand by Anonymous Coward · · Score: 0

      RTFA, the first couple of paragraphs should be enough to make you regret this post.

  6. The Pure Fantasy Approach by GodInHell · · Score: 1

    If only it was truly external to a need for time.

    "Why yes docotor, we will write that program!"
    What makes you say that
    "The printer just spit out the results.

    Or; Why can't I set a global to tell myself not to run that devide by zero after the crash has occoured before I execute..?

    -Gih
    Loopy does not even begin to describe my current mental state.

    1. Re:The Pure Fantasy Approach by Anonymous Coward · · Score: 0

      Please excuse me, but WHAT THE HELL FUCK are you talking about? Make some sense!

  7. 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 Anonymous Coward · · Score: 0

      Its not impossible at all, it simply takes a lot more transistors to produce the same logic. Which means that the design takes more time and more importantly the size of the chip becomes much larger, and that is the real problem.

    2. Re:One problem with asynchronous logic by Anonymous Coward · · Score: 0

      OTOH, you don't have as much circuitry to deal with clock propagation. Clock circuits take up a huge portion of today's CPUs, both in terms of real estate and power.

    3. 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

    4. Re:One problem with asynchronous logic by kosipov · · Score: 1

      Just to pour some oil into the computer scientists vs. electrical/computer engineers contest -- computer scientists have been designing and implementing asynchronous logic since early 1950. These days it is called multithreaded programming and is used in practically any serious software application. Take that you ECE majors.

  8. 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 tripletwentie · · Score: 0, Flamebait

      they can't take away the clock. how will i know what time it is?
      or when it's time to patch up XP

    2. 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?

    3. Re:clockless computing? by sirsex · · Score: 0

      Actually, the computer keeps very good time, it just doesn't use it. Most PCs load the time from the motherboard clock, which usually contains a crystal, at startup. But after that, the CPU is used as a counter to keep the time (and most seem to really suck). Every once in a while, it will re-sync with the main clock

    4. Re:clockless computing? by the_bikeman · · Score: 0

      You could write a small app that simply mirrored an Internet atomic time server.

  9. 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 ZaneMcAuley · · Score: 1

      oooh the memories..
      *weeps*

      It was also:
      AMP - Asymetric Multi Processing...
      Memory mapped devices...

      Now its just...
      Legendary...

      I want...
      Transputers :D Want more power, just plugin more CPUs...
      Unified bus... Modular design (lego computing)

      --
      ----- Whats wrong with this picture? http://www.revoh.org:1234/whatswrong
    3. 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.

    4. 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)

    5. Re:The Amiga Zorro Bus was Asyncronous by turgid · · Score: 1

      Don't worry, Roy and Elvis are working on a new one, even as we speak.

    6. Re:The Amiga Zorro Bus was Asyncronous by EvilBudMan · · Score: 1

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

      So was the Atari 800. I think that both computers had the same designer. Please chime in if I'm wrong. I wonder what happened to the guy that designed the Amiga?

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

      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).

      I seem to recall the 68000 CPU having an asynchronous memory-bus architecture.

    8. Re:The Amiga Zorro Bus was Asyncronous by JCMay · · Score: 1

      Jay Miner died several years ago.

    9. Re:The Amiga Zorro Bus was Asyncronous by EvilBudMan · · Score: 1

      Thanks for the link.

    10. 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!

    11. 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.

    12. 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.

    13. 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
  10. 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 MikeD83 · · Score: 1

      Because all motherboards have a direct link to 120V 60hz AC Power... Your computer knows what time it is because of the real time clock which is a component of the motherboard. It runs when the PC is off by getting it's power from the small watch battery.

    3. Re:Explanation, sorta by saider · · Score: 1
      Most motherboards only take in DC. Your power supply would need to provide the signal, not the motherboard.

      And what about...

      A laptop on battery power?

      A remote machine on Solar Power?

      A computer in a foriegn land with 50Hz power?

      A computer on a boat with 40Hz (IIRC) power?

      Just put a realtime clock chip on the thing and use that. Much simpler. Besides, most OS's are going to need one to do basic scheduleing (sp?) and context switches.

      --


      Remember, You are unique...just like everyone else.
    4. 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.
    5. Re:Explanation, sorta by ryanjorg · · Score: 1

      Actually, getting rid of the synchronous constraints on memory access is one of the better ways to obtain faster performance with a clockless CPU. Writing to memories is still problematic (you need some kind of a delay line or a matched RAM Cell), but reading--you can just tag off of the sense amplifiers and use that as a "DONE" signal and start using the DATA. Because a number of the asynchronous approaches use "DUAL RAIL" encoding, the signaling protocols match quite nicely the typical "Precharge/Evaluate" setup of a RAM readout. The result is that you get better-than-worst-case access times for the memory.

    6. Re:Explanation, sorta by Beliskner · · Score: 1, Flamebait
      Slashdot is guilty of spreading FUD in this case. It has to be clocked somewhere, the processor's going to have to at least have D-latches on its inputs and outputs as the FSB is going to be synchronous (unless I missed a REALLY important memo). Processors are already asynchronous between the D-Latches. This completely asynchronous chip is a rebellion against Intel hyperpipelining. Any EE knows that you get the highest clock speed when the slowest component on your ASIC is the D-Latch, but this doesn't necessarily mean the highest performance, simple operations must go through too many D-Latches.

      Decreasing the clock speed and the number of D-Latches is a sensible idea, as D-Latches take up space on the die and make heat. This is a simple protest vote against Intel, rightfully so. In increasing the CLK of their processors at every other expense so much so they even hack their own processor by translatin it into microcode subinstructions. Stupid.

      --
      A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
    7. Re:Explanation, sorta by Daengbo · · Score: 1

      I don't know ... MY motherboard runs at 220V 50MHz, but maybe my neighbor ... no, I'm pretty sure his does, too.

  11. But what will they use... by Anonymous Coward · · Score: 0
    as a dic...err peformance measurement unit then ?

    Apple will certainly be please if it is still around since it will obviously end the megahertz myth, which giga-hurts the Mac.

    But imagine: they will need to find real, actual benchmarks to compare the performance. This does not sound reasonable...

    Or should these chips be called cockless...

  12. 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.

    1. Re:Think of a water clock by Anonymous Coward · · Score: 0

      You took that text directly from the article! Word-for-word! Only a single sentence was added.

      And got an Informative rating.

  13. 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 MORTAR_COMBAT! · · Score: 0

      isn't 7.14 MHz equals to 0.00714 GHz, not 0.000714 GHz?

      1000 MHz == 1.0 GHz
      100 MHz == 0.1 GHz
      10 MHz == 0.01 GHz
      7.14 MHz == 0.00714 GHz
      1 MHz == 0.001 GHz

      i dunno, maybe my brain is dead today and i can't do basic math...

      --
      MORTAR COMBAT!
    5. Re:Return of the 68000? by pmz · · Score: 1

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

      Actually, it's 0.00714 GHz.

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

      Ooops. Stuttered on the "0".....

    7. 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 ;-)

    8. Re:Return of the 68000? by nurb432 · · Score: 1

      Nope, it was clocked. as was all other commercially packaged micro CPU's.

      Or at least ive not heard of anything that hit
      consumer markets.

      Too bad too, async was cool stuff.

      --
      ---- Booth was a patriot ----
    9. 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.
    10. 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.
    11. Re:Return of the 68000? by EvilBudMan · · Score: 1

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

      I don't think it was the first 32 bit either. Wasn't there a 6800 before the 68000. Someone stole my copy of Introduction to Microcomputers by Adam Osborne and it is now out of print. If I remember right it came out in 1979 and listed some 32 bit processors before the 68000 came out.

    12. Re:Return of the 68000? by isorox · · Score: 1

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

      7.14MHz = 0.00714GHz. You wrote 714kHz

    13. 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.

    14. Re:Return of the 68000? by Anonymous Coward · · Score: 0

      you have an extra zero. It's 0.00714 GHz.

    15. 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.

    16. 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.

    17. Re:Return of the 68000? by Anonymous Coward · · Score: 0

      So the future is effectively trying to simulate this through Java, then? :)

      My Atari ST still runs faster than any type of games that can be run in Java on my Athlon 1.4... I'm well impressed :)

    18. Re:Return of the 68000? by Anonymous Coward · · Score: 0

      Sorry guys. The async part refers to how the core logic is implemented. Nothing to do with the way the interface is designed. The 68000 bus is still synchronous - S0-S7 clock states.

    19. 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.
    20. 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.
    21. Re:Return of the 68000? by EvilBudMan · · Score: 1

      OK

      Then is was the 68000 that was also in Introduction to Microcomputers? Thanks for the link.

    22. Re:Return of the 68000? by Anonymous Coward · · Score: 0

      It was also used in the Sega Genesis and Neo Geo Consoles.

  14. Intel will be pissed by JimE+Griff · · Score: 0, Redundant

    How will they market stuff now? They might hve to thing of real architecture solutions! Woe is them.

    --
    Jimmy _______ | | | \__/
    1. 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.
    2. Re:Intel will be pissed by CrazyDuke · · Score: 1

      ...or they could just rate it by average floating point operations per second and average integer operations per second.

      --
      Any sufficiently advanced influence is indistinguishable from control.
  15. The next step by goofy183 · · Score: 1

    Looking at the progression of programming languages it makes sense that the rest of the computer would follow. I don't know as much about older languages as I really need to make a strong argument but it seems that they are for the most part procedural and very few have any means for events or being driven by input or other actions. New incarnations of languages such as Java, C#, VB.net and even C++ (form my limited experience) are completely event driven or moving in that direction.

    From a programmer's standpoint the code is generally easier to write and there is less of it with an event driven system. The other bonus is you aren't wasting cycles by waiting in a programmer created loop (I know there is a loop in there some where). With an asynchronous chip (and hopefully whole PC) one could design a truly event driven system. It would use very little in the way of resources when nothing was going on, instructions would only take as long as they need instead of having to wait for the clock in many cases and the logical design seems like it would be much simpler.

    I hope asynchronous computing technologies become more available. The biggest obvious bonus is reduced energy consumption & heat output but I think and entirely asynchronous computer would be a marvelous piece of equipment and be extremely powerful for it's complexity.

    1. Re:The next step by falzer · · Score: 1

      Yes, there "is a loop in there somewhere." There always is. Not necessarily at the application level, though.

      As far as old languages go, I know that at least C programs can be written to be event driven.

      Not that many cycles are wasted in loops if software uses, say, select (while blocking of course) to wait for some event, or uses an OS call to give up X milliseconds of computing time it doesn't need, or halts the processor until an interrupt occurs (in the case of an OS perhaps).

      You make some other good points. As our favourite editor would say, "Interesting read."

    2. Re:The next step by NuShrike · · Score: 1

      Ada?

  16. 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
    1. Re:combine clocked/-less sections on same chip? by McCart42 · · Score: 1

      I was thinking about something like this myself. But what about when your dry cleaning isn't done on time? Do you wait another 4 days to check again, in the synchronous parent chip? ...It's an interesting issue.

      --
      "I may be quite wrong." - Socrates
    2. Re:combine clocked/-less sections on same chip? by questionlp · · Score: 1
      I believe the Pentium 4 processor does contain a couple of clockless/async components within the same die as the rest of the processor.

      There is a thread going on Ace's Hardware, discussing the same article as well as other articles and references to clock-less computing.

  17. Funny title by nkyad · · Score: 0, Offtopic

    My eyes just crossed through the words without really reading. Then my brain started puzzling itself about why were people taking their macho feelings about their hardware so far as to have a company explicitly launching a "Cockless" computer.

  18. 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 sharkey · · Score: 0, Offtopic

      withoutaclocksignal,howcanyoutellwhenoneinstructio nstopsandanotherbegins?

      When the Slashcode Lameness Injector inserts a space for you.

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    2. Re:Thisisahorribleidea... by alexburke · · Score: 2

      withoutaclocksignal,howcanyoutellwhenoneinstructio nstopsandanotherbegins?

      By the spaces inserted randomly by Slashcode.

      (Sorry, but it's true!)

    3. Re:Thisisahorribleidea... by Anonymous Coward · · Score: 0

      " withoutaclocksignal,howcanyoutellwhenoneinstructio nstopsandanotherbegins?"

      Probably the same way Japanese and Chinese do it, since there are no spaces in Kana or Kanji.

  19. Re:Explanation, sorta [--OT?] by abusimple · · Score: 1

    Always sorta been curious but never bothered to take any initiative and actually look it up myself:

    How precise is the frequency of AC from a typical power company? And how much does it change over time (if any)?

  20. obligatory request for google cache link by Anonymous Coward · · Score: 0

    since the article is completely slashdotted... can someone who can figure out the google cache link post a link for the lazy ones among us?

    -ac

  21. Spinning? by BlackMesaResearchFac · · Score: 0

    With all that talk of spinning you make it sound like there's a little gerbil in my CPU.

    --
    -- Scientist: You aren't going to leave me here, are you? Boagh! Thump...
    1. Re:Spinning? by NorthDude · · Score: 1

      What?!? It's not the case?!?
      I thought that the "grit" "grit" sound my computer make was them trying to escape!

      --


      I'd rather be sailing...
  22. 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 Cheesemaker · · Score: 1

      As everyone else has mentioned, it is harder to debug and verify, which is what takes up most of the time in processor development. Also, process variation during fabrication is a huge problem with asynchronous designs. I've been reading some papers about asynch processors, and most of the research designs I've read about never get fabricated.

    5. Re:Small scale, and then larger by Tjp($)pjT · · Score: 1

      As a Russian friend of mine says, "The only thing new is history that has been forgotten." I worked on the team that designed and wrote the simulation tool for DEC's large system group and specifically for the Vax 8600 which had an asyncronous core implemented in ECL gate arrays. One of the more interesting facets was the skew analysis where PCB trace, on-chip, in quadrant, in cell, and basic element skews were all accounted for. Awesome project. In the early 80's ...

      --
      - Tjp

      I am in wallow with my inner money grubbing capitalistic pig. ... Oink!

    6. 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.
  23. 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
  24. Asynchronous Slashdotting by Anonymous Coward · · Score: 0

    Perhaps they need asynchronus web servers -
    Or maybe asynchronous users...

  25. Oh, God, NO! by Anonymous Coward · · Score: 0

    Where the fuck did you get that one from?

    1. The so called 60 Hz sine wave hasn't got a 60.0 Hz frequency, since deviations from that are acceptable, so your clock wouldn't be precise. It's not guaranteed to be a perfect sine wave either.

    2. Despite being relatively simple, it's much more complicated to measure the AC supply's frequency than to use a crystal for the time-keeping clock.

    And this doesn't even start addressing issues such as possible power outages.

    In the future, please refrain from posting about matters from which you know nothing about.

    1. Re:Oh, God, NO! by barawn · · Score: 1, Informative

      Most alarm clocks use the 60 Hz AC to generate time. Yes. It's not precise at any given point, but it's accurate over time. Even some digital clocks use this instead of crystals, hence the reason why if you plug them into outlets in other countries which use 220 V @ 50 Hz, they'll run slow. Not ALL digital clocks use this, but some (not sure how common it is, actually) - this I know from personal experience.

      And if a power outage occurs, then yes, the computer may have a bit of trouble determining the time. It also may have a bit of trouble running at all. :)

      As per the second comment, I don't know where you got that from: you wouldn't measure the frequency (which... would only need a frequency-to-voltage converter anyway: any basic EE text will have that) - you just need to use a bit of electronics to clean up the sine wave, turn it into a square wave, and then clock some logic with it. It's just as easy as using a crystal.

    2. Re:Oh, God, NO! by Weird+Dave · · Score: 1
      Most alarm clocks use the 60 Hz AC to generate time.
      I don't think this is likely, since most alarm clocks I've ever had have a battery in them, just in case the power goes out. Once you have a DC battery, you almost have to have a crystal to keep accurate time. I think this clock you mention is a very unusual specimen. Or maybe it is just incredibly cheap, and the reason I've never seen one is that I don't purchase that kind of stuff.
      --

      Grumble, Grumble
    3. Re:Oh, God, NO! by Anonymous Coward · · Score: 0

      i've got the AC-with-battery-backup clocks too, but i can only wish they weren't the cheapest i can find - i can't afford any of the good stuff.

      oddly, the one i use most keeps good time while on AC, but goes noticeably fast when on batteries. i'd never really wondered why before, but it doesn't make much sense if it were always using the same oscillator, does it?

    4. Re:Oh, God, NO! by Anonymous Coward · · Score: 0

      They all use quartz crystals because they all have a generic chip that does everything. The above post is a blatant troll.

  26. Didn't Intel already develop one? by Yold · · Score: 1

    If memory serves... Isn't Intel already utilizing asynchronous technology in thier StrongARM line of processors? I thought they developed an asynchronous processor back in the early pentium days, but the costs of mass producing it were pretty steep.

    1. Re:Didn't Intel already develop one? by Anonymous Coward · · Score: 0

      The SA-110 was synchronous. You might be thinking of the Amulet processor.

      Being from an Acorn background it still irks me to see the ARM referred to as anything to do with Intel.

    2. Re:Didn't Intel already develop one? by Anonymous Coward · · Score: 0

      The StrongARM is Digital's high speed implementation of the ARM architecture designed in the UK; Intel bought all of DEC's chips, including the ARM licences, which have allowed it to design the XScale. I suspect that you are thinking of the Amulet chip, developed at Manchester University.

  27. 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

  28. 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.

    1. Re:Why? by fryguybob · · Score: 1

      Someone could make smaller clocked components that make up a system, in fact that is how most systems work right now (memory vs CPU). With the asynchronous chips they are talking about in the article, it is the Data itself that drives how long the system waits for a circuit to execute. A circuit finishes execution based on the data that was passed into it, rather then based on a fixed amount of time.

  29. 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.

    1. Re:No mhz!?!? The world will end. by Anonymous Coward · · Score: 0

      Maybe Intel can name the asynchronous chips "Pentium VI 30,000+"?

    2. Re:No mhz!?!? The world will end. by Anonymous Coward · · Score: 0

      No, look at it this way, you'll be _ULTIMATELY_ cool. No matter what clock speed anybody else gets, you'll always be just as fast, because MHz x 0 is always 0!!! On the downside though, this also means that your hot new clockless machine is no better than grandmas old 486SX33 ;)

    3. Re:No mhz!?!? The world will end. by Anonymous Coward · · Score: 0

      Memory of course. Bet you didn't think of that one, did you?

  30. 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.
  31. The problem with asynchronous logic by Anonymous Coward · · Score: 0

    What I see wrong with asynchronous logic and the progression to faster technology is that it requires timing wires to measure the time it takes for a signal to propagate. That's a problem because then the assumption is that there should only be one signal on a wire at a time. That means the fastest speed between two circuits is dependent on the distance between them. That will severely limit the speed scalability of asynchronous circuitry! I'd like to see a high-speed CPU design take an example from networking-- have more than one bit on a line at a time. For example, suppose you have a highspeed network (i.e. 100Mbps or something similar). Along several meters of network wire there are multiple bits of data. I'm too lazy to calculate actual numbers, but it's probably somewhere around 70 or so bits. Each spread out by a distance of perhaps a few centimeters-- remember it takes time for electrical signals to propagate. I believe whoever develops an architecture allowing multiple bits on a CPU bus (like a LAN network) will win the race for speed.

  32. 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 McCart42 · · Score: 1

      Wait...I know that same guy, and he's here, at Case Western Reserve University...j/k. My prof in logic design (and I would imagine most profs) brought out this point to us, and added the statement that "this is going to be something you'll see in the future, provided they can learn to work with it." So here we are.

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

      --
      "I may be quite wrong." - Socrates
    2. 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.

    3. 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

    4. Re:Heard about this stuff in class by Montag2k · · Score: 1

      Ah, you're right. It seems to me that in order to design an ansynchronous circuit that would take advantage of the second thing you mentioned (the idle portion part), it would be very tough. It seems like it would be hard to predict hazards in the same way you would predict them on a clocked machine.

      The fact that there are different strategies for designing in asynchronous circuits is what I think the major issue will be. All of these designers who have been designing clocked stuff for years all of a sudden have to start thinking differently, and that can be hard to do. Here at RPI, the subject was just touched on by that one professor - when in reality it should probably a whole class!

      Thanks for the reply - it was very informative.

      -Montag

    5. Re:Heard about this stuff in class by Anonymous Coward · · Score: 0

      Actually you wouldn't design the entire chip to be async because you can. You have the core async and the I/O synchronous so that you can talk to memory and stuff out there.

      Companies like Samsung/Micron etc spend a lot of R&D on memory (there are a lot of other memory beyond simple DRAM), so you would have to be stupid to make your own memory that would have the density & speed.

    6. Re:Heard about this stuff in class by Anonymous Coward · · Score: 0

      you are a dumbass

    7. 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

  33. 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?

  34. Re:What about games running too fast? by Anonymous Coward · · Score: 0

    That sound nice except that it would mean that games would run unplayably fast, since there is no clock to regulate the game speed. How would you write a game (or even a video/audio player) so that it would only run or play at a given speed. I wouldn't want to watch a movie at 20x normal speed just because the hardware is capable of it (though running Final Fantasy 8 for the PSX at 5 times normal would be nice).

  35. 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/

  36. 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 Rhys · · Score: 1

      Just like they do now, duh. The article even tells you how they'll do it if you think about it.

      The numbers they publish right now are Mhz or Ghz or whatever. Those numbers are a measure of how fast the slowest element in the chip can do it's work. (well 1/how fast...)

      The article said the async chips it doesn't matter about the slowest, but about the average. So they compute the average (or an approximination of such) time taken to do a unit of work, divide 1 by than and there ya go, instant Mhz-equiv like AMD is doing right now with the athlon.

      --
      Slashdot Patriotism: We Support our Dupes!
    2. 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.

    3. 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."
    4. Re:Intel, AMD, etc and marketing by Anonymous Coward · · Score: 0

      I'm sure glad you know so much about Intel marketing. Dipshit.

  37. 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 Anonymous Coward · · Score: 0

      It would be better if you shut the hell up.

    2. 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.

  38. 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.
  39. 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?

  40. 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.

  41. Re: It's been proposed. by kcm · · Score: 1

    try this paper. there are others, of course, this is only part of the architecture.

  42. Forget asynchronous computer chips... by ZipR · · Score: 1, Insightful

    Give me an asynchronous life!!!

  43. 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.)

  44. advocates that eventually by Steve+Franklin · · Score: 1

    Somehow I don't think "advocates" is the proper word here. Perhaps the following rule will prevent you from looking like an idiot in the future:

    If you don't know what the word means, DON'T USE IT!

    Then again, this implies that you even know what you don't know.... ;o)

    --
    Hic iacet Arthurus, rex quondam rexque futurus.
  45. Oh yeah, how do you upgrade one of these systems? by mikehoskins · · Score: 1
    If you can't tell "how fast" one of these is, how then do you upgrade?

    If you had a completely clockless system running at speed "x," whatever that means, how do you upgrade the same system with chips that are capable of running at "10x" speed?

    Will slower clockless chips talk to/interface with faster clockless chips? How do you avoid overruns?

  46. "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 javahacker · · Score: 1

      The bucket brigade isn't too bad a viewpoint.

      In the clocked system, you have a drummer beating out a pace for the brigade to pass the buckets. It has to be slow enough that the slowest person can handle the pace.

      In the asynchronous system, everyone just does it as fast as they can, and a bucket gets to the other end faster, since they are all faster than the clock would let them be.

      You wouldn't need to parallel operations to get more throughput than the clocked equivalent. In your example, replacing the the slowest person with two people who could only pass a half bucket (splitting the load) wouldn't make things faster, just more complicated.

    2. 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
  47. OLD NEWS! by just+say+NO+to+PDF · · Score: 1

    Back in the late 1970's - when I was first involved in "DP" (data processing), this type of technology was already being implemented in computers (which were all mainframes back then -except Datapoint, but that's another story). General Electric was using this concept in their GE 600 series, which became the Honeywell 6000 series, which begat Multics which begat UNIX etc. etc. etc. Anyhow, the only "new" thing about this idea is that its being implemented on a microprocessor. I've been waiting for micro-engineers to catch on; glad to see that at least someone finally has. On the other hand, this may be already in use at Intel or Motorola etc. but Sun has a blow-your-horn policy(?)

  48. You've answered it yourself by Anonymous Coward · · Score: 0

    Use all the benchmarks we have today.

    The clockless chip will still have instructions/operations, so the concept of MIPS, FLOPS, etc. hasn't gone anywhere.

    You just won't be able to use MHz to do any judging, no matter how approximate it may be.

    1. Re:You've answered it yourself by yoinkslap · · Score: 0

      You just won't be able to use MHz to do any judging, no matter how approximate it may be

      which is a damn good thing

      --
      Dont ask me...Im just the bass player.
  49. Reminds of a joke by Anonymous Coward · · Score: 0

    The URL of the website reminds me of a joke:

    Repeat after me:

    Ohwah

    Toggoo

    Sciam

    Now, say it faster and faster out loud.

  50. 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.
    1. Re:Clockless primer by Anonymous Coward · · Score: 0
  51. 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.

    2. Re:Those who forget the past by Cmdr+TECO · · Score: 1

      Actually the first PDP-10 models used the PDP-6-like asynchronous KA-10 CPU, but the later ones (KI, KL, KS) were indeed synchronous.

      By the way, PDP-6 schematics are available on line.

      --
      echo 33676832766569823265328479713269.8639857989Pq | dc
  52. 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.

  53. Learn from mistakes by Fuzzums · · Score: 1

    And help others to learn from their mistakes. Usually I'm just glad if people help me to improove. But "DON'T USE IT" doesn't really contribute to his / her learningprocess.

    Ok. In the case of the 'what does this button do' mistakes you're right ;)

    I make mistakes. Why? Because I can ;)

    --
    Privacy is terrorism.
  54. async read by werdnab · · Score: 1

    Asyncronous
    This
    is a term
    message
    used to describe
    is written
    the ability to
    asynconously.
    do many things at once.

    1. Re:async read by praxim · · Score: 1

      Pfft, E. E. Cummings was asynchronous back in the 1920's.

  55. Re:xxxxx Thisxxxx isxxxxxx horrible by Nindalf · · Score: 1, Offtopic

    Thax remxxxx me of the old Forxx sysxxxx thax usex onlx the firxx thrxx letxxxx plux the numxxx of letxxxx in eacx worx. It souxxx terxxxxx in thexxx, but in praxxxxx if you keex it in minx it worxx quixx welx.

    (Alsx, I thixx you meax "Hufxxxx encxxxx")

  56. Re:Mirror? by Anonymous Coward · · Score: 0

    It IS slashdotted ... why is this modded troll?

  57. 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.

    1. Re:Manufacturing Hype^H^H^H^HConsent by dubious9 · · Score: 1

      Yeah it's a shame they didn't say anything like "We remain a long way from fulfilling the full promise of asynchrony." in the last sentance of paragraph 6. Come on now. I thought they did a pretty good job of saying how much work still needs to be done. Would you rather have them report on technology as it hits market? I for one like to hear about stuff years away

      --
      Why, o why must the sky fall when I've learned to fly?
    2. Re:Manufacturing Hype^H^H^H^HConsent by Alomex · · Score: 1
      Yeah it's a shame they didn't say anything like "We remain a long way from fulfilling the full promise of asynchrony."

      Is the entire article gung-ho with a caveat emptor buried in the middle of the article? Or was the entire article a "we are talking speculative stuff here, folks" type of thing?

      Granted, in the case of nanotechnology at least they gave space for a rebuttal to a sceptic.

      I for one like to hear about stuff years away.

      I have no problem with this, so long as they make it sufficiently clear that the technology in question might never make it.

    3. Re:Manufacturing Hype^H^H^H^HConsent by HeghmoH · · Score: 1

      If you're not smart enough to read Scientific American, that's your problem, not theirs. If this stuff was six months out, it would be showing up in PC World (or whatever the hell people read) and not SciAm. He describes what's shipping now (async parts in the UltraSPARC III is his example), and how long it will probably take for widespread use (nearly forever). I don't see what the problem is.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
  58. Re:Explanation, sorta [--OT?] by bentini · · Score: 1

    Do you have a citation for that? I'd be interested in knowing where/why that was mandated.

  59. Re:Explanation, sorta [--OT?] by Anonymous Coward · · Score: 0

    The whole network needs to in phase or else you can get some real hight loop currents and voltage spikes.

  60. How will marketing types hype the processors... by wtoconnor · · Score: 0, Redundant

    How will marketing types hype the processors without a my clock is bigger than your clock numbering system? People won't know what to buy.

  61. Slashdotted yet another :D by cpuenvy · · Score: 0, Redundant

    Error Occurred While Processing Request Error Diagnostic Information Timeout waiting for request to execute The server is unable to fulfill your request due to extremely high traffic. Please attempt your request again (if you are repeatedly unsuccessful you should notify the site administrator).

    --
    DISCLAIMER:

    I don't believe what I write, and neither should you.

  62. Ok lost here.... by Hacker'sEdict · · Score: 1

    If you change form synchronous to asynchronous isn't it going to be alot slow for the bigger programs that you use and faster for the smaller ones? If that is true then why would you do that, all of the newer programs a bigger therefor taking a longer time to load? IMHO that is pointless!

  63. ruler?!? by Anonymous Coward · · Score: 0

    I use a yardstick myself...

  64. Re:Explanation, sorta [--OT?] by naasking · · Score: 1

    Check out a power systems book. They'll most likely have something in there about it. At the very least they'll describe the extreme fine-tuning the power companies due to the line frequencies (fraction of a percent changes).

  65. 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.

  66. Oh great! by Mupp252 · · Score: 0, Offtopic

    [Sarcasm]

    I pride myself on having the latest and greatest! That'll just kill my bragging rights!

    [/Sarcasm]

  67. Re:What about games running too fast? by goofy183 · · Score: 1

    That is a good point. As is said in other posts a hybred chip would probably be the most success full. You will need a clock for anything that is time based. You may just be able to get by on a clock with say a 1ms resolution for timing things and controling program execution speed.

    Currently a program doesn't send extra instructions to run at "normal speed" though it bases it's execution speed off the time kept by the OS. So even with an async chip you would still need a very accurate way to keep track of time.

    -Eric Dalquist

  68. Re:What about games running too fast? by Anonymous Coward · · Score: 0
    That sound nice except that it would mean that games would run unplayably fast, since there is no clock to regulate the game speed
    It's dumb to write code that relies on the MHz of the core; that's why a bunch of old DOS games don't work well even on 486es. It's better to use more reliable timing functions, which rely not on the MHz but on a separate chip on the motherboard IIRC.
    How would you write a game (or even a video/audio player) so that it would only run or play at a given speed. I wouldn't want to watch a movie at 20x normal speed just because the hardware is capable of it.
    The same way it delays currently. It doesn't use the MHz of the CPU to pause! By your logic, a MPEG would play faster on a 2GHz machine than it would on a 1GHz machine. Assuming no frames are skipped (the CPU is used for MPEG decoding, which can take time), they both appear onscreen and audio-wise at the same rate. Because they're both using reliable human-time delay functions. If it were actually decoding at 1 or 2GHz, you wouldn't be able to see or hear it!
  69. Near term chips won't be fully asynchronous by geekee · · Score: 1

    In the near-term chips using this asynchronous approach will most likely still be clocked, but will have a number of different blocks with independent clocks, and some asynchronous hand-shaking interfaces between them. This is because pipelining is a useful technique for parallelizing operations at the instruction level, but is difficult to do without a clock. Without a clock you need to investigate wave pipelining.

    --
    Vote for Pedro
    1. Re:Near term chips won't be fully asynchronous by geekee · · Score: 1

      Actually, you could use the techniques outlined in the article to pipeline asynchronously. However, the added hardware is cumbersome. Therefore, I think the best approach is still large synchronous block with asynchronous hand-shaking between them, as outlined in the article.

      --
      Vote for Pedro
  70. 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.

  71. 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 Anonymous Coward · · Score: 0

      Metastability

    3. Re:Arbiters... Something doesn't make sense. by Servants · · Score: 1

      I don't think I agree with the first poster re: Asparfame's question. An arbiter could just test its two input channels at some two arbitrary moments in time. There's nothing inherently wrong with this collision-detection strategy - it gives imperfect results, but that's pretty much unavoidable.

      The problem is not with collision detection, but collision resolution. I'm pretty sure you're correct: a dumb strategy, like "alternate left and right" or just "always pick left" would never lock up. So somebody did oversimplify. But the dumb strategy also wouldn't work very well. Maybe the left instruction is useful right now, while the process that generated the right instruction is stalled for some other reason anyhow - we'd like to detect which instruction is better to run first. I imagine an intelligent strategy actually has to look at the instructions and weight them somehow. And any such intelligent and fair detection strategy risks valuing the two instructions equally.

    4. 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.

    5. 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.
  72. I think you clicked on the wrong button, man by Weird+Dave · · Score: 1

    I cannot believe that you meant to post that message as a response to my comment. Yeah, I remember my Intro to Digital Logic class, as well as my advanced VLSI Design class, but your points have no relevance regardless of how much education I've had. An overclocker is someone who makes the computer run faster than spec, post production, by setting the clock rate higher. I don't care about your points concerning the design of the chip unless you're suggesting that a person crack it open or something, which you're not. I'm not claiming to know more than you on the subject, or anything like that, but I would advocate debating on topic.

    --

    Grumble, Grumble
    1. Re:I think you clicked on the wrong button, man by Weird+Dave · · Score: 1

      OOps, I looked back, and I can see that you're debating my little comment about looking at an asynchronous processor sideways, and not about my main point. You're, of course, right that there is a kind of inherent clock, but my point was that there's no clock signal that could be used for overclocking. My bad.

      --

      Grumble, Grumble
  73. "Multiple Core" by Anonymous Coward · · Score: 0

    What is the difference between what you describe and a "Multiple Core" processor?

  74. Re:xxxxx Thisxxxx isxxxxxx horrible by Anonymous Coward · · Score: 0

    I believe you meant "Huffman."

  75. Re:How do you know "how fast" a clockless system i by Anonymous Coward · · Score: 0

    It is like the Canadian Postal service. It gets there when it gets there (if they haven't lost it)... :(

    How would the power user be able to keep up with the Jones when there are no numbers to compare. How would real time os be implemented ? The speed is non-deterministic!!! Fast != on time

  76. Chuck Moore has been doing them for years by Anonymous Coward · · Score: 0

    Look at Chuck Moore's home page, at the 25x chip -- there ya go. This is not the first async chip Chuck's done. They go way back. Also have a look at UltraTechnology where plenty of that history is documented.

  77. These asynch chips are just like me.... by Anonymous Coward · · Score: 0

    I finish when I'm done 'cause I'm clock free.

    sorry

  78. Re:How do you know "how fast" a clockless system i by Anonymous Coward · · Score: 0

    The code/proc could interface with an external timer so time can be kept.

  79. 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.)

    1. Re:Cooling actually does speed up asynch CPUs by Critter92 · · Score: 1, Flamebait

      He's totally making this shit up. Everyone knows that early 90's Caltech research into async computing was doomed since Professor Apgar was funneling NSF funds into his "do-undergrads-in-my-hew-hot-tub" fund and the grad students were spending all their time in beanbag chairs huffing nitrous and finding new uses for superglue. I doubt anyone from that lab even remembers 1993, let alone details about the test harness or latch design.

    2. Re:Cooling actually does speed up asynch CPUs by bigsteve@dstc · · Score: 1

      Look up "slander" in the dictionary Mr Critter92.

    3. Re:Cooling actually does speed up asynch CPUs by bigsteve@dstc · · Score: 1
      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.

      Actually, that's a bit scary when you think about it. Suppose that I buy a computer with Ivanium III async microprocessor in it that is nominally rated at 2 Ghz. How would I know that the processor doesn't (say) execute floatingpoint divide at 1/10th of nominal speed dues to a manufacturing glitch? Can I get my money back?

      Or what happens if (say) Boeing uses the Ivanium III in the flight control system of the 7a7. How does Boeing test the FCS processor boards? How can they be sure that a processor with a slow instruction caused by a manufacturing defect will not slip through their testing because said instruction is only executed when an engine stops in mid-flight.

      (In reality Boeing would already be using redundant processors in safety critical situations like this. I'm just trying to highlight the potential difficulty of testing systems built using large-scale async processor chips.) -- Steve

    4. Re:Cooling actually does speed up asynch CPUs by Anonymous Coward · · Score: 0

      It's called libel, idiot. And he'd have to prove intent which is why it's rare in the US.

    5. Re:Cooling actually does speed up asynch CPUs by Anonymous Coward · · Score: 0

      whatever, ac. Everyone knows that in the late 80's Critter92 was outcast from *all* the Caltech circles by Professor Apgar due to Critter92's not being willing to share his cache of shrooms with the rest of the crew. I doubt Critter92 even did any actual async research or even remembers what the Caltech crew back then looked like (no, "pink elephants" and "6-armed trolls" isn't correct, go back to the shrooms). There's plenty of intent.

    6. Re:Cooling actually does speed up asynch CPUs by bigsteve@dstc · · Score: 1

      It wouldn't be hard in this case. Nobody with half a brain would believe that he believed those statements were true.

  80. 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).

  81. 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.

  82. 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.
  83. Re:So Much Stupid Shit. by Anonymous Coward · · Score: 0

    Good post. It deserves at least +2 Insightful.

  84. Re:What about games running too fast? by Anonymous Coward · · Score: 0

    Without some kind of clock chip (such as a RTC chip), it would be impossible to program games or any other software except by CPU speed. So even on a "clockless" system, you would have to keep the real time clock for controlling program delays, if nothing else. Of course, such a chip would not need to be as precise as current CPU clock chips, even 1ms precision should be good enough for most people.

  85. 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...

  86. ARM's and AMULET's by h0tblack · · Score: 1

    I remember getting interested in the idea of asynchronous computing back in my Acorn using days. At the time Acorn had set up ARM and sent the company off on it's merry way, but all the users and developers of Acorn machines were looking for something a bit faster - ain't that always the way. The two big things that were setting the community buzzing were the collaboration with Digital (the now well known StrongARM chip) and the AMULET (http://www.cs.man.ac.uk/amulet/) project at the University of Manchester. I've moved on from using Acorns but now own a number of ARM based devices - the Sharp Zaurus and Gameboy Advance. Forgive my soppy reminiscence, but it's good to see that even though Acorn themselves are no more (and even with RISC OS 4 the community is even smaller than it used to be) seeds which they planted and projects they were involved with are still going and being innovative. "From little Acorns grow...."

  87. Clockless chips and turing machines? by FleaPlus · · Score: 1

    Can a clockless circuit be represented/simulated by a Turing machine (and thus any clocked digital computer)? Unless I'm not thinking right today, it seems to me like a Turing machine can only accurately simulate discrete systems. Sure, you could discretize the time steps of a clockless circuit simulation, but I can't think of how to do that without potentially losing accuracy.

    The answer to this question may be relevant to other areas as well, as the brain could potentially be viewed as a clockless circuit (albeit a very complicated one with exotic operations).

    1. 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.

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

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

    3. Re:Clockless chips and turing machines? by FleaPlus · · Score: 1

      But what I'm wondering is, can you make anything in sync that you can make in async?

    4. 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.

  88. But my job is clock recovery! by geekee · · Score: 1

    I spend much of my time at work designing clock recovery circuits. Guess I'll be joining the unemployed soon?!?

    --
    Vote for Pedro
  89. CPU Task Switching not needed? by Anonymous Coward · · Score: 0

    Wouldnt a async processor remove the need for task switching, scheduling? That would increase speed, efficiency. Yes - you might need thread, process priorities, but that could be achived via other methods. (Hmmm.. Does priority mean getting through the queue faster? probably..).

    The OS would need some interesting work done - but I dont see why it couldnt insulate the programmer to a degree. The compiler would have to take care of the rest. The world runs event driven (async) GUIs now.. Yep - it wouldnt be simple at first, but it would be better.

    Bring on the Async CPU - im ready for the next revolution. Async Linux or Async OpenBSD, Async X, Async what have you.

  90. 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.

  91. To Those Who Would Cool It by RhettLivingston · · Score: 1

    Some here have recognized that you could speed it up by cooling it... But you'd almost certainly break it also unless the design was extremely conservative and thus not exploiting full potential. Complex asynchronous designs are very sensitive to the delays between components. Even if they all change by the same factor, the delays within components probably would not. An asynchronous processor that is designed without wide margins in this timing (and thus truly pushing limits) would likely need good temperature control to ensure accuracy. Wider margins = lower performance.

  92. Heh Heh... by Anonymous Coward · · Score: 0

    Heh heh ...he said "CLOCKLESS"...
    everyone knowns ya gotta have a "CLOCK" to compute, baby.
    Hmmmm... guess I better lay off the pron for a while.

  93. Girls Rule! by super_luminal · · Score: 1

    I guess I've had one too many when the headline reads, "Cockless Computing." Oh well, a girl can dream...

    --
    -- Switchvox: Bringing big business phone sy
  94. re: Speed limitations? by CSZeus · · Score: 1

    Well, according to the article, the speed of a synchronous processor is limited to the speed that the circuit can handle... so wouldn't an asynchronous processor be limited by the same factors?

  95. Killer technology by Tablizer · · Score: 2


    "Cockless Computing"?

    There goes my sales to lonely Nunns.

  96. 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.

    2. Re:Pipelining by Joel+Ironstone · · Score: 1

      Thanks, nice thesis. Your about the author is a little strange though

  97. Cooling by Kenard · · Score: 1

    asynchronous chips only use the part of the chip that needs to be used. So when a computer is idle it would get cooler. Fans would not be requierd as much as a synched chip. I'm just hoping that a CPU fan would become obsolete or required to run only when high stress is put on the processer. Computing could be quieter.

    --
    (appended to the end of comments you post)
  98. Re:How do you know "how fast" a clockless system i by howlingfrog · · Score: 1

    Well, FLOPS stands for FLoating-point Operations Per Second. It has nothing to do with the system clock, it's an empirical measurement of how many aritmetical operations a processor can do in a second. You can measure the performance of a clockless system just as easily as a clocked system. On the other hand, processor temperature would have a much bigger effect on performance with an asynchronous system, so there'd have to be some standard for what temperature you do your benchmarking at.

    --
    The original Howling Frog is a fictional character and has no UID.
  99. Hard to debug by trumpetplayer · · Score: 1

    They better do an extremely good design because complex asynchronous digital electronics are extremely difficult to debug due to the inherent complexity of simulation and testing involved, as electrical signals become events in themselves, actually!

    I've been programming electronics, mostly EPLD for different designs and I've found that even inside the same chip. Although sometimes asynchronous digitals are very convenient (and very nice, too), you have to very much more careful and pay much more attention, which ends being much many development hours.

    1. Re:Hard to debug by Cmdr+TECO · · Score: 1

      Some people disagree that asynchronous processors are harder to debug; see for example http://groups.google.com/groups?selm=Do7wt1.BxH%40 thinkage.on.ca

      --
      echo 33676832766569823265328479713269.8639857989Pq | dc
    2. Re:Hard to debug by trumpetplayer · · Score: 1

      Thanks for the link! From my experience, I don't share that opinion but it is nice reading and it is good to know that I could possibly be wrong on this..

  100. Sigh. by supermoose · · Score: 0, Troll

    How many times can we beat to death the same piece of information? This is, at a minimum, the third time in the past year that we've heard the stunning "news" that async could potentially have speed advantages - and seen the endless user comments about design complexity, how it's been done with a K6/PI/PII/P3/Vic20, and how some guy's friend-who-works-at-best-buy thinks it is the wave of the future. Even the same jokes about telling time.

    The editors at Slashdot really need to start doing some proper editing for once - the need for fast publication does not excuse monstrous sloppiness. Is it more important to get that article out in 5 minutes, or spend another 3 checking that you haven't posted the identical article a month ago?

    Clockless Computing Wednesday November 14, @04:50PM
    Clockless Computing: State of the Art Saturday September 15, @09:26AM
    Some guy talks about computers without clocks Monday March 05, @09:29AM

    I am hardly a fanatical reader with nothing better to do than bitch about trivialities. I am a casual, occasional reader, coming back at random intervals only to find essentially the same content.

  101. Another interesting way to use those transistors.. by Anonymous Coward · · Score: 0

    While we are at it discussing the trends in CPUs, I had an interesting conversation with a friend about CPUs that are simultaneously multithreaded. The idea being that since most usage of CPUs is actually to process data, you can do it in parallel by having multiple Program Counters and multiple decoders, a similar superscalar architecture of your ALU with more registers in the register cache, and no interrupts. Without interrupts, you just need a thread to poll...

    Apparently such work is being done at the University of Washington (in Seattle). Just imagine that now your computer CAN do work while it branches all over the place... because the other threads don't stop. This has to be more efficient usage of your CPU.

    Moore's law states that the number of transistors that you can fit onto silicon doubles roughly every 18 months. That has nothing to do with how much you can clock it, or how long the delay between gates will be, nor does it solve the problem that you now have to have even more input lines and clock synchronization problems to deal with. I think that SMP on a chip will be more promising than asynchronous computing. We're talking about processors that run typical applications, not special case stuff.

    -Mike F

  102. 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.

  103. 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

  104. 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.

    2. Re:No conforming C compilers though! by Cmdr+TECO · · Score: 1

      Actually, CLOCKS_PER_SEC is only useful for scaling the result of the clock() function, and the standard says that clock() can return -1 if the "processor time used is not available or its value cannot be represented." [ISO/IEX 9899:1999]

      But that's only for toasters; on a general-purpose machine, most likely the OS would consult an independent real time clock, just like on any current conventional processor that doesn't maintain a cycle count.

      --
      echo 33676832766569823265328479713269.8639857989Pq | dc
  105. This was much how the RCA 1802 worked. by 1shooter · · Score: 1

    Way back in the pre-PC era, RCA had an interesting 8 bit microprocessor that I remember slowing the clock down to 60 hertz and it would function. I belive there was also a rad-hard one used in satellites. Very handy for reducing power consumption.

    --
    6F 9E A9 1E 96 9F 74 27 ED B8 81 6D 0C 4E 1E 78
    My other Sig is a 229.
    1. Re:This was much how the RCA 1802 worked. by Cmdr+TECO · · Score: 1

      The 1802 was/is a conventional synchronous processor. However, it was purely static, so there was no lower limit on the clock rate; in fact you could supply the "clock" signal with a toggle switch -- handy for debugging.

      --
      echo 33676832766569823265328479713269.8639857989Pq | dc
  106. Time by ubergamer · · Score: 0

    Thats the only clock i have in my room! How will I know what time Yu*Yu*Hakusho comes on. Dear god...

  107. 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.

  108. 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?

  109. 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
  110. 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.

  111. noo-kyu-ler. by Anonymous Coward · · Score: 0

    ...it's pronounced 'noo-kyu-ler'

  112. Re:How do you know "how fast" a clockless system i by craigwilkie · · Score: 1

    While I agree that you still use a FLOPS benchmark, there is still the issue that FLOPS, MIPS etc are not terribly good benchmarks. Especially for modern processor architectures which have seperate integer, FP and vector ALUs (G4). In the vector ALU case, it can process 4 FP ops per clock tick, 4 32 bit ops per clock, 8 16 bit ops per tick, or 16 8 bit ops per tick. How to you combine all these possible scenarios into one benchmark?

    You might have multiple parallel load/store units. How do you benchmark these?

    Also, how do you deal with issues such as cache. With cache now being on the processor die, should it be considered when creating a benchmark for a given processor?