1. A Study of Compiler-Directed Multithreading for Embedded
Applications
Anasua Bhowmik Manoj Franklin Quang Trinh
Computer Sciences ECE Department and UMIACS ECE Department
Department University of Maryland University of Maryland
University of Maryland College Park, MD 20742 College Park, MD 20742
College Park, MD 20742
manoj@eng.umd.edu trinh@eng.umd.edu
anasua@cs.umd.edu
ABSTRACT ÔÐ Ø ÓÒ׸ Ò Ñ ÔÖÓ ××ÓÖ × Ò Ö× Ú ÙÒ
ÖÓÛ Ò Ñ Ò ÓÖ Ô Ö ÓÖÑ Ò Ò Ñ ×Ý×¹ ØÓ Ò ÐÙ ØÙÖ × Ø Ø Ö ØÖ Ø ÓÒ ÐÐÝ ÓÙÒ Ò Ò Ö Ð¹
Ø Ñ× × Ö Ø Ò Ò Û ÓÔÔÓÖØÙÒ Ø × ØÓ Ð Ú Ö Ø Ò ÕÙ × ÔÙÖÔÓ× ÔÖÓ ××ÓÖ× ½ º
×Ù × Ô Ô Ð Ò Ò Ò ÒרÖÙ Ø ÓÒ¹Ð Ú Ð Ô Ö ÐÐ Ð ÔÖÓ ×× Ò ¸ Ê ÒØ ×ØÙ × ÓÒ ÑÙÐØ Ø Ö Ò ÓÒ¬ÖÑ Ø Ø Ø Ö ×
Û Û Ö ÓÖ Ò ÐÐÝ Ú ÐÓÔ ÓÖ Ò Ö Ð¹ÔÙÖÔÓ× ÔÖÓ¹ × Ò ¬ ÒØ Ô Ö ÓÖÑ Ò ÔÓØ ÒØ Ð Ò Ü ÙØ Ò ×Ñ ÐÐ ÒÙѹ
××ÓÖ׺ ÁÒ Ø × Ô Ô Ö¸ Û ÒÚ ×Ø Ø Ø ÔÔÐ Ð ØÝ Ó Ö Ó Ø Ö × Ò Ô Ö ÐРк ÙÖØ ÖÑÓÖ ¸ Ø Ù× Ó ÑÙÐØ ÔÐ
ÓÑÔ Ð Ö¹ Ö Ø ÑÙÐØ Ø Ö Ò Ò ×Ô Ò ÙÔ Ñ Ö Û Ö × ÕÙ Ò Ö× ÓÖ ÔÖÓ ×× Ò Ð Ñ ÒØ× ´ØÓ Ø Ò Ü¹
ÔÔÐ Ø ÓÒ׺ ÁÒ Ô ÖØ ÙÐ Ö¸ Û Ø ÔÖÓ Ö Ñ× ÖÓÑ Ø ÈÓÛ¹ ÙØ ÑÙÐØ ÔÐ Ø Ö ×µ × × Ñ Ò Ù ÓÙ× Ù× Ó Ø
ÖרÓÒ Ò Ñ Ö ×Ù Ø ÓÐÐ Ø ÓÒ Ó ÔÖÓ Ö Ñ× ÖÓÑ Ø Ú Ð Ð ØÖ Ò× ×ØÓÖ Ù Ø Ò Ö × ¬Ø× Ú ÖÝ Ò ÐÝ Û Ø
Ñ ÔÔÐ Ø ÓÒ× Ö Ò Ù× ÓÙÖ ÓÑÔ Ð Ö¹ Ö Ø Ø Ó ÐÓ ÒØÖ Ð Þ Ø ÓÒ¸ Û × Ú ÖÝ ÑÔÓÖØ ÒØ ØÓ Ð
ÑÙÐØ Ø Ö Ò Ö Ñ ÛÓÖ ØÓ Ô ÖØ Ø ÓÒ Ø Ñ ÒØÓ ÑÙÐØ ÔÐ Û Ø ÓÒ¹ Ô Û Ö Ð Ý׺ Í× Ò Ø Ò Ö × Ú ÓÙÒØ
Ø Ö ×º Ï Ð Ô Ö ÓÖÑ Ò Ø Ô ÖØ Ø ÓÒ Ò ¸ Ø ÓÑÔ Ð Ö ØÓ Ù Ð Ø ÓÒ Ð ÔÖÓ ×× Ò Ð Ñ ÒØ× ´È ×µ × Ò
ÒÓØ ÓÒÐÝ ÓÒ× Ö× Ø Ô Ò Ò Ò ÓÖÑ Ø ÓÒ¸ ÙØ Ð×Ó Ú ÖÝ Ö Ð ÓÔØ ÓÒ ¾ ½¿ ½ º Ì ÔÖ Ñ ÖÝ Ñ Ò×
ÓÒ× Ö× ÓÒØÖÓÐ Ò Ô Ò Ò Ò ÓÖÑ Ø ÓÒ Ò ÔÖӬР¹ × Ó Ò Ö × Ò ÔÖÓ ××ÓÖ Ô Ö ÓÖÑ Ò ¸ × × Ò Ö × Ò Ø
Ò ÓÖÑ Ø ÓÒ ÓÒ Ø ÑÓר Ð ÐÝ ÓÒØÖÓÐ ÓÛ Ô Ø ×º ÇÙÖ ÐÓ ×Ô Ò Ö Ù Ò Ø Ñ ÑÓÖÝ Ð Ø Ò Ý¸ × ÐÛ Ý×
ÓÑÔ Ð Ö Ö Ñ ÛÓÖ × ÑÔÐ Ñ ÒØ ÓÒ Ø ËÍÁ ¹Å ËÍÁ ÒØ ÜÔÐÓ Ø Ø ÓÒ Ó Ø Ò Ö ÒØ Ô Ö ÐÐ Ð ×Ñ ÔÖ × ÒØ Ò
ÔÐ Ø ÓÖѺ Ì ÚÖ Ó ÜÔ Ò× ÓÒ Ù ØÓ Ø ÒØÖÓ Ù ¹ ÔÖÓ Ö Ñ׸ Û Ø Ø Ù× Ó ÓÑ Ò Ø ÓÒ Ó ×Ó ØÛ Ö Ò
Ø ÓÒ Ó Ø Ö Ò ÓÖÑ Ø ÓÒ × ÓÒÐÝ ¼º ¾±¸ ÙØ¸ Ø Ô Ö ÓÖ¹ Ö Û Ö Ø Ò Õ٠׺ ÐØ ÓÙ Ø Ñ ÓÖ ØÝ Ó ÔÖ Ú ÓÙ× Ö ¹
Ñ Ò ÔÓØ ÒØ Ð × ÕÙ Ø ×Ù ×Ø ÒØ к Ì « Ø Ó « Ö ÒØ × Ö Ò Ñ ÔÖÓ ××ÓÖ× Ó Ù× ÓÒ × Ò Ð Ø Ö
Ö Ø Ö ÓÒ ÓÙÖ Ø Ö Ô ÖØ Ø ÓÒ Ò Ø Ò ÕÙ × Ú ÐÙ Ø Ù×¹ Ó Ü ÙØ ÓÒ¸ ÑÓÖ « Ø Ú Ò Ö × Ó Ô Ö ÐÐ Ð ×Ñ Ò
Ò ØÖ ¹ Ö Ú Ò¸ ÑÙÐØ Ø Ö ÔÖÓ ××ÓÖ × ÑÙÐ ØÓÖº ÇÙÖ Ú ÖÓÑ Ø Ü ÙØ ÓÒ Ó ÑÙÐØ ÔÐ Ø Ö × ÐÓÒ Ò
Ñ ×ÙÖ Ñ ÒØ× Ò Ø Ø Ø ÙØÙÖ Ñ ÔÖÓ ××ÓÖ× Ò ØÓ Ø × Ñ ÔÖÓ Ö Ñ½ º
×Ô ÙÔ Ø Ü ÙØ ÓÒ Ó × ÕÙ ÒØ Ð ÔÖÓ Ö Ñ× Û Ø ÐÓÛ ¹ Ì × Ô Ô Ö ÒÚ ×Ø Ø × Ø ÔÓØ ÒØ Ð Ó ×Ó ØÛ Ö ´ ÓÑÔ Ð Ö¹
Ö × Ó ÑÙÐØ Ø Ö Ò º × µ Ø Ò ÕÙ × ØÓ Ô ÖØ Ø ÓÒ × ÕÙ ÒØ Ð Ñ ÔÖÓ Ö Ñ×
ÒØÓ ÑÙÐØ ÔÐ Ø Ö × Ø Ø Ø Ö Û Ö Ò Ü ÙØ Ò Ô Ö¹
ÐРк Ù× Ø ÓÑÔ Ð Ö × Ò ÓÚ Ö ÐÐ Ú Û Ó Ø ÔÖÓ¹
Keywords Ö Ñ¸ Ø Ò ¬Ò Ø ÓÒØÖÓÐ Ò Ô Ò ÒØ ÔÓ ÒØ× Ò Ø ÔÖÓ¹
Ö Ò ÔÖ Ø ÓÒ¸ ÓÒØÖÓÐ Ô Ò Ò ¸ ÈÓÛ ÖרÓÒ Ò ¹ Ö Ñ Ò Ô ÖØ Ø ÓÒ Ø × ÕÙ ÒØ Ð ÔÖÓ Ö Ñ ÒØÓ ÑÙÐØ ÔÐ
Ñ Ö ×¸ ÔÖÓ¬Ð Ò ¸ ×Ô ÙÐ Ø Ú Ü ÙØ ÓÒ¸ Ø Ö ¹Ð Ú Ð Ô Ö Ð¹ Ø Ö ×º ÁØ Ò Ð×Ó Ø ÖÑ Ò Ø Ô Ò Ò × ØÛ Ò
Ð Ð ×Ñ ´ÌÄȵ ר ÒØ Ó º Ï Ù× ÓØ Ó Ø × ØÙÖ ×¸ ÐÓÒ Û Ø
ÔÖӬР¹ × Ø ÓÒ Ð ÐÝ ÓÒØÖÓÐ ÓÛ Ô Ø ×¸ ØÓ Ô ÖØ Ø ÓÒ
1. INTRODUCTION × ÕÙ ÒØ Ð ÔÖÓ Ö Ñ× ÒØÓ ÑÙÐØ ÔÐ Ø Ö ×º Ì Ù׸ ÓÙÖ Óѹ
ÔÐ Ö × Ø Ö Ô ÖØ Ø ÓÒ Ò Ð ÓÖ Ø Ñ Ø × ÒØÓ ÓÙÒØ
ÁÑÔÖÓÚ Ò Ø Ü ÙØ ÓÒ ×Ô Ó Ñ ÔÔÐ Ø ÓÒ× ÓØ ÓÒØÖÓÐ Ò Ø Ò Ô Ò Ò ØÓ Ó « Ø Ú Ø Ö
× ÓÑ Ò Ò ÑÔÓÖØ ÒØ ÔÖÓ Ð Ñº ÒÝ × Ö ÓÙ× ØØ ÑÔØ× Ô ÖØ Ø ÓÒ Ò º ÖÓÑ Ø Ö Û Ö × ¸ Ø Ú ÐÙ ÔÖ ¹
Ø ×ÓÐÚ Ò Ø × ÔÖÓ Ð Ñ × ÓÙÐ Ö ÙÐÐÝ ÓÒ× Ö Ø ØÖ Ò × Ø ÓÒ × Ò ÓÖÔÓÖ Ø ØÓ Ö Ù Ø « Ø Ó ÒØ Ö¹Ø Ö Ø
Ò Ø ÒÓÐÓ Ýº ÁÒ ×Ô Ø Ó Ø × Ú Ö ÔÓÛ Ö ÓÒ×ÙÑÔØ ÓÒ Ô Ò Ò ×º
Ö ÕÙ Ö Ñ ÒØ×¸ Ø ÒÙÑ Ö Ó ØÖ Ò× ×ØÓÖ× Ò Ñ ÔÖÓ¹ ÇÙÖ ×ØÙ × Û Ø Ñ ÔÔÐ Ø ÓÒ× Ú Ð ØÓ Ø
××ÓÖ× × Ò Ö × Ò ¸ ÔÖ Ñ Ö ÐÝ Ù ØÓ Ú Ò × Ò Ú ÓÐÐÓÛ Ò Ó × ÖÚ Ø ÓÒ×
Ø ÒÓÐÓ Ýº Ì × ÓÒ Ó Ò ÜÔÐÓ× ÓÒ Ò Ú Ø ÒÓÐÓ Ý ×
ÓÑÔÐ Ñ ÒØ Ý × Ñ Ð Ö Ò Ö × Ò ÐÓ ×Ô º Ì × ¯ Ì Ô Ö ÓÖÑ Ò ÔÓØ ÒØ Ð Ó × Ò Ð ¹Ø Ö ÔÖÓ ×¹
× ØÙ Ø ÓÒ × ÓÑÔÐ Ø Ý ÓÒ×ØÖ ÒØ Ø Ø × ÖÑ Ò ØÓ ×ÓÖ× × ÖÐÝ Ð Ñ Ø º
Ñ ÔÖÓ ××ÓÖ× ÐÓÛ ÔÓÛ Ö ÓÒ×ÙÑÔØ ÓÒº × Ò Ö×
Ó Ñ ÔÖÓ ××ÓÖ× Ú Ò ÙØ Ð Þ Ò Ø Ò Ö × Ò ½
Ì Ø ÖÑ Ø Ö × « Ö ÒØ Ñ Ò Ò × Ò « Ö ÒØ ÓÒ¹
ØÖ Ò× ×ØÓÖ Ù Ø ØÓ Ò ÓÖÔÓÖ Ø ×Ô Ð ØÙÖ × Ø Ø ×Ô Ø ÜØ× ÓÙÖ ÒÓØ ÓÒ Ó Ø Ö × × ¬Ò Ö Ø Ò Ø Ó Ö× ¹ Ö Ò
ÙÔ ×ÓÑ ×Ô Ø× Ó Ñ ÓÑÔÙØ Ò º ÙØ ØÓ Ý Ñ¹ ÇË¹Ð Ú Ð Ø Ö ×¸ Ò ÓÑÔÖ × Ó Ø Ò× ØÓ ÙÒ Ö × Ó Ò¹
ÔÖÓ ××ÓÖ× Ö Ò Ù× ÓÖ Û Ú Ö ØÝ Ó Ô¹ רÖÙ Ø ÓÒ׺
2. ¯ ÓÑÔ Ð Ö¹ Ö Ø ×Ô ÙÐ Ø Ú ÑÙÐØ Ø Ö Ò ¸ ÐÓÒ Û Ø Ò Ñ Ö × Ö ÔØ ÓÒ
Ø Ú ÐÙ ×Ô ÙÐ Ø ÓÒ¸ × ÓÓ ÔÓØ ÒØ Ð ØÓ ×Ô ÙÔ ÙØÓ ÙØÓÑÓ Ð ÓÒØÖÓÐ ÔÔÐ Ø ÓÒ
Ñ ÔÔÐ Ø ÓÒ× «Ó
¯ ËÓÑ Ñ ÔÖÓ Ö Ñ× Ò ¬Ø ÖÓÑ Ø Ù× Ó ÒÓÒ¹ ÐÚ Ë Ø¸ Æ ¸ ÇÊ ÓÔ Ö Ø ÓÒ
ÐÓÓÔ Ø Ö × ÐØ Ö Ô × ÔÔÐ Ø ÓÒ
ÓÑÔÖ ×× ÍÒ Ü ÙØ Ð ØÝ
Ì Ö ×Ø Ó Ø × Ô Ô Ö × ÓÖ Ò Þ × ÓÐÐÓÛ׺ Ë Ø ÓÒ ¾ × Ø Ò ÖÝÔØ ÓÒ ×Ø Ò Ö
ÔÖÓÚ × ÖÓÙÒ Ò ÓÖÑ Ø ÓÒ ÓÒ ÑÙÐØ ¹Ø Ö Ò ÓÖ Ñ¹ ¬Ö ÒØ
×Ýר Ñ× ÔÔÐ Ø ÓÒ׺ Ë Ø ÓÒ ¿ ÔÖ × ÒØ× Ò ÓÚ ÖÚ Û ¿ Ü ÖÓÙÔ Ø Ö Ü Ó
Ó ÓÙÖ ÑÙÐØ ¹Ø Ö Ò ÓÑÔ Ð Ö Ö Ñ ÛÓÖ º Ë Ø ÓÒ ÔÖ × ÒØ× ´Ë Ò Ð Ð Ú Ð Ñ ÓÑÔÖ ×× ÓÒµ
Ò ÜÔ Ö Ñ ÒØ Ð Ú ÐÙ Ø ÓÒ Ó Ø ÓÑÔ Ð Ö¹ Ò Ö Ø Ø Ö × Ù Õ×ÓÖØ ͺ º º ÉÙ ×ÓÖØ
ÓÖ Ø ÈÓÛ ÖרÓÒ Ò Ñ Ö ×º Ë Ø ÓÒ ÔÖ × ÒØ× ×Ùѹ
Ñ ÖÝ Ò Ø Ñ ÓÖ ÓÒ ÐÙ× ÓÒ× Ó Ø × Ô Ô Öº Ì Ð ½ ÈÓÛ ÖרÓÒ Ò Ñ Ö ×Ù Ø
2. MULTITHREADING FOR EMBEDDED
APPLICATIONS ÒØ ÓÒØÖÓÐ ÓÛ ÑÓ Ð׺ Ì Ð ¾ ÔÖ × ÒØ× Ø Ú Ð Ð Ô Ö¹
ÐÐ Ð ×Ñ Ó Ø Ò ÓÖ ¿ ×ØÖ Ø Ñ Ò ÑÓ Ð× ´ Ú Ò Ò ¿
2.1 Constraints for Embedded Processors ÓÐÙÑÒ×µ ´ µ Ò Ü ÙØ ÓÒ ÑÓ Ð Ò Û ÓÒØÖÓÐ ×Ô Ù¹
Ñ ÔÖÓ ××ÓÖ× ÙÖÖ ÒØÐÝ ÓÖÑ Ò ÑÔÓÖØ ÒØ × ØÓÖ Ð Ø ÓÒ × ÑÔÐÓÝ Û Ø Ò Û Ò ÓÛ Ó ¿¾ ÒרÖÙ Ø ÓÒ׸ ÙØ
Ó Ø ÔÖÓ ××ÓÖ Ñ Ö Øº Ì Ý Ö Ô ÖØ ÙÐ ÖÐÝ Ù× Ò Ñ ÒÝ ÓÒØÖÓÐ Ò Ô Ò Ò × ÒÓØ ÙØ Ð Þ ¸ ´ µ Ò Ü ÙØ ÓÒ ÑÓ Ð
ÔÔÐ Ø ÓÒ× Ò Ø ÓÑÑÙÒ Ø ÓÒ× Ò ÑÓ Ð ÓÑÔÙØ Ò ÒÛ ÓÒØÖÓÐ ×Ô ÙÐ Ø ÓÒ × ÑÔÐÓÝ ¸ Ò ÓÒØÖÓÐ Ò¹
Ö º ÐØ ÓÙ Ø × Ø Ò Ø× Ó ÓÑÔÙØ Ò Ò Ø Ñ¹ Ô Ò Ò × ÙØ Ð Þ Û Ò Ú Ö Ö Ò × Ñ ×ÔÖ Ø
×Ýר Ñ× ÛÓÖÐ Ö Ø × Ñ × Ø Ó× Ò Ø Ò Ö Ð¹ Û Ø Ò Û Ò ÓÛ Ó ¾ ÒרÖÙ Ø ÓÒ׸ Ò ´ µ Ò Ü ÙØ ÓÒ
ÔÙÖÔÓ× ÓÑÔÙØ Ò ÛÓÖÐ ¸ Ø Ö Ö ×ÓÑ Ø ÓÒ Ð ÓÒ¹ ÑÓ Ð Ø Ø ÙØ Ð Þ × Ô Ö Ø Ö Ò ÔÖ Ø ÓÒ Ò Û Ò ÓÛ
×ØÖ ÒØ× ØÓ ÓÒ× Ö Û Ð × ÒÒ Ñ ÔÖÓ ×¹ × Þ Ó ¾ ÒרÖÙ Ø ÓÒ׺ Ì ¬Öר × Ò Ø × ÐÑØ Ó
×ÓÖ׺ Ì × ÓÒ×ØÖ ÒØ× ÓÒ ÖÒ ÔÖ Ñ Ö ÐÝ Û Ø ÔÓÛ Ö ×× ¹ Û Ø Ò Ú Ý ÁÄÈ ´ ÒרÖÙ Ø ÓÒ¹Ð Ú Ð Ô Ö ÐÐ Ð ×ѵ
Ô Ø ÓÒ¸ Ó × Þ ¸ Ò × Þ º Å ÒÝ Ñ ÔÖÓ ××ÓÖ× Ø Ò Õ٠׸ Ò Ø × ÓÒ Ò Ø × Ø ÔÓØ ÒØ Ð Ó ÔÙÖ×Ù¹
Ö Ù× Ò ÔÔÐ Ø ÓÒ× ×Ù × ÐÐÙÐ Ö Ô ÓÒ × Û Ö Ø Ò ÑÙÐØ ÔÐ Ø Ö ×º Ì × Ñ ×ÙÖ Ñ ÒØ× Û Ö ÓÒ Û Ø
ÔÓÛ Ö ×ÙÔÔÐÝ × Ö Ú ÖÓÑ ØØ Öݺ ÓÖ ×Ù ÔÔÐ ¹ Ø ÐÔ ÒרÖÙ Ø ÓÒ × Ø Ö Ø ØÙÖ º
Ø ÓÒ׸ Ø × Ú ÖÝ ÑÔÓÖØ ÒØ Ø Ø Ø ÔÓÛ Ö ÓÒ×ÙÑÔØ ÓÒ Ó Ø Ì Ð ¾ Ð×Ó ÔÖ × ÒØ× Ø Ö Ò ÔÖ Ø ÓÒ ÙÖ × Ó ¹
ÔÖÓ ××ÓÖ × × ÐÓÛ × ÔÓ×× Ð º Å ÒÝ Ñ ×Ýר Ñ× Ö Ø Ò ÓÖ Ø Ò Ñ Ö ×º Ï Ö × Ñ ÒÝ Ó Ø Ò ¹
Ð×Ó ÓÒ×ØÖ Ò Ý Ñ ÑÓÖÝ × Þ Ò × Þ Ð Ñ Ø Ø ÓÒ׺ Ñ Ö × Ó Ø Ò Ú ÖÝ ÔÖ Ø ÓÒ ÙÖ ×¸ Ò Ø Ö Ò
Ä Ñ Ø Ñ ÑÓÖÝ × Þ ÑÔÐ × Ø Ø Ø Ó × Þ × ÓÙÐ ±¹ º ±¸ Ø Ö Ö Û Ø Ø Ó Ø Ò ×Ù ×Ø ÒØ ÐÐÝ ÐÓÛ
× ×Ñ ÐÐ × ÔÓ×× Ð º ÁÒ ×Ô Ø Ó Ø × ×Ô Ð ÓÒ×ØÖ ÒØ× ÓÖ ÔÖ Ø ÓÒ ÙÖ × ÓÑÔÖ ×× ´ ½º¼±µ¸ Ù Õ×ÓÖØ ´ ½º¼ ±µ¸
Ñ ×Ýר Ñ׸ Ø Ñ Ò × ÓÒ Ø ÔÖÓ ×× Ò ÔÓÛ Ö Ò × ´ º ¾±µº Ì Ô Ö ÐÐ Ð ×Ñ Ó Ø Ò Ý Ö Ò ÔÖ ¹
ÓÖ Ñ ÔÔÐ Ø ÓÒ× × Ò ×Ø ÐÝ Ö × Ò º Ø ÓÒ ÐÓÒ × Ò ØÙÖ ÐÐÝ ÐÓÛ ÓÖ Ø × Ø Ö Ò Ñ Ö ×
´ ÖÓÙÒ µº Ì ÓÐÙÑÒ Ø Ø × Ó Ô ÖØ ÙÐ Ö ÒØ Ö ×Ø ØÓ Ù×
2.2 Parallelism in Powerstone Benchmark Pro- × Ø Ô ÒÙÐØ Ñ Ø ÓÒ ¸ Ù× Ø × ÓÛ× Ø ÔÓØ ÒØ Ð Ó
grams ÑÙÐØ Ø Ö Ò ØÓ ÑÔÖÓÚ Ô Ö ÓÖÑ Ò º ÇÒ ÐÓÓ Ò Ø Ø ×
ÁØ × ÛÓÖØ Û Ð ØÓ Ö Ø ÖÞ Ñ ÔÔÐ Ø ÓÒ׺ ÓÐÙÑÒ¸ Û Ò × Ø Ø Ü ÔØ ÓÖ ÙØÓ¸ ׸ Ò ¿ ܸ
ÁÒ Ô ÖØ ÙÐ Ö¸ Û Ð ØÓ ÒÓÛ ÓÛ ÑÙ Ô Ö ÐÐ Ð ×Ñ Ü ×Ø×¸ Ø ÓØ Ö× Ò Ó Ø Ò Ö ×ÓÒ Ð Ô Ö ÓÖÑ Ò Ò Ò Ñ ÒØ×
Û Ø Ò Ó Ö Ò ÔÖ Ø ÓÒ ÙÖ × Û Ò Ó Ø Ò¸ Ø º Ý ×Ñ ÐÐ¹× Ð ÑÙÐØ Ø Ö Ò º
ÌÓ Ø Ø Ò ¸ Û Ñ ×ÙÖ Ø Ú Ð Ð Ô Ö ÐÐ Ð ×Ñ ´ÙÒ Ö Ì × Ö Ø Ö Þ Ø ÓÒ Ð×Ó Ò Ø × Ø Ø ÓÖ ÑÓר Ó Ø
« Ö ÒØ Ñ Ò ÑÓ Ð×µ ÔÖ × ÒØ Ò Ø ÈÓÛ ÖרÓÒ Ò ¹ ÔÖÓ Ö Ñ× Ò Ø ÈÓÛ ÖרÓÒ Ò Ñ Ö ×Ù Ø ¸ ÒרÖÙ Ø ÓÒ¹
Ñ Ö ×¸ ÓÐÐ Ø ÓÒ Ó Ñ ÔÔÐ Ø ÓÒ ÔÖÓ Ö Ñ× Ò¹ Ð Ú Ð Ô Ö ÐÐ Ð ×Ñ ´ÁÄȵ Ø Ò ÕÙ × Ò ÔØÙÖ ÓÒÐÝ Ð Ñ Ø
ÐÙ Ò ÙØÓÑÓ Ð ÓÒØÖÓи × Ò Ð ÔÖÓ ×× Ò ¸ Ö Ô × Ò ÑÓÙÒØ Ó Ô Ö ÐÐ Ð ×Ѻ
Ü ÔÔÐ Ø ÓÒ׺ × Ö ÔØ ÓÒ Ó Ø Ò Ñ Ö × × ÚÒ
Ò Ì Ð ½º Ì × ÔÓÖØ Ð Ò Ñ Ò Ñ Ö × Ö 2.3 Speculative Multi-threading for Embed-
Ù× ØÓ Ñ × Ò ØÖ ¹Ó«× Ò Ø Ö Ø ØÙÖ Ò Ø ded Processors
ÓÑÔ Ð Ö Ó Ø ÅÓØÓÖÓÐ ÐÓÛ ÔÓÛ Ö Å¹ ÇÊ ÔÖÓ ××ÓÖ Å ÒÝ Ó Ø Ñ ÔÔÐ Ø ÓÒ× Ö ÒÓÒ¹ÒÙÑ Ö Ò
½ º ÓÖ Ø × ×ØÙ Ý¸ Û Ù× ×Ó ØÛ Ö ØÓÓÐ ÐÐ Ì È Ò ØÙÖ º ÁÒ Ô ÖØ ÙÐ Ö¸ Ò ×Ù ÔÔÐ Ø ÓÒ× Ñ ÑÓÖÝ Ö ×× ×
´ÌÓÓÐ ÓÖ Ú Ð Ð È Ö ÐÐ Ð ×Ñ ×Ø Ñ Ø ÓÒµ ¿ º Ì È Ô Ö¹ Ö Æ ÙÐØ ´ ÒÓØ ÑÔÓ×× Ð µ ØÓ ר Ø ÐÐÝ ÔÖ Ø Ò Ô ÖØ
ÓÖÑ× ØÖ ¹ × × ÑÙÐ Ø ÓÒ¸ Ò Ô Ö ÓÖÑ× Ô Ö ÐÐ Ð ×Ñ Ù× Ø Ý Ó Ø Ò Ô Ò ÓÒ ÖÙÒ¹Ø Ñ ÒÔÙØ× Ò Ú ÓÖ
Ð Ñ Ø ×ØÙ Ý Ý ÓÒרÖÙ Ø Ò ÝÒ Ñ Ô Ò Ò Ö Ô Ø Ø Ñ × Ø ÜØÖ Ñ ÐÝ Æ ÙÐØ ÓÖ Ø ÓÑÔ Ð Ö ØÓ ר Ø ¹
´ µ × ÓÒ Ø « Ö ÒØ Ò × Ó Ô Ò Ò × ÔÖ × ÒØ ÐÐÝ ÔÖÓÚ Û Ø Ö ÓÖ ÒÓØ ÔÓØ ÒØ Ð Ø Ö × Ö Ò Ô Ò¹
ÑÓÒ Ø ÒרÖÙ Ø ÓÒ× Ó Ø ØÖ º Ì È ÐÐÓÛ× « Ö ÒØ ÒØº ÌÓ Ð Û Ø Ø × Æ ÙÐØ ׸ Ø ×Ô ÙÐ Ø Ú ÑÙй
ÑÓ Ð× ÓÖ Ò Ð Ò ÓÒØÖÓÐ Ô Ò Ò × Ö Ð ×Ø Ö Ò ØØ Ö Ò ´ËÔÅ̵ ÑÓ Ð × Ò ÓÙÒ ØÓ ÑÓÖ ¹
ÔÖ Ø ÓÒ¸ Ö Ð ×Ø Ö Ò ÔÖ Ø ÓÒ Ù Ñ ÒØ Û Ø Ü¹ ØÚ ½ º Ì × ÑÓ Ð × Ô ÖØ ÙÐ ÖÐÝ ÑÔÓÖØ ÒØ ØÓ Ð
ÔÐÓ Ø Ø ÓÒ Ó ÓÒØÖÓÐ Ò Ô Ò Ò ×¸ Ò Ô Ö Ø Ö Ò ÔÖ ¹ Û Ø Ø ÓÑÔÐ Ü ÓÒØÖÓÐ ÓÛ ÔÖ × ÒØ Ò ØÝÔ Ð ÒÓÒ¹ÒÙÑ Ö
Ø ÓÒº ÔÖÓ Ö Ñ׺ ÁÒ Ø × ÑÓ Ð¸ Ø Ö × Ö ÜØÖ Ø ÖÓÑ × ÕÙ Ò¹
Ä Ø Ù× Ø ÕÙ ÐÓÓ Ø Ø ÑÓÙÒØ Ó Ô Ö ÐÐ Ð ×Ñ Ø Ð Ó Ò ÖÙÒ Ò Ô Ö ÐРи Û Ø ÓÙØ Ú ÓÐ Ø Ò Ø × ÕÙ Ò¹
Ú Ð Ð Ò Ø ÈÓÛ ÖרÓÒ Ò Ñ Ö × ÙÒ Ö Ø × « Ö¹ Ø Ð ÔÖÓ Ö Ñ × Ñ ÒØ ׺ Ì × Ñ Ò× Ø Ø ÒØ Ö¹Ø Ö Óѹ
3. Ì Ð ¾ Ú Ð Ð È Ö ÐÐ Ð ×Ñ Û Ø « Ö ÒØ ÓÒØÖÓÐ ÐÓÛ ÅÓ Ð×
Ö Ò Ú Ð Ð Ô Ö ÐÐ Ð ×Ñ Û Ø
Ò Ñ Ö ÔÖ Ø ÓÒ ÆÓ ÙØ Ð Þ Ø ÓÒ Ó ÍØ Ð Þ Ø ÓÒ Ó ÈÖ Ø
ÙÖ Ý ÓÒØÖÓÐ ÓÒØÖÓÐ Ö Ò
Ò ÔÒ Ò Ò Ô Ò Ò ÔÖ Ø ÓÒ
ÙØÓ º ± º º º
«Ó º¾¿± ½¼º¼¼ ¾¼º ¾¼º ¼
ÐÚ º½ ± ½¾º½ ½ º ½ º
ÐØ º ¼± º ½¼º¾¾ ½¼º¾¾
ÓÑÔÖ ×× ½º¼¼± º ½¼º¾ ½ º ¿
× º ¾± º º ¾ º¾
¬Ö ÒØ º¼ ± ½¼º½ ½ º ½ º
¿ Ü º¼ ± º ¼ º ½ º
Ù Õ×ÓÖØ ½º¼ ± º ½¼º ½ º ¿
ÑÙÒ Ø ÓÒ ØÛ Ò ÒÝ ØÛÓ Ø Ö × ´ Òݵ × ×ØÖ ØÐÝ Ò ØÓ ÓÓ Ô ÖØ Ø ÓÒ Ò º È ÖØ Ø ÓÒ Ò ÔÖÓ Ö Ñ× ÒØÓ
ÓÒ Ö Ø ÓÒ¸ × Ø Ø Ý Ø × ÕÙ ÒØ Ð Ø Ö ÓÖ Ö Ò º Ø Ö × ÓÖ ÒÓÒ ×ØÖ Ø Ð Ò Ù × ´ Ð µ ×Ù Ø Ø ØÓØ Ð
Ì Ù׸ ÒÓ ÜÔÐ Ø ×ÝÒ ÖÓÒ Þ Ø ÓÒ ÓÔ Ö Ø ÓÒ× Ö Ò ×× Öݸ Ü ÙØ ÓÒ Ø Ñ × Ñ Ò Ñ Þ ¸ × Ò ÆÈ¹ ÓÑÔÐ Ø ÔÖÓ Ð Ñº
× Ø × ÕÙ ÒØ Ð × Ñ ÒØ × Ó Ø Ø Ö × Ù Ö ÒØ ÔÖÓÔ Ö ËÓ Û ÓÖÑÙÐ Ø ×ÓÑ Ñ ØÖ × Ò Ù× Ø Ñ ØÓ ¬Ò ÓÓ
×ÝÒ ÖÓÒ Þ Ø ÓÒº ÈÖÓ Ö Ñ ÓÖÖ ØÒ ×× Û ÐÐ ÒÓØ Ú ÓÐ Ø ×ÓÐÙØ ÓÒ Ó Ø Ô ÖØ Ø ÓÒ Ò ÔÖÓ Ð Ñº
Ø ÖÙÒ Ø Ñ Ø Ö × ØÖÙ Ø Ô Ò Ò ØÛ Ò ØÛÓ ÁÒ Ø ÓÐÐÓÛ Ò ×Ù × Ø ÓÒ× Û × Ù×× ÓÛ Ø ÓÑÔ Ð Ö
Ø Ö ×º Ì ÔÙÖÔÓ× Ó ÒØ Ý Ò Ø Ö × Ò ×Ù ÑÓ Ð Ø × Ö Ó Ø Ô Ò Ò ¸ ÓÒØÖÓÐ Ô Ò Ò ¸ Ò Ø
× ØÓ Ò Ø Ø Ø Ø Ó× Ø Ö × Ö ÓÓ Ò Ø × ÓÖ Ø Ö ×Þ º Ì ÓÑÔ Ð Ö Ó × Ø ÔÖÓ Ö Ñ Ò ÐÝ× × Ò
Ô Ö ÐÐ Ð Ü ÙØ ÓÒº Ô ÖØ Ø ÓÒ Ò ÓÒ Ð Ú Ð ÒØ ÖÑ Ø Ö ÔÖ × ÒØ Ø ÓÒº Ì
Ð Ú Ð Ö ÔÖ × ÒØ Ø ÓÒ Ö Ø Ò× ÐÐ Ø ×ÓÙÖ Ð Ú Ð ÔÓ ÒØ Ö
3. COMPILER BASED THREAD PARTITION- Ò ØÝÔ Ò ÓÖÑ Ø ÓÒ¸ Ò Ò Ø × ÔÓ×× Ð ØÓ Ø ÒØÓ
ÓÙÒØ Ø Ô Ò Ò × Ù ØÓ ÔÓ ÒØ Ö Ð × Ò Ò ÖÖ Ý
ING Ö Ö Ò ×º À Ò Ø ÓÑÔ Ð Ö × Ð ØÓ ÜØÖ Ø Ô Ö ÐÐ Ð ×Ñ
ÁÒ Ø × × Ø ÓÒ Û ÔÖÓÚ Ö × Ö ÔØ ÓÒ Ó ÓÙÖ Óѹ Ú Ò ÖÓÑ ÔÓ ÒØ Ö ÒØ Ò× Ú ÔÖÓ Ö Ñ׺ Ï ××ÙÑ Ø Ø Ø
Ô Ð Ö Ö Ñ ÛÓÖ ÓÖ Ø Ö Ô ÖØ Ø ÓÒ Ò º Ø Ð × Ö Ô¹ ÑÙÐØ ¹Ø Ö Ö Ø ØÙÖ ÒØ Ö Ó Ø ÒØ ¹ Ò
Ø ÓÒ × ÝÓÒ Ø × ÓÔ Ó Ø × Ô Ô Ö Ø Ó ØÚ Ó Ø × ÓÙØÔÙØ¹ Ö ×Ø Ö Ô Ò Ò × Û Ø ÝÒ Ñ Ö ×Ø Ö Ö Ò Ñ¹
Ô Ô Ö × ØÓ ×ØÙ Ý Ø « Ø Ú Ò ×× Ó ÑÙÐØ Ø Ö Ò ÓÖ Ñ¹ Ò º Ï Ú Ù× Ø ÔÖÓ¬Ð Ò Ò ÓÖÑ Ø ÓÒ ØÓ ¬Ò ÓÙØ Ø
ÔÔÐ Ø ÓÒ׺ ÑÓר Ð ÐÝ Ô Ø ¸ Ø Ø Ø ÓÒØÖÓÐ Û ÐÐ Ø Ò Ø × Ò ÓÖ¹
Ñ Ø ÓÒ × Ù× ÝØ ÓÑÔ Ð Ö ØÓ ×Ô Ý Ø Ö × Ø Ø Ö
3.1 Multi-threaded Architectural Model ØÓ ×Ô ÛÒ ×Ô ÙÐ Ø Ú Ðݺ
Ì ÑÙÐØ ¹Ø Ö Ö Ø ØÙÖ Ð ÑÓ Ð ××ÙÑ × Ø Ø Ø
ÔÖÓ Ö Ñ × Ò Ô ÖØ Ø ÓÒ ÒØÓ ÓÐÐ Ø ÓÒ Ó Ø Ö ×º 3.3 Program Profiling
Ø Ö Ò ×Ô ÛÒ ÒÝ Ö ØÖ ÖÝ ÒÙÑ Ö Ó Ø Ö ×º Ï Ú Ù× × Ô Ö Ø ÓÑÔ Ð Ö Ô ×× ØÓ ÒרÖÙÑ ÒØ Ø
Ô ÖØ ÙÐ Ö Ø Ö Ò Ð×Ó ×Ô ÛÒ ÖÓÑ « Ö ÒØ ÔР׺ ×ÓÙÖ Ó Ò ØÓ Ø Ö Ø ÔÖÓ¬Ð Ò Ò ÓÖÑ Ø ÓÒº ÁÒ Ø
Ì Ö × Ò ×Ô ÛÒ ×Ô ÙÐ Ø Ú ÐÝ Ö ÕÙ Ö º º¸ ÔÖÓ¬Ð Ò Ô ×׸ Û ¬Ò ÓÙØ ÓÖ Ú ÖÝ × ÐÓ ¸ Û ×
Ø Ö Ò ×Ô ÛÒ ÓÖ ÒÓÛ Ò ÓÖ ×ÙÖ Ø Ø ÓÒØÖÓÐ ÐÓ × ÑÓר Ð ÐÝ ØÓ Ú × Ø Ò ÜØº Ì ÓÑÔ Ð Ö Ù× ×
ÓÛ Û ÐÐ Ö Ø Ø Ø Ö º Á Ø × ÓÙÒ Ø Ø Ø ÓÒ¹ Ø × ØÓ ¬Ò ÓÙØ Ø ÑÓר Ð ÐÝ Ô Ø Ò Ð×Ó ØÓ ר Ñ Ø Ø
ØÖÓÐ ×Ô ÙÐ Ø ÓÒ Û × ÛÖÓÒ ¸ Ø Ò Ø ×Ô ÙÐ Ø Ú Ø Ö × ÒÙÑ Ö Ó ÒרÖÙ Ø ÓÒ× Ø Ø ÛÓÙÐ Ü ÙØ ØÛ Ò ØÛÓ
×ÕÙ × ÖÓÑ Ø× È º ÙØ ÓØ Ö Ø Ö × ×Ô ÛÒ ÝØ × × ÐÓ ×º ÙÖØ ÖÑÓÖ ¸ Û ¬Ò ÓÙØ Ø ÒÙÑ Ö Ó ÐÓÓÔ
×Ô ÙÐ Ø Ú Ø Ö Û ÐÐ ÓÖØ ¸ ÓÒÐÝ Ø Ó× Ø Ö × Ö Ø Ö Ø ÓÒ× Ù× Ò Ø ÔÖÓ¬Ð Ò Ò ÓÖÑ Ø ÓÒº Ì ×Ø Ñ Ø ÓÒ
Ð×Ó ÓÒØÖÓÐ Ô Ò ÒØ ÓÒ Ø × Ñ Ö Ò º Á Ø Ý Ö ÓÒ¹ Ø ÒÙÑ Ö Ó ÐÓÓÔ Ø Ö Ø ÓÒ× ÐÔ× Ù× ØÓ Û Ø Ö ØÓ
ØÖÓÐ Ò Ô Ò ÒØ Ó Ø Ø Ö Ò Ø Ý Ò ÓÒØ ÒÙ Ü ÙØ ÓÒº Ü ÙØ Ø ÐÓÓÔ Ø Ö Ø ÓÒ× Ò Ô Ö ÐÐ Ð Ú Ò Ò ÔÖ × Ò Ó
ÁÒ Ø× Ò Ö Ð ÓÖѸ Ø × ÑÙÐØ ¹Ø Ö ÔÖÓ ××ÓÖ Ö ¹ Ú Ð Ð Ô Ö ÐÐ Ð ×Ѻ Ï Û ÐÐ × Ù×× Ø × Ò Ø Ð× Ò Ø
Û Ö ÓÒ× ×Ø× Ó ÒÙÑ Ö Ó ÔÖÓ ×× Ò Ð Ñ ÒØ× ´È ×µº ÓÐÐÓÛ Ò ×Ù × Ø ÓÒ׺
È × Ø× ÓÛÒ ÔÖÓ Ö Ñ ÓÙÒØ Ö¸ Ø ÙÒ Ø¸ Ó
ÙÒ Ø¸ Ò Ü ÙØ ÓÒ ÙÒ Ø¸ ×Ó × ØÓ Ø Ò Ü ÙØ ÒרÖÙ ¹ 3.4 Data Dependence
Ø ÓÒ× ÖÓÑ Ø Ø Ö ÙÖÖ ÒØÐÝ ×× Ò ØÓ غ Ì È × Ö ÁÒ ÓÙÖ Ö Ñ ÛÓÖ Û ÓÖÑÙÐ Ø Ñ ØÖ ÐÐ Ø ¹
ÓÒÒ Ø ØÓ Ø Ö Ý Ò ÒØ Ö ÓÒÒ Ø ÓÒ Ò ØÛÓÖ º Ô Ò Ò ÓÙÒØ ØÓ Ô ÖØ Ø ÓÒ Ø ÔÖÓ Ö Ñ× ×Ù Ø Ø Ø Ø
ÔÒ Ò ØÛ Ò Ø Ö × Ö Ñ Ò Ñ Þ º
3.2 Compiler Framework ÇÙÖ Ø Ö Ô ÖØ Ø ÓÒ Ò Ð ÓÖ Ø Ñ ÛÓÖ × Ò ÑÙÐØ ÔÐ Ô ×× ×º
ÁÒ Ø × ×Ù × Ø ÓÒ Û Ö Ý × Ö ÓÙÖ ÓÑÔ Ð Ö Ö Ñ ¹ ÁÒ Ø ¬Öר Ô ×׸ Ø ÓÑÔ Ð Ö Ù Ð × Ø Ò Ð×Ó ¬Ò ×
ÛÓÖ ÓÖ Ø Ö Ô ÖØ Ø ÓÒ Ò º Ì Ð ÝÓÙØ Ó ÓÙÖ ÓÚ Ö ÐÐ ×Ý×¹ ÓÙØ Ø Ø Ô Ò Ò Ò ÓÖÑ Ø ÓÒº ÁØ Ó × Ø ØÖ Ø ÓÒ Ð
Ø Ñ × × ÓÛÒ Ò ÙÖ ½º Ø ÓÛ Ò ÐÝ× × Ò Ð ÙÐ Ø × Ø Ö »ÛÖ Ø × Ø× ½ ÓÖ
Ï Ð Ô ÖØ Ø ÓÒ Ò Ø ÔÖÓ Ö Ñ ÒØÓ Ø Ö ×¸ Ø ÓÑÔ Ð Ö Ú ÖÝ ÒרÖÙ Ø ÓÒº Ï Ú ÑÔÐ Ñ ÒØ Ò ÒØÖ ÔÖÓ Ù¹
× ØÓ ÓÒ× Ö Ø Ö ÑÙØÙ ÐÐÝ Ò Ô Ò ÒØ ØÓÖ× Ø Ö Ð ÔÓ ÒØ Ö Ò ÐÝ× × ØÓ Ú Ò ÑÔÖÓÚ Ø Ô Ò Ò
Ô Ò Ò ¸ ÓÒØÖÓÐ Ô Ò Ò ¸ Ò Ø Ö × Þ ØÓ Ø Ö¸ Ò ÓÖÑ Ø ÓÒº Ì ÔÓ ÒØ Ö Ò ÐÝ× × ÐÔ× Ù× Ò ØØ Ò ÑÓÖ
4. Profiled Program Profile Information
Native
Profiler Machine
SUIF IR form Optimized Code
SUIF SUIF Thread
Front end Optimizer Generator
C Program
Threaded Code
Alpha Alpha
SPMT Executable Alpha Assembly Code MACHSUIF
Simulator Linker
Back end
ÙÖ ½ Ì Ä ÝÓÙØ Ó Ø ÓÑÔ Ð Ö Ò Ë ÑÙÐ ØÓÖ Ö Ñ ÛÓÖ
ÔÖ × Ö »ÛÖ Ø × Ø×º Ø Ö Ð ÙÐ Ø Ò Ø Ö »ÛÖ Ø × Ø× B1
ÓÖ Ú ÖÝ ÒרÖÙ Ø ÓÒ¸ Ø ÓÛ Ò ÐÝ× × × Ô Ö ÓÖÑ Ò ÓÖ y=a+b
Ú ÖÝ Ú Ö Ð Ò Ø Ö × Ø Ó Ò ÒרÖÙ Ø ÓÒ¸ Ø × Ø Ó
Ö Ò ¬Ò Ø ÓÒ× ½ Ö Ø ÖÑ Ò º
Ì Ø Ô Ò Ò ÓÙÒØ ´ µ × Ø Û Ø ÓÙÒØ Dependence
Ó Ø ÒÙÑ Ö Ó Ø Ô Ò Ò Ö × ÓÑ Ò ÒØÓ × arc
ÐÓ ÖÓÑ ÓØ Ö ÐÓ × × × ÓÛÒ Ò ÙÖ ¾º Ì × ÑÓ ¹
Ð× Ø ÜØ ÒØ Ó Ø Ô Ò Ò × Ø × ÐÓ × ÓÒ ÓØ Ö B2
ÐÓ ×º Á Ø Ô Ò Ò ÓÙÒØ × ×Ñ Ðи Ø Ò Ø × ÐÓ Dependence
× ÑÓÖ ÓÖ Ð ×× Ø Ò Ô Ò ÒØ ÖÓÑ ÓØ Ö ÐÓ × Ò Ø y=a−b arc
ÑÝ Ò ¬ Ð ØÓ Ò Ø Ö ØØ ÒÒ Ò Ó Ø Ø
× ÐÓ º Ï Ð ÓÙÒØ Ò Ø Ø Ô Ò Ò Ö ×¸ Ø
ÓÑÔ Ð Ö Ú × ÑÓÖ Û Ø× ØÓ Ø Ö × ÓÑ Ò ÖÓÑ ÐÓ ×
Ø Ø ÐÓÒ ØÓ Ø Ø Ö × ÐÓ× Ö ØÓ Ø ÐÓ ÙÒ Ö ÓÒ× ¹
Ö Ø ÓÒº Ì Ô Ò Ò × ÖÓÑ ×Ø ÒØ Ø Ö × Ö Ð ÐÝ ØÓ
Ö ×ÓÐÚ ÖÐ Ö Ò Ò Ø ÙÖÖ ÒØ Ø Ö × Ð ×× Ð ÐÝ B3
ØÓ Û Ø ÓÖ Ø Ø Ò Ö Ø Ò Ø Ø Ø Ö º ÅÓÖ ÓÚ Ö¸ Û p=x+r
Ú Ð ×× Û Ø ØÓ Ø Ø Ô Ò Ò Ö × ÓÑ Ò ÖÓÑ q=y+r
Ø Ð ×× Ð ÐÝ Ô Ø ×º Ì Ú ÒØ Ó Ù× Ò Ø × Ñ ØÖ Ö
ØÛÓ ÓÐ º Öר Ó Ðи Ø × ÑÙ × ÑÔÐ ØÓ ÓÑÔÙØ º Ð×Ó No. of Dependence arcs of block B3 = 2
Û ÓÙÒ Ø ÑÓÖ ÙÖ Ø Ø Ò ÓØ Ö × ÕÙ ÒØ Ð Ü ÙØ ÓÒ
× ÑÓ Ð Ò Ò Ø ÔÖ × Ò Ó ÓÙØ¹Ó ¹ÓÖ Ö Ü ÙØ ÓÒ Ò¹ ÙÖ ¾ Ì Ø Ô Ò Ò Ö×
× Ø Ö º
3.5 Program Partitioning ÓÒØÖÓÐ Ò Ô Ò ÒØ ÔÓ ÒØ º Ì ÓÑÔ Ð Ö Ô ÖØ Ø ÓÒ× Ø
Ì × ×Ù × Ø ÓÒ × Ö × Ø Ô ÖØ Ø ÓÒ Ò Ð ÓÖ Ø Ñº Ì ÔÖÓ Ö Ñ ×Ù Ø Ø Ø Ü ÙØ ÓÒ Ò Ø ÑÓר Ð ÐÝ Ô Ø
ÓÑÔ Ð Ö Ô ÖØ Ø ÓÒ× Ø ÒØÓ ÑÙÐØ ÔÐ Ø Ö ×¸ Ò Ð×Ó ÓÔØ Ñ Þ º Ì Ø Ö Û ÐÐ ÓÒØ ÒÙ Ü ÙØ ÓÒ Ò Ø
×Ô ¬ × Ø ÔÓ ÒØ× Ò Ø ÔÖÓ Ö Ñ ÖÓÑ Û Ô ÖØ ÙÐ Ö ×Ô ÙÐ Ø Ô Ø Ò Ø ¬Ò × Ø ×Ô ÙÐ Ø ÓÒ ØÓ Ò ÓÖÖ Ø
Ø Ö Ò Ò Ø Ø º ÁÒ Ø Ô ÖØ Ø ÓÒ Ò Ð ÓÖ Ø Ñ¸ Á Ú Ø Ð Ø Ö ÔÓ ÒØ¸ Ø Û ÐÐ Ø Ø ÓÖÖ Ø Ô Ø º ÀÓÛ Ú Ö¸ Ø Ö
Ù× Ø × ÐÓ × × Ø Ö ÒÙÐ Ö ØÝ Ó Ô ÖØ Ø ÓÒ Ò ¸ º º¸ × ÒÓ Ò ØÓ ÓÖØ Ø Ø Ö × Ø Ø Ö ×Ô ÛÒ Ø Ø
Ø Ö ÐÐ Ø ÒרÖÙ Ø ÓÒ× Ò× × ÐÓ Ö Ò ÐÙ ÓÒØÖÓÐ Ò Ô Ò ÒØ ÔÓ ÒØ Ó Ø × Ø Ö º
Ò Ø Ö ÓÖ ÒÓÒ Ó Ø Ñ Ö Ò ÐÙ º ÁÒ ÓØ Ö ÛÓÖ ×¸ Ë Ú Ö Ð × × Ñ Ý Ö × Û Ò Û ÐÓÓ Ò× Ø ÑÓר Ð ÐÝ
Û Ó ÒÓØ ×ÔÐ Ø × ÐÓ ÖÓ×× ÑÙÐØ ÔÐ Ø Ö ×º ÖÓÑ Ô Ø ØÛ Ò Ø × ÐÓ × Ò º Ì × Ö × ÓÛÒ
Ú ÖÝ × ÐÓ ¸ ¸ Ø ÓÑÔ Ð Ö ÐÓÓ × ÙÒØ Ð Ø Ò ÙÖ ¿º Ì Ð ÐÝ Ô Ø ØÛ Ò Ø × ÐÓ × Ò
× ÐÓ ¸Û × ÓÒØÖÓÐ Ò Ô Ò ÒØ Ó Ò × Ö × ÓÛÒ Ý Ø ÖÖÓÛº ÁÒ ÙÖ ¿´ µ¸ × ÐÓ ×
Û ÙØÙÖ Ø Ö × ÓÙÐ Ò Ø Ø ÖÓÑ º Ð×Ó¸ Ø Ø × Ò Ö ÒÓØ Ú ÖÝ Ö Ò Ð×Ó Ý Ò ÐÙ Ò Ø ÒרÖÙ Ø ÓÒ×
ÔÓ ÒØ Ø ÓÑÔ Ð Ö ×Û × ÐÓ × Ò Ø Ô Ø Ü ÙØ Ò Ø Ð ÐÝ Ô Ø ØÛ Ò Ò ¸ ´ Ò ÐÙ Ò µ
ØÛ Ò Ò Ò Ò ÐÙ ÒØ ÙÖÖ ÒØ Ø Ö ¸ ÒØ Ö ½¸ Ø × Þ Ó Ø Ö ½ × ÒÓØ Ó Ò ØÓ Ú ÓÐ Ø Ø
ºº Ø Ø Ö ÓÒØ Ò Ò º ÌÓ Ñ ÒØ Ò ÐÓ Ð Ò Ò ÙÔÔ Ö Ð Ñ Øº ËÓ Ø ÓÑÔ Ð Ö Ó × ÒÓØ ×Ô ÛÒ Ò Û Ø Ö
ØÛ Ò Ø Ø Ö ×¸ Ø Ù× × ÐÓÛ Ö Ð Ñ Ø Ò Ò ÙÔÔ Ö Ø º Ê Ø Ö Ø ÓÑÔ Ð Ö Ò ÐÙ × ÐÐ ÐÓ × ØÛ Ò Ò
Ð Ñ Ø ÓÖ Ø ÒÙÑ Ö Ó ÒרÖÙ Ø ÓÒ× Ø Ø Ò Ü ÙØ Ò ÒØ Ö ½ Ò ÐÓÓ × ÝÓÒ ØÓ ¬Ò Ø Ò ÜØ ÔÓØ ÒØ Ð
ÓÒ Ø Ö º ÁØ Ð×Ó × Ð Ø× ×Ô ÙÐ Ø Ú Ø Ö × × ÙÔÓÒ Ø Ö ×Ø ÖØ Ò ÔÓ ÒØº ÁÒ ¬ ÙÖ ¿ ´ µ¸ × ÒÓØ ØÓÓ ÐÓ× ØÓ
Ø ÔÖÓ¬Ð Ò Ø º ÁØ × Ð Ø× Ø ÑÓר Ð ÐÝ Ô Ø Ø Ø Ø Ò Ý Ø ÒÓØ ØÓÓ Ö ÖÓÑ º ËÓ × ÔÓØ ÒØ Ð Ø Ö
ÔÖÓ Ö Ñ Û ÐÐ Ø ÓÖ Ó Ò ÖÓÑ × ÐÓ ØÓ Ø× Ò ÜØ ר ÖØ Ò ÔÓ ÒØº ËÓ Ø ÓÑÔ Ð Ö Ñ Ö × × Ø ×Ø ÖØ Ò
5. Thread 1
Thread 1 A
Ø Ö Ø ÓÒ × ÔÖÓ¬Ø Ð ¸ Ø Ò Ø Ø Ö × ×Ô ÛÒ º ÁØ Ñ Ý
A Ð×Ó ÔÔ Ò Ø Ø¸ Òר Ó ×Ô ÛÒ Ò ÖÓÑ Ø ÒÒ Ò
Ó Ø ÐÓÓÔ ÓÖ Ø Ò ÜØ Ø Ö Ø ÓÒ¸ Ø ÓÑÔ Ð Ö ×Ô ÛÒ Ø
D Ò ÜØ Ø Ö Ø ÓÒ ÖÓÑ ×ÓÑ Û Ö Ò× Ø ÐÓÓÔº Ì Ð Ö
Ó Ý Ó Ø ÐÓÓÔ× Ñ Ý ÙÖØ Ö Ô ÖØ Ø ÓÒ ÒØÓ ÑÙÐØ ÔÐ
Thread 2
Ø Ö × × ×Ö ÓÚ º Ï Ð Ô ÖØ Ø ÓÒ Ò Ø ÐÓÓÔ׸
B
C E
Û Ù× ÔÖÓ¬Ð Ò ÓÖÑ Ø ÓÒ ÓÒ Ø ÒÙÑ Ö Ó ÐÓÓÔ Ø Ö Ø ÓÒ׺
ÌÝÔ ÐÐÝ Ø ÓÑÔ Ð Ö Ó × ÒÓØ Û ÒØ ØÓ Ü ÙØ ×Ñ ÐÐ ÐÓÓÔ
Ó Ý Ò Ô Ö ÐРк ÀÓÛ Ú Ö¸ Ø ÒÙÑ Ö Ó Ø Ö Ø ÓÒ× × Ð Ö
(a) Basic block B is too close to A
Ø ÒØ ÓÑÔ Ð Ö ÛÓÙÐ ×Ô ÛÒ Ø Ø Ö Ø ÓÒ× × × Ô Ö Ø
Ø Ö ×º ÇØ ÖÛ × Ø × Þ Ó Ø Ø Ö Û ÐÐ ÓÑ Ú ÖÝ
Ð Ö º
Thread 1 A
3.6 Implementation in the SUIF Platform
ÇÙÖ Ø Ö Ô ÖØ Ø ÓÒ Ò Ð ÓÖ Ø Ñ × Ò ÑÔÐ Ñ ÒØ
Thread 3 ÓÒ Ø ËÍÁ ¹Å ËÍÁ ÔÐ Ø ÓÖÑ º ÐÐ Ó Ø ÓÑÔ Ð Ö
B
Ò ÐÝ× × Ò Ø Ö Ô ÖØ Ø ÓÒ Ò Ö ÓÒ Ø Ø ¹Ð Ú Ð
ÒØ ÖÑ Ø Ö ÔÖ × ÒØ Ø ÓÒ ´Áʵ Ó ËÍÁ º Ï Ú Ó× Ò
(c) Block B is too far from Block A
Ø ËÍÁ ÔÐ Ø ÓÖÑ ØÓ ÑÔÐ Ñ ÒØ ÓÙÖ ÓÑÔ Ð Ö ×Ýר Ñ ¹
Ù× Ø ÔÖÓÚ × ÑÓ ÙÐ Ö Ò Ü Ð Ò Ö ×ØÖÙ ØÙÖ ØÓ
Thread 2 B Ú ÐÓÔ ÓÑÔ Ð Ö ÓÔØ Ñ Þ Ø ÓÒ׺ ËÍÁ ¬Öר ØÖ Ò×Ð Ø × ¹
(b) Block B is at an optimum distance from Block A Ð Ú Ð ×ÓÙÖ Ó ÒØÓ Ò Áʸ Ò Ø Ò Ô Ö ÓÖÑ× Ó ÓÔ¹
Ø Ñ Þ Ø ÓÒ Ø ÖÓÙ × Ú Ö Ð Ò Ô Ò ÒØ Ô ×× × ÓÒ Ø Ø Áʺ
ÙÖ ¿ « Ö ÒØ × × Ò ÈÖÓ Ö Ñ È ÖØ Ø ÓÒ Ò Ï Ð ØÖ Ò× ÓÖÑ Ò ¹Ð Ú Ð ÔÖÓ Ö Ñ× ÒØÓ Áʸ ËÍÁ Ö ¹
Ø Ò× ÐÐ Ó Ø Ö Ð Ú ÒØ Ò ÓÖÑ Ø ÓÒ ÖÓÑ Ø ÐÚÐ
×ÓÙÖ ÔÖÓ Ö Ñº Ì × × Ô ÖØ ÙÐ ÖÐÝ ÐÔ ÙÐ ÓÖ ÖÖÝ Ò ÓÙØ
ÔÓ ÒØ Ó Ø Ö ¾ Ò ÓÖÑ× Ø Ö Ø º ÆÓÛ Ø × ÓÔØ Ñ Þ Ø ÓÒ ×Ù × ÔÖÓ¬Ð Ò Ò ÔÓ ÒØ Ö Ò ÐÝ× ×º ÅÓÖ ¹
Ø Ø ÔÒ Ò ØÛ Ò Ø Ø Ö ÓÒØ Ò Ò Ò ÓÚ Ö¸ Ø ÒרÖÙ Ø ÓÒ× Ò Ø ËÍÁ ÁÊ Ö Ú ÖÝ ÐÓ× ØÓ Ø ×¹
Ø Ø Ö ÓÒØ Ò Ò ÓÖ Ò ØÓ Ø Ø ÔÒ Ò × Ñ ÐÝ Ð Ú Ð ÒרÖÙ Ø ÓÒ× Ø Ù׸ Ø ×Ø Ñ Ø ÓÒ Ó Ø Ö × Þ ×
ר Ò ÓÖ Ø Ø Ô Ò Ò ÓÙÒØº Á Ø × ÓÙÒ Ø Ø ÓÒ Ø Ø ÁÊ Ð Ú Ð Ö Ñ Ò× Ú Ð Ò Ø ¬Ò Ð ×× Ñ ÐÝ Ð Ú Ð
Ø ØÓØ Ð ÓÑÔÐ Ø ÓÒ Ø Ñ Ó Ø Ö × ½ Ò ¾ ´Û Ö Ø Ö × Û Ðк ÁÒ ËÍÁ ¸ Ø × ÔÓ×× Ð ØÓ ÒÒÓØ Ø Ø ÒרÖÙ Ø ÓÒ×
¾ × ×Ô ÛÒ ÖÓÑ Ø ÒÒ Ò Ó µ¸ × Ð ×× Ø Ò Ø Óѹ Û Ø Ò ×× ÖÝ Ò ÓÖÑ Ø ÓÒ Ð Ø Ô Ò Ò ¸ Ò Ù×
ÔÐ Ø ÓÒ Ø Ñ Ø ØÛÓ Ø Ö × Ö Ü ÙØ × ÕÙ ÒØ ÐÐÝ ÓÒ Ø Ñ Ò × Ô Ö Ø Ô ×× × Ø ÖÛ Ö ×º Ð×Ó¸ Ø ËÍÁ Ô ¹
Ø Ö ÒÓØ Ö¸ Ø Ò Ø ×Ô ÛÒ× Ø Ö ¾ ÖÓÑ º ÓÒØ Ò× Ñ ÒÝ ÓÔØ Ñ Þ Ø ÓÒ ÑÓ ÙР׸ Û ÑÔÖÓÚ Ø
ÁÒ ¬ ÙÖ ¿´ µ¸ Ò Ö Ú ÖÝ Ö Ô ÖØ¸ × Ö × Ø ÕÙ Ð ØÝ Ó Ø Ó ÔÖÓ Ù º Ï Ú Ù× Ø Å ËÍÁ
ÑÓר Ð ÐÝ Ô Ø ØÛ Ò Ø Ñ Ö ÓÒ ÖÒ º ËÓ¸ ר ÖØ Ò ½ Ö Ñ ÛÓÖ ØÓ Ò Ö Ø ÐÔ ×× Ñ ÐÝ Ó ÖÓÑ Ø
Ò ÛØ Ö Ø Ò Ò ÐÙ Ò ÐÐ Ø ÐÓ × Ø ÐÐ Ò Ø Ö ËÍÁ Áʺ
½ × ÒÓØ Æ ÒØº Öר Ó Ðи Ø × Þ Ó Ø Ö ½ Û ÐÐ ÓÑ
Ú ÖÝ Ð Ö Ò ÑÓÖ ÓÚ Ö Ø Ö Ñ Ý Ü ×Ø ÔÓØ ÒØ Ð Ø Ö × 4. EXPERIMENTAL STUDY
Ò× Ø Ð ÐÝ Ô Ø ØÛ Ò Ò º ËÓ Ø ÓÑÔ Ð Ö ÁÒ ÓÖ Ö ØÓ × ÓÛ ÑÙ Ó Ø Ô Ö ÐÐ Ð ×Ñ Ñ ×ÙÖ
ÐÓÓ × Ò× Ø Ð ÐÝ Ô Ø ØÛ Ò Ò Ò ØÖ × ØÓ Ò Ë Ø ÓÒ ¾º¾ Ò ÔÓØ ÒØ ÐÐÝ Ø ÔÔ Ý ÓÙÖ ÓÑÔ Ð Ö¹
Ô ÖØ Ø ÓÒ Ø ÙÖØ Öº ÁÒ × Ó ¿´ µ Ø × ÓÙÒ Ø Ø × Ö Ø ÑÙÐØ Ø Ö Ò ÔÔÖÓ ¸ Û Ò Ò ÓÙÖ ×Ó ØÛ Ö
ÐÓ × ×Ø ÖØ Ò ÔÓ ÒØ Ó Ø Ö ¾ Ò Ø ×Ø Ö × ØÓÓÐ ´Ì È µ ÐÓÒ Ø Ð Ò × Ó Ø × ÑÙÐ Ø ÓÒ ÒÚ ÖÓÒÑ ÒØ
×Ô ÙÐ Ø Ú ÐÝ ×Ô ÛÒ ÖÓÑ ¸ ÓÖ Ø ØÙ Ð Ö Ø ÓÒ Ù× Ò ½ ØÓ ×ØÙ Ý Ô Ö ÐÐ Ð ×Ñ Ò Ò Ö Ð¹ÔÙÖÔÓ× ÔÔÐ ¹
Ó Ø Ö Ò × Ö ×ÓÐÚ º Ì Ö ¿¸ Û ×Ø ÖØ× ÖÓÑ × Ø ÓÒ׺ Ì ÒÙÑ Ö Ó È ×¸ ××Ù × Þ Ô Ö È ¸ Ø º¸ Ö
ÐÓ × ×Ô ÛÒ ÖÓÑ ×ÓÑ Û Ö Ò× Ø Ö ¾º Ô Ö Ñ Ø Ö Þ º ÁØ ÑÓ Ð× Ô Ö Ø ÒרÖÙ Ø ÓÒ Ò
Ì ÓÑÔ Ð Ö Ð×Ó × Ø Ô Ø × Ø Ø Ö ÒÓØ Ø Ð ÐÝ Ø º Ì Ó Ü ÙØ Ò Ø ×ÙÔ ÖÚ ×ÓÖ ÑÓ Ö
Ô Ø × Ò Ô ÖØ Ø ÓÒ× Ø Ñ × Û Ðк Á Ø ÖÙÒ¹Ø Ñ ¸ ÓÒØÖÓÐ ÙÒ Ú Ð Ð ØÓ Ø × ÑÙÐ ØÓÖ¸ Ò Ö Ø Ö ÓÖ ÒÓØ Ø Ò
Ó × ÒØÓ Ø Ó× ÙÒÐ ÐÝ Ô Ø ×¸ Ø Ò Ø Ø Ö × ×Ô ÛÒ ÒØÓ ÓÙÒØ Ò Ø Ñ ×ÙÖ Ñ ÒØ×º ÙÖØ ÖÑÓÖ ¸ Ø × ÑÙ¹
×Ô ÙÐ Ø Ú ÐÝ Ö ÓÖØ º ÙØ Ø Ø Ö × Ø Ø Ö ÒÓØ ÓÒ¹ Ð ØÓÖ Ó × ÒÓØ ÓÚ ÖÐ Ô Ø Ü ÙØ ÓÒ Ó Ø Ö × Ø Ø ÔÖ
ØÖÓÐ Ô Ò ÒØ ÓÒ Ø ÓÖØ Ø Ö × Ò ÒÓØ ÓÖØ º Ò ×Ù ×Ýר Ñ Ðк ÓÖ Ø × Ñ ×ÙÖ Ñ ÒØ×¸ È
ÓÖ Ü ÑÔÐ ¸ ÓÒ× Ö ÙÖ ¿ ´ µº Á ÖÓÑ ¸ Òר Ó × Ò ××Ù Û Ø Ó ÒרÖÙ Ø ÓÒ× Ô Ö Ý Ð ¸ Ò ÒרÖÙ Ø ÓÒ
ÓÐÐÓÛ Ò Ø ÑÓר Ð ÐÝ Ô Ø ¸ Ø ÓÒØÖÓÐ Ó × ØÓ × Û Ò ÓÛ Ó ¿¾ ÒØÖ ×¸ Ò Ò Ô Ö ÓÖÑ ÓÙØ¹Ó ¹ÓÖ Ö Ü Ù¹
ÐÓ ¸ Û Ò ÓØ Ø Ö × ¾ Ò Ò ¿ Ú Ò ×Ô ÛÒ ¸ Ø ÓÒº
Ø Ö ¾¸ ÛÓÙÐ ÓÖØ ¸ ÙØ ÒÓØ Ø Ö ¿¸ × × ÓÒ¹ Ï Ò Ò ÓÙÒØ Ö Ò ÓÒ Ø ÓÒ Ð Ö Ò ÒרÖÙ Ø ÓÒ Ò
ØÖÓÐ Ò Ô Ò ÒØ Ó º ÅÓÖ ÓÚ Ö Ò Ø Ô Ø ÓÒØ Ò Ò ¸ Ø Ö ¸ Ø× È ÓÒ×ÙÐØ× Ö Ò ÔÖ ØÓÖ ÓÖ ÔÖ ¹
Ø Ö Ò ×Ô ÛÒ Ò Ó Ø Ö ¿ × Û Ðи Ò Ø × ×Ô ÛÒ¹ Ø ÓÒº Á Ø ÔÖ Ø ÓÒ × Ò ÓÖÖ Ø¸ Ø ÑÑ Ø ÓÒØÖÓй
Ò × ÓÙÐ ÒÓÖ ÙÖ Ò Ü ÙØ ÓÒ Ù× Ø Ö ¿ × Ò Ô Ò ÒØ ÔÓ ÒØ Ò Ø ÔÖÓ Ö Ñ × Ø ÖÑ Ò º Á Ø ×
ÐÖ Ý Ò ×Ô ÛÒ º ÔÓ ÒØ × Û Ø Ò Ø Ø Ö ¸ Ø Ò ×Ù × ÕÙ ÒØ Ø Ö × Ö ÒÓØ
ÁÒ ÓÙÖ ÓÑÔ Ð Ö Ö Ñ ÛÓÖ ¸ Ø ÐÓÓÔ× Ö ØÖ Ø × ×ÕÙ × º Ö Ò ÔÖ Ø ÓÒ× Ö ÓÒ Ù× Ò ¾¹Ð Ú Ð È Ô
×Ô Ð × Ó ÓÒØÖÓÐ Ô Ò Ò º ÓÖ ÐÓÓÔ× Ø ÓÑÔ Ð Ö × Ñ ¾¼ ¸ Û Ø Ö Ø¹Ñ ÔÔ ½ ù ÒØÖÝ Ö Ò À ×¹
ר ÔÒ Ò ØÛ Ò ØÛÓ Ø Ö Ø ÓÒ× Ó Ø ÐÓÓÔ׸ ØÓÖÝ Ì Ð ¸ Ô ØØ ÖÒ × Þ Ó ¸ Ò ¿¹ Ø × ØÙÖ Ø Ò ÓÙÒØ Ö×
Ò Ø × ÓÙÒ Ø Ø ×Ô ÛÒ Ò ÒÓØ Ö Ø Ö ÓÖ Ø Ò ÜØ Ò Ø È ØØ ÖÒ À רÓÖÝ Ì Ð ÒØÖ ×º
6. Ø Ú ÐÙ ÔÖ ØÓÖ × ÑÔÐ Ñ ÒØ Ò Ø × ÑÙÐ ØÓÖº 12
Ì × ÔÖ ØÓÖ × Ý Ö Ó ×ØÖ ÔÖ ØÓÖ Ò ¾¹Ð Ú Ð # PEs
ÔÖ ØÓÖ ½ º Ì ¬Öר Ð Ú Ð Ó Ø ÔÖ ØÓÖ × ½ à ҹ 4
ØÖ ׸ Ò × Ö Ø¹Ñ ÔÔ º Ø Ú ÐÙ ÔÖ Ø ÓÒ × ÖÖ 10 3
2
ÓÙØ ÓÒÐÝ ÓÖ Ø Ó× ÒרÖÙ Ø ÓÒ× Ø Ø ÔÖÓ Ù ×Ò Ð Ö ¹ 1
ר Ö Ö ×ÙÐØº Ì Ù× Ö Ò ÒרÖÙ Ø ÓÒ׸ רÓÖ ÒרÖÙ Ø ÓÒ׸ 8
ÒÓÔ׸ Ò ÓÙ Ð ¹ÔÖ × ÓÒ ÒרÖÙ Ø ÓÒ× Ö ÒÓØ ÓÒ× Ö
ÓÖ Ø Ú ÐÙ ÔÖ Ø ÓÒº
IPC
6
4.1 Code Explosion Due to Thread Informa-
tion
× Ñ ÒØ ÓÒ ÖÐ Ö¸ ÓÖ Ñ ×Ýר Ñ ÔÔÐ Ø ÓÒ׸ 4
Ø × ÑÔÓÖØ ÒØ Ø Ø ÓÙÖ Ø Ö Ô ÖØ Ø ÓÒ Ò Ó × ÒÓØ Ú
× Ò ¬ ÒØ ÑÔ Ø ÓÒ Ø Ó × Þ º Ì Ð ¾ Ú × Ø Ò¹ 2
Ö × Ò Ó ×Þ Ù× Ó Ò ÐÙ Ò Ø Ö Ò ÓÖÑ Ø ÓÒ
Ò Ø ÔÖÓ Ö Ñ Ò Öݺ ÓÖ Ò Ñ Ö ÔÖÓ Ö Ñ¸ Ø
Ø Ð ÔÖÓÚ × Ø ÒÙÑ Ö Ó ×Ø Ø ÒרÖÙ Ø ÓÒ× ÓÖ ÐÔ 0
blit compress des fir_int g3fax ucbqsort
ÁË ¸ Ø ÒÙÑ Ö Ó ÒרÖÙ Ø ÓÒ× Û Ø ÒÒÓØ Ø ÓÒ¸ Ò Ø auto bffo bilv
Ô Ö ÒØ Ó ÒרÖÙ Ø ÓÒ× Û Ø ÒÒÓØ Ø ÓÒº ÖÓÑ Ø Ø ¹
и Û Ò× Ø ØØ Ó × Þ ÜÔ Ò× ÓÒ Ö Ò × ÖÓÑ ÙÖ È Ö ÐÐ Ð ×Ñ Ê ×ÙÐØ× ÓÖ Ú ÖÝ Ò ÒÙÑ Ö Ó
¼º½¾± ØÓ ¾º ±¸ Û Ø Ò Ú Ö Ó ¼º ¾±¸ Û × Ú ÖÝ È × Û Ò Ø Î ÐÙ ÈÖ Ø ÓÒ × ÒÓØ ÑÔÐÓÝ
Ò× Ò ¬ ÒØº Ì ÒÙÑ Ö Ó ÒרÖÙ Ø ÓÒ× Ø Ø Ö ÒÒÓ¹
Ø Ø Ó × ÒÓØ Ô Ò ÓÒ Ø ÁË Ö Ø Ö Ø Ô Ò × ÓÒ Ø
ÔÖÓ Ö Ñ Ö Ø Ö ×Ø ׺ ÓÖ ÒÒÓØ Ø Ò Ò ÒרÖÙ Ø ÓÒ¸ Û ÒÓØ × ÓÛ ÒÝ Ô Ö ÐÐ Ð ×Ñ Ò Ø Ñ ×ÙÖ Ñ ÒØ× Ò Ë Ø ÓÒ
Ò ½ »¿¾ Ø× ØÓ ×Ô Ý Ò ÒרÖÙ Ø ÓÒ Ö ×× Ò ¾ Ø× ¾º Ú Ò ÓÖ Ø ÓÒ × Ø Ø × ÓÛ ÔÖÓÑ × ¸ Ø Ô Ö ÐÐ Ð ×Ñ
ØÓ ×Ô Ý Ø ØÝÔ Ó ÒÒÓØ Ø ÓÒº ÆÓØ Ø Ø ÓÖ Ñ × ØÙÖ Ø × Û Ò Ø ÒÙÑ Ö Ó È × Ö × ¾ ÓÖ ¿º Ì Ù׸
ÔÖÓ ××ÓÖ× Û Ö Ñ ÑÓÖÝ × Þ × Ù×Ù ÐÐÝ ×Ñ ÐÐ Ö¸ Ø ÒÙѹ Û Ø ÓÙØ Ø Ú ÐÙ ÔÖ Ø ÓÒ¸ ÑÙÐØ Ø Ö Ò × ÐÑØ
Ö Ó Ø× Ö ÕÙ Ö ØÓ ×Ô Ý Ø ÒרÖÙ Ø ÓÒ Ö ×× Û ÐÐ Ù× ÓÖ Ø × Ñ ÔÔÐ Ø ÓÒ׺
Ú Ò Ð ×׺ Ð×Ó¸ Û Ò Ù× ×Ô Ð Ö Û Ö Ò Ú
Ö Ð ØÚ Ö ×× Ò × Ñ ØÓ ×Ô Ý Ø ÒרÖÙ Ø ÓÒ Ö ×× 4.3 Parallelism With Data Value Prediction
ÒØ ÒÒÓØ Ø ÓÒ׸ Ø Ö Ý Ö Ù Ò Ø ×Ô Ö ÕÙ Ö Ñ ÒØ× Æ ÜØ¸ Û ÔÖ × ÒØ Ø Ô Ö ÐÐ Ð ×Ñ Ú ÐÙ × Ó Ø Ò Û Ò
ÙÖØ Öº Ø Ú ÐÙ ÔÖ Ø ÓÒ Û × ÑÔÐÓÝ Ò Ø ÑÙÐØ Ø Ö
ÔÖÓ ××ÓÖº ÙÖ ÔÖ × ÒØ× Ø Ô Ö ÐÐ Ð ×Ñ Ú ÐÙ × Ó Ø Ò
ËØ Ø Ø ÓÒ Ð ÁÒרÖ× Ó Ò Ø × ÜÔ Ö Ñ ÒØ×¸ Û Ø Ø Ú ÐÙ ÔÖ Ø ÓÒº ÓÖ × Ó
Ò Ñ Ö ÁÒרÖÙ Ø ÓÒ ÓÖ ÓÒÚ Ý Ò ÜÔ Ò× ÓÒ ÓÑÔ Ö ×ÓÒ¸ Ø Ö ×ÙÐØ× ÖÓÑ ÙÖ ¾ Ö Ö ÔÖÓ Ù ÐÓÒ ¹
ÓÙÒØ Ì Ö ÁÒ Ó ØÓÖ × º
ÙØÓ ½¿ ¼º¿ ± Ï Ò Ø Ú ÐÙ ÔÖ Ø ÓÒ × ÑÔÐÓÝ ¸ ØÛÓ Ó Ø ÓÙÖ
«Ó ½¿¿ ¼º ± Ò Ñ Ö ×Ø Ø ÒÓØ × ÓÛ ÑÙ Ô Ö ÐÐ Ð ×Ñ Ð Ø Ò
ÐÚ ½ ½ ¾ ¼º½¾± Ù Õ×ÓÖØ × ÓÛ Ñ Ö ÑÔÖÓÚ Ñ ÒØº ÁÒ Ø ÓÒ¸ Ó
ÐØ ½ ¼º ± × ÓÛ× ÙÖØ Ö ÑÔÖÓÚ Ñ ÒØº Ì ÑÓר ÒÓØ Ð ×Ô ÙÔ ×
ÓÑÔÖ ×× ¾½ ¼ ¾º ± × Ò ÓÖ Ð Øº ÇÒ Ø ÓØ Ö ÜØÖ Ñ ¸ ÐÚ Ó × ÒÓØ × ÓÛ ÒÝ
× ¾¼¼ ¼º ¼± ÒÓØ Ð ×Ô ÙÔ Û Ø ÑÙÐØ ¹Ø Ö Ò ¸ ÚÒÛ Ò Ø
¿ Ü ½ ½ ½ ½º¼ ± Ú ÐÙ ÔÖ Ø ÓÒ × ÑÔÐÓÝ º ÅÓר ÔÖÓ Ö Ñ× Ú ×Ù ×Ø Ò¹
Ù Õ×ÓÖØ ½ ½ ¼º ¼± Ø Ð ×Ô ÙÔ× Û Ø ÑÙÐØ Ø Ö Ò º Ý Ò Ð Ö ¸ Ò ÓÖÔÓ¹
ÚÖ ½ º½¾ ½ º½¾ ¼º ¾± Ö ØÒ Ø Ú ÐÙ ÔÖ Ø ÓÒ ÐÔ× ØÓ Ö Ù Ø « Ø× Ó
ÒØ Ö¹Ø Ö Ø Ô Ò Ò ×¸ Ø Ö Ý ÔÖÓÚ Ò ÒÓØ Ð
Ì Ð ¿ ÁÒ Ö × Ò Ó × Þ Ó Ø Ò Ñ Ö ÔÖÓ¹ ×Ô ÙÔ׺ Ì Ù׸ Û Ò × Ø Ø ÑÙÐØ Ø Ö Ò × ÕÙ Ø ¹
Ö Ñ× Ù× Ó Ò ÐÙ Ò Ø Ö Ò ÓÖÑ Ø ÓÒ Ø Ú ÓÖ Ñ ×Ýר Ñ× ÔÖÓ Ö Ñ× Û Ò Ø ÔÖÓ ××ÓÖ
ÑÔÐÓÝ× Ø Ú ÐÙ ÔÖ Ø ÓÒ¸ Û × ÕÙ Ø Ò ÓÙÖ Ò º
4.4 Importance of Non-loop Threads
4.2 Parallelism Without Data Value Predic- Ì ÜÔ Ö Ñ ÒØ Ð Ñ ×ÙÖ Ñ ÒØ× ÓÒ Ù Ø ×Ó Ö Ò ÐÙ
tion Ø Ö × Ø Ø Ö ÐÓÓÔ¹ ÒØÖ ´ Ø Ö Ø ÓÒ× Ó ÐÓÓÔ×µ × Û ÐÐ ×
ÇÙÖ ¬Öר × Ø Ó ÑÙÐØ Ø Ö Ò ×ØÙ × Û Ö ÓÒ Û Ø ¹ ÒÓÒ¹ÐÓÓÔ׺ ÁÒ Ø Ò ÜØ × Ø Ó Ñ ×ÙÖ Ñ ÒØ×¸ Û Ñ ×ÙÖ
ÓÙØ ÑÔÐÓÝ Ò Ø Ú ÐÙ ÔÖ Ø ÓÒº ÙÖ ÔÖ × ÒØ× Ø Ø Ô Ö ÐÐ Ð ×Ñ Ó Ø Ò Û Ò ÓÒÐÝ ÐÓÓÔ¹ ÒØÖ Ø Ö × Ö
ÓÚ Ö ÐÐ Ô Ö ÐÐ Ð ×Ñ Ò Ø ÖÑ× Ó ÒרÖÙ Ø ÓÒ× Ô Ö Ý Ð ´ÁÈ µ ÑÔÐÓÝ º ÙÖ ÔÖ × ÒØ× Ø × Ö ×ÙÐØ×º ÓÖ Ò ¹
Ó Ø Ò Ò Ø × ÜÔ Ö Ñ ÒØ×¸ Û Ø « Ö ÒØ ÒÙÑ Ö Ó ÔÖÓ¹ Ñ Ö ¸ ØÛÓ Ö× Ö Ú Òº Ì ¬Öר ÓÖÖ ×ÔÓÒ × ØÓ Ù× Ò ÐÐ
×× Ò Ð Ñ ÒØ× ´È ×µº ÐÐ Ò Ñ Ö × Ö × ÑÙÐ Ø Ø ÐÐ Ò Ó Ø Ö ×¸ Ò Ø × ÓÒ ÓÖÖ ×ÔÓÒ × ØÓ Ù× Ò ÓÒÐÝ
ÙÒ Ö Ñ ÐÐ ÓÒ ÒרÖÙ Ø ÓÒ× ÙÒÐ ×× Ø ÔÖÓ Ö Ñ× Ø Óѹ ÐÓÓÔ¹ ÒØÖ Ø Ö ×º ÑÓÒ Ø Ò Ñ Ö ×¸ ÓÒÐÝ × Ò¹
ÔÐ Ø ÓÖ Ø Øº Ð ÔÖÓ Ö Ñ Ó Ò ¬Ø× ÖÓÑ Ù× Ò ÓÒÐÝ ÐÓÓÔ¹ ÒØÖ
ÖÓÑ ÙÖ ¾¸ Û Ò × Ø Ø ÖÓ×× ÐÐ Ò Ñ Ö Ø Ö ×º ÓÖ ÑÓר Ó Ø ÔÖÓ Ö Ñ׸ Ö ×ØÖ Ø Ò ØÓ ÐÓÓÔ¹
ÔÖÓ Ö Ñ׸ Ø Ö × ÒÓØ Ð ×Ô ÙÔ Û Ø È ×¸ Ü ÔØ ÓÖ ÒØÖ Ø Ö × Ö ×ÙÐØ× Ò Ð ×× Ô Ö ÐÐ Ð ×Ñ Ò ÜÔÐÓ Ø º
ÐÚ¸ Рظ ¿ ܸ Ò Ù Õ×ÓÖØº ÑÓÒ Ø × ¸ ¿ Ü Ì × ÑÓÒ×ØÖ Ø × Ø ÑÔÓÖØ Ò Ó ÑÙÐØ Ø Ö Ò Ö Ñ¹
7. 16
# PEs
14 4
3
spawning loop-centric threads
16 2
# PEs 12 1
14 4
spawning all threads
3 10
2
with data value prediction
without data value prediction
12 1
IPC
8
10
6
IPC
8 4
6 2
4 0
auto bffo bilv blit compress des fir_int g3fax ucbqsort
2
ÙÖ È Ö ÐÐ Ð ×Ñ Ê ×ÙÐØ× ÓÖ Ú ÖÝ Ò ÒÙÑ Ö Ó
0
auto bffo bilv blit compress des fir_int g3fax ucbqsort È × Û Ò Í× Ò « Ö ÒØ ÌÝÔ × Ó Ì Ö ×
ÙÖ È Ö ÐÐ Ð ×Ñ Ê ×ÙÐØ× ÓÖ Ú ÖÝ Ò ÒÙÑ Ö Ó
È × Û Ò Ø Î ÐÙ ÈÖ Ø ÓÒ × ÑÔÐÓÝ
ÛÓÖ Ø Ø ×ÙÔÔÓÖØ× ÐÓÓÔ¹ ÒØÖ × Û ÐÐ × ÓØ Ö Ò Ó Û Ø Ö ×ÓÒ Ð ÔÖ Ø ÓÒ ÙÖ × ÓÖ Ñ ×Ý×¹
Ø Ö ×º Ø Ñ ÔÔÐ Ø ÓÒ ÔÖÓ Ö Ñ׸ ×Ù ×Ø ÒØ Ð Ò Ö × Ò Ô Ö¹
ÓÖÑ Ò ÓÖ Ò ÜØ¹ Ò Ö Ø ÓÒ ×Ýר Ñ× Ö ÕÙ Ö × ÑÓÖ « ¹
4.5 Effect of Selective Loop Unrolling Ø Ú Û Ý× Ó Ð Ò Û Ø ÓÒ Ø ÓÒ Ð Ö Ò ×º Ê Ó Ò Þ Ò
ËÓÑ Ó Ø Ñ ÔÔÐ Ø ÓÒ× Ö ÓÑ Ò Ø Ý Ú ÖÝ ÓÒØÖÓй Ò Ô Ò ÒØ Ö ÓÒ׸ Ò Ô Ö ÓÖÑ Ò ×Ô ÙÐ Ø Ú Ü¹
×Ñ ÐÐ ÐÓÓÔ׸ Û Ó× Ø Ö Ø ÓÒ× Ö ÖÐÝ Ò Ô Ò ÒØº Á ÙØ ÓÒ ÐÓÒ ÑÙÐØ ÔÐ ´ Ò Ô Ò ÒØµ ÓÛ× Ó ÓÒØÖÓÐ Ú
Ø Ö Ø ÓÒ Ó ×Ù ÐÓÓÔ × Ô ÖØ Ø ÓÒ × ×Ò Ð Ø Ö ¸ Ø ÔÓØ ÒØ Ð ØÓ ÜØÖ Ø Ø Ð Ö ÑÓÙÒØ× Ó Ô Ö ÐÐ Ð ×Ñ
Ø Ò Ø Ö ÓÑ × Ú ÖÝ ×Ñ Ðи Ò Ø Ø Ö ÓÚ Ö¹ Ø Ø Ö Ú Ð Ð Ø ×Ø Ò º Ú Ò Ø Ò Ö × Ò Ò¹
ÓÑ × ØÓÓ ÑÙ º ÇÒ Ø ÓØ Ö Ò ¸ Ø ÒØ Ö Ø Ö ×Ø Ò ÑÙÐØ Ø Ö Ò ÓÖ Ò Ö Ð¹ÔÙÖÔÓ× ÔÖÓ ××ÓÖ׸ Û
ÐÓÓÔ × Ñ ×Ò Ð Ø Ö ¸ Ø Ò Û Ð ØÓ ÜÔÐÓ Ø Ø ÜÔ Ø Ø Ø ÙØÙÖ Ñ ÔÖÓ ××ÓÖ× Û ÐÐ Ð×Ó ØØ ÑÔØ ØÓ
ÒØ Ö¹ Ø Ö Ø ÓÒ Ô Ö ÐÐ Ð ×Ñ ÔÖ × ÒØ Ò Ø × ÐÓÓÔ׺ ÁÒ ÓÖ Ö Ü ÙØ ÑÙÐØ ÔÐ Ø Ö × Ò ÓÒ Û Ý ÓÖ ÒÓØ Öº
ØÓ Ð Û Ø Ø × ÔÖÓ Ð Ñ¸ Û ÜÔ Ö Ñ ÒØ Û Ø × Ð Ø Ú Ì × Ô Ô Ö ÒÚ ×Ø Ø Ø ÔÔÐ Ð ØÝ Ó ÑÙÐØ Ø Ö ¹
ÙÒÖÓÐÐ Ò Ó ÐÓÓÔ׺ Ë Ð Ø Ú ÙÒÖÓÐÐ Ò × Ú ÖÝ ÑÔÓÖØ ÒØ ØÓ Ò Ò Ñ ×Ýר Ñ ÔÔÐ Ø ÓÒ׺ Ï Ô ÖØ Ø ÓÒ ÔÖÓ¹
ÔØ Ó ÜÔ Ò× ÓÒ ØÓÖ ÐÓÛº Ï ÒØÖÓ Ù ×¹ Ö Ñ× ÖÓÑ Ø ÈÓÛ ÖרÓÒ Ò Ñ Ö ×Ù Ø ¸ ÓÐÐ Ø ÓÒ
Ð Ø Ú ÙÒÖÓÐÐ Ò Ô ×× Ò ÓÙÖ ÓÑÔ Ð Ö Ö Ñ ÛÓÖ ÙÖÖ ÒØÐÝ Ó ÔÖÓ Ö Ñ× ÖÓÑ Ø Ñ ×Ýר Ñ× Ö ¸ ÒØÓ ÑÙÐØ ¹
Ø × Ô ×× ÙÒÖÓÐÐ× × ÑÔÐ ÓÖ ÐÓÓÔ× Û Ø ¬Ü ÙÔÔ Ö Ò
ÔÐ Ø Ö ×º Ï Ð Ô Ö ÓÖÑ Ò Ø Ô ÖØ Ø ÓÒ Ò ¸ Ø Óѹ
ÐÓÛ Ö ÓÙÒ ×º Ì Ù× Ó × Ð Ø Ú ÙÒÖÓÐÐ Ò × ÓÛ ×Ù ¹ Ô Ð Ö ÒÓØ ÓÒÐÝ ÓÒ× Ö× ÓÒØÖÓÐ Ò Ô Ò Ò Ò ÓÖÑ Ø ÓÒ¸
ר ÒØ Ð ÔÓØ ÒØ Ð ÓÖ Ó Ø Ò Ñ Ö × ÙØÓ¸ ÓÑÔÖ ×׸ ÙØ Ð×Ó ÓÒ× Ö× Ø Ô Ò Ò Ò ÓÖÑ Ø ÓÒ Ò ÔÖӬР¹
Ö ÒØ¸ Ò Ù Õ×ÓÖØº Ì Ó ÜÔ Ò× ÓÒ Ù ØÓ × ¹ × Ò ÓÖÑ Ø ÓÒ ÓÒ Ø ÑÓר Ð ÐÝ ÓÒØÖÓÐ ÓÛ Ô Ø ×º
Ð Ø Ú ÐÓÓÔ ÙÒÖÓÐÐ Ò ÓÖ Ø × Ò Ñ Ö ×ÛÖ º ±¸ Ï Ô Ö ÓÖÑ × Ú Ö Ð Ñ ×ÙÖ Ñ ÒØ× Û Ø Ø × ÓÑÔ Ð Ö¹
½ º½±¸ ¿¿º½½±¸ Ò º¼±¸ Ö ×Ô Ø Ú Ðݺ Ì ÑÔÖÓÚ Ñ ÒØ× Ò Ö Ø Ø Ö ×º ÇÙÖ Ñ ×ÙÖ Ñ ÒØ× × ÓÛ Ø Ø Ñ ÓÖ¹
Ò Ø Ö ¹Ð Ú Ð Ô Ö ÐÐ Ð ×Ñ Ö × ÓÛÒ Ò ÙÖ º ÓÖ ØÝ Ó Ø Ò Ñ Ö × ÔÖÓ Ö Ñ× Ö Ð ØÓ Ø ×Ù ×Ø Ò¹
Ó Ø × Ò Ñ Ö ×¸ ¾ Ö× Ö × ÓÛÒ¸ Ø ¬Öר Ò ØÒ Ø Ð Ò Ö × Ò Ô Ö ÐÐ Ð ×Ñ Û Ò ÙÔ ØÓ Ø Ö × Ö Ü ¹
Ø Ô Ö ÐÐ Ð ×Ñ ÓÖ ÐÓÓÔ ÙÒÖÓÐÐ Ò Ò Ø × ÓÒ Ò Ø¹ ÙØ Ò Ô Ö ÐРи ÔÖÓÚ Ø Ú ÐÙ ×Ô ÙÐ Ø ÓÒ × Ù×
Ò Ø Ô Ö ÐÐ Ð ×Ñ Ø Ö ÐÓÓÔ ÙÒÖÓÐÐ Ò º ÑÓÒ Ø × ØÛÓ ØÓ Ö ÒØ Ö¹Ø Ö Ø Ô Ò Ò ×º ÇÙÖ Ñ ×ÙÖ Ñ ÒØ×
Ò Ñ Ö ×¸ ÙØÓ Ò Ö ÒØ × ÓÛ Ö Ñ Ö Ð ÑÔÖÓÚ ¹ Ð×Ó × ÓÛ Ø Ø ÑÓר Ó Ø Ò Ñ Ö ÔÖÓ Ö Ñ× Ö ÕÙ Ö ÒÓÒ¹
Ñ ÒØ Ù ØÓ × Ð Ø Ú ÐÓÓÔ ÙÒÖÓÐÐ Ò º ÐÓÓÔ Ø Ö × Ð×Ó¸ Ò Ø ÓÒ ØÓ ÐÓÓÔ¹ ÒØÖ Ø Ö ×º Ê ¹
×ÙÐØ× ÖÓÑ Ø × × ÑÙÐ Ø ÓÒ× Ò Ø Ø Ø ÙØÙÖ ÔÖÓ ××ÓÖ×
Ò ×Ô ÙÔ Ø Ü ÙØ ÓÒ Ó Ñ ×Ýר Ñ ÔÖÓ Ö Ñ Ý
5. DISCUSSION AND CONCLUSIONS Ù× Ò ÑÙÐØ Ø Ö Ò º
Ñ ÔÖÓ ××ÓÖ × Ò× Ö ÓÒ×ØÖ Ò Ý ÔÓÛ Ö Ñ ÓÖ Ú ÒØ Ó ×Ô ÙÐ Ø Ú ÑÙÐØ Ø Ö Ò ÑÙÐØ ¹
ÓÒ×ÙÑÔØ ÓÒ¸ Ó × Þ ¸ Ò × Þ Ð Ñ Ø Ø ÓÒ׺ Æ Ú ÖØ ¹ Ø Ö Ò × Û Ö ÓÑÔ Ø Ð ØÝ Û Ø Ü ×Ø Ò ÔÖÓ ×¹
Ð ×׸ Ø Ô Ö ÓÖÑ Ò ÜÔ Ø ÖÓÑ Ø Ñ × Ò ×Ø ÐÝ ×ÓÖ׺ Ì Ø ×¸ Ò Ü ×Ø Ò Ü ÙØ Ð ÔÖÓ Ö Ñ ÓÖ Ø ÓÖ ¹
Ò Ö × Ò º ÌÓ Ý³× Ñ ÔÖÓ ××ÓÖ× Ò ÓÖÔÓÖ Ø Ú Ö ¹ Ò Ð ´× Ò Ð ¹Ø Ö µ Ñ ÔÖÓ ××ÓÖ ÓÖÑ× Ð Ð × Ò Ð ¹
ØÝ Ó Ø Ò ÕÙ × Ø Ø Ö Ù× ÓÖ Ò Ö Ð¹ÔÙÖÔÓ× ÔÖÓ ××ÓÖ Ø Ö Ó ÓÖ ÑÙÐØ Ø Ö Ò Ñ ÔÖÓ ××ÓÖº Ì ×
× Òº ØÙÖ × Ú ÖÝ ÑÔÓÖØ ÒØ ÖÓÑ Ø ÓÑÑ Ö Ð ÔÓ ÒØ Ó Ú Û¸
ÌÓ Ó Ø Ò Ô Ö ÓÖÑ Ò Ò Ñ ×Ýר Ñ ÔÔÐ ¹ Ù× Ó ÙרÓÑ Ö׳ רÖÓÒ ÔÖ Ö Ò ØÓ Ú Ø Ð¹
Ø ÓÒ׸ Ø × ÑÔÓÖØ ÒØ ØÓ Ò Ð ÓØ ÐÓÓÔ¹Ø ÖÑ Ò Ø Ò ØÝ ØÓ ÖÙÒ Ø ÓÐ Ò Ö × Ò Ø Ò Û Ñ Ò ´ ÐØ ÓÙ
Ö Ò × Ò ÓØ Ö ÓÒ Ø ÓÒ Ð Ö Ò × Ò Ò Æ ÒØ Ñ Ò¹ Ø Ó× Ò Ö × Ò ÒÓØ Ò ¬Ø ÖÓÑ Ø Ò Û Ñ Ò ³× ÑÙй
Ò Öº ÐØ ÓÙ ØÖ Ø ÓÒ Ð Ö Ò ÔÖ Ø ÓÒ ÔÖÓÚ × ×ÓÑ ¹ ØØ Ö Ò ØÙÖ ×µº
8. Ô ÖØÑ ÒØ¸ ÍÒ Ú Ö× ØÝ Ó Ï × ÓÒ× Ò¹Å ×ÓÒ¸ ½ ¿º
ź Ϻ À Ðи º ź Ò Ö×ÓÒ¸ ˺ Ⱥ Ñ Ö × Ò ¸ º ʺ
ÅÙÖÔ Ý¸ ˺ Ϻ Ä Ó¸ º Ù Ò ÓÒ¸ Ò Åº ˺ Ä Ñ¸
16
# PEs
Å Ü Ñ Þ Ò ÅÙÐØ ÔÖÓ ××ÓÖ È Ö ÓÖÑ Ò Û Ø Ø
4
ËÍÁ ÓÑÔ Ð Ö¸ Á ÓÑÔÙØ Ö¸ Ñ Ö½ º
14
3 ½¼ Ⱥ º ̺ À×Ù Ò º ˺ Ú ×ÓÒ¸ À ÐÝ ÓÒ ÙÖÖ ÒØ
after loop unrollling
2
1
Ë Ð Ö ÈÖÓ ×× Ò ¸ ÈÖÓ º ½¿Ø ÒÒÙ Ð ÁÒØ ÖÒ Ø ÓÒ Ð
Ø ØÙÖ ¸ ÔÔº ¿ ¹¿ ¸
12
before loop unrolling
ËÝÑÔÓ× ÙÑ ÓÒ ÓÑÔÙØ Ö Ö
½ º
10
½½ ź ˺ Ä Ñ Ò Êº Ⱥ Ï Ð×ÓÒ¸ Ä Ñ Ø× Ó ÓÒØÖÓÐ ÐÓÛ
ÓÒ È Ö ÐÐ Ð ×Ѹ ÈÖÓ º ½ Ø ÒÒÙ Ð ÁÒØ ÖÒ Ø ÓÒ Ð
IPC
Ø ØÙÖ ¸ ÔÔº ¹ ¸ ½ ¾º
8
ËÝÑÔÓ× ÙÑ ÓÒ ÓÑÔÙØ Ö Ö
½¾ ˺ º Å Ð ¸ ʺ º À Ò ¸ ʺ º Ö Ò Ñ ÒÒ¸ º º
6
ÝÐÐ Ò Ð¸ º ź ÐÐ Ö¸ Ò Ïº Ϻ ÀÛÙ¸
Ö Ø Ö Þ Ò Ø ÁÑÔ Ø Ó ÈÖ Ø Ü ÙØ ÓÒ ÓÒ
4
Ö Ò ÈÖ Ø ÓÒ¸ ÈÖÓ º ¾ Ø ÁÒØ ÖÒ Ø ÓÒ Ð
ËÝÑÔÓ× ÙÑ ÓÒ Å ÖÓ Ö Ø ØÙÖ ¸ ÔÔº ¾½ ¹¾¾ ¸ ½ º
2
½¿ Ǻ º Å ÕÙ Ð Ò¸ Àº Àº º ÀÙѸ Ò º ʺ Ó¸ Óר×
Ò Ò ¬Ø× Ó ÅÙÐØ Ø Ö Ò Û Ø Ç«¹Ø ¹Ë Ð ÊÁË
0
auto compress fir_int ucbqsort ÈÖÓ ××ÓÖ׸ ÈÖÓ Ò × Ó Ø Öר ÁÒØ ÖÒ Ø ÓÒ Ð
ÍÊÇ¹È Ê ÓÒ Ö Ò ´Ë À Ö ¸ à ÝÖ Ð ¸ Ò
È Ø Ö Å ÒÙ××ÓÒ¸ ׺µ¸ ÒÓº Ò Ä ØÙÖ ÆÓØ × Ò
ÙÖ È Ö ÐÐ Ð ×Ñ Ê ×ÙÐØ× ÓÖ Ú ÖÝ Ò ÒÙÑ Ö Ó ÓÑÔÙØ Ö Ë Ò ¸ ËØÓ ÓÐѸ ËÛ Ò¸ ÔÔº ½½ ¹½¾ ¸
È × Û Ò Ë Ð Ø Ú ÄÓÓÔ ÍÒÖÓÐÐ Ò × ÑÔÐÓÝ ËÔÖ Ò Ö¹Î ÖÐ ¸ Ù Ùר ¾ ¹¿½¸ ½ º
½ ú ÇÐÙ ÓØÙÒ¸ Ø Ð¸ Ô¹ÅÙÐØ ÔÖÓ ××ÓÖ
Acknowledgements Ö Ø ØÙÖ Û Ø ËÔ ÙÐ Ø Ú ÅÙÐØ Ø Ö Ò ¸ Á
ÌÖ Ò× Ø ÓÒ× ÓÒ ÓÑÔÙØ Ö׸ Ë ÔØ Ñ Ö½ º
Ì × ÛÓÖ Û × ×ÙÔÔÓÖØ Ý Ø ÍºËº Æ Ø ÓÒ Ð Ë Ò ÓÙÒ¹ ½ º ÇÔÐ Ò Ö Ò º À Ò Ò Åº ˺ Ä Ñº ÁÒ Ë Ö Ó
Ø ÓÒ ´ÆË µ Ø ÖÓÙ Ê Ê Ö ÒØ ´ÅÁÈ ¼¾ µ¸ ËÔ ÙÐ Ø Ú Ì Ö ¹Ä Ú Ð È Ö ÐÐ Ð ×Ѻ ÈÖÓ º
Ö ÙÐ Ö Ö ÒØ ´ Ê ¼¼ ¿ ¾µ¸ Ò Ò Ê Í Ö ÒØ ´ Á ÁÒØ ÖÒ Ø ÓÒ Ð ÓÒ Ö Ò ÓÒ È Ö ÐÐ Ð Ö Ø ØÙÖ × Ò
½¾¾½ µº ÓÑÔ Ð Ø ÓÒ Ì Ò ÕÙ × ´È¸½ ºÌµ
½ º Ë ÓØØ¸ ĺ Àº Ä ¸ º Ò¸ º Ö Ò ×¸ Ò º ÅÓÝ Ö¸
6. REFERENCES × Ò Ò Ø Å ÇÊ Å¿ ÈÍ Ö Ø ØÙÖ ¸ ÈÖÓ º
½ º Ó¸ ʺ Ë Ø ¸ Ò Âº ÍÐÐÑ Ò¸ ÓÑÔ Ð Ö× ÁÒØ ÖÒ Ø ÓÒ Ð ÓÒ Ö Ò ÓÒ ÓÑÔÙØ Ö × Ò ´Á µ¸
ÈÖ Ò ÔР׸ Ì Ò Õ٠׸ ×ÓÒ¹Ï ×Рݸ Ò ÌÓÓÐ׺ ½ º
Ê Ò ¸Å ¸½ º ½ ź º ËÑ Ø ¸ º ÀÓÐÐÓÛ Ý¸ Ò ÁÒØÖÓ Ù Ø ÓÒ ØÓ
¾ Àº º Ð Ò Åº À Ò ×¸ ÔÔÖÓ × ÓÖ ÁÒØ Ö Ø Ò Å Ò ËÍÁ Ò ÁØ× ÈÓÖØ Ð Ä Ö Ö × ÓÖ Ò ÐÝ× ×
Ì× Ò Ø È Ö ÐÐ Ð ×Ѹ Á ÓÒ ÙÖÖ Ò Ý¸ Ò ÇÔØ Ñ Þ Ø ÓÒ º
ÂÙÐÝ¹Ë ÔØ Ñ Ö ½ º ½ ú º Ì Ó Ð ¸ º ʺ Ó¸ Ò Äº º À Ò Ö Ò¸ ÇÒ
¿ º ÓÛÑ Ò Åº Ö Ò Ð Ò¸ Ö Ø Ö Þ Ø ÓÒ Ó Ø Ä Ñ Ø× Ó ÈÖÓ Ö Ñ È Ö ÐÐ Ð ×Ñ Ò Ø×
ÓÒØÖÓÐ ÁÒ Ô Ò Ò Ò ÈÖÓ Ö Ñ׸ ÈÖÓ Ò × Ó ËÑÓÓØ Ð ØÝ¸ ÈÖÓ º ¾ Ø ÒÒÙ Ð ÁÒØ ÖÒ Ø ÓÒ Ð
ÏÓÖ × ÓÔ ÓÒ ÏÓÖ ÐÓ Ö Ø Ö Þ Ø ÓÒ¸ ½ º ËÝÑÔÓ× ÙÑ ÓÒ Å ÖÓ Ö Ø ØÙÖ ´ÅÁ Êǹ¾ µ¸ ÔÔº
ʺ ÝØÖÓÒ¸  ÖÖ ÒØ ¸ º ÊÓ× Ò¸ ź Ï Ñ Ò¸ Ò º ½¼¹½ ¸ ½ ¾º
¸ Æ ÒØÐÝ ÓÑÔÙØ Ò ËØ Ø Ë Ò Ð ½ ú Ï Ò Ò Åº Ö Ò Ð Ò¸ À ÐÝ ÙÖ Ø Ø
×× ÒÑ ÒØ ÓÖÑ Ò Ø ÓÒØÖÓÐ Ô Ò Ò Ö Ô ¸ Î ÐÙ ÈÖ Ø ÓÒ Ù× Ò ÀÝ Ö ÈÖ ØÓÖ× ¸ ÈÖÓ Ò ×
Å ÌÖ Ò× Ø ÓÒ× ÓÒ ÈÖÓ Ö ÑÑ Ò Ä Ò Ù × Ò Ó ½¿Ø Á » Å ÁÒØ ÖÒ Ø ÓÒ Ð ËÝÑÔÓ× ÙÑ ÓÒ
ËÝר Ñ× ¸ ÎÓк ½¿¸ ÆÓº ¸ ÔÔº ½¹ ¼¸ Ç ØÓ Ö ½ ½º Å ÖÓ Ö ¸ ÔÔº ¾ ½¹ ¼¸
Ø ØÙÖ º½ º
Ϻ º ÐÐÝ Ò Ëº Ä Ý¸ ÎÄËÁ Ö Ø ØÙÖ È ×Ø¸ ¾¼ ̹ º Ò º ƺ È ØØ¸ ÐØ ÖÒ Ø Ú
ÈÖ × ÒØ¸ Ò ÙØÙÖ ¸ ÈÖÓ Ò × Ó Ú Ò ÁÑÔÐ Ñ ÒØ Ø ÓÒ× Ó ÌÛÓ¹Ä Ú Ð ÔØ Ú Ö Ò
Ê × Ö Ò ÎÄËÁ ÓÒ Ö Ò ¸ ½ º ÈÖ Ø ÓÒ¸ ÈÖÓ º ½ Ø ÒÒÙ Ð ÁÒØ ÖÒ Ø ÓÒ Ð
Ⱥ ٠ݸ ú dz Ö Ò¸ ú ź dz Ö Ò¸ Ò º ÖØÓÒ¸ ËÝÑÔÓ× ÙÑ ÓÒ ÓÑÔÙØ Ö Ö Ø ØÙÖ ¸ ÔÔº ½¾ ¹½¿ ¸
Ë Ò Ð ¹ÈÖÓ Ö Ñ ËÔ ÙÐ Ø Ú ÅÙÐØ Ø Ö Ò ´ËÈËŵ ½ ¾º
Ö Ø ØÙÖ ÓÑÔ Ð Ö¹ ×× ×Ø Ò¹ Ö Ò
ÅÙÐØ Ø Ö Ò ¸ ÈÖÓ º ÁÒØ ÖÒ Ø ÓÒ Ð ÓÒ Ö Ò ÓÒ
È Ö ÐÐ Ð Ö Ø ØÙÖ Ò ÓÑÔ Ð Ø ÓÒ Ì Ò ÕÙ ×
´È Ì ³ ¸½
µº
ź Ñ Ñ ¸ ÈÖ Ø Ð ÁÒØ ÖÔÖÓ ÙÖ Ð Ð × Ò ÐÝ× ×
ÓÖ Ò ÇÔØ Ñ Þ Ò »È Ö ÐÐ Ð Þ Ò ÓÑÔ Ð Ö¸ Šר Ö×
Ì × ×¸ Ë ÓÓÐ Ó ÓÑÔÙØ Ö Ë Ò º Å ÐÐ ÍÒ Ú Ö× ØÝ¸
ÅÓÒØÖ Ð¸ ½ ¿º
ź Ö Ò Ð Ò¸ Ì ÅÙÐØ × Ð Ö Ö Ø ØÙÖ ¸ È º º
Ì × ×¸ Ì Ò Ð Ê ÔÓÖØ ½½ ¸ ÓÑÔÙØ Ö Ë Ò ×