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.

126 Chapter 10<br />

On-chip communication <strong>de</strong>sign consi<strong>de</strong>ring both SW and HW<br />

communication architectures<br />

Most of previous on-chip communication <strong>de</strong>sign methods focus on HW communication<br />

architecture <strong>de</strong>sign, such as bus topology <strong>de</strong>sign, <strong>de</strong>termining bus<br />

priorities, and DMA size optimization [3–7]. A few studies consi<strong>de</strong>r the SW<br />

communication architecture in on-chip communication <strong>de</strong>sign [5, 8]. In [5],<br />

Ortega and Borriello presented a method of SW architecture implementation.<br />

In [8], Knudsen and Madsen consi<strong>de</strong>red <strong>de</strong>vice driver runtime (which <strong>de</strong>pends<br />

statically on the size of transferred data) to estimate on-chip communication<br />

runtime. However, the behavior of SW communication architecture is<br />

dynamic. The dynamism inclu<strong>de</strong>s interrupt processing, context switching, etc.<br />

Since the overhead of interrupt and that of context switching can often<br />

dominate embed<strong>de</strong>d SW runtime, they can significantly affect the total<br />

per<strong>for</strong>mance of HW/SW on-chip communication. In this work, we take into<br />

account the dynamic behavior of SW communication architecture in scheduling<br />

on-chip communication (Problem 1).<br />

Physical communication data storage: a physical communication buffer<br />

sharing problem<br />

In MP <strong>SoC</strong>s, multiple processors, other IPs and memory components communicate<br />

with each other requiring a data storage, i.e. physical communication<br />

buffer, to enable the communication. It is often the case that the physical<br />

communication buffer can take a significant portion of chip area. Especially,<br />

in the case of multimedia systems such as MPEG 2 and 4, the overhead of<br />

physical communication buffer can be significant due to the requirement of<br />

large-size data communication between components on the chip. There<strong>for</strong>e,<br />

to reduce the chip area, we need to reduce the size of the physical communication<br />

buffers of on-chip communication architecture. In our work, <strong>for</strong> the<br />

reduction, we take into account the sharing of the physical communication<br />

buffers by different communications in scheduling on-chip communication<br />

(Problem 2).<br />

2. MOTIVATION<br />

Figure 10-1 shows a simple task graph and its mapping on a target architecture.<br />

The three tasks in the graph are mapped on a microprocessor and a DSP.<br />

The two edges (communication buffers) are mapped on a shared memory in<br />

the target architecture. Figure 10-1(b), (c), and (d) shows Gantt charts <strong>for</strong> three<br />

cases of scheduling task execution and communication.<br />

In Figure 10-1(b), we assume that the two edges mapped on the shared<br />

memory do not share their physical buffers with each other. Thus, two physical<br />

buffers on the shared memory occupy separate regions of the shared memory.<br />

Figure 10-1(b) exemplifies the execution of the system in this case. First,<br />

task T1 executes and writes its output on its output physical buffer on the

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

Saved successfully!

Ooh no, something went wrong!