Altera Nios II C2H Compiler Bedienungsanleitung Seite 58

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 138
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 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++;
}
}
Seitenansicht 57
1 2 ... 53 54 55 56 57 58 59 60 61 62 63 ... 137 138

Kommentare zu diesen Handbüchern

Keine Kommentare