`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