tm1300 NXP Semiconductors, tm1300 Datasheet - Page 67

no-image

tm1300

Manufacturer Part Number
tm1300
Description
Tm-1300 Media Processor
Manufacturer
NXP Semiconductors
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
tm1300-1.2
Quantity:
380
Custom Operations for Multimedia
4.1
Custom operations in the TM1300 DSPCPU architecture
are specialized, high-function operations designed to
dramatically improve performance in important multime-
dia applications. When properly incorporated into appli-
cation source code, custom operations enable an appli-
cation to take advantage of the highly parallel TM1300
microprocessor implementation. Achieving a similar per-
formance increase through other means—e.g., execut-
ing a higher number of traditional microprocessor in-
structions per cycle—would be prohibitively expensive
for TM1300’s low-cost target applications.
Custom operations are simple to understand and consis-
tent in their definition, but their unusual functions make it
difficult for automatic code generation algorithms to use
them effectively. Consequently, custom operations are
inserted into source code by the programmer. To make
this process as painless as possible, custom operation
syntax is consistent with the C programming language,
and, just as with all other operations generated by the
compiler, the scheduler takes care of register allocation,
operation packing, and flow analysis.
4.1.1
For both general-purpose and embedded microproces-
sor-based applications, programming in a high-level lan-
guage is desirable. To effectively support optimizing
compilers and a simple programming model, certain mi-
croprocessor architecture features are needed, such as
a large, linear address space, general-purpose registers,
and register-to-register operations that directly support
the manipulation of linear address pointers. A common
choice in microprocessor architectures is 32-bit linear
addresses, 32-bit registers, and 32-bit integer opera-
tions. TM1300 is such a microprocessor architecture.
For the data manipulation in many algorithms, however,
32-bit data and operations are wasteful of expensive sil-
icon resources. Important multimedia applications, such
as the decompression of MPEG video streams, spend
significant amounts of execution time dealing with eight-
bit data items. Using 32-bit operations to manipulate
small data items makes inefficient use of 32-bit execution
hardware in the implementation. If these 32-bit resources
could be used instead to operate on four eight-bit data
items simultaneously, performance would be improved
by a significant factor with only a tiny increase in imple-
mentation cost.
CUSTOM OPERATIONS OVERVIEW
Custom Operation Motivation
by Gert Slavenburg, Pieter v.d. Meulen, Yong Cho, Sang-Ju Park
Getting the highest execution rate from standard micro-
processor resources is one of the motivations behind
custom operations in TM1300. A range of custom opera-
tions is provided that each processes—simultaneously—
four 8-bit or two 16-bit data items. There is little cost dif-
ference between a standard 32-bit ALU and one that can
process either one pair of 32-bit operands or four pairs of
eight-bit operands, but there is a big performance differ-
ence for TM1300’s target applications.
TM1300’s custom operations go beyond simply making
the best use of standard resources. Some custom oper-
ations combine several simple operations. These combi-
nations are tailored specifically to the needs of important
multimedia applications. Some high-function custom op-
erations eliminate conditional branches, which helps the
scheduler make effective use of all five operation slots in
each TM1300 instruction. Filling up all five slots is espe-
cially important in the inner loops of computational inten-
sive multimedia applications.
In short, custom operations help TM1300 reach its goals
of extremely high multimedia performance at the lowest
possible cost.
4.1.2
Table 4-1
tom operations available in the TM1300 architecture.
Table 4-1
tion while
For more detailed information about the custom opera-
tions,
Some operations exist in several versions that differ in
the treatment of their operands and results, and the mne-
monics for these versions make it easy to select the ap-
propriate operation. For example, the sum of products
operations all have “fir” in their mnemonics; the prefix
and suffix of the mnemonic expresses the treatment of
the operands and result. The ifir8ii operation treats both
of its operands as signed (ifir8ii) and produces a signed
result (ifir8ii). The ifir8iu operation treats its first operand
as signed (ifir8iu), the second as unsigned (ifir8iu), and
produces a signed result (ifir8iu). The ume8ii operation
implements an eight-bit motion-estimation; it treats both
operands as signed but produces an unsigned result.
The operations beginning with “dsp” implement a clip-
ping (sometimes called saturating) function before stor-
ing the result(s) in the destination register. Otherwise,
their naming follows the rules given above where appro-
priate. For example, the dspuquadaddui operation imple-
ments four 8-bit additions; it treats the first operand of
PRODUCT SPECIFICATION
Appendix A, “DSPCPU Operations for TM1300.”
Table 4-2
Introduction to Custom Operations
groups the custom operations by type of func-
and
Table 4-2
lists the operations by operand size.
contain two listings of the cus-
Chapter 4
4-1

Related parts for tm1300