A typical modern computer system includes a microprocessor, memory, and peripheral computer resources, i.e., monitor, keyboard, software programs, etc. The microprocessor has, among other components, arithmetic, logic, and control circuitry that interpret and execute instructions from a computer program.
One goal of the computer system is to execute instructions provided by the computer's users and software programs. The execution of instructions is carried out by the CPU (4). Data needed by the CPU (4) to carry out an instruction is fetched from the external memory (8) and copied into the internal memory (6). The CPU (4) normally uses the data copies to carry out an instruction rather than the original data because, in many cases, the microprocessor can access the internal memory (6) more quickly than the external memory (8).
The texture engine (10) interpolates and maps data that allows the display unit (2) to display graphical images with textured surfaces.
The texture engine (10) interacts with the internal memory (6) through an input/output port called an interface (26). Because the texture engine (10) performs several calculations to produce each image, the rate at which it sends and receives data through the interface (26) is critical in determining the amount of time it will take to display a graphical image. As a result, the rate at which the interface (26) between the texture engine (10) and the internal memory (6) propagates data is a primary concern. The rate at which the texture engine propagates data is also known as the speed of the interface (26). The speed of the interface (26) is determined by the interface's (26) type and construction.
A prior art interface is illustrated in FIG. 3. This type of interface is called a clock forwarding interface. In order for a clock forwarding interface to operate correctly, each device that accepts input from the interface (26), also called a client device, must emit a forwarded clock. Referring to
Because the SDRAM (30) is a globally synchronous device, it cannot emit its own forwarded clock. However, because a clock forwarding interface requires that each client device emit a forwarded clock, the SDRAM (30) emits an imaginary clock, also known as a virtual clock. The time phase of the virtual clock is perceived through the phase of the read data (36).
According to one aspect of the present invention, an interface between memory and an integrated circuit comprises a write path comprising a write data path and a forwarded clock path and a read path comprising a read data path, where data propagated through the write path and read path is synchronized by a clock signal.
According to another aspect, a computer system having an interface dependent on a clock signal and having a write path and a read path comprises a memory and an integrated circuit, where the interface operatively connects the memory and integrated circuit, synchronizes write data propagating through the write path with a first clock signal propagating through the write data path, and synchronizes read data propagating through the read path with a second clock signal.
According to another aspect, a method for synchronizing data propagation through an interface connecting memory and an integrated circuit, where the interface having a write path and a read path, comprises propagating data through a write data path, propagating a clock signal through a forwarded clock path, synchronizing the data propagation through the write data path to the forwarded clock path, propagating data through a read data path, and synchronizing the data propagation through the read data path to the clock signal.
Other aspects and advantages of the invention will be apparent from the following description and the appended claims.
a shows a device layout of the write path and the read path in accordance with one embodiment of the invention.
b shows a device layout of the write path and the read path in accordance with another embodiment of the invention.
Embodiments of the present invention will be described with reference to the accompanying drawings. Like items in the drawings are shown with the same reference numbers.
The invention relates to a method and apparatus that reduces the data path length of a prior art interface such as that shown in FIG. 3. An advantage of reducing the data path length is that it often increases the maximum operating speed (MOS) of the interface (26). The data path length is reduced by optimizing the construction of the write and read paths (38 and 40). For example, the path construction can be optimized by decreasing the clock cycle of the interface (decreasing the amount of time between clock pulses) or by decreasing the physical length of the paths (38 and 40).
a is a schematic layout of an embodiment of the write data path (the collection of devices the write data (32) is propagated through). In this figure, a flip-flop (44) circuit is shown with inputs d, te, and ti, and a clock, and output q. Output q is attached to a transmission line (46), which outputs a value to transmission lines (48) and (52). Transmission line (48) outputs a value to a buffer (50), and transmission line (52) outputs a value to a mux (54). Mux (54) is attached to a transmission line (56), which outputs a value to transmission lines (58) and (62). Transmission line (58) is attached to a mux (60) and transmission line (62) is attached to an buffer (64). Buffer (66) outputs a data value (66).
b is a schematic layout of an embodiment of the forwarded clock path (the collection of devices the forwarded clock (34) is propagated through). Instead of outputting a data value (66), the forwarded clock path outputs a forwarded clock value (92). Elements (46), (48), (50), (52), (54), (56), (58), (60), (62), and (64) have all been replicated from the write data path into the forwarded clock path as elements (72), (74), (76), (78), (80), (82), (84), (86), (88), and (90) respectively. The data path's flip-flop (44), however, cannot be replicated, and is approximated with another type of flip-flop called a transparent latch (70).
By replicating as many devices from the write data path as possible, the invention equalizes the propagation times of the write data (32) and the forwarded clock (34) within a small margin of error. By approximating the flip-flop (44) with the transparent latch (70), the invention decreases that margin of error because the time delay the flip-flop (44) adds to the write data path (42) is approximated by the time delay of the transparent latch (70). An advantage of equalizing the propagation time in both paths is that the clock cycle for each path decreases.
As shown in
As shown at the bottom of
By absorbing the accumulated phase (112) of the virtual clock relative to the core clock (100), it is possible establish a precise time phase relationship between the virtual clock and the core clock (100). Again, an advantage of establishing a precise time phase relationship is that the clock cycle for the read path (40) decreases.
One method of absorbing the accumulated phase (112) is to insert a series of flip-flops, known as a pipeline, into the read path (40). An implementation of this method is given in
Because the accumulated phase and absorption per stage are dependent on each embodiment of the invention, alternative embodiments of the invention may or may not use the same number flip-flops in the pipeline (132).
Referring to
The lengths of the delay lines (154, 156, and 158) were determined by the amount of time of used for each derived clock cycle. This amount of time was calculated as follows:
In other words, the clock cycle of each derived clock is 3584.3 picoseconds long, whereas the clock cycle of the core clock is 5714.3 picoseconds long. As a result, the interval between the derived clocks (154, 156, and 158) is less than the core clock (100) period. An advantage of this is that read data (40) propagates through the interface (26) faster, which increases the MOS of the interface (26).
Referring again to
The various embodiments to the invention provide one or more of the following advantages. A method of optimizing the read and write paths of a clock forwarding interface that can be used with a globally synchronous client device has been provided. Thus, the maximum operating speed of the clock forwarding interface may be increased. Thus, the interface may be used with devices that have higher clock frequencies.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.
Number | Name | Date | Kind |
---|---|---|---|
5392422 | Hoel et al. | Feb 1995 | A |
5911056 | Faget et al. | Jun 1999 | A |
5926837 | Watanabe et al. | Jul 1999 | A |
6061073 | Larson | May 2000 | A |
6128748 | MacWilliams et al. | Oct 2000 | A |
20020010872 | Van Doren et al. | Jan 2002 | A1 |
20020129215 | Yoo et al. | Sep 2002 | A1 |
20020161968 | Yoo et al. | Oct 2002 | A1 |
20030105985 | Keller et al. | Jun 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20030160797 A1 | Aug 2003 | US |