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.

194 Chapter 15<br />

speedups shown exceed 10× when compared to GCC libc memory management<br />

functions [14, 15, 18].<br />

An area estimate <strong>for</strong> Figure 15-5 indicates that, excluding the<br />

<strong>SoC</strong>DMMU, 154.75 million transistors are used [18]. Since the hardware<br />

area used by the <strong>SoC</strong>DMMU logic is approximately 7,500 transistors,<br />

30 K transistors are nee<strong>de</strong>d <strong>for</strong> a four processor configuration such as<br />

Figure 15-5. An additional 270 K transistors are nee<strong>de</strong>d <strong>for</strong> memory used<br />

by the <strong>SoC</strong>DMMU (mainly <strong>for</strong> virtual to physical address translation) <strong>for</strong><br />

the example above [18]. Thus, <strong>for</strong> 300 K (0.19%) extra chip area in this<br />

154.75 million transistor chip, a 4–10× speedup in dynamic memory allocation<br />

times is achieved.<br />

4.2. The <strong>SoC</strong>LC (RTOS1 vs. RTOS3)<br />

The System-on-a-Chip Lock Cache (<strong>SoC</strong>LC) removes lock variables from the<br />

memory system and instead places them in a special on-chip “lock cache.”<br />

Figure 15-8 shows a sample use of the <strong>SoC</strong>LC in a 4-processor system.<br />

The right-hand-si<strong>de</strong> of Figure 15-8 shows that the <strong>SoC</strong>LC keeps track of<br />

lock requestors through and generates interrupts to wake up the next<br />

in line (in FIFO or priority or<strong>de</strong>r) when a lock becomes available [11–13].<br />

The core i<strong>de</strong>a of the <strong>SoC</strong>LC is to implement atomic test-and-set in an <strong>SoC</strong><br />

without requiring any changes to the processor cores used.

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

Saved successfully!

Ooh no, something went wrong!