15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FIGURE 37.10 Block diagram of Xtensa.<br />

shows a high-level block diagram of Xtensa. The base ISA features correspond to roughly 80 instructions.<br />

The designer can size or select configurable options, for example, how many physical registers to include<br />

in the implementation, or the size of the instruction and data caches. Optional features, shown as green in<br />

the figure, are selections the designer can make, such as whether to include a 16-bit multiply-accumulate<br />

functional unit. Optional and configurable functions let the designer select whether to include that feature<br />

and also to size it. For example, whether to include data watch-point registers and, if so, how many. Xtensa<br />

optionally supports several data formats such as fixed-point and floating-point. Vectra adds a configurable<br />

fixed-point vector coprocessor.<br />

Table 37.1 shows a few of the configuration parameters and associated legal values available in the<br />

current Xtensa implementation. Unlike conventional processors, Xtensa gives designers a choice regarding<br />

the functionality of the processor.<br />

Configuration<br />

The configuration process begins by accessing the Tensilica processor generator Web page at<br />

http://www.tensilica.com. Here, using a standard browser, the designer can select and size the desired<br />

features. The site’s configuration page gives the designer instant feedback on whether a particular choice<br />

will affect the speed, power, or area of the core. The user interface warns the designer of conflicting<br />

options or requirements for a particular option.<br />

© 2002 by CRC Press LLC<br />

TABLE 37.1 Xtensa Configuration Parameters<br />

Parameter Legal Values<br />

Instruction/data cache size 1–256 KB<br />

Instruction/data cache<br />

associativity<br />

Direct-mapped, 2-way, 4-way<br />

Instruction/data RAM size 1 KB, 2 KB, 4 KB, 8 KB, 16 KB<br />

Instruction/data ROM size 1 KB, 2 KB, 4 KB, 8 KB, 16 KB<br />

Size of windowed register file 32, 64<br />

Number of interrupts 0–32<br />

Interrupt levels 0–3<br />

Timers 0–3<br />

Memory order Big-endian, little-endian<br />

Interrupt Control<br />

Timers 0 to n<br />

Exception<br />

Support<br />

Base ISA Feature<br />

Configurable<br />

Function Optional<br />

Function & Optional<br />

Configurable<br />

Advanced Designer<br />

Defined<br />

Coprocessors<br />

Pr<br />

oc<br />

es<br />

so<br />

r<br />

C<br />

on<br />

tr<br />

ol<br />

s<br />

TRACE Port<br />

JTAG Tap<br />

Control<br />

On Chip Debug<br />

Designer-<br />

Defined<br />

Register<br />

Files<br />

Designer-<br />

Defined<br />

Execution<br />

Units<br />

Align and Decode<br />

Data Address Watch 0 to n<br />

Instruction<br />

Register File<br />

ALU<br />

MAC 16<br />

MUL 16<br />

MUL 32<br />

FPU<br />

Vectra DSP<br />

Instruction Address Watch 0 to n<br />

Instruction<br />

Address<br />

Data<br />

M<br />

e<br />

m<br />

or<br />

y<br />

Pr<br />

ot<br />

ec<br />

ti<br />

o<br />

n<br />

Data<br />

Address<br />

Instruction<br />

Memory<br />

Branch Logic and<br />

Instruction Fetch<br />

Data Memory<br />

or Cache & Tags<br />

Write<br />

Buffer<br />

Pr<br />

oc<br />

es<br />

so<br />

r<br />

In<br />

te<br />

rf<br />

ac<br />

e

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!