Philips, ARM Collaborate On Asynchronous CPU
Sean D. Solle continues "Back in the early 1990's there was a lot of excitement (well, Acorn users got excited) about Prof. Steve Furber's asynchronous ARM research project, "Amulet". The idea is to let the CPU's component blocks run at their own rate, synchronising with each other only when needed. Like a normal RISC processor, one instruction typically takes one clock cycle; but in a clockless ARM, a cycle can take less time for different classes of instructions.
For example, a MOV instruction could finish before (and hence consume less power than) an ADD, even though they both execute in a single cycle. As well as energy-efficiency, running at effectively random frequencies reduces a chip's RFI emissions - handy if it's living in a cellphone or other wireless device."
1997 - "Intel develops an asynchronous, Pentium-compatible test chip that run three times as fast, on half the power, as its synchronous equivalent. The device never makes it out of the lab."
Is it a boat?
See here. Developed by Steve Furber and his team at The University Of Manchester
If we see same thing applied to non ARM architectures, there a many strange things going to happen, as quite many things in current computers are based on the assumption that things have specific clock rates. Obviously things might get very intresting...
the very first drafts of microprocessors were clockless.
just with higher speed and hence, brute force, performance could be achieved easily.
The problems which could not be solved back then were the obvious synchronisation issues. Setting up a common clock seemed the only way to resolve them.
The idea behind clockless designs is less a "back-to-the-roots" idea, but more a step to gain the advantages of such a design, which are, amongst others:
Reduced Power Consumption
Higher Operation Speed
Moreover, highly sophisticated compilers could tune program code to match a given performance/power ratio.
Yet, I would not bet on clockless cores to become the new mainstream, by far not. Clockless cores will most likely be aimed at embedded design appliances, and low- and ultra-low-power applications.
Powerful is he who overpowers his temptations.
The benefit to today's high-functionality embedded operating systems like Linux, Symbian, iTron, and Windows CE is that they implement a preemptive task switching operating system. At any time, the clock interrupt may fire and the operating system will then queue up the next thread into the CPU.
Nowadays, the whole CPU is not powered at any one time. If an instruction does not access certain parts of the chip, they are dark. Now this does not hold for some predictive processors which may be processing not-yet-accessed instructions, but in general if an instruction is not using some part of the chip, that part of the chip does not require juice.
Taking out the clock and relying on the chip parts to fire and return means that each application in the system must return to the OS at some point to allow the OS a chance to queue up the next thread. Without the clock interrupt, the OS is at the mercy of the program, back to the bad old days of cooperative multitasking.
The clock is what tells the OS that it is time to give a time slice to another thread. If we say "OK, well we'll just stick a clock in there to fire an interrupt every x microseconds," then what have we accomplished? We are back at square one with a CPU controlled by a clock. No gain.
This kind of system would work in a dedicated embedded system which did not require a complex multitasking operating system. Industrial solutions for factories, car parts, HVACs, and other things that need reliability but don't really do that much feature-wise seem to be prime candidates for this technology. "Smart" devices? Not so much.
The complexity of souch a core must be astounding. For all you non-ee's out there, a chip is full of little memory cells called flip-flops. At the end of each circuit rests a flip-flop in which normally the rising edge of the clock stores the results of that circuit so it pass that data on and start new stuff without loosing it. Everythig is synchronized to the clock. This is definently over-simplified but that's essentially why a circuit has a clock.
To eliminate clocks you would new circuitry such arbitrers and some sort of completion logic which could be used to trigger a flip-flop. To break a slashdot law, i haven't done any reading on any modern techniques so would some one enlighten me on some design issues involving simple tasks such as accessing a register file, or making a memory read. Surely a bus would still maintain a clock.
----
Go canucks, habs, and sens!
As for the power problem, all parts of the CPU is powered, except that gates that aren't switching consume less power (mostly leakage, which seems to be quite significant now). In synchronous circuits, at least the gates connected directly to the clock signal switch all the time, while in asynchronous circuits unused parts of the CPU can avoid switching altogether, so some power may be saved, but I don't know how much it will be.
To me it feels like that Philips is turning into a major R&D company that could one day topple IBM. Looking at their recent expension in Bangalore, no one would disagree. Maybe, a good thing to keep the fire burning under IBM.
Also, anything that might boost my pitiful ARM shares value is most welcome! Why?... Why did I believe the hype?
I hope they don't try to patent this.
Refer to 1944 for prior art.
That sounds self-contradictive.
"Intel are a big corporation."
How can it be "are" if it is "a corporation"?
See my reply to the parent for a more efficient demonstration of this. ;)
"A team are working hard" still sounds self-contradictive...
That's a rather irregular distinction if it is in fact made.
Let us use Google to decide: Double-quoted search term "Intel are" gives 27,900 hits. Double-quoted search term "Intel is" gives 344,000 hits...
Ummm considering that British English is the Original English, I think those speakers can make that "mistake" as many fucking times as they want. Now STFU and go choke on a freedom fry, you (obviously) American prick.
Well, a very cool (?) implication of this technology would be that chip performance would be depending of the, well, performance of the die used and the enviroment. So increasing voltage and decreasing die-temperature would make to chip faster automatically...
(i can see the "the xxx-chip would have won against the yyy-chip if they had used a bigger HSF" flames comming...)
HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
If the AC by some fat chance is right in his handling of 'composite entities', it must practically be dead in modern English, with a mere 8% of the Internet using it.
Wether it is a proper noun or not is only of relevance *if* the status of a 'composite entity' warrants a change to a grammatical plural. I think it does not, neither for "Intel" nor "team".
When I was at university we studied standard ways to overcome these problems down to gate and transistor level. The impression i was given that its not that hard. Some of the standard ways include doing a calculation twice and waiting for the results to be the same. Of coarse there are no tools to do it in automated fashion that i am aware of like synchronous design. Here the tools are extensive from vhdl to handel C implenentation. Even dynamic logic can be synthesised automatically now. This means its to risky for asic design houses to implement on there own as they would have to do there own custom blocks. This also presents a design flow problem. How would a foundry verify the design for you. In the case of synchronous design the methodology is well established.
my 2 cents..
That's a brit vs. us english difference. The brits think of a collection as a plurality of parts, at least in some contexts as alluded to below, while us english normally treats a collection as a singular entity of its own, regardless of context. Who care... it adds color to the language. :-)
More "evidence"... Google gives 5,880,000 results for "team is", but only 1,250,000 results for "team are". That's a ratio of 4.7 to 1.
The Amiga's Zorro expansion bus was asyncronous back in the 1980s.
Ok, wasn't a processor and one of the chips that drove it was clocked, but it goes to show you how clever the designers of that system were.
ARM? Handshaking? They're having a laugh...
These asyncronous computers are implementations of data flow computers.
The problem is that the first implementations were very slow.
The reason why a clock is commonly used in microprocessor circuits is to try to synchronise everything, because different logic elements take a different amount of time for the outputs to reach a stable state after the inputs change. This is known as "propagation delay" and is what ultimately limits the speed of a processor. With CMOS, you can actually reduce the propagation delay a little by increasing the supply voltage, but then your processor will be dissipating more power. {CMOS logic gates dissipate the most power when they are actually changing state, and almost no power at all while stable, whether they are sitting at 1 or 0. This is in contrast to TTL, which usually dissipates more power in a 0 state than in a 1 state, but there are some oddball devices that are the other way around}.
The clock is run at a speed that allows for the slowest propagation, with data being transferred in or out of the processor only on the rising or falling edges. This allows time for everything to get stable. It's also horrendously inefficient because propagation delays are actually variable, not fixed.
If you wire an odd number of NOT gates in series, you end up with an oscillator whose period is twice the sum of the propagation delays of all the gates. If you replace one of the NOT gates with a NAND or NOR gate, then you can stop or start the oscillator at will. Furthermore, by extra-cunning use of NAND/NOR and EOR gates, you can lengthen or shorten the delay in steps of a few gates. Obviously at least one of the gates should have a Schmitt trigger input to keep the edges nice and sharp; but that's just details.
My idea was to scatter a bunch of NOT gates throughout the core of a processor, so as to get a propagation delay through the chain that is just longer than the slowest bit of logic. Any thermal effects that slow down or speed up the propagation will affect these gates as much as the processing logic. Now you use these NOT gates as the clock oscillator. If you want to try being clever, you could even include the ability to shorten the delay if you were not using certain "slow" sections such as the adder. This information would be available on an instruction-by-instruction basis, from the order field of the instruction word. The net result of all this fancy gatey trickery is that if the processor slows down, the clock slows down with it. It never gets too fast for the rest of the processor to keep up with. Most I/O operations can be buffered, using latches as a sort of electronic Oldham coupling; one end presents the data as it comes, the other takes it when it's ready to deal with it, and as long as the misalignment is not too great, it will work. For seriously time-critical I/O operations that can't be buffered, you can just stop the clock momentarily.
The longer I think about this, the deeper I regret abandoning it.
Je fume. Tu fumes. Nous fûmes!
A long long time ago (1970s) Charlie Molnar, designer of the Linc tape (the Linc computer was an NIH funded (late 1960s) minicomputer that evolved into the PDP 8 and pushed DEC into the minicompuer business) explored asynchronous computing. Along the way they discovered synchronizer failure - i.e. the inability to reliably synchronize asyncronous subsystems - see Chaney, T.J. and Molnar, C.E. 1973. Anomalous behavior of synchronizer and arbiter circuits. IEEE Trans. Comp. pages 421-422. The bottom line is that it is physically impossible to guarantee that the data setup requirements (the minimum time the data must be asserted before it can be reliably clocked into the flip flop) of a flip flop can be met when the clock is asserted by one async component and the data are asserted by another async component. To my knowledge, this fundamental limitation has never been overcome.
The PC competition at the time was all stuff like 8Mhz buses. Even PCI has a clock speed, it means redesigning ICs all the time to cope with faster clock speeds.
No it isn't, a corporation is a single person, at least in the US.
Which is exactly the point. A corporation is only considered a single entity in the United States of America because there is a legal basis for treating corporations as a real person. In the rest of the world a corporation is a distinct legal entity and thus is not treated as a single entity. A corporation is composed of many people, hence it is a collective noun.
It looks like Philips (through their tame spin-off Handshake Solutions) are letting the world see Tangram again (or something very like it.) Back in around 1994/1995 the Amulet team (already mentioned accurately by others) were looking into using the Tangram language to develop their asynchronous microprocessor technology - it was a fairly neat solution that did most of the things we wanted, though there were a few things it was crap at at the time - but then Philips decided to cut us off. It would be entirely fair to say that this was very annoying! Now it looks like they're letting the cat get its whiskers out of the bag again.
FWIW, ARM have probably known (at least informally and at a level not much deeper than your average slashdot article) a large fraction of what Philips have been up to in this area for at least a decade.
"Little does he know, but there is no 'I' in 'Idiot'!"
I'm sick of hearing about "single-quote" and "double-quote". One is an "apostrophe", the other is a "quote". I can only assume that the originators of computer languages which use apostrophes as quotes were illiterate.
need a free COBOL editor for Windows?
chip manufacturers have been so eager to take the focus off the clock speed (amd+intel using new "model numbers") this type of thing injects thats much more logic into their reasoning if they start to embrace this type of approach... things like cache size and performance benchmarks may eventually be significantly more imporatnt even from a marketing perspectave that how many ghz you can cram into a chip without having it melt through the socket it's embedded in...
All the torrents you could want.
It's a drastic departure from common CPUs. Definitely intresting.
Bye!
SeqBox
The computer cluster are running. *Incorrect*
And yet, Pie are squared.
With chips that don't need a clock, there's no room for obsessive tweaking and rediculous liquid nitrogen cooling systems.
What will all the overclockers do with their time now?
Congratulations Science, you've ruined another perfectly good hobby.
they both are quotes in english. For instance:
Bob said, "Joe said, 'I am Joe', but he was lying."
Did you mount a military-grade, variable-focus MASER on an unlicensed artificial intelligence?
how do you improve the speed of one of these things? get the transistors to switch faster? make shorter pipelines for popular instructions?
.2 ghz and charge the earth for it - for relatively little investment compared to the inital design cost of the original processor.
all that is a lot of work, do you think thats why intel didn't persue it? because now they can just tweak a basic design every 4 months or so for an extra
In 2001 they presented a paper on an asynch processor design called FLEETzero/FastSHIP. According to the patents list on this page, they're still doing work on it (see also here.)
Posted with Mozilla
the original language
as if such a thing exists...
I defer to logic itself to decide the greater dialect.
In that case, English in general is right out.
sudo ergo sum
The basis for treating corporation as persons is that it makes thing a lot easier. It is easy to find the "legal person" that is the corporation but hard to find the "collective noun".
It's the exact same thing in Canada and I guess in most countries.
Slashdot anagrams to "Sad Sloth"
AFAIK, that is already the case with all IC's (including analog) that I have ever come across.. nothing new here. A fixed clock just limits operating speeds to 'known reliable' over specified voltage/temperature ranges.
And for including voltage/temperature values in benchmark setups, that is no more than normal if you want reproducable results. Environmental settings are often implied, it's simply understood that benchmarked hardware is run with adequate power supply and cooling. I mean, who would think bad of a lousy benchmark result, when you know that an Athlon or P4 was tested with heatsink removed?
And you all know overclocking stories, where half of an article is spent on describing voltage settings & cooling measures, colourful pics included.
No, it would be even easier to overclock! Set your CPU in the freezer and it will be faster, no need to change a voltage!!! Or switch of your heater, that is in winter where I live. Or crank up your AC, if you are living in Florida, thats all.
Give me back my gigahertz!!!
I want all my precioussss... gigahertz!!!
You can defy gravity... for a short time
Pretty cool overall.
Cliff Claven
K.E.G. Party Chairman
Founding Leader of: Koncerned for Egalitarin Governance
I'm seriously out of my depth in this discussion, but what would an asynchronous chipset and processor do for those overclocking lunatics that like to play with liquid nitrogen? It is my understanding that some of the more extreme efforts are actually running the clocks so fast that signals can't propagate across the chip in time and that the synchronicity gets munged.
If these "handshaking" asynchronous chips take off, each part of the chip could be cranked way up, and just wait for the slowpoke, right?
Why do I have this? I don't smoke.
In the rest of the world a corporation is a distinct legal entity and thus is not treated as a single entity. A corporation is composed of many people, hence it is a collective noun. This doesn't work. My family are leaving now? The group think so?
When I was a student, I did my internship at Philips. They were working on this back then. In 1990. "Almost ready". "expect results on the market in a year or two". ... Yeah right.