Computer system with synchronous bus

Abstract: A computer system (10) which includes a synchronous digital, multibit system bus (18) having a clock path, a master speed indicator path and a slave speed indicator path, a bus control circuit (22) which provides first and second clocks to the clock path of the bus, the second clock having a different frequency than the first clock, and a master circuit (14) and a slave circuit (16) connected to the system bus. The master circuit (14) includes master speed indication circuitry (15) which provides a master speed indicator indicating the operating speed of the master circuit (14) to the master speed indicator path. The slave circuit (16) includes slave speed indication circuitry which provides a slave speed indicator indicating the operating speed of the slave circuit (16) to the slave speed indicator path. The bus controller (22) provides the second clock when the master speed indicator and the slave speed indicator indicate that the master circuit (14) and the slave circuit (16) may both function at the different frequency of the second clock.

Description: The present invention relates to synchronous bus computer systems. Generally in computer systems and especially in personal computer systems, data is transferred between various elements such as a central processing unit (CPU), Input/output (I/O) adapters, I/O devices such as bus masters (i.e., elements which can control the computer system) or bus slaves as well as memory devices such as the system memory. These elements are often Interconnected via a system bus which is part of a system architecture. The architecture is designed for the movement of data, address and command information with or between these elements. In personal computer systems, one such architecture has become an industry standard and is known as the Family I bus architecture. The Family I bus architecture has become widely used by personal computers such as the IBM PC and PC/AT. The Family I bus architecture transfers information using eight parallel paths (an 8-bit wide bus) or 16 parallel paths (a 16-bit wide bus). A significant feature of the Family 1 bus architecture is the requirement of performing all transfers in synchronization with one basic clock signal, hereinafter referred to as a CLK signal. The CLK signal is an 8 MHZ signal which is provided to every element which is connected to the bus. Because of the popularity of the Family I bus architecture, it has become advantageous to extend the Family I architecture to a 32-bit wide format. However, customer acceptance requires maintaining downward compatibility with the original Family I bus architecture. Presently, maintaining downward compatibility requires that all elements on the architecture's bus operate at the original Family I clock rate of approximately 8 MHz. The document US-A-4 095 267 disclose a computer system which adjusts the clock frequency depending on the addressed peripheral I/O unit. In a preferred embodiment of the present invention there is provided a computer system which includes a synchronous digital, multibit system bus having a clock path, a master speed indicator path and a slave speed indicator path, bus control circuitry which provides first and second clock signals to the clock path of the bus on a mutually exclusive basis, and master and slave circuits connected to the system bus. The master circuit includes master speed indication circuitry which provides a master speed indication signal to the master speed indicator path, and the slave circuit includes slave speed indication circuitry which provides a slave speed indication signal to the slave speed indicator path. The bus control circuitry provides the second clock signal when the master speed indication signal and the slave speed indication signal indicate that the master circuit and the slave circuit both may function at the second frequency. In accordance with the present invention, there is now provided a computer system comprising a synchronous digital, multibit system bus characterised in that the system further comprises:- a bus control circuit for providing first and second clock signals to said clock path for on a mutually exclusive basis, said first clock signal having a first frequency and said second clock signal having a second frequency, a master circuit connected to said bus, the bus having a master speed indicator path, said master circuit including a master speed indication circuit for providing a master speed indication signal indicating the operating speed of said master circuit to said master speed indicator path, and a slave circuit connected to said bus, the hus having a slave speed indicator path, said slave circuit including a slave speed indication circuit for providing a slave speed indication signal indicating the operating speed of said slave circuit to said slave speed indicator path, said bus control circuit being configured to provide said second clock signal when said master speed indication signal and said slave speed indication signal indicate that said master circuit and said slave circuit both may function at said second frequency. A bus control circuit of the present invention advantageously enables a computer system to selectively switch between two clock signals for effecting data transfer on a synchronous bus at different speeds. Viewing the present invention from a second aspect, there is now provided a computer system comprising a synchronous digital, multibit system bus, said bus including a clock path, a master speed indicator path and a slave speed indicator path, bus control circuitry, said bus control circuitry providing first and second clock signals to said clock path of said bus on a mutually exclusive basis, said first clock signal having a first frequency and said second clock signal having a second frequency, a master circuit connected to said system bus, said master circuit including master speed indication circuitry, said master speed indication circuitry being configured to provide a master speed indication signal indicating the operating speed of said master circuit to said master speed indicator path, and a slave circuit connected to said system bus, said slave circuit including slave speed indication circuitry, said slave speed indication circuitry being configured to provide a slave speed indication signal indicating the operating speed of said slave circuit to said slave speed indicator path, said bus control circuitrv being configured to provide said second clock signal when said master speed indication signal and said slave speed indication signal indicate that said master circuit and said slave circuit both may function at said second frequency. Viewing the present invention from a third aspect, there is now provided a bus control circuit comprising a monitor clock control circuit configured to receive element speed indicator signals and to provide a control signal indicating that all elements function at a similar speed, and a clock generation circuit configured to receive said control signal and to generate a clock signal corresponding to said similar speed using a single high frequency clock. Viewing the present invention from a fourth aspect, there is now provided a method for transferring information between first and second elements of a computer system in which elements communicate via a multibit bus, the communication being synchronous with a first clock signal having a first frequency, the bus including a clock path through which the clock signal is provided to the elements, the method comprising generating a first speed indication signal indicating the operating speed of said first element, generating a second speed indication signal indicating the operating speed of said second element, and providing a second clock signal having a second frequency to said first and second elements via said clock path when said first speed indication signal and said second speed indication signal indicate that said first and second elements may both communicate at said second frequency, said first and second clock signals being provided to said clock path on a mutually exclusive basis. Preferred embodiments of the present invention will now be described, by way of examples only, with reference to the accompanying drawings in which: Fig. 1 shows a diagrammatic-block diagram of a computer system according to the present invention. Figs. 2 - 4 show timing diagrams of a computer system according to the present invention. Fig. 5 shows a schematic diagram of a timing circuit of the Fig. 1 computer system. Fig. 6 shows a schematic diagram of an alternate timing circuit of the Fig. 1 computer system. Referring to Fig. 1, compute.r system 10 includes system control circuit 12, bus master 14 and bus slave 16 which are all connected via synchronous, parallel, digital, mulibit bus 18 (a portion of which is shown). It is understood that computer system 10 is not limited to this configuration but can include other bus masters and bus slaves. Bus master 14 and bus slave 16 being merely representative for purposes of describing operation of the present invention. System control circuit 12, a centralized bus controller used only once per system, may function as a bus master. System control circuit 12 includes central processing unit (CPU) 20, which is connected to bus 18 via bus controller (BC) 22. BC 22 includes timing circuit 23 which includes monitor clock control circuit 24 which receives element speed indicator signals FAST MASTER# and FAST SLAVE# from bus 18 and controls dual clock generation circuit 26 which receives a high speed clock from high speed oscillator 28. If bus master 14 is capable of operating at a speed which is faster than the 8 MHz system clock, then bus master 14 includes master speed indication circuitry 15 which generates element speed indication signal FAST MASTER#. Likewise, if bus slave 16 is capable of operating at a speed which is faster than the 8 MHz system clock, then bus slave 16 includes slave speed indication circuitry 17 which generates element speed indication signal FAST SLAVE#. In operation, BC 22 of system control circuitry 12 produces a system clock signal (CLK) which is passed to bus 18; bus 18 distributes the CLK signal to all elements which are connected to bus 18 (e.g., bus master 14 and bus slave 16). According to the present invention, BC 22 is capable of generating a dual frequency CLK signal. The dual frequency CLK signal is generated based upon the states of two speed indicator signals, FAST MASTER# and FAST SLAVE#. The FAST MASTER# and FAST SLAVE# signals are generated by bus master 14 and bus slave 16 which have the capability of performing transfers which are faster than 8 MHz. A bus master 14 which controls bus 18 activates the FAST MASTER# signal (i.e., drives it to logic 0) to signify high-speed capability. On bus 18, the FAST MASTER# signal path is pulled up by an active pull-up resistor. Accordingly, elements which are connected to bus 18 but do not utilize the FAST MASTER# signal cannot drive this signal path to 0. If an element cannot drive the FAST MASTER# signal path to 0 then the element cannot perform transfers at any rate other than 8 MHz. Likewise, a slave card 16 capable of performing fast transfers activates the FAST SLAVE# signal. The FAST SLAVE# signal path is pulled up by an active pull-up resistor to allow for compatibllity with slower elements. In operation, BC 22 monitors the two speed indication signals. When the FAST SLAVE# signal and FAST MASTER# signal are on the bus simultaneously, BC 22 generates and sends a higher frequency clock signal over the CLK signal line. Thus, enabling the two devices to communicate at a second frequency which is higher than 8 MHZ. Accordingly, BC 22 provides an 8 MHz CLK signal over bus 18 via the CLK signal line as well as a second higher frequency clock signal over the same CLK signal ligne on a mutually exclusive basis. Bus 18 is thus capable of operating at either 8 MHZ or a second higher speed frequency as controlled by BC 22. Referring to Fig. 2, a transfer sequence between 8 MHZ elements is shown. Because the FAST MASTER# and FAST SLAVE# speed indication signals are not activated, BC 22 generates an 8 MHZ CLK signal. Accordingly, the transfer of information, which is controlled by an address start signal (ADDST#), which indicates the start of an address transfer, and a data transfer signal (DATT#), which indicates the occurrence of a data transfer, is at 8 MHz. Referring to Figs. 3 and 4, a transfer sequence between elements which function as the second higher frequency is shown. A bus master 14 (i.e., either bus master 14 or system control circuit 12) is selected prior to an individual transfer sequence by standard bus arbitration. If the master which is selected is configured to operate at the second higher speed, it activates the FAST MASTER# signal. Prior to the transfer, the bus master selects a bus slave 16 to participate in the subsequent transfer by providing an address which corresponds to this slave over bus 18. If this slave can function at the second higher frequency, it provides an active FAST SLAVE# speed indication signal over bus 18. While the master may immediately activate the FAST MASTER# signal, the slave must wait until it recognises its address on the bus before it can activate the FAST SLAVE# signal. Fig. 3 shows a transfer sequence in which a slave activates the FAST SLAVE# signal before BC 22 issues the ADDST# signal. In this case, BC 22 changes the CLK signal to the second higher frequency, thus allowing a high speed address transfer as well as subsequent data transfer. The data portion of the transfer can be n single transfer or multiple BURST mode transfers. When the high speed transfer is completed, the slave gets off bus 18 which deactivates its FAST SLAVE# signal. When the FAST SLAVE# signal is deactivated, BC 22 switches black to providing the 8 MHZ CLK signal. Fig. 4 shows a transfer in which the slave activates the FAST SLAVE# signal after BC 22 has issued the ADDST# signal. In this case, the address transfer takes place at the 8 MHZ clock rate, after which, the CLK signal is changed to the second higher frequency and data is transferred at the higher rate. This transfer sequence has a significant impact on transfer speeds of transfers which are performed as part of long BURST mode operations. Referring to Fig. 5, timing circuit 23 generates a dual speed CLK signal in which the faster CLK signal is twice the speed of the 8 MHz CLK signal. A high-speed oscillator frequency signal is used to generate both the 8 MHz CLK signal as well as the second higher frequency CLK signal. The use of the same high speed clock frequency signal allows switching between the two clock speeds without producing noise on the CLK line. In the preferred embodiment, the processor frequency which is generated by system control circuit 12 is used to generate the CLK signal because the processor frequency is already available to BC 22 and may be divided to provide the 8 MHZ frequency. Timing circuit 23 includes monitor clock control circuit 24 and dual clock generation circuit 26. Dual clock generation circuit 26 includes selection circuit 34 and divideir circuit 36. Selection circuit 34 selectively controls by how much divider circuit 36 divides an incoming frequency. Monitor clock control circuit 24 includes latches 40 and 42 which receive the FAST MASTER# and FAST SLAVE# signals, respectively, as input signals from bus 18. These signals are sampled and latched at the rise of the CLK signal. Accordingly, when the CLK signal switches to a different frequency, the transition occurs at the rise of the CLK signal. Latches 40 and 42 sample and latch the input signals on the rise of the CLK signal to provide inputs to NOR gate 48 and OR gate 49. When both the FAST MASTER# and FAST SLAVE# signals are low, this change causes NOR gate 48 to cause the SELECT FAST CLOCK signal to go high and OR gate 49 to cause the SELECT NORMAL CLOCK signal to go low. When either or both the FAST MASTER# signal and the FAST SLAVE# signal are high, this change cause NOR gate 48 to cause the SELECT FAST CLOCK signal to go low and OR gate 49 to cause the SELECT NORMAL CLOCK signal to go high. Selection circuit 34 includes AND gate 50, NOR gate 52, and AND gate 54. AND gate 54 functions as a selector which, when the SELECT FAST CLOCK signal is high, allows the signal generated by latch 44 (CONTROL LATCH 1) to be applied to NOR gate 52. AND gate 50 functions as a selector which, when the SELECT NORMAL CLOCK signal is high, allows the signal generated by latch 46 (CONTROL LATCH 2) to be applied to NOR gate 52. NOR gate 52 provides a frequency control signal (CLK FREQ CONTROL) to the input of divider circuit 36. Divider circuit 36 includes control latches 44, 46 which divide an incoming processor frequency (PROCESSOR FREQUENCY) which is inverted by invertor 47. The incoming frequency is approximately 32 MHZ; this frequency may be divided by a factor of two by latch 44 to provide a 16 MHZ clock. This 16 MHz clock may be divided by a factor of two by latch 46 to provide an 8 MHZ clock. The output of latch 44 is controlled by the CLK FREQ CONTROL signal which is received from NOR gate 52; this output is driven via driver 56 onto the CLK line of bus 18. In another embodiments of the present invention timing circuit 23 generates a second higher frequency which is any even multiple of the high speed oscillator frequency. This is accomplished by inserting an even number of latches which correspond to latches 44 and 46 in the frequency path of divider circuit 36. In yet another embodiment of the present invention timing circuit generates a second higher frequency which is an odd multiple of the high speed oscillator frequency. More specifically, Fig. 6 shows an example of timing circuit 23' for providing a dual frequency CLK signal in which the second higher frequency is 1.5 times faster than the 8 MHz CLK frequency. If the PROCESSOR FREQUENCY signal is in the vicinity of 32 MHZ, it is divided by a factor of four to generate the 8 MHZ clock signal and by a factor of three to produce the 12 MHz second clock signal. Timing circuit 23', which is similar to timing circuit 23, includes monitor clock control circuit 24 and dual clock generation circuit 26. Dual clock generation circuit 26 includes selection circuit 34' and divider circuit 36' as well as selection circuit 60. Selection circuit 34′ differs from selection circuit 34 by replacing two-input AND gate 54 with three-input AND gate 62, which, in addition to receiving the SELECT FAST CLOCK and CONTROL LATCH 1 signals, receives the CONTROL LATCH 2 signal. Anding the CONTROL LATCH 1 and CONTROL LATCH 2 signal produces a third signal which, when the SELECT FAST CLOCK signal is high, is the proper frequency bit is not a square wave. This third signal is provided to OR gate 52 to provide the CLK FREQ CONTROL signal. Divider circuit 36′ differs from divider circuit 36 by adding latch 64, which receives the double inverted high speed clock from invertor 66 as well as the CLK FREQ CONTROL signal from selection circuit 34′. Because the clock for latch 64 is not inverted, latch 64 produces a signal which is half a clock period sooner than the signal produced by latch 44. Selection circuit 60 includes AND gate 68, AND gate 70, and OR gate 72. AND gate 68 is used to produce a high speed square wave clock by anding the CONTROL LATCH 1 and CONTROL LATCH 3 signals when the SELECT FAST CLOCK signal is high. Anding these signals allows a square wave which is 1.5 times faster than the CONTROL LATCH 1 signal to be provided to OR gate 72. AND gate 70 allows the CONTROL LATCH 1 signal to be passed to OR gate 72 when the SELECT NORMAL CLOCK signal is high. OR gate 72 provides its output signal to clock driver 56 which drives the high speed CLK signal onto bus 18. Timing circuit 23′ generates a second higher frequency which is any odd multiple of the high speed oscillator frequency. This is accomplished by inserting an odd number of latches which correspond to latches 44, 46 and 64 in the frequency path of divider circuit 36′. Also, for example, the number of frequencies at which the system clock operates may be expanded simply by adding more element speed indicator lines. More specifically, if each element has two speed indicator lines, then the system clock could operate at four different frequencies depending on the speed of the elements that are communicating. The speed of the slower element that is communicating would be the determinative factor in adjusting the speed of the system clock.

Claims: A bus control circuit (22,18) for controlling a computer system (10) to which a master circuit (14) and a slave circuit (16) can be connected, characterised in that the bus control circuit (22) comprises: a synchronous bus (18) including a clock path, a master speed indication path connected between the master circuit (14) and the bus control circuit (22,18), and a slave speed indication path connected between a slave circuit (16) and the bus control circuit (22,18); a clock generation circuit (26) for generating a first clock signal having a first clock frequency or a second clock signal having a second clock frequency, the clock generation circuit (26) being configured to provide the second clock signal to the clock path in response to a control signal, and otherwise to provide the first clock signal on the clock path; and a monitor clock control circuit (24) for receiving a master speed indication signal from the master speed indication path and a slave speed indication signal from the slave speed indication path, the monitor clock control circuit (24) being configured to generate the control signal when the master and slave speed indication signals indicate that the master circuit (14) and the slave circuit (16) may both operate at the second frequency. A bus control circuit (22,18) as claimed in claim 1 wherein the clock generation circuit (26) generates the first and second clock signals from a single clock (28). A bus control circuit (22,18) as claimed in claim 2 wherein the clock generation circuit (26) comprises: a selection circuit (34) configured to select one of the first and second clock signals, and a divider circuit (36) configured to generate the first and second clock signals from the single clock (28). A bus control circuit (22,18) as claimed in any preceding claim wherein the second clock frequency is an even multiple of the first clock frequency. A bus control circuit (22,18) as claimed in any claim preceding claim 5 wherein the second clock frequency is an odd multiple of the first clock frequency. A bus control circuit (22,18) as claimed in any preceding claim wherein the monitor clock control circuit is configured to generate the control signal in response to active low master and slave speed indication signals. A computer system (10) comprising a central processing unit (20) and a bus control circuit (22,18) as claimed in any preceding claim A computer system (10) as claimed in claim 7 comprising a master circuit (14) and a slave circuit (16) connected to the bus (18), the master circuit (14) having a master speed indication circuit (15) for generating the master speed indication signal, and the slave circuit (16) having a slave speed indication circuit (17) for generating the slave speed indication signal. A computer system as claimed in claim 8 wherein the master circuit (14) includes the bus control circuit (22). A method for transferring information between first and second elements (14, 16) of a computer system (10) in which elements (14, 16) communicate via a multibit bus (18), the communication being synchronous with a first clock signal having a first frequuency, the bus (18) including a clock path through which the clock signal is provided to the elements, the method comprising generating a first speed indication signal indicating the operating speed of said first element (14), generating a second speed indication signal indicating the operating speed of said second element (16), and providing a second clock signal having a second frequency to said first and second elements via (14, 16) said clock path when said first speed indication signal and said second speed indication signal indicate that said first and second elements (14, 16) may both communicate at said second frequency, said first and second clock signals being provided to said clock path on a mutually exclusive basis.

Inventors: OLNOWICH HOWARD THOMAS, OLNOWICH, HOWARD THOMAS
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1991
Main classification: G06F13
IPC codes: G06F1, G06F13