资源描述:
《dems编译器的设计与实现软件工程专业毕业论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、AbstractDesignofprocessorhasenteredmulti-coreera.InordertomaximizetheILP,InstructionLevelParallellsim,ofmulti-coreprocessors,currentmulti-coreusedblocksofinstructionasunitsofexecution.Instructionswithinblocksareorganizedbydataflow・Andblocksfollowthecontrolflow・Thesefunctionsa
2、remostlyimplementedbyadedicatedcompiler.Theaboveproblemsaretheprimaryfocusesofcurrentscientifichigh-performancemulti-coredesign.DEMScompilercansatisfytheabovefunctions,andtheprimaryfeatureofthecompileristhatitcansupportexistingprogrammingmodel,sothereisnoneedtodesigndata-flow
3、programminglanguagetodesignmulti-coreprograms・Startingwiththebusinessneedsoftargetmult-core,thisthesispresentsthedemandanalysisandtheoveralldesignmethodologyofDEMScompiler,andthedesignschemeisdiscussedalternatively.WehasdividedtheDEMScompilerintofunctionmodules,andfinallycomp
4、letedthedesignandimplementationofDEMScompilermodules.Usingthepipe-filterdesignstyleandconnectingfilterswiththeuniformpipes,wegainthefeaturessuchasmodularization,parameterconfiguration,uniforminterface,statistics,andsoon.Complerfirstdividesfunctionsintosetofbasicblocks,namelys
5、licebythisthesis.InordertoadaptingtheDEMScompiler,wedesigninstructionsetoftheDEMS,whichisbasedonALPHAinstructionset.Suchinstructionsasslicemanagementinstruction,dataflow-branchjumpinginstruction,indirect-callinstruction,andmemory-accessinstructionarcextended・Slicemanaginginst
6、ructionensuresthatslicesexecuteatomicallybymanagingslicedata,sliceinput/outputinformation,etc.Dataflow-branchjumpinginstructionensuresbrancheswithinslicearecorrectelyorganizedasdataflow.Indirect-callinstructionandmemory-accessinstructionarecompatiblewiththetraditionalmechanis
7、moffunction-callandmemory-access,sothetraditionalprogrammingmodelissupported.SPEC2000benchmarkisusedtotestthecorrectnessofthecompile匚SimpleScalarsimulatorisusedastargetmachine,bycomparingtheexecutionresultsofbcnchamarkprograminDEMSsimulatorandthatinSimpleScalarsimulatorfuncti
8、onbyfunction,thecorrectnessofthecompilerisverified.Expriementresults