Altera Nios II C2H Compiler Manuale Utente Pagina 58

  • Scaricare
  • Aggiungi ai miei manuali
  • Stampa
  • Pagina
    / 138
  • Indice
  • SEGNALIBRI
  • Valutato. / 5. Basato su recensioni clienti
Vedere la pagina 57
3–18 9.1 Altera Corporation
Nios II C2H Compiler User Guide November 2009
Memory Accesses
Example 3–10 shows two dereferences that are identical inside of a loop.
The C2H Compiler consolidates them into a single master port.
Example 3–10. Equivalent Pointers in a Loop
void equivalent_pointers(char *packed_data, int len)
{
int i = 0;
while (i < len)
{
char ms_nibble = *(packed_data) >> 4;
char ls_nibble = *(packed_data++) & 0x0f;
...
i++;
}
}
Example 3–11 demonstrates a case of non equivalent pointers.
Example 3–11 is similar to Example 3–10, but packed_data increments
between the two pointer dereferences. In this case the address
expressions have different values, which translate to two separate master
ports.
Example 3–11. Nonequivalent Pointers
void nonequivalent_pointers(char *packed_data, int len)
{
int i = 0;
while (i < len)
{
char ms_nibble = *(packed_data++) >> 4;
char ls_nibble = *(packed_data) & 0x0f;
...
i++;
}
}
Vedere la pagina 57
1 2 ... 53 54 55 56 57 58 59 60 61 62 63 ... 137 138

Commenti su questo manuale

Nessun commento