Soft-Core Processor Design - CiteSeer
Soft-Core Processor Design - CiteSeer
Soft-Core Processor Design - CiteSeer
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