词条 | Asynchronous circuit |
释义 |
An asynchronous circuit, or self-timed circuit, is a sequential digital logic circuit which is not governed by a clock circuit or global clock signal. Instead it often uses signals that indicate completion of instructions and operations, specified by simple data transfer protocols. This type of circuit is contrasted with synchronous circuits, in which changes to the signal values in the circuit are triggered by repetitive pulses called a clock signal. Most digital devices today use synchronous circuits. However asynchronous circuits have the potential to be faster, and may also have advantages in lower power consumption, lower electromagnetic interference, and better modularity in large systems. Asynchronous circuits are an active area of research in digital logic design.[1][2] Synchronous vs asynchronous logicDigital logic circuits can be divided into combinational logic, in which the output signals depend only on the current input signals, and sequential logic, in which the output depends both on current input and on past inputs. In other words, sequential logic is combinational logic with memory. Virtually all practical digital devices require sequential logic. Sequential logic can be divided into two types, synchronous logic and asynchronous logic.
However a disadvantage of synchronous circuits is that they can be slow. The maximum possible clock rate is determined by the logic path with the longest propagation delay, called the critical path. So logic paths that complete their operations quickly are idle most of the time. Another problem is that the widely distributed clock signal takes a lot of power, and must run whether the circuit is receiving inputs or not.
Theoretical foundationThe term asynchronous logic is used to describe a variety of design styles, which use different assumptions about circuit properties.[3] These vary from the bundled delay model – which uses "conventional" data processing elements with completion indicated by a locally generated delay model – to delay-insensitive design – where arbitrary delays through circuit elements can be accommodated. The latter style tends to yield circuits which are larger than bundled data implementations, but which are insensitive to layout and parametric variations and are thus "correct by design". Asynchronous logic is the logic required for the design of asynchronous digital systems. These function without a clock signal and so individual logic elements cannot be relied upon to have a discrete true/false state at any given time. Boolean logic is inadequate for this and so extensions are required.{{clarify|date=November 2013}} Karl Fant developed a theoretical treatment of this in his work Logically determined design in 2005 which used four-valued logic with null and intermediate being the additional values. This architecture is important because it is quasi-delay-insensitive.[4] Scott Smith and Jia Di developed an ultra-low-power variation of Fant's Null Convention Logic that incorporates multi-threshold CMOS.[5] This variation is termed Multi-threshold Null Convention Logic (MTNCL), or alternatively Sleep Convention Logic (SCL).[6] Vadim Vasyukevich developed a different approach based upon a new logical operation which he called venjunction. This takes into account not only the current value of an element, but also its history.[7]Petri nets are an attractive and powerful model for reasoning about asynchronous circuits. However, Petri nets have been criticized for their lack of physical realism (see Petri net: Subsequent models of concurrency). Subsequent to Petri nets other models of concurrency have been developed that can model asynchronous circuits including the Actor model and process calculi. BenefitsA variety of advantages have been demonstrated by asynchronous circuits, including both quasi-delay-insensitive (QDI) circuits (generally agreed to be the most "pure" form of asynchronous logic that retains computational universality) and less pure forms of asynchronous circuitry which use timing constraints for higher performance and lower area and power:
Disadvantages
CommunicationThere are several ways to create asynchronous communication channels that can be classified by their protocol and data encoding. ProtocolsThere are two widely used protocol families which differ in the way communications are encoded:
Despite involving more transitions per communication, circuit implementations four-phase protocols are usually faster and simpler than two-phase protocols because the signal lines return to their original state by the end of each communication. In two-phase protocols, the circuit implementations would have to store the state of the signal line internally. Note that these basic distinctions do not account for the wide variety of protocols. These protocols may encode only requests and acknowledgements or also encode the data, which leads to the popular multi-wire data encoding. Many other, less common protocols have been proposed including using a single wire for request and acknowledgment, using several significant voltages, using only pulses or balancing timings in order to remove the latches. Data encodingThere are two widely used data encodings in asynchronous circuits: bundled-data encoding and multi-rail encoding Another common way to encode the data is to use multiple wires to encode a single digit: the value is determined by the wire on which the event occurs. This avoids some of the delay assumptions necessary with bundled-data encoding, since the request and the data are not separated anymore. Bundled-data encodingBundled-data encoding uses one wire per bit of data with a request and an acknowledge signal; this is the same encoding used in synchronous circuits without the restriction that transitions occur on with a clock edge. The request and the acknowledge are sent on separate wires with one of the above protocols. These circuits usually assume a bounded delay model with the completion signals delayed long enough for the calculations to take place. In operation, the sender signals the availability and validity of data with a request. The receiver then indicates completion with an acknowledgement, indicating that it is able to process new requests. That is, the request is bundled with the data, hence the name "bundled-data". Bundled-data circuits are often referred to as micropipelines, whether they use a two-phase or four-phase protocol, even if the term was initially introduced for two-phase bundled-data. Multi-rail encodingMulti-rail encoding uses multiple wires without a one-to-one relationship between bits and wires and a separate acknowledge signal. Data availability is indicated by the transitions themselves on one or more of the data wires (depending on the type of multi-rail encoding) instead of with a request signal as in the bundled-data encoding. This provides the advantage that the data communication is delay-insensitive. Two common multi-rail encodings are one-hot and dual rail. The one-hot (a.k.a. 1-of-n) encoding represents a number in base n with a communication on one of the n wires. The dual-rail encoding uses pairs of wires to represent each bit of the data, hence the name "dual-rail"; one wire in the pair represents the bit value of 0 and the other represents the bit value of 1. For example, a dual-rail encoded two bit number will be represented with two pairs of wires for four wires in total. During a data communication, communications occur on one of each pair of wires to indicate the data's bits. In the general case, an m n encoding represent data as m words of base n. Dual-rail encoding with a four-phase protocol is the most common and is also called three-state encoding, since it has two valid states (10 and 01, after a transition) and a reset state (00). Another common encoding, which leads to a simpler implementation than one-hot, two-phase dual-rail is four-state encoding, or level-encoded dual-rail, and uses a data bit and a parity bit to achieve a two-phase protocol. Asynchronous CPUAsynchronous CPUs are one of several ideas for radically changing CPU design. Unlike a conventional processor, a clockless processor (asynchronous CPU) has no central clock to coordinate the progress of data through the pipeline. Instead, stages of the CPU are coordinated using logic devices called "pipeline controls" or "FIFO sequencers." Basically, the pipeline controller clocks the next stage of logic when the existing stage is complete. In this way, a central clock is unnecessary. It may actually be even easier to implement high performance devices in asynchronous, as opposed to clocked, logic:
Asynchronous logic proponents believe these capabilities would have these benefits:
The biggest disadvantage of the clockless CPU is that most CPU design tools assume a clocked CPU (i.e., a synchronous circuit). Many tools "enforce synchronous design practices".[17] Making a clockless CPU (designing an asynchronous circuit) involves modifying the design tools to handle clockless logic and doing extra testing to ensure the design avoids metastable problems. The group that designed the AMULET, for example, developed a tool called LARD[18] to cope with the complex design of AMULET3. Despite the difficulty of doing so, numerous asynchronous CPUs have been built, including:
The ILLIAC II was the first completely asynchronous, speed independent processor design ever built; it was the most powerful computer at the time.[19] DEC PDP-16 Register Transfer Modules (ca. 1973) allowed the experimenter to construct asynchronous, 16-bit processing elements. Delays for each module were fixed and based on the module's worst-case timing. The Caltech Asynchronous Microprocessor (1988) was the first asynchronous microprocessor (1988). Caltech designed and manufactured the world's first fully Quasi Delay Insensitive processor.{{Citation needed|date=February 2007}} During demonstrations, the researchers loaded a simple program which ran in a tight loop, pulsing one of the output lines after each instruction. This output line was connected to an oscilloscope. When a cup of hot coffee was placed on the chip, the pulse rate (the effective "clock rate") naturally slowed down to adapt to the worsening performance of the heated transistors. When liquid nitrogen was poured on the chip, the instruction rate shot up with no additional intervention. Additionally, at lower temperatures, the voltage supplied to the chip could be safely increased, which also improved the instruction rate – again, with no additional configuration. In 2004, Epson manufactured the world's first bendable microprocessor called ACT11, an 8-bit asynchronous chip.[36][37][38][39][40] Synchronous flexible processors are slower, since bending the material on which a chip is fabricated causes wild and unpredictable variations in the delays of various transistors, for which worst-case scenarios must be assumed everywhere and everything must be clocked at worst-case speed. The processor is intended for use in smart cards, whose chips are currently limited in size to those small enough that they can remain perfectly rigid. In 2014, IBM announced a SyNAPSE-developed chip that runs in an asynchronous manner, with one of the highest transistor counts of any chip ever produced. IBM's chip consumes orders of magnitude less power than traditional computing systems on pattern recognition benchmarks.[41] See also
References1. ^{{cite journal |first1=S. M. |last1=Nowick |first2=M. |last2=Singh |url=http://www.cs.columbia.edu/~nowick/nowick-singh-async-IEEE-DT-15-overview-article-pt1.pdf |title=Asynchronous Design — Part 1: Overview and Recent Advances |journal=IEEE Design and Test |volume=32 |issue=3 |pages=5–18 |date=May–June 2015}} 2. ^{{cite journal |first1=S. M. |last1=Nowick |first2=M. |last2=Singh |url=http://www.cs.columbia.edu/~nowick/nowick-singh-async-IEEE-DT-15-overview-article-pt2.pdf |title=Asynchronous Design — Part 2: Systems and Methodologies |journal=IEEE Design and Test |volume=32 |issue=3 |pages=19–28 |date=May–June 2015}} 3. ^{{citation |last=van Berkel|first=C. H. and M. B. Josephs and S. M. Nowick|url=http://www.cs.columbia.edu/~nowick/async-applications-PIEEE-99-berkel-josephs-nowick-published.pdf |title=Applications of Asynchronous Circuits |journal=Proceedings of the IEEE|volume=87 | number=2 |date=February 1999 |pages=234–242 | doi = 10.1109/5.740016 }} 4. ^{{citation |title=Logically determined design: clockless system design with NULL convention logic (NCL) |author=Karl M. Fant |year=2005 |publisher=John Wiley and Sons |isbn=978-0-471-68478-7 |url=https://books.google.com/books?id=UTHFcdvvHQcC}} 5. ^{{cite book|last=Smith|first=Scott and Di, Jia|title=Designing Asynchronous Circuits using NULL Conventional Logic (NCL)|year=2009|publisher=Morgan & Claypool Publishers|isbn=978-1-59829-981-6}} 6. ^{{cite web|last=Scott|first=Smith and Di, Jia|title=U.S. 7,977,972 Ultra-Low Power Multi-threshold Asychronous Circuit Design|url=http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=7977972.PN.&OS=PN/7977972&RS=PN/7977972|accessdate=2011-12-12}} 7. ^{{citation |url=http://www.springerlink.com/content/e61016374u41p176/ |title=Decoding asynchronous sequences |journal=Automatic Control and Computer Sciences |publisher=Allerton Press |ISSN=1558-108X |volume=41 | number=2 |date=April 2007 |doi=10.3103/S0146411607020058 |pages=93–99 |first=V. O. |last=Vasyukevich}} 8. ^{{citation |last=Nowick|first=S. M. and K. Y. Yun and P. A. Beerel and A. E. Dooply|url=http://www.cs.columbia.edu/~nowick/nowick-async97-speculation-completion-fin.pdf|title=Speculative Completion for the Design of High-Performance Asynchronous Dynamic Adders |journal=Proceedings of the IEEE International Symposium on Advanced Research in Asynchronous Circuits and Systems ('Async')|date=March 1997|pages=210–223 }} 9. ^{{citation |last=Nowick|first=S. M.|url=http://www.cs.columbia.edu/~nowick/nowick-iee-pcgs-speculative-competion-96-published.pdf |title=Design of a Low-Latency Asynchronous Adder Using Speculative Completion |journal=IEE Proceedings -- Computers and Digital Techniques|date=September 1996|pages=301–307 }} 10. ^{{citation |last=Sheikh|first=B. and R. Manohar|url=http://www.cs.columbia.edu/~nowick/sheikh-manohar-async10-fp-adder.pdf |title=An Operand-Optimized Asynchronous IEEE 754 Double-Precision Floating-Point Adder |journal=Proceedings of the IEEE International Symposium on Asynchronous Circuits and Systems ('Async')|date=May 2010|pages=151–162 }} 11. ^"Epson Develops the World's First Flexible 8-Bit Asynchronous Microprocessor"{{dead link|date=October 2016 |bot=InternetArchiveBot |fix-attempted=yes }} 2005 12. ^{{citation |last=Nowick|first=S. M. and M. Singh|url=http://www.cs.columbia.edu/~nowick/nowick-singh-ieee-dt-11-published.pdf |title=High-Performance Asynchronous Pipelines: an Overview |journal=IEEE Design & Test of Computers|volume=28|number=5 | date=Sep–Oct 2011|pages=8–22 |doi=10.1109/mdt.2011.71}} 13. ^1 {{cite web|last=Furber |first=Steve |title=Principles of Asynchronous Circuit Design |url=http://owlhouse.csie.nctu.edu.tw/~dannim/AsynCD/principles_of_ASYNC.pdf |work=Pg. 232 |accessdate=2011-12-13 |deadurl=yes |archiveurl=https://web.archive.org/web/20120426050921/http://owlhouse.csie.nctu.edu.tw/~dannim/AsynCD/principles_of_ASYNC.pdf |archivedate=2012-04-26 |df= }} 14. ^"Keep It Strictly Synchronous: KISS those asynchronous-logic problems good-bye".Personal Engineering and Instrumentation News, November 1997, pages 53–55.http://www.fpga-site.com/kiss.html 15. ^{{citation |title=Computer Science Reconsidered: The Invocation Model of Process Expression |author=Karl M. Fant |year=2007 |publisher=John Wiley and Sons |isbn=978-0471798149 |url=http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471798142.html}} 16. ^1 {{cite book|last=van Leeuwen|first=T. M.|title=Implementation and automatic generation of asynchronous scheduled dataflow graph|year=2010|publisher=Delft|url=https://repository.tudelft.nl/islandora/object/uuid:5d87b87f-e084-491f-a18a-9c83ac2c41e1/datastream/OBJ/download}} 17. ^"ASIC to FPGA migration" 18. ^LARD {{webarchive |url=https://web.archive.org/web/20050306161822/http://www.cs.man.ac.uk/apt/projects/tools/lard/ |date=March 6, 2005 }} 19. ^1 2 "In the 1950 and 1960s, asynchronous design was used in many early mainframe computers, including the ILLIAC I and ILLIAC II ... ." [https://books.google.com/books?id=DPGJEPZGXMQC&pg=PA322&lpg=PA322 Brief History of asynchronous circuit design] 20. ^"The Illiac is a binary parallel asynchronous computer in which negative numbers are represented as two's complements."– final summary of "Illiac Design Techniques" 1955. 21. ^Johnniac history written in 1968 22. ^http://www.cs.man.ac.uk/CCS/res/res18.htm 23. ^"Entirely asynchronous, its hundred-odd boards would send out requests, earmark the results for somebody else, swipe somebody else's signals or data, and backstab each other in all sorts of amusing ways which occasionally failed (the "op not complete" timer would go off and cause a fault). ... [There] was no hint of an organized synchronization strategy: various "it's ready now", "ok, go", "take a cycle" pulses merely surged through the vast backpanel ANDed with appropriate state and goosed the next guy down. Not without its charms, this seemingly ad-hoc technology facilitated a substantial degree of overlap ... as well as the [segmentation and paging] of the Multics address mechanism to the extant 6000 architecture in an ingenious, modular, and surprising way ... . Modification and debugging of the processor, though, were no fun." "Multics Glossary: ... 6180" 24. ^"10/81 ... DPS 8/70M CPUs" Multics Chronology 25. ^"The Series 60, Level 68 was just a repackaging of the 6180." Multics Hardware features: Series 60, Level 68 26. ^A. A. Vasenkov, V. L. Dshkhunian, P. R. Mashevich, P. V. Nesterov, V. V. Telenkov, Ju. E. Chicherin, D. I. Juditsky, "Microprocessor computing system," Patent US4124890, Nov. 7, 1978 27. ^Chapter 4.5.3 in the biography of D. I. Juditsky (in Russian) 28. ^{{cite web |url=http://www.cpu80.ru/home/seria-587 |title=Archived copy |accessdate=2015-07-16 |deadurl=yes |archiveurl=https://web.archive.org/web/20150717061828/http://www.cpu80.ru/home/seria-587 |archivedate=2015-07-17 |df= }} 29. ^{{cite web |url=http://www.cpu80.ru/home/seria-588 |title=Archived copy |accessdate=2015-07-16 |deadurl=yes |archiveurl=https://web.archive.org/web/20150717082004/http://www.cpu80.ru/home/seria-588 |archivedate=2015-07-17 |df= }} 30. ^{{cite web |url=http://www.cpu80.ru/home/seria-u83-k1883 |title=Archived copy |accessdate=2015-07-19 |deadurl=yes |archiveurl=https://web.archive.org/web/20150722062052/http://www.cpu80.ru/home/seria-u83-k1883 |archivedate=2015-07-22 |df= }} 31. ^1 2 "A Network-based Asynchronous Architecture for Cryptographic Devices"by Ljiljana Spadavecchia2005in section "4.10.2 Side-channel analysis of dual-rail asynchronous architectures"and section "5.5.5.1 Instruction set" 32. ^"Handshake Solutions HT80C51" "The Handshake Solutions HT80C51 is a Low power, asynchronous 80C51 implementation using handshake technology, compatible with the standard 8051 instruction set." 33. ^SEAforth Overview {{webarchive|url=https://web.archive.org/web/20080202055942/http://www.intellasys.net/index.php?option=com_content&task=view&id=21&Itemid=41 |date=2008-02-02 }} "... asynchronous circuit design throughout the chip. There is no central clock with billions of dumb nodes dissipating useless power. ... the processor cores are internally asynchronous themselves." 34. ^"GreenArrayChips" "Ultra-low-powered multi-computer chips with integrated peripherals." 35. ^Tiempo: Asynchronous TAM16 Core IP 36. ^"Seiko Epson tips flexible processor via TFT technology"by Mark LaPedus 2005 37. ^"A flexible 8b asynchronous microprocessor based on low-temperature poly-silicon TFT technology"by Karaki et al. 2005.Abstract: "A flexible 8b asynchronous microprocessor ACTII ... The power level is 30% of the synchronous counterpart." 38. ^"Introduction of TFT R&D Activities in Seiko Epson Corporation"by Tatsuya Shimoda (2005?)has picture of "A flexible 8-bit asynchronous microprocessor, ACT11" 39. ^"Epson Develops the World's First Flexible 8-Bit Asynchronous Microprocessor" 40. ^"Seiko Epson details flexible microprocessor: A4 sheets of e-paper in the pipelineby Paul Kallender 2005 41. ^"SyNAPSE program develops advanced brain-inspired chip" {{webarchive|url=https://web.archive.org/web/20140810011226/http://www.darpa.mil/NewsEvents/Releases/2014/08/07.aspx |date=2014-08-10 }}.August 07, 2014. Further reading
2 : Electrical circuits|Clock signal |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。