29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

128 Chapter 10<br />

3. ON-CHIP COMMUNICATION SCHEDULING AND TIMING<br />

ANALYSIS<br />

For an accurate timing estimation of on-chip communication <strong>for</strong> <strong>de</strong>sign space<br />

exploration, we actually per<strong>for</strong>m optimal scheduling of the communication.<br />

For the accuracy, we consi<strong>de</strong>r the dynamic behavior of SW. We also consi<strong>de</strong>r<br />

the effect of buffer sharing on the communication scheduling.<br />

3.1. Problem <strong>de</strong>finition and notations<br />

Problem<br />

Given a task graph, a target architecture (with its parameters, e.g. maximum<br />

physical buffer sizes on shared memory components), and a mapping of tasks<br />

and communications on the target architecture (including physical buffer<br />

sharing), the problem is to find a scheduling of task execution and communication<br />

which yields the minimum execution time of the task graph on the<br />

target architecture.<br />

To solve the problem, we extend the task graph to an exten<strong>de</strong>d task graph<br />

that contains <strong>de</strong>tailed communication operations (in our terms, communication<br />

no<strong>de</strong>s). Then we apply an ILP <strong>for</strong>mulation or heuristic algorithm to<br />

schedule tasks and communications. For the on-chip communication, we<br />

assume on-chip buses and/or point-to-point interconnections.<br />

Exten<strong>de</strong>d task graph<br />

To solve the problem, we extend the input task graph (TG) to an exten<strong>de</strong>d<br />

task graph (ETG). Figure 10-2(a) shows a TG of H.263 enco<strong>de</strong>r system and<br />

Figure 10-2(b) shows an ETG exten<strong>de</strong>d from the TG. As shown in Figure<br />

10-2(b), we replace an edge of the TG into two communication no<strong>de</strong>s representing<br />

write and read data transactions. For instance, the edge between Source<br />

and MB_Enc of Figure 10-2(a) is trans<strong>for</strong>med to one communication no<strong>de</strong> <strong>for</strong><br />

the write operation, and another communication no<strong>de</strong> <strong>for</strong> read operation,<br />

in Figure 10-2(b).<br />

3.2. ILP <strong>for</strong>mulation<br />

Be<strong>for</strong>e explaining our ILP <strong>for</strong>mulation, we explain our notations used in it.<br />

3.2.1. ILP <strong>for</strong> dynamic software behavior<br />

The <strong>de</strong>lay of the communication no<strong>de</strong>s in the ETG can be mo<strong>de</strong>led in the<br />

ILP <strong>for</strong>mulation as follows:<br />

communication time of communication no<strong>de</strong><br />

of communication data<br />

start time of no<strong>de</strong><br />

finish time of no<strong>de</strong><br />

where n is the size

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!