版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗3SimpleScalar與程序優(yōu)化201208010218路志桐計科二班簡介:SimpleScalar是上世紀由威斯康辛大學(xué)發(fā)布的一款開源模擬器,具備良好的可移植性和可擴展性。作為一款時鐘精確的模擬器,SimpleScalar采用執(zhí)行驅(qū)動方式模擬,包含功能模擬和性能模擬。SimpleScalar的指令集架構(gòu)采用C語言宏聲明,目前3.0版本主要支持PISA指令集和Alpha指令集。根據(jù)模擬的目的不同,SimpleScalar包含多個模擬器實體,從最簡單的Sim-fast到最為復(fù)雜的Sim-outorder,可分別用于功能模擬、Cache配置策略、流水線、前瞻預(yù)測等體系結(jié)構(gòu)問題的全面研究。安裝:1、首先從官網(wǎng)上下載相關(guān)的文件:Simpletools-2v0.tgz;Simplesim-3v0e.tar.gz;Simpleutils-990811.tar.gz;Gcc-2.7.2.3.ss_.tar.gz;2、然后安裝flex,build-essential$sudoapt-getinstallflex;$sudoapt-getinstallbuild-essential;本來還需要bison的,不過之前安裝過了,略過。另外除此之外我們還需要配置一下環(huán)境變量安裝目錄:$exportIDIR=/home/my/simplescalar設(shè)置主機:$exportHOST=i686-pc-linux設(shè)置目的機器成小字段機器:$exportTARGET=sslittle-na-sstrix3、設(shè)置完環(huán)境之后我們便可以安裝simpletools了進入到目的地址后,我們用tarxzvf命令將之前下載下來的simpletools解壓;由于simplescalar需要Gcc2.7以上版本支持,所以我們需要通過rm命令移除原先電腦自帶的Gcc。$cd$IDIR$tarxzvfsimpletools-2v0.tgz
$rm-rfgcc-2.6.34、其次是simpleutils$tarxzvfsimpleutils-990811.tar.gz$cdsimpleutils-990811然后編譯前要打開simpleutils-990811/ld下的文件ldlex.l并且將里面全部的 yy_current_buffer替換成大寫,否則代碼將會報錯。然后就可以進行編譯$./configure-host=$HOST-target=$TARGET-with-gnu-as-with-gnu-ld-prefix=$IDIR$make$makeinstall5、接下來安裝simplesim3.0$cd$IDIR$tarxzvfsimplesim-3v0e.tgz$cdsimplesim-3.0$makeconfig-alpha$make6、最后安裝gcc2.7編譯器套件$cd$IDIR$tarxzvfgcc-2.7.2.3.ss.tar.gz$cdgcc-2.7.2.3$exportPATH=$PATH:/home/YOUR_USER_NAME/simplescalar/sslittle-na-sstrix/bin$./configure-host=$HOST-target=$TARGET-with-gnu-as-with-gnu-ld-prefix=$IDIR這里面有好幾處代碼需要修改,我們一一修改了相應(yīng)的代碼!修改代碼:./MakefileLine130:增加-I/usr/include或-I./include——>-I/usr/include!修改代碼:./protoize.c$sudochmod+wprotoize.c!修改權(quán)限#include<varargs.h>–>#include<stdarg.h>!修改代碼:./obstack.h$sudochmod+wobstack.h!修改權(quán)限*((void**)__o->next_free)++=((void*)datum);—–>*((void**)__o->next_free++)=((void*)datum);!復(fù)制補丁文件$cp./patched/sys/cdefs.h../sslittle-na-sstrix/include/sys/cdefs.h$cp../sslittle-na-sstrix/lib/libc.a../lib/$cp../sslittle-na-sstrix/lib/crt0.o../lib/!解壓ar-ranlib.tar.gz到$IDIR/sslittle-na-sstrix/bin!修改ar及ranlib的權(quán)限$sudochmod+warranlib$sudochmod+xarranlib$cd$IDIR/gcc-2.7.2.3$make!修改代碼:./insn-output.cLine675/750/823:末尾增加“\”#defineDECLARE_FAULT(FAULT)
\
{fault=(FAULT);break;}#include"machine.def"
default:
panic("attemptedtoexecuteabogusopcode");}
if(fault!=md_fault_none)fatal("fault(%d)detected@0x%08p",fault,regs.regs_PC);
if(MD_OP_FLAGS(op)&F_MEM){
sim_num_refs++;
if(MD_OP_FLAGS(op)&F_STORE)
is_write=TRUE;
}
if(MD_OP_FLAGS(op)&F_CTRL)
{
md_addr_tpred_PC;
structbpred_update_tupdate_rec;
sim_num_branches++;
if(pred)//如果分支預(yù)測器創(chuàng)建成功
{
/*獲取預(yù)測的下條指令的地址*/
pred_PC=bpred_lookup(pred,
/*分支地址*/regs.regs_PC,
/*目的地址*/target_PC,
/*指令操作碼*/op,
/*call?*/MD_IS_CALL(op),
/*return?*/MD_IS_RETURN(op),
/*stashanupdateptr*/&update_rec,
/*stashreturnstackptr*/&stack_idx);
/*判斷從分支預(yù)測器返回的下條指令地址是否合法*/
if(!pred_PC)//不合法,(當(dāng)返回0時,表示采用分支不轉(zhuǎn)移預(yù)測)
{
/*分支不轉(zhuǎn)移,pc直接加一*/
pred_PC=regs.regs_PC+sizeof(md_inst_t);
}
/*根據(jù)指令執(zhí)行的實際結(jié)果,來更新分支預(yù)測器*/
bpred_update(pred,
/*分支地址*/regs.regs_PC,
/*resolvedbranchtarget*/regs.regs_NPC,
/*分支是否轉(zhuǎn)移*/regs.regs_NPC!=(regs.regs_PC+
sizeof(md_inst_t)),
/*predtaken?*/pred_PC!=(regs.regs_PC+
sizeof(md_inst_t)),
/*correctpred?*/pred_PC==regs.regs_NPC,
/*opcode*/op,
/*predictorupdatepointer*/&update_rec);
}
}
/*checkforDLitedebuggerentrycondition*/
if(dlite_check_break(regs.regs_NPC,
is_write?ACCESS_WRITE:ACCESS_READ,
addr,sim_num_insn,sim_num_insn))
dlite_main(regs.regs_PC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年重慶大足區(qū)招聘專職網(wǎng)格員考試試題及答案
- 2023年河北邢臺高新區(qū)(邢東新區(qū))事業(yè)單位招聘工作人員考試試題及答案
- 2023年國家衛(wèi)生健康委項目資金監(jiān)管服務(wù)中心招聘筆試真題
- 湖北省襄陽市四校2025屆高考物理五模試卷含解析
- 虎門外國語學(xué)校2025屆高考物理全真模擬密押卷含解析
- 2025屆黑龍江省綏化市青岡縣縣第一中學(xué)高考考前模擬物理試題含解析
- 四川省仁壽縣2025屆高考物理二模試卷含解析
- 2022年護理三基知識考試題庫(全真題庫)
- 讀《哈姆雷特》所感
- 江西省上饒市2023-2024學(xué)年高二上學(xué)期語文期中考試試卷(含答案)
- 【浙江湖州移動公司行政管理調(diào)查報告3100字】
- 初級工電纜練習(xí)測試卷
- 蘇武牧羊的課件
- 主井壁后注漿及壁間注漿措施
- 下白雨合唱簡譜
- 父親-樹林和鳥(薛法根)
- 俄烏沖突對中國能源安全與高質(zhì)量發(fā)展影響
- 2臨床流行病學(xué)的選題和設(shè)計
- 部編二年級語文上冊 培優(yōu)輔差測試記錄表
- 護理學(xué)導(dǎo)論(高職)全套教學(xué)課件
- 破壞臭氧層物質(zhì)(ODS)管理控制程序
評論
0/150
提交評論