Claims
- 1. A controller for controlling the operation of a clock in a processor having asymmetrically mirrored base-mirror units, comprising:
a start-clock input, a first register input, and a second register input; and a base-unit-clock output for controlling a base-unit-clock and a mirror-unit-clock output for controlling a mirror-unit-clock; wherein the mirror-unit-clock is adapted to start and stop one cycle later than the base-unit-clock in response to the start-clock being active and the first register input being different from the second register input.
- 2. The controller of claim 1, wherein:
the mirror-unit-clock starts and stops one cycle later than the base-unit-clock in response to the first register input being 1 and the second register input being 0.
- 3. The controller of claim 1, further wherein:
the mirror-unit-clock is adapted to start one cycle later than the base-unit-clock and to stop in the same cycle as the base-unit-clock in response to the first and second register inputs being the same.
- 4. The controller of claim 3, further wherein:
the mirror-unit-clock is adapted to start one cycle later than the base-unit-clock and to stop in the same cycle as the base-unit-clock in response to the first and second register inputs being 1.
- 5. The controller of claim 1, further wherein:
the mirror-unit-clock is adapted to start and stop in the same cycle as the base-unit-clock in response to the first register input being 0.
- 6. A method of operating a clock in a processor having asymmetrically mirrored base-mirror units, comprising:
initializing a base-unit and a mirror-unit of the processor to the same state, the processor having asymmetrically mirrored base-mirror units; and starting the mirror-unit-clock one clock cycle later than the base-unit-clock.
- 7. The method of claim 6, further comprising:
stopping the mirror-unit-clock one clock cycle later than the base-unit-clock; wherein the base and mirror units see the same number of clock cycles in response to stopping the mirror-unit-clock one clock cycle later than the base-unit-clock.
- 8. The method of claim 7, further comprising:
making a mismatch compare between base and mirror unit signals at a comparator in the absence of a hardware fault.
- 9. The method of claim 6, further comprising:
stopping the mirror-unit-clock and the base-unit-clock in the same clock cycle; and making a valid compare between base and mirror unit signals at a comparator in the absence of a hardware fault.
- 10. The method of claim 9, wherein the base and mirror units see a different number of clock cycles in response to both the mirror-unit-clock and the base-unit-clock being stopped in the same clock cycle.
- 11. A combination of a clock controller and a processor responsive thereto, the processor comprising:
a base-unit for providing an output signal in response to an input signal; a mirror-unit for providing an output signal in response to the input signal, the mirror-unit being a duplicate of the base-unit; a first staging register disposed at the input to the mirror-unit for delaying the input signal thereto by at least one clock cycle; a second staging register disposed at the output of the mirror-unit for delaying the output signal therefrom by at least one clock cycle; a recovery-unit in signal communication with the base and mirror units, the recovery unit having a comparator for comparing the output signals of the base and mirror units, the recovery unit further having third and fourth staging registers serially disposed between the output of the base-unit and the input of the comparator for delaying the input signal thereto by at least two clock cycles; and the clock controller comprising: a clock input, a first test register input, and a second test register input; a base-unit-clock output for controlling a base-unit-clock; and a mirror-unit-clock output for controlling a mirror-unit-clock; wherein the base-unit-clock is adapted to increment the state of base-unit, the first staging register, the third staging register, and the fourth staging register; and the mirror-unit-clock is adapted to increment the state of the mirror-unit and the second staging register.
- 12. The combination of claim 11, further wherein:
the base-unit and mirror-unit are initialized to the same state; and each of the staging registers are initialized to 0.
- 13. The combination of claim 11, further wherein:
the mirror-unit-clock is adapted to start and stop one cycle later than the base-unit-clock in response to the first test register input being different from the second test register input; the mirror-unit-clock is adapted to start one cycle later than the base-unit-clock and stop in the same cycle as the base-unit-clock in response to the first and second test register inputs being the same; and the mirror-unit-clock is adapted to start and stop in the same cycle as the base-unit-clock in response to the first test register input being 0.
RELATED APPLICATIONS
[0001] The present application is related to the co-pending United States patent application Method And Apparatus For Mirroring Units Within A Processor” (DISCLOSURE NUMBER: POU820030031, DOCKET NUMBER: POU920030095US1) filed by Michael Billeci, Timothy J. Slegel and Chung-Lung K. Shum.
[0002] The co-pending application and the present application are owned by one and the same assignee, International Business Machines Corporation of Armonk, N.Y. The descriptions set forth in the co-pending application are hereby incorporated into the present application by this reference.
[0003] Trademarks: IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. S/390, Z900 and z990 and other product names may be registered trademarks or product names of International Business Machines Corporation or other companies.