GB2181578A - Clock delay for microprocessor - Google Patents
Clock delay for microprocessor Download PDFInfo
- Publication number
- GB2181578A GB2181578A GB08613484A GB8613484A GB2181578A GB 2181578 A GB2181578 A GB 2181578A GB 08613484 A GB08613484 A GB 08613484A GB 8613484 A GB8613484 A GB 8613484A GB 2181578 A GB2181578 A GB 2181578A
- Authority
- GB
- United Kingdom
- Prior art keywords
- cpu
- data processing
- clock
- bus
- signals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Executing Machine-Instructions (AREA)
Abstract
The present invention is for increasing the performance of a microprocessor CPU coupled on a bus to a plurality of data processing devices. The invention includes a finite state machine coupled between a clock generator and the CPU for generating the CPU clock and extending predetermined clock cycles (as at 4) for a predetermined fraction of a cycle. Logical operations in the CPU are held in await condition for the time the clock signal is extended. The induced delay of the predetermined clock signals occurs only during operations involving signal transmissions between a data processing device and the CPU over the bus. For internal CPU operations not involving bus access, the CPU is driven at its maximum permitted rate. Accordingly, the performance of the CPU is increased since the CPU need not be maintained for complete CPU clock cycles in a waiting state until the slower data processing device which it is accessing over the bus completes operation. <IMAGE>
Description
SPECIFICATION
Clock delay for microprocessor
BACKGROUND OF THE INVENTION 1. Fieldoftheinvention: The present invention relates to performance optimization systems for microprocessors, and more particularly, to systems for improving the efficiency of a microprocessorcoupledtoa plurality of data processing devices on a bus.
2. Artbackground:
It is typical in many data processing systems to couple a microprocessor to a plurality of data processing devices, such as for example, printers, RAM memories, magnetic disks and the like, along a system bus. As is well known, the microprocessor includes digital circuitry which completes logical operations in accordance with clock signals provided bya clock generator. The clock generator may comprise a crystal based oscillator disposed either on the microprocessor chip itself, or external to the chip. The clock generator provides cyclic repetitive digital signals of a fixed frequency to the microprocessor.
All microprocessor operations are synchronous with the clock generator signals which are applied.
Although microprocessor operations are controlled by the frequency of the clock signals, the ac quisitiontimeforcommunicatingwithotherdata processing devices coupled to the common bus is a function of the speed of the particular device. For example, although the microprocessor may operate at maximum speed (for example 33.3 MHz) as driven by the clock, other devices, such as random access memory(RAM)generallycannotoperateatthe speed of the microprocessor. In the event the microprocessor issues a read command to obtain data stored in a RAM coupled to the bus, the processor must generally wait until valid data is applied to bus data lines by the RAM to permit the data transfer operation to be completed.During this wait period, the microprocessor must interrupt its operations during the clock cycles required for the RAM to apply valid data to the bus. Other data processing devices, such as magnetic disks and the like, also requirethemicro- processor to delay processing operations until the data transfer is complete.
As will be described, the present invention provides methods and apparatus for increasing the performance of a microprocessor coupled to slower data processing devices. Afractional increment of a predefined time may be added to particular clock cycles, to delay subsequent cycles sufficiently long to permit a slower device to complete the requested operation. At present processor speeds, the time savings of the fractional increment provided by the present invention is significant compared to waiting the standard full clock cycle.
Summary of the invention
The present invention provides apparatus and methods for increasing the performance of a microprocessor (CPU) employed in a data processing system coupled on a bus to a plurality of data processing devices. The invention includes a finite state machine coupled between the clock source and the CPU for generating the CPU clock and extending predetermined clock cycles for a predetermined fractional increment. Logical operations employed by digital circuitry in the CPU are held in a wait condition for the time the clock signal is extended. The induced delay of the predetermined clock signals occur only during operations involving signal transmissions between a data processing device and the CPU overthe bus. For internal CPU operations not involving bus access, the CPU is driven at its maximum permitted rate.Accordingly, the performance of the CPU is increased since the CPU need not be maintained for complete clock cycles in a wait state until the slower data processing device which it is accessing completes its operation.
Brief description of the drawings
Figure 7 is a block diagram generally illustrating the architecture of the present invention.
Figure 2(a) is a timing diagram illustrating a typical prior art system wherein data is provided to the CPU immediately after the completion of a clock cycle, thereby delaying the aquisition of data until thefollowing cycle.
Figure 2(b) is a timing diagram illustrating the use of the present invention to increase the length of predetermined clock cycles by fractional increments.
Detailed description of the invention
Apparatus and methods for increasing the performance of a central processing unit (CPU) employed in a data processing system coupled to a bus having a plurality of data processing devices is disclosed. In the following description for purposes of explanation, specific numbers, cycle times, memory devices, CPUs, etc. are set forth in order to provide a thorough understanding the of present invention.
However, it will be apparentto one skilled in theart thatthe present invention may be practiced without these specific details. In other instances, well known circuits and devices are shown in block diagram form in order not to obscure the present invention unnecessarily.
Referring to Figure 1 ,the present invention is illust rated in a generalized clockdiagram form. ACPU 10 is coupled to a plurality of data processing devices (DP#A...DP#N) over a bus 12. The data processing devices include, for example RAM 14 (DP*A) as well as other devices such as disk drives, printers, and other data processing resources. A clock source 16 provides a repetitive cyclic digital signal having a predetermined frequency, as is known in the art. In the presently preferred embodiment, clock generator 16 outputs digital signals having a frequency of 33.333 MHz, and is driven by a crystal oscillator.The output of clock source 16 is coupled to a finite state machine 18 which, as will be described, delays predetermined cycles of the system clock signal (line 20) to permit maximum utilization of CPU processing time. Although in the presently preferred embodi ment,thefunctions of the present invention are provided by a finite state machine disposed in a programmable array logic (PAL) device, it will be app reciated byoneskilledintheartthatfinitestate machine (FSM) 18 may comprise a variety of digital circuits which utilize various forms of hardware as well as software. The finite state machine outputs a system clock signal to CPU 10 over a system clock line 20.As illustrated, a bus cycle line 22 is provided between CPU 10 and FSM 18 to permit feedback communication between CPU 10 and FSM 18. Itwill be noted that the embodiment illustrated in Figure 1 is diagrammatical in form, and illustrates those signals unique to the present invention. However, other control signals and lines, such as data lines, address lines and the like are not shown for sim- plicity. Although not described in the Specification these other lines, signals and the like will be apparent to one skilled in the art.
With reference nowto Figures 1 and 2, the operation of the present invention will be described. As previously discussed, clock source 16 outputs a digital clock signal of a predefined frequency that drives finite state machine 18. When CPU 10 is executing logical operations which do not involve data transfers along bus 12, CPU 10 operates at its maximum frequency. The maximum frequency clock is supplied by FSM 18 via clock line 20. As is well known, microprocessors perform logical operations in accordance with full block cycles, such that each sequence of logical operations performed internally occur in accordance with full block cycles such as those illustrated in Figure 2(a).In instances where
CPU 10 accesses data processing devices coupled to bus 12 (e.g. in a read or write mode), many ofthose devices operate at different speeds than that of the microprocessor. For example, in the event CPU 10 is instructed to read data stored in RAM 14, the CPU issues a read command over bus 12. Upon receipt of this command as well as valid address information,
RAM 14 accesses that portion of its memory and applies the valid data to data lines on bus 12. Thetime required for RAM 1 4to access the data and respond to the read command of CPU 10 is generally much slower than the operating speed of the microprocessor.During the time RAM 14 is completing the read operation, CPU 10 would, in prior art systems, be maintained in a wait state for an integer number of clock cycles until valid data is applied to the data lines of bus 12. Forexample, if a read request is issued by
CPU 10 in clock state 0, and valid data is applied just after clock state 7, CPU 10 could not access such valid data until the nextfull clock cycle, since the micro- processor is incapable of waiting fractions of clock periods (see Figure 2(a)).
With reference nowto Figure 2(b), the operation of the present invention is illustrated. In the event CPU 10 is required to communicate with data processing devices coupled to bus 12, a bus cycle indicator signal is applied to bus cycle line 22 and received by
FSM 18. In the present embodiment FSM 18 delays the fourth clock state from the beginning of the bus access cycle of the system, a predetermined fractional increment of the cycle time. In the present em bodiment, FSM 18 "stretches" the fourth clock state within the bus access cycle by 100% as illustrated best in Figure 2(b). The stretching of the fourth clock state delays all internal logical operations of the mic roprocessorfor an additional half of a cycle.Thus, although CPU 10 is unable to function based on fractions of clock periods, the effect ofthe present invention is to delay all internal operations of the microprocessorforan additional stretch period to permit slower devices such as RAM 14, to complete the requested data operation and provide valid data on bus 12 by clock state 7. From the perspective of CPU 10, it receives valid data from the data lines of bus 12 atthe completion of the sixth clock state, and thereby obviates the need for CPU 10 to be maintained in a wait state for integral multiples of the clock cycle. For example, in the operations illustrated in Figure 2(a), absent the present invention, CPU 10 would be unable to read valid data u ntil the com pletion of state 8 (beginning of state 9).However, by using the present invention's delay system, valid data is read by CPU 10 at the completion of clock state six in the bus cycle.
It will be appreciated, that although the present invention is illustrated and described with reference to particular clock states to be "stretched" and with regard to particular data processing devices coupled to bus 12, that the present invention may be utilized in any of a number of ways in order to increase the performance of CPU 10. For example, using the present invention clock states may be stretched by any predefined fractional increment of the given cycle, and that any combination or multiple of clock states may be extended as required by the particular application and system configuration.
Using the present invention, system performance is increased by eliminating wasted overhead in CPU "wait condition" clock cycles. As shown in Figures 2(a) and 2(b), the time savings using the present invention may be measured as the difference in clock cycles to complete a full bus cycle. In the present embodiment, a device communicating with the CPU 10 transmits a DSACKsignal prior to ending the bus cycle. Upon sensing the DSACK signal (which must occur on a negative edge), the CPU 10 expects any valid data to be present on the lines one clock cycle later. As shown in the Figures, the present invention permits the completion of the bus cycle sooner, and therefore maximizes system performance.
Accordingly, apparatus and methodsforincreasing the performance of a central processing unit employed in the data processing system coupled on a bus to a plurality of data processing devices is disclosed. As the speed of processors increase, itwill be appreciated that the advantages of the present invention become more pronounced. While the present invention has been particularly described with refer ence to the embodiment illustrated in Figures 1 and 2, it is contemplated that many modifications and materials, cycletimes, and architectures could be made by one of ordinary skill in the art without dep- arting from the spirit and scope of the invention.
Claims (14)
1. An apparatus for increasing the performance of a central processing unit (CPU) employed in a data processing system coupled to a plurality of data processing devices, comprising:
clocking means for generating a repetitive cyclic digital signal of a predefined frequency;
delay means coupled to said clocking means and said CP for extending predetermined cycles of said cyclic digital signals generated by said clocking means by a predefined fractional increment of said signals, such that the logical operations employed by digital circuitry in said CPU are held in abeyance for the time said signals are extended, said delay means extending said predetermined signals only during operations involving signal transmissions between a data processing device and said CPU;
whereby the performance of said CPU is increased.
2. The apparatus of claim 1, wherein said clocking means generates signals at a rate of 33.3 MHz.
3. The apparatus of claim 1,wherein said CPU comprises a Motorola 68020.
4. The apparatus of claim 1, wherein said frac- tional increment comprises 1/2 of a clock cycle generated by said clocking means.
5. The apparatus of claim 4, wherein at least one of said data processing devices comprises a digital memory.
6. The apparatus of claim 5, wherein said CPU and said data processing device are coupled to a bus, andabuscyclegenerallycomprisingeightclock states.
7. In a data processing system, including a central processing unit (CPU) coupled to a plurality of data processing devices, a method of increasing performance of said CPU, comprising the steps of:
generating a repetitive cyclic digital signal of a predefined frequency;
extending predetermined cycles of said cyclic digital signals by a predefined fractional increment of said signals, such that the logical operations employed by digital circuitry in said CPU are held in abeyance forthe time said signals are extended, said signals being extended only during operations involving signal transmissions between a data processing device and said CPU; providing said cyclicdigital signalsto said CPU; whereby the performance of said CPU is increased.
8. The method of claim 7, wherein said cyclic digital signals are generated at a rate of 16.67 MHz.
9. The method of claim 7,wherein said CPU comprises a Motorola 68020.
10. The method of claim 7, wherein said fractional increment comprises 1/2 of a clock cycle generated by said clocking means.
11. The method of claim 10, wherein at least one of said data processing devices comprises a digital memory.
12. The method of claim 11, wherein said CPU and said data processing devices are coupled to a bus, a bus cycle generally comprising eight clock states.
13. An apparatus for increasing the performance of a central processing unit (CPU) substantially as hereinbefore described with reference to the accompanying drawings.
14. A method of increasing performance of said
CPU substantially as hereinbefore described with reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US78575185A | 1985-10-09 | 1985-10-09 |
Publications (3)
Publication Number | Publication Date |
---|---|
GB8613484D0 GB8613484D0 (en) | 1986-07-09 |
GB2181578A true GB2181578A (en) | 1987-04-23 |
GB2181578B GB2181578B (en) | 1990-04-18 |
Family
ID=25136529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB8613484A Expired - Fee Related GB2181578B (en) | 1985-10-09 | 1986-06-04 | Clock delay for a central processing unit |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPH0650496B2 (en) |
FR (1) | FR2588397A1 (en) |
GB (1) | GB2181578B (en) |
HK (1) | HK90790A (en) |
SG (1) | SG65090G (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0348045A2 (en) * | 1988-05-27 | 1989-12-27 | Seiko Epson Corporation | Method of controlling the operating speed of an information processing unit, and related information processing unit |
EP0424095A2 (en) * | 1989-10-17 | 1991-04-24 | Lsi Logic Corporation | Clocking control circuit for a computer system |
EP0445463A1 (en) * | 1989-11-03 | 1991-09-11 | Compaq Computer Corporation | Bus clock extending memory controller |
GB2213685B (en) * | 1987-12-10 | 1992-01-15 | Secr Defence | Microcomputer circuits |
US9776164B2 (en) | 2013-06-27 | 2017-10-03 | Ihi Corporation | Reactor |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151986A (en) * | 1987-08-27 | 1992-09-29 | Motorola, Inc. | Microcomputer with on-board chip selects and programmable bus stretching |
JP2506909Y2 (en) * | 1987-12-28 | 1996-08-14 | 臼井国際産業 株式会社 | Metal support matrix for exhaust gas purification catalyst |
JP4762506B2 (en) * | 2004-05-26 | 2011-08-31 | 新日鉄マテリアルズ株式会社 | Honeycomb body and manufacturing method thereof |
BR112021002468A2 (en) | 2018-08-10 | 2021-07-27 | Honda Motor Co., Ltd. | catalytic device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4050096A (en) * | 1974-10-30 | 1977-09-20 | Motorola, Inc. | Pulse expanding system for microprocessor systems with slow memory |
GB2162406A (en) * | 1984-06-18 | 1986-01-29 | Logica Uk Ltd | Computer system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5663628A (en) * | 1979-10-25 | 1981-05-30 | Nec Corp | Data processing device |
JPS60112158A (en) * | 1983-11-24 | 1985-06-18 | Hitachi Ltd | Control circuit of peripheral device |
US4658161A (en) * | 1985-08-13 | 1987-04-14 | Hewlett-Packard Company | Split phase loop |
-
1986
- 1986-06-04 GB GB8613484A patent/GB2181578B/en not_active Expired - Fee Related
- 1986-06-30 FR FR8609464A patent/FR2588397A1/en active Pending
- 1986-10-07 JP JP61237269A patent/JPH0650496B2/en not_active Expired - Fee Related
-
1990
- 1990-08-06 SG SG65090A patent/SG65090G/en unknown
- 1990-11-01 HK HK90790A patent/HK90790A/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4050096A (en) * | 1974-10-30 | 1977-09-20 | Motorola, Inc. | Pulse expanding system for microprocessor systems with slow memory |
GB2162406A (en) * | 1984-06-18 | 1986-01-29 | Logica Uk Ltd | Computer system |
Non-Patent Citations (1)
Title |
---|
WO A1 84/04184 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2213685B (en) * | 1987-12-10 | 1992-01-15 | Secr Defence | Microcomputer circuits |
EP0348045A2 (en) * | 1988-05-27 | 1989-12-27 | Seiko Epson Corporation | Method of controlling the operating speed of an information processing unit, and related information processing unit |
EP0348045A3 (en) * | 1988-05-27 | 1990-11-14 | Seiko Epson Corporation | Method of controlling the operating speed of an information processing unit, and related information processing unit |
US5469561A (en) * | 1988-05-27 | 1995-11-21 | Seiko Epson Corporation | Apparatus and method for controlling the running of a data processing apparatus |
EP0424095A2 (en) * | 1989-10-17 | 1991-04-24 | Lsi Logic Corporation | Clocking control circuit for a computer system |
EP0424095A3 (en) * | 1989-10-17 | 1992-03-11 | Lsi Logic Corporation | Clocking control circuit for a computer system |
US5210858A (en) * | 1989-10-17 | 1993-05-11 | Jensen Jan E B | Clock division chip for computer system which interfaces a slower cache memory controller to be used with a faster processor |
EP0445463A1 (en) * | 1989-11-03 | 1991-09-11 | Compaq Computer Corporation | Bus clock extending memory controller |
US9776164B2 (en) | 2013-06-27 | 2017-10-03 | Ihi Corporation | Reactor |
Also Published As
Publication number | Publication date |
---|---|
HK90790A (en) | 1990-11-09 |
GB2181578B (en) | 1990-04-18 |
FR2588397A1 (en) | 1987-04-10 |
SG65090G (en) | 1990-10-26 |
GB8613484D0 (en) | 1986-07-09 |
JPS6290742A (en) | 1987-04-25 |
JPH0650496B2 (en) | 1994-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5649161A (en) | Prepaging during PCI master initiated wait cycles | |
US4257095A (en) | System bus arbitration, circuitry and methodology | |
US4937734A (en) | High speed bus with virtual memory data transfer and rerun cycle capability | |
US5014247A (en) | System for accessing the same memory location by two different devices | |
US5040109A (en) | Efficient protocol for communicating between asychronous devices | |
EP0345325B1 (en) | A memory system | |
AU628407B2 (en) | High speed bus with virtual memory data transfer capability | |
US5699516A (en) | Method and apparatus for implementing a in-order termination bus protocol within a data processing system | |
US5345562A (en) | Data bus arbitration for split transaction computer bus | |
GB2143060A (en) | Data processing system | |
JPH04319753A (en) | Microprocess and output buffer | |
JPS6073774A (en) | Interface circuit | |
JPH04230544A (en) | Data processing apparatus for dynamically setting timing of dynamic memory system | |
EP0380926A2 (en) | Asynchronous microprocessor random access memory arbitration controller | |
US5857082A (en) | Method and apparatus for quickly transferring data from a first bus to a second bus | |
US6085261A (en) | Method and apparatus for burst protocol in a data processing system | |
GB2181578A (en) | Clock delay for microprocessor | |
US4580213A (en) | Microprocessor capable of automatically performing multiple bus cycles | |
EP0153469B1 (en) | Refresh generator system for a dynamic memory | |
US5097483A (en) | Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off | |
US6504854B1 (en) | Multiple frequency communications | |
US5548767A (en) | Method and apparatus for streamlined handshaking between state machines | |
US4620277A (en) | Multimaster CPU system with early memory addressing | |
US6701398B1 (en) | Global bus synchronous transaction acknowledge with nonresponse detection | |
US6665748B1 (en) | Specialized PCMCIA host adapter for use with low cost microprocessors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20040604 |