Elastic self-timed interface for data flow elements embodied as selective bypass of stages in an asynchronous microprocessor pipeline
AssigneeInternational Business Machines Corporation
InventorsChristopher McCall Durham, Peter Juergen Klim
Life of this patent
Estimating the term…
Abstract
The invention relates to a processor having a data flow unit for processing data in a plurality of steps. In one version, the data flow unit includes a plurality of consecutive stages which include logic for performing steps of the data processing, the stages being coupled together by a data path, at least one stage being coupled to a transceiver which causes data to be provided to the stage for processing or to bypass the stage unprocessed in response to a stage enable signal; a synchronizer which receives processed data from the stages and causes the processed data to be provided to external logic in synchronization with a clock signal.
Claims12
A processor having a data flow unit for processing data in a plurality of steps, the data flow unit comprising:
- a plurality of stages, each stage including logic for performing a data processing step and also including an acknowledgment arrangement for providing an acknowledge signal when the respective stage has performed the respective data processing step, the stages being coupled together by a data path extending from a data input point to a data output point;
- at least one stage which data may bypass without being processed, each stage which data may bypass having a stage selection arrangement coupled thereto, the stage selection arrangement for the respective stage being connected to receive an acknowledge signal from a preceding stage and a stage enable signal, and being adapted to produce a request signal for the respective stage, the request signal enabling the respective stage to process data applied thereto along the data path;
- each stage which data may bypass also including a data bypass path connected in parallel with the respective stage;
- the stage selection arrangement for each respective stage further including a transceiver coupled in the respective data bypass path, the transceiver being responsive to the stage enable signal for the respective stage to enable data to bypass the respective stage;
- and
- a synchronizer coupled in the data path at the data output point, the synchronizer causing data processed by the data flow unit to be provided to external logic in synchronization with a clock signal.
A data flow unit useful in processing data in a microprocessor, the processing being performed in a plurality of steps and the individual steps being performed by stages of the data flow unit, the data flow unit comprising:
- means for providing data to be processed to an initial stage of the data flow unit;
- means for providing a request signal to the initial stage of the data flow unit;
- means for selecting individual stages to process the data;
- means for, after the selected individual stages have processed the data, passing the processed data to a synchronizer which synchronizes the processed data with a clock signal;
- and
- wherein the means for selecting individual stages includes a plurality of transceivers, one transceiver coupled to each individual stage, each transceiver having logic which enables input data to the respective stage to bypass said stage responsive to a stage enable signal.
A method for processing data in a data flow unit having a plurality of stages, each stage including logic for performing a data processing step, the method comprising the steps of:
- providing a stage enable signal to a bypass transceiver associated with a selected stage of the data flow unit;
- providing a request signal to the selected stage of the data flow unit;
- providing data to the selected stage of the data flow unit;
- performing a data processing step on the data at the selected stage of the data flow unit;
- producing an acknowledge signal at the selected stage when said stage has performed the respective data processing step;
- outputting the resulting processed data from the selected stage of the data flow unit;
- in response to the acknowledge signal and a stage enable signal to request logic associated with a following stage of the data flow unit, performing an additional data processing step on the processed data output by the selected stage;
- providing data processed by the data flow unit to external logic, said data being provided in synchronization with a clock signal.
Dependencies are inferred from the claim text.