17.11.2012 Views

Soft-Core Processor Design - CiteSeer

Soft-Core Processor Design - CiteSeer

Soft-Core Processor Design - CiteSeer

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

a fixed access time, since it is not subject to cache misses. Detailed analysis of this concept can be<br />

found in the literature [62].<br />

We also experimented with implementing the instruction decoder in logic rather than in<br />

memory, but there was no performance gain, while the area increased by 3.7% (100 LEs). In<br />

conclusion, the optimal UT Nios configuration uses the FIFO buffer of size 1 for systems that use<br />

only on-chip memory, and 2 for systems that use off-chip memory with a 2-cycle latency. For the<br />

maximum overall performance the number of registers in the register file should be 512, although<br />

256 registers suffice for most applications. The instruction decoder may be implemented in<br />

memory or logic, because the choice does not affect the processor performance. The next section<br />

explores the performance of the Altera Nios.<br />

5.3. Altera Nios Performance<br />

Altera Nios has many customizable parameters. In this section we explore how these<br />

parameters influence the performance. Since the number of possible parameter setting<br />

combinations is huge, we selected a subset of combinations that is likely to produce variations in<br />

performance. We carried out experiments similar to the ones described in the previous section for<br />

UT Nios.<br />

The effect of different instruction and data master priorities on the SRAM system, where both<br />

masters connect to the Avalon tri-state bridge was measured by assigning different arbitration<br />

priority ratios (data master priority/instruction master priority). On average, the performance<br />

advantage of assigning higher priority to the data master was one percent or less, depending on<br />

the priority ratio. Memory intensive programs experience up to 7% improvement in systems with<br />

a high arbitration priority ratio (6/1), relative to a system with the priority ratio 1/1. However,<br />

some programs slowed down by up to 3%. A small priority ratio, such as 2/1, had almost no<br />

effect on most programs.<br />

A probable reason why the Altera Nios benefits from higher data master priority, while the UT<br />

Nios does not, is the latency of memory loads. Although not specified in the documentation, in<br />

the next section we will argue that the Altera Nios buffers the data from the memory, while the<br />

UT Nios commits the data to the register file directly from the bus. The memory operations are,<br />

therefore, more critical to the performance of the Altera Nios; the higher arbitration priority for<br />

the data master improves the performance. Since the improvement is application specific, the<br />

decision on whether to assign higher priority to the data master should be made after the<br />

67

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

Saved successfully!

Ooh no, something went wrong!