ᚑくᄢቇℂᎿቇ⎇ⓥႎ๔
J. Fac. Sci. Tech., Seikei Univ.
Vol.47 No.1 (2010) pp.49-57

% ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ߩ㐿⊒̆ࡐࠗࡦ࠲㧛㈩೉ߩଐሽ⸃ᨆߦၮߠߊ࠲ࠬࠢ☸ᐲߩ᳿ቯᚻᴺ̆㜞㊁ ⵨ᄥ㧖㧘↲᢫ ቬᓼ㧖Development of Automatic Translator from C Programs to Parallel Programs Using MPI- Decision Support of Task Granularity based on Pointer/Array Data-dependent Analysis Hirota TAKANO㧖 Munenori KAI㧖ABSTRACT:The authors have been developing an automatically parallelizing translator for serial C program intoparallel MPI program. The translator consists of a series of some analysis stages such as parallelismanalysis stage, task granularity analysis stage, task scheduling stage, parallelized code generation stage.
At the parallelism analysis, statement level parallelism is extracted, and a lot of fine-grained tasks such as
statement level tasks are found. A lot of tasks make the task scheduling stage very difficult, because thistask scheduling problem belongs to the class of strong NP complete combinatorial optimization problem.
In this paper, in order to reduce the number of tasks and simplify the topology and the structure of thetask graph, we propose a task fusion scheme and generating macro tasks to reduce the number of tasks
and the number of communication edges among task graph. It is shown that the overall task scheduling isdivided into small sub-task scheduling problems which can be solved easier.
Keywords: automatic parallelization, task scheduling, task fusion, macro task, task granularity(Received March 25, 2010)ߪߓ߼ߦ

߿ߘߩ⸃ᨆߦၮߠߊ㈩೉ࠕࠢ࠮ࠬߩേ⊛ߥଐሽ⸃ᨆࠍⴕ

޿㧘ߘߩ⚿ᨐߣߒߡᓧࠄࠇߚ࠲ࠬࠢࠣ࡜ࡈࠍరߦ☻☸ᐲ⢛᥊ߣ⋡⊛߅ࠃ߮⚦☸ᐲਗ೉ൻࠍⴕ߁ߎߣߢ㧘ታⴕᕈ⢻ߩะ਄ࠍ࿑ ࡑ࡞࠴ࡊࡠ࠮࠶ࠨࠪࠬ࠹ࡓߢߪਗ೉ᕈߣല₸ࠍ⠨ᘦߒߞߚਗ೉ࡊࡠࠣ࡜ࡓߦᄌ឵ߔࠆ‫ޕ‬ߚࡊࡠࠣ࡜ࡓࠍታⴕߒߥ޿ߣߘߩఝࠇߚᕈ⢻ࠍචಽߦᒁ߈಴ߖߥ޿ߣ޿߁஥㕙߇޽ࠆ‫⸃ࠍࠇߎޕ‬᳿ߔࠆߚ߼ߦߪ ࠲ࠬࠢ☸ᐲߩ᳿ቯਗ೉ᕈߩ᛽಴૞ᬺ㧘ಣℂߔߴ߈࠲ࠬࠢߩታⴕ㗅ᐨࠍ᳿߼C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ౝߢߪ㧘࠲ࠬࠢࡉࡠࠆߚ߼ߩࠬࠤࠫࡘ࡯࡝ࡦࠣ૞ᬺߥߤࠍⴕ޿㧘ല₸⊛ߥਗ࠶ࠢߣ๭߫ࠇࠆන૏ߢ࠲ࠬࠢߏߣߩᖱႎ߇⴫⃻ߐࠇࠆ‫ޕ‬೉ࡊࡠࠣ࡜ࡓࠍ૞ᚑߒߥߌࠇ߫ߥࠄߥ޿‫߇ࠈߎߣޕ‬㧘ߘ࠲ࠬࠢࡉࡠ࠶ࠢߣߪਗ೉ታⴕߔࠆ㓙ߦฦࡊࡠ࠮࠶ࠨ߇ታߩ૞ᬺߦߪࠕࡊ࡝ࠤ࡯࡚ࠪࡦߩౝㇱ᭴ㅧ߅ࠃ߮ಣℂࠪࠬⴕߔࠆᦨዊන૏ߢ޽ࠅ㧘ᦨዊߩ☸ᐲߪ࠰࡯ࠬࠦ࡯࠼ߩࠬ࠹ࡓߩࠕ࡯ࠠ࠹ࠢ࠴ࡖߥߤߩ⍮⼂߇ⷐ᳞ߐࠇࠆߚ߼㧘ࡑ࠹࡯࠻ࡔࡦ࠻ߣߒߡ޿ࠆ[3]‫ᦨޕ‬ㆡߥਗ೉ൻࠍⴕ߁ߚ߼ߦ࡞࠴ࡊࡠ࠮࠶ࠨࠪࠬ࠹ࡓߩ᦭ല೑↪ߣ޿߁ὐߢ೑↪⠪ߦߪߔߴߡߩ࠲ࠬࠢࠍᦨዊߩ☸ᐲߣߒߡࠬࠤࠫࡘ࡯࡝ࡦࠣߣߞߡᄢ߈ߥ㓚ኂߦߥߞߡ޿ࠆ‫ޕ‬ࠍⴕ߁ߴ߈ߢ޽ࠆ‫ߒ߆ߒޕ‬㧘ࠬࠤࠫࡘ࡯࡝ࡦࠣߦⷐߔࠆ ᧄ⎇ⓥߢߪ㧘ࡐࠗࡦ࠲ߩሽ࿷ߥߤߦࠃࠅታ↪⊛ߥ⥄േᤨ㑆ߪ࠲ࠬࠢᢙߦኻߒߡᜰᢙ㑐ᢙ⊛ߦჇᄢߔࠆߚ߼㧘ߘਗ೉ൻ߇࿎㔍ߣߐࠇߡ޿ࠆ C ⸒⺆ߦኻߔࠆ⥄േਗ೉ൻ࠻ߩࠃ߁ߥࠬࠤࠫࡘ࡯࡝ࡦࠣߪ⃻ታ⊛ߢߥ޿‫ߚ߹ޕ‬㧘⚦☸

࡜ࡦࠬ࡟࡯࠲ߩ㐿⊒ࠍⴕߞߡ޿ࠆ‫ߩ࠲ࡦࠗࡐޕ‬ଐሽ⸃ᨆᐲߩ࠲ࠬࠢߩ႐ว㧘ㅢାߦࠃࠆࠝ࡯ࡃࡋ࠶࠼ࠍ⠨ᘦߔࠆߣ㧘ਗ೉ᕈ߇޽ࠆ႐วߢ߽⇣ߥࠆࡊࡠ࠮࠶ࠨߦഀࠅᒰߡ㧖㧦Ꮏቇ⎇ⓥ⑼ᖱႎಣℂኾ᡹ୃ჻ቇ↢㧖㧦Ꮏቇ⎇ⓥ⑼ᖱႎಣℂኾ᡹ᢎ᝼ MCK"UVUGKMGKCELR ࠆࠃࠅ߽หߓࡊࡠ࠮࠶ࠨߦഀࠅᒰߡߚ߶߁߇ታⴕᤨ㑆ߩ㧙㧙⍴❗ߦߥࠆ㧘ߣ޿߁ࠬࠤࠫࡘ࡯࡝ࡦࠣ⚿ᨐ߇಴ࠆ႐ว߽ࡘ࡯࡝ࡦࠣࠍⴕ߁‫☸ࠢࠬ࠲ޕ‬ᐲ⸃ᨆߪ㧘೨Ბߩ⸃ᨆߩᄙ޿‫ߥ߁ࠃߩߘޕ‬႐วߦߪ㧘หߓࡊࡠ࠮࠶ࠨߦഀࠅᒰߡ⚿ᨐߦၮߠ߈㧘ฦ࠲ࠬࠢࠍߤߩࠃ߁ߥ☸ᐲߢࡊࡠ࠮࠶ߚ߶߁߇ࠃ޿㧘߹ߚߪߘߩน⢻ᕈ߇㜞޿ߣ޽ࠄ߆ߓ߼⸃ࠨߦഀࠅᒰߡࠇ߫ല₸ߩ⦟޿ਗ೉ಣℂ߇ⴕ߃ࠆ߆ࠍ⠨ᨆߢ߈ࠆ࠲ࠬࠢߦ㑐ߒߡߪ࠲ࠬࠢߩⲢวࠍⴕ޿㧘৻ߟߩᘦߒ࠲ࠬࠢ☸ᐲࠍ᳿ቯߔࠆ‫☸☻ߩߤߥࠢࠬ࠲ࡠࠢࡑޕ‬࠲ࠬࠢߣߒߡᛒߞߚ߶߁߇ࠬࠤࠫࡘ࡯࡝ࡦࠣߦⷐߔࠆᤨᐲ࠲ࠬࠢߦኻߒߡ㧘ㅢାᤨ㑆ࠍ⠨ᘦߒߚㇱಽ࠲ࠬࠢࠬ㑆ࠍ೥ᷫߢ߈ࠆ‫੹ޕ‬ᐕᐲߩ⎇ⓥߢߪ㧘ߎߩࠃ߁ߥ࠲ࠬࠢࠤࠫࡘ࡯࡝ࡦࠣࠍㆡ↪ߔࠆߎߣߢ㧘ߤߩࠃ߁ߥ㗅ᐨߢߦ㑐ߒߡଐሽ⸃ᨆߦၮߠ޿ߡ࠲ࠬࠢߩⲢวࠍⴕ޿㧘࠲ࠬታⴕߔࠇ߫ᦨ⍴ᤨ㑆ߢߘߩ☻☸ᐲ࠲ࠬࠢߩಣℂ߇ቢੌࠢ☸ᐲߩ᳿ቯࠍⴕߞߚ‫ޕ‬ߔࠆ߆ࠍ⸃ᨆߔࠆ‫ߩߎޕ‬ੑߟߩಣℂߪࠃࠅࠃ޿⚿ᨐࠍ᳞߼ࠆߚ߼ߦ➅ࠅ㄰ߒⴕࠊࠇࠆ‫ޕ‬ᰴߦో૕࠲ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣࠍⴕ߁‫࠲ߪߢߎߎޕ‬㧞% ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ࠬࠢ☸ᐲ⸃ᨆ㧘ㇱಽ࠲ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣࠍ➅ࠅ㄰ߒ C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ߪ㧘C ⸒⺆ߢ⸥ㅀߐߚᓟߩᦨ⚳⊛ߥ☸ᐲߩ࠲ࠬࠢ㓸วࠍࡊࡠ࠮࠶ࠨߦഀࠅᒰࠇߚ࠰࡯ࠬࡊࡠࠣ࡜ࡓߦሽ࿷ߔࠆਗ೉ᕈࠍ᛽಴ߒ㧘ߘࠇߡࠆࠬࠤࠫࡘ࡯࡝ࡦࠣࠍⴕ߁‫ޕ‬ࠍᵴ↪ߔࠆߎߣߢ⥄േ⊛ߦਗ೉ࡊࡠࠣ࡜ࡓࠍ↢ᚑߔࠆ߽ᦨ⚳Ბ㓏ߢ࠲࡯ࠥ࠶࠻ࡑࠪࡦߦ߅޿ߡఝࠇߚታⴕᕈ⢻ߩߢ޽ࠆ‫⎇ᧄޕ‬ⓥߢ㐿⊒ߔࠆ C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬࠍታ⃻ߔࠆࠃ߁ߥਗ೉ࡊࡠࠣ࡜ࡓߩ⥄േ↢ᚑࠍⴕ߁‫ޕ‬ ೋᦼ૞ᬺߣߒߡ⸃ᨆኻ⽎ߣߥࠆ࠰࡯ࠬࡊࡠࠣ࡜ࡓߩਗ㧟࠲ࠬࠢࠣ࡜ࡈ೉ᕈ⸃ᨆࠍⴕ߁‫ᤨߩߘޕ‬ὐߩ࠰࡯ࠬࠦ࡯࠼ߢߪਗ೉ಣℂ࡟࡯࠲ߩో૕ߩᵹࠇࠍ࿑ 2.1 ߦ␜ߔ‫ޕ‬ਇน⢻ߣ್ቯߐࠇߚ࡞࡯ࡊ߇㧘࡞࡯ࡊ࡝ࠬ࠻࡜ࠢ࠴ࡖ࡝

C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ౝߢߪ㧘࠲ࠬࠢߣ๭ࡦࠣߦࠃߞߡਗ೉ಣℂน⢻ߥ࡞࡯ࡊߦᄌ឵น⢻ߣ್ᢿߐ߫ࠇࠆන૏ߢࡊࡠࠣ࡜ࡓౝߩଐሽ㑐ଥࠍ⴫⃻ߔࠆ‫ࠬ࠲ޕ‬ࠇࠆߣ࠰࡯ࠬࠦ࡯࠼ߩᄌ឵૞ᬺࠍⴕ޿㧘ᄌ឵ᓟߩᣂߚߥࠢߣߪਗ೉ታⴕߔࠆ㓙ߦฦࡊࡠ࠮ࠬ߇ታⴕߔࠆᦨዊන૏

࠰࡯ࠬࠦ࡯࠼ߦኻߒߡౣ߮ਗ೉ᕈ⸃ᨆࠍⴕ߁

[1][2]‫ޕ‬ਛ⋚ߩ૞ᬺߣߒߡ࠲ࠬࠢ☸ᐲ⸃ᨆ㧘ㇱಽ࠲ࠬࠢࠬࠤࠫߢ޽ࠅ㧘ᦨዊߩ☸ᐲߪ࠰࡯ࠬࠦ࡯࠼ߩࠬ࠹࡯࠻ࡔࡦ࠻ߣߥࠆ‫ޕ‬ㅙᰴಣℂߢߪࡊࡠ࠮࠶ࠨ 1 บߢಣℂࠍⴕ߁ߩߢㅢ
ାࠍⴕ߁ᔅⷐߪߥ޿߇ਗ೉ಣℂߩ႐ว㧘ࡊࡠ࠮࠶ࠨࠍⶄᢙบ૶↪ߔࠆߚ߼ㅢା߇⊒↢ߔࠆ‫ޕ‬ᓥߞߡ࠲ࠬࠢߩಣℂ䉸䊷䉴䊒䊨䉫䊤䊛ᤨ㑆ߣㅢାᤨ㑆ߩ࠻࡟࡯࠼ࠝࡈࠍ⠨ᘦߒߥߌࠇ߫ߥࠄߥ޿‫☸⚦ޕ‬ᐲ࠲ࠬࠢߢߪㅙᰴಣℂࠍⴕߞߚᣇ߇ല₸ߩ⦟޿႐ว߇޽ࠅ㧘ߔߴߡߩਗ೉ᕈࠍᵴ߆ߖ߫⦟޿ߣߪ㒢ࠄߥਗ೉ᕈ⸃ᨆ޿‫ޕ‬߹ߚ㧘࠲ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣߪ৻⥸ߦᒝ NP ࿎㔍ߥᦨㆡൻ໧㗴ߢ޽ࠆ‫߼ߚߩߘޕ‬㧘࠲ࠬࠢᢙ߇ᄙ޿႐วߦߪ䉺䉴䉪☸ᐲ⸃ᨆㇱಽ䉺䉴䉪䉴䉬䉳䊠䊷䊥䊮䉫ᦨㆡ⸃ࠍ᳞߼ࠆߩߦ㕖Ᏹߦᄙߊߩᤨ㑆ࠍⷐߔࠆ‫ޕ‬ᓥߞߡ㧘㧯⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ߢߪㅢାߩ࠺࡯࠲㊂ࠍᷫࠄߔࠃ߁ߦ☻☸ᐲ࠲ࠬࠢߩ↢ᚑࠍⴕ߁ߎߣߢ࠲ࠬࠢᢙో૕䉺䉴䉪䉴䉬䉳䊠䊷䊥䊮䉫ࠍ೥ᷫߒߡ޿ࠆ‫ౕޕ‬૕⊛ߦߪ㧘࠲ࠬࠢ㑆ߢଐሽߒߡ޿ࠆᄌᢙߩࡍࠕߩᢙࠍଐሽᒝᐲߣቯ⟵ߒ㧘ଐሽᒝᐲߩ㜞޿⚦☸ᐲ࠲ࠬࠢห჻ࠍⲢวߒߡ޿ࠆ‫ߒ߆ߒޕ‬㧘⚦☸ᐲ࠲ࠬࠢਗ೉䉮䊷䊄↢ᚑߢᛒ߁࠺࡯࠲ߪᲧセ⊛ࠨࠗ࠭߇ዊߐߊ㧘ㅢାߦⷐߔࠆᤨ㑆ߪㅢା㊂ߦଐሽߒߥ޿႐ว߇ᄙ޿‫ߥߦࠢ࠶ࡀ࡞࠻ࡏޕ‬ࠆߩߪ߻ߒࠈㅢାߩ࡟ࠗ࠹ࡦࠪ㧘ߟ߹ࠅหᦼߦࠃࠆᓙߜᤨ㑆ߢ޽ࠆ‫ߥ߁ࠃߩߎޕ‬ㅢା߇ⶄᢙ޽ࠆ႐ว㧘ߘࠇࠄࠍਗ೉䊒䊨䉫䊤䊛䋨㪤㪧㪠䉸䊷䉴䉮䊷䊄䋩ࡄ࠶ࠠࡦࠣߒ㧘৻࿁ߩㅢାߢᔅⷐߥ࠺࡯࠲ࠍ߹ߣ߼ߡㅍାߔࠆߎߣߦࠃߞߡㅢାᤨ㑆ࠍૐᷫߢ߈ࠆ‫ᧄ߼ߚߩߘޕ‬࿑%⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ߩಣℂ⎇ⓥߢߪㅢାߩ㊂ߢߪߥߊ࿁ᢙࠍᷫࠄߔߎߣࠍᔨ㗡ߦ⟎޿ߚᣂߚߥ࠲ࠬࠢߩ↢ᚑᣇᴺࠍ⠨᩺ߒߚ‫ޕ‬㧙㧙11 ࠲ࠬࠢߩ⒳㘃 ࠲ࠬࠢߩ⒳㘃ߪએਅߩ 4 ⒳㘃߇ሽ࿷ߔࠆ‫ޕ‬Ԙ 5ELECT(IF, ELSE_IF, ELSE)࠲ࠬࠢ

2

 if else㧘switch ߣ޿ߞߚ೙ᓮᢥౝߩࡏ࠺ࠖࠍ฽߻23࠲ࠬࠢߢ޽ࠆ‫ޕ‬SELECT ࠲ࠬࠢߪᔅߕࡑࠢࡠ࠲ࠬࠢ

43ߣߥࠅ㧘ࠨࡉ࠲ࠬࠢߣߒߡ 1 ߟߩ IF ࠲ࠬࠢߣછᗧߩ䊙䉪䊨䉺䉴䉪ࠢࡠ࠲ࠬࠢߦߟ޿ߡߪ 3.2 ߢㅀߴࠆ‫ޕ‬࿑ࠨࡉ࠲ࠬࠢߣᄖㇱ࠲ࠬࠢߩࠛ࠶ࠫ

䊙䉪䊨䉺䉴䉪

4

ᢙߩ ELSE ࠲ࠬࠢ㧘ELSE_IF ࠲ࠬࠢ߇ሽ࿷ߔࠆ‫ࡑޕ‬
LOOP ࠲ࠬࠢԙ



 for ᢥ߿ while ᢥߥߤ࡞࡯ࡊᢥో૕ࠍ൮฽ߔࠆ࠲ࠬ࠲ࠬࠢߩⲢวࠍⴕ߁㓙㧘Ⲣวߐࠇࠆ࠲ࠬࠢߦࡑࠢࡠ࠲ࠢߣߒߡቯ⟵ߐࠇࠆ‫ޕ‬SELECT ࠲ࠬࠢߣห᭽ߦࡑࠢࠬࠢ߇฽߹ࠇࠆ႐วߦߪࡑࠢࡠ࠲ࠬࠢߩⲢวߪⴕࠊߥ޿‫ޕ‬ࡠ࠲ࠬࠢߣߥࠆ‫ޕ‬Ⲣวᓟߩ࠲ࠬࠢߪⲢวߐࠇࠆ࠲ࠬࠢࠍࠨࡉ࠲ࠬࠢߣߒߡ

FUNC ࠲ࠬࠢᜬߟࡑࠢࡠ࠲ࠬࠢߣߥࠆ‫ߩߎޕ‬႐ว㧘ࡑࠢࡠ࠲ࠬࠢ߇ 1Ԛ ࡙࡯ࠩቯ⟵㑐ᢙࠍ๭߮಴ߔࠬ࠹࡯࠻ࡔࡦ࠻ߣߒߟჇ߃ࠆߚ߼㧘ో૕ߣߒߡߩ࠲ࠬࠢᢙߪⲢวࠍⴕ߁೨ߣߡቯ⟵ߐࠇࠆ‫ޕ‬ᲧセߒߡჇടߒߡߒ߹߁‫ߒ߆ߒޕ‬㧘Ⲣว߇ⴕࠊࠇߚ㓏ጀBASIC ࠲ࠬࠢߩ࠲ࠬࠢࠣ࡜ࡈߣߒߡߪ࠲ࠬࠢᢙ߇ᷫዋߔࠆߎߣ㧘ࡑࠢԛ ਄⸥ߩ࠲ࠬࠢߩ⒳㘃ߦᒰߡߪ߹ࠄߥ޿࠲ࠬࠢߩࡠ࠲ࠬࠢൻߦࠃߞߡଐሽߩࠛ࠶ࠫ߇ᷫዋߔࠆߎߣ߆ࠄ㧘⒳㘃ߣߒߡቯ⟵ߐࠇࠆ‫ᦨޕ‬ዊන૏ߪ࠰࡯ࠬࠦ࡯࠼ࠬࠤࠫࡘ࡯࡝ࡦࠣߦⷐߔࠆᤨ㑆ߪᷫዋߔࠆߎߣ߇⷗ㄟ߼ߩࠬ࠹࡯࠻ࡔࡦ࠻ߣߒߡ޿ࠆ‫޽ߢࠢࠬ࠲ࡠࠢࡑޕ‬ࠆ‫ޕ‬ࠆ႐วߣߘ߁ߢߥ޿႐วߩߤߜࠄ߽ሽ࿷ߔࠆ‫ޕ‬ ࠲ࠬࠢ㑆ߩଐሽߩ⒳㘃 ࡑࠢࡠ࠲ࠬࠢ ࠲ࠬࠢࠣ࡜ࡈߦߪએਅߩ  ߟߩଐሽ㑐ଥ߇ሽ࿷ߔࠆ‫ޕ‬Ԙ ࡈࡠ࡯ଐሽif( n > 10 ){if( n > 10 ){n=10for(i=0;i<n;i++){ᦠ߈ㄟߺߩᓟߦ⺒ߺㄟߺࠍⴕ߁‫ޕ‬

n=10ࡑࠢࡠ࠲ࠬࠢ1j++;࠲ࠬࠢ1-1ԙ ㅒଐሽfor(i=0;i<n;i++){j++;}}}

⺒ߺㄟߺߩᓟߦᦠ߈ㄟߺࠍⴕ߁‫ޕ‬Ԛ ಴ജଐሽ
ࡑࠢࡠ࠲ࠬࠢ
1-2}ᦠ߈ㄟߺߩᓟߦᦠ߈ㄟߺࠍⴕ߁ԛ ೙ᓮଐሽ࿑ࡑࠢࡠ࠲ࠬࠢ
ಽጘ๮઎ߣಽጘᓟߦಣℂߐࠇࠆ࠲ࠬࠢߦ㑐ߔ
࿑ 3.1 ߩࠃ߁ߦ࠲ࠬࠢࡉࡠ࠶ࠢౝㇱߦߪ࠰࡯ࠬࠦ࡯࠼

ࠆଐሽߩ᭴ㅧ਄㧘if ᢥ߿ for ᢥߥߤߩࠃ߁ߦⶄᢙߩ࠲ࠬࠢࠍ㓏ߎߩ߁ߜ㧘Ԙ㧘ԙ㧘Ԛߪ࠺࡯࠲ߦ㑐ߔࠆଐሽ㑐ଥ㧘ԛጀ⊛ߦ฽߻ࠃ߁ߥ࠲ࠬࠢ߇޽ࠆ‫ࠍࠢࠬ࠲ߥ߁ࠃߩߎޕ‬ߪ೙ᓮߦ㑐ߔࠆଐሽ㑐ଥߢ޽ࠆ‫ߦ࠲࡯࠺ޕ‬㑐ߔࠆଐሽ㑐[4]‫ߣޠࠢࠬ࠲ࡠࠢࡑޟ‬๭߱ ‫ޕ‬ଥߩ߁ߜ㧘ࡈࡠ࡯ଐሽߪ⌀ߩଐሽߣ߽๭߫ࠇߡ߅ࠅ㧘ߎࡑࠢࡠ࠲ࠬࠢߪ㧘ࠬࠤࠫࡘ࡯࡝ࡦࠣᤨߦߘߩ࠲ࠬࠢߩߩଐሽ߇ሽ࿷ߔࠆ࠲ࠬࠢ㑆ࠍ೎ࡊࡠ࠮࠶ࠨߦഀࠅᒰߡࠆౝㇱ᭴ㅧࠍ㓝⭁ߔࠆߚ߼ߦ↪޿ࠄࠇࠆ‫ߩࠢࠬ࠲ࡠࠢࡑޕ‬႐วߦߪ㧘ᔅߕㅢା߇ᔅⷐߣߥࠆ‫৻ޕ‬ᣇ㧘ㅒଐሽ㧘಴ജᄖㇱߩ࠲ࠬࠢߣࡑࠢࡠ࠲ࠬࠢౝߩࠨࡉ࠲ࠬࠢߦଐሽ㑐ଥଐሽߦ㑐ߒߡߪ㧘೎ࡊࡠ࠮࠶ࠨߦഀࠅᒰߡߚ႐วߦㅢା߇޽ࠆ႐ว㧘ᄖㇱ࠲ࠬࠢߣࠨࡉ࠲ࠬࠢ߇⋥ធଐሽ㑐ଥࠍࠍ⊒↢ߐߖࠆ߽ߩߢߪߥߊ㧘ห৻ࡊࡠ࠮࠶ࠨ਄ߦ࠲߽ࠬࠢߟߩߢߪߥߊ㧘ᄖㇱ࠲ࠬࠢߣࡑࠢࡠ࠲ࠬࠢ߇ଐሽ㑐ଥࠍഀࠅᒰߡߚ႐วߩవⴕ㑐ଥࠍ␜ߔ߽ߩߢ޽ࠆ‫ߚߩߘޕ‬ࠍ߽ߟ߽ߩߣߒߡᛒ߁‫߼ߚߩߘޕ‬ᄖㇱ࠲ࠬࠢߣⶄᢙߩࠨ߼㧘࠲ࠬࠢߩⲢวࠍⴕ߁㓙ߦߪㅒଐሽ㧘಴ജଐሽߪଐሽࡉ࠲ࠬࠢߦଐሽ㑐ଥ߇޽ࠆ႐วߦߪ㧘ⶄᢙߩࠛ࠶ࠫ߇ᄖߢߪߥ޿߽ߩߣߒߡᛒ޿㧘એ㒠ߩ࿑ߢ߽಴ജଐሽ㧘ㅒଐㇱ࠲ࠬࠢߣࡑࠢࡠ࠲ࠬࠢ㑆ߩ৻ᧄߩࠛ࠶ࠫߦ߹ߣ߼ࠄࠇሽߩࠛ࠶ࠫߪ⴫⸥ߒߥ޿‫ߒߛߚޕ‬㧘ᓳరᤨߦ࠲ࠬࠢࠣ࡜

ࠆߎߣߦߥࠆ(࿑ 3.2)‫ޕ‬ࡈߦᓴⅣࠛ࠶ࠫ߇⊒↢ߔࠆߩࠍ㒐ߋߚ߼㧘࠲ࠬࠢߩⲢวᤨߦฦ࠲ࠬࠢߩㅒଐሽ㧘಴ജଐሽߩᖱႎߩෳᾖࠍⴕߞߡ

޿ࠆ(࿑ 3.3)‫ޕ‬㧙㧙A

ࡈࡠ࡯㧘೙ᓮଐㅢା㊂䈏ᄙ䈇

಴ജ㧘ㅒଐ

132C

࠲ࠬࠢ1,2,4
ࠍⲢว

4

1,2,4B3

ㅢା㊂䈏ዋ䈭䈇಴ജଐሽ䋬ㅒଐሽ䈪䈅䈦䈩䉅䉺䉴䉪䉫䊤䊐䈏ᓴⅣ䈜䉎䉋䈉䈭Ⲣว䈲ⴕ䈋䈭䈇㩷࿑ ࠲ࠬࠢⲢวߦࠃࠆㅢାߩ೥㒰࿑ ࠲ࠬࠢⲢวࠍⴕ߃ߥ޿႐ว

࿑ 4.2(a)ߩࠃ߁ߥࠦ࡯࠼࠮ࠣࡔࡦ࠻ߩ႐ว㧘ฦ࠲ࠬࠢ㧠࠲ࠬࠢ☸ᐲߩ᳿ቯᚻᴺߩଐሽᒝᐲߪએਅߩࠃ߁ߦߥࠆ‫ޕ‬࠲ࠬࠢA㧦࠲ࠬࠢࠣ࡜ࡈ਄ߩߤߩ࠲ࠬࠢߦ߽ଐሽߒߡ ࠲ࠬࠢ☸ᐲ⸃ᨆߢߪ㧘ⶄᢙߩ࠲ࠬࠢࠍ৻ߟߦ߹ߣ߼޽޿ߥ޿ߍߡ޿ࠆ‫ޕ‬ᄌᢙ㑆ߩଐሽ㑐ଥ㧘ଐሽߩᒝߐ߆ࠄࠬࠤࠫࡘψଐሽᒝᐲ 0࡯࡝ࡦࠣࠍߔࠆᔅⷐ߇ή޿㧘޽ࠆ޿ߪߘߩน⢻ᕈ߇㜞޿࠲ࠬࠢB㧦࠲ࠬࠢ A ߩᄌᢙ a ߦଐሽߒߡ޿ࠆ
ψଐሽᒝᐲ 1ㇱಽࠍో૕ࠬࠤࠫࡘ࡯࡝ࡦࠣߦవ┙ߞߡ⷗ߟߌߡ߅߈㧘ߘࠇࠄࠍ߹ߣ߼਄ߍࠆߎߣߢ㧘ో૕ࠬࠤࠫࡘ࡯࡝ࡦࠣߩ

࠲ࠬࠢC㧦࠲ࠬࠢ A ߩᄌᢙ a ߦଐሽߒߡ޿ࠆ‫ ࠢࠬ࠲ޕ‬Aߩⷐ⚛ᢙ 10 ߩ㈩೉ b ߦଐሽ߇޽ࠆ⽶ᜂࠍシᷫߔࠆߎߣ߇ߢ߈ࠆ‫ޕ‬ߎࠇ߹ߢߩ C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ߢߪᤨ㑆⊛ዪᚲᕈ㧘࠲ࠬࠢ㑆ߩㅢା㊂ࠍ⠨ᘦߒߡ࠲ࠬࠢⲢวࠍⴕ
ߞߡ޿ߚ[5][6]

ψଐሽᒝᐲ 1+10 = 11࠲ࠬࠢD㧦࠲ࠬࠢ B ߩᄌᢙ c ߦଐሽߒߡ޿ࠆ‫ ࠢࠬ࠲ޕ‬C
ߩᄌᢙ d ߦଐሽߒߡ޿ࠆ‫ޕ‬‫☸⚦ߒ߆ߒޕ‬ᐲ࠲ࠬࠢߢߪㅢା㊂߇ዋߥ޿ψଐሽᒝᐲ 1+1 = 2႐ว߇ᄙߊ㧘ߎߩᣇᴺߦࠃࠆ࠲ࠬࠢⲢวߛߌߢߪⲢวߢ
߈ࠆ࠲ࠬࠢߪߏߊዋᢙߛߌߢ޽ߞߚ‫੹ޕ‬ᐕᐲߩ⎇ⓥߢߪ

㑣୯ࠍ⿥߃ࠆ୥⵬߇ⶄᢙ޽ߞߚ႐วߦߪ㧘ߘࠇߦട߃ߡ㧘࠲ࠬࠢ㑆ߩㅢାࠍ৻ߟߦ߹ߣ߼㧘࠲ࠬࠢԘ ଐሽᒝᐲ߇ᄢ߈޿ࠣ࡜ࡈߩࠛ࠶ࠫࠍ೥ᷫߔࠆᣂߚߥ࠲ࠬࠢࠣ࡜ࡈߩ᳿ቯᚻԙ Ⲣวᓟߩ࠲ࠬࠢߩవⴕ࠲ࠬࠢᢙ߇ᦨ߽ዋߥ޿ᴺࠍ⠨᩺ߒߚ‫ߩߢ߹ࠇߎޕ‬ᚻᴺࠍ 4.1 ߦ㧘ᣂߚߦ⠨᩺ߒԚ Ⲣวᓟߩ࠲ࠬࠢߩଐሽᒝᐲ߇ᦨ߽ૐ޿ߚᚻᴺࠍ 4.2 ߢㅀߴࠆ‫ޕ‬ԛ Ⲣวᓟߩ࠲ࠬࠢߩࠬ࠹࡯࠻ࡔࡦ࠻ᢙ߇ᦨ߽ᄙ޿ߩ㗅ߢᬌ⸛ߒ㧘ᦨ⚳⊛ߦ࠲ࠬࠢⲢวࠍⴕ߁࠲ࠬࠢ㓸วࠍ ㅢା೥㒰ߩߚ߼ߩ࠲ࠬࠢⲢว

b[a++] == 0;0; //䉺䉴䉪A//䉺䉴䉪Ab[a++]c=a%5;//䉺䉴䉪Bc = a%5;//䉺䉴䉪B
d=b[10-a];//䉺䉴䉪Cd = b[10-a]; //䉺䉴䉪Cc+d;//䉺䉴䉪Dee == c+d;//䉺䉴䉪D㶎㈩೉b䈱ⷐ⚛ᢙ䈲10䈫䈜䉎㶎㈩೉b䈱ⷐ⚛ᢙ䈲10䈫䈜䉎 వⴕ㑐ଥߦ޽ࠆ࠲ࠬࠢ߇ಣℂࠍ⚳߃ࠆߣ㧘ᓟ⛯࠲ࠬࠢߪಣℂࠍⴕ߁ߚ߼ߦᔅⷐߥ࠺࡯࠲ࠍㅢାߦࠃߞߡฃߌขࠆᔅⷐ߇޽ࠆ‫ޕ‬ᓥߞߡᓟ⛯࠲ࠬࠢ߇ಣℂࠍⴕ߁਄ߢᔅⷐ
ߥ࠺࡯࠲߇㈩೉ߩࠃ߁ߥᄢ߈ߥ࠺࡯࠲㊂ࠍᜬߟ߽ߩߢ޽

a A a,b[10]ࠆߣ㧘ㅢାᤨ㑆߇⤘ᄢߦ߆߆ߞߡߒ߹߁‫ߩߎޕ‬໧㗴ࠍㆱ㩿㪸㪀䉮䊷䊄䉶䉫䊜䊮䊃㩷ߌࠆߚ߼ߦ㧘ㅢା㊂ߩᄙ޿࠲ࠬࠢ㑆ࠍⲢวߒ㧘ㅢାࠍ㒰෰ߒߡߒ߹߁ߣ޿߁ᣇᴺࠍ೑↪ߒߚ‫ޕ‬᭎ᔨߣߒߡߪ࿑
4.1 ߩࠃ߁ߦߥࠆ‫ౕޕ‬૕⊛ߦߪ㧘࠲ࠬࠢ㑆ߢଐሽߒߡ޿ࠆᄌᢙߩࡍࠕߩᢙࠍଐሽᒝᐲߣ๭߮㧘ଐሽᒝᐲ߇ᜰቯߒ

Bcߚ㑣୯ࠍ⿥߃ߚ႐วߦⲢวࠍⴕ߁‫ޕ‬ଐሽᒝᐲߩ㊀ߺߪᄌᢙ৻ߟߩࡍࠕߪ 1 ߣߒ㧘㈩೉ߩ႐วߪߘߩ㈩೉ߩⷐ⚛ᢙDCd䉺䉴䉪㪘㪙㪚㪛ଐሽᒝᐲ㪇㪈㪈㪈㪉㩿㪹㪀㩷 䉺䉴䉪䉫䊤䊐㩷㩿㪺㪀㩷 ଐሽᒝᐲ㩷ߣߔࠆ‫ޕ‬࿑ ଐሽᒝᐲߩ଀㧙㧙᳿ቯߔࠆ‫Ⲣ߇ࠢࠬ࠲ߩߡోޕ‬วߐࠇߡߒ߹߁㧘ߔߥࠊߜߎߣ߇⏕ቯߔࠆ‫ߚ߹ޕ‬㧘࠲ࠬࠢ 1→2 㑆㧘࠲ࠬࠢ 2→3 㑆ㅙᰴಣℂߦᚯߞߡߒ߹߁ߎߣࠍㆱߌࠆߚ߼ߦ㧘࠲ࠬࠢⲢߩㅢାߦߟ޿ߡߪࠬࠤࠫࡘ࡯࡝ࡦࠣߢ⠨ᘦߔࠆᔅⷐ߇ήวᓟߩ࠲ࠬࠢ☸ᐲߩ਄㒢ࠍ᳿߼ߡ߅ߊߎߣ߇ᔅⷐߢ޽ࠆ‫ޕ‬ߊߥࠅ㧘࠲ࠬࠢ 1→4 㑆㧘࠲ࠬࠢ 3→4 㑆ߩㅢାߪ৻ߟߩ

ᧄ⎇ⓥߢߪ਄㒢ࠍ⸳ቯߔࠆߚ߼ߦ࠲ࠬࠢߩᜬߟࠬ࠹࡯࠻ㅢାߣߥࠆߚ߼㧘ߘࠇߙࠇࠍ೎୘ߦಣℂߔࠆࠃࠅ߽⽶ᜂࡔࡦ࠻ᢙࠍ↪޿ߡ޿ࠆ‫߅ߥޕ‬㧘LOOP ࠲ࠬࠢߪઁߩ࠲ࠬߪシᷫߐࠇࠆ‫⚿ߩࠄࠇߎޕ‬ᨐ㧘ో૕ࠬࠤࠫࡘ࡯࡝ࡦࠣߦࠢߣⲢวࠍⴕࠊߥߊߡ߽޽ࠆ⒟ᐲᄢ߈ߥ☸ᐲࠍᜬߟߣ઒ⷐߔࠆᤨ㑆ߩ೥ᷫ߇⷗ㄟ߼ࠆ‫ޕ‬ቯߒ㧘LOOP ࠲ࠬࠢࠍ฽߻࠲ࠬࠢⲢวߪⴕࠊߥ޿‫ޕ‬ታ㓙ߦ࠲ࠬࠢࠣ࡜ࡈ਄ߢߎߩᚻᴺߦࠃࠆⲢวࠍⴕ߁㓙೨ᐕᐲ߹ߢߩ⎇ⓥߢߪߎߩᣇᴺࠍ↪޿ߡ࠲ࠬࠢߩⲢว

ߦߪ㧘ࡑࠢࡠ࠲ࠬࠢߩ᦭ή㧘Ⲣวߐࠇࠆ࠲ࠬࠢߣߘࠇએ

ࠍⴕߞߡ޿ߚ‫ߒ߆ߒޕ‬㧘ࠬ࠹࡯࠻ࡔࡦ࠻න૏ߣ޿߁⚦☸

ᄖߩ࠲ࠬࠢߩଐሽ㑐ଥࠍ⠨ᘦߔࠆᔅⷐ߇޽ࠆ‫ߚ߹ޕ‬㧘࠲ᐲߩ࠲ࠬࠢߢߪଐሽᒝᐲ߇ዊߐ޿႐ว߇ᄙ޿ߎߣ╬߆ࠄ㧘ࠬࠢ 1,2,3 ߇Ⲣวน⢻ߢ޽ࠅ㧘หᤨߦ࠲ࠬࠢ 1,4,5 ߇Ⲣวน⢻ߢ޽ࠆ㧘ߣ޿ߞߚ႐วߦߪ㧘࠲ࠬࠢ 1 ߇┹วߒߡ޿࠲ࠬࠢᢙߩᷫዋߪߏߊࠊߕ߆ߥ߽ߩߣߥߞߡ޿ߚ‫ޕ‬ࠆߚ߼ߤߜࠄ߆৻ᣇߩⲢวߒ߆ⴕ߁ߎߣ߇ߢ߈ߥ޿‫ߎޕ‬ㅢା⛔วߩߚ߼ߩ࠲ࠬࠢⲢว

ࠇࠄߩᛒ޿ߦߟ޿ߡߪᰴ▵ߢ⺑᣿ߔࠆ‫ޕ‬ ࠃࠅᄙߊߩ࠲ࠬࠢࠍⲢวߒ㧘ࠬࠤࠫࡘ࡯࡝ࡦࠣߩᤨ㑆

4. 2. 1 ࡑࠢࡠ࠲ࠬࠢߩⲢว

ࠍ೥ᷫߔࠆߚ߼ߦ㧘੹ᐕᐲߩ⎇ⓥߢߪㅢା㊂ߢߪߥߊ㧘1ㅢା࿁ᢙ㧘ߟ߹ࠅ࠲ࠬࠢࠣ࡜ࡈߩࠛ࠶ࠫߦ⌕⋡ߒߡᣂߚ

2ߥ࠲ࠬࠢߩⲢวᚻᴺࠍ⠨᩺ߒߚ‫ޕ‬3 ┨ߢㅀߴߚࠃ߁ߦ㧘

3⚦☸ᐲ࠲ࠬࠢߢᛒ߁࠺࡯࠲ߪࡄ࠶ࠠࡦࠣߦࠃߞߡㅢାࠍ

123,4߹ߣ߼޽ߍࠆߎߣߢࡏ࠻࡞ࡀ࠶ࠢߣߥࠆㅢାߩ࡟ࠗ࠹ࡦ

4ࠪ㧘หᦼߦࠃࠆᓙߜᤨ㑆ࠍ೥ᷫߢ߈ࠆ႐ว߇ᄙ޿‫ߎߘޕ‬55ߢ㧘౒ㅢߩ࠲ࠬࠢ߳ߩㅢା߇ሽ࿷ߔࠆ࠲ࠬࠢߦ⌕⋡ߒߚ‫ޕ‬:LOOP䉺䉴䉪

:LOOP䉺䉴䉪ߘߩਛߢ߽ਗ೉ᕈࠍᭂജ៊ߥࠊߥ޿ࡄ࠲࡯ࡦߣߒߡ㧘⋥ធᓟ⛯࠲ࠬࠢߦኻߒ㧘ઁߩ೔㆐⚻〝߇޽ࠆ႐วࠍ࠲ࠬࠢⲢวߩኻ⽎ߣߒߚ‫ޕ‬࿑ 4.3 ߩ࠲ࠬࠢ 1㧘࠲ࠬࠢ 2㧘࠲ࠬࠢ࿑ࡑࠢࡠ࠲ࠬࠢ↢ᚑࠍ઻߁࠲ࠬࠢⲢว

3 ߪ BASIC ࠲ࠬࠢߣߒߡ৻ߟߦ߹ߣ߼ࠄࠇࠆ‫ࠬ࠲ߩߎޕ‬ߎࠇ߹ߢߩ࠲ࠬࠢⲢวߩᚻᴺߦ߅޿ߡߪ㧘LOOP ࠲ࠬࠢࠣ࡜ࡈߩ႐ว 1 ߆ࠄ 4 ߦ೔㆐ߔࠆ⚻〝ߪ 1ψ4㧘1ψ2ψ

ࠢ╬ࡑࠢࡠ࠲ࠬࠢߪ޽ࠆ⒟ᐲߩ☸ᐲߩᄢ߈޿࠲ࠬࠢߣߒ

3ψ4 ߩੑㅢࠅሽ࿷ߔࠆ‫ߥ߁ࠃߩߎޕ‬႐ว㧘1㧘2㧘3 ࠍ৻ߡ㧘Ⲣวࠍⴕࠊߥ޿߽ߩߣߒߡ޿ߚ‫ߪࠇߎޕ‬㧘ઁߩ࠲ࠬߟߩ࠲ࠬࠢߦⲢวߒ㧘1ψ2㧘2ψ3 ߣ޿߁ 2 ߟߩㅢାࠍਇࠢߣⲢวߒߡߒ߹߁ߎߣߢਗ೉ൻน⢻ߥ࡞࡯ࡊࠍㅙᰴಣ

ⷐߣߒ㧘4 ߳ߩ 2 ߟߩㅢାࠍ৻ߟߩㅢାߦ߹ߣ߼ࠆߎߣℂࠍⴕ߁৻ߟߩ࠲ࠬࠢߦ⟎߈឵߃ߡߒ߹߁ߎߣࠍ㒐ߋߚ߇ߢ߈ࠆ‫ߥ߁ࠃߩߎޕ‬ᒻ⁁ߩ࠲ࠬࠢࠣ࡜ࡈߩ႐ว㧘࠲ࠬ߼ߢ޽ࠆ‫ޕ‬ࠢࠍⲢวߒߥ޿႐วߢ߽࠲ࠬࠢߩታⴕ㗅ᐨߪ 1,2,3,4 ߩ㗅ㅢା⛔วߩߚ߼ߩ࠲ࠬࠢⲢวߢߪ㧘ࡑࠢࡠ࠲ࠬࠢࠍ฽

એᄖߦߔࠆߎߣߪߢ߈ߥ޿‫Ⲣࠅ߹ߟޕ‬วߒߡ߽ਗ೉ᕈ߇

߻࠲ࠬࠢࠍⲢวߔࠆ႐ว㧘ࡑࠢࡠ࠲ࠬࠢࠍ᜽߹ߥ޿࠲ࠬ

៊ߥࠊࠇߥ޿ߚ߼㧘࠲ࠬࠢ☸ᐲߩ਄㒢ࠍ⸳ߌࠆߎߣߥߊ

ࠢߩߺࠍ৻ߟߩ࠲ࠬࠢ߳ߣⲢวߒ㧘ో૕ߣߒߡߪ࠲ࠬࠢ

࠲ࠬࠢߩⲢวࠍⴕ߁ߎߣ߇ߢ߈ࠆ‫ޕ‬ߢߪߥߊᣂߚߥࡑࠢࡠ࠲ࠬࠢ߳ߣⲢวߔࠆߎߣߢ㧘ࡑࠢc;//task1
aa==bb++c;//task1
1;//task2
dd==aa++1;//task2d;//task3
ee==dd**d;//task3//SELECT䉺䉴䉪(task4)//SELECT䉺䉴䉪(task4)
if(dd>>100100){){if(f f==a;a;}else{}else{f f==0;0;}}ࡠ࠲ࠬࠢࠍⲢวน⢻ߥ࠲ࠬࠢߣߒߡขࠅᛒ߃ࠆࠃ߁ߦߒ

3

121,2,3ߚ‫ޕ‬ㅢା೥㒰ߩ࠲ࠬࠢⲢวߩ႐วߪࡑࠢࡠ࠲ࠬࠢౝߦㅢ
ା߇ᱷሽߒߡߒ߹߁ߎߣߦߥࠆߩߢ㧘หߓࠃ߁ߦࡑࠢࡠ࠲ࠬࠢߣߒߡⲢวߔࠆߎߣߪߢ߈ߥ޿‫ߦࠢࠬ࠲ࡠࠢࡑޕ‬44ߔࠆߎߣߢ࠲ࠬࠢᢙߘߩ߽ߩߪჇടߒߡߒ߹߁น⢻ᕈ߇޽ࠆ߇㧘࠲ࠬࠢⲢวߦࠃࠅࠛ࠶ࠫ߇ᷫዋߔࠆߚ߼ࠬࠤࠫࡘ࡯࡝ࡦࠣᤨ㑆ߩᷫዋ߇⷗ㄟ߼ࠆ‫ޕ‬ࠦ࡯࠼࠮ࠣࡔࡦ࠻

࠲ࠬࠢࠣ࡜ࡈ Ⲣว೨࠲ࠬࠢࠣ࡜ࡈ㧔Ⲣวᓟ㧕࠲ࠬࠢⲢว୥⵬ߣᄖㇱߩଐሽ㑐ଥ࿑౒ㅢߩ࠲ࠬࠢ߳ߩㅢା߇޽ࠆ࠲ࠬࠢߩⲢว ࿑ 4.3 ߩⲢวࠍⴕ߁ߎߣߦࠃߞߡ㧘࠲ࠬࠢߩታⴕ㗅ᐨߪ࠲ࠬࠢ 1㧘2㧘3 ߩⲢว࠲ࠬࠢ㧘࠲ࠬࠢ 4 ߩ㗅ᐨߢ޽ࠆߎࠇ߹ߢߩ଀ߢߪⲢวߔࠆ࠲ࠬࠢ㑆ߩଐሽߩߺ߇޽ࠆ
࠲ࠬࠢࠣ࡜ࡈࠍ⸥タߒߡ޿ߚ‫ޕ‬ታ㓙ߩ࠲ࠬࠢࠣ࡜ࡈ਄ߢ
ߪᄙߊߩ႐ว㧘Ⲣวߔࠆ࠲ࠬࠢߣߘߩઁߩ࠲ࠬࠢ㑆ߦଐ㧙㧙ሽ㑐ଥ߇޽ࠆ‫ࠍ଀ߥ߁ࠃߩߘޕ‬࿑ 4.5 ߦ␜ߔ‫ޕ‬

1a1:䊙䉪䊨䉺䉴䉪㕖Ⲣว
䉺䉴䉪

b2

2

3

2

7

34

ᄖㇱ䈎䉌䈱ଐሽ

4

a5

b

10

9

11

c[10]

12c[10]138㽲䋺ଐሽᒝᐲ㪉䋺䉺䉴䉪ᢙ㪊

㕖Ⲣว
䉺䉴䉪

b 6

a43:䊙䉪䊨䉺䉴䉪1㽳䋺ଐሽᒝᐲ㪈㪉䋺䉺䉴䉪ᢙ㪊㽴䋺ଐሽᒝᐲ㪈㪉䋺䉺䉴䉪ᢙ㪋࿑ ࡑࠢࡠ࠲ࠬࠢࠍ฽߹ߥ޿୥⵬ߩⲢว
࿑ 4.6 ߩ႐ว㧘ଐሽᒝᐲ߇ᦨ߽㜞޿ߩߪԙߣԚ㧘ߘߩᄖㇱ䈻䈱ଐሽ߁ߜߢ࠲ࠬࠢᢙ߇ዋߥ޿ߩߪԙߥߩߢ㧘Ⲣวߩఝవ㗅૏࿑ Ⲣว୥⵬ߣᄖㇱߩଐሽߪ㜞޿ᣇ߆ࠄԙ㧘Ԛ㧘Ԙߩ㗅⇟ߣߥࠆ‫ޕ‬࿑  ߩᏀߪⲢว୥⵬ߩ࠲ࠬࠢ  ߇ᄖㇱߩ࠲ࠬࠢߦଐࡑࠢࡠ࠲ࠬࠢࠍ฽߻୥⵬ߩ႐ว㧘Ⲣวߔࠆ࠲ࠬࠢ㑆ߩሽߒߡ޿ࠆߚ߼㧘Ⲣวࠍⴕ߁ߣ࠲ࠬࠢ 1 ߪᄖㇱ࠲ࠬࠢߣㅢାߩ߁ߜࡑࠢࡠ࠲ࠬࠢࠍ᜽߻߽ߩߪߘߩ߹߹ᱷࠆߚ߼㧘ਗ೉ߦታⴕߢ߈ߥߊߥࠆ‫ޕ‬ห᭽ߦฝߪᄖㇱ࠲ࠬࠢ߇Ⲣวߘߩㇱಽߩㅢାߪ೥㒰ߐࠇߥ޿‫ߦࠅࠊ߆ޕ‬୥⵬߇Ⲣวߐ

୥⵬ߩ࠲ࠬࠢ 2 ߦଐሽߒߡ߅ࠅ㧘Ⲣวࠍⴕ߁ߣ࠲ࠬࠢ 3ࠇߚ႐วߦᄖㇱߩ࠲ࠬࠢߣߩㅢାߩ࿁ᢙࠍᦨዊ㒢ߦᛥ߃ߣᄖㇱ࠲ࠬࠢࠍਗ೉ታⴕߢ߈ߥߊߥࠆ‫ߦ․ޕ‬ਗ೉ታⴕߢࠆߚ߼㧘࠲ࠬࠢࠣ࡜ࡈߩࠛ࠶ࠫࠍᄙߊ೥ᷫߢ߈ࠆ୥⵬ࠍ

߈ߥߊߥࠆ࠲ࠬࠢ߇ LOOP ߥߤߩࡑࠢࡠ࠲ࠬࠢߢ޽ࠆ႐ఝవߔࠆ‫ޕ‬วߦߪⲢวߦࠃࠆᓇ㗀߇ᄢ߈޿ߣ⠨߃ࠄࠇࠆߩߢ㧘Ⲣวࠍⴕࠊߥ޿‫ޕ‬㪈
4.2.2 ߢ㒰ᄖߐࠇߚ߽ߩࠍ㒰޿ߚⲢว୥⵬ߦߟ޿ߡ㧘㪐㪌Ⲣว୥⵬ߩㆬᛯ㪈㪇㪉㪍એਅߩࠃ߁ߥఝవ㗅૏ߢ࠲ࠬࠢߩⲢวࠍⴕ߁‫ޕ‬㪈㪈Ԙ ࡑࠢࡠ࠲ࠬࠢࠍ฽߹ߥ޿୥⵬ࠍⲢวߔࠆ㪎㪊㪈㪉ԙ Ⲣวߔࠆ࠲ࠬࠢ㑆ߢߩଐሽᒝᐲߩ㜞޿߽ߩࠍఝ㪏㪈㪊㪋వߔࠆ㽲䉣䉾䉳೥ᷫ㪈䋺䉺䉴䉪ᢙ㪊Ԛ ࠲ࠬࠢᢙߩዋߥ޿߽ߩࠍఝవߔࠆ㽳䉣䉾䉳೥ᷫ㪋䋺䉺䉴䉪ᢙ㪊㽴䉣䉾䉳೥ᷫ㪋 䋺䉺䉴䉪ᢙ㪋ԛ ࡑࠢࡠ࠲ࠬࠢࠍ฽߻୥⵬ࠍⲢวߔࠆ೥㒰୥⵬䈱䉣䉾䉳㩷Ԝ ࠃࠅᄙߊߩࠛ࠶ࠫࠍ೥ᷫߢ߈ࠆ୥⵬ࠍఝవߔࠆ䊙䉪䊨䉺䉴䉪࿑ 䊙䉪䊨䉺䉴䉪ࠍ฽߻୥⵬ߩⲢวԝ ࠲ࠬࠢᢙߩዋߥ޿୥⵬ࠍఝవߔࠆࡑࠢࡠ࠲ࠬࠢࠍ฽߹ߥ޿୥⵬ߩ႐ว㧘࠲ࠬࠢߩⲢวߦࠃ

࿑ 4.7 ߩ႐ว㧘ࠛ࠶ࠫ೥ᷫ߇ᦨ߽ᄙ޿ߩߪԙߣԚߢ޽ߞߡࠛ࠶ࠫߩ೥ᷫߛߌߢߥߊਇⷐߥㅢାࠍ㒰෰ߢ߈ࠆ‫ޕ‬ࠆ‫ࠢࠬ࠲ߜ߁ߩߘޕ‬ᢙ߇ዋߥ޿ߩߪԙߥߩߢ㧘ఝవ㗅૏ߘߩߚ߼㧘ࡑࠢࡠ࠲ࠬࠢࠍ฽߻୥⵬ࠃࠅ߽వߦⲢวࠍⴕ

ߪ࿑ 4.6 ߣห᭽ߦ㜞޿߶߁߆ࠄԙ㧘Ԛ㧘Ԙߩ㗅⇟ߣߥࠆ‫ޕ‬޿㧘․ߦଐሽᒝᐲߩ㜞޿࠲ࠬࠢࠍఝవ⊛ߦⲢวߔࠆ‫ޕ‬หԙࠍⲢวߒߚ⚿ᨐ߇࿑ 4.8 ߢ޽ࠆ‫Ⲣࠢࠬ࠲ߩߟ৻ޕ‬ว߇ߓ࠲ࠬࠢࠍⲢวߔࠆⲢว୥⵬ߪⶄᢙ޽ࠆน⢻ᕈ߇޽ࠅ㧘ⴕࠊࠇߚᓟ㧘ᱷߞߡ޿ࠆ୥⵬㧘෸߮Ⲣวߦࠃߞߡᣂߚߦߘߩ႐วⲢวน⢻ߥ୥⵬ߪߘߩ߁ߜߩ޿ߕࠇ߆৻ߟߛߌ⊒↢ߒߚ୥⵬߇޽ࠆ႐วߦߪߘߩ୥⵬ࠍ฽߼ߚⲢว୥⵬ߣߥࠆ‫┹ߩࠢࠬ࠲ߥ߁ࠃߩߎޕ‬ว߇⿠߈ࠆߎߣࠍᦨዊ㒢ߩਛ߆ࠄห᭽ߦఝవ㗅૏ߦၮߠ޿ߡⲢว୥⵬߇ήߊߥࠆߦᛥ߃ࠆߚ߼㧘ࡑࠢࡠ࠲ࠬࠢࠍ฽߻႐ว㧘฽߹ߥ޿႐ว߹ߢⲢวࠍ➅ࠅ㄰ߔ‫߫߃ߣߚޕ‬࿑ 4.6 ߩ႐วߦߪ㧘ԙߩߣ߽ߦ㧘ઁߩ᧦ઙ߇หߓߥࠄ࠲ࠬࠢᢙߩዋߥ޿୥⵬ࠍⲢⲢวߦࠃߞߡԘ㧘Ԛߩ࠲ࠬࠢ߇Ⲣวਇน⢻ߥᒻߦᄌࠊߞวߔࠆ‫ޕ‬ߡ޿ߥ޿㒢ࠅԚ㧘Ԙߩ㗅⇟ߢⲢว߇⛯ߌߡⴕࠊࠇࠆ‫ޕ‬࿑
4.7 ߦ㑐ߒߡ߽ห᭽ߢ޽ࠆ‫ޕ‬㧙㧙ߣ߽ߥ޿ᜰᢙ㑐ᢙ⊛ߦჇᄢߔࠆߩߢ㧘ᦨ߽ᄙߊߩ࠲ࠬࠢᢙ㧘ࠛ࠶ࠫᢙࠍ߽ߟࡑࠢࡠ࠲ࠬࠢߦኻߒߡ࠲ࠬࠢᢙ㧘ࠛ࠶ࠫᢙࠍ೥ᷫߢ߈ߚߎߣߪࠬࠤࠫࡘ࡯࡝ࡦࠣᤨ㑆ߩ⍴❗
ߦᄢ߈ߥലᨐ߇޽ࠆߣ⠨߃ࠄࠇࠆ‫ޕ‬
࿑ 5.1㧘࿑ 5.2 ߪ࠰࡯ࠬࠦ࡯࠼਄ߢߤߩ࠲ࠬࠢ߇Ⲣวߐ

㪌㪃㪍㪎ࠇߚ߆ࠍ␜ߒߡ޿ࠆ‫ޕ‬ߘࠇߙࠇߩ࿑ਛߩᨒߢ࿐߹ࠇߚࠬ࠹࡯࠻ࡔࡦ࠻߇Ⲣว
ߐࠇߡ 1 ߟߩ࠲ࠬࠢߣߥߞߚㇱಽߢ޽ࠆ‫ޕ‬࿑ 5.1 ߩ႐ว㧘㪏

਄߆ࠄ 5 ߟߩࠬ࠹࡯࠻ࡔࡦ࠻㧘ߘߩਅߩ 3 ߟߩࠬ࠹࡯࠻

ࡑࠢࡠ࠲ࠬࠢ

ࡔࡦ࠻߇Ⲣวߐࠇߡߘࠇߙࠇ৻ߟߩ࠲ࠬࠢߣߥߞߡ޿࿑ࡑࠢࡠ࠲ࠬࠢࠍ฽߻୥⵬ߩⲢวࠆ‫ޕ‬randlc_T1 = randlc_R23 * create_seq_seed;
randlc_j = randlc_T1;
randlc_X1 = randlc_j;㧡⹏ ଔ੹࿁ࡌࡦ࠴ࡑ࡯ࠢࡊࡠࠣ࡜ࡓߣߒߡ NPB(NAS Parallelrandlc_X2 = create_seq_seed - randlc_T23 * randlc_X1;
randlc_T1 = randlc_A1 * randlc_X2 + randlc_A2 * randlc_X1;
randlc_j = randlc_R23 * randlc_T1;
randlc_T2 = randlc_j;
randlc_Z = randlc_T1 - randlc_T23 * randlc_T2;

Benchmarks)ߩࡊࡠࠣ࡜ࡓ IS(Integer Sort)ࠍណ↪ߒߚ[8]‫ޕ‬⃻⁁ߢߪ㑐ᢙ㑆⸃ᨆߩታⵝ߇චಽߦⴕࠊࠇߡ߅ࠄߕ㧘࡙randlc_T3 = randlc_T23 * randlc_Z + randlc_A2 * randlc_X2;
randlc_j = randlc_R46 * randlc_T3;
randlc_T4 = randlc_j;࡯ࠩቯ⟵ߩ㑐ᢙࠦ࡯࡞ߩㇱಽ߇⸃ᨆߢ߈ߥ޿ߚ߼㧘㑐ᢙ๭߮಴ߒ஥ߩࠦ࡯࠼ਛߦ࡙࡯ࠩቯ⟵㑐ᢙࠍዷ㐿ߒߚ‫⴫ޕ‬
5.1㧘⴫ 5.2 ߪ࠲ࠬࠢⲢว೨ᓟߩ࠲ࠬࠢࠣ࡜ࡈߩ⁁ᘒߢ޽

create_seq_seed = randlc_T3 - randlc_T46 * randlc_T4;ࠆ‫ޕ‬࿑ࡑࠢࡠ࠲ࠬࠢൻࠍ઻ࠊߥ޿࠲ࠬࠢⲢว⴫ࡔࠗࡦ࠲ࠬࠢࠣ࡜ࡈߩ࠲ࠬࠢᢙ㧘ࠛ࠶ࠫᢙߩᄌൻⲢว೨Ⲣวᓟ䉺䉴䉪ᢙ㪋㪋㪋㪇䉣䉾䉳ᢙ㪌㪋㪉㪈䊙䉪䊨䉺䉴䉪ᢙ㪈㪋㪈㪉Ⲣว䈮䉋䈦䈩૞䉌䉏䈢䊙䉪䊨䉺䉴䉪㪇㪊⴫ᦨᄢߩ࠲ࠬࠢᢙࠍᜬߟࡑࠢࡠ࠲ࠬࠢߩ࠲ࠬࠢᢙ㧘ࠛ࠶ࠫᢙߩᄌൻⲢว೨Ⲣวᓟ䉺䉴䉪ᢙ㪎㪍㪌㪋䉣䉾䉳ᢙ㪋㪇㪈㪈㪐㪏䊙䉪䊨䉺䉴䉪ᢙ㪋㪋Ⲣว䈮䉋䈦䈩૞䉌䉏䈢䊙䉪䊨䉺䉴䉪㪇㪇
⴫ 5.1 ߪ⸃ᨆࠍⴕ߁࠲ࠬࠢࠣ࡜ࡈߘߩ߽ߩߢ޽ࠅ㧘⴫

for( rank_i=0; rank_i<MAX_KEY-1; rank_i++ )rank_key_buff_ptr[rank_i+1] += rank_key_buff_ptr[rank_i];for( rank_i=0; rank_i<TEST_ARRAY_SIZE; rank_i++ ){rank_k = partial_verify_vals[rank_i];/* test vals were put here */if( 0 <= rank_k && rank_k <= NUM_KEYS-1 )if( rank_i <= 2 ){if( rank_key_buff_ptr[rank_k-1] != test_rank_array[rank_i]+rank_iteration ){printf( "Failed partial verification: iteration %d, test key %d¥n",rank_iteration, rank_i );}elsepassed_verification++;}else{
if( rank_key_buff_ptr[rank_k-1] != test_rank_array[rank_i]-rank_iteration ){printf( "Failed partial verification: iteration %d, test key %d¥n",rank_iteration, rank_i );}elsepassed_verification++;}}if( rank_iteration == MAX_ITERATIONS )key_buff_ptr_global = rank_key_buff_ptr;

࿑ࡑࠢࡠ࠲ࠬࠢൻࠍ઻߁࠲ࠬࠢⲢว5.2 ߪ⴫ 5.1 ߩ࠲ࠬࠢࠣ࡜ࡈߦ฽߹ࠇࠆ࠲ࠬࠢࠣ࡜ࡈߩ߁


࿑ 5.1 ߩ႐ว㧘ࡑࠢࡠ࠲ࠬࠢൻߪⴕࠊࠇߕ㧘ㅢାߪ೥ߜ㧘࠲ࠬࠢᢙ߇ᦨ߽ᄙ޿߽ߩߢ޽ࠆ‫ߡ޿ߟߦࠇߙࠇߘޕ‬ߘߩઁߩࡑࠢࡠ࠲ࠬࠢߦߟ޿ߡߪ⸥タߒߡ޿ߥ޿߇㧘ߎࠇࠄߪ࠲ࠬࠢᢙ 1㨪14㧘ࠛ࠶ࠫᢙ 0㨪35 ߣ⴫ 5.1㧘⴫ 5.2

㒰ߐࠇࠆߚ߼㧘ࠬ࠹࡯࠻ࡔࡦ࠻ 1 ߟࠍ⚦☸ᐲ࠲ࠬࠢߣߒ㧘਄ㇱߩࠬ࠹࡯࠻ࡔࡦ࠻߆ࠄ㗅ߦ࠲ࠬࠢ 1㧘࠲ࠬࠢ 2̖࠲ߣᲧセߒߡዋߥ޿୯ߦ෼߹ߞߡ߅ࠅ㧘ࠬࠤࠫࡘ࡯࡝ࡦࠣ

ࠬࠢ 12 ߣߔࠆߣ㧘࠲ࠬࠢᢙߩᄌൻߪ࿑ 5.3 ߩࠃ߁ߦߥ

ో૕ߦᄢ߈ߥᓇ㗀ࠍਈ߃ߥ޿ߣ⠨߃ࠄࠇࠆ‫ޕ‬ࠆ‫ޕ‬ߤߜࠄߩ႐ว߽ࠛ࠶ࠫᢙ㧘࠲ࠬࠢᢙߣ߽ߦᷫዋߒ㧘․ߥ߅㧘࿑ߩᄖㇱߩᄌᢙߣߩଐሽ㑐ଥ߽ሽ࿷ߔࠆ߇㧘ߎߦࠛ࠶ࠫᢙߦ㑐ߒߡߪඨಽએਅߣߥߞߚ‫ࠫࠤࠬࠢࠬ࠲ޕ‬ߎߢߪ⋭⇛ߔࠆ‫ߩߎޕ‬႐ว㧘࠲ࠬࠢᢙߪ 6 ୘㧘ࠛ࠶ࠫߪࡘ࡯࡝ࡦࠣߦⷐߔࠆᤨ㑆ߪ࠲ࠬࠢᢙߣࠛ࠶ࠫᢙߩჇടߦ

10 ᧄᷫዋߔࠆ‫ޕ‬࿑ 5.3 ߩ႐ว㧘㧞ߟߩ for ᢥ㧘ߟ߹ࠅ㧞㧙㧙ߟߩ LOOP ࠲ࠬࠢ߇Ⲣวߐࠇ㧘㧝ߟߩࡑࠢࡠ࠲ࠬࠢߣ੹ᓟߩ⺖㗴ߥࠆ‫ޕ‬ㅢାߩ೥㒰ߪⴕࠊࠇߥ޿ߚ߼㧘࿑ਛߢߩࠛ࠶ࠫᢙ ੹ᓟߩ C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ߦ߅ߌࠆ⺖ߩ೥ᷫߪ࿑ 5.4 ߩࠃ߁ߦ 1 ᧄߩߺߣߥࠆ‫ޕ‬㗴ߦߟ޿ߡ㧘એਅߩࠃ߁ߥ߽ߩ߇⠨߃ࠄࠇࠆ‫ޕ‬• 㑐ᢙ㑆ߢߩଐሽ⸃ᨆ⃻⁁ߢߪ㑐ᢙ㑆ߩଐሽ⸃ᨆ߇චಽߦⴕࠊࠇߡ޿ߥ޿‫߼ߚߩߘޕ‬㧘ࡐࠗࡦ࠲ᖱႎࠍ㑐ᢙߦ map ߒߡߩ⸃ᨆ߿ౣᏫ߳ߩኻᔕ߇ᔅⷐߣߥࠆ‫ޕ‬• ࠃࠅᄙߊߩ C ⸒⺆ߩ᭴ㅧ߳ߩኻᔕ਄⸥ߩ㑐ᢙ㑆ߩଐሽ⸃ᨆߛߌߢߥߊ㧘C ⸒⺆․᦭ߩ⥄↱ᐲߩ㕖Ᏹߦ㜞޿ࡐࠗࡦ࠲ߩ೑↪ᣇᴺߦߟ޿ߡ߽⠨߃ߥߌࠇ߫ߥࠄߥ޿‫߫߃ߣߚޕ‬㑐ᢙࡐࠗࡦ࠲ߩ႐วߥߤ㧘ኻᔕߢ߈ߡ޿ߥ޿ C ⸒⺆ߩ᭴ㅧ߽ᢙ࿑࿑ߩ࠲ࠬࠢࠣ࡜ࡈߦኻߔࠆ࠲ࠬࠢⲢว⚿ᄙߊሽ࿷ߔࠆߚ߼㧘ߎࠇࠄ߳ߩኻᔕ߇ᔅⷐߣߥࠆ‫ޕ‬• ㇱಽ࠲ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣ

DO-ALL น⢻ߥ LOOP ࠲ࠬࠢߥߤ㧘ⶄᢙߩࡊࡠ࠮
࠶ࠨߢਗ೉ಣℂน⢻ߥ࠲ࠬࠢ߇ሽ࿷ߔࠆ‫ోޕ‬૕࠲㪈㪈ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣߩ೨Ბ㓏ߣߒߡ㧘ߤߩ࠲ࠬࠢߦ޿ߊߟ߹ߢࡊࡠ࠮࠶ࠨࠍഀࠅᝄߞߡ⦟޿߆╬ࠍ᳿ቯߔࠆ㧘ㇱಽ࠲ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣ߇ᔅⷐ㪉㪉ߣߥࠆ‫ޕ‬⻢ ㄉ㪊㪊ᧄ⎇ⓥߩ৻ㇱߪ㧘ᢥㇱ⑼ቇ⋭ᚢ⇛⊛⎇ⓥၮ⋚ᒻᚑᡰេ੐ᬺߩ⵬ഥࠍฃߌߡⴕߞߚߎߣࠍߎߎߦ⸥ߒ㧘⻢ᗧࠍ⴫࿑ ࿑ߩ࠲ࠬࠢࠣ࡜ࡈߦኻߔࠆ࠲ࠬࠢⲢว ߒ߹ߔ‫ޕ‬㧢⚳ࠊࠅߦෳ⠨ᢥ₂ ߹ߣ߼
[1]੹ᐕᐲߩ⎇ⓥߪㅢା㊂㧘ㅢାߩ࡟ࠗ࠹ࡦࠪࠍ⠨ᘦߒ㧘ᚻઍᧁ ㅴ : “⥄േਗ೉ൻ C ࠦࡦࡄࠗ࡜ߩߚ߼ߩਗਗ೉ൻߒߥ޿߶߁߇ࠃ޿㧘߹ߚߪߘߩน⢻ᕈ߇㜞޿࠲ࠬ೉ᕈ⸃ᨆ”, ୃ჻⺰ᢥ, ᚑくᄢቇᎿቇㇱᎿቇ⎇ⓥ⑼ࠢࠍⲢวߒ㧘৻ߟߩ࠲ࠬࠢ෶ߪࡑࠢࡠ࠲ࠬࠢߦ߹ߣ߼ࠆ

ᖱႎಣℂኾ᡹.2002.
[2]ߎߣߦࠃߞߡਇⷐߥㅢାߩ೥㒰㧘ㅢାߩ⛔วࠍⴕ޿㧘࠲ᢧ⮮⟵ഞ : “േ⊛ࡔࡕ࡝⏕଻ࠍ฽߻ C ࡊࡠࠣ࡜ࡓߩࠬࠢࠣ࡜ࡈߩ࠲ࠬࠢᢙ㧘ࠛ࠶ࠫᢙࠍᷫዋߐߖࠆߎߣߢᒝ⥄േਗ೉ᕈ⸃ᨆ”, ୃ჻⺰ᢥ, ᚑくᄢቇᎿቇㇱᎿቇNP ࿎㔍ߥᦨㆡൻ໧㗴ߢ޽ࠆ࠲ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣߩ

⎇ⓥ⑼ᖱႎಣℂኾ᡹.2003.
[3]

ಣℂᤨ㑆ߩ೥ᷫࠍ࿑ࠆ߽ߩߢ޽ࠆ‫ޕ‬ᣂߚߥ࠲ࠬࠢߩⲢว⟤Ớᧄ ৻ᶈ : “C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲
ߩ㐿⊒”, ୃ჻⺰ᢥ, ᚑくᄢቇᎿቇㇱᎿቇ⎇ⓥ⑼ᖱ

ᚻᴺߦࠃߞߡ㧘ࠃࠅᄙߊߩ࠲ࠬࠢߩⲢว߇น⢻ߣߥߞߚ‫ޕ‬

ႎಣℂኾ᡹.2005.

߹ߚ㧘࠲ࠬࠢߩⲢวߦࠃߞߡࡑࠢࡠ࠲ࠬࠢࠍ↢ᚑߔࠆߎߣߢ㧘࡞࡯ࡊ╬ߩࡑࠢࡠ࠲߽ࠬࠢ࠲ࠬࠢⲢวߩኻ⽎ߣߒ㧘

[4]↰ਛᐽਯ : “C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ߩ㐿ࠃࠅᄙߊߩࠛ࠶ࠫࠍ೥ᷫߢ߈ࠆࠃ߁ߦߥߞߚ‫ࠃߦࠇߎޕ‬⊒㨪ࡑࠢࡠ࠲ࠬࠢߩขࠅᛒ޿ߦ઻߁᜛ᒛ”, ୃ჻⺰ߞߡ࠲ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣߦⷐߔࠆᤨ㑆ࠍᄢ߈ߊ⍴❗

ᢥ, ᚑくᄢቇᎿቇㇱᎿቇ⎇ⓥ⑼ᖱႎಣℂኾ᡹. 2007.

ߢ߈ࠆߣ⠨߃ࠄࠇࠆ‫ޕ‬[5]

የ㜞 ノ: “ㅢାㆃᑧࠍ⠨ᘦߒߚ࠲ࠬࠢࠬࠤࠫࡘ࡯࡝ࡦࠣߩߚ߼ߩ࠲ࠬࠢ☸ᐲ⸃ᨆ”, ୃ჻⺰ᢥ, ᚑくᄢቇᎿቇㇱᎿቇ⎇ⓥ⑼ᖱႎಣℂኾ᡹.2007.

㧙㧙[6]ਃᶆ ⚐: “ C ⸒⺆⥄േਗ೉ൻ࠻࡜ࡦࠬ࡟࡯࠲ߩ㐿⊒―ࡐࠗࡦ࠲㧛㈩೉ଐሽ⸃ᨆߩᡷ⦟ߣ࠲ࠬࠢ☸ᐲߩ᳿ቯ―”, ୃ჻⺰ᢥ, ᚑくᄢቇᎿቇㇱᎿቇ⎇ⓥ⑼ᖱ
ႎಣℂኾ᡹.2008.

[7] Alfred V.Aho, and Monica S.Lam, and Ravi Sethi,and Jeffrey D.Ullman : “Compilers principles,Techniques, & Tools Second Edition”, Addison
Wesley, 2007[8] NAS Parallel Benchmarks Changes

http://www.nas.nasa.gov/Resources/Software/npb.
html 2010/03/24 ⃻࿷㧘ෳᾖน⢻㧙㧙