throbber
United States Patent [191
`Bowes et al.
`
`lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
`US005546547 A
`5,546,547
`1111 Patent Number:
`(45) Date of Patent:
`Aug. 13, 1996
`
`(54] MEMORY BUS ARBITER FOR A
`COMPUTER SYSTEM HAVING A DSP
`CO-PROCESSOR
`
`[7.5]
`
`IuvcnlCIIS: Michacl J. Dowc~, Cupc1tino; F;uid A.
`Yazdy, Belmont, both of Calif.
`
`[73] Assignee: Apple Computer, Inc., Cupertino,
`Calif.
`
`(21] Appl. No.: 189,138
`Jan. 28, 1994
`
`[22] Filed:
`lot. a.6
`........................... ...... ..................... G06F 13/00
`[5 1]
`[52] U.S. Cl .............................................. 395/294; 395/293
`[58] Field of Search ...................................... 3951325, 425
`
`(56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,641,238
`4,928.234
`4,987.529
`5,263,163
`5,301,282
`
`211987 Kneib ...................................... 395/325
`5/1990 Kitamura et al ........................ 395/425
`111991 Craft et al . .............................. 3951325
`1111993 Holt et al. ............................... 3951325
`4/1994 Amini ct al . ............................ 395/325
`
`5/1994 Averill .................................... 3951325
`5,313,591
`5,353,417 1011994 Fuoco et al . ............................ 395/325
`Primary Examiner- Jack B. Harvey
`Assistalll Examiner-David A. WJ.Iey
`Attorney, Agent, or Firm- Blakely, Sokolotf, Taylor & zat.
`man
`[57]
`
`ABSTRACT
`
`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
`I 0 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 1/0 interface and to the peripheral bus
`controller. A final slice is provided to the system's CPU. A
`default state when no memory bus resource is requesting the
`system memory bus parks the memory bus on the CPU. The
`arbitration scheme provides sufficienl bandwidth for real(cid:173)
`time signal processing by the digital signal processor oper(cid:173)
`ating from the system's dynamic random access memory
`while also providing sufficient bandwidth for a local area
`network interface through the system's l/0 interface.
`
`8 Claims, 5 Drawing Sheets
`
`10
`
`200
`
`12
`
`14
`r'
`MAIN MEMORY
`SUBSYSTEM
`(DRAM)
`
`~ 110
`
`00
`N .-
`I
`
`NUBUS
`CONTROLLER -40
`
`Page 1 of 25
`
`ZTE EXHIBIT 1003
`
`

`
`U.S. Patent
`
`Aug. 13, 1996
`
`Sheet 1 of 5
`
`5,546,547
`
`10
`
`12
`
`CPU
`
`ROM
`
`14
`
`15
`
`16
`
`MAIN MEMORY
`SUBSYSTEM
`(DRAM)
`
`1/0
`INTERFACE
`
`MASS
`STORAGE
`
`MEMORY BUS
`
`20-
`
`DSP
`
`Rgure 1 (Prior Art)
`
`Page 2 of 25
`
`

`
`U.S. Patent
`
`Aug. 13, 1996
`
`Sheet 2 of 5
`
`5,546,547
`
`10
`
`200
`
`12
`
`14
`
`r
`MAIN MEMORY
`SUBSYSTEM
`(DRAM)
`
`-110
`
`co
`C'J
`,.-
`1
`
`z:
`:5
`
`Figure2
`
`Page 3 of 25
`
`

`
`"'0
`0)
`<0
`CD
`~
`
`0 -1\.)
`
`01
`
`301
`
`320-
`
`RESET
`-
`
`309- I -~:;
`
`I
`
`I
`
`\ -dsp & "~-- ~ "'-'-~~"'
`
`I " \
`
`/'\
`
`?
`
`J-303
`
`iab
`
`308- I ·-; l·
`
`~ \
`
`I
`
`} ................ _.,..-
`
`I
`
`'·--
`
`J ~
`I
`
`'
`
`~y t..
`, ;
`
`" · ijl
`
`"i
`
`1
`
`)-304
`
`Figure 3
`
`d •
`00
`•
`~
`~
`~
`
`~ = ~
`
`> = ~
`
`!-"
`.. w
`
`~
`\C
`\C
`0\
`
`fJ). ::r
`~ .....
`w
`0 .....
`tA
`
`01
`....
`01
`~
`...
`0\
`til
`~
`-...l
`
`

`
`U.S. Patent
`
`Aug. 13, 1996
`
`Sheet 4 of S
`
`5,546,547
`
`DSF CLCK
`
`_....
`
`DSP
`STATE
`MACHINE
`
`-210
`
`BCLK
`
`r
`
`r--+
`
`NON-DSP
`STATE
`MACHINES
`
`-230
`
`MCA
`
`;::uu
`
`212-
`
`DSP BUS
`INTERfACE UNIT
`
`L
`........
`
`DRAM
`..
`220- INTERFACE UNIT
`
`./
`·"'-
`
`.. BUS INTERFACE
`235-
`..
`
`NON-DSP
`
`UNIT
`
`./
`
`........
`
`'
`
`/
`
`>
`
`'
`
`/
`
`>
`
`'
`
`/
`
`>
`
`... BB-
`.....
`DSP REO
`NUE REO
`lOB REO
`
`....
`
`LOGIC
`
`- BUS ARBITRATION UNIT
`..
`..
`...
`..
`
`DSP
`241- WATCHDOG
`TIMER
`
`CPUBGN, DSPBGN, NUBB ~N, IOBBGN
`
`-
`
`DSPLOCK
`
`CPU LOCK
`
`-
`
`...
`
`210
`
`Figure 4
`
`Page 5 of 25
`
`

`
`-u
`ru
`(Q
`CD
`0'>
`
`0 -N
`
`01
`
`CLOCK
`(BCLK)
`DSP BR_
`
`DSPBG_
`
`NUBUS BR_
`
`NVBUS BG~
`
`lOB BA_
`
`IOBBG_
`
`CPUBG_
`
`BB_
`
`1
`
`I
`
`I
`
`·Figure 5
`
`NUBUS CONTROLLER OWNS THE BUS
`DRIVEN BY THE NUBUS CONTROLLER
`
`DSP OWNS THE BUS DRIVEN BY THE ARBITER
`WHEN DSP IS THE BUS OWNER
`
`DSP OWNS THE BUS AGAIN
`DRIVEN BY THE ARBITER
`
`CPU OWNS THE BUS
`DRIVEN BY THE CPU
`
`TIME
`
`~ •
`00 •
`~
`~ .....
`~ = .....
`
`~
`
`Jo-'
`JM
`~
`\Q
`\Q
`C'l
`
`!;I} =(cid:173)~
`~ ....
`
`ll1
`0
`~
`ll1
`
`~
`
`Ot
`
`Ot ... 0\
`~ 01 ... -....l
`
`

`
`5,546,547
`
`1
`MEMORY BUS ARBITER FOR A
`COMPUTER SYSTEM HAVING A DSP
`CO-PROCESSOR
`
`BACKGROUND OF THE INVENTION
`
`I. Related Applications
`This application is related to U.S. patent application Scr.
`No. 08/189,139, entitled "Dual Bus Concurre111 Multi-Chan(cid:173)
`nel Direct Memory Access Corn roller and Method", Ser. No.
`081189,132, entitled "Multiple Register Set Direct Memory
`Access Channel Architecture", and Ser. No. 081189,131,
`entitled "Direct Memory Access Channel Architecture and
`Method for Reception of Network lnfonnation", each of
`which is assigned to the assignee of the present invention 15
`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 20
`units share a common memory bus and support real-lime
`applications.
`3. Description of Related Art
`Until recently, telecommunications and computing were 25
`considered to be entirely separate disciplines. Telecommu(cid:173)
`nications was analog and done in real-time whereas com(cid:173)
`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 .
`30
`and image processing have blurred these lines. In the corning
`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:
`compressed audio (both high fidelity audio and speed), high
`resolution still images, video, and high speed signal trans(cid:173)
`mission 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(cid:173)
`mentation. However, it is becoming more and more c.ommon
`to usc programmable digital signal processors (DSP) avail- 45
`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 arc ideally suited to real(cid:173)
`Lime audio and image signal processing.
`In handling real-time information such as speech recog- so
`nition and modem functionality, a DSP requires a large
`amount of bandwidth to memory for processing the sheer
`volume of data required to effectuate real-time compULing.
`FIG. 1 illustrates a typical computer architecture in which a
`CPU 10 is coupled to a memory bus 100. The memory bus ss
`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 IJO 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 60
`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 65
`distinguished from mass storage 16 which may comprise
`hard magnetic disk drives or a CD-ROM which provide for
`
`40
`
`35
`
`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 110 interface and the
`inherently slower nature of mass storage devices. The
`memory subsystem's DRAM, on the other hand, is semi(cid:173)
`conductor memory which provides for fairly quick storage
`and retrieval for operating applications and which may be
`fed from the slower mass storage 16 through the 110
`interface 15 over the memory bus 100 to meet the require-
`tO ments of the CPU 10.
`ln many computer systems, the l/0 interface 15 is also a
`direct memory access (DMA) controller which manages the
`transfer of data between 110 devices and the main memory
`subsystem without requiring the CPU to perform that task.
`The J/0 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 tile memory bus is not shown.
`The DSP 20 may be an off-the-shelf DSP such as the
`AT&T® DSP321 0. 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 run off of the computer system's DRAM in
`the way 1he CPU 10 utilizes it without adversely affecting
`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 110 devices or networks through the 110
`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 requirement 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(cid:173)
`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(cid:173)
`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(cid:173)
`ingly, it is an object of the present invention to provide a
`mechanism and method for arbitrating the memory bus
`bandwidth to efficiently 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 bu~ controller might also access
`the memory bus with all bus masters receiving sufficient
`
`Page 7 of 25
`
`

`
`5,546,547
`
`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 timing diagram showing a simple state
`transition sequence in accordance with a preferred embodi(cid:173)
`ment implementation of the present invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`10
`
`20
`
`3
`bandwidth over the memory bus to provide for real-time
`isochronous 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 sufficient access to the
`DRAM to carry out real-time, isochronous data processing
`while still allowing the system's I/0 controller to satisfy
`Ethernet communication requirements over the memory bus.
`The arbitration scheme of the present invention is an adap- 15
`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 reque sting. 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 25
`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 4s
`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 50
`rest of the computer system. A brief amount of time is
`required for resynchronizing to the different time domains
`on the memory bus which. is justified by the increased
`flexibility in the design of the computer architecture.
`
`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 I/0 devices and network standards, in order
`to provide a thorough understanding of the present inven(cid:173)
`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(cid:173)
`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(cid:173)
`grated circuit (ASIC). With today's manufacturing technol-
`30 ogy, the development of AS[Cs generally does not reqvire
`the rendering of fully detailed circuit diagrams. The defini(cid:173)
`tion of logic functionality and state diagrams allow com(cid:173)
`puter aided design techniques to design the desired inte(cid:173)
`grated <Circuit. Accordingly, the present invention will be
`35 described primarily in terms of functionality to be imple(cid:173)
`mented by an ASIC. The software used for developing the
`ASIC chip from the logic defined for the preferred embodi(cid:173)
`ment will be attached as an appendix. Those of ordinary skill
`in the art, once given the following descriptions of the
`40 various functions to be canied 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's CPU or memory bus and share
`the memory bus resources with the other potential bus
`55 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(cid:173)
`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(cid:173)
`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 isochronous 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.
`
`BRIEf DESCRIPTION OF THE DRAWINGS
`
`The objects, fe'atures and advantages of the present inven(cid:173)
`tion will be apparent from the following detailed description
`in which:
`FIG. 1 illustrates a prior art computer architecture in
`which a digital signal processor requires an expensive static
`random access memory block.
`FIG. 2 illustrates a block diagram of a computer archi- 65
`lecture incorporating
`the present invention arbitration
`scheme.
`
`60
`
`Page 8 of 25
`
`

`
`5,546,547
`
`5
`While the present invention arbitration scheme will be
`described in term of a particular implementation of a com(cid:173)
`puter system, it should be understood that the broad concept
`of providing for a DSP on a memory bus and sharing the
`system's DRA.\.1 may be extended to other more compli-
`cated systems, or generalized to simpler systems.
`
`Overview of the Present Invention Computer
`System
`
`s
`
`40
`
`6
`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
`no of the pn~ferrecl emhndiment computer system is a
`peripheral card expansion bus controller. The peripheral
`card expansion bus controller illustrated in the figure is the
`10 NuBus controller 40. While the present illustration uses a
`NuBus controller, other peripheral card expansion bus pro(cid:173)
`tocols are generally known. The NuB us controller 40 is used
`to provide communication between the various memory bus
`masters and the system's expansion bus 130, called NuBus.
`IS The NuBus provides a fast backplane 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
`20 the bandwidth sharing of the memory bus 110.
`Also, in PlG. 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
`DSP 20 to reside on the system's memory bus and operate
`25 from the computer system's main memory subsystem 14. In
`implementing the prese.nt 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 8K
`30 SRAM cache. This is an off-the-shelf DSP which is highly
`programmable and has a fairly well defined operating sys(cid:173)
`tem. The DSP can be programmed to carry out such func(cid:173)
`tions as speech processing, audio channel control, modem
`emulation, image processing and the like. Many of these
`35 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
`f o · the components of the computer system. This will require
`to be
`for various operations
`some resynehronizing
`described, but provides for Oexibility as newer technology
`and faster DSPs are developed.
`Finally, in FlG. 2 there is coupled to the memory bus llO
`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 pro,•ide optimal band(cid:173)
`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 other form of logic.
`
`Referring now to FIG. 2, a preferred embodiment com(cid:173)
`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 clements 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 prcs.cnt invention will be described further herein. As
`with the prior art computer systems, the architecture illus(cid:173)
`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. ll should be understood that in the illus(cid:173)
`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 10 may be considered
`a potential bus master as contrasted with the memory
`componems 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 prefe.rred embodiment computer architecture of AG.
`2 has a number of other potential bus masters coupled to it.
`The 1/0 interface 30 is used for coupling the memory bus to
`the I/0 bus 120 for providing the computer system with a
`number of 110 capabilities. The 110 interface 30 of the
`present invention is also a DMA controller which controls
`the transactions between the main memory system 14 and
`1/0 devices without requiring the resources of the CPU 10
`for these transactions. The DMA controller of the preferred
`embodiment implementation is described in co-pending
`U.S. patenL applications: Ser. No. 081189,139, entitled "Dual
`Bus Concurrent Multi-Channel Direct Memory Access Con(cid:173)
`troller and Method", Ser. No. 08/189,132, entitled "Multiple
`Register Set Direct Memory Access Channel Architecture",
`and Scr. No. 08/189,131, entitled "Direct Memory Access
`Channel Architecture and Method for Reception of Ethernet
`Packets-", assigned to the assignee of the present invention
`and filed concurrently herewith.
`The UO bus 120 of the preferred embodiment implemen(cid:173)
`tation as illustrated in FIG. 2 provides the avenue for a
`number of different 1/0 devices to be incorporated in the
`computer system. For example, the SCSI pon 121 is coupled
`through the 110 bus 120. SCSI stands for small computer 55
`system interface which is one of the computer industry's
`standards for coupling IJO devices such as the hard disk
`drive 122 or floppy drives or other storage media and other
`l/0 devices to today's microcomputer systems. The com(cid:173)
`puter system's serial port 125 is also coupled to the 110 bus 60
`120. The serial pon can be used for attaching a modem or
`printer or other serial devices. Finally, the l/0 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 65
`a local area network such as Ethernet or other LAN 129.
`This allows the computer system to communicate with other
`
`45
`
`50
`
`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
`sufficient 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(cid:173)
`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
`
`

`
`5,546,547
`
`25
`
`30
`
`8
`7
`times require the memory bus. When this occurs, the
`the cache of the DSP allowing the DSP to run as much of the
`resource propagates a bus request signal over the memory
`time as possible from its internal cache. Thus, one mode in
`bus 110 to the arbiter 200. A figure referred to further herein
`which the DSP will utilize the memory bus 110 is to read a
`large block memory from the DRAM 14 into its internal
`wilJ indicate more clearly what signals are required for the
`SRAM. This first mode of operation on the memory bus can 5 various bus requests. When the memory bus is available for
`be referred to as a "block read". Another mode of operation
`assignment, the arbiter 200 will issue a bus grant signal to
`one of the resources according to a priority scheme which
`concerns the handling of data that has already been pro-
`takes into eonslderatlon all of the consrrainrs described
`cessed by the DSP. In many cases it will be necessary to push
`above as well as various previous states of the system and
`that data back out to the DRAM so that some other parts of ·Jo the present state of the system.
`the computer system can utilize it. Thus, the capability of
`f

`d
`hi h
`Referring now to FIG. 3, a state diagram is illustrated
`bursting data out is a second mo eo operation w c may
`which is used to derive the logic of the arbiter ASIC 200.
`be referred to further herein as a "block write".
`.
`.
`This state diagram is the preferred embodiment arb!Lrallon
`Because of the nature of some software, it is not always
`scheme for the implemented computer system described
`guaranteed that the code is going to be divisible into discrete
`with respect to FIG. 2 which has, in addition to a CPU and
`blocks for block read operations. There may be times when 15 a DSP on the memory bus, an 1/0 interface for coupling the
`it is necessary to repeatedly access the DRAM, effectively
`system to a local area network and other 1/0 devices as well
`supporting a scheme where the DSP executes code directly
`as a N uBus interface witJ1 each imposing considerable
`from the DRAM. As contrasted with a block read, this might
`constraints. The state diagram illustrated in FIG. 3 is instru-
`bc considered a situation of "back-to-back single reads"
`mental in developing the VERlLOG code or equivalent in
`from the DRAM. The occurrence of these back-to-back 20
`the production of the arbiter ASIC 200. The code for the
`operations is recognizable and will be considered by the
`preferred embodiment arbitration scheme is set forth in
`arbiter scheduling algorithm to be described further herein.
`Appendix A.
`Finally, during the course of normal ope(ation there may be
`The bus arbiter 200 follows the priority scheme iliustrated
`situations in which the DSP requires only a single piece of
`by the state diagram of FIG. 3. The arbiter receives the bus
`data from the DRAM. These types of read operation arc
`request signals from the potential bus masters, and based on
`referred to as "scattered-single reads". Because the DSP will
`the present state and a specified priority order asserts an
`be processing many real-time operations as well as others,
`appropriate bus grant signal. In the preferred embodiment
`each of these modes of operation where the DSP must have
`implementation, to save a pin on the CPU, the CPU 10 docs
`access to the memory bus must be taken into consideration
`not issue bus request signals. Instead, the stale of the
`by the arbitration scheme of the present invention.
`memory bus assignment defaults to the CPU and remains
`parked on the CPU until other resources request the memory
`In addition to the DSP' s huge requirement for bandwidth
`bus. The CPU is also provided with one time slot in the
`on the memory bus, the arbiter 200 must also contend with
`constraints imposed by other resources on the memory bus.
`priority scheme to be described in which it is granted the
`Particularly. the 1/0 interface 30 provides the interconnec-
`memory bus.

`lion of the computer system to an Ethernet local area
`Each circle in the arbiter state diagram of FIG. 3 repre-
`network. This Ethernet connection should never be choked
`sents a present state memory bus assignment and the arrows
`off because losing an Ethernet packet results in a tremendous
`represent the state transition from a current bus master to the
`penalty in time for recovery. Thus, the l/0 interface 30 must
`next bus master when the specified conditions are met.
`be guaranteed at least a predetermined amount of time for 40 Because the DSP has the largest bus bandwidth requirement,
`every arbitration cycle to support the system's Ethernet
`the system is optimized to meet its need and sup port its
`connection. The floppy disk drive, serial ports and audio
`real-time operations. rn order to optimize this requirement
`input/output DMA, in a similar fashion, also require some
`and still give a reasonable bandwidth to the other bus
`guaranteed memory bus bandwidth. Likewise, with all other
`masters, the DSP is assigned 5 time slots among a tot al of 10
`constraints taken into account, the system's SCSI perfor- 45
`in the arbitration loop. The arbitration loop starts at DSP _ 1
`mance should not be allowed to degrade below an accept-
`state 301 and ends at the CPU state 310. The CPU state 310
`able level.
`is the point of reference which also designates the comple-
`Similar to the 1/0 interface constraints, there are con-
`tion of the entire arbitration loop. The NuB us controller 40
`and the 1/0 interface 30 each own 2 time slots in the
`straints imposed by the computer system being coupled to an
`expansion bus through the NuBus controller40. Like the 110 50 arbitration loop while the CPU 10 owns only 1 s]ot. The
`interface, there arc certain latencies that NuBus introduces
`sequence through the arbitration loop is the following:
`which must be provided for thus requiring a guaranteed
`DSP _ 1--?NuB_ l --?DSP _2--?lOB_ l --?DSP _3--? NuB_
`2~DSP _4-)IQB_2~DSP _ 5--KJ>U. This will be the
`amount of memory bus availability each arbitration cycle for
`the NuBus controller. Finally, though the CPU does very
`order of memory bus ownership if all bus masters are
`little in the way of real-lime operation in a system having a 55 requesting the bus in every state, though with some restric-
`DSP, it still must have some access every arbitration cycle
`

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