Program Sequencer Operations; Sequential Instruction Flow; Program Memory Data Accesses; Branches - Analog Devices ADSP-2106x SHARC User Manual

Table of Contents

Advertisement

3 Program Sequencing
3.2

PROGRAM SEQUENCER OPERATIONS

This section gives an overview of the operation of the program sequencer.
The various kinds of program flow are defined here and described in
detail in subsequent sections.
3.2.1

Sequential Instruction Flow

The program sequencer determines the next instruction address by
examining both the current instruction being executed and the current
state of the processor. If no conditions require otherwise, the ADSP-2106x
executes instructions from program memory in sequential order by simply
incrementing the fetch address.
3.2.2

Program Memory Data Accesses

Usually, the ADSP-2106x fetches an instruction from memory on each
cycle. When the ADSP-2106x executes an instruction which requires data
to be read from or written to the same memory block in which the
instruction is stored, there is a conflict for access to that block. The
ADSP-2106x uses its instruction cache to reduce delays caused by this type
of conflict.
The first time the ADSP-2106x encounters an instruction fetch that
conflicts with a program memory data access, it must wait to fetch the
instruction on the following cycle, causing a delay. The ADSP-2106x
automatically writes the fetched instruction to the cache to prevent the
same delay from happening again. The ADSP-2106x checks the instruction
cache on every program memory data access. If the instruction needed is
in the cache, the instruction fetch from the cache happens in parallel with
the program memory data access, without incurring a delay.
3.2.3

Branches

A branch occurs when the fetch address is not the next sequential address
following the previous fetch address. Jumps, calls and returns are the
types of branches which the ADSP-2106x supports. In the program
sequencer, the only difference between a jump and a call is that upon
execution of a call, a return address is pushed onto the PC stack so that it
is available when a return instruction is later executed. Jumps branch to a
new location without allowing return.
3.2.4

Loops

The ADSP-2106x supports program loops with the DO UNTIL instruction.
The DO UNTIL instruction causes the ADSP-2106x to repeat a sequence of
instructions until a specified condition tests true.
3 – 6
www.BDTIC.com/ADI

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ADSP-2106x SHARC and is the answer not in the manual?

Questions and answers

Table of Contents