Freescale-semiconductor StarCore SC140 Instrukcja Użytkownika Strona 253

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
  • Strona
    / 760
  • Spis treści
  • BOOKMARKI
  • Oceniono. / 5. Na podstawie oceny klientów
Przeglądanie stron 252
Programming Rule Notation
SC140 DSP Core Reference Manual 7-3
7.3 SC140 Pipeline Exposure
The SC140 has no hardware interlocks, so the pipeline is fully exposed during VLES execution. This is in
direct contrast with the VLES sequencing and grouping semantics presented above, and is the motivation
for the SC140 programming rules that follow. The programming rules hide the short pipeline latencies so
they are not exposed in the assembly source code, saving hardware complexity and making SC140 code
portable across different pipelines.
The SC140 software development tools (assembler and simulator) replace hardware interlocks with
software detection of equivalent programming rules. This allows the programmer to write software that
conforms to the VLES sequencing and grouping semantics defined above. The compiler code generation
conforms to the programming rules by definition, since it always produces correct SC140 code.
7.4 Programming Rule Notation
Programming rules in this chapter use the following notation:
7.4.1 Grouping Rules
Grouping rules enforce the VLES grouping semantics within the same VLES by specifying that instruction
“A” and instruction “B” cannot be “grouped in a VLES”. That is, “A” and “B” cannot execute in parallel.
Some grouping rules specify that instruction “A” cannot be in a VLES at a specific location. They use the
notation that “A” cannot be “in a delay slot,” “in a short loop,” “at LA of the same long loop n,” or “in the
first VLES of an exception service routine,” and so on.
7.4.1.1 Prefix Instructions
Prefix instructions are a unique instruction type, because they are encoded in a VLES prefix and are not
dispatched to execution units. Any unique rule application is specifically noted in the rule definition.
7.4.1.2 Conditional Su/jointfilesconvert/1233470/bgroups
Unless stated otherwise, the grouping rules in this chapter apply to the VLES as a whole regardless of any
conditional instructions, IFc groups, or su/jointfilesconvert/1233470/bgroups. Some rules apply independently to each IFc su/jointfilesconvert/1233470/bgroup,
and are specifically noted in the rule definitions. In this manual, the term “mutually exclusive su/jointfilesconvert/1233470/bgroups”
refers only to VLES having the IFT/IFF su/jointfilesconvert/1233470/bgroups. IFT/IFA and IFF/IFA are not mutually exclusive
su/jointfilesconvert/1233470/bgroups.
7.4.1.3 Assembler Reordering
The assembler reorders instructions within a VLES for encoding efficiency. If more than one instruction in
the VLES affects the carry bit C in SR, the assembler must keep the last (in assembly source order)
carry-affecting instruction in each group or su/jointfilesconvert/1233470/bgroup as last (highest word position) in its respective VLES
encoding. This reordering conforms to the carry-update semantics described in Section 7.2, “VLES
Grouping Semantics,” and is described in Section 5.2.5, “Instruction Reordering Within an Execution Set.”
Przeglądanie stron 252
1 2 ... 248 249 250 251 252 253 254 255 256 257 258 ... 759 760

Komentarze do niniejszej Instrukcji

Brak uwag