Sign in

username:

password:



Not a member?

Search c6x



Search tips

Subscribe to c6x



c6x by Keywords

AD535 | BIOS | Booting | Bootloader | C621 | C6211 | C6415 | C671 | C6711 | C6711DSK | C6713 | CCS | Chassaing | COFF | DAT | DM64 | DM642 | DMA | DSK671 | DSK6711 | EDM | EDMA | EMIF | Emulator | EVM | EVM620 | FFT | FIR | GPIO | Halting | HPI | HWI | IDK | JTAG | LDB | LDH | LDW | Linker | LMS | LOG_printf | Matlab | McBSP | MEM_alloc | MIPS | PCI | PCM3003 | Pipeline | Profiling | QDM | Reset | ROM | RTDX | Sampling | SDRAM | Stack | TEB | THS1206 | TMS320C621 | TMS320C6416 | TMS320C6711 | TMS320C6713 | UART | Vector Table | XBUS | XDS560


Discussion Groups

Discussion Groups | TMS320C6x | understanding software pipeline information

Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).

  

Post a new Thread

understanding software pipeline information - Khawar Shahzad - Jul 28 8:34:09 2008



Hi,
I am trying to understand the software pipeline information provided
by the compiler.
I could not understand what the compiler means by

" Searching for software pipeline schedule at ...
        ii = 1  Schedule found with 10 iterations in parallel "
what does ii(iteration interval means) and iterations in parallel mean
and how does they affect software pipelining?

The software pipelined loop kernel is

;**
--------------------------------------------------------------------------*
L2:    ; PIPED LOOP KERNEL
DW$L$_retu$3$B:
	.dwpsn
"C:\CCStudio\tutorial\sim64xx\reed_6446\sum_of_no\Debug\Untitled21.c",10,0
	.dwpsn
"C:\CCStudio\tutorial\sim64xx\reed_6446\sum_of_no\Debug\Untitled21.c",12,0

           ADD     .L1     A3,A6,A6          ; |11| <0,9> 
||         DOTP2   .M1     A4,A4,A3          ; |11| <4,5> 
|| [ B0]   BDEC    .S2     L2,B0             ; |9| <5,4> 
||         LDNW    .D1T1   *A5++(4),A4       ; |11| <9,0> 

DW$L$_retu$3$E:
;**
--------------------------------------------------------------------------*
In this Loop kernel i cannot understand the comments after the
instructions.
e.g ADD     .L1     A3,A6,A6          ; |11| <0,9> 
what does "|11| <0,9>" mean?
Thanks
Khawar Shahzad

------------------------------------

OMAP35x EVM jump-starts low-power apps
------------------------------------
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building
applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

Re: understanding software pipeline information - Michael Dunn - Jul 28 12:54:38 2008

Khawar,

On Mon, Jul 28, 2008 at 1:44 AM, Khawar Shahzad <k...@yahoo.com> wrote:
> Hi,
> I am trying to understand the software pipeline information provided
> by the compiler.
> I could not understand what the compiler means by
>
> " Searching for software pipeline schedule at ...
> ii = 1 Schedule found with 10 iterations in parallel "
>
> what does ii(iteration interval means) and iterations in parallel mean
> and how does they affect software pipelining?
>
> The software pipelined loop kernel is
>
> ;**
> ----------------------------------------------------------*
> L2: ; PIPED LOOP KERNEL
> DW$L$_retu$3$B:
> .dwpsn
> "C:\CCStudio\tutorial\sim64xx\reed_6446\sum_of_no\Debug\Untitled21.c",10,0
> .dwpsn
> "C:\CCStudio\tutorial\sim64xx\reed_6446\sum_of_no\Debug\Untitled21.c",12,0
>
> ADD .L1 A3,A6,A6 ; |11| <0,9>
> || DOTP2 .M1 A4,A4,A3 ; |11| <4,5>
> || [ B0] BDEC .S2 L2,B0 ; |9| <5,4>
> || LDNW .D1T1 *A5++(4),A4 ; |11| <9,0> DW$L$_retu$3$E:
> ;**
> ----------------------------------------------------------*
>
> In this Loop kernel i cannot understand the comments after the
> instructions.
> e.g ADD .L1 A3,A6,A6 ; |11| <0,9>
> what does "|11| <0,9>" mean?

<mld>
Have you looked at the software pipeline info in the compiler manual
[spru187] and the C6000 programmer's guide [spru198]??
|11| is the source line number.
<0,9> means...
"It [compiler] attaches a 2-tuple <x, y> to the comments to specify
the iteration and cycle of the loop an instruction is on in the
software pipeline. The zero-based number x
represents the iteration the instruction is on during the first
execution of the loop kernel. The zero-based
number y represents the cycle that the instruction is scheduled on
within a single iteration of the loop."

mikedunn
>
> Thanks
> Khawar Shahzad

-- 
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php

------------------------------------

OMAP35x EVM jump-starts low-power apps
------------------------------------
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building
applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )