USPatent applicationPatented

Transmission circuit and manufacture method for the same

Granted 30 Aug 2005 · 1 office action

Life of the application

9 dated events
⤢ drag to zoom20022004200620082010201220142016201820202022ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A transmission circuit has a dispatching circuit and a calculating circuit. The transmission circuit is between a processing circuit and a memory controller. The processor is connected to the dispatching circuit via a first signal line. The dispatching circuit is connected to the calculating circuit via a second signal line. The calculating circuit is connected to the memory controller via a third signal line. Besides, a fast signal line is provided for connecting the dispatching circuit and the memory controller. During operation, the processing circuit transmits a data stream to the dispatching circuit. The dispatching circuit checks whether a speed-up condition is satisfied. If the speed-up condition is not satisfied, the data stream follows a conventional path through the calculating circuit. If the speed-up condition is satisfied, the data stream is directly transmitted to the memory controller and such design increases the performance of the transmission circuit.

Description

5 parts
›BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates to transmission circuits and methods and in particular is related to transmission circuits and a manufacture method with dynamic paths for the same.

2. Description of Related Art

Computers have changed the world, and in the future, computers will increase their importance as the technology keeps advancing. Desktop versions as well as mobile phones utilize lots of technologies developed for computers. Apparently, more and more kinds of electronic devices will also share these technologies.

One important factor deciding the performance of computers is the architecture. The architecture includes the design of data flow. Even with a powerful processor, poorly designed data flow in a computer system still results in a poor performance.

FIG. 1 shows a conventional block diagram of a computer system. A CPU 101 is connected to an integrated circuit that includes a core logic circuit 102 , a VGA circuit 103 , and a DRAM controller 104 . The DRAM controller 104 is further connected to a DRAM 105 . Graphic data are firstly generated by the CPU 101 according to a running program. Then, these graphic data are sent to the core logic circuit 102 . The core logic circuit 102 then dispatches these graphic data to the VGA circuit 103 . After processed by the VGA circuit 103 , proper data are transmitted to the DRAM controller 104 , and are outputted to the DRAM 105 later.

The problem is that the signal line between the CPU 101 and the core logic circuit 102 often has larger bandwidth than the signal line between the core logic circuit 102 and the VGA circuit 103 does. In other words, the core logic circuit 102 needs several clock cycles to deliver data received in one cycle. Such design wastes time and results in poor performance.

Besides, not all data need be processed by the VGA circuit 103 before they are transmitted to the DRAM controller 104 . However, these data still need to pass through the VGA circuit 103 and such design causes an unnecessary time delay. However, it is expensive to enlarge the bandwidth between the core logic 102 and the VGA circuit 103 .

›SUMMARY OF THE INVENTION

Therefore, the goal of the present invention is to provide an efficient architecture is cost efficient.

An embodiment of the present invention is a transmission circuit that includes a dispatching circuit and a calculating circuit. Examples of the dispatching circuits include core logic circuits in computer chipsets, and examples of the calculating circuits include VGA circuits. The transmission circuit is between a processing circuit and a memory controller circuit. The processing circuit is connected to the dispatching circuit via a first signal line. The dispatching circuit is connected to the calculating circuit via a second signal line. The calculating circuit is connected to the memory controller circuit via a third signal line. The memory controller circuit is connected to a memory device, e.g. DRAM.

In addition, a fast signal line is provided to connect the dispatching circuit and the memory controller circuit. During operation of the transmission circuit, the processing circuit transmits a data stream to the dispatching circuit. The dispatching circuit detects whether a speed-up condition is satisfied. If the speed-up condition is satisfied, the data stream is transmitted to the memory controller circuit via the fast signal line directly. Otherwise, the data stream is transmitted to the calculating circuit for further processing before data are written to the memory.

The speed-up condition includes detecting whether the data are of proper types to be directly transmitted to the memory controller circuit. Also, the speed-up condition includes detecting whether the fast signal line is enabled or available. Further, the speed-up condition also includes detecting whether the calculating circuit is in an idle mode. When the calculating circuit is in the idle mode, no danger of sequence order exists for directly transmitting the data stream to the memory controller circuit.

Hence, the goal of an efficient architecture efficient with a low cost is achieved by the present invention. It is therefore an objective of the present invention to provide

›BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a diagram illustrating a transmission architecture of prior art;

FIG. 2 is a diagram illustrating an embodiment of a transmission architecture of the present invention;

FIG. 3 is a flowchart illustrating an operation of the embodiment in FIG. 2 ;

FIG. 4 is a diagram illustrating an example of a transmission circuit of the present embodiment; and

FIG. 5 is a flowchart illustrating an operation of the example in FIG. 4 .

›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 1 of 2

The present invention discloses a transmission circuit and a method providing dynamic transmission paths for speeding the transmission between a processor circuit and a memory controller circuit.

Reference is made to FIG. 2. A transmission circuit embodiment of the present invention is located between a processing circuit 201 and a memory controller circuit 204 . The memory controller 204 is further connected to a memory 205 via a memory signal line 215 . The transmission circuit includes a dispatching circuit 202 and a calculating circuit 203 .

The dispatching circuit 202 is connected to the processing circuit 201 via a first signal line 211 . The dispatching circuit 202 is also connected to the calculating circuit 203 via a second signal line 212 . Further, the calculating circuit 203 is connected to the memory controller circuit 204 via a third signal line 213 . Besides, a fast signal line 214 is provided for a direct connection between the dispatching circuit 202 and the memory controller circuit 204 .

The bandwidths of the first signal line 211 and the fast signal line 214 are both larger than the that of the second signal line 212 . In other words, the dispatching circuit 202 needs more transmission time to transmit data to the calculating circuit 203 than receiving time to receive the data. For example, in the case where the first signal line 211 has a width of 256 bits and the second signal line 212 has a width of 64 bits, the dispatching circuit 203 needs four clock cycles to transmit data received from the processing circuit 201 in one clock cycle.

Examples of the processing circuit 201 include central processing units (CPUs) in various kinds of computer architectures. Also, examples of the processing circuit 201 include any micro-controllers or processors in various kinds of circuits. Besides, examples of the dispatching circuit 202 include common core logic circuits in chipset integrated circuits. Also, examples of the dispatching circuit 202 include any logic circuits that are designed to perform data dispatching in various kinds of circuits. Further, examples of the calculating circuit 203 include graphical processors, audio processors, I/O processors, and any circuits for performing a calculating work.

To explain the operation of the embodiment as mentioned above, reference is made to both FIG. 1 and FIG. 2 . FIG. 2 is a flowchart illustrating the operation process of the transmission circuit in FIG. 1 .

In advance, the fast signal line 214 is provided to connect the dispatching circuit 202 and the memory controller circuit 204 (step 302 ). During operation, the processing circuit 201 produces a data stream comprising a series of data feeding to the dispatching circuit 202 (step 304 ). The dispatching circuit 202 includes logic to check whether the transmission circuit satisfies a speed-up condition in a moment of processing (step 306 ). If the speed-up condition is satisfied, the dispatching circuit 202 transmits the data stream to the memory controller circuit 204 via the fast signal line 214 (step 308 ). If the speed-up condition is not satisfied, the dispatching circuit 202 transmits the data stream to the calculating circuit 203 (step 310 ).

The data stream includes data of a first type and data of a second type. The data of the first type need to be processed first by the calculating circuit 203 . For example, data of the first type are IO instructions, 2D or 3D instructions for rendering a 2D or 3D pictures. Without first being processed by the calculating circuit 203 , data of the first type cannot be written into the memory 205 directly. In contrast, data of the second type are data that can be directly written into the memory 205 . For example, data of the second type are images or linear data already calculated by the processing circuit 201 . The speed-up condition is not satisfied when the dispatching circuit 202 finds that it is processing data of the first type because data of the first type need to be firstly calculated or processed by the calculating circuit 203 . In other words, the fast signal line 214 is only used for data of the second type, but not for the first type.

Besides, for the case that the data stream is composed of data of both the first type and the second type, sequences of the data being written to the memory are important. When the sequence of data is reversed, the output may be seriously mistaken. Therefore, the speed-up condition also includes a check of the status of the calculating circuit 203 . When the calculating circuit 203 is idle, there is no danger of using the fast signal line 214 for transmission of the data stream. The status of the calculating circuit 203 may be stored in an idle status register 207 . Further, the status of the calculating circuit 203 may also be stored in any kind of memory. Besides, the status of the calculating circuit 203 may be passively acquired by the dispatching circuit 202 or be actively informed by the calculating circuit 203 to the dispatching circuit 202 .

Further, in the embodiment mentioned above, the transmission circuit also has a fast path status indicating whether a fast signal line 214 is available or enabled. This fast path status can be stored in a register 206 or in any kind of memory. The fast path status may also be set outside the dispatching circuit 202 . The speed-up condition is not satisfied when the fast path status shows that the fast signal line 214 is not enabled or available.

For a clear description of the present invention, a practical example is provided as follows. Reference is made to FIG. 4 and FIG. 5 .

The example shown in FIG. 4 is applied in currently popular computer architectures. A CPU 401 is connected to an integrated circuit (IC) 41 of a chipset. Typically, the IC between the CPU and the DRAM is called the north bridge chip.

The IC 41 includes a core logic circuit 402 as the dispatching circuit, a VGA circuit 403 as the calculating circuit, and a DRAM controller circuit 404 as the memory controller circuit. The CPU 401 is connected to the core logic circuit 402 via a HOST bus 411 with width of 256 bits as the first signal line. The core logic 402 is connected to the VGA circuit 403 via a GUI host bus 412 with width of 64 bits a second signal line. The VGA circuit 403 is connected to the DRAM controller circuit 404 via a DRAM data bus with width of 128 bits as the third signal line. Besides, a fast path 414 is provided for connection between the core logic circuit 402 and the DRAM controller circuit 404 . The fast path 414 has width of 128 bits as the fast signal line. Examples of the DRAM 405 include types of 128-bits balanced SDR 128 or 256-bits balanced DDR 256 .

›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 2 of 2

A status register 406 stores a variable EnVGA_FastRdWr indicating whether the fast path 414 is available or enabled. Another status register 407 stores a variable VGA_Idle indicating whether the VGA circuit 403 is in an idle status.

Reference is made to FIG. 5 , which is a flowchart illustrating the operation of the example shown in FIG. 4 . At first, graphic data are received from the CPU 401 (step 502 ). The core logic circuit 402 detects whether the data received is of a linear memory type, which is not necessarily processed by the VGA circuit 403 before transmission to the DRAM controller circuit 404 (step 504 ). If the data received are not of a linear memory type, which means the speed-up condition is not satisfied, the data received are transmitted to the VGA circuit 403 via the GUI Host Bus 412 (step 508 ). Otherwise, the core logic circuit 402 checks whether the EnVGA_FastRdWr is true (step 506 ). If the EnVGA_FastRdWr is false, which means no fast path 414 is enabled or available, the data received are also transmitted to the VGA circuit 403 via the GUI Host Bus 412 (step 508 ).

Next, the core logic circuit 402 continues to check whether the VGA circuit 403 is in an idle mode (step 510 ). If the VGA circuit 403 is in the idle mode, which means the speed-up condition is satisfied, the data received are directly transmitted to the DRAM controller circuit 404 via the fast path 414 (step 512 ).

With the description and examples provided above, implementation of the present invention will be obvious to persons skilled in the art. At the same time, it is clear that the present invention has at least the following advantages.

First, for burst linear memory commands, which are often the bottleneck of performance, we provide an efficient bus for the data transmission. Second, it is not necessary to change any software design because the present invention is software-transparent. Third, the modification has a low cost. Fourth, for those data routed through the fast path, the latency time is reduced by skipping the pass through the VGA circuit or other calculating devices.

Those skilled in the art will readily observe that numerous modifications and alterations of the device may be made while retaining the teaching of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.

Claims as granted

20 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

5 codes
IPC · International Patent Classification
Section G — Physics
  • G09G5/39
  • G09G5/393
Section H — Electricity
  • H01L21/336
USPC · US Patent Classification
345/531345/520

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2002Jan 2003Jul 2003Jan 2004Jul 2004Jan 2005Jul 2005USPTOApplicantNon-final rejectionResponse after non-finalNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
3.1 y
1,134 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Kee M. Tung
art unit 2676 · TC 2600
Citations: 5 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20022004200620082010201220142016201820202022Owner 1liens, releases & corrections
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock