throbber
Data Sheet
`March 1993
`
`== Atal
`
`=== Microelectronics
`
`AT&T DSP3210 Digital Signal Processor
`The Multimedia Solution
`
`Features and Benefits
`
`
`
`Designed for efficient bus master designs allowing
`Microprocessor bus compatibility:
`
`the DSP3210 to easily be incorporated into »P-
`=
`32-bit, byte-addressable address space
`
`based systems. The 32-bit, byte-addressable
`= Retry, relinquish/retry, and bus error support
`space enables the DSP3210 and a yP to share
`= Page mode DRAM support
`
`= Direct support for both 680x0 and 80x86 signaling|Common address space and pointervalues as well.
`
`
`
`AT&T VCOS™ operating system:
`Open development environment:
`
`
`
`# Real-time, multitasking operating system
`= Dramatically lower system costs
`
`
`
`= Uses hostrather than local memory
`=
`Full utilization of both uP and DSP3210
`
`
`
`= True parallel processing
`a
`Simplifies both algorithm and application
`
`
`
`a Complete task management
`development
`
`Full 32-bit floating-point arithmetic
`Ease of programming/higher performance.
`C-like assembly language
`Single-cycle PC relative addressing
`All instructions are single-cycle
`(four memory accessesperinstruction cycle)
`Access to DSP32C programs
`Logic Automation" model
`
`
`
`
`
`
`
`
`Higher performance.
`
`Accessto the largest existing 32-bit DSP SW base.
`Faster, more efficient system development.
`
`Introduction
`
`Along with its optimizing C-compiler and assembly-
`language software tools, the DSP3210 is further
`Supported with AT&T's VCOS operating system.
`The DSP3210 brings the poweroffloating-point
`The VCOS operating system provides a powerfulreal-
`signal processing to personal computers and
`time, multitasking and multiprocessing environment
`workstations, opening a wide range of multimedia
`whicheffectively manages multimedia applications
`applications. The DSP3210 has been engineered
`across various computerplatforms. By employing
`with a singlefocus: to enable advanced multimedia
`innovative task- and code-management techniques,
`applications in personal computers and
`VCOSoperating system allows the DSP3210 to use
`workstations. Based on AT&T's DSP32C)
`existing system memory in PCs and workstations
`architecture, the DSP3210 hasthe uniqueability to
`rather than expensive dedicated SRAM for DSP
`be integrated into personal computer and
`program and data storage.
`workstation system designs. Particular attention is
`paid to primary businterfacing; the DSP3210 is
`Completereal-time debugging tools are included to
`compatible with both 80x86 and 680x0
`SPeed both applicationand algorithm development.
`microprocessorsignaling. This allows designers to
`By separating the application andalgorithm
`;
`easily create low-cost systems by using the
`DSP3210 as a bus-masterdevice. A full, bus-level©development phasesof multimedia softwarecreation,
`SmartModer of the DSP3210 is offered by Logic
`the VCOS operating system greatly simplifies and
`Automation, Inc. for system simulation of designs
`shortens development schedules.
`corporating the DSP3210
`* Logic Automation and SmartModelare registered trademarks of
`incorporatin
`.
`Logic Automation, Inc.
`
`v¥WVtAA
`Hine
`
`x*
`
`PUMAExhibit 2006
`Apple v. PUMA,IPR2016-01135
`1 of 40
`
`Apple Exhibit 1006
`Page 1 of 40
`
`Apple Exhibit 1006
`Page 1 of 40
`
`PUMA Exhibit 2006
`Apple v. PUMA, IPR2016-01135
`1 of 40
`
`

`

`AT&T DSP3210 Digital Signal Processor
`
`Table of Contents
`
`Contents
`
`Page
`
`Features and Benefits ooo eeccceceessseceeesceecsecaeeesaesecessessessenesaesaussuecsesecseesenssoussavssuuvacevecsacssseasacenecavreavaneanes 1
`INTPOGUCHION 0. ec cc eect cerseneeseccenersecacsecasscesecaesecsesacscsecsssscsessesssssuecsacaessesevsusevsesssessessesscsrssseasscavenseasasentensaseasease 1
`APPliCationoo... ee eee cecccesecnsenseesevsesanenessecanseesaeatsaseassassascaesecseessessesnessesscsessessasseescesessaesassansuavssstasenssseasenseass 4
`PC/Workstation Multimedia Applications... cccccecesecsecssscssessesesenscsececaessesessseecssesacsssececscsceecsavaevaesaesatsarsavatense 4
`DSP3210 Motherboard Implementations............cccccccccscssescescscescecesccsersssevsevscessusvacsavsceaceucssvacencasscsaecaecaeseceeees 4
`DSP3210 Add-In Cards... ccceccccescscssessesesseseescussacsnssessescscesecseuecuusassessesscassevseecgsvassevsssasuauvavausaevasurcatvensanseeesees 4
`System Integration Under theVCOS Operating System .0.....0....ccccccsscssesscsscsssesssssscenscessaseaveavsasenevsresacenereaera 5
`Functional DeSCription oo... cece eceeceeseecceeeeeecaeesevsevsessevssnssasesccseceeesecseeseestcatcaccessaseaeessasesssessseceescasteesesesessivenacesseness 5
`Functional Units oo... ec eccccecescesececseesesessevecsesecsecetsseassceseusesssessecsansessseveusecsssecsassevsceucessaesensvaseseaesassansavaaeesvanaees 5
`Control Arithmetic Unit (CAU) oo. ee eeeeeeeseseeseeecseeescseeeesacseeseseeaesscsececsusassssavcecsusiveeseseedesecstsreateasraeeeesneeees 5
`Data Arithmetic (DAU) oo... ee cecceseeeseescesessesesceseesesescensceesevaussesseessusecsssecsevarsuvausaeseesscateaesavsstaveavaavateasensereareses 5
`ON-CHIP MEMO 0... cece enceececcsesseseessseesessesesacsessenssaecassassesecsassesusseassecsevavsuvsevecsessvasavsuvacarsaeaavsevereenreravacss 6
`Bus terface ooo. cece ceeeeeeetseseeseceeseesescvazscesesssasssevassecassessesasatensacsacsssevseraevsvareacnavseaceavseeseaaversaseasensentereaees 6
`Serial /O (SIO)... ec cecceecesceeesesceesseseeeseesesesevssscseeesassesesscsesenaceesevesusecscesvevscsevavscgevavavessavsagaversueeveveusareusasensens 6
`DMAController (DMAC) 000... eceeeccecesenscnseeecnsesecarscesessnssasseseessceavsvasessuesasssecseecassaceccsevacracessaevasavaucaavaveeeeaes 7
`THMOL/BIt VO oes cee eeceteeeeeeeseseeseeeecesscsscvessesessssaseesaesssseseesussenscetsecscsusarcscusvacsesaesassavaesavsevaceasarsarseseaveusuavecensvarete 7
`DSP3210 Instruction Set... ec ceecscescseseeseseseeecsesesenesssscsesesaessseecscsesevscarssvscsseassvaseusevereusesaerevasaecavateavasaataseasaes 7
`Processor Control Features oo... ecccccsesesssssssssssssssssesessseessessescsecsescsesesscsesevsvscecsvacsevsvavencevavsevacausavaueavaneseerssass 7
`Serial VO DMA ooo ce ccceeesceceeeeseesesecsenscsesacsesassessssasseseasesesuassassssevuveusecsesaevarsevavesvascevssvasassavacesevaneavauvanvansuees 7
`Exception Processing... .ceecececcesscssecessesesssenecasesessssessssesuvssssesscecencseseceeeussassasessasecssvacsaceesevacescatvaseaevaeveesevas 8
`Low-Power, Powerdown Mode ..0......ccccccccssssescssseesccesescsesessssesassesesescescsessescsessesevevssucassssscaseatsceestasestsveseanesearens 8
`Boot ROM Code oo... cece cccecesseeeseeseeessesseseesesesasssesesscsesseessaasacseseesecsesevsesscescacsessucacsssecsscasvasvavsnsausaseesersraceseaseaeenes 8
`F12 SHICOM REVISION ooo. eccceecccsesceesseesenscsesessssseaesessesecsensssevscsscssvssvsssevscnsvassavaaeaceavsasaegusessesussaecasacnecerseeaeees 8
`Start-Up Options o.oo. eececesesssenecssssescassesasessesevavscsessssesesscesecsesacersesscstsusevsvacaesacseeevavsceavavecersisevanenvaseners 8
`Operation of Boot ROM Routines 0.0... cccccccccsscsesssccscessecessscssesceevecsecsessesavsevsesscaasassscaceatssssatsesstseesecavsssessereans 9
`Detailed Description of Boot ROUtINES ........cccccccccscscsececsesssecscssscsscsescssescavscesvevscsevavscessavaceesavavensessuvassceacaevecare 10
`Processor Mode Boot.w.....c... cceseccccssesesetsssessseessesesesessessssssssseasacsenssasssuesasecscesssavscsaavasussansusevavavansesansesevaceaves 10
`Starting Address Redirection (SAR) Boot..........:.ccccccsssssscssscecescsescescaesceecscscsescvscssesvacaseavseeseevsneesavaceuvaneavarsases 10
`EPROM Boot 0.0.0... ccccccccceccccescscsecececsesesenenecaesesesessesesesssssaesassesesesacsessuavecsevesecaesesicassasvsseacsvssatevaveavanensavaverears 10
`Special Note for /nte/-Style Signaling Implementations (Alternate Loader Routines) .......c.c.cccccceeeeseeeeeeeees 12
`Detailed Description of Self-Test ROUtING 00.0... cccccccccccssessssecescescecsscrcesesssavsesaesacersacsessasacsrssasareaearstseeeeseeaes 12
`Listing 1. BOOt ROM Code oo... cccececcccsssscsscssscecsssesecscsccscssacescnevasaavscgeseasauseacessaesaraesaesasseesecaecserseassaesasensnars 13
`Pim INFOPMARION oo. cece cece eee cseseeeeecseeessssssssssessseseseseseseseuesavavasevacecssscscsssessesssvssevstevevavavavaversucavevacenetenvavavecesses 16
`Pin D@SCTIPLIONS.2.... cece ceeceeseseecesesesesessestsesesssevavacscscvessesesscscscessacacsevevaveteusaveseuvevsseestvavessatsessvatetcatsresesees 17
`Absolute Maximum Ratings .....0..0..cceccccsssscescsesesssecsesececscsesessescecsevscatssvavavacsavssacsavavassevasasuesssavssacatvaavsevavsevacseencas20
`Handling Precautions oo... ccccecesesccesssssessssuecsesesevavsescscscscscesvevscaevavsvavsusesassessvavassasasatsasavatvasavissavscarstescacsecasseeees20
`Electrical Specifications 0... ee cee ccccessscesecsecsesscecscestsssecssceceevacssusssavsesassavsesssaesacsasssassesssuassassssassscaecestevescuscvesecese 21
`TIMING SPeCifiCations 0. ec eeccecceecseesenesesssesestsesvesesesescsesvavsssscsestscacsessvassvssstsvsusecusssesavavavavavaeuanseareasatacavacanacenss 22
`Timing Requirements for CK... cceccesssssesesesescssescscsessscsessrasssssssssssssevescavavevassesasavevavasasasavavavavavavevevsvasseasees 23
`Timing Requirements for Synchronous BusInterface INPUtS ........0..0..cccccssscssccceceecececeecesescaveveeesseseseseseseseseees 23
`Timing Characteristics for Synchronous BusInterface OUtpUtS 2.00.00... cece cssesscecccececscecscsesesvecevensessasessvesavaess 24
`Timing Characteristics for Synchronous Delay/Hold Times...........ccccccccsscsesssesesessesescevsvevsceuaesessvarsearatecsvecseacsess 24
`Timing Relationships for Synchronous BusInterace Operation (55 MHZ) ......c.c.cccescsccsesesscceseseceesesececsesvensecseaes 25
`Timing Relationships for Synchronous BusInterace Operation (66 MHZ) ......0.c.:cccccccscecssccceseseeeeeeseeseevaveseeeseees 26
`Timing Relationships for Asynchronous Bus Interace Operation ......0.c.ccccccccscccsescccescsescsesvesssesscscssstevacacscacenss 28
`Timing Characteristics for Bus Arbitration ........0.cccccccccccscsesesssesscsssessseserscevsvsvesesessssssavsvavssavavevesesesssessessverseseses 29
`Timing Requirements for Serial INDuts ...........ccccccccsccccseccssssscsescsvsesecssscsceveseusacacavesavevavevssessnsstssssasatscicesecscecenee 31
`Timing Requirements for Serial Outputs ..0..0.0.0.c.ccccccccccscscscecsssesssececevsuesssssescesavevavevesssessssssisssevansveveveveveseveseveses 32
`Timing Characteristics for Serial OUtpUtS......0.....cccccccccsesccsessssssesssecsvereessuserstsnsrsavausssstatessseatsvassicevetesstavevevesees 32
`Timing Requirements for Serial Clock Generation ........c..ccccccccsccscssessssssssesecessesscscstsueacaresesestassasssavsceveseseeveesveees 34
`Timing Characteristics for Serial Clock Generation ........c.c.cccccccccccsssscsessovssessseseseseevsesseseseutscssevscevsvavecevececevevacs 34
`Timing Requirements for Bit 1/0 o.oo... ccc cceccscsscssessessesssssesssssesssssvsnssavsussucsecsssssssvessssessessesersusasssessesisivestesvessasees 35
`Timing Characteristics for Bit VO oo... ccccccccccccccscscsssssesevevsvesserssestsusissvssssssessessasavesessersititesiseveveversecececevereeeeces35
`Timing Requirementsfor Interrupts ............cccccccccsecscscssssssvssssvsesscersussesscssavsusseavesssssesssssspesessetetevecsceveveteecececeteee. 36
`Timing Characteristics for Interrupts ...........cccccccccccccsssccsessesecsveseevestarearsnsstsavsseavsssusesssststsessvessatsrtesseseeeceseeeeeeces 36
`Timing Requirements for RSet .........eeccccceccsccssssessesesessessssvessvestsuvartasesesssssasssssesiesiesreseeseiuseitecseseseiceteececeeees 37
`Timing Characteristics for Reset ANd ZN oo... cccccceccssecsesssceseceesecevecevecececececececseeeeeseeebebeeeeececeaeOl
`Outline Diagram oe cece cece cece cevecscosessesvessassvssavsnsavstersabateasasesssssuceseveveseevevercitecesceceteeeeccPUMAExhibit9g)06
`Apple v. PUMA,IPR2016-01135
`2 of 40
`
`2
`
`Apple Exhibit 1006
`Page 2 of 40
`
`Apple Exhibit 1006
`Page 2 of 40
`
`PUMA Exhibit 2006
`Apple v. PUMA, IPR2016-01135
`2 of 40
`
`

`

`AT&T DSP3210 Digital Signal Processor
`
`Introduction (continued)
`
`
`
`
` BUS
`
`INTERFACE 32-bitBUSMASTER
`a0 ae32£__d32-bit FPU
`CAU: abitINT
` ¢ ADDRESS
`
`
`
`
`
`¢ FP MULTIPLY
`
`GENERATION
`
`«FPADD
`¢ ARITHMETIC
` « FORMAT CONVERT| ¢ BIT
`MANIPULATION
`
`
`*HW CONTEXT SAVE
`
`
`Figure 1. DSP3210 Block Diagram
`
`The VCOS operating system includes its own
`multimedia library, complete with speech processing,
`speechrecognition, graphics, music processing, and
`modem modules. TheVCOS system is an open
`environment, so application developers may access
`third-party modules as well as AT&T'slibrary.
`
`In
`Figure 1 shows the DSP3210 block diagram.
`addition to a brief description of the DSP3210's
`application in multimedia environments, each
`functionalunit, the instruction set, and the processor
`control features are described.
`
`This data sheet is designed to be a companion
`document to the AT&T DSP3210 Information Manual
`(MN91-006OMOS). Thebrief descriptions of the
`DSP3210's architecture and instruction set are greatly
`expandedin the information manual. The data sheet
`is intended to give the latest, up-to-date, timing
`specifications and boot ROMfirmware descriptions,
`while the information manual contains the detailed
`information needed to understand the DSP3210's
`operation.
`
`PUMAExhibit 2006
`Apple v. PUMA,IPR2016-01135
`3 of 40 4
`Apple Exhibit 1006
`Page 3 of 40
`
`Apple Exhibit 1006
`Page 3 of 40
`
`PUMA Exhibit 2006
`Apple v. PUMA, IPR2016-01135
`3 of 40
`
`

`

`AT&T DSP3210 Digital Signal Processor
`
`Applications
`
`DSP3210 Add-In Cards
`
`The DSP3210 may be usedin a variety of applications
`due to its raw floating-point power, low cost, low power
`dissipation, and interfacing flexibility. However,
`multimedia was the primary application considered
`when designing the DSP3210.
`
`PC/Workstation Multimedia Applications
`
`DSP3210 Motherboard Implementations
`
`The DSP3210 is intended to be used in PC and
`workstation system architectures in which the
`DSP3210 is a parallel processor to a host processor.
`The DSP3210 maintains a 32-bit bus-masterinterface
`to system memory (see Figure 2).
`
`The primary benefit of this system architecture is the
`DSP's ability to access program and data from system
`memory without host intervention. Furthermore,
`expensive local SRAMis replaced by the computer's
`existing system memory.
`
`Existing computers with EISA, ISA, MCA, NuBus*,
`SBus, and proprietary bus or CPU direct-siot
`capabilities can be easily retrofitted with low-cost
`DSP3210 boards to perform identical applications to
`motherboard-equipped PCs.
`In systemswith direct
`CPUslots or 32-bit buses capable of bus mastering,
`these DSP3210-based cards require no DSP memory
`(memory is accessed via the bus or CPUdirectslot).
`
`Using the visible caching technique native to the
`VCOS operating system, boardsinstalled in lower-
`bandwidth buses use inexpensive local 32-bit DRAM
`on the DSP3210 add-in card.
`In these environments,
`the DSP3210 uses the bus primarily to transfer tasks
`and I/O to and from the DSP3210 card.
`
`* NuBusis a registered trademark of Massachusetts Institute of
`Technology.
`
`ON-CHIP RAM USED FOR KERNEL
`STORAGE AND PROGRAM/DATA
`CACHE
`
`
`
`LOW-COST SINGLE-CHIP
`A/D AND D/A CONVERTER
`
`
`
`PROVIDES HIGH BANDWIDTH AND \ LOW COST
`
`
`HOST
`MICROPROCESSOR
`
`
`BUS MASTER
`
`
`INTERFACE
`
` DIRECT INTERFACE TO SYSTEM BUS
`
`SYSTEM MEMORY PROVIDES LOW-COST
`STORAGE OF FUNCTIONS AND DATA
`
`Figure 2. Typical DSP3210 PC/Workstation Motherboard Configuration
`
`PUMAExhibit 2006
`Apple v. PUMA,IPR2016-01135
`4 of 40
`
`Apple Exhibit 1006
`Page 4 of 40
`
`Apple Exhibit 1006
`Page 4 of 40
`
`PUMA Exhibit 2006
`Apple v. PUMA, IPR2016-01135
`4 of 40
`
`

`

`Applications(continued)
`
`System Integration Under theVCOS Operating
`System
`
`Since the DSP3210 supports both big- and little-endian
`byte ordering, sharing both data and pointer values
`with any host microprocessoris easily accomplished.
`This is especially useful in multimedia applications
`whereintimate communications between the host
`microprocessor and DSP are necessary. Forreal-time
`signal processing under the VCOS operating system,
`on-chip SRAMis loaded with code and data from
`system memory before executing. Applications are
`brokeninto functions that are executed successively in
`this fashion. Nonreal-time background jobs may be
`either executed from system memory or cached into
`the DSP3210's internal memory.
`
`Functional Description
`
`Functional Units
`
`The DSP3210 consists of seven functional units:
`control arithmetic unit (CAU), data arithmetic unit
`(DAU), on-chip memory (RAMO, RAM1, boot ROM),
`businterface, serial I/O (SIO), DMA controller (DMAC),
`and timer/bit I/O (BIO) unit.
`
`Control Arithmetic Unit (CAU)
`
`The CAUis responsible for performing address
`calculations, branching control, and 16- or 32-bit
`integer arithmetic and logic operations.
`It is a RISC
`core consisting of a 32-bit arithmetic logic unit (ALU)
`that performs integer arithmetic and logical operations,
`a full 32-bit barrel shifter for efficient bit manipulation
`operations, a 32-bit program counter (PC), and twenty-
`two 32-bit general-purposeregisters.
`
`DATA BUS
`
`BARREL SHIFTER 16/32
`
`ADDRESS BUS
`(32)
`(32)
`
`
`
`
`
`
`
`
`
`
`
`
`
`Figure 3. Control Arithmetic Unit (CAU)
`
`AT&T DSP3210 Digital Signal Processor
`
`The CAU performs two types of tasks: executing
`integer, data move, and control instructions (CA
`instructions), or generating addressesfor the operands
`of floating-point instructions (DA instructions). CA
`instructions perform load/store, branching control, and
`16- and 32-bit integer arithmetic and logical
`operations.
`DAinstructions can have up to four
`memory accessesperinstruction, and the CAU is
`responsible for generating these addresses using the
`postmodified, register-indirect addressing mode (one
`addressis generated in each of the four states of an
`instruction cycle).
`
`Data Arithmetic Unit (DAU)
`
`The DAUis the primary execution unit for signal
`processing algorithms. This unit contains a 32-bit
`floating-point multiplier, a 40-bit floating-point adder,
`four 40-bit accumulators, and a control register (dauc).
`The multiplier and adder work in parallel to perform
`16.7 million computations per second, yielding 33
`MFLOPperformance. The multiplier and adder each
`produce onefloating-point result per instruction cycle.
`The DAU contains a four-stage pipeline (fetch,
`multiply, accumulate, write). Thus, in any instruction
`cycle, the DAU may be processing four different
`instructions, each in a different stage of execution.
`
`a0—a3 (40)
`
`FLOATING-
`POINT
`MULTIPLIER
`
`HARDWARE
`CONVERSIONS
`
`FLOATING-
`POINT
`ADDER
`
`(40)
`
`Figure 4. Data Arithmetic Unit (DAU)
`
`The DAU supports twofloating-point formats: single
`precision (32-bit) and extended single precision
`(40-bit). Extended single precision provides eight
`additional mantissa guard bits. Postnormalization logic
`transparently shifts binary points and adjusts
`exponents to prevent inaccurate rounding of bits when
`the floating-point numbers are added or multiplied.
`This eliminates concerns such
`ling
`and
`.
`quantizationerror.
`‘PUMA Exhibit 2006
`Apple v. PUMA,IPR2016-01135
`5 of 40,
`Apple Exhibit 1006
`Page 5 of 40
`
`Apple Exhibit 1006
`Page 5 of 40
`
`PUMA Exhibit 2006
`Apple v. PUMA, IPR2016-01135
`5 of 40
`
`

`

`AT&T DSP3210 Digital Signal Processor
`
`Functional Description (continued)
`
`All normalization is done automatically, so the result in
`the accumulatoris alwaysfully normalized.
`
`Single-instruction, data-type conversions are donein
`hardware in the DAU, thus reducing overhead required
`to do these conversions. The DAU performs data-type
`conversions between the DSP32 32-bit floating-point
`format and IEEE P754 standard 32-bit floating-point,
`16- and 32-bit integer, 8-bit unsigned, u-law, and A-law
`formats. The DAUalso provides an instruction to
`convert a 32-bit floating-point operand to a 3-bit seed
`value used for reciprocal approximation in division
`operations.
`
`On-Chip Memory
`
`The DSP3210 provides on-chip memory for instruc-
`tions and data.
`Instructions and data can arbitrarily
`reside in any location in both on- and off-chip memory.
`The DSP3210 provides two 1K x 32 RAMsand a 256 x
`32 boot ROM. The boot ROMis preprogrammedto
`enable the DSP3210 to boot directly from external
`memory, such as slow, inexpensive ROM or EPROM.
`
`Bus Interface
`
`The external address bus of the DSP3210 is 32-bits
`wide and fully byte-addressable, allowing the
`DSP3210 to directly address 4 Gbytes of memory or
`memory-mapped hardware. External memory is
`partitioned into two logical address spaces, A and B.
`Eachpartition contains 2 Gbytes of address space.
`
`The numberof wait-states for external memory
`partitions A and B are independently configurable via
`the pew register. Configured waits of 0, 1, 2, or 3 or
`more wait-states are programmable; this simplifies the
`interface to fast external memory. Unlike mostdigital
`signal processors (which employfull-cycle wait-states),
`the DSP3210 offers much greaterflexibility. This
`flexibility is achieved by offering 1/4 cycle wait-states.
`Eachwait-state is 1/4 of an instruction cycle, allowing
`greater granularity in determining optimal speed/cost
`memory trade-offs. When waits are externally con-
`trolled, the DSP adds wait-states until the memory
`acknowledgesthe transaction via the SRDYNpin.
`
`The businterface supportsretry, relinquish/retry, and
`bus error exception handling. All signaling provided to
`the external system is configurable on reset to simplify
`the interface to a variety of microprocessor system
`buses.
`
`Sharing of the external memoryinterface is performed
`via a complete request/acknowledgeprotocol. System
`throughput is greatly enhanced by the DSP3210's
`ability to execute from internal memory while the
`DSP3210 does not have ownership of the bus.
`
`6
`
`The DSP3210 will continue to execute from internal
`memory until accesses to the external memory are
`needed. Atthat point, the DSP asserts the BRNsignal
`and waits for BGN. The bus arbiter acknowledges the
`bus request by asserting the DSP3210's bus grant pin
`(BGN). The DSP3210,in turn, acknowledges the
`grant by asserting the bus grant acknowledge
`(BGACKN) and driving the external memory interface
`pins. When the BGN is negated, any ongoing external
`memory transaction is completed before the DSP
`relinquishes the bus by placing the external memory
`interface bus in the high-impedancestate and negating
`BGACKN.
`
`Serial I/O (SIO)
`
`The SIO unit provides serial communications and
`synchronization with external devices. The SIO
`signals support a direct interface to a time-division
`multiplexed (TDM)line, a zero-chip interface to
`codecs, and direct DSP-to-DSP transfers for
`multiprocessor applications. The SIO performsserial-
`to-parallel conversion of input data, and parallel-to-
`serial conversion of output data at a maximum rate of
`25 Mbits/s.
`It is composed of a serial input port, a
`serial output port, and on-chip clock generators. Both
`ports are double buffered so that back-to-back
`transfers are possible. The SIO is configurable via the
`ioc register. The input buffer (IBUF), the output buffer
`(OBUF), and the ioc register are accessible as
`memory-mappedinput/output (MMIO) registers in the
`instruction set. The ibuf and obuf are also accessible
`as 1/O registers in the instruction set.
`
`The data sizes of the serial input and output can be
`configured independently.
`Input data lengths of 8-, 16,
`and 32-bits and output data lengths of 8-, 16-, 24-, and
`32-bits can be selected. The input and output data
`can be independently selected to be mostsignificant
`bit first or least significantbitfirst.
`
`SIO transfers can be made under program, interrupt,
`or DMA control. A program can test the input or output
`buffer status flags using conditional branch
`instructions. By configuring the exception mask
`register (emr), interrupt requests may be generated by
`the input and output buffer status flags.
`In DMA mode,
`transfers occur between IBUF, OBUF, and memory
`without program intervention.
`
`DI—
`
`DO
`
`ibuf (32)
`
`ioc (32) DATA BUS
`
`ICK, ILD, OCK, <«»
`OLD, SY
`
`obuf(32)
`
`(32)
`
`Figure 5. Serial 1O (SOMA Exhibit 2006
`Apple v. PUMA,IPR2016-01135
`6 of 40
`Apple Exhibit 1006
`Page 6 of 40
`
`Apple Exhibit 1006
`Page 6 of 40
`
`PUMA Exhibit 2006
`Apple v. PUMA, IPR2016-01135
`6 of 40
`
`

`

`Functional Description (continued)
`
`DMA Controlier (DMAC)
`
`The DMAcontroller contains two DMA channels that
`are usedin conjunction with the serial I/O: one for
`input DMA and onefor output DMA. By configuring
`the input DMA channel, data being shifted into the
`serial input port can be buffered in memory without
`processorintervention. By configuring the output DMA
`channel, a buffer of data in memory can be supplied to
`the serial output, as necessary, without processor
`intervention.
`
`The registers used to configure the DMA controller are
`directly accessible in the DSP3210's instruction set.
`By configuring the exception maskregister (emr),
`interrupt requests can be generated when the memory
`buffer has beenfilled or emptied based on the size of
`the buffer requested.
`
`
`
`ADDRESS BUS
`(32)
`
`
`
`
`DATA BUS
`(32)
`
`Figure 6. DMA Controller (DMAC)
`
`Timer/Bit /O
`
`The timer is a programmable 32-bit interval
`timer/counter usedfor interval timing, rate generation,
`event counting, or waveform generation. The input to
`the timer can be derived from the DSP3210 clock,orit
`may come from an external source. The output of the
`timer can generate a maskableinterrupt, or it may be
`selected as an outputof the chip to drive external
`hardware.
`{t can be configured to count downto zero
`once or to count continuously by automatically
`reloading the counterwithits initial value whenit
`reaches zero. The count value may be read or
`changed at any time during operation. The registers
`associated with the timer are accessible as MMIO
`registers in the instruction set. By configuring emr,
`interrupt requests may be generated when the count
`reaches zero.
`
`BIO
`
`BIOOQ—BIO7
`
`
`
`DATA BUS
`
`(32)
`
`
`
`
`Figure 7. Timer/Bit /O (BIO)
`
`AT&T DSP3210 Digital Signal Processor
`
`It
`
`The BIO is a general-purpose 8-bit input/output port.
`includes features that makeit suitable for board-level
`status signal generation and control signal testing by
`the DSP3210. The BIO interface consists of eight I/O
`lines, any of which can be independently configured as
`an input or an output. Outputs can be written with
`either 1 or 0, toggled, or left unchanged.
`Inputs can be
`directly read and loaded into a CAU register and then
`tested, or the inputs can be read and directly written to
`memory. The registers associated with the BIO are
`accessible as registers in the DSP3210 instruction set.
`
`DSP3210 Instruction Set
`
`The assembly language of the DSP3210 frees
`programmers from tedious memorization of assembly
`language mnemonics. DSP3210 instructions are
`patterned after the C programming language and are
`entered in a natural equation syntax.
`In addition to
`being easier to learn, the resulting code is far more
`readable than mnemonic-based assembly languages,
`making code maintenance mucheasier.
`
`C-like assembly language — Easyto learn/excellent
`readability
`
`Below is an example assembly languageinstruction:
`
`*rit++ = a0 =al + *12+4+* *rOtt
`
`The execution of this instruction simply follows the
`conventions of the high-level C programming
`language:
`
`“Multiply the two floating-point values stored in the
`memory locations pointed to by registers r2 and r3.
`Add the result to the contents of accumulator a1, store
`the result in accumulator a0, and write the result to the
`32-bit memory location pointed to by register r1.
`Postincrementpointer registers r1, r2, and r3."
`
`Processor Control Features
`
`The DSP3210 supports advanced control features that
`simplify system design and improve software
`performance. This section describes serial I/O direct-
`memory access (DMA), error and interrupt exceptions,
`and the powerdown mode.
`
`Serial /O DMA
`
`External devices can access the on-chip RAMin the
`DSP3210, as well as external memory, using direct-
`memory access (DMA). DMAtransfers occur between
`either internal or external memory and the serial 1/O
`ports without processorintervention.
`
`PUMAExhibit 2006
`Apple v. PUMA,IPR2016-01135
`Tof40
`Apple Exhibit 1006
`Page 7 of 40
`
`5
`
`Apple Exhibit 1006
`Page 7 of 40
`
`PUMA Exhibit 2006
`Apple v. PUMA, IPR2016-01135
`7 of 40
`
`

`

`AT&T DSP3210 Digital Signal Processor
`
`FunctionalDescription (continued)
`
`Exception Processing
`
`Normalinstruction processing can be altered by the
`introduction of interrupt routines or error handling
`routines. Exception processingis the setof activities
`performed by the processorin preparing to execute a
`handler routine or in returning to the program that took
`the exception. Error exception and interrupt excep-
`tions cause different activities to be performed.
`In
`particular, error exceptions abort the currentinstruction
`and cannot resumeprocessing.
`Interrupt exceptions
`shadow the current state of the processor before
`taking the interrupt exception; therefore, when the
`interrupt routine is complete, the program can be
`reinstated and continued.
`
`The error and interrupt exceptions are prioritized, and
`some error sources, in addition to all interrupt sources,
`are individually maskable via the emr. A relocatable
`vector table controls program flow based on the source
`of the interrupt exception.
`In responseto a given
`exception, the DSP branchesto the corresponding
`addressin the exception vector table which contains
`pairs of 32-bit words.
`
`The DSP3210 provides a zero-overhead context save
`of the entire DAU (floating-point unit) for interrupt
`processing.
`Interrupt latency is only three instruction
`cycles for interrupt entry and oneinstruction for
`interrupt exit. Before servicing the interrupt, the
`DSP3210 automatically saves the state of the machine
`that is invisible to the programmer, as well as the DAU
`accumulators a0—a3 (including guardbits), all DAU
`flag status information, and the dauc register.
`Internal
`states that are visible to the programmer are saved
`and restored by the interrupt service routine. To return
`to the interrupted program, the interrupt service routine
`restores the user-visible state of the DSP3210 (that
`was saved) and then executesthe ireturn instruction.
`This single-cycle interrupt return automatically restores
`the entire DAU state saved during interrupt entry.
`Quick interrupt entry/exit/context saveis critical to real-
`time multimedia tasks.
`
`Low-Power, Powerdown Mode
`
`To address the needs of portable computer platforms,
`the DSP3210 is equipped with a powerdown modethat
`lowers power consumption to below 300 mW (from the
`typical power dissipation of 750 mW). This modeis
`implemented with a wait-for-interrupt instruction that
`stops internal execution in the DAU and CAU sections
`of the DSP3210. External memory andinternal
`memory operations execute to completion and then
`wait. To ensure maximum system functionality, the
`DSP3210 bus arbitration logic remains active in this
`mode, and all peripheral units (serial /O, DMA
`controller, timer, and BIO) remain active to perform I/O
`events. The interrupt handleris also active to sense
`interrupt requests. The DSP3210 exits the powerdown
`
`mode wheneither an unmaskedinterrupt is requested
`or an error exception occurs.
`
`Boot ROM Code
`
`F12 Silicon Revision
`
`The boot ROM codein F12 silicon revision DSP3210
`devices offers the user three different processorstart-
`up options plus a seif-test routine. The processorself-
`test routine performsa limited functional test of both
`on-chip arithmetic execution units (DAU and CAU).
`This routine is user-callable as described in the
`Detailed Description of Self-test Routine section.
`
`Additionally, the 2048-word countlimitation in the F11
`EPROM bootroutine has been removed. See the
`EPROM bootsection. The F12 boot ROM cadeis
`upward compatible with F11 boot ROM code;
`subsequently, changes in design software or hardware
`are not needed when migrating to the F12 silicon
`revision.
`
`Start-Up Options
`
`Since the DSP3210 is intended for a variety of
`environments, three different start-up options are
`provided for maximum flexibility. Although the
`DSP3210 contains an on-chip boot ROM, thefirst and
`simplest start-up option doesn't use this ROM. This
`start-up option works asfollows:
`
`a The DSP3210 begins execution at external
`memory location 0 immediately following reset.
`
`The other two boot options are controlled by the on-
`chip boot ROM of the DSP3210. These two routines
`work as follows:
`
`= The DSP3210 loads a 32-bit address from external
`location 0 and begins executing code at the
`location indicated by the 32-bit address. This
`technique, useful in systems where the DSP3210
`shares memory with another processor, is known
`as starting addressredirection (SAR).
`
`= The DSP3210 loads and executes instructions
`from off-chip, byte-wide memory. This technique
`is frequen

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