None.
Not applicable.
1. Field of the Invention
The present invention relates generally to computer systems with internal operational speeds and components that impose timing constraints on clock and control signals distributed about the system. More particularly, the present invention relates to a topology for a flexible system for adjusting clock and control signal path lengths and therefore signal timing adjustments.
2. Background of the Invention
Modern computer systems are a conglomeration of components. Each component is designed and/or programmed to perform one or more specific tasks. However, for overall operation of the computer system to be successful, those various components must communicate with one another and exchange information. That exchange of information could be of data related to the particular application running on the system, or could be instructions of the software program itself moved from mass storage devices or random access memory to the microprocessor for execution. Regardless of the receiving and sending device in any transfer of data or programs, there must be some coordination between the devices to make sure that information is exchanged at the proper times.
Exchange of information in modem computer systems is typically completed by the exchange of a block of information in a synchronous manner. That is, modem computer system components are interconnected by a series of bus structures capable of transmitting a predefined amount of data at any one time, e.g., 64 bits of information at a time. The “synchronous” descriptor means that the exchange of information between a sending device and a receiving device is done at predefined times typically based upon a host clock signal that is available for all the components of the computer system to use as a time reference.
As computer microprocessor and bus transfer speeds increase, factors such as the speed of propagation of signals within the computer begin to come into play. For purposes of illustration, consider the generic transfer of information depicted in
In the design of motherboards and other computer system components, it is usually not known in advance the exact timing required between particular devices or components. That is, a board designer may known the distance between a bridge device and a main memory device, for example, but that designer may not know the timing constraints of the particular components to be installed. In the related art, some designers compensated for this lack of knowledge at the design phase of the board by designing in clock signal paths having varying lengths. Once the components are installed, or the timing constraints otherwise determined, the particular clock signal path which meets the timing constraints of the particular system is used.
However, related art implementation such as that shown in
Secondly, if the system of
Finally, printed circuit board space on motherboards, and the like, is a premium, thus not allowing a system designer the capability of designing in several clock paths, e.g., nine or more, from which to choose later on.
Thus, what is needed in the art is a flexible and precise signal timing adjustment system that gives the system designer the maximum number of possible signal path lengths without the draw backs of using an inordinate amount of circuit board space, and without the detrimental effects associated with interference of electromagnetic signals based on reflection in stub circuits.
The preferred embodiments relate to a structure and related method for adjusting the lengths of clock and control signal paths. More particular, the preferred embodiments relate to a topology for precisely setting the length of control and clock signal paths, and relying upon propagation times of signals along those paths to make signal timing adjustments. The preferred structure comprises at least two groups or clusters of signal paths. Each of the signal paths from the two groups or clusters preferably have different lengths such that a system designer may choose a first signal path from the first group or cluster, and a second signal path from the second group or cluster, and by selecting signal paths from the first and second group of particular lengths, the system designer may therefore control the overall length of the clock or control signal path which allows the system designer to adjust the timing of that control signal. That is, for a control or clock signal for which very little time delay is required, the system designer chooses the shortest possible path through the clusters of signal paths being an adjustable signal path circuit. On the other hand, if the system designer needs to time delay or phase lag a particular control or clock signal, the designer chooses longer signal path lengths from the first and second cluster and couples them together to make a control signal path whose length is precisely adjusted to give the desired time delay.
Preferably, the clusters of signal paths are implemented on a motherboard or other printed circuit board (PCB) in any control or clock path where timing adjustments need to be made. The motherboard or PCB card preferably has the multiple clusters of signal paths designed onto the board and the system designer selects a particular signal path from each cluster of signal paths by selectively installing zero ohm resistors. That is, each of the signal paths have ends that are proximate to an electrical contact or solder pad on the motherboard or PCB card. The system designer preferably installs zero ohm resistors from the electrical contacts or solder pads to the selected signal path, and does not install or otherwise connect to the electrical pad or solder pad to the remaining signal paths. This selective installation of zero ohm resistors is preferably done on each end of each signal path and in this way the overall adjustable signal path circuit does not have any studs or open circuit paths down which electrical waves may propagate and reflect thereby causing signal degradation in the main clock or control signal.
For a detailed description of the preferred embodiments of the invention, reference will now be made to the accompanying drawings in which:
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, computer companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . ”. Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
Referring now to
The main memory array 52 preferably couples to the bridge logic unit 54 through a memory bus 58, and the bridge logic 54 preferably includes a memory control unit 57 that controls transactions to the main memory by asserting the necessary control signals during memory accesses. The main memory array may comprise any suitable type of memory such as dynamic random access memory (DRAM), any of the various types of DRAM devices, or any memory device that may become available in the future.
The North bridge 54 bridges various buses so that data may flow from bus to bus even though these buses may have varying protocols. In the computer system of
A preferred embodiment if computer system 200 further includes a second bridge logic device, a South bridge 64, coupled to the primary expansion bus 60. This South bridge 64 couples, or bridges, the primary expansion bus 60 to other secondary expansion buses. These other secondary expansion buses may include an industry standard architecture (ISA) bus 66, a sub-ISA (not shown), a universal serial bus (not shown), and/or any of a variety of other buses that are available or may become available in the future. In the embodiment shown in
The BIOS ROM 68 preferably contains firmware embedded on a ROM memory chip and performs a number of low-level functions. For example, the BIOS executes the power on self test (POST) during system initialization (“boot-up”). The POST routines test various subsystems in the computer system, isolate faults and report problems to the user. The BIOS is also responsible for loading the operating system into the computer's main system memory. Further, the BIOS handles the low-level input/output transactions to the various peripheral devices such as the hard disk drive and floppy disk drives.
Also shown in
The phase locked loop 78 is a device that takes a single input signal, here the host clock signal from the host clock 76, and produces a plurality of output signals having the same frequency as the input signal but shifted in phase. More particularly, the PLL has a feed-back path (not shown), the length of which controls the phase relationship between the many outputs of the PLL 78 and the PLL input. The phase relationships between the PLL 36 output and its input is a function of the length of the feed-back path between the FB Out pin and the FB In pin (not shown). An example of a phase lock loop having these characteristics is a device made by Cypress Semiconductor Corporation, part number CY 2510. Although the PLL output signals may couple to many devices within the computer,
Assuming for purposes of explanation that a system designer wishes to implement path 88 between pads 82 and 84, during the process of installing the various components on the motherboard or other PCB card, only resistors 94A and 94B are installed. Thus, the PLL clock signal propagates from the control signal source PLL 78 to the pad 82 (across resistor 102 which is described in more detail below), up through resistor 94A across the signal path 88, down through resistor 94B and to the second pad 84. In this exemplary embodiment, none of the resistors 94C–94F would be installed and thus no electrical path would exist along signal paths 90 and 92. Moreover, the system designer also preferably makes adjustments to the overall control signal path by selectively installing resistors 94G–94L in the second cluster of signal paths shown in
It is assumed, but not required, that each of the traces 88, 90 and 92 in the first cluster, and traces 96, 98 and 100 in the second cluster, have a different length. Thus, a system designer may choose a plurality of different signal path lengths by selectively installing resistors 94A–94L. Still referring to
Although embodiments that have duplicate signal path lengths among the various clusters are within the contemplation of this invention, in the preferred embodiment each of the signal path lengths are different, thereby allowing the system designer the maximum number of possible signal path lengths with which to tune the timing signals in the computer system 200. Referring now to
Table 1 shows that for this embodiment, each of the signal paths A–F have a length different than the others ranging from 0.25 units to 1.50 units. The units of these lengths could be any length included but not limited to inches and centimeters. The unit of length desired is a function of the amount of delay required in the particular system. An adjustable signal path circuit 80 having the signal path lengths described in Table 1 gives a total of 9 unique signal paths through the signal path circuit. In particular, Table 2 shows each unique signal path, and that signal path's length given the arbitrary units assigned in Table 1.
Table 2 thus shows that for the unique path through the adjustable signal path circuit 80 comprising the signal paths A and D of
Thus, it is seen that the unit lengths assigned in Table 3 (which could realistically be of the units inches) gives signal path lengths of Table 4 ranging from 1.33 units to 4.0 units, with each increment mapping to approximately ⅓ of a unit length.
Preferably then a system designer, when choosing the various components to install on a motherboard or other PCB card, will know, based on manufacturers data for those components, roughly what the signal timing characteristics for each of those components needs to be. While the system designer may have this rough idea in the stage of the engineering process where components are selected, that designer may not know until a prototype is implemented the exact timing signal relationship. Alternatively, it is possible that motherboards or PCB cards are designed based upon a component selection that may change. For example, many microprocessors may plug into a standard zero insertion force (ZIF) socket. That is, microprocessors from Intel® as well as AMD may each fit into a particular location on a motherboard or PCB card, but each may have differing signal timing requirements. Thus, a motherboard or PCB card, whose layout and design is finalized well in advance of the system designer knowing what components may be used, preferably implements an adjustable signal path circuit such as 80 with the path lengths selected such that the system designer has a range of possible lengths to implement depending on parameters and variables that are not determined at the time of the motherboard or PCB card finalization. Once the signal timing requirements are determined for a particular motherboard or PCB card configuration, the system designer chooses a particular path in the adjustable signal path length circuit to accommodate that signal timing. Thereafter, each motherboard or PCB card populated with various devices selectively has the zero ohm resistors populated only for those signal paths desired in the particular implementation.
Referring still to
It must be understood that
Table 5, given below, exemplifies a length selection for each of the signal paths for the three cluster arrangement shown in
Here again, the actual lengths of the signal paths given in Table 5 are arbitrary units (although in this case a more realistic unit for the lengths given in Table 5 may be millimeters or centimeters rather than inches). Using the signal path lengths given in Table 5 for the three cluster arrangement, the system designer has 27 possible signal path lengths ranging from 11.33 units to 20.0 units in 0.33 unit steps.
Thus, it is seen that the embodiments of the invention give the system designer a topology for signal timing adjustments that is highly flexible and may be easily and precisely tuned for the particular components on the motherboard or PCB card. Referring back to the computer system 200 shown in
All the various embodiments shown in the drawings (
As discussed with respect to the embodiments exemplified in
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. For example, the solder pads shown in the various exemplary drawings are square or rectangular; however, these pads need not take any particular shape so long as the zero ohm resistors which electrically couple the solder pads to the selected paths of the clusters may be soldered to the pad. In that vein, it must be understood that the zero ohm resistors may be soldered on one end directly to the solder pad, and on their second end to the particular trace. There may however be an individual resistor pad overlapping the solder pad, but this need not be the case. Further, there very likely will be a resistor pad electronically contacting the particular trace. Likewise, discussions of the preferred embodiment of the present invention are directed to controlling the timing with respect to control or clock signal; however, the adjustable signal path circuits of the preferred embodiments may be implemented in any location in a computer system where timing of a signal needs to be delayed by the addition of length in that signal's propagation path. Further, although the preferred embodiments are discussed with respect to a computer system such as a desk top or server system, the term computer system shall not be limited to these devices and may include other digital systems such as hand held computers, palm type organizers, cellular phones, and the like. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Number | Name | Date | Kind |
---|---|---|---|
4313095 | Jean-Frederic | Jan 1982 | A |
4906987 | Venaleck et al. | Mar 1990 | A |
5224022 | Weigler et al. | Jun 1993 | A |
5418455 | Takaishi et al. | May 1995 | A |
5542049 | Kurokawa et al. | Jul 1996 | A |
5578976 | Yao | Nov 1996 | A |
5801601 | Gayle | Sep 1998 | A |
5805428 | Singer | Sep 1998 | A |
5847985 | Mitani et al. | Dec 1998 | A |
5987531 | Ikeda et al. | Nov 1999 | A |
6034878 | Osaka et al. | Mar 2000 | A |
6233157 | Yoon et al. | May 2001 | B1 |
6274824 | Rueda-Aguilocho et al. | Aug 2001 | B1 |
6281838 | Hong | Aug 2001 | B1 |
6734757 | Delzer | May 2004 | B2 |
6763416 | LaBerge | Jul 2004 | B1 |
Number | Date | Country | |
---|---|---|---|
20030071671 A1 | Apr 2003 | US |