...

レジスタ・キャッシュ・システムの省電力化手法

by user

on
Category: Documents
13

views

Report

Comments

Transcript

レジスタ・キャッシュ・システムの省電力化手法
Vol.2013-ARC-206 No.3
2013/7/31
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
ϨδελɾΩϟογϡɾγεςϜͷলిྗԽख๏
ࢁా ३ೋ1,a)
૔ా ੒‫ݾ‬1
Ԙ୩ ྄ଠ2
‫ޒ‬ౡ ਖ਼༟1
ࡔҪ मҰ1
֓ཁɿ‫ڊ‬େͳϨδελɾϑΝΠϧͷফඅిྗͱ೤͸ɼεʔύεΧϥɾϓϩηοαͷੑೳ޲্ͷ્֐ཁҼͱ
ͳ͍ͬͯΔɽ
ϨδελɾΩϟογϡΛಋೖ͢Δͱɼ໘ੵͱফඅిྗΛ਺෼ͷ 1 ఔ౓·Ͱʹ࡟‫͢ݮ‬Δ͜ͱ͕Ͱ͖Δɽ͔͠
͠ैདྷͷϨδελɾΩϟογϡͰ͸ɼϦʔυͷిྗΛ‫ݮ‬Β͢͜ͱ͸Ͱ͖Δ΋ͷͷɼϥΠτͷిྗΛ‫ݮ‬Β͢
͜ͱ͸Ͱ͖ͳ͔ͬͨɽ
ຊߘͰఏҊ͢ΔϥΠτɾεΧογϡɾόοϑΝ͸ɼ্ॻ͖͞ΕͨϨδελɾϑΝΠϧ΁ͷϥΠτΛলུ͢
Δ͜ͱͰɼϥΠτͷిྗΛ࡟‫͢ݮ‬Δɽ
γϛϡϨʔγϣϯʹΑΓɼ16 ΤϯτϦͷόοϑΝʹΑͬͯɼϥΠτͷ਺Λ 18% ʹ·ͰɼిྗΛ 21% ʹ·
Ͱ࡟‫͖Ͱݮ‬Δ͜ͱ͕෼͔ͬͨɽ
1. ͸͡Ίʹ
෺ཧϨδελɾϑΝΠϧ͸ɼ࠷ۙͷεʔύεΧϥɾϓϩ
Ͱ͸ L1 σʔλɾΩϟογϡʹඖఢ͢Δ΄Ͳ‫ڊ‬େͳճ࿏ͱ
ͳ͍ͬͯΔɽ‫ڊ‬େͳϨδελɾϑΝΠϧ͸ɼIPC ͷ௿Լ΍
ճ࿏ͷෳࡶ͞ͷ૿େʹՃ͑ͯɼফඅిྗɼ೤ͷ૿େͳͲͷ
ηοαͷߏ੒ཁૉͷதͰ΋࠷΋ߴίετͳ΋ͷͷ 1 ͭͱ
༷ʑͳ໰୊ΛҾ͖͓͜͢ɽ
ͳ͍ͬͯΔɽ
ফඅిྗͱ೤ͷ૿େ
‫ڊ‬େͳϨδελɾϑΝΠϧ
RAM ͷফඅిྗ͸ɼͦͷճ࿏໘ੵʹՃ͑ͯɼΞΫηεස
͜ͷཁҼͱͯ͠ɼ·ͣɼϨδελɾϑΝΠϧͷ༰ྔͷ૿
౓ʹ΋ൺྫ͢Δɽϩʔυ/ετΞ໋ྩ͕ L1 σʔλɾΩϟο
Ճ͕͋Δɽ௨ৗɼ෺ཧϨδελɾϑΝΠϧʹ͸ in-flight ͳ
γϡʹରͯͦ͠ΕͧΕ 1 ճ͔͠ΞΫηεΛߦΘͳ͍ͷʹର
໋ྩ਺ʹԠͨ͡༰ྔ͕ඞཁͱͳΔɽΑΓଟ͘ͷ໋ྩϨϕϧ
͠ɼ΄΅શͯͷ໋ྩ͸௨ৗɼϨδελɾϑΝΠϧʹରͯ͠
ฒྻੑΛநग़͢ΔͨΊɼۙ೥Ͱ͸εʔύεΧϥɾϓϩηο
2ʙ3 ճͷΞΫηεΛߦ͏ɽ͜ͷͨΊɼ໘ੵ͕ಉఔ౓ͷ L1
αͷ in-flight ໋ྩ਺Λ૿΍͢܏޲ʹ͋ΓɼͦͷҰ‫ͯ͠ͱ؀‬
σʔλɾΩϟογϡͱൺֱͯ͠ɼϨδελɾϑΝΠϧ͸Α
෺ཧϨδελɾϑΝΠϧͷ༰ྔ΋૿େ͍ͯ͠Δɽ·ͨɼϚ
Γେ͖ͳిྗΛফඅ͢Δɽ
ϧνεϨουΛαϙʔτ͢ΔίΞͰ͸ɼεϨου਺ʹൺྫ
ফඅిྗͱͦΕʹΑͬͯൃੜ͢Δ೤͸ɼ࠷ۙͷϓϩηο
ͨ͠༰ྔ͕ඞཁͱͳΔͨΊɼߋʹ਺ഒͱ͍͏‫ن‬໛Ͱͷ༰ྔ
αɾίΞʹ͓͚Δ໰୊ͷதͰ΋ɼ΋ͬͱ΋ਂࠁͳ΋ͷͷҰ
૿ΛҾ͖‫ͳʹͱ͜͢͜ى‬Δɽ
ͭͰ͋ΔɽϨδελɾϑΝΠϧΛ‫ؚ‬ΉྖҬ͸ɼϓϩηοαɾ
࣍ʹ෺ཧϨδελɾϑΝΠϧͷϙʔτ਺ͷ૿Ճ͕͋Δɽ
ίΞ಺ͷϗοτɾεϙοτͰ͋Γɼͦͷಈ࡞प೾਺Λ੍‫ݶ‬
4 ໋ྩಉ࣮࣌ߦՄೳͳεʔύεΧϥɾϓϩηοαͰ͸ɼϨ
͢ΔओͳཁҼͷҰͭʹͳ͍ͬͯΔɽ
δελɾϑΝΠϧʹ 8 ͭͷϦʔυɾϙʔτͱ 4 ͭͷϥΠ
ϨδελɾΩϟογϡ
τɾϙʔτ͕ඞཁͱͳΔɽϨδελɾϑΝΠϧ͸௨ৗɼଟ
ϨδελɾΩϟογϡΛಋೖ͢Ε͹ɼ‫ڊ‬େͳϨδελɾ
ϙʔτͷ RAM ʹΑͬͯߏ੒͞ΕΔ͕ɼRAM ͷճ࿏໘ੵ
ϑΝΠϧʹ‫ى‬Ҽ͢Δ͜ΕΒͷ༷ʑͳ໰୊Λղܾ͢Δ͜ͱ͕
͸ϙʔτ਺ͷ 2 ৐ʹൺྫ͢ΔͨΊɼͦͷճ࿏໘ੵ͸༰ྔͷ
ՄೳͰ͋Δɽ
ׂʹඇৗʹେ͖ͳ΋ͷͱͳΔɽ
͜ΕΒ 2 ͭͷཧ༝ʹΑΓɼϨδελɾϑΝΠϧ͸ۙ೥
ਤ 1 ʹɼϨδελɾΩϟογϡͷγεςϜͷϒϩοΫਤ
Λࣔ͢ɽϨδελɾΩϟογϡͷγεςϜ͸ɼओʹɼଟϙʔ
τগΤϯτϦͷϨδελɾΩϟογϡʢRegister Cacheɼ
1
2
a)
౦‫ژ‬େֶେֶӃ৘ใཧ޻ֶ‫ڀݚܥ‬Պ
Graduate School of Information Science and Technology,
The University of Tokyo
໊‫ݹ‬԰େֶେֶӃ޻ֶ‫ڀݚܥ‬Պ
Graduate School of Engineering, Nagoya University
[email protected]
ⓒ 2013 Information Processing Society of Japan
RCʣͱগϙʔτଟΤϯτϦͷϝΠϯɾϨδελɾϑΝΠ
ϧʢMain Register FileɼMRFʣͷ૊߹ͤʹΑͬͯߏ੒͞
ΕΔɽRC ͸গΤϯτϦΏ͑ɼMRF ͸গϙʔτΏ͑ʹɼ‫ݩ‬
ͷϨδελɾϑΝΠϧΑΓ֨ஈʹখ໘ੵɾ௿ిྗͱͳΔɽ
1
Vol.2013-ARC-206 No.3
2013/7/31
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
Main
Register
File
ਤ 1 ʹ͓͍ͯ͸ɼϥΠτɾόοϑΝΛ WSB ʹஔ͖‫͑׵‬
Main
Register
File
Register Cache
Δ͜ͱʹͳΔɽ࣮ߦ݁Ռ͸ɼRC ʹॻ͖ࠐ·ΕΔͱಉ࣌ʹ
WSB ʹόοϑΝϦϯά͞Εɼͦͷ‫ ޙ‬MRF ΁ͱૹΒΕΔɽ
Register Cache
‫ط‬ଘͷϥΠτɾόοϑΝ͸ɼMRF ΁ͷϥΠτͷ࣌ؒతͳ
FIFO
FIFO
Write
Buffer
FIFO
ਤ 1
ʹόοϑΝϦϯά͞ΕͨϥΠτ͸ɼMRF ͷϥΠτɾϙʔ
τ͕ۭ͍͍ͯΔ‫ݶ‬Γ଎΍͔ʹ MRF ʹૹΒΕΔɽ
FIFO
FUs
͹Β͖ͭΛฏ‫׈‬Խ͢ΔͨΊʹஔ͔ΕΔɽϥΠτɾόοϑΝ
FUs
Write Squash Buffer
ϨδελɾΩϟογϡɾγεςϜͷϒϩοΫਤ
Ұํ WSB ͸ɼͦͷ༰ྔͷ‫ݶ͢ڐ‬Γ MRF ΁ͷϥΠτΛ
อ࣋͠ɼϥΠτ͕ʮ௵͞ΕΔ (squash)ʯͷΛ଴ͭɽ
ϥΠτ͕ʮ௵͞ΕΔʯ‫ݪ‬ཧ͸ɼ෺ཧϨδελͷղ์Λ
WSB ্Ͱ΋ߦ͏͜ͱʹ͋ΔɽಉҰͷ࿦ཧϨδελʹର͢
Δ্ॻ͖Λߦ͏‫ޙ‬ଓͷ໋ྩ͕ίϛοτ͞ΕΔͱɼ্ॻ͖͞
ಛʹɼԘ୩Β͕ఏҊͨ͠ NORCS (Non-latency-Oriented
ΕΔ࿦ཧϨδελʹϚοϐϯά͞Εͨ෺ཧϨδελ͸ղ
Register Cache System) Ͱ͸ɼIPC ͷ௿ԼΛ 2%ఔ౓ʹ཈
์͞ΕΔɽ͜ͷ࣌ɼղ์͞ΕΔ෺ཧϨδελ΁ͷϥΠτ͕
͑ͳ͕Βɼ໘ੵΛ 1/4 ఔ౓ʹɼফඅిྗΛ 1/3 ఔ౓ʹ࡟‫ݮ‬
WSB ্ʹ͋Ε͹ɼͦΕ΋࡟আͯ͠Α͍ɽ͢ͳΘͪɼ࿦ཧϨ
͢Δ͜ͱʹ੒ޭ͍ͯ͠Δ [1]ɽ
δελ΁ͷ্ॻ͖ʹΑͬͯɼWSB ্ͷϥΠτ΋ʮ௵͞Ε
ϨδελɾΩϟογϡɾγεςϜ΁ͷϥΠτ
ΔʯͷͰ͋Δɽߋʹɼ‫ޙ‬ଓͷ໋ྩ͕ίϛοτ͞Ε͍ͯ͘ͱɼ
2 ষͰৄ͘͠ड़΂Δ͕ɼϨδελɾΩϟογϡɾγεςϜ
ʮ௵ͨ͠ʯϥΠτ΋·ͨʮ௵͞ΕΔʯ͜ͱʹͳΔɽ͜͏͠
͸௨ৗɼϥΠτɾεϧʔํࣜͰ͋ΔɽͦͷͨΊɼMRF ΁ͷ
ͯɼόοϑΝʹอ͖࣋͠Εͳ͘ͳͬͨϥΠτ͚ͩΛ MRF
ϥΠτ͕ফඅిྗͷগͳ͘ͳ͍෦෼Λ઎ΊΔ͜ͱʹͳΔɽ
ʹసૹ͢Ε͹Α͍ɽ4 ষͰड़΂ΔධՁͰ͸ɼMRF ΁ͷϥ
ϨδελɾΩϟογϡɾγεςϜͰ͸ɼϦʔυͷେ෦෼
Πτ͸ 16 ΤϯτϦͷ WSB ʹΑΓɼ18%ఔ౓ʹ·Ͱ࡟‫ݮ‬Մ
͸ RC ͰΧόʔ͞ΕɼMRF ʹରͯ͠͸΄ͱΜͲߦΘΕͳ
ೳͰ͋Δ͜ͱ͕ࣔ͞ΕΔɽ
͍ɽͦͷҰํϥΠτ͸ɼϥΠτɾεϧʔͰ͋ΔͨΊɼ͢΂
WSB ͸ɼԋࢉ‫ʹͱ͝ث‬෼ࢄ͞Εͨ 1-read/1-write ͷ
ͯ RC ͱ MRF ͷ྆ํʹରͯ͠ߦΘΕΔ͜ͱʹͳΔɽͦͷ
FIFO Ͱߏ੒͢Δ͜ͱ͕Ͱ͖ΔɽMRF ͸ɼ2-read/2-writeɼ
ͨΊɼMRF ͷిྗͷେ෦෼͸ϥΠτʹΑΔ΋ͷͱͳΔɽ
128 ΤϯτϦఔ౓Ͱ͋Δ͔Βɼ16 ΤϯτϦͷ FIFO ͸ͦΕ
NORCS ͷධՁͰ͸ɼϨδελɾΩϟογϡɾγεςϜͷશ
ʹൺ΂ͯे෼ʹখ͍͞ɽ
ిྗͷ͏ͪ൒෼͕ RCɼ࢒Γͷ൒෼͕ MRF ʹΑͬͯফඅ
ϨδελɾϑΝΠϧ‫ܥ‬ͷిྗ͸ɼNORCS ͷಋೖʹΑΓ
͞Ε͓ͯΓɼMRF ͷফඅిྗͷ΄ͱΜͲ͕ϥΠτʹΑͬ
1/3 ఔ౓ʹ·Ͱ࡟‫͞ݮ‬Ε͍ͯΔ͕ɼWSB ͷಋೖʹΑΓߋ
ͯੜ͍ͯ͡Δɽ͢ͳΘͪɼϨδελɾΩϟογϡɾγες
ʹͦͷ൒෼ఔ౓ʹ·Ͱ࡟‫͞ݮ‬ΕΔ͜ͱʹͳΔɽ
Ϝͷશফඅిྗͷ൒෼ఔ౓Λ MRF ΁ͷϥΠτ͕઎ΊΔ͜
ͱͱͳ͍ͬͯΔ [1]ɽ
ߋʹɼMRF ΁ͷϥΠτͷ࡟‫ʹݮ‬ΑΓɼMRF ͷϙʔτ
Λ࡟‫͖Ͱݮ‬ΔՄೳੑ΋͋ΔɽNORCS ͷධՁͰ͸ MRF ͸
͜ͷ͜ͱ͸ಛʹɼϚϧνεϨουɾϓϩηοαͰॏཁͳ
2-read/2-write ͱ͍ͯ͠Δ͕ɼ͜ΕΛ 2-read/1-write Ͱࡁ
໰୊ͱͳΔɽϚϧνεϨουɾϓϩηοαͰ͸ɼεϨου
·ͤΔ͜ͱ͕Ͱ͖Ε͹ɼճ࿏໘ੵ͸ߋʹ൒෼ఔ౓ʹ·Ͱ࡟
਺ͷ૿Ճʹରͯ͠ɼRC ͷ༰ྔ͸΄ͱΜͲ૿΍͢ඞཁ͕ͳ͍
‫͢ݮ‬Δ͜ͱ͕Ͱ͖Δɽ
͜ͱ͕෼͔͍ͬͯΔ [2], [3]ɽͦͷҰํͰɼMRF ͸εϨο
ҎԼɼ2 ষͰϨδελɾΩϟογϡɾγεςϜʹ͍ͭͯ
υ਺෼͚ͩ૿΍͢ඞཁ͕͋ΔɽMRF ΁ͷϥΠτͷ઎ΊΔ
؆୯ʹ·ͱͨ‫ޙ‬ɼ3 ষͰ WSB ʹ͍ͭͯৄ͘͠આ໌͢Δɽ
ׂ߹͸ɼ2-way ͷϚϧνεϨουɾϓϩηοαͰ͸ 2/3ɼ
4 ষͰ͸ɼධՁ݁Ռʹ͍ͭͯ·ͱΊΔɽ
3-way Ͱ͸ 3/4 ఔ౓ʹ·Ͱ૿Ճ͢Δ͜ͱʹͳΔɽ
2. ϨδελɾΩϟογϡɾγεςϜ
ߋʹۙ೥Ͱ͸ɼϓϩηεͷඍࡉԽʹ൐͍ɼϥΠτ͕ࠔ೉
ʹͳΓͭͭ͋Γ [4], [5]ɼϥΠτ࣌ͷిѹ੍‫[ ޚ‬6], [7] ͳͲ
ຊষͰ͸ɼఏҊͷϕʔεͱͳΔϨδελɾΩϟογϡɾ
ͷٕज़ͰɼϦʔυʹൺ΂ͯϥΠτͷిྗ͕૿Ճ͢Δ܏޲ʹ
γεςϜʢRegister Cache SystemɼRCSʣʹ͍ͭͯઆ໌
͋Δɽ
͢ΔɽຊߘͰఏҊ͢ΔϥΠτɾεΧογϡɾόοϑΝ͸ɼ
ϥΠτɾεΧογϡɾόοϑΝ
‫ط‬ଘͷ RCS ͷϥΠτɾόοϑΝΛஔ͖‫ͯ͑׵‬ɼϝΠϯɾϨ
ຊߘͰ͸ɼ͜ͷ MRF ΁ͷϥΠτΛେ෯ʹ࡟‫͢ݮ‬ΔϥΠ
δελɾϑΝΠϧ΁ͷϥΠτͷফඅిྗΛ࡟‫͢ݮ‬Δ΋ͷͰ
τɾεΧογϡɾόοϑΝʢWrite Squash BufferɼWSBʣ
͋Δɽͦ͜ͰຊষͰ͸ɼRCS ΁ͷϥΠτΛத৺ʹղઆ͠ɼ
ΛఏҊ͢Δɽ
ಛʹϝΠϯɾϨδελɾϑΝΠϧ΁ͷϥΠτͷফඅిྗ͕
WSB ͸ɼ‫ط‬ଘͷϨδελɾΩϟογϡɾγεςϜͷϥ
ΠτɾόοϑΝͱಉ༷ʹɼԋࢉ‫ ͱث‬MRF ͷؒʹஔ͔ΕΔɽ
ⓒ 2013 Information Processing Society of Japan
໰୊ͱͳΔ͜ͱΛड़΂ɼ‫ط‬ଘͷ RCS ͷϥΠτɾόοϑΝ
ͷ໾ׂʹ͍ͭͯઆ໌͢Δɽ
2
Vol.2013-ARC-206 No.3
2013/7/31
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
2.1 ϨδελɾΩϟογϡɾγεςϜͷ֓ཁ
2.3 ϨδελɾΩϟογϡɾγεςϜ΁ͷϥΠτ
RCS ͷϒϩοΫਤ͸ɼਤ 1 ʹࣔͨ͠ɽલষͰड़΂ͨΑ͏
RC ʹର͢ΔϥΠτ͸௨ৗɼϥΠτɾεϧʔํࣜͰॲཧ
ʹɼRCS ͸ɼଟϙʔτগΤϯτϦͷϨδελɾΩϟογϡ
͞ΕΔɽ͢ͳΘͪɼϨδελ΁ͷॻ͖ࠐΈ͸ɼRC ͱಉ࣌
ʢRegister CacheɼRCʣͱগϙʔτଟΤϯτϦͷϝΠϯɾ
ʹ MRF ʹରͯ͠΋ߦΘΕΔɽ͜Ε͸ҎԼͷཧ༝ʹΑΔɽ
ϨδελɾϑΝΠϧʢMain Register FileɼMRFʣͷ૊߹
௨ৗͷϝϞϦ֊૚ʹ͓͚ΔɼϥΠτɾεϧʔʹର͢Δϥ
ͤʹΑͬͯߏ੒͞ΕΔɽRC ͸গΤϯτϦΏ͑ɼMRF ͸
ΠτɾόοΫͷϝϦοτ͸ɼ2 ճ໨Ҏ߱ͷϥΠτΛ΋Ωϟο
গϙʔτΏ͑ʹɼ‫ݩ‬ͷϨδελɾϑΝΠϧΑΓ֨ஈʹখ໘
γϡ্ͷΤϯτϦʹର࣮ͯ͠ߦ͢Δ͜ͱʹΑͬͯɼ࣍ͷ֊
ੵɾ௿ిྗͱͳΔɽจ‫[ ݙ‬1] ͷධՁͰ͸ɼ໘ੵΛ 1/4 ఔ౓
૚΁ͷϥΠτʢόοΫʣͷճ਺Λ 1 ճͰࡁ·͢͜ͱʹ͋Δɽ
ʹɼফඅిྗΛ 1/3 ఔ౓ʹ࡟‫͢ݮ‬Δ͜ͱʹ੒ޭ͍ͯ͠Δɽ
ϥΠτɾεϧʔͰ͸ɼ1 ճͷϥΠτ͝ͱʹɼ࣍ͷ֊૚΁ͷ
ಛʹɼԘ୩Β͕ఏҊͨ͠ NORCS (Non-latency-Oriented
1 ճͷϥΠτʢεϧʔʣ͕ൃੜ͢Δ͜ͱʹͳΔɽ
Register Cache System) Ͱ͸ɼRC ώοτ࣌ʹ΋ϨΠςϯ
͔͠͠ϨδελɾΩϟογϡʹ͓͍ͯ͸ɼϥΠτɾόο
γΛ࡟‫͍ͳ͠ݮ‬ʮRC ϛεΛԾఆͨ͠ύΠϓϥΠϯʯͷ࠾
Ϋͷ͜ͷΑ͏ͳϝϦοτ͸ੜ͡ͳ͍ɽ͜Ε͸ɼ௨ৗͷϝϞ
༻ʹΑΓɼIPC ͷ௿ԼΛ 2%ఔ౓ʹ཈͑Δ͜ͱʹ੒ޭͯ͠
Ϧͷϩέʔγϣϯͱ͸ҟͳΓɼϨδελʹରͯ͠͸Ϧωʔ
͍Δɽ
ϛϯά͕ࢪ͞ΕΔͨΊͰ͋ΔɽલઅͰड़΂ͨΑ͏ʹɼ໋֤
ҎԼͰ͸ NORCS Λ೦಄ʹઆ໌͢Δ͕ɼఏҊͷϥΠτɾ
ྩͷσεςΟωʔγϣϯʹ͸ผͷ෺ཧϨδελׂ͕Γ౰ͯ
εΧογϡɾόοϑΝ͸ɼͦΕҎ֎ͷҰൠͷํࣜʹ΋Ԡ༻
ΒΕΔɽ͕ͨͬͯ͠ɼRC ্ͷ͋ΔΤϯτϦʹର͢ΔϥΠ
ՄೳͰ͋Δɽ
τ͸ɼׂΓ౰ͯΒΕ໋ͨྩ͕࣮ߦ͞Εͨ࣌ͷ 1 ճͷΈͰ͋
ຊఏҊΛཧղ͢ΔͨΊʹ͸·ͣɼ෺ཧϨδελͷׂΓ౰
ͯͱղ์ʹ͍ͭͯਖ਼֬ʹཧղ͢Δඞཁ͕͋ΔɽͦͷͨΊɼ
Δɽ
ʮ2 ճ໨ͷϥΠτʯ͸ͦ΋ͦ΋ଘࡏ͠ͳ͍ɽ
RC ΛϥΠτɾόοΫͱ͢ΔͱɼϥΠτɾόοΫ࣌ʹ RC
࣍અͰ·ͣ෺ཧϨδελͷׂΓ౰ͯͱղ์ʹ͍ͭͯ·ͱΊ
ΛಡΈग़ͨ͢Ίͷϙʔτ͕༨‫ʹܭ‬ඞཁʹͳΓɼ͔͑ͬͯෆ
ͨ‫ޙ‬ɼ2.3 Ҏ߱Ͱ RCS ΁ͷϥΠτʹ͍ͭͯઆ໌͢Δɽ
རͰ͋Δɽ
Ҏ্ͷཧ༝ʹΑΓɼRC ͸ϥΠτɾεϧʔͱ͢ΔͷͰ͋Δɽ
2.2 ෺ཧϨδελͷׂΓ౰ͯͱղ์
෺ཧϨδελ΁ͷϦωʔϛϯάΛϕʔεʹ͢ΔํࣜͰ
͸ɼۭ͖෺ཧϨδελ͸ϑϦʔɾϦετʹΑͬͯ؅ཧ͞Ε
͍ͯΔ [8]ɽ
ϦωʔϜ࣌ʹɼϑϦʔɾϦετ͔Βۭ͖෺ཧϨδελ͕
औΓग़͞Εɼ໋֤ྩͷσεςΟωʔγϣϯʹରׂͯ͠Γ౰
ͯΒΕΔɽ
ϓϩάϥϜɾΦʔμ্Ͱɼ͋Δ࿦ཧϨδελ L Λσε
ςΟωʔγϣϯͱ͢Δ໋ྩΛॱʹ Ip1 ɼIp2 ɼ· · · ͱ͢Δɽ
·ͨɼIp1 ɼIp2 ͷσεςΟωʔγϣϯʹ͸෺ཧϨδελ
2.4 MRF ΁ͷϥΠτͷফඅిྗ
RCS Ͱ͸ɼҎԼͷཧ༝ʹΑΓɼMRF ͷిྗͷେ෦෼͸
ϥΠτʹΑΔ΋ͷͱͳΔɿ
Ϧʔυ
Ϧʔυͷେ෦෼͸ RC ͰΧόʔ͞ΕɼMRF ʹର
ͯ͠͸΄ͱΜͲߦΘΕͳ͍ɽRC ώοτ཰͸ɼ90% ఔ
౓Ҏ্ʹͳΔɽ
ϥΠτ
ϥΠτɾεϧʔͷͨΊɼ͢΂ͯ MRF ʹରͯ͠΋
ߦΘΕΔɽ
NORCS ͷධՁͰ͸ɼRCS ͷશిྗͷ൒෼Λ RCɼ࢒Γ
P1 ɼP2 ɼ· · · ͕ͦΕͧΕׂΓ౰ͯΒΕͨͱ͢Δɽਤ 2 Ͱ͸ɼ
ͷ൒෼Λ MRF ͕ফඅ͍ͯ͠ΔɽMRF ͷμΠφϛοΫి
Ip1 : L(P1 ) = · · · ͳͲͱද‫͍ͯ͠ݱ‬Δɽ
ྗͷ΄ͱΜͲΛϥΠτ͕઎Ί͍ͯΔͨΊɼ݁‫ ہ‬RCS ͷશ
P1 ʹ֨ೲ͞ΕΔ໋ྩ Ip1 ͷ࣮ߦ݁ՌΛࢀর͢ΔՄೳੑ
͕͋Δͷ͸ɼϓϩάϥϜɾΦʔμ্Ͱ໋ྩ Ip1 ʙIp2 ͷؒʹ
ిྗͷ൒෼ఔ౓Λ MRF ΁ͷϥΠτ͕઎ΊΔ͜ͱͱͳͬͯ
͍Δɽ
͋Δ໋ྩ͚ͩͰ͋Δʢਤ 2 Ͱ͸ Ic1 ʣ
ɽIp2 Ҏ߱ʹ L Λιʔ
εͱ͢Δ໋ྩʢIc2 ʣ͕͋ͬͨͱͯ͠΋ɼͦΕ͸ P2 ʹ֨ೲ
͞ΕΔ I2 ͷ࣮ߦ݁ՌΛࢀর͢Δ͜ͱʹͳΔɽ͕ͨͬͯ͠ɼ
໋ྩ I2 ͕ίϛοτ͞Εͨ࣌఺ͰɼI1 ʙI2 ͷؒʹ͋Δ໋ྩ
ʢIc1 ʣ΋‫͓ͯྃ͠׬‬Γɼ໋ྩ I1 ͷ݁ՌΛࢀর͢Δ໋ྩ͸࠷
ૣγεςϜ಺ʹଘࡏ͠ͳ͍͜ͱ͕อূ͞ΕΔɽ
ͦͷͨΊɼIp1 ͷσεςΟωʔγϣϯʹׂΓ౰ͯΒΕͨ
2.5 MRF ΁ͷϥΠτͷফඅిྗͷ૿Ճ
ۙ೥Ͱ͸ɼRCS ͷશফඅిྗʹ͓͚Δ MRF ΁ͷϥΠτ
ͷ઎ΊΔׂ߹Λߋʹ૿Ճͤ͞ΔཁҼ͕͋Δɽ
2.5.1 ϚϧνεϨουԽ
MRF ΁ͷϥΠτͷফඅిྗ͸ɼϚϧνεϨουɾϓϩ
ηοαͰΑΓॏཁͳ໰୊ͱͳΔɽ
P1 ͸ɼͦͷ஋Λࢀর͢Δ໋ྩ͕ଘࡏ͠ͳ͍ͷͰɼ͜ͷ࣌఺
ϚϧνεϨουɾϓϩηοαͰ͸ɼεϨουɾεέδϡʔ
Ͱղ์ͯ͠Α͍ɽղ์͞Εͨ෺ཧϨδελ͸ɼϑϦʔɾϦ
ϦϯάɾϙϦγʹ‫͘ڧ‬ґଘ͢Δ͕ɼεϨου਺ͷ૿Ճʹର
ετʹฦ٫͞ΕΔɽ
ͯ͠ɼRC ͷ༰ྔ͸΄ͱΜͲ૿΍͢ඞཁ͕ͳ͍͜ͱ͕෼͔ͬ
͍ͯΔ [2], [3]ɽ
Ұํ MRF ͸ɼগͳ͘ͱ΋֤εϨουͷ࿦ཧϨδελΛ
ⓒ 2013 Information Processing Society of Japan
3
Vol.2013-ARC-206 No.3
2013/7/31
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
≀⌮䝺䝆䝇䝍 䛾 ᑑ࿨
WSB 䜶䞁䝖䝸 䛾 ᑑ࿨
Ip1 : L (P1) = 䈈㻌
fetch
rename
dispatch
schedule
fetch
rename
dispatch
schedule
fetch
rename
Ic1 : ͏͏ = L (P1) 䈈
schedule
Ip2 : L (P2) = 䈈㻌
issue
dispatch
schedule
fetch
rename
Ic2 : ͏͏ = L (P2) 䈈
reg read
exec
WB
schedule
issue
reg read
dispatch
schedule
fetch
rename
commit
exec
WB
commit
schedule
issue
reg read
exec
WB
schedule
issue
reg read
exec
WB
dispatch
schedule
schedule
issue
commit
commit
reg read
exec
ਤ 2 ෺ཧϨδελɾϑΝΠϧͱ WSB ΤϯτϦͷण໋
อ࣋͢Δඞཁ͕͋Γɼඞཁͳ༰ྔ͸εϨου਺ʹൺྫ͢Δɽ
3.1 ϥΠτɾεΧογϡɾόοϑΝͷ֓ཁ
͕ͨͬͯ͠ϚϧνεϨουɾϓϩηοαͰ͸ɼϨδελɾ
WSB ͸ɼैདྷͷ RCS ͷϥΠτɾόοϑΝͱಉ༷ɼԋࢉ
ΩϟογϡɾγεςϜશମͷফඅిྗʹ͓͚Δ MRF ΁ͷ
‫ͱث‬ϝΠϯɾϨδελɾϑΝΠϧͷؒʹ഑ஔ͞ΕΔɽਤ 1
ϥΠτͷ઎ΊΔׂ߹͸ɼ2-way Ͱ͸ 2/3 ఔ౓ɼ3-way Ͱ͸
ʹࣔͨ͠ϒϩοΫਤʹ͓͍ͯ͸ɼϥΠτɾόοϑΝΛ WSB
3/4 ఔ౓ɼͱ૿Ճ͢Δ͜ͱʹͳΔɽ
ʹஔ͖‫͑׵‬Δ͜ͱʹͳΔɽԋࢉ‫͔ث‬ΒૹΒΕͯདྷΔ࣮ߦ݁
2.5.2 ϓϩηεͷඍࡉԽ
Ռ͸ɼRC ʹॻ͖ࠐ·ΕΔͱಉ࣌ʹɼWSB ʹ΋όοϑΝϦ
ۙ೥Ͱ͸ɼϓϩηεͷඍࡉԽʹ൐͍ɼ௿͍ಈ࡞ిѹͰ
ϯά͞ΕΔɽWSB ʹόοϑΝϦϯά͞Εͨ MRF ΁ͷϥ
RAM ͷηϧΛ൓సͤ͞Δͷ͕ࠔ೉ʹͳΓͭͭ͋Δ [4], [5]ɽ
Πτ͸ɼͦͷ‫ ޙ‬MRF ΁ͱૹΒΕɼMRF Λߋ৽͢Δ͜ͱ
͜ͷ໰୊ʹରॲ͢ΔͨΊʹϥΠτ࣌ͷిѹ੍‫[ ޚ‬6], [7] ͳͲ
ʹͳΔɽ
ͷٕज़Λ࠾༻͢ΔͱɼϦʔυʹൺ΂ͯϥΠτͷిྗ͕૿Ճ
ϥΠτɾεΧογϡɾόοϑΝͷ໾ׂ
͢Δ͜ͱʹͳΔɽ
2.6 અͰड़΂ͨΑ͏ʹɼ‫ط‬ଘͷ RCS ͷϥΠτɾόοϑΝ
ͷ໾ׂ͸ɼMRF ΁ͷϥΠτͷ࣌ؒతͳ͹Β͖ͭΛฏ‫׈‬Խ
2.6 ϨδελɾΩϟογϡɾγεςϜͷϥΠτɾόοϑΝ
͢Δ͜ͱʹ͋ΔɽҰํ WSB ͷ໾ׂ͸ɼWSB ্Ͱ MRF ΁
ఏҊͷϥΠτɾεΧογϡɾόοϑΝ͸ɼ‫ط‬ଘͷ RCS
ͷϥΠτΛʮ௵͢ (squash)ʯ͜ͱʹ͋ΔɽWSB ͸ɼͦͷ
ͷϥΠτɾόοϑΝΛஔ͖‫ ͯ͑׵‬MRF ΁ͷϥΠτͷফඅ
༰ྔͷ‫ݶ͢ڐ‬Γ MRF ΁ͷϥΠτΛอ࣋͠ଓ͚Δɽͦͯ͠
ిྗΛ࡟‫͢ݮ‬Δ΋ͷͰ͋Δɽͦ͜Ͱຊষͷ࠷‫ʹޙ‬ɼ‫ط‬ଘͷ
ͦͷؒʹɼϥΠτ͕ʮ௵͞ΕΔʯͷΛ଴ͭɽ
RCS ͷϥΠτɾόοϑΝʹ͍ͭͯઆ໌͢Δɽ
֤αΠΫϧʹԋࢉ‫͔ث‬Β RCS ΁ͱૹΒΕͯདྷΔϥΠτ
લड़ͨ͠Α͏ʹɼϥΠτ͕ʮ௵͞ΕΔʯ‫ݪ‬ཧ͸ɼ෺ཧϨ
δελͷղ์Λ WSB ্Ͱ΋ߦ͏͜ͱʹ͋Δɽ2.2 અͰ͸ɼ
ͷ࠷େ਺͸ɼಉ࣮࣌ߦՄೳͳ໋ྩ਺ʹ౳͍͠ɽ͔͠͠ MRF
໋ྩ Ip2 ͕ίϛοτ͞ΕͨΒɼIp1 ͷσεςΟωʔγϣϯʹ
ͷϥΠτɾϙʔτ͸ɼඞͣ͠΋͜ͷ࠷େ਺͚ͩ༻ҙ͢Δඞ
ׂΓ౰ͯΒΕͨ P1 Λղ์ͯ͠Α͍ͱड़΂ͨɽ͜ͷ࣌ɼղ
ཁ͸ͳ͘ɼฏ‫ۉ‬తʹ͸ IPC ఔ౓͋Ε͹Α͍ɽ‫ط‬ଘͷ RCS
์͞ΕΔ P1 ΁ͷϥΠτ͕ WSB ্ʹ͋Ε͹ɼͦΕ΋࡟আ
ͷϥΠτɾόοϑΝ͸ɼ͜ͷϥΠτͷ࣌ؒతͳ͹Β͖ͭΛ
ͯ͠͠·ͬͯΑ͍ɽ͢ͳΘͪɼ࿦ཧϨδελ΁ͷ্ॻ͖ʹ
ฏ‫׈‬Խ͢ΔͨΊʹઃ͚ΒΕ͍ͯΔɽ
ΑͬͯɼWSB ্ͷϥΠτ΋ʮ௵͞ΕΔʯͷͰ͋Δɽߋʹɼ
ͦͷͨΊɼ͜ͷϥΠτɾόοϑΝͷ༰ྔ͸ϥΠτͷʮॠ
ؒ࠷େ෩଎ʯΛड͚ೖΕΔͷʹे෼Ͱ͋Ε͹Α͍ɽ
จ‫[ ݙ‬1] ͷධՁͰ͸ɼಉ࣮࣌ߦՄೳͳ໋ྩ਺ 4 ʹରͯ͠ɼ
MRF ͸ 2 ຊͷઐ༻ͷϥΠτɾϙʔτΛ࣋ͯ͹े෼Ͱ͋Δ
Ip3 ͕ίϛοτ͞ΕΔͱɼࠓ౓͸ P2 ʹର͢ΔϥΠτ΋·ͨ
ʮ௵͞ΕΔʯ͜ͱʹͳΔɽ͜ͷΑ͏ʹͯ͠ɼόοϑΝʹอ࣋
͖͠Εͳ͘ͳͬͨϥΠτ͚͕ͩ MRF ʹର࣮ͯ͠ߦ͞ΕΔ
͜ͱʹͳΔɽ
ͱ͍ͯ͠Δɽ͜ͷ৔߹ɼόοϑΝͷΤϯτϦ͸ຖαΠΫϧ
ղ์͞ΕΔ෺ཧϨδελ͸෺ཧϨδελͷ؅ཧ‫ʹߏػ‬ਘ
2 ͣͭ‫ݮ‬Β͢͜ͱ͕Ͱ͖ɼͦͷ݁ՌɼόοϑΝͷ༰ྔ͸ 4ʙ
ͶΕ͹Α͘ɼWSB ͷແޮԽͷͨΊʹผ్؅ཧ͢Δඞཁ͸
8 ఔ౓ͰΑ͍ͱ͍ͯ͠Δɽ
ͳ͍ɽ
3. ϥΠτɾεΧογϡɾόοϑΝ
ຊষͰ͸ɼఏҊख๏Ͱ͋ΔϥΠτɾεΧογϡɾόοϑΝ
ʢWrite Squash BufferɼWSBʣʹ͍ͭͯৄ͘͠આ໌͢Δɽ
ⓒ 2013 Information Processing Society of Japan
ͳ͓ɼ͜ͷΑ͏ͳ͜ͱ͕ՄೳͰ͋Δͷ͸ɼWSB ͕ RCS
ͷϥΠτɾόοϑΝͰ͋Δ͔ΒͰ͋ΔɽRCS ΁ͷϦʔυͷ
΄ͱΜͲ͸ RC ʹΑͬͯΧόʔ͞ΕɼMRF ͕Ϧʔυ͞Ε
Δ͜ͱ͸গͳ͍ɽ͢ͳΘͪɼ
ʮ௵͞ΕͯʯMRF ʹॻ͔Εͳ
4
Vol.2013-ARC-206 No.3
2013/7/31
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
͔࣮ͬͨߦ݁ՌΛඞཁͱ͢Δ໋ྩ͸ɼ
ʢώοτ͢Ε͹ʣRC
͔ΒͦΕΛಘͨͷͰ͋Δɽ͕ͨͬͯ͠ɼRCS ͷҰ෦Ͱ͸ͳ
͍ɼ୯ಠͷ WSB ͸ɼ͋·Γ͏·͘ಇ͔ͳ͍͜ͱʹ஫ҙ͞
ϦϯάɾόοϑΝ‫ ܕ‬1-read/1-write ͷ RAM Λ༻͍ͯϦ
ϯάɾόοϑΝΛߏ੒͢Δ
γϑτɾϨδελ‫ ܕ‬શମΛγϑτɾϨδελʹΑͬͯߏ
Ε͍ͨɽ
੒͠ɼΤϯΩϡʔ/σΩϡʔͷର৅Λ຤ඌͱઌ಄ͷϨ
෼ࢄߏ੒
δελʹ‫ݶ‬ఆ͢Δɽ
WSB ͷߏ੒ࣗମ͸ɼ‫ط‬ଘͷ RCS ͷϥΠτɾόοϑΝͱ
େ͖ͳҧ͍͸ͳ͍ɽͨͩ͠ɼ‫ط‬ଘͷ RCS ͷϥΠτɾόο
‫ػ‬ೳɾੑೳʹେ͖ͳҧ͍͸ͳ͍ͱߟ͑ΒΕΔɽ
ϥΠτɾόοϑΝɾώοτͱϑΥϫʔσΟϯά
ϑΝ͕ 4ʙ8 ΤϯτϦఔ౓Ͱ͋Δͷʹൺ΂Δͱ֨ஈʹେ༰
RCS Ͱ͸ҰൠʹɼϦʔυͷେ൒͸ RC ʹώοτ͢Δɽ͠
ྔͰ͋ΔͷͰɼখ໘ੵԽͷ޻෉͕ඞཁͱͳΔɽͦ͜Ͱ WSB
͔͠‫ʹك‬ɼϥΠτɾόοϑΝɾώοτɼ͢ͳΘͪɼRC ʹϛ
͸ɼ1 ͭͷଟϙʔτͷ RAM ʹΑͬͯूதతʹ࣮૷͢Δͷ
ε࣮ͨ͠ߦ݁Ռ͕ϥΠτɾόοϑΝʢ΋͘͠͸ WSBʣʹ
Ͱ͸ͳ͘ɼਤ 1 ӈଆʹࣔͨ͠Α͏ʹɼ֤ԋࢉ‫ʹͱ͝ث‬෼ࢄ
ଘࡏ͢Δ͜ͱ͕͋Δɽͦͷ৔߹ɼͦͷ࣮ߦ݁ՌΛϥΠτɾ
഑ஔ͢Δɽԋࢉ‫ͱ͝ث‬ͷ‫ݸ‬ʑͷ RAM ͸ 1-read/1-write Ͱ
όοϑΝʢWSBʣ͔Βԋࢉ‫ͱ΁ث‬ఏ‫͢ڙ‬Δඞཁ͕͋Δɽ
Α͘ɼϑϥάϝϯςʔγϣϯΛߟྀͯ͠΋ɼ߹‫ܭ‬ͷճ࿏໘
ੵΛେ෯ʹ࡟‫͢ݮ‬Δ͜ͱ͕Ͱ͖Δɽ
WSB ͸ɼ‫ط‬ଘͷϥΠτɾόοϑΝΑΓେ༰ྔͰɼͰ͖
Δ‫ݶ‬ΓϥΠτΛอ࣋͠ଓ͚Α͏ͱ͢ΔͨΊɼϥΠτɾόο
ϑΝɾώοτͷ֬཰͸ΑΓߴ͍ɽ
3.2 WSB ͷಈ࡞
࣍ʹɼWSB ͷಈ࡞ʹ͍ͭͯৄࡉʹઆ໌͢Δɽ
ΤϯΩϡʔ
બ୒ࢶͱͯ͠͸ɼҎԼͷ 2 ͕ͭߟ͑ΒΕΔɿ
ϑΥϫʔσΟϯά όοϑΝ͔ΒಡΈग़͢ɽ
ετʔϧ όοΫΤϯυɾύΠϓϥΠϯΛετʔϧ͠ɼ౰
ΤϯΩϡʔଆͷಈ࡞͸୯७Ͱ͋ΔɽରԠ͢ΔόοϑΝ
֘ϥΠτ͕ MRF ΁ͱૹΒΕΔͷΛ଴ͪɼMRF ͔Β
ʹۭ͖͕͋Ε͹ɼԋࢉ‫ث‬͸࣮ߦ݁ՌͷϥΠτɾϦΫΤετ
ಡΈग़͢ɽ౰֘ϥΠτͷ͋ΔόοϑΝΛ༏ઌతʹॲཧ
ΛΤϯΩϡʔ͢Δɽ͍ͣΕ͔ͷόοϑΝ͕ϑϧͰ͋Ε͹ɼ
͢Ε͹ɼ10 αΠΫϧఔ౓Ҏ಺ʹॻ͖ͩ͞ΕΔɽ
όοΫΤϯυ͸ετʔϧ͢Δɽ
ແޮԽ
ରԠ͢Δ෺ཧϨδελ͕ղ์͞Εͨ࣌ʹ͸ɼ࿈૝‫ʹࡧݕ‬
ΑΓɼΤϯτϦΛແޮԽ͢Δɽ
σΩϡʔ
௨ৗͷϥΠτɾόοϑΝ͸ɼόοϑΝ಺ʹ༗ޮͳΤϯτ
Ϧ͕ 1 ͭͰ΋͋Ε͹ɼMRF ʹରͯ͠ϦΫΤετΛૹग़͢
ͳ͓ϦϯάɾόοϑΝ‫Ͱܕ‬͸ɼϑΥϫʔσΟϯάͷͨΊ
ͷϙʔτΛผ్௥Ճ͢Δඞཁ͸ͳ͘ɼσΩϡʔΛఀࢭͯ͠ɼ
σΩϡʔ༻ͷϙʔτ͔ΒಡΈग़͠Λߦ͑͹Α͍ɽ
ίϯύΫγϣϯ
ແޮԽ͞ΕͨΤϯτϦ͸ʮࣃൈ͚ʯʹͳΔͷͰɼίϯύ
ΫγϣϯΛࢪ͢͜ͱʹΑΓɼΤϯτϦͷ༗ޮར༻ΛਤΔ͜
ͱ͕ߟ͑ΒΕΔɽ
ΔɽWSB ͸ɼͰ͖Δ‫ݶ‬ΓΤϯτϦΛόοϑΝ্ʹอ࣋͠
ಉ༷ͷߟ͑ํ͸ɼ໋ྩ΢Οϯυ΢ [9] ʹ΋‫ݟ‬ΒΕΔɽ
Α͏ͱ͢ΔͨΊɼ༗ޮͳΤϯτϦ͕͋Δ͚ͩͰ͸ɼMRF
ͨͩ͠ίϯύΫγϣϯ͸ɼϦϯάɾόοϑΝ‫ܕ‬ͷ࣮૷Ͱ
ʹରͯ͠ϦΫΤετΛૹग़͠ͳ͍ɽ
͸࣮‫͕ݱ‬΍΍೉͍͠ɽ
όοϑΝɾϑϧʹΑΔετʔϧΛආ͚ΔͨΊɼ࢒Γ͕ n
ΤϯτϦΛ੾ͬͨͱ͜ΖͰɼMRF ʹରͯ͠ϦΫΤετΛ
ૹग़͢Δɽn ͸ 2ʙ4 ఔ౓Ͱ͋Δɽ
σΩϡʔଆͷ֤αΠΫϧͷಈ࡞͸ҎԼͷΑ͏ʹ·ͱΊΒ
ΕΔɿ
( 1 ) ઌ಄ΤϯτϦ͕ແޮԽ͞Ε͍ͯΕ͹ɼ͜ΕΛऔΓআ͖ɼ
͜ͷαΠΫϧͷಈ࡞͸ऴྃ͢Δɽ
( 2 ) ઌ಄ΤϯτϦ͕༗ޮͰɼ͔ͭɼ࢒ΓΤϯτϦ਺͕ n Λ
3.4 WSB ͷ༰ྔͱΤϯτϦͷण໋
ຊষͷ࠷‫ʹޙ‬ɼWSB ʹඞཁͳ༰ྔʹ͍ͭͯߟ࡯͢Δɽ
ۭ͖෺ཧϨδελׂ͕Γ౰ͯΒΕ্ͯॻ͖͢Δ໋ྩͷί
ϛοτʹΑͬͯղ์͞ΕΔͷ͸ɼ෺ཧϨδελɾϑΝΠϧ
΋ WSB ΋ಉ༷Ͱ͋ΔɽͦͷͨΊɼWSB ͷ૯༰ྔ͸෺ཧ
ϨδελɾϑΝΠϧͱಉఔ౓ʹͳΔͷͰ͸ͳ͍͔ͱ‫ݒ‬೦
Λ࣋ͨΕΔ޲͖΋͋Ζ͏ɽ͔࣮͠͠ࡍʹ͸ɼWSB ͷ૯༰
੾ͬͨͱ͜ΖͰɼMRF ʹରͯ͠ϦΫΤετΛૹग़͢
ྔ͸෺ཧϨδελɾϑΝΠϧͷ൒෼ఔ౓ͰΑ͍ɽͦΕ͸ɼ
Δɽ֤ԋࢉ‫ث‬ͷόοϑΝؒͰௐఀΛߦ͍ɼೝΊΒΕΕ
WSB ͷΤϯτϦͷण໋͕෺ཧϨδελͷͦΕΑΓ୹͍͔
͹ɼઌ಄ΤϯτϦͷϥΠτΛ MRF ʹରͯ͠ૹग़͢Δɽ
ΒͰ͋Δɽ
ਤ 2 ʹɼ໋ྩ Ip1 ʹׂΓ౰ͯΒΕͨ෺ཧϨδελ P1 ͱ
3.3 ͦͷଞͷߟྀ఺
ຊઅͰ͸ɼͦͷଞͷ࣮૷্ͷߟྀ఺ʹ͍ͭͯड़΂Δɽ
ϖΠϩʔυͷ࣮૷ํ๏
ԋࢉ‫ͱ͝ث‬ͷόοϑΝͷϖΠϩʔυ͸ɼҎԼͷ 2 ͭͷ࣮
૷ํ๏͕ߟ͑ΒΕΔɿ
ⓒ 2013 Information Processing Society of Japan
ͦΕʹରԠ͢Δ WSB ΤϯτϦͷण໋Λࣔ͢ɽಉਤʹࣔ͞
Ε͍ͯΔΑ͏ʹɼΤϯτϦ͕ղ์͞ΕΔλΠϛϯά͸෺ཧ
Ϩδελͱ WSB ΤϯτϦͰಉҰͰ͋ΔɽҰํͰׂ౰ͯͷ
λΠϛϯά͸ɼ෺ཧϨδελ͕ϦωʔϜɾεςʔδͰ͋Δ
ͷʹରͯ͠ɼWSB Ͱ͸ϥΠτόοΫɾεςʔδʹͳΔɽ͠
5
Vol.2013-ARC-206 No.3
2013/7/31
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
஋
ԋࢉ‫਺ث‬
int:2, fp:2, mem:2
࿦ཧϨδελ਺
INT ໋ྩʹରͯ͠ 32 Ϩδελ
෺ཧϨδελ਺
INT ໋ྩʹରͯ͠ 128 Ϩδελ
MRF ͷϙʔτ਺
2R2W
WSB ௕
8,16,24,32,48,64,96
WSB ͷ࣮૷
ϦϯάɾόοϑΝํࣜ
WSB ͷϦʔυɾϙʔτ਺
1,2,4
WSB ͷۭ͖
1,2,4
ϮϬй
ϭϴй
ϭϲй
ϭϰй
ϭϮй
ϭϬй
ϴй
ϲй
ϰй
Ϯй
Ϭй
&ŽƌǁĂƌĚŝŶŐ䛾Ⓨ⏕⋡
䛾Ⓨ⏕⋡;йͿ
䛾Ⓨ⏕⋡
ද 1 γϛϡϨʔγϣϯɾύϥϝʔλʔ
߲໨
ϴ
ϭϲ
Ϯϰ
͕ͨͬͯɼWSB ͷΤϯτϦͷण໋͸෺ཧϨδελͷͦΕ
ΑΓɼσΟεύονʙεέδϡʔϧʙൃߦʙϨδελಡΈ
ਤ 3
ϯϮ
t^㛗
㛗
ϰϴ
ϲϰ
ϵϲ
ϥΠτɾεΧογϡɾόοϑΝ͔ΒͷϑΥϫʔσΟϯάൃੜ཰
ग़͠ʙ࣮ߦͷ෼͚ͩ୹͘ͳΔɽಛʹɼεέδϡʔϦϯάɾ
΢Οϯυ΢தͰൃߦΛ଴͍ͬͯΔ͕࣌ؒ௕͘ͳΔՄೳੑ͕
͋Δɽ
͜ͷण໋ͷࠩͷ෼͚ͩɼWSB ͷ༰ྔ͸෺ཧϨδελɾ
ϑΝΠϧͷͦΕʹൺ΂ͯখͯ͘͞Α͘ͳΔͷͰ͋Δɽ
ͳ͓ɼಉ༷ͷߟ͑͸ɼ෺ཧϨδελ 2 ஈ֊ղ์ํࣜ [10]
ʹ΋‫ݟ‬Δ͜ͱ͕Ͱ͖Δɽ
4. ੑೳධՁ
4.1 ධՁख๏
γϛϡϨʔγϣϯΛߦ͍ɼఏҊख๏ͷධՁΛߦͬͨɽγ
ϑϧͱͳͬͯετʔϧ͕ൃੜ
ଓ͘ 4.2.1 ‫ ͼٴ‬4.2.2 ͰɼͦΕͧΕͷӨ‫ڹ‬Λৄࡉʹߟ࡯͠ɼ
4.2.3 Ͱ IPC ΁ͷӨ‫ڹ‬Λ·ͱΊΔɽ
4.2.1 ϑΥϫʔσΟϯά‫ى‬Ҽετʔϧ
Ϧʔυɾϙʔτ਺͕Ө‫͢ڹ‬Δͱߟ͑ΒΕΔɼϑΥϫʔσΟ
ϯά‫ى‬Ҽετʔϧʹ͍ͭͯɼਤ 3 ʹ݁ՌΛࣔ͢ɽਤ 3 ͷ
ԣ࣠͸ϥΠτɾεΧογϡɾόοϑΝͷ௕͞ɼॎ࣠͸ॻࠐ
Έ਺Λ෼฼ʹऔͬͨϑΥϫʔσΟϯάൃੜ཰Ͱ͋ΓɼϥΠ
τɾεΧογϡɾόοϑΝ΁ॻࠐ·Εͨσʔλ͕શͯϑΥ
ϫʔσΟϯά͞ΕΕ͹ɼ100%ͱͳΔɽ
ϛϡϨʔγϣϯʹ͸ຊ‫Ͱࣨڀݚ‬։ൃͨ͠γϛϡϨʔλʮَ࢐
ϥΠτɾεΧογϡɾόοϑΝͷ௕͕͞௕͘ͳΔ΄ͲϑΥ
್ʯ[11] Λ༻͍͍ͯΔɽϕϯνϚʔΫʹ͸ɼSPECINT2006
ϫʔσΟϯάͷൃੜ཰͸্͕͍ͬͯΔ͕ɼ௕͞ 96 ͷϥΠ
͔Βɼperlbench, bzip2, gcc, mcf, gobmk, hmmer, sjeng,
τɾεΧογϡɾόοϑΝͰ΋ 17%ఔ౓ͱɼϑΥϫʔσΟ
libquantum, h264, omnet, astar, xalancbmk ֤ϓϩάϥϜ
ϯάͷൃੜ཰͸๞࿨͢Δ܏޲͕͋Δɽ͜Ε͸ɼ‫͍ݹ‬σʔλ
ͷ ref ϓϩάϥϜΛ࢖༻͠ɼ࠷ॳͷ 1G ໋ྩΛεΩοϓ͠
͕ࢀর͞ΕΔ֬཰͸௿͍ͨΊͱߟ͑ΒΕΔɽ
௚‫ޙ‬ͷ 100M ໋ྩΛ࣮ߦͨ͠ɽϓϩάϥϜຖͷࠩ͸ 4.4 ʹ
࣍ʹɼਤ 4 ʹɼϑΥϫʔσΟϯάͱϝΠϯɾϨδελɾ
ࣔ͠ɼҎԼɼಛʹ໌‫ݶ͍ͳ͠ه‬Γ͸ɼશϓϩάϥϜͷฏ‫ۉ‬
ϑΝΠϧ΁ͷసૹʹΑͬͯɼϥΠτɾεΧογϡɾόοϑΝ
஋Λ݁Ռͱͯࣔ͢͠ɽଞͷओཁͳύϥϝʔλʔΛද 1 ʹ
ͷϦʔυɾϙʔτ͕‫ͯ͠߹ڝ‬ετʔϧ͕ൃੜׂͨ͠߹Λࣔ
ࣔ͢ɽ
͢ɽਤ 4 ͷԣ࣠͸ಉ༷ʹϥΠτɾεΧογϡɾόοϑΝͷ
௕͞ɼॎ࣠͸ɼετʔϧ͕ൃੜͨ͠ճ਺Λɼ࣮ߦαΠΫϧ
4.2 ੑೳ
͜ͷઅͰ͸ɼϥΠτɾεΧογϡɾόοϑΝͷੑೳ΁ͷ
਺Λ෼฼ʹऔͬͨൺ཰Ͱ͍ࣔͯ͠Δɽ
ετʔϧͷൃੜ཰͸Ϧʔυɾϙʔτ਺ 1 Ͱ΋े෼௿͘ɼ
Ө‫ͱ·͍ͯͭʹڹ‬ΊΔɽϥΠτɾεΧογϡɾόοϑΝ͸ɼ
ϥΠτɾεΧογϡɾόοϑΝΛϦϯάɾόοϑΝ࣮૷͢
ੑೳ΁ͷӨ‫ڹ‬Λ࠷খ‫··ͨ͠ͱݶ‬ɼϝΠϯɾϨδελɾϑΝ
Δ৔߹ͷϦʔυɾϙʔτ਺͸খͯ͘͞ྑ͍͜ͱ͕෼͔Δɽ
Πϧ΁ͷॻࠐΈΛ‫ݮ‬গͤ͞Δ͜ͱΛ໨ඪͱ͓ͯ͠Γɼ‫ݦ‬ஶ
͜͜ͰɼϑΥϫʔσΟϯάͷൃੜ཰͕௿͍ϥΠτɾεΧο
ͳੑೳ௿Լ͕ΈΒΕͳ͍͜ͱ͕‫ظ‬଴஋Ͱ͋Δɽ
γϡɾόοϑΝ௕:8 Ͱ࠷΋ετʔϧൃੜ཰͕ߴ͍ͷ͸ɼϝ
‫ޙ‬ड़ͷ݁Ռ͔Β͸ɼϦʔυɾϙʔτ਺͸࠷খͷ 1ɼϥΠ
ΠϯɾϨδελɾϑΝΠϧ΁ͷॻࠐΈൃੜ཰͕ߴ͘ɼϝΠ
τɾεΧογϡɾόοϑΝͷۭ͖਺΋࠷খͷ 1 Ͱ΋ɼIPC ͸
ϯɾϨδελɾϑΝΠϧॻࠐΈͷͨΊͷಡग़͕͠ൺֱతଟ
2%͔͠௿Լͤͣɼ΄ͱΜͲӨ‫ڹ‬Λ༩͑ͳ͍͜ͱ͕෼͔ͬͨɽ
͍ͨΊͱߟ͑ΒΕΔɽ
ϥΠτɾεΧογϡɾόοϑΝͰੑೳʹӨ‫ڹ‬Λ༩͑Δཁ
ૉͱͯ͠ߟྀ͞ΕΔͷ͸ɼҎԼͷ 2 ఺Ͱ͋Δɽ
Ϧʔυɾϙʔτ਺ ෆ଍͢ΔͱϝΠϯɾϨδελɾϑΝΠ
ϧͱϑΥϫʔσΟϯά͕িಥͯ͠ετʔϧΛൃੜ
4.2.2 ϥΠτ‫ى‬Ҽετʔϧ
ϥΠτɾεΧογϡɾόοϑΝͷۭ͖਺͕Ө‫͢ڹ‬Δͱߟ
͑ΒΕΔɼϥΠτ‫ى‬Ҽετʔϧʹ͍ͭͯɼਤ 5 ʹ݁ՌΛ
ࣔ͢ɽ
ϥΠτɾεΧογϡɾόοϑΝͷۭ͖਺ ෆ଍͢ΔͱҰ࣌
ਤ 5 ͷԣ࣠͸ϥΠτɾεΧογϡɾόοϑΝͷ௕͞ɼॎ
తͳϥΠτ਺ͷϐʔΫͰϥΠτɾεΧογϡɾόοϑΝ
࣠͸ɼετʔϧ͕ൃੜͨ͠ճ਺Λɼ࣮ߦαΠΫϧ਺Λ෼฼
ⓒ 2013 Information Processing Society of Japan
6
Vol.2013-ARC-206 No.3
2013/7/31
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
Ϯй
WŽƌƚсϭ
WŽƌƚсϮ
WŽƌƚсϰ
ϵϴй ϵϴй ϵϴй ϭϬϬй ϭϬϬй ϭϬϬй ϭϬϬй ϭϬϬй ϭϬϬй
ϴϬй
┦ᑐ
┦ᑐ/W
&ŽƌǁĂƌĚŝŶŐ㉳ᅉ
㉳ᅉ^ƚĂůů⋡
⋡;йͿ
㉳ᅉ
ϭϬϬй
ϭй
ϲϬй
ϰϬй
ϮϬй
Ϭй
ϭ
Ϭй
ϴ
ਤ 4
ϭϲ
Ϯϰ
ϯϮ
t^㛗
㛗
ϰϴ
ϲϰ
ϰ
ϭ
Ϯ
ϰ
ϭ
Ϯ
ϰ
WŽƌƚсϭ
WŽƌƚсϮ
WŽƌƚсϰ
✵䛝䜶䞁䝖䝸ᩘͬୗ
䝸䞊䝗䝫䞊䝖ᩘ
ୖ͗t^✵䛝䜶䞁䝖䝸ᩘ
✵䛝䜶䞁䝖䝸ᩘ ୗ͗t^䝸䞊䝗䝫䞊䝖ᩘ
ϵϲ
ਤ 6
ϑΥϫʔσΟϯάʹΑΔετʔϧൃੜ཰
Ϯ
Ϧʔυɾϙʔτ਺ɼϥΠτɾεΧογϡɾόοϑΝͷۭ͖Λม
͑ͨ৔߹ͷ IPC ͷมԽ
tƌŝƚĞ㉳ᅉ
㉳ᅉ^ƚĂůů⋡
⋡;йͿ
㉳ᅉ
ϭ͘ͲϬϯ
ϑΝͰ΋ɼϥΠτൃੜ཰͸ 18%·ͰԼ͕ΓɼϥΠτిྗ͸
ϭ͘ͲϬϰ
21%ʹ࡟‫͞ݮ‬ΕΔ͜ͱ͕෼͔ͬͨɽ
^ƉĂĐĞсϭ
^ƉĂĐĞсϮ
^ƉĂĐĞсϰ
ϭ͘ͲϬϱ
ଓ͘ 4.3.1 Ͱ͸ϥΠτɾεΧογϡɾόοϑΝʹΑΔϥ
Πτͷ࡟‫ޮݮ‬ՌΛࣔ͠ɼ4.3.2 Ͱ͸ɼͦͷ݁Ռ͔ΒϥΠτɾ
ϭ͘ͲϬϲ
εΧογϡɾόοϑΝͷϥΠτిྗ࡟‫ޮݮ‬ՌΛ‫ੵݟ‬΋ͬͨ
աఔΛࣔ͢ɽ
ϭ͘ͲϬϳ
ͳ͓ɼલઅͷ‫ݕ‬౼ͷ݁ՌɼϥΠτɾεΧογϡɾόοϑΝ
ϭ͘ͲϬϴ
ϴ
ϭϲ
Ϯϰ
ϯϮ
t^㛗
㛗
ϰϴ
ਤ 5
ϥΠτʹΑΔετʔϧൃੜ཰
ϲϰ
ϵϲ
ʹऔͬͨൺ཰Ͱ͍ࣔͯ͠Δɽ
ϥΠτɾεΧογϡɾόοϑΝͷۭ͖͸ 1 Ͱ΋ 1E-3 Ҏ
Լͱे෼ʹετʔϧ཰͸௿͘ɼϥΠτɾεΧογϡɾόο
ͷϦʔυɾϙʔτ਺: 1,2,4ɼϥΠτɾεΧογϡɾόοϑΝ
ͷۭ͖: 1,2,4 ͷൣғͰɼੑೳʹେ͖ͳӨ‫ڹ‬͸‫ݟ‬ΒΕͳ͍ͱ
൑அͰ͖ͨͨΊɼຊઅͰ͸ɼશͯɼ໘ੵ͕࠷খͱͳΔϦʔ
υɾϙʔτ਺: 1ɼϥΠτɾεΧογϡɾόοϑΝͷۭ͖਺:
1 ͷ݁ՌΛ͍ࣔͯ͠Δɽ
4.3.1 ϝΠϯɾϨδελɾϑΝΠϧ΁ͷϥΠτൃੜ཰
ਤ 7 ʹɼϥΠτɾεΧογϡɾόοϑΝ͔ΒɼϝΠϯɾ
ϑΝͷۭ͖Λ 2 ʹ૿΍͢ͱ͞Βʹετʔϧ͸‫ݮ‬গ͢Δɽ
ϨδελɾϑΝΠϧ΁ͷϥΠτͷൃੜ཰Λࣔ͢ɽਤ 7 ͷԣ
4.2.3 IPC
࣠͸ɼϥΠτɾεΧογϡɾόοϑΝͷ௕͞ɼॎ࣠͸ɼϥΠ
4.2.1 ‫ ͼٴ‬4.2.2 Ͱߟ࡯ͨ͜͠ΕΒͷετʔϧ͸ɼ࠷ऴత
τɾεΧογϡɾόοϑΝ΁ͷॻࠐΈ਺Λ෼฼ͱͨ͠ɼϝ
ʹ IPC ͷ௿Լͱ͍͏‫Ͱܗ‬ϓϩηοαͷੑೳΛ௿Լͤ͞Δ
ΠϯɾϨδελɾϑΝΠϧ΁ͷॻࠐΈ਺Λ͍ࣔͯ͠Δɽϥ
ͱߟ͑ΒΕΔɽ
Πτ͕Ұ੾ϥΠτɾεΧογϡɾόοϑΝͰ௵͞Εͣʹશ
ਤ 6 ʹɼϥΠτɾεΧογϡɾόοϑΝͷϦʔυɾϙʔ
ͯϝΠϯɾϨδελɾϑΝΠϧʹॻ͖ࠐ·Εͨ৔߹ʹɼϥ
τ਺ͱϥΠτɾεΧογϡɾόοϑΝͷۭ͖਺Λม͑ͨ৔
Πτͷൃੜ཰͸ 100%ͱͳΓɼখ͍͞΄Ͳྑ͍݁ՌͰ͋Δɽ
߹ͷ IPC ΁ͷӨ‫ڹ‬Λࣔ͢ɽਤ 6 ͷԣ࣠͸ɼͦΕͧΕ 3 ௨Γ
ਤ 7 ͔ΒɼϥΠτɾεΧογϡɾόοϑΝ௕͕௕͘ͳΔ
Ͱ͋ΔϦʔυɾϙʔτ਺ͱϥΠτɾεΧογϡɾόοϑΝ
΄ͲɼϥΠτൃੜ཰͸Լ͕Δ͜ͱ͕Θ͔Δɽ͜Ε͸ɼϥΠ
਺ͷ૊߹ͤ 9 ௨ΓͰ͋Γɼॎ࣠͸Ϧʔυɾϙʔτ਺:4, ϥΠ
τɾεΧογϡɾόοϑΝ଺ࡏதʹ্ॻ͖͕ൃੜ͢Δ֬཰
τɾεΧογϡɾόοϑΝͷۭ͖:4 ͷ࠷΋ετʔϧ͕গͳ
͕ߴ·ΔͨΊͰ͋Δͱߟ͑ΒΕΔɽ͔͠͠ɼൺֱతখ༰ྔ
͍৚݅Λ 100%ͱͨ͠૬ର IPC Ͱ͋Δɽ
ͷ௕͞ 16 ͷϥΠτɾεΧογϡɾόοϑΝͰ΋ɼϥΠτൃ
ਤ 6 ͔Β͸ɼ࠷େͰ΋ IPC ͸ 2%͔͠௿ԼͤͣɼϥΠτɾ
εΧογϡɾόοϑΝͷϦʔυɾϙʔτ਺: 1,2,4ɼϥΠτɾ
εΧογϡɾόοϑΝͷۭ͖: 1,2,4 ͷൣғͰ͸େ͖ͳӨ‫ڹ‬
͸‫ݟ‬ΒΕͳ͍ͱ‫͑ݴ‬Δɽ
ੜ཰͸ 18%·ͰԼ͕͍ͬͯΔɽ
4.3.2 ϥΠτిྗ
͜ͷ݁ՌΛॻࠐΈిྗʹ‫݁ͨ͠ࢉ׵‬ՌΛਤ 8 ʹࣔ͢ɽ
ਤ 8 ͷԣ࣠͸ɼϥΠτɾεΧογϡɾόοϑΝͷ௕͞ɼ
ॎ࣠͸ϥΠτɾεΧογϡɾόοϑΝಋೖલͷϝΠϯɾϨ
4.3 ϥΠτిྗ
δελɾϑΝΠϧ΁ͷॻࠐΈిྗΛ 100%ͱͨ͠ɼϝΠϯɾ
͜ͷઅͰ͸ɼϥΠτిྗʹ͍ͭͯ·ͱΊΔɽ‫ޙ‬ड़ͷ݁Ռ
ϨδελɾϑΝΠϧͱϥΠτɾεΧογϡɾόοϑΝͷॻ
͔Βɼൺֱతখ༰ྔͷ௕͞ 16 ͷϥΠτɾεΧογϡɾόο
ࠐΈిྗͷ߹‫ྗిܭ‬Λද͍ͯ͠Δɽਤ 8 ͔Βɼ௕͞ 16 ͷ
ⓒ 2013 Information Processing Society of Japan
7
Vol.2013-ARC-206 No.3
2013/7/31
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
ϭϬϬй
ϵϬй
ϴϬй
ϳϬй
ϲϬй
ϱϬй
ϰϬй
ϯϬй
ϮϬй
ϭϬй
Ϭй
ϯϬй
Ϯϱй
DZ&᭩㎸䜏
᭩㎸䜏
᭩㎸䜏⋡
⋡
DZ&᭩㎸䜏
᭩㎸䜏
᭩㎸䜏⋡
⋡
ϮϬй
ϭϬй
ϱй
Ϭй
džĂůĂŶĐďŵŬ
ĂƐƚĂƌ
ŽŵŶĞƚ
ŚϮϲϰ
ůŝďƋƵĂŶƚƵŵ
ƐũĞŶŐ
ϵϲ
ŚŵŵĞƌ
ϲϰ
ŐŽďŵŬ
ϰϴ
ŵĐĨ
ϯϮ
t^㛗
㛗
ŐĐĐ
Ϯϰ
ďnjŝƉϮ
ϭϲ
ƉĞƌůďĞŶĐŚ
ϴ
ਤ 7
ϭϱй
ϥΠτɾεΧογϡɾόοϑΝ͔ΒϝΠϯɾϨδελɾϑΝΠ
ਤ 9
ϧ΁ͷϥΠτൃੜ཰
ϱϬй
ϰϱй
ϰϬй
ϯϱй
ϯϬй
Ϯϱй
ϮϬй
ϭϱй
ϭϬй
ϱй
Ϭй
ϓϩάϥϜʹΑΔϥΠτൃੜ཰ͷҧ͍
5. ͓ΘΓʹ
᭩㎸䜏㟁ຊẚ
t^᭩㎸䜏㟁ຊ
ຊߘͰ͸ɼϨδελɾΩϟογϡɾγεςϜʹ͓͍ͯɼ
DZ&᭩㎸䜏㟁ຊ
ϥΠτσʔλΛϥΠτɾεΧογϡɾόοϑΝʹҰ୴ஔ͖ɼ
ϥΠτɾεΧογϡɾόοϑΝ଺ࡏதʹൃੜ͢Δ࿦ཧϨδ
ελ΁ͷΦʔόʔϥΠτΛར༻ͯ͠ɼϝΠϯɾϨδελɾ
ϑΝΠϧ΁ͷॻࠐΈΛ࡟‫͢ݮ‬Δํ๏ΛఏҊͨ͠ɽγϛϡ
Ϩʔγϣϯͷ݁ՌʹΑΕ͹ɼ෺ཧϨδελ਺ 128 ʹରͯ͠ɼ
ϦϯάɾόοϑΝߏ੒ͷ௕͞ 16 ͷϥΠτɾεΧογϡɾ
ϴ
ϭϲ
Ϯϰ
ϯϮ
t^㛗
㛗
ϰϴ
ϲϰ
ϵϲ
όοϑΝͰ΋ॻࠐΈΛ 18%ͱɼޮՌతʹ࡟‫͢ݮ‬Δ͜ͱ͕Մ
ೳͰ͋ͬͨɽ͜ͷ৔߹ͷϥΠτిྗ͸ɼϝΠϯɾϨδελɾ
ਤ 8
ϥΠτɾεΧογϡɾόοϑΝͷಋೖʹΑΔϥΠτిྗͷมԽ
ϥΠτɾεΧογϡɾόοϑΝͰɼϥΠτɾεΧογϡɾ
όοϑΝಋೖલͷ 21%ʹ࡟‫͖Ͱݮ‬Δ͜ͱ͕ಡΈऔΕΔɽ
ਤ 8 ͸ɼҎԼʹࣔ͢‫ࢉͰࣜࢉܭ‬ग़ͨ͠ɽ
ϑΝΠϧͱϥΠτɾεΧογϡɾόοϑΝΛ߹Θͤͯ΋ɼ
ैདྷͷ 21%ʹ࡟‫͖Ͱݮ‬Δ͜ͱ͕෼͔ͬͨɽ
ࠓ‫ޙ‬ͷ՝୊Λ 4 ఺ड़΂Δɽ
ୈҰʹɼϥΠτɾεΧογϡɾόοϑΝΛγϑτɾϨδ
ελߏ੒ͱ͢Δ͜ͱͷ‫ݕ‬౼͕‫͛ڍ‬ΒΕΔɽϥΠτɾεΧο
MRF ిྗൺ = ϥΠτൃੜ཰
2
WSB ిྗൺ = ΤϯτϦ਺ൺ · ϙʔτ਺ൺ
͜ͷ‫Ͱࢉܭ‬͸ɼϝΠϯɾϨδελɾϑΝΠϧͷϥΠτɾ
γϡɾόοϑΝ͕උ͑Δ΂͖ΞΫηεࣗ༝౓͸ɼग़ೖΓ‫ޱ‬
Λ 1 ۭ͖ͭͣͭ࣋ͪΛ‫͍ͳ͞ڐ‬७ਮͳγϑτɾϨδελ͸
੍໿͕‫͗͢ڧ‬ɼϥϯμϜΞΫηεՄೳͳ SRAM Ͱߏ੒͞
ϙʔτ͸ϕʔεɾγεςϜͷ 2 ͔Β‫ݮ‬গͤͣɼ1 ϥΠτ͋
ΕͨϦϯάɾόοϑΝͷࣗ༝౓͸ඞཁҎ্ͱߟ͑ΒΕΔɽ
ͨΓΤωϧΪʔ͸‫ݮ‬গ͠ͳ͍લఏͱ͍ͯ͠Δ͕ɼԾʹɼϥ
ैͬͯɼద੾ͳ੍໿Λ՝͢͜ͱͰɼճ࿏ߏ੒Λ؆ૉԽ͢Δ
Πτͷ࡟‫ʹݮ‬൐͍ɼϝΠϯɾϨδελɾϑΝΠϧͷϥΠτɾ
͜ͱ͕Ͱ͖Ε͹ɼϥΠτిྗͷ͞ΒͳΔ࡟‫͕ݮ‬Մೳ͕‫ظ‬଴
ϙʔτΛ‫ݮ‬গͤ͞Δ͜ͱ͕ग़དྷΕ͹ɼϝΠϯɾϨδελɾ
Ͱ͖Δɽ
ϑΝΠϧ෼ͷిྗ͸͞Βʹ࡟‫͢ݮ‬Δ͜ͱ͕Ͱ͖Δɽ
ୈೋʹɼ෺ཧϨδελ਺ͷଟ͍ϚϧνεϨουɾϓϩ
ηοα΁ͷରԠ͕‫͛ڍ‬ΒΕΔɽϚϧνεϨουɾϓϩηο
4.4 ϕϯνϚʔΫɾϓϩάϥϜʹΑΔϥΠτൃੜ཰ͷҧ͍
αͰ͸ɼεϨου਺෼ʹରԠͯ͠αΠζͷେ͖͍෺ཧϨδ
࠷‫ʹޙ‬ɼϓϩάϥϜʹΑΔϥΠτൃੜ཰ͷҧ͍Λɼਤ 9
ελɾϑΝΠϧΛ࣋ͭɽ͜ͷͨΊɼϝΠϯɾϨδελɾϑΝ
ʹࣔ͢ɽ͍ͣΕ΋ɼϥΠτɾεΧογϡɾόοϑΝͷ௕
Πϧ΁ͷॻࠐΈిྗ͕େ͖͘ɼϥΠτɾεΧογϡɾόο
͞:16ɼ໘ੵ͕࠷খͱͳΔϦʔυɾϙʔτ਺: 1ɼϥΠτɾ
ϑΝͰΑΓେ͖ͳޮՌ͕ಘΒΕΔ͜ͱ͕‫ظ‬଴͞ΕΔɽ
εΧογϡɾόοϑΝͷۭ͖਺: 1 ͷ݁ՌͰ͋Δɽϓϩά
ϥϜຖʹϝΠϯɾϨδελɾϑΝΠϧॻࠐΈ཰͸ҟͳΓɼ
libquantum Ͱ͸ϝΠϯɾϨδελɾϑΝΠϧ΁ͷॻࠐΈ͸
΄ͱΜͲൃੜͤͣɼhmmer Ͱ͸ൺֱతॻࠐΈൃੜ཰͕ߴ
͍ɽϓϩάϥϜʹΑΔࠩҟ͸ɼࠓ‫ޙ‬ͷ‫ݕ‬౼՝୊Ͱ͋Δɽ
ⓒ 2013 Information Processing Society of Japan
ୈࡾʹɼϓϩάϥϜʹΑΔϝΠϯɾϨδελɾϑΝΠϧ
ॻࠐΈ཰ͷࠩʹ͍ͭͯ΋ௐ͕ࠪඞཁͰ͋Δɽ
࠷‫ʹޙ‬ɼϝΠϯɾϨδελɾϑΝΠϧͷϥΠτɾϙʔτ
਺Λߋʹ࡟‫͖Ͱݮ‬Δ͔ͷ‫ݕ‬౼͕ඞཁͰ͋Δɽ
ँࣙ ຊ࿦จͷ‫ڀݚ‬͸Ұ෦ɼจ෦ՊֶলՊֶ‫ڀݚ‬අิॿ
8
৘ใॲཧֶձ‫ڀݚ‬ใࠂ
IPSJ SIG Technical Report
Vol.2013-ARC-206 No.3
2013/7/31
ۚ No. 23300013 ʹΑΔɽ
ࢀߟจ‫ݙ‬
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
Shioya, R., Horio, K., Goshima, M. and Sakai, S.: Register Cache System Not for Latency Reduction Purpose,
2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pp. 301 –312 (online), DOI: 10.1109/MICRO.2010.43 (2010).
ɹ੢઒୎ɼ૔ా੒‫ݾ‬ɼԘ୩྄ଠɼ‫ޒ‬ౡਖ਼༟ɼࡔҪमҰɿϨ
δελɾΩϟογϡͷϚϧνεϨουɾϓϩηοα΁ͷ
ద༻ɼ৘ใॲཧֶձୈ 75 ճ શࠃେձ (2013).
ɹ੢઒୎ɼ૔ా੒‫ݾ‬ɼԘ୩྄ଠɼ‫ޒ‬ౡਖ਼༟ɼࡔҪमҰɿ
ϚϧνεϨουɾϓϩηοαʹ͓͚ΔϨδελɾΩϟο
γϡɾγεςϜͷධՁɼ৘ใॲཧֶձ‫ڀݚ‬ใࠂ (ൃද༧ఆ)
(2013).
Yuffe, M., Knoll, E., Mehalel, M., Shor, J. and
Kurts, T.: A fully integrated multi-CPU, GPU and
memory controller 32nm processor, 2011 IEEE International Solid-State Circuits Conference(ISSCC). Digest of Technical Papers, pp. 264 –266 (online), DOI:
10.1109/ISSCC.2011.5746311 (2011).
Agarwal, A., Hsu, S., Mathew, S., Anders, M., Kaul,
H., Sheikh, F. and Krishnamurthy, R.: A 32nm 8.3GHz
64-entry x 32b variation tolerant near-threshold voltage register file, 2010 IEEE Symposium on VLSI Circuits (VLSIC), pp. 105 –106 (online), DOI: 10.1109/VLSIC.2010.5560334 (2010).
Zhang, K., Bhattacharya, U., Chen, Z., Hamzaoglu,
F., Murray, D., Vallepalli, N., Wang, Y., Zheng,
B. and Bohr, M.: A 3-GHz 70MB SRAM in 65nm
CMOS technology with integrated column-based dynamic power supply, 2005 IEEE International SolidState Circuits Conference(ISSCC). Digest of Technical Papers., pp. 474 –611 Vol. 1 (online), DOI:
10.1109/ISSCC.2005.1494075 (2005).
Yamaoka, M., Maeda, N., Shinozaki, Y., Shimazaki,
Y., Nii, K., Shimada, S., Yanagisawa, K. and Kawahara, T.: Low-power embedded SRAM modules with
expanded margins for writing, 2005 IEEE International Solid-State Circuits Conference(ISSCC). Digest
of Technical Papers., pp. 480–611 Vol. 1 (online), DOI:
10.1109/ISSCC.2005.1494078 (2005).
Yeager, K.: The Mips R10000 superscalar microprocessor, Micro, IEEE, Vol. 16, No. 2, pp. 28–41 (online),
DOI: 10.1109/40.491460 (1996).
Farrell, J. and Fischer, T. C.: Issue logic for a 600-MHz
out-of-order execution microprocessor, Solid-State Circuits, IEEE Journal of, Vol. 33, No. 5, pp. 707–712 (online), DOI: 10.1109/4.668985 (1998).
Hyodo, K. and Iwamoto, K.: Energy-efficient preexecution techniques in two-step physical register deallocation, IEICE transactions on information and systems, Vol. 92, No. 11, pp. 2186–2195 (2009).
Ԙ୩྄ଠɼ‫ޒ‬ౡਖ਼༟ɼࡔҪमҰɿϓϩηοαɾγϛϡϨʔ
λ ʮَ࢐್ʯͷઃ‫૷࣮ͱܭ‬ɼઌਐత‫جࢉܭ‬൫γεςϜγ
ϯϙδ΢Ϝ SACSISɼpp. 120–121 (2009).
ⓒ 2013 Information Processing Society of Japan
9
Fly UP