throbber
TMS320C80 to TMS320C82
`Software Compatibility
`
`User’s Guide
`
`1995
`
`Digital Signal Processing Products
`
`Apple Inc. v. Parthenon
`Ex. 1019 / Page 1 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 1
`
`

`

`Printed in U.S.A., November, 1995
`M418017-9741 revision *
`
`SPRU154
`
`Ex. 1019 / Page 2 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 2
`
`

`

`TMS320C80 to TMS320C82
`Software Compatibility
`User’s Guide
`
`SPRU154
`November 1995
`
`Printed on Recycled Paper
`
`Ex. 1019 / Page 3 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 3
`
`

`

`IMPORTANT NOTICE
`
`Texas Instruments (TI) reserves the right to make changes to its products or to discontinue any
`semiconductor product or service without notice, and advises its customers to obtain the latest
`version of relevant information to verify, before placing orders, that the information being relied
`on is current.
`
`TI warrants performance of its semiconductor products and related software to the specifications
`applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality
`control techniques are utilized to the extent TI deems necessary to support this warranty.
`Specific testing of all parameters of each device is not necessarily performed, except those
`mandated by government requirements.
`
`Certain applications using semiconductor products may involve potential risks of death,
`personal injury, or severe property or environmental damage (“Critical Applications”).
`
`TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED, OR
`WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES
`OR SYSTEMS OR OTHER CRITICAL APPLICATIONS.
`
`Inclusion of TI products in such applications is understood to be fully at the risk of the customer.
`Use of TI products in such applications requires the written approval of an appropriate TI officer.
`Questions concerning potential risk applications should be directed to TI through a local SC
`sales office.
`
`In order to minimize risks associated with the customer’s applications, adequate design and
`operating safeguards should be provided by the customer to minimize inherent or procedural
`hazards.
`
`TI assumes no liability for applications assistance, customer product design, software
`performance, or infringement of patents or services described herein. Nor does TI warrant or
`represent that any license, either express or implied, is granted under any patent right, copyright,
`mask work right, or other intellectual property right of TI covering or relating to any combination,
`machine, or process in which such semiconductor products or services might be or are used.
`
`Copyright  1995, Texas Instruments Incorporated
`
`Ex. 1019 / Page 4 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 4
`
`

`

` How to Use This Manual
`
`Preface
`
`Read This First
`
`About This Manual
`
`The TMS320C80 and the TMS320C82 are the first two members
`of the ’C8x family of high-performance DSP devices. This guide
`explains how to port software developed for one of these devices
`to the other. It also presents a set of software compatibility guide-
`lines for developing software that will run on either device.
`
`How to Use This Manual
`
`This document contains three chapters that deal with different is-
`sues related to compatibility:
`
`- Chapter 1 discusses software-related differences between
`the ’C80 and the ’C82.
`
`- Chapter 2 discusses guidelines and techniques for develop-
`ing software that can run on both the ’C80 and the ’C82.
`
`- Chapter 3 discusses guidelines and techniques for prototyp-
`ing ’C82 software using a ’C80.
`
`If you need background information about the differences be-
`tween the ’C80 and the ’C82, read Chapter 1 before going on to
`Chapter 2 and Chapter 3.
`
`If you already understand the differences between the ’C80 and
`the ’C82, then you can go directly to Chapter 2 and use Chapter 1
`as reference material.
`
`This user’s guide contains information at a general level to guide
`you in completing programs. It does not discuss all issues related
`to the ’C80 and the ’C82; use your best judgement in applying the
`methods discussed in Chapter 2 and Chapter 3 to your applica-
`tion.
`
`Ex. 1019 / Page 5 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 5
`
`

`

`Related Documentation From Texas Instruments
`
`Related Documentation From Texas Instruments
`
`The following books describe the TMS320C8x and related support
`tools. To obtain a copy of any of these TI documents, call the Tex-
`as Instruments Literature Response Center at (800) 477–8924.
`When ordering, please identify the book by its title and literature
`number.
`
`TMS320C80 Multimedia Video Processor Data Sheet
`(literature number SPRS023) describes the features of the
`’C80 device and provides pinouts, electrical specifications,
`and timings for the device.
`
`TMS320C8x System-Level Synopsis
`(literature number
`SPRU113) describes the ’C8x features, development
`environment, architecture, memory organization, and
`communication network (the crossbar).
`
`TMS320C80 C Source Debugger User’s Guide (literature
`number SPRU107) describes the ’C8x master processor
`and parallel processor C source debuggers. This manual
`provides information about the features and operation of the
`debuggers and the parallel debug manager; it also includes
`basic information about C expressions and a description of
`progress and error messages.
`
`TMS320C80 Code Generation Tools User’s Guide (literature
`number SPRU108) describes the ’C8x code generation
`tools. This manual provides information about the features
`and operation of the linker, the master processor (MP) C
`compiler and assembler, and the parallel processor (PP) C
`compiler and assembler. It also describes the common
`object file format (COFF) and shows you how to link MP and
`PP code.
`
`TMS320C80 Master Processor User’s Guide (literature
`number SPRU109) describes the ’C8x master processor
`(MP). This manual provides information about the MP
`features, architecture, operation, and assembly language
`instruction set; it also includes sample applications that
`illustrate various MP operations.
`
`TMS320C80 Multitasking Executive User’s Guide (literature
`number SPRU112) describes the ’C8x multitasking execu-
`tive software. This manual provides information about the
`multitasking executive’s software features, operation, and
`interprocessor communications. It also includes a list of task
`error codes.
`
`iv
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 6 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 6
`
`

`

` Related Documentation From Texas Instruments / If You Need Assistance
`
`TMS320C80 Parallel Processor User’s Guide (literature num-
`ber SPRU110) describes the ’C8x parallel processor (PP).
`This manual provides information about the PP features, ar-
`chitecture, operation, and assembly language instruction
`set. It also includes software applications and optimizations.
`
`TMS320C80 Transfer Controller User’s Guide (literature num-
`ber SPRU105) describes the ’C80 transfer controller (TC).
`This manual provides information about the TC features,
`functional blocks, and operation. It also includes examples
`of block-write operations for big- and little-endian modes.
`
`TMS320C80 Video Controller User’s Guide (literature number
`SPRU111) describes the ’C80 video controller (VC). This
`manual provides information about the VC features, archi-
`tecture, and operation. It also includes procedures and ex-
`amples for programming the serial register transfer (SRT)
`controller and the frame timer registers.
`
`If You Need Assistance...
`
`If you want to. . .
`Request more information
`about Texas Instruments
`Digital Signal Processing
`(DSP) products
`
`Do this. . .
`Call the CRC† hotline:
`(800) 336–5236
`Or write to:
`Texas Instruments Incorporated
`Market Communications Manager, MS 736
`P.O. Box 1443
`Houston, Texas 77251–1443
`Call the CRC† hotline:
`(800) 336–5236
`Call the DSP hotline:
`(713) 274–2320
`
`Order Texas Instruments
`documentation
`Ask questions about product
`operation or report suspected
`problems
`Report mistakes in this
`document or any other TI
`documentation
`
`Fill out and return the reader response
`card at the end of this book, or send your
`comments to:
`Texas Instruments Incorporated
`Technical Publications Manager, MS 702
`P.O. Box 1443
`Houston, Texas 77251–1443
`†Texas Instruments Customer Response Center
`
` Read This First
`
`v
`
`Ex. 1019 / Page 7 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 7
`
`

`

`vi
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 8 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 8
`
`

`

` Contents
`
`Contents
`
`1-1
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1 Comparison of the ’C80 and ’C82
`Describes differences between the ’C80 and ’C82 that affect software compatibility.
`1.1
`Overview of ’C80 and ’C82 Features
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-2
`1.2
`Parallel Processor Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-3
`1.3
`Transfer Controller Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-4
`1.3.1 Number of Externally Initiated Packet Transfer Requests
`. . .
`1-4
`1.3.2 RAM Bank Configuration Mechanisms
`. . . . . . . . . . . . . . . . . . .
`1-4
`Video Controller Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.4
`1-5
`1.5 Memory Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-6
`1.5.1 Data RAMs
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-6
`1.5.2 Parameter RAMs
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-8
`1.5.3 Caches
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-13
`
`2.3
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2 Programming for Compatibility
`Provides techniques for programming ’C80/’C82-compatible software.
`2.1
`Programming Considerations
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.2
`Obtaining Device-Specific Information
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.2.1 Determining the Device that is Executing your Software (MP)
`.
`2.2.2 Determining the Device that is Executing your Software (PP)
`. .
`2.2.3
`Initializing a PP’s Stack Pointer
`. . . . . . . . . . . . . . . . . . . . . . . . . .
`2.2.4 Counting the Number of PPs
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Technique #1: Using Only Common RAM
`. . . . . . . . . . . . . . . . . . . . . . . .
`2.3.1 Advantages of Technique #1
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.3.2 Disadvantages of Technique #1
`. . . . . . . . . . . . . . . . . . . . . . . . .
`2.3.3
`Implementing Technique #1
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.3.4 Considerations When Using Technique #1
`. . . . . . . . . . . . . . . .
`Technique #2: Using Pointers to Allocate RAM
`. . . . . . . . . . . . . . . . . . .
`2.4.1 Advantages of Technique #2
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.4.2 Disadvantages of Technique #2
`. . . . . . . . . . . . . . . . . . . . . . . . .
`2.4.3
`Implementing Technique #2
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.4.4 Considerations When Using Technique #2
`. . . . . . . . . . . . . . . .
`
`2.4
`
`2-1
`
`2-2
`2-3
`2-3
`2-3
`2-4
`2-5
`2-6
`2-6
`2-6
`2-6
`2-7
`2-8
`2-8
`2-8
`2-8
`2-9
`
` Contents
`
`vii
`
`Ex. 1019 / Page 9 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 9
`
`

`

`Contents
`
`3-1
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3 Prototyping ’C82 Code on the ’C80
`Describes techniques for emulating the ’C82’s RAM with the ’C80’s RAM.
`3.1
`Overview
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-2
`3.2
`Emulating the ’C82’s Data RAMs
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-3
`3.2.1 Emulating the ’C82’s PP0 Data RAM 0 and PP1 Data RAM 0
`.
`3-3
`3.2.2 Emulating the ’C82’s PP0 Data RAM 1 and PP1 Data RAM 1
`.
`3-3
`Emulating the ’C82’s Parameter RAMs
`. . . . . . . . . . . . . . . . . . . . . . . . . .
`3-4
`3.3.1 Emulating the PP Parameter RAMs
`. . . . . . . . . . . . . . . . . . . . . .
`3-4
`3.3.2 Emulating the MP Parameter RAM
`. . . . . . . . . . . . . . . . . . . . . .
`3-5
`Prototyping Code Using Linker Command Files
`. . . . . . . . . . . . . . . . . .
`3-6
`3.4.1 PP-Relative Addressing
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-6
`3.4.2 Map Files
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-7
`3.4.3
`Linking Your ’C82 Code for Prototyping on a ’C80
`. . . . . . . . .
`3-7
`3.4.4
`Linking your Code for a ’C82
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-11
`3.4.5 MP Linker Command Files
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-14
`3.4.6 Considerations when Using Linker Command Files
`3-15
`. . . . . . .
`
`3.3
`
`3.4
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`A The ’C80 and ’C82 Memory Maps
`Provides ’C80 and ’C82 memory maps.
`
`A-1
`
`viii
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 10 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 10
`
`

`

` Contents
`
`Figures
`
`. . . . . . . . . . . . . . . . . . . . . .
`’C80 and ’C82 Data RAMs in the Memory Map
`1-7
`1–1
`’C80 and ’C82 Parameter RAMs in the Memory Map
`. . . . . . . . . . . . . . . . .
`1-9
`1–2
`’C80 and ’C82 MP Parameter RAM Block Diagram
`. . . . . . . . . . . . . . . . .
`1-10
`1–3
`’C80 and ’C82 PP Parameter RAM Block Diagram
`1-11
`. . . . . . . . . . . . . . . . . .
`1–4
`1–5 PP State Information on the Stack at Reset
`. . . . . . . . . . . . . . . . . . . . . . . .
`1-12
`2–1
`The Type Field in the MP config Register
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-3
`2–2
`The PP’s comm Register
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-3
`2–3 Structure of a PP Command Buffer
`2-9
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`A–1 TMS320C80 Memory Map
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`A-2
`A–2 TMS320C82 Memory Map
`A-4
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
` Contents
`
`ix
`
`Ex. 1019 / Page 11 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 11
`
`

`

`Contents
`
`Examples
`
`. . . . . . . . . . . . . . . . .
` 2–1 Initializing a PP’s Stack Pointer and Comm registers
`2-4
` 2–2 MP C Function for Counting the Number of PPs
`. . . . . . . . . . . . . . . . . . . . .
`2-5
` 3–1 Sample PP C Program
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-8
` 3–2 ’C80 PP Linker Command File for example.c
`. . . . . . . . . . . . . . . . . . . . . .
`3-10
` 3–3 ’C80 Map File Lines for Vector A and Vector B
`3-11
`. . . . . . . . . . . . . . . . . . . . .
` 3–4 ’C82 PP Linker Command File
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-12
` 3–5 ’C82 Map File Lines for Vector A and Vector B
`3-13
`. . . . . . . . . . . . . . . . . . . . .
` 3–6 ’C80 MP Linker Command File
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-14
` 3–7 ’C82 MP Linker Command File
`3-15
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
` 3–8 Sample PP C Program With an Assembly Language Function
`3-17
`. . . . . . . .
` 3–9 Assembly Language Function to Calculate the Dot Product of
`3-18
`. . . . . . . .
`Two Vectors
`
`x
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 12 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 12
`
`

`

` Running Title—Attribute Reference
`
`Contents
`
`1-1
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4 Comparison of the ’C80 and ’C82
`Describes differences that affect compatibility in the ’C80 and ’C82.
`1-2
`1.1
`Overview of ’C80 and ’C82 Features
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-3
`1.2
`Parallel Processor Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-4
`1.3
`Transfer Controller Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.3.1 Number of Externally Initiated Packet Transfer (XPT) Requests 1-
`4
`. . . . . . . . . . . . . . . . . . .
`1.3.2 RAM Bank Configuration Mechanisms
`1-4
`Video Controller Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.4
`1-5
`1.5 Memory Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-6
`1.5.1 Data RAMs
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-6
`1.5.2 Parameter RAMs
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-8
`1.5.3 Caches
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1-13
`
`2-1
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5 Programming for Compatibility
`Provides techniques for programming ’C80/’C82-compatible software.
`2-2
`2.1
`Programming Considerations
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-3
`2.2
`Obtaining Device-Specific Information
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.2.1 Determining the Device that is Executing your Software (MP) 2-3
`2.2.2 Determining the Device that is Executing your Software (PP) 2-3
`2.2.3
`Initializing a PP’s Stack Pointer
`. . . . . . . . . . . . . . . . . . . . . . . . . .
`2-4
`2.2.4 Counting the Number of PPs
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-5
`Technique #1: Using Only Common RAM
`2-6
`. . . . . . . . . . . . . . . . . . . . . . . .
`2.3.1 Advantages
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-6
`2.3.2 Disadvantages
`2-6
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.3.3
`Implementing Technique #2
`2-6
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.3.4 Considerations
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-7
`Technique #2: Using Pointers to Allocate RAM
`2-8
`. . . . . . . . . . . . . . . . . . .
`2.4.1 Advantages
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-8
`2.4.2 Disadvantages
`2-8
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.4.3
`Implementing Technique #2
`2-8
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.4.4 Considerations
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-9
`
`2.3
`
`2.4
`
` Chapter Title—Attribute Reference
`
`xi
`
`Ex. 1019 / Page 13 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 13
`
`

`

`Contents
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`6 Prototyping ’C82 Code on the ’C80
`Describes techniques for emulating the ’C82’s RAM with the ’C80’s RAM.
`3-2
`3.1
`Overview
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-3
`3.2
`Emulating the ’C82’s Data RAMs
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-3
`3.2.1 Emulating the ’C82’s Data RAM 0
`. . . . . . . . . . . . . . . . . . . . . . .
`3.2.2 Emulating the ’C82’s PP0 Data RAM 1 and PP1 Data RAM 1 3-3
`Emulating the ’C82’s Parameter RAMs
`. . . . . . . . . . . . . . . . . . . . . . . . . .
`3-4
`3.3.1 Emulating the PP Parameter RAMs
`3-4
`. . . . . . . . . . . . . . . . . . . . . .
`3.3.2 Emulating the MP Parameter RAM
`3-5
`. . . . . . . . . . . . . . . . . . . . . .
`3.3.3 Managing Pointers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-5
`
`3-1
`
`3.3
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`B The ’C80 and ’C82 Memory Maps
`Provides the memory maps of the ’C80 and ’C82.
`
`A-1
`
`xii
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 14 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 14
`
`

`

` Running Title—Attribute Reference
`
`Figures
`
`. . . . . . . . . . . . . . . . . . . . . .
`’C80 and ’C82 Data RAMs in the Memory Map
`1-7
`1–1
`’C80 and ’C82 Parameter RAMs in the Memory Map
`. . . . . . . . . . . . . . . . .
`1-9
`1–2
`’C80 and ’C82 MP Parameter RAM Block Diagram
`. . . . . . . . . . . . . . . . .
`1-10
`1–3
`’C80 and ’C82 PP Parameter RAM Block Diagram
`1-11
`. . . . . . . . . . . . . . . . . .
`1–4
`1–5 PP State Information on the Stack at Reset
`. . . . . . . . . . . . . . . . . . . . . . . .
`1-12
`2–1
`The Type Field in the MP config Register
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-3
`2–2
`The PP’s comm Register
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-3
`2–3 Structure of a PP Command Buffer
`2-9
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3–1 Structure of a PP Command Buffer
`3-5
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`A–1 TMS320C80 Memory Map
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`A-2
`A–2 TMS320C82 Memory Map
`A-4
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
` Contents
`
`xiii
`
`Ex. 1019 / Page 15 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 15
`
`

`

`xiv
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 16 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 16
`
`

`

`Comparison of the ’C80 and ’C82
`
`
`
`Chapter 1
`
`There are several differences between the ’C80 and the ’C82. As
`a programmer, you must be aware of these differences to effec-
`tively write code that runs on both the ’C80 and the ’C82. This
`chapter describes important differences to prepare you for the
`software-related discussions in Chapter 2 and Chapter 3.
`
`In this chapter, you will find information that will help you:
`
`- Understand general differences between the ’C80 and ’C82.
`
`- Understand memory differences between the ’C80 and ’C82.
`
`- Understand the basis for the information in Chapter 2 and
`Chapter 3.
`
`Topics
`
`1.1
`1.2
`1.3
`1.4
`1.5
`
`. . . . . . . . . . . . . .
`Overview of ’C80 and ’C82 Features
`Parallel Processor Differences
`. . . . . . . . . . . . . . . . . . .
`Transfer Controller Differences
`. . . . . . . . . . . . . . . . . . .
`Video Controller Differences
`. . . . . . . . . . . . . . . . . . . . .
`Memory Differences
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`1-2
`1-3
`1-4
`1-5
`1-6
`
` Chapter Title—Attribute Reference
`
`1-1
`
`Ex. 1019 / Page 17 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 17
`
`

`

`Overview of ’C80 and ’C82 Features
`
`1.1 Overview of ’C80 and ’C82 Features
`The ’C80 offers processing power equivalent to up to 2 billion
`RISC operations/second. The ’C82 is a low-cost implementation
`of the ’C8x architecture that provides high levels of processing
`power for cost-sensitive applications.
`
`The ’C80 and the ’C82 are very similar in design. They have sev-
`eral features in common, including a crossbar network, parallel
`processors, a master processor, a transfer controller, and on-
`chip RAM. The processors are binary compatible and can run
`each other’s software if the software is written for compatibility.
`Four main differences relate to compatibility:
`
`- The ’C80 has four parallel processors; the ’C82 has two.
`
`- The on-chip RAM of the ’C80 is divided into 25 2-KB blocks;
`the on-chip RAM of the ’C82 is divided into 11 4-KB blocks.
`
`- The ’C80 transfer controller has 7 externally initiated packet
`transfer (XPT) requests; the ’C82 transfer controller has 15.
`
`- The ’C80 has an on-chip video controller; the ’C82 has none.
`
`Table 1–1 compares the features of the ’C80 and the ’C82.
`
`Table 1–1. ’C80 and ’C82 Features
`
`Feature
`
`Number of PPs
`
`On-chip video controllers
`
`Total on-chip RAM
`
`Local data RAM per PP
`
`Parameter RAM per PP
`
`PP instruction cache size
`
`MP parameter RAM size
`
`MP data cache size
`
`MP instruction cache size
`
`’C80
`
`4
`
`1
`
`50 KB
`
`6 KB
`
`2 KB
`
`2 KB
`
`2 KB
`
`4 KB
`
`4 KB
`
`’C82
`
`2
`
`None
`
`44 KB
`
`8 KB
`
`4 KB
`
`4 KB
`
`4 KB
`
`4 KB
`
`4 KB
`
`1-2
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 18 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 18
`
`

`

` Parallel Processor Differences
`
`1.2 Parallel Processor Differences
`The most important difference related to the parallel processors
`(PPs) is the number of PPs per chip: the ’C80 has four PPs and
`the ’C82 has two.
`
`Since the ’C82 has two PPs, software written to execute on both
`the ’C80 and ’C82 must not require more than two PPs. Software
`that can use up to four PPs but that requires only two PPs will run
`on both devices.
`
`The number of PPs on a chip can be counted through software.
`This allows you to optimize your software’s use of available PPs.
`See subsection 2.2.4, Counting the Number of PPs, for a descrip-
`tion of how your software can determine the number of available
`PPs.
`
` Comparison of the ’C80 and the ’C82
`
`1-3
`
`Ex. 1019 / Page 19 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 19
`
`

`

`Transfer Controller Differences
`
`1.3 Transfer Controller Differences
`The differences between the transfer controllers (TCs) on the
`’C80 and ’C82 are hardware differences. Generally, these differ-
`ences have a negligible impact on how you write your software.
`
`The ’C82 and ’C80 TCs differ in two main ways:
`
`- The ’C80 TC supports 7 XPT requests, but the ’C82 TC sup-
`ports 15 XPT requests.
`
`- The ’C80 TC uses dedicated pins for obtaining memory con-
`figuration information, but the ’C82 TC uses a configuration
`cache.
`
`1.3.1 Number of Externally Initiated Packet Transfer Requests
`
`The number of XPT requests handled by the ’C80 and ’C82 is dif-
`ferent. However, because XPT requests are driven by external
`devices, the seven XPT requests shared by the ’C80 and ’C82
`generally aren’t used to emulate each other in different systems
`with different peripherals. For example, the likelihood is small
`that the peripheral connected to XPT1 on the ’C80 software de-
`velopment board (SDB) is the same as the peripheral connected
`to XPT1 on a target ’C82 board. XPTs are normally handled
`through software drivers that are written for each application. The
`drivers for the SDB will almost always differ from the drivers used
`in an actual application.
`
`1.3.2 RAM Bank Configuration Mechanisms
`
`The special RAM bank configuration pins on the ’C80 and the
`configuration cache on the ’C82 are hardware features that have
`a negligible impact on software.
`
`1-4
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 20 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 20
`
`

`

` Video Controller Differences
`
`1.4 Video Controller Differences
`The ’C80 has an on-chip video controller, but the ’C82 does not.
`If the chips are to be used in video applications, the portion of
`your software that sets up the video timing registers needs to be
`written so that an external video controller can be used with the
`’C82. This is usually just a matter of switching video drivers, de-
`pending on the chip being used.
`
` Comparison of the ’C80 and the ’C82
`
`1-5
`
`Ex. 1019 / Page 21 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 21
`
`

`

`Memory Differences
`
`1.5 Memory Differences
`The ’C80 has 50 KB of on-chip RAM, and the ’C82 has 44 KB of
`on-chip RAM. On-chip RAM is used as data RAM, as parameter
`RAM, and as instruction and data caches.
`
`The ’C80’s RAM is partitioned into 25 individual 2-KB modules.
`In contrast, the ’C82’s RAM is partitioned into 11 individual 4-KB
`modules. Modules can be accessed in parallel over the crossbar
`during the same clock cycle without contention. However, since
`RAM organization is not identical in the ’C80 and ’C82, conten-
`tion may occur in one device without occurring in the other if your
`program does not compensate for this difference.
`
`For your reference, the memory maps of the ’C80 and ’C82 are
`described in Appendix A.
`
`1.5.1 Data RAMs
`
`Data RAMs are standard read/write memory with no caching or
`special features. They are the main areas in which the PPs store
`the data they are processing. Any transfer of data to or from data
`RAMs is done explicitly by the processors, either by a direct read
`from or write to memory, or by a request to the TC to transfer the
`data through packet transfers.
`
`As Figure 1–1 illustrates, all data RAM locations corresponding
`to PP0 and PP1 on the ’C80 are populated with data RAM on the
`’C82. Thus, the ’C82’s data-RAM map for PP0 and PP1 is a su-
`perset of the ’C80’s. The last half of each of the 4-KB memory
`spaces occupied by the ’C82’s PP0 data RAM 1 and PP1 data
`RAM 1 is unpopulated on the ’C80. The memory locations occu-
`pied by the ’C80’s data RAMs for PP2 and PP3 are unpopulated
`on the ’C82.
`
`1-6
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 22 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 22
`
`

`

`Figure 1–1. ’C80 and ’C82 Data RAMs in the Memory Map
`
` Memory Differences
`
`’C82 Block
`
`PP0 data RAM 0
`(4096 bytes)
`
`PP1 data RAM 0
`(4096 bytes)
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`(4096 bytes)
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`(4096 bytes)
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`
`’C80 Block
`
`PP0 data RAM 0
`
`PP0 data RAM 1
`
`PP1 data RAM 0
`
`PP1 data RAM 1
`
`PP2 data RAM 0
`
`PP2 data RAM 1
`
`PP3 data RAM 0
`
`PP3 data RAM 1
`
`Address
`(Hex)
`0000 0000
`0000 07FF
`0000 0800
`0000 0FFF
`0000 1000
`0000 17FF
`0000 1800
`0000 1FFF
`0000 2000
`0000 27FF
`0000 2800
`0000 2FFF
`0000 3000
`0000 37FF
`0000 3800
`0000 3FFF
`
`0000 8000
`0000 87FF
`0000 8800
`0000 8FFF
`0000 9000
`
`0000 97FF
`0000 9800
`
`0000 9FFF
`0000 8000
`
`0000 87FF
`0000 8800
`
`0000 8FFF
`0000 8000
`0000 87FF
`0000 8800
`0000 8FFF
`
`PP0 data RAM 2
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`PP1 data RAM 2
`
`PP0 data RAM 1
`(4096 bytes)
`
`PP1 data RAM 1
`(4096 bytes)
`
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`PP2 data RAM 2
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`(4096 bytes)
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`Reserved
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`PP3 data RAM 2
`Reserved
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`(4096 bytes)
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`Reserved
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`
` Comparison of the ’C80 and the ’C82
`
`1-7
`
`Ex. 1019 / Page 23 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 23
`
`

`

`Memory Differences
`
`1.5.2 Parameter RAMs
`
`A parameter RAM is associated with each processor on a ’C8x
`device. A portion of this RAM is dedicated to hardware parame-
`ters, such as the state of suspended packet transfers, buffers for
`external-to-external packet transfers, and interrupt vectors. The
`remainder of each parameter RAM is available to software for
`general-purpose data storage.
`
`Figure 1–2 contrasts the memory maps for the on-chip parame-
`ter RAM on the ’C80 and ’C82. All ’C80 memory locations occu-
`pied by parameter RAM for PP0, PP1, and the MP are also popu-
`lated on the ’C82. The memory locations occupied by the ’C80’s
`parameter RAMs for PP2 and PP3 are unpopulated on the ’C82.
`Each of the ’C82’s parameter RAMs is 4096 bytes long, which is
`twice the size of each parameter RAM on the ’C80. The second
`half of each of the corresponding memory spaces is unpopulated
`on the ’C80.
`
`Note:
`In the ’C80, the MP parameter RAM can be accessed only by
`the MP and TC. However, in the ’C82, the MP parameter RAM
`can be accessed by the MP, TC, and PPs.
`
`1-8
`
`TMS320C80 to TMS320C82 Software Compatibility User’s Guide
`
`Ex. 1019 / Page 24 of 64
`
`Petitioners HTC Corp. & HTC America, Inc. - Ex. 1019, p. 24
`
`

`

`Figure 1–2. ’C80 and ’C82 Parameter RAMs in the Memory Map
`
` Memory Differences
`
`Address
`(Hex)
`0100 0000
`0100 07FF
`0100 0800
`0100 0FFF
`0100 1000
`
`0100 17FF
`0100 1800
`
`0100 1FFF
`0100 2000
`0100 27FF
`0100 2800
`0100 2FFF
`0100 3000
`0100 37FF
`0100 3800
`0100 3FFF
`
`’C80 Block
`
`’C82 Block
`
`PP0 parameter RAM
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`ÉÉÉÉÉÉÉÉÉÉ
`
`PP0 parameter RAM
`(4096 bytes)
`
`PP1 parameter RAM
`(4096 bytes)
`
`PP1 parameter RAM
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`PP2 parameter RAM
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`(4096 bytes)
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`Reserved
`ÉÉÉÉÉÉÉÉÉÉ
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`PP3 parameter RAM
`Reserved
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`(4096 bytes)
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`Reserved
`
`ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ
`
`0101 0000
`0101 07FF
`0101 0800
`0101 0FFF
`
`MP parameter RAM
`(4096 bytes)
`
`MP parameter RAM
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`Reserved
`ÉÉÉÉÉÉÉÉÉÉ
`ÉÉÉÉÉÉÉÉÉÉ
`Figure 1–3 shows the MP parameter RAM in the ’C80 and ’C82.
`The memory maps of the hardware-dedicated areas in the first
`672 bytes are nearly identical in the ’C80 and

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