Background of Invention
1. Field of Invention
This invention relates to data processing systems. More particularly, the invention relates to data processing systems having input/output drivers with reduced power consumption and noise levels.
2. Description of the Prior Art
In data processing systems using CMOS technology, power consumption and noise generation are dominated by switching circuit nodes. Input/output pins cause even greater power and noise disturbances during switching because of the amount of current required to charge the external buses capacitances. In such systems, memory buses and system input/output (I/O) buses are typically clocked with central processing unit (CPU) clock cycles at some multiple of one external bus clock cycle because external buses cannot be switched as quickly as the internal circuits of the CPU. For example, the ratio of CPU to external bus clock cycles may be 2 to 1, 3 to 1, 4 to 1, 3 to 2, etc. Because of the large number of I/O pins utilized for the buses, a power surge occurs with accompanying noise when the bus drivers for the memory and system I/O simultaneously change value.
Prior art attempts to control the effects of the power surge and noise in integrated circuits include the following:
U.S. Pat. No. 4,587,445 issued May 6, 1986, discloses a data output circuit capable of reducing the level of noise voltage generated through the power source line when the logic data are updated. The data output circuit includes means for preventing more than half the output lines from transitioning simultaneously.
U.S. Pat. No. 4,613,771 issued Sep. 23, 1986, discloses an integrated circuit having improved noise immunity. The circuit includes three power busses in the circuit, the busses being parasitically coupled in the substrate with proportioned parasitic resistive and capacitive coupling to reduce output noise.
U.S. Pat. No. 4,656,370 discloses an integrated circuit with divided power supply wiring which can practically avoid noise problems due to induced counter electromotive force of power supply and ground lines. Since the power supply and ground lines in the circuit are divided into plural sets and each set is provided with independent wirings, the magnitude of current change in each wiring and the value of each wiring inductance can be small. From this, switching noises caused by simultaneous similar data changes can be suppressed thereby avoiding erroneous operation.
U.S. Pat. No. 4,661,928 issued Apr. 28, 1987, discloses an output buffer in which inductive noise is suppressed without making the data output speed slow. An inductive noise at the voltage terminal for the output circuit is suppressed by providing a noise suppression signal between the output voltage terminal and the gate of the output transistor.
U.S. Pat. No. 4,724,340 issued Feb. 8, 1988 discloses an output circuit in which a switching noise is reduce by presetting pairs of output lines to opposite logic states. A first output signal is provided at a first output terminal in one of two possible logic states in response to a control signal. A second output signal on a second output terminal is at one of two possible logic states and responds to the control signal. A predispositioned circuit coupled to the first and second outputs causes the outputs to be at different logic states at least immediately prior to the first and second output signals appearing on the first and second output terminals.
U.S. Pat. No. 4,725,747 issued Feb. 16, 1988, discloses an integrated circuit which substantially eliminates or reduces the disadvantages and problems associated with switching noise and high-speed integrated circuits. A circuit includes a substrate having a plurality of transistor regions and an elongated gate having a predetermined resistance. A signal applied to one end of the gate propagates along the length of the gate during a predetermined time interval. The transistor regions sequentially conduct a response to the signal propagating along the elongated gate until all of the transistor regions are conductive. The sequential conduction of the transistor region reduces the generation of output noise by eliminating the change of output current with respect to time.
U.S. Pat. No. 4,857,765 issued Aug. 15, 1989, discloses a noise control system in an integrated circuit chip which controls noise by dividing drivers into groups and switching each group at different times. Time driver gating signals are used in conjunction with physical grouping of driver circuits on the chip to isolate switching drivers from quiet drivers. The grouping of drivers minimizes detrimental effects usually caused by noise that is generated when driver circuits switch.
A Japanese publication 59-148426, published Aug. 25, 1984, discloses a circuit for controlling timing of simultaneous operations to control noise.
A Japanese publication JP60-130920, published Jul. 12, 1985, discloses an integrated logic circuit which prevents the noise margin and reliability from being decreased by connecting each one of a plurality of capacitors where at least one capacitor has differing capacitances from the other capacitors at the other output logical gates.
While the prior art addresses problems of noise and power surges in integrated circuits, none of the art discloses controlling system elements in a data processing system to reduce noises and power surges at the pin I/O's of the system. Controlling the system elements of a data processing system in lieu of special circuits and devices would improve the performance of such data processing systems without the expense of added cost.
Summary of Invention
An object of the invention is an improved data processing system and method of operation which reduces power consumption and noise from simultaneous switching of input/output (I/O) drivers.
Another object is an improved data processing system and method of operation having power consumption more evenly distributing in time at I/O drivers.
Another object is an improved data processing system and method of operation which reduces the number of I/O pins switching values at any given time.
Another object is an improved data processing system and method of operation for generating phase alignment signals to control memory and system bus operation with respect to a central CPU clock.
Another object is an improved data processing system and method of operation having multiplexing operation of the memory and system interface buses with respect to the I/O pins.
These and other objects, features and advantages are achieved in a data processing system having a memory bus and a system input/output (I/O) bus including I/O drivers, the memory and I/O buses being controlled by a central processor unit (CPU) for transferring data therebetween and to the I/O drivers. A central clock provides clock signals to the CPU, the memory bus and the I/O bus. The central clock further provides memory and I/O phase alignment signals to the CPU, the alignment signals indicating to the CPU when the start of the CPU clock cycle coincides with the start of a memory bus clock cycle or I/O bus clock signal. Circuit means initiate the memory and I/O bus clock signals in alternate CPU clock signals to reduce the number of I/O pin switching at any given time when a memory or I/O bus switches thereby reducing the noise and power consumption at the I/O pins and in the system.
Description of Drawings
The invention will be more fully understood from the following detailed description of a preferred embodiment taken in conjunction with an appended drawing, in which:
FIG. 1 is a block diagram of a partial data processing system which incorporates the principals of the present invention.
FIG. 2 is a circuit diagram of a switching circuit in each memory or I/O data bus line in the data processing system of FIG. 1 for controlling the transfer of data on the memory or I/O data bus relative to the CPU clock and the respective phase alignment signal.
FIG. 3 is a timing diagram of the operation of the memory bus and system I/O bus of FIG. 1.
Description of Preferred Embodiment
In FIG. 1, a central processing unit 10, for example, a POWER2(.TM.) Microprocessor chip is coupled to a memory bus 12 and a system input/output (I/O) bus 14. The Microprocessor is described in an article entitled "Power2: Next Generation of RISC System/6000 Family" by S. White et al, published in the IBM Journal Of Research And Development, Vol. 38, Number 5, September 1994, Pages 493-502, which is fully incorporated herein by reference. The memory bus includes a data bus; address bus; memory control line and memory clock line, all not shown. The I/O bus includes a data bus; a control line and a clock line, all not shown. A description of the memory and I/O bus also appears in the article, supra. The memory bus 12 is connected to a conventional read/write memory array 16. The I/O bus 14 is coupled through input/output driver devices 18 to a communication systems 20, such as a local area or client/server network. The driver devices are conventional circuits coupling input devices such as keyboards, pen-based devices and the like to the CPU and providing output to displays, printers and the like included in data processing systems coupled to the communications network 20. A conventional clock chip 22 measures time by counting pulses of a crystal oscillator 24 operating at nominally 120-135 megahertz. The clock chip provides a 1:1 frequency clock on line 26 to the CPU, where the clock is up for a half cycle and down for a half cycle. The clock chip is also provides a 1:2 frequency clock on line 28 to the memory, and a 1:2 frequency signal on line 30 to the I/O drivers 18, where one cycle of the memory of I/O bus occurs for every 2 cycles of the CPU clock. The clock chip also provides the CPU with a phase alignment signal 32 which indicates to the CPU when the start of a CPU clock cycle coincides with the start of a memory bus clock cycle and a phase alignment signal 34 which indicates to the CPU when the start of a CPU clock cycle coincides with the start of an I/O bus clock cycle. By aligning the memory and I/O bus clocks with alternate CPU clock cycles, the number of I/O pins switching values at any given time will be reduced, as will be explained in more detail hereafter. Further such switching makes the power consumption in the CPU more evenly distributed in time, since a power surge most likely appears when many I/O pins switch simultaneously.
In FIG. 2, a circuit is shown for aligning the data transfers on the memory bus and I/O data buses to be out of phase with respect to one another using the CPU clock as a reference. FIG. 2 is descriptive of the circuitry included in each memory data bus line. The same circuitry is included in each I/O data bus line, except the I/O phase alignment 34 is supplied to circuitry.
A multiplexor 40 receives an enable signal 42 which is originated by the CPU and the memory phase alignment signal 32. The output of the multiplexor is provided to a standard shift register latch 44 which also receives the CPU clock signal 26. The latch 44 provides a feedback signal 46 to the multiplexor 40 and an output 48 to the driver 18. The feedback signal retains the data in the latch when the memory phase signal goes low. The latch 44 transfers enable signal 42 over line 48 to activate the driver 18. Similarly, a multiplexor 50 receives a memory data bus input 52 and the memory phase alignment signal 32, the multiplexor providing an output to a shift register latch 54 which also receives the CPU clock 26. The latch 54 provides a feedback signal 56 to the multiplexor 50 for retaining the data at the latch when the phase alignment signal 32 goes low. The latch 54 also provides the memory data over the line 57 to the driver 18 which has been enabled to transmit the data to the communication system 20. The data transfer cycle is repeated the next time the phase signal 32 goes high. As indicated before each I/O data bus line has a similar circuit operation.
The operation of the alignment circuits in FIG. 2 will now be described in conjunction with FIG. 3. The CPU clock 26 is up for a half cycle and down for a half cycle. The memory clock 28 and phase clock 32 are up for one cycle of the CPU clock and down for the next cycle of the CPU clock, the memory data bus providing an output 35 over 2 cycles of the CPU clock. When the phase signal 32 is low, the CPU will sample data at the rising edge of the CPU clock for input signals and drive data at the rising edge of the CPU clock for output signals. When the phase signal 32 is inactive during the mid-cycle portion, the CPU clock rises to sample the memory bus 12. However, the inactive memory phase signal inhibits the CPU from sampling the bus 12 during mid-cycle or driving a new output value mid-cycle. Essentially, the multiplexors 40 and 50 are disabled by the phase signal 32.
The I/O clock 30 is displaced from the memory clock by one CPU cycle. During the inactive phase of the memory bus, the CPU samples data on the I/O bus when the clock rises and the phase alignment signal 34 is present. Thus, the I/O bus provides an output signal 37 on the I/O bus 14 one CPU cycle after the memory clock drives data on the memory data bus. When the CPU clock samples the memory bus, the next time the CPU clock rises, the I/O phase signal 34 is down which prevents I/O bus from being sampled at the same time the memory bus is sampled. Thus, the I/O drivers 18 switch at different times for the memory data and I/O data which makes power consumption more evenly distributed in time with reduced driver noise since all of the I/O pins are not switching simultaneously which would otherwise occur.
While the invention has been described with respect to a specific embodiment, various modifications may be made therein without departing from the spirit and the scope of the present invention as defined in the appended claims: