版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
實驗3SimpleScalar與程序優(yōu)化201208010218路志桐計科二班簡介:SimpleScalar是上世紀由威斯康辛大學發(fā)布的一款開源模擬器,具備良好的可移植性和可擴展性。作為一款時鐘精確的模擬器,SimpleScalar采用執(zhí)行驅(qū)動方式模擬,包含功能模擬和性能模擬。SimpleScalar的指令集架構采用C語言宏聲明,目前3.0版本主要支持PISA指令集和Alpha指令集。根據(jù)模擬的目的不同,SimpleScalar包含多個模擬器實體,從最簡單的Sim-fast到最為復雜的Sim-outorder,可分別用于功能模擬、Cache配置策略、流水線、前瞻預測等體系結構問題的全面研究。安裝:1、首先從官網(wǎng)上下載相關的文件: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設置主機:$exportHOST=i686-pc-linux設置目的機器成小字段機器:$exportTARGET=sslittle-na-sstrix3、設置完環(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這里面有好幾處代碼需要修改,我們一一修改了相應的代碼!修改代碼:./MakefileLine130:增加-I/usr/include或-I./include——>-I/usr/include!修改代碼:./protoize.c$sudochmod+wprotoize.c!修改權限#include<varargs.h>–>#include<stdarg.h>!修改代碼:./obstack.h$sudochmod+wobstack.h!修改權限*((void**)__o->next_free)++=((void*)datum);—–>*((void**)__o->next_free++)=((void*)datum);!復制補丁文件$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的權限$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)//如果分支預測器創(chuàng)建成功
{
/*獲取預測的下條指令的地址*/
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);
/*判斷從分支預測器返回的下條指令地址是否合法*/
if(!pred_PC)//不合法,(當返回0時,表示采用分支不轉移預測)
{
/*分支不轉移,pc直接加一*/
pred_PC=regs.regs_PC+sizeof(md_inst_t);
}
/*根據(jù)指令執(zhí)行的實際結果,來更新分支預測器*/
bpred_update(pred,
/*分支地址*/regs.regs_PC,
/*resolvedbranchtarget*/regs.regs_NPC,
/*分支是否轉移*/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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度快遞收派服務信息化建設合同4篇
- 2025年度個人借款三方擔保服務合同規(guī)范3篇
- 2025年度個人教育培訓合同模板7篇
- 二零二五年度民間擔保業(yè)務擔保期限合同4篇
- 二零二五年度美縫劑研發(fā)與應用合作協(xié)議4篇
- 數(shù)據(jù)治理平臺建設與應用技術方案
- 2025年度個人貸款合同利息計算合同模板4篇
- 二零二五年度虛擬現(xiàn)實游戲用戶免責條款合同范本4篇
- 班級成長報告模板
- 2025年度個人房產(chǎn)買賣合同書(精裝修)4篇
- 計劃合同部部長述職報告范文
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓專題培訓課件
- 二手車車主寄售協(xié)議書范文范本
- 窗簾采購投標方案(技術方案)
- 基于學習任務群的小學語文單元整體教學設計策略的探究
- 人教版高中物理必修一同步課時作業(yè)(全冊)
- 食堂油鍋起火演練方案及流程
- 《呼吸衰竭的治療》
- 2024年度醫(yī)患溝通課件
- 2024年中考政治總復習初中道德與法治知識點總結(重點標記版)
評論
0/150
提交評論