Clock Less Chips
Embed Size (px)
Transcript of Clock Less Chips
INTRODUCTIONHow fast is your personal computer? When people ask this question, they are typically referring to the frequency of a minuscule clock inside the computer, a crystal oscillator that sets the basic rhythm used throughout the machine. In a computer with a speed of one gigahertz, for example, the crystal "ticks" a billion times a second. Every action of the computer takes place in tiny steps, each a billionth of a second long. A simple transfer of data may take only one step; complex calculations may take many steps. All operations, however, must begin and end according to the clock's timing signals. The use of a central clock also creates problems. As speeds have increased, distributing the timing signals has become more and more difficult. Present-day transistors can process data so quickly that they can accomplish several steps in the time that it takes a wire to carry a signal from one side of the chip to the other. Keeping the rhythm identical in all parts of a large chip requires careful design and a great deal of electrical power. Wouldn't it be nice to have an alternative? Clockless approach, which uses a technique known as asynchronous logic, differs from conventional computer circuit design in that the switching on and off of digital circuits is controlled individually by specific pieces of data rather than by a tyrannical clock that forces all of the millions of the circuits on a chip to march in unison. It overcomes all the disadvantages of a clocked circuit such as slow speed, high power consumption, high electromagnetic noise etc. For these reasons the clockless technology is considered as the technology which is going to drive majority of electronic chips in the coming years.
A BRIEF HISTORY
CONCEPT OF CLOCKSThe clock is a tiny crystal oscillator that resides in the heart of every microprocessor chip. The clock is what which sets the basic rhythm used throughout the machine. The clock orchestrates the synchronous dance of electrons that course through the hundreds of millions of wires and transistors of a modern computer. Such crystals which tick up to 2 billion times each second in the fastest of todays desktop personal computers, dictate the timing of every circuit in every one of the chips that add, subtract, divide, multiply and move the ones and zeros that are the basic stuff of the information age. Conventional chips (synchronous) operate under the control of a central clock, which samples data in the registers at precisely timed intervals. Computer chips of today are synchronous: they contain a main clock which controls the timing of the entire chips. One advantage of a clock is that, the clock signals to the devices of the chip when to input or output. This functionality of the synchronous design makes designing the chip much easier. There are problems that go along with the clock, however. Clock speeds are now in the gigahertz range and there is not much room for speedup before physical realities start to complicate things. With a gigahertz clock powering a chip, signals barely have enough time to make it across the chip before the next clock tick. At this point, speedup up the clock frequency could become disastrous. This is when a chip that is not constricted by clock speeds could become very valuable.
WORKING OF A SYNCHRONOUS CIRCUIT
This is the working model of a particular synchronous circuit. A synchronous circuit looks for a particular signal of the clock. In this case, the circuit is looking for the leading edge of the clock pulse. As we see in the figure, all actions in this circuit take place only on the leading edge of the clock cycle. Especially when transferring the data on to the registers the computations settle down and wait for the next leading edge of the clock to occur. Then only the data will be transferred to the next register. The figure gives a clear idea of how conventional chips operate under the control of a central clock, which samples data in the registers at precisely timed intervals. The only thing the designers have to think about is how to complete one operation during a single tick of the clock. It is extremely important to design the circuits in such a fashion that all the computations must settle down and be ready for the next logical operation before the next clock tick.
PROBLEMS OF SYNCHRONOUS CIRCUITSOne problem is speed. A chip can only work as fast as its slowest component. Therefore, if one part of the chip is especially slow, the other parts of the chip are forced to sit idle. This wasted computing time is obviously detrimental to the speed of the chip. New problems with speeding up a clocked chip are just around the corner. Clock frequencies are getting so fast that signals can barely cross the chip on one clock cycle. When we get to the point where the clock cannot drive the entire chip, we'll be forced to come up with a solution. One possible solution is a second clock, but this will incur overhead and power consumption, so this is a poor solution. It is also important to note that doubling the frequency of the clock does not double the chip speed, therefore blindly trying to increase chip speed by increasing frequency without considering other options is foolish. The other major problem with a clocked design is power consumption. The clock consumes more power than another other component of the chip. The most disturbing thing about this is that the clock serves no direct computational use. A clock does not perform operations on information; it simply orchestrates the computational parts of the computer. New problems with power consumption are arising. As the number of transistors on a chip increases, so does the power used by the clock. Therefore, as we design more complicated chips, power consumption becomes an even more crucial topic. Mobile electronics are the target for many chips. These chips need to be even more conservative with power consumption in order to have a reasonable battery lifetime. The natural solution to the above problems, as you may have guessed, is to eliminate the source of these headaches: the clock.
CONCEPT OF CLOCKLESS CHIPSThe main concept behind a clockless design is evident from the name itself. That is, they dont have a global clock which synchronizes its actions. So there must be some control mechanism which should synchronize the components inside a clockless chip to ensure correct working of the chip. The clockless chips rely up on handshaking signals, handoff signals & sometimes a local clock to synchronize the actions. By throwing out the clock, chip makers will be able to escape from the problems of the synchronous circuits. Clockless chips draw power only when there is useful work to do, enabling a huge savings in battery-driven devices; an asynchronous-chip-based pager marketed by Philips Electronics, for example, runs almost twice as long as competitors' products, which use conventional clocked chips. Like a team of horses that can only run as fast as its slowest member, a clocked chip can run no faster than its most slothful piece of logic; the answer isn't guaranteed until every part completes its work. By contrast, the transistors on an asynchronous chip can swap information independently, without needing to wait for everything else. The result? Instead of the entire chip running at the speed of its slowest components, it can run at the average speed of all components. At both Intel and Sun, this approach has led to prototype chips that run two to three times faster than comparable products using conventional circuitry. Another advantage of clockless chips is that they give off very low levels of electromagnetic noise. The faster the clock, the more difficult it is to prevent a device from interfering with other devices; dispensing with the clock all but eliminates this problem.
WORKING OF ASYNCHRONOUS CIRCUITClockless (also called asynchronous, self timed or event driven) chips dispense with the timepiece. The figure below gives an idea of working of an asynchronous circuit. In this particular scheme (which is called a duel rail circuit which will be discussed later), data moves instead under the control of local "handshake" signals (lines below) that indicate when work has been completed and is ready for the next logic operation.
As we can see above there is the usual logical circuitry and instead of a clock signal which controls the circuit, there are two lines on the top and bottom. The wires are used to transfer the data bits and the control bits together. So there is no separate control signal going across the circuit. The control signal is encoded within the data that is being transferred. This control signals act as handshaking and handoff signals which indicates when the component is ready for the next logical operation. There are different ways to implement an asynchronous circuit. The next part is about various types of implementation.
TYPES OF IMPLEMENTATIONSThere are mainly three kinds of implementations of an asynchronous circuit. They are the following.
1. BOUNDED DELAY METHOD 2. DELAY INSENSITIVE METHOD 3. NULL CONVENTIONAL LOGIC(NCL)The simplest implementation of asynchronous design is the Bounded-Delay method. This design is very similar to synchronous design; in Bounded-Delay design we assume that we know the largest amount of time for each component to perform its task. Knowing the bounds of the delay time allows for computations to be sped up. The Delay-Insensitive method, which is quite the opposite of Bounded-Delay, does not assume any bounds on time. As a result, handshaking is needed between components. Another wa