ACM Home Page
Please provide us with feedback. Feedback
Hardware/software partitioning of software binaries: a case study of H.264 decode
Full text PdfPdf (106 KB)
Source International Conference on Hardware Software Codesign archive
Proceedings of the 3rd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis table of contents
Jersey City, NJ, USA
SESSION: Algorithms and methodologies for new architectures table of contents
Pages: 285 - 290  
Year of Publication: 2005
ISBN:1-59593-161-9
Authors
Greg Stitt  University of California, Riverside
Frank Vahid  University of California, Riverside
Gordon McGregor  Freescale Semiconductor
Brian Einloth  Freescale Semiconductor
Sponsors
SIGDA: ACM Special Interest Group on Design Automation
SIGBED: ACM Special Interest Group on Embedded Systems
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 66,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1084834.1084905
What is a DOI?

ABSTRACT

We describe results of a case study whose intent was to determine whether new techniques for hardware/software partitioning of an application's binary are competitive with partitioning at the C source code level. While such competitiveness has been shown previously for standard benchmark suites involving smaller or unoptimized applications, the case study instead focuses on a complete 16,000-line highly-optimized commercial-grade application, namely an H.264 video decoder. The several month study revealed that binary partitioning was indeed competitive, achieving nearly identical 2.5x speedups as source level partitioning, compared to a standard microprocessor. Furthermore, the study revealed that several simple C-level coding modifications, including pass by value-return, function specialization, algorithmic specialization, hardware-targeted reimplementation, global array elimination, hoisting and sinking of error code, and conversion to explicit control flow, could lead to improved application speedups approaching 7x for both source level and binary level partitioning.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
C. Scott Ananian. SiliconC: A Hardware Backend for SUIF. http://flex-compiler.lcs.mit.edu/SiliconC.
 
2
 
3
D. Burger and T.M. Austin. The SimpleScalar Tool Set, Version 2.0. University of Wisconsin-Madison Computer Sciences Department Technical Report #1342. June, 1997.
 
4
CatapultC. http://www.mentor.com/products/c-based_design/
 
5
C. Cifuentes, M. Van Emmerik, D.Ung, D. Simon, T. Waddington. Preliminary Experiences with the Use of the UQBT Binary Translation Framework. Proceedings of the Workshop on Binary Translation, Newport Beach, USA, October 1999.
 
6
CriticalBlue. <http://www.criticalblue.com>.
 
7
P. Eles, Z. Peng, K. Kuchchinski and A. Doboli. System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search. Kluwer's Design Automation for Embedded Systems, vol2, no 1, pp. 5-32, Jan 1997.
8
 
9
Freescale Semiconductor. http://www.freescale.com/.
10
 
11
 
12
OXFORD Hardware Compilation Group, The Handel language, Technical Report, Oxford University 1997.
13
 
14
15
 
16
XPRES Compiler. http://www.tensilica.com/html/xpres.html.

CITED BY  14

Collaborative Colleagues:
Greg Stitt: colleagues
Frank Vahid: colleagues
Gordon McGregor: colleagues
Brian Einloth: colleagues