GB2181578A - Clock delay for microprocessor - Google Patents

Clock delay for microprocessor Download PDF

Info

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
Application number
GB08613484A
Other versions
GB2181578B (en
GB8613484D0 (en
Inventor
Karl Michael Bizjak
Joseph Patrick Murphy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of GB8613484D0 publication Critical patent/GB8613484D0/en
Publication of GB2181578A publication Critical patent/GB2181578A/en
Application granted granted Critical
Publication of GB2181578B publication Critical patent/GB2181578B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock 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.
GB8613484A 1985-10-09 1986-06-04 Clock delay for a central processing unit Expired - Fee Related GB2181578B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
WO A1 84/04184 *

Cited By (9)

* Cited by examiner, † Cited by third party
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