throbber
Ulllted States Patent
`
`[19]
`
`Bowes et at.
`
`||||I|llllllllIll||||||||||||||||||||||l||lllll|||lll|||||||||l||ll|l||llll
`U8005546547A
`
`[11] Patent Number:
`
`[45] Date of Patent:
`
`5,546,547
`
`Aug. 13, 1996
`
`[54]
`
`MEMORY BUS ARBITER FOR A
`COMPUTER SYSTEM 1.11;va A nsp
`
`5,313,591
`5353,41?
`
`5:15:94 Averill
`10t1994 Fuoco et a].
`
`
`
`3951325
`3951325
`
`[75]
`
`[73]
`
`{21]
`
`[22]
`
`[51]
`[52}
`[53]
`
`[56]
`
`CO'PROCESSOR
`_
`‘
`_
`_
`_
`mamm- MICWI J- 30m, Cupmmév Fwd 19-
`Yazdy, Belmont, both of Caltf.
`
`Primary Examiner—Jack B. Harvey
`Assistant Examiner—David A. Wiley
`Atromey, Agent, or Fim—Biakely, Sokolofi", Taylor a. Zar-
`man
`
`Assignec: Apple Computer, Inc., Cupcrtino,
`Calif.
`
`’ 1994
`
`AWL N05 “39’1”
`F‘lcd:
`_
`1
`Jan 28
`G961? 13:00
`Int. Cl.6
`............................................. 3951'294; 395t293
`US. Cl.
`Field of Search ...................................... 395825, 425
`
`References Cited
`
`4,641,238
`4,923,234
`4.937.529
`5,263,163
`5,301,232
`
`U'S' PATENT DOCUMENTS
`2:193? Kncib ...................................... 395525
`
`.. 393425
`511990 Kitamura ct a1.
`.. 395825
`111991 Craft ct al.
`
`.. 395825
`1111993 Holt et a].
`
`4:15:94 Aminl cl a1. ............................ 3951325
`
`ABSTRACT
`[57]
`An arbitration scheme for a computer system in which a
`digital signal processor resides on the computer system's
`memory bus without requiring a block of dedicated static
`random access memory. An arbitration cycle is divided into
`10 slices of which 5 slices are provided in each arbitration
`loop to the digital signal processor. Two slices are provided
`each to the system’s U0 interface and to the peripheral bus
`controller A final slice is provided to the system’s CPU- A
`default state when no memoryr bus resource is requesting the
`system memory bus parks the memory bus on the CPU. The
`arbitration scheme provides sufficient bandwidth for real-
`time signal processing by the digital signal processor oper-
`ating from the System‘5 dynamic random access memory
`while also providing Sufficient bandwidth for a local area
`network interface through the system’s L’O interface.
`
`3 Claims, 5 Drawing Sheets
`
`129
`
`LAN
`
`ET423
`
`E‘s—c
`LLIC)P
`ETH
`
`SERIAL PORT
`SCSI PORT
`
`a:
`.2i...
`Cl
`
`2D Et
`
`oI
`
`422
`
`x.
`
`125
`
`14
`W
`MAIN MEMORY
`
`10
`
`200
`
`12
`
`SUBSYSTEM
`um (DRAM)
`
`MEMORY BUS
`
`~110
`
` m
`
`CONTROLLER_—
`
`3D~
`
`NUBUS
`corneouen
`
`~40
`
`420
`
`co
`2')
`on
`
`Q
`
`NUBUS
`
`430
`
`12L-
`
`131~
`
`COMMUNICATIONS ~132
`
`Page 1 of 25
`Page 1 of 25
`
`HTC-LG-SAMSUNG EXHIBIT 1003
`HTC-LG-SAMSUNG EXHIBIT 1003
`
`

`

`U.S. Patent
`
`Aug. 13,1996
`
`Sheet 1 of 5
`
`5,546,547
`
`14
`
`
`
`MAIN MEMORY
`SUBSYSTEM
`
`(DRAM)
`
`
`MASS
`STORAGE
`
`
`
`
`
`Figure 1
`
`(Prior Art )
`
`Page 2 of 25
`Page 2 of 25
`
`

`

`US. Patent
`
`Aug. 13, 1996
`
`Sheet 2 of 5
`
`5,546,547
`
`14
`
`10
`
`200
`
`12
`
`MNNMEMOHY
`SUBS
`
`m IDIEIII
`
`a
`‘—
`
`Z
`S
`
`a
`7
`‘—
`LL!
`2..
`- 55g-In.
`
`3E ID
`EEO
`N
`$3-
`F
`
`30$ PORT
`
`121~
`
`a
`7
`.x
`.9
`£3
`E(U
`
`m
`.2I—
`C]
`
`I
`
`I
`
`MEMORY BUS
`
`~110
`
`I
`
`
`NUBUS
`CONTROLLER
`
`40
`
`a
`T
`
`‘3
`ED
`O
`2
`
`NUBUS
`
`~130
`
`131~ VIDEO
`
`COMMUNICATIONS 432
`
`Figure 2
`
`Page 3 of 25
`Page 3 of 25
`
`

`

`US. Patent
`
`Aug. 13, 1996
`
`Sheet 3 of 5
`
`5,546,547
`
`m.Exam
`
`wam?
`
`
`me?aa?a52
`
`9.2:w32:
`
`Page 4 of 25
`Page 4 of 25
`
`

`

`US. Patent
`
`Aug. 13, 1996
`
`Sheet 4 of 5
`
`5,546,547
`
` INTERFACE UNIT
`
`DSP
`STATE
`MACHINE
`
`INTE FIFACE UNIT
`
`NON-USP
`STATE
`
`NON-USP
`MACHINES
`
`BUS INTERFACE
`UNIT
`
`
`
`
`
`
`
`
`
`DSF
`241~
`
` CPU LOCK
`WATCHDOG
`TIMER
`
`
`BUS ARBITRATION UNIT
`LOGIC
`
`Figure 4
`
`Page 5 of 25
`Page 5 of 25
`
`

`

`US. Patent
`
`Aug. 13, 1996
`
`Sheet 5 of 5
`
`5,546,547
`
`m.333%
`
`mamwI._.ngoDuo
`
`:10ME.>mzm>ED
`
`mmEmmqmxb>mzuZmD
`
`
`
`:ngomamm=.Fm.”awn.zmIB
`
`
`
`22mg.mammI._.mzfisoawn
`mmEmmEm3...>m2m>EDmamm5,ngoawn
`
`mamwI._.ngomo—
`
`mo.>mzmamo
`
`
`
`mamm=.:.ngomwfiOmHzoomama:
`
`mDmm1...wzgo2.5
`
`
`
`:mjoEzOomama:ME.>mZuzmoDuoMT;>mzm>_mn_
`
`m2_._.
`
`
`
`DuoFqumamoFImezz_.mmo:mo
`
`Page 6 of 25
`Page 6 of 25
`
`
`
`
`
`
`

`

`1
`MEMORY BUS ARBITER FOR A
`COMPUTER SYSTEM HAVING A DSP
`CO-PROCESSOR
`
`BACKGROUND OF THE INVENTION
`
`1. Related Applications
`This application is related to U.S. patent application Ser.
`No. 08l189.139, entitled “Dual Bus Concurrent Mufti-Chan-
`nei Direct Memory Access Controller and Method", Scr. No.
`08i139.132, entitled “Multiple Register Set Direct Memory
`Access Channel Architecture”. and Scr. No. 081181131,
`entitled “Direct Memory Access Channel Architecture and
`Method for Reception of Network Infonnotion", each of
`which is assigned to the assignee of the present invention
`and filed concurrently herewith.
`2. Field of the Invention
`
`The present invention relates to digital computer system
`architecture. More particularly, the present invention relates
`to a computer architecture in which multiple processing
`units Shaft: a common memory bus and support real-time
`applications.
`3. Description of Related Art
`Until recently. telecommunications and computing were
`considered to be entirely separate disciplines. 'Iblecommu-
`nications was analog and done in real-time whereas com-
`puting was digital and performed at a rate determined by the
`processing speed of a computer. Today, such technologies as
`speech processing, sound processing, electronic facsimile
`and image processing have blurred these lines. In the coming
`years. computing and telecommunications will become
`almost indistinguishable in a race to support a broad range
`of new multimedia (i.e.. voice, video and traditional data)
`applications. These applications are made possible by
`emerging digital~processing technologies, which include:
`comprched audio (both high fidelity audio and speed}, high
`resolution still images, video. and high speed signal trans-
`missiou such as by means of modem or faCsimile exchange.
`The emerging technologies will allow for collaboration at a
`distance such as by video conferencing.
`Each of these aspects of real—time information processing
`may require dedicated processors designed for their imple—
`mentation. However, it is becoming more and more common
`to use programmable digital signal processors (DSP) avail-
`able on the market today. such as the AT&T® DSP3210.
`DSPs are autonomous processors having their own real—time
`operating systems. As such, they are ideally suited to real—
`time audio and image signal processing.
`In handling real—time information such as speech recog-
`nition and modem functionality. a DSP requires a large
`amount of bandwidth to memory for processing the sheer
`volume of data required to efiectuaw real-time computing.
`FIG. 1 illustrates a typical computer architecture in which a
`CPU 10 is coupled to a memory bus 100. The memory bus
`100 may also be referred to as the system bus or CPU bus.
`In any event, it is this bus which couples the system‘s CPU
`10 to the U0 interface 15 and the various components of the
`memory subsystem. In FIG. 1, the CPU is in communication
`with a ROM 12 and the main memory subsystem 14 through
`the memory bus 100. The main memory subsystem 14
`usually comprises a memory controller and a large array of
`dynamic random access memory [DRAM] for supporting
`operating applications and data for access by the CPU over
`the memory bus 100. The main memory subsystem is
`distinguished from mass storage 16 which may comprise
`hard magnetic disk drives or a CD-ROM which provide for
`
`Page 7 of 25
`Page 7 of 25
`
`5 546,547
`
`2
`
`relatively slow access, high volume storage of information.
`Access times to mass storage are slower in part because of
`the need to process requests through the U0 interface and the
`inherently slower nature of mass storage devices. The
`memory subsystem’s DRAM, on the other hand, is semi-
`conductor memory which providcs for fairly quick storage
`and retrieval for operating applications and which may be
`fed from the slower mass storage 16 through the HO
`interface 15 over the memory bus 100 to meet the require—
`ments of the CPU 10.
`
`In many computer systems, the U0 interface 15 is also a
`direct memory access (DMA) controller which manages the
`transfer of data between U0 devices and the main memory
`subsystem without requiring the CPU to perform that task.
`The U0 interface 15 may also be used for coupling the
`computer system to other computer systems over a network
`such as an Ethernet local area network.
`
`Also shown coupled to the memory bus 100 in FIG. 1 is
`a digital signal processor (DSP) 20. The logic or controller
`needed to couple the DSP to the memory bus is not shown.
`The DSP 20 may be an olf-the-shelf DSP such as the
`AT&T® DSP3210. Most DSPs include an on-board cache of
`static random access memory (SRAM) which in the case of
`the AT&T DSP3210 is an 8—Kbyte SRAM cache. In prior art
`computer systems, because of the high bandwidth required
`for real-time processing by a DSP, it has not been possible
`for the DSP to ma oil” of the computer system’s DRAM in
`the way the CPU 10 utilizes it without. adversely afiecting
`the rest of the computer system. Thus.
`there has been
`provided a large block of SRAM 24 for use by the DSP 20.
`This has allowed the memory bus to be relatively free of
`DSP requests yielding the freedom to process CPU requests
`and requests from L'O devices or networks through the HO
`interface without having to contend for the bandwidth
`required by the DSP 20.
`A significant disadvantage to the prior art computer
`architecture of FIG. 1 is the requirean of a substantial
`block of static random access memory 24. SRAMs are
`significantly more expensive than DRAM which greatly
`increases the cost of computer systems which incorporate
`SRAM. One object of the emerging multimedia technolo—
`gies is to bring these technologies to the mass market in
`configurations as inexpensive as possible. It is therefore one
`object of the present
`invention to provide a computer
`architecture which incorporates DSP technology for real—
`time data processing without requiring the inclusion of
`expensive SRAM to support the DSP.
`
`SUMMARY OF THE INVENTION
`
`From the foregoing. it can be appreciated that a computer
`architecture which provides for a digital signal processor to
`operate as a co—processor with a CPU over a common
`memory bus without requiring expensive static random
`access memory would be greatly advantageous. Accord-
`ingly, it is an object of the present invention to provide a
`mechanism and method for arbitrating the memory bus
`bandwidth to eificiently allow the use of a digital signal
`processor and a CPU over a common memory bus sharing
`the system’s dynamic random access memory subsystem
`without requiring an expensive block static random access
`memory. It is Further an object of the present invention to
`provide an arbitration scheme in which, in addition to the
`CPU and digital signal processor, a DMA controller and a
`peripheral card expansion bus controller might also access
`the memory bus with all bus masters receiving sufficient
`
`5
`
`10
`
`15
`
`20
`
`25
`
`'30
`
`35
`
`45
`
`50
`
`55
`
`6t]
`
`65
`
`

`

`5,546,547
`
`3
`bandwidth over the memory bus to provide for real-time
`isoehronous data processing.
`These and other objects of the present invention are
`provided by a computer architecture in which a CPU and
`digital signal processor (DSP) as well as other memory bus
`masters are provided on a common memory bus with the
`system’s dynamic random access memory subsystem. An
`application specific integrated circuit (ASIC) for arbitrating
`between bus masters is provided which implements an
`arbitration scheme for sharing the bandwidth of the system‘s
`memory bus to provide the DSP with suificicnt moms to the
`DRAM to carry out real-time, isoehronous data processing
`while still allowing the system’s UO controller to satisfy
`Ethernet communication requirements over the memory bus.
`The arbitration scheme of the present invention is an adap—
`tive arbitration scheme that varies access to the memory bus
`as a function of time and depends upon what operations the
`various bus masters are requesting. The next state of the bus
`arbiter depends on the present state,
`in addition to the
`amount of bus traffic and history of prior requests.
`The arbitration scheme is tuned to maximize accessibility
`of the memory bus to the DSP which has by far the greatest
`bandwidth requirements A cycle in the arbitration scheme is
`divided into 10 time slices of which 5 slices are available for
`the DSP to assert the memory bus. However,
`the total
`amount of time in a given cycle that the DSP is allotted the
`memory bus is limited by a watchdog timer in the arbitration
`module so as not to choke off the other potential bus masters.
`During the arbitration cycle. each of the potential bus
`masters may signal a bus request over the memory bus and
`a priority scheme defined by a state diagram determines
`which bus master will next have access to the memory bus.
`In the preferred embodiment of the present invention,
`to
`save a pin on the CPU, the CPU does not utilize the means
`for requesting the memory bus. Instead, the default state for
`the arbiter is to assign the memory bus to the CPU when no
`other bus master is requesting it. Further, at the end of each
`arbitration cycle. the last frame is reserved for the CPU
`which may then carry out any desired operation.
`Finally, the present invention is implemented in such a
`way that the clock rate of the DSP need not be synchronized
`with the rest of the modules in the computer system. in this
`way. enhancements in DSP technology will allow faster
`digital signal processors to be incorporated in computer
`systems without requiring total redesign of the architecture.
`The arbiter ASIC effectively has a separate set of state
`machines devoted to the time domain of the digital signal
`processor which operate in conjunction with the state
`machines of the modules operating in the time domain of the
`rest of the computer system. A brief amount of time is
`required for resynchronizing to the difierent time domains
`0n the memory bus which is justified by the increased
`flexibility in the design of the computer architecture.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The objects, features and advantages of the present invenn
`tion Will be apparent from the following detailed description
`in which:
`
`1 illustrates a prior art computer architecture in
`FIG.
`which a digital signal processor requires an expensive static
`random access memory block.
`FIG. 2 illustrates a block diagram of a computer archi-
`tecture incorporating the present
`invention arbitration
`scheme.
`
`10
`
`15
`
`'25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`4
`FIG. 3 illustrates a state diagram of the arbitration scheme
`for assigning bandwidth slots to the various components of
`the preferred embodiment computer architecture.
`FIG. 4 illustrates a more detailed logical representation of
`the arbiter for implementing the arbitration scheme of the
`present invention.
`FIG. 5 illustrates a tinting diagram showing a simple state
`transition sequence in accordance with a preferred embodiv
`ment implementation of the present invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`A method and apparatus are described for the arbitration
`of a number of bus masters over a memory bus in a computer
`system architecture supporting a digital signal processor.
`Throughout this detailed description numerous details are
`specified such as DO devices and network standards, in order
`to provide a thorough understanding of the present inven-
`tion. To one skilled in the art, however. it will be understood
`that the present invention may be practiced without such
`specific details. In other instances well—known control struc-
`tures and gate level circuits have not been shown in detail in
`order not to obscure unnecessarily the present invention.
`Particularly.
`the arbitration module for implementing the
`arbitration scheme of the present invention. in the preferred
`embodiment, is implemented in an application specific inte-
`grated circuit (ASIC). With today‘s manufacturing technol-
`ogy, the development of ASle generally does not require
`the rendering of fully detailed circuit diagrams. The defini-
`tion of logic functionality and state diagrams allow com-
`puter aided design techniques to design the desired inte-
`grated circuit. Accordingly, the present invention will be
`described primarily in terms of functionality to be imple-
`mented by an ASIC. The software used for developing the
`ASIC chip from the logic defined for the preferred embodi-
`ment will be attached as an appendix. Those of ordinary skill
`in the art, once given the foilowing descriptions of the
`various functions to be carried out by the present invention
`will be able to implement the necessary logic in an ASIC or
`other technology without undue experimentation.
`A portion of the disclosure of this patent document
`contains material which is subject to copyright protection.
`The copyright owner has no objection to the facsimile
`reproduction by anyone of the patent disclosure, as it
`appears in the Patent and Trademark Office patent files or
`records, but otherwise reserves all copyrights whatsoever.
`The present invention concerns a computer architecture in
`which a digital signal processor (DSP) operates as a true
`co-processor in the computer system. That is, an arbitration
`technique and mechanism are implemented which allows a
`DSP to reside on the system’ 5 CPU or memory has and share
`the memory bus resources with the other potential bus
`masters on the memory bus. The scheme is implemented
`such that the DSP is provided with sufficient bandwidth to
`perform real—time digital signal processing using the sys-
`tem’s dynamic random access memory (DRAM) and not
`requiring the incorporation of an expensive block of static
`random access memory (SRAM). DRAM is far less expen-
`sive than 'SRAM and the elimination of a block of SRAM
`greatly reduces the cost of computer systems. The DSP is
`provided with sufficient bandwidth on the memory bus to
`perform real-time isoehronous signal processing, yet at the
`same time the arbitration scheme of the present invention
`prevents the other bus masters from being starved from the
`bandwidth they require in carrying out their operations.
`
`Page 8 of 25
`Page 8 of 25
`
`

`

`5
`
`6
`
`5,546,547
`
`While the present invention arbitration scheme will be
`described in term of a particular implementation of a com—
`puter system, it should be understood that the broad concept
`of providing for a DSP on a memory bus and sharing the
`system’s DRAM may be extended to other more compli-
`cated systems, or generalized to simpler systems.
`
`Overview of the Present Invention Computer
`System
`
`Referring now to FIG. 2, a preferred embodiment com—
`puter architecture implementing the present invention is
`shown. The constituents of the computer architecture are
`shown coupled to a CPU or memory bus 110. The memory
`bus 110 provides the signal paths for the exchanging of data
`between the various elements on the memory bus. Further
`provided by the memory bus are control lines for such things
`as bus requests and bus granting signals and other system
`level control signals. The signals required for implementing
`the present invention will be described further herein. As
`with the prior art computer systems, the architecture illus-
`trated in FIG. 2 has the CPU 10,
`the ROM 12 and the
`system's main memory subsystem 14 coupled to the
`memory bus 110. It should be understood that in the illus-
`tration the main memory subsystem 14 coupled to the
`memory bus refers to the system’s DRAM and the controller
`required for writing to and reading from the DRAM based
`on a requested transaction. The CPU 1|] may be considered
`a potential bus master as contrasted with the memory
`components 12 and 14 which are considered bus slaves. The
`ROM 12 and main memory subsystem 14 will not. drive the
`memory bus for transactions on their own behalf.
`The preferred embodiment computer architecture of FIG.
`2 has a number of other potential bus masters coupled to it.
`The U0 interface 30 is used for coupling the memory has to
`the U0 bus 120 for providing the computer system with a
`number of HO capabilities. The U0 interface 30 of the
`present invention is also a DMA controller which controls
`the transactions between the main memory system 14 and
`U0 devices without requiring the resources of the CPU 10
`for these transactions. The DMA controller of the preferred
`embodiment
`implementation is described in eo-pending
`US. patent applications: Ser. No. 08l189,l39, entitled “Dual
`Bus Concurrent Main-Channel Direct Memory Access Con~
`tmllerund Method". Ser. No. 08!] 89.132, entitled “Multiple
`Register Set Direct Memory Access Channel Architecture”,
`and Ser. No. 03l189,l3l, entitled “Direct Memory Access
`Channel Architecture and Methodfor Reception ofErhemer
`Packets“, assigned to the assignee of the present invention
`and filed concurrently herewith.
`The U0 bus 120 of the preferred embodiment implemen-
`tation as illustrated in FIG. 2 provides the avenue for a
`number of different U0 devices to be incorporated in the
`computer system. For example, the SCSI port 121 is coupled
`through the HO bus 120. SCSI stands for small computer
`system interface which is one of the computer industry’s
`standards for coupling U0 devices such as the hard disk
`drive 122 or floppy drives or other storage media and other
`U0 devices to today‘s microcomputer systems. The com—
`puter system‘s serial port 125 is also coupled to the U0 bus
`120. The serial port can be used for attaching a modem or
`printer or other serial devices. Finally, the U0 bus 120 is
`used to couple the computer system to a local area network
`through the Ethernet port 128. The Ethernet port 128 is used
`for attaching the computer system of the present invention to
`a local area network such as Ethernet or other LAN 129.
`This allows the computer system to communicate with other
`
`10
`
`15
`
`25
`
`30
`
`35
`
`4o
`
`45
`
`50
`
`SS
`
`65
`
`computer systems and share common resources such as
`community printers, etc. As will be described further herein,
`the provision of an Ethernet connection to the present
`invention computer system introduces constraints for the
`bandwidth sharing of the memory bus.
`Another potential bus master coupled to the system bus
`110 of the preferred embodiment computer system is a
`peripheral card expansion has controller. The peripheral
`card expansion bus controller illustrated in the figure is the
`NuBus controller 49. While the present illustration uses a
`NuBus controller, other peripheral card expansion bus pro-
`tocols are generally known. The NuBus controller 40 is used
`to provide communication between the various memory bus
`masters and the system’s expansion bus 130, called NuBus.
`The NuBus provides a fast backplanc for coupling such
`things as video controllers 131, RAM expansion cards, mass
`storage device controller cards, or other communications
`devices 132. Again,
`the preferred embodiment computer
`system is constrained by some of the NuBus requirements in
`the bandwidth sharing of the memory bus 110.
`Also, in FIG. 2 there is illustrated another potential bus
`master, the digital signal processor (DSP) 20. Unlike prior
`art computer systems, the present invention provides for the
`D5? 20 to reside en the system‘s memory bus and operate
`from the computer system’s main memory subsystem 14. In
`implementing the present invention this greatly reduces
`system cost by eliminating the need for an expensive block
`of SRAM. In the preferred embodiment implementation, the
`DSP 20 is an AT&T DSP3210 which provides an internal BK
`SRAM cache. This is an oif-the-shelf DSP which is highly
`programmable and has a fairly well defined operating sys-
`tem. The DSP can be programmed to carry out such funcfi
`tions as speech processing, audio channel control, modern
`emulation, image processing and the like. Many of these
`functions are real-time operations and require a tremendous
`amount of the memory bus bandwidth between the DSP and
`the DRAM of the main memory subsystem 14. For reasons
`that will be described further herein,
`the DSP 20 is not
`constrained to operating at the same clock speed as the rest
`of the components of the computer system. This will require
`some
`resynchronizing for various
`operations
`to be
`described, but provides for flexibility as newer technology
`and faster DSPs are developed.
`Finally, in FIG. 2 there is coupled to the memory bus 110
`the memory controller and arbiter
`(MCA) 200.
`In the
`preferred embodiment implementation, the arbiter 200 is an
`applications specific integrated circuit (ASIC) for arbitrating
`the memory bus 110 between the various bus masters subject
`to the constraints each imposes to provide optimal band—
`width for each, particularly the DSP which is responsible for
`a significant amount of real—time signal processing. In an
`alternative embodiment, the arbiter logic could be designed
`in some oLhcr form of logic.
`
`Arbitration Constraints
`
`Because the primary motivation of the present invention
`is to incorporate a digital signal processor as a co-processor
`on a computer system‘s memory bus while providing it
`suflicient bandwidth to utilize the system‘s DRAM rather
`than an expensive block of SRAM, it is necessary to talk
`about the various modes of operation of the DSP, particu-
`larly for carrying out real-time processing. As was indicated.
`the DSP 20 is programmable and has an 8-Kbyte internal
`SRAM cache. Ideally, software written for the DSP should
`be segmented in such a way that blocks may be loaded into
`
`-
`
`Page 9 of 25
`Page 9 of 25
`
`

`

`5,546,547
`
`’7
`the cache of the DSP allowing the DSP to min as much of the
`time as possible from its internal cache. Thus, one mode in
`which the DSP will utilize the memory bus 110 is to read a
`large block memory from the DRAM 14 into its internal
`SRAM. This first mode of operation on the memory bus can
`be referred to as a “block read". Another mode of operation
`concerns the handling of data that has already been pro
`cessed by the DSP. In many cases it will be necessary to push
`that data back out to the DRAM so that some other parts of
`the computer system can utilize it. Thus. the capability of
`bursting data out is a second mode of operation which may
`be referred to further herein as a “block write".
`
`Because of the nature of some software, it is not always
`guaranteed that the code is going to be divisible into discrete
`blocks for block read operations. There may be times when
`it is necessary to repeatedly access the DRAM, effectively
`supporting a scheme where the DSP executes code directly
`from the DRAM. As contrasted with a block read, this might
`be considered a situation of “back-to-back single reads“
`from the DRAM. The occurrence of these back-to—back
`operations is recognizable and will be considered by the
`arbiter scheduling algorithm to be described further herein.
`Finally, during the course of normal operation there may be
`situations in which the DSP requires only a single piece of
`data from the DRAM. These types of read operation are
`referred to as “scatterednsingle reads". Because the DSP will
`be processing many real—time operations as well as others,
`each of these modes of operation where the DSP must have
`access to the memory bus must be taken into consideration
`by the arbitration scheme of the present invention.
`In addition to the DSP’s huge requirement for bandwidth
`on the memory bus, the arbiter 200 must also contend with
`constraints imposed by other resources on the memory bus.
`Particularly, the HO interface 30 provides the interconnec-
`tion of the computer system to an Ethernet
`local area
`network. This Ethernet connection should never be choked
`oil" because losing an Ethernet packet results in a tremendous
`penalty in time for recovery. Thus, the HO interface 30 must
`be guaranteed at least a predetermined amount of time for
`every arbitration cycle to support
`the system‘s Ethernet
`connection. The floppy disk drive, serial ports and audio
`inputr‘output DMA, in a similar fashion, also require some
`guaranteed memory bus bandwidth. Likewise, with all other
`constraints taken into account, the system’s SCSI perfor—
`mance should not be allowed to degrade below an accept—
`able level.
`
`Similar to the HO interface constraints, there are con-
`straints imposed by the computer system being coupled to an
`expansion bus through the NuBus controller 40. Like the U0
`interface, there are certain latencies that NuBus introduces
`which must be provided for thus requiring a guaranteed
`amount of memory bus availability each arbitration cycle for
`the NuBus controller. Finally, though the CPU does very
`little in the way of real-time operation in a system having a
`DSP. it still must have some access every arbitration cycle
`to the main memory subsystem 14.
`
`10
`
`[5
`
`20
`
`25
`
`35
`
`45
`
`50
`
`55
`
`Arbitration Algorithm
`
`in a
`it can be appreciated that
`From the foregoing,
`computer system in which a DSP resides on the memory bus
`and satisfying all the potential memory bus master’s band—
`width requirements will have to be finely tuned. During the
`operation of the computer system of the present invention,
`the four potential bus masters, the CPU, the DSP, the U0
`interface and the NuBus controller may each at various
`
`8
`the
`times require the memory bus. When this occurs,
`resource propagates a bus request signal over the memory
`bus 110 to the arbiter 200. A figure referred to further herein
`will indicate more clearly what signals are required for the
`various bus requests. When the memory bus is available for
`assignment, the arbiter 200 will issue a bus grant signal to
`one of the resources according to a priority scheme which
`takes into consideration all of the constraints described
`above as well as various previous states of the system and
`the present state of the system.
`Referring now to FIG. 3, a state diagram is illustrated
`which is used to derive the logic of the arbiter ASIC 200.
`This state diagram is the preferred embodiment arbitration
`scheme for the implemented computer system described
`with respect to FIG. 2 which has, in addition to a CPU and
`a DSP on the memory bus, an U0 interface for coupling the
`system to a local area network and other U0 devices as well
`as a NuBus interface with each imposing considerable
`constraints. The state diagram illustrated in FIG. 3 is instru-
`mental in developing the VERILOG code or equivalent in
`the production of the arbiter ASIC 200. The code for the
`preferred embodiment arbitration scheme is set forth in
`Appendix A.
`The bus arbiter 200 follows the priority scheme illustrated
`by the state diagram of FIG. 3. The arbiter receives the bus
`request signals from the potential bus masters, and based on
`the present state and a specified priority order asserts an
`appropriate bus grant signal. In the preferred embodiment
`implementation. to save a pin on the CPU, the CPU 10 does
`not issue bus request signals.
`Instead,
`the state of the
`memory bus assignment defaults to the CPU and remains
`parked on the CPU until other resources request the memory
`bus. The CPU is also provided with one time slot in the
`priority scheme to be described in which it is granted the
`memory bus.
`'
`Each circle in the arbiter state diagram of FIG. 3 repre-
`sents a present state memory bus assignment and the arrows
`represent the state transition from a current bus master to the
`next bus master when the specified conditions are met.
`Because the DSP has the largest bus bandwidth requirement,
`the system is optimized to meet its need and support its
`real-time operations. In order to optimize this requirement
`and still give a reasonable bandwidth to the other bus
`masters, the DSP is assigned 5 time slots among a total of 10
`in the arbitration loop. The arbitration loop starts at DSP_1
`state 301 and ends at the CPU state 310. The CPU state 310
`is the point of reference which also designates the comple-
`tion of the entire arbitration loop. The NuBus controller 40
`and the U0 interface 30 each own 2 time slots in the
`arbitration loop while the CPU 10 owns only ] slot. The
`sequence through the arbitration loop is the following:
`DSP_,1ANuB_1—>DSP_2—>IOB_l—>DSP_3—-+ NuB_
`Z—tDSPH4—>IOB,__2—>DSP_5—>CPU. This will be the
`order of memory bus ownership if all bus masters are
`requesting the bus in every state, thorrgh wilh some restric-
`tions to be described further herein.
`
`The state diagram of FIG. 3 illustrates that from a state
`after reset at the CPU memory bus state a transition to the
`DSP_1 state 301 is made if the DSP is requesting the
`memory bus and a special flag has not been asserted. The
`special flag concerns a degenerate state with respect to the
`NuBus controller which will be described further herein.
`From the DSP___1 state 301 the arbiter will next assign the
`state of the memory bus to the NuBus controller state 302 if
`the NuBus controller is requesting the memory bus. If the
`NuBus controller is not requesting the memory bus when the
`system is in DSP_I state, but the DSP continues to request
`
`Page 10 of 25
`Page 10 of 25
`
`

`

`5,546,547
`
`9
`it, the memory bus will remain assigned to the DSP and
`transfer to the DSP_2 state 303. Similarly, if neither the
`NuBus controller nor the DSP is requesting the memory has
`while the system is in DSP state 301, and the U0

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket