Pipelined asynchronous processing

Electrical computers and digital processing systems: processing – Processing architecture – Superscalar

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S201000, C712S033000, C712S204000, C712S207000, C712S241000

Reexamination Certificate

active

06658550

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to information processing, and more specifically to architecture and operation of asynchronous circuits and processors.
BACKGROUND
Many information processing devices operate based on a control clock signal to synchronize operations of different processing components. Different processing components usually operate at different speeds due to various factors including the nature of different functions and different characteristics of the components or properties of the signals processed by the components. Synchronization of these different processing components requires the clock speed of the control clock signal to accommodate the slowest processing speed of the processing components in these “synchronous” processing devices. Thus, some processing components may complete respective operations earlier than other slow components and have to wait until all processing components complete their operations. This is not an efficient way of utilizing available resources.
Most commercial digital processors are such synchronous processing devices, including various microprocessors used in personal computers and other devices. Speed of a synchronous processor is usually increased by increasing the clock speed. This forces the instructions to be executed faster, since an instruction is executed based on each clock cycle. The maximum clock speed can be limited by various factors such as the processing speed of a slow processing component, the way that a clock signal is generated, or various effects caused by miniaturization of the integrated circuits within a processor.
An alternative approach, pioneered by Alain Martin of California Institute of Technology, eliminates synchronization of different processing components according to a clock signal. Different processing components simply operate as fast as permitted by their structures and operating environments. There is no relationship between a clock speed and the operation speed. This obviates many technical obstacles in a synchronous processor and can be used to construct an “asynchronous” processor with a much simplified architecture and a fast processing speed that are difficult to achieve with synchronous processors.
U.S. Pat. No. 5,752,070 to Martin and Burns discloses such an asynchronous processor, which is incorporated herein by reference in its entirety. This asynchronous processor operates without a clock and goes against the conventional wisdom of using a clock to synchronize the various parts and operations of the processor. The instructions can be executed as fast as the processing circuits allow and the processing speed is essentially limited by only gate and interconnection delays.
Such an asynchronous processor can be optimized for fast processing by special pipelining techniques based on unique properties of the asynchronous architecture. Asynchronous pipelining allows multiple instructions to be executed at the same time. This has the effect of executing instructions in a different order than originally intended. An asynchronous processor compensates for this out-of-order execution by maintaining the integrity of the output data.
SUMMARY
The present disclosure describes improved devices and processing methods for asynchronous processing. The disclosed architecture, circuit configurations and processing methods can be advantageously used to construct high-speed asynchronous digital processors.
One embodiment of the asynchronous system for information processing which is independent of a clock signal, comprises:
a plurality of execution units including a program counter unit, a memory unit, and at least one arithmetic logic unit, said execution units connected relative to one another in parallel;
a register unit having registers, connected to said execution units;
a fetch unit, connected to said program counter unit to receive a program counter signal and configured to retrieve instructions from an instruction memory unit according to said program counter signal;
a decoder connected to receive said instructions from said fetch unit and configured to decode said instructions to generate decoded instructions, wherein said decoder is connected to communicate with each of said execution units and said register unit;
a writeback unit communicating with said execution units and register unit to filter and route information from one member of said execution units and register unit to another member;
a first queue disposed between said decoder and said writeback unit to store and transfer ordering information to said writeback unit to indicate an order in which said decoder dispatches said decoded instructions to said execution units; and
a second queue disposed between said program counter unit and said writeback unit to store and transfer said program counter signal to said writeback unit,
wherein said program counter unit, said fetch unit, said instruction memory unit, and said decoder form a pipelined fetching loop operable to simultaneously transfer at least two instructions unsyncrhonized with respect to each other.
One aspect of the invention for exception handling is the write-back unit with which each execution unit that can cause an exception communicates.
Another aspect of the invention is pipelining of the completion mechanism to improve the throughput of the system.
These and other aspects and advantages will become more apparent in light the following accompanying drawings, the detailed description, and the appended claims.


REFERENCES:
patent: 3290511 (1966-12-01), Sims, Jr.
patent: 3697734 (1972-10-01), Booth
patent: 4680701 (1987-07-01), Cochran
patent: 5133077 (1992-07-01), Karne et al.
patent: 5347639 (1994-09-01), Rechtschaffen
patent: 5553276 (1996-09-01), Dean
patent: 5625787 (1997-04-01), Mahin et al.
patent: 5752070 (1998-05-01), Martin et al.
patent: 5887129 (1999-03-01), Day et al.
patent: 6164840 (2000-12-01), Lynch
patent: 6212629 (2001-04-01), McFarland et al.
Richardson, “Precise exception handling for a self-timed processor” Oct. 1995, pp. 32-37.*
Furber, “AMULET2e: an asynchronous embedded controller”, Apr. 1997, pp. 290-299.*
Furber, “AMULET1: a micropiplined ARM”, Feb. 1994, pp. 476-485.*
Fellman, Ronald D.: “Design Issues and an Architecture for the Monolithic Implementation of a Parallel Digital Signal Processor,” IEEE Transactions on Signal Processing; May 1990.
Jacobs et al: “A Fully Asynchronous Digital Signal Processor Using Self-Timed Circuits,” IEEE Journal of Solid-State Circuits, Dec. 1990.
Shen et al: “The Virtual-Time Data-Parallel Machine,” Frontiers of Massively Parallel Computation 1992.
Liebchen et al.: “Dynamic Reordering of High Latency Transactions Using a Modified Micropipeline,” Computer Design—ICEE '92; 1992 International Conference.
Paver et al: “Register Locking in an Asynchronous Microprocessor,” Computer Design—ICCE '92; 1992 International Conference.
Cho et al: “Design of a 32-Bit Fully Asynchronous Microprocessor (FAM),” Circuits and Systems; 1992; IEEE Midwest Symposium.
Arvind et al: “On the Performance Evaluation of Asynchronous Processor Architectures,” Mascots '95; Modeling, Analysis, and Simulation International Workshop, 1995.
Chang et al: “Design of a Static Mimd Data Flow Processor Using Micropipelines,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems; Sep. 1995.
Werner et al: “Counterflow Pipeline Based Dynamic Instruction Scheduling,” Advanced Research in Asynchronous Circuits and Systems; 1996 2nd International Symposium, 1996.
Arvind et al: “Static Scheduling of Instructions on Micronet-Based Asynchronous Processors,” Advanced Research in Asynchronous Circuits and Systems; 1996 2nd International Symposium.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Pipelined asynchronous processing does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Pipelined asynchronous processing, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Pipelined asynchronous processing will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3099487

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.