diff --git a/.doctrees/developer/arch/supported/aarch64.doctree b/.doctrees/developer/arch/supported/aarch64.doctree index 111d5ef396..4e80548e58 100644 Binary files a/.doctrees/developer/arch/supported/aarch64.doctree and b/.doctrees/developer/arch/supported/aarch64.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 1d4af35c84..b7a7bb08bd 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree index 3d4d5340c1..e0037782d0 100644 Binary files a/.doctrees/index.doctree and b/.doctrees/index.doctree differ diff --git a/_downloads/modsim23_poster.pdf b/_downloads/modsim23_poster.pdf new file mode 100644 index 0000000000..1ee43e37cd Binary files /dev/null and b/_downloads/modsim23_poster.pdf differ diff --git a/_sources/developer/arch/supported/aarch64.rst.txt b/_sources/developer/arch/supported/aarch64.rst.txt index 8b64d38306..8754f35e74 100644 --- a/_sources/developer/arch/supported/aarch64.rst.txt +++ b/_sources/developer/arch/supported/aarch64.rst.txt @@ -211,9 +211,15 @@ Loads and stores In addition to an execution behaviour, memory instructions also require a new entry in the address generation behaviour table found in ``src/lib/arch/aarch64/Instruction_address.cc``. These entries are responsible for describing the method used to generate the addresses that these instructions will read from or write to. -Address generation is expected to generate one or more instances of ``MemoryAddressTarget``, containing an address and the number of bytes to access. The same variables described above (``operands``, ``metadata``) are available to use to generate these addresses. +Address generation is expected to generate one or more instances of ``MemoryAccessTarget``, containing an address and the number of bytes to access. The same variables described above (``operands``, ``metadata``) are available to use to generate these addresses. -Once the addresses have been generated, they should be supplied in a vector to the ``setMemoryAddresses`` helper function. +Once the addresses have been generated, they should be supplied in a vector to the ``setMemoryAddresses`` helper function. + +For loads, data can be read from the ``memoryData`` vector in ``Instruction_execute.cc``, with each index holding a ``RegisterValue`` for a corresponding ``MemoryAccessTarget``. For stores, a ``RegisterValue`` must be placed in each index of the ``memoryData`` vector, again one per ``MemoryAccessTarget`` generated. + +To best match modelled hardware, contiguous Load and Store instructions use one ``MemoryAccessTarget`` per destination/source register. For NEON instructions this should always be the case, including interleaved multi-structure loads / stores. + +Concerning SVE & SME loads and stores, an effort should be made to merge contiguous active elements into as few ``MemoryAccessTarget``'s as possible by evaluating the predicate information (if applicable). Helper functions ``sve_merge_store_data`` and ``generatePredicatedContiguousAddressBlocks`` can be used to support this. Instruction aliases diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt index 263d95ed93..c697b0e95b 100644 --- a/_sources/index.rst.txt +++ b/_sources/index.rst.txt @@ -70,6 +70,7 @@ SimEng was first presented by `Professor Simon McIntosh-Smith ` - ModSim 2022 - :download:`A design space exploration for optimal vector unit composition ` - :download:`Modelling Advanced Arm-based CPUs with SimEng ` diff --git a/_static/pygments.css b/_static/pygments.css index 08bec689d3..84ab3030a9 100644 --- a/_static/pygments.css +++ b/_static/pygments.css @@ -17,6 +17,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: .highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ .highlight .gd { color: #A00000 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #E40000 } /* Generic.Error */ .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ .highlight .gi { color: #008400 } /* Generic.Inserted */ diff --git a/developer/arch/supported/aarch64.html b/developer/arch/supported/aarch64.html index 7d8a238768..c79575d5b4 100644 --- a/developer/arch/supported/aarch64.html +++ b/developer/arch/supported/aarch64.html @@ -420,8 +420,11 @@

Zero registers

Loads and stores

In addition to an execution behaviour, memory instructions also require a new entry in the address generation behaviour table found in src/lib/arch/aarch64/Instruction_address.cc. These entries are responsible for describing the method used to generate the addresses that these instructions will read from or write to.

-

Address generation is expected to generate one or more instances of MemoryAddressTarget, containing an address and the number of bytes to access. The same variables described above (operands, metadata) are available to use to generate these addresses.

+

Address generation is expected to generate one or more instances of MemoryAccessTarget, containing an address and the number of bytes to access. The same variables described above (operands, metadata) are available to use to generate these addresses.

Once the addresses have been generated, they should be supplied in a vector to the setMemoryAddresses helper function.

+

For loads, data can be read from the memoryData vector in Instruction_execute.cc, with each index holding a RegisterValue for a corresponding MemoryAccessTarget. For stores, a RegisterValue must be placed in each index of the memoryData vector, again one per MemoryAccessTarget generated.

+

To best match modelled hardware, contiguous Load and Store instructions use one MemoryAccessTarget per destination/source register. For NEON instructions this should always be the case, including interleaved multi-structure loads / stores.

+

Concerning SVE & SME loads and stores, an effort should be made to merge contiguous active elements into as few MemoryAccessTarget’s as possible by evaluating the predicate information (if applicable). Helper functions sve_merge_store_data and generatePredicatedContiguousAddressBlocks can be used to support this.

Instruction aliases

diff --git a/index.html b/index.html index e994425481..d50d08c22f 100644 --- a/index.html +++ b/index.html @@ -217,6 +217,7 @@

Talks and presentations

Additionally, other works concerning SimEng and its use can be found below:

diff --git a/searchindex.js b/searchindex.js index 99bed3a443..e5147d7bdc 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["developer/arch/abstract","developer/arch/index","developer/arch/supported/aarch64","developer/arch/supported/riscv","developer/components/branchPred","developer/components/coreinstance","developer/components/index","developer/components/pipeline/components","developer/components/pipeline/index","developer/components/pipeline/units","developer/components/registerFiles","developer/concepts/index","developer/concepts/instructions","developer/concepts/kernel","developer/concepts/memory","developer/concepts/registers","developer/concepts/syscalls","developer/developerInfo","developer/index","developer/models/index","developer/test/index","index","sst/building_simeng_with_sst","sst/index","sst/running_simeng_with_sst","sst/understanding_sst","user/building_simeng","user/configuring_simeng","user/creating_binaries","user/docker","user/index","user/running_simeng"],envversion:53,filenames:["developer/arch/abstract.rst","developer/arch/index.rst","developer/arch/supported/aarch64.rst","developer/arch/supported/riscv.rst","developer/components/branchPred.rst","developer/components/coreinstance.rst","developer/components/index.rst","developer/components/pipeline/components.rst","developer/components/pipeline/index.rst","developer/components/pipeline/units.rst","developer/components/registerFiles.rst","developer/concepts/index.rst","developer/concepts/instructions.rst","developer/concepts/kernel.rst","developer/concepts/memory.rst","developer/concepts/registers.rst","developer/concepts/syscalls.rst","developer/developerInfo.rst","developer/index.rst","developer/models/index.rst","developer/test/index.rst","index.rst","sst/building_simeng_with_sst.rst","sst/index.rst","sst/running_simeng_with_sst.rst","sst/understanding_sst.rst","user/building_simeng.rst","user/configuring_simeng.rst","user/creating_binaries.rst","user/docker.rst","user/index.rst","user/running_simeng.rst"],objects:{},objnames:{},objtypes:{},terms:{"0th":27,"0x00000000004004a8":2,"0x001":27,"0x1":27,"0x20":2,"0x46":27,"0xffffffe0":2,"100p":24,"10n":24,"16b":2,"1ghz":24,"1gib":24,"1ns":24,"200kib":24,"2ghz":24,"2gib":24,"50p":24,"5gb":26,"\u00b5op":12,"abstract":[1,2,4,14,18,20,25],"break":2,"byte":[0,2,3,9,13,14,15,24,27],"case":[2,9,17,20],"catch":2,"char":[13,24],"class":[0,1,4,5,7,9,10,13,14,15,17,20,24],"default":[1,2,5,6,7,10,15,19,22,24,25,26,27,29,31],"enum":12,"final":[5,24,26],"float":[2,10,15,27],"function":[0,3,4,5,7,8,9,12,13,14,15,17,20,24,25,27],"import":[2,7,21,22,24],"int":[2,3,22],"new":[1,2,3,6,9,10,17,21],"return":[2,4,13,14,15,16,20,24,25,27],"short":14,"static":[2,3,4,13,21,27,28],"switch":[2,3],"true":[2,27],"try":2,"while":[1,2,3,9,11,12,14,19,21,22,26],Adding:[1,24],But:2,For:[0,2,3,4,7,9,10,12,13,14,17,18,21,24,25,27,29,30,31],Its:[21,25],Not:27,One:3,Ops:[9,11,27],RAS:[4,27],Such:13,The:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,29,30,31],Their:[2,27],There:[2,9,24],These:[0,2,3,5,7,8,9,13,17,20,25,27,31],Used:27,Using:22,Will:21,With:[7,26,27],_dep:[2,3],_mul:2,_simple_arth:2,a64fx:[19,21,31],aarch64:[1,3,18,21,27,28],aarch64_ld1onev16b_post:2,aarch64geninstrinfo:2,aarch64regressiontest:20,abil:21,abl:[10,24],about:[5,13,17,21,24,25,26,27,30,31],abov:[2,3,19,20,24,25,26],academ:21,academia:21,accept:[21,24],access:[1,2,3,4,7,8,10,12,14,16,19,20,21,22,24,25,27],access_latency_cycl:24,access_tim:24,accommod:7,accompani:[2,17,21,31],accord:9,accordingli:[2,3,9,10],account:[2,3,27],accur:[21,31],accuraci:17,achiev:[1,16,20,24,25],across:[9,11,21],act:[9,25],action:25,activ:7,actual:[24,25],adapt:25,add:[2,9,13,17,24,26],added:[2,3,7,9,22,25],adding:[1,2,3,17],addit:[3,7,8,12,14,17,20,21,22,24,25,26],addition:[2,3,7,17,21],addlink:24,addparam:24,addr_range_end:24,address:[0,2,3,4,7,8,9,13,14,22,24,27],adher:[7,17,27],advanc:21,advantag:3,advertis:12,advis:9,after:[2,5,7,9,10,13,17,20,24,26],again:[2,9],against:[9,20],age:7,agnost:[1,20],aid:[10,13],aim:21,ainslei:21,algorithm:[4,9,27],alia:[2,9,10,19],alias:[3,25],align:[9,13,17],all:[0,2,3,5,7,9,10,12,13,14,15,19,20,21,22,24,25,27,29,31],alloc:[2,3,5,8,9,12],allow:[1,2,7,9,11,14,16,17,19,20,21,24,25,27],almost:[3,17],along:[2,4,12],alreadi:[2,25],also:[0,1,2,3,5,7,9,12,17,19,20,22,24,25,27,29],alter:[8,27],altern:[16,27],although:[7,27],alwai:[2,3,4,14,17,25,27],amend:17,amongst:[2,9],amount:2,analys:[7,27],andrei:21,ani:[0,2,4,7,9,10,12,13,15,17,20,24,25,26],anoth:[2,9,21,27],anywai:21,apach:21,api:[17,25],appear:2,append:[7,17,26],appli:[0,2,20],applic:[9,21],approach:19,appropri:[2,3,8,12,17,25,27],arbitrari:0,arch:[2,3],archetyp:[5,20,27],architectur:[2,3,5,7,9,10,11,12,13,15,18,20,21,27],architecturalregisterfileset:6,area:27,aren:[7,22],argument:[4,20,22,24,31],arithmet:2,arm64:2,arm:[2,21,27],armclang:[17,28],armv8:[1,11],armv9:[1,2,11,21],around:[10,13,14,15,21],arrai:[2,13,14,15,24,31],arrang:[7,9,11],ascend:7,asimd:27,asimov:21,assembl:20,assign:[2,7,9,10],associ:[2,3,4,7,9,13,17,21,24,27],assum:[12,21,24],asynchron:14,atom:[3,17,19,27],attach:25,attempt:[2,9,16,19,26],attribut:13,aug:22,autom:17,automat:[2,3,9,17,24],avail:[0,2,3,7,9,10,12,13,22,24,26,27,29],avoid:[9,17],awai:2,back:[2,27],backend:[24,25],backendconvert:25,backendconvertor:25,balanc:9,balancedportalloc:9,bandwidth:[7,27],base:[2,3,4,5,7,10,13,19,20,21,24,25,27],basic:[2,3,9,11],becaus:[2,22,25],becom:[9,10,12],been:[0,2,3,7,9,12,13,20,21,22,24,25,26,28],befor:[2,7,9,16,17,19,25,27],begin:[0,7,9,13],behaviour:[0,1,19,20,25],behind:7,being:[0,3,4,7,9,10,11,17,20,21,24,27],belong:[20,27],below:[1,2,3,10,16,17,21,24,27],benchmark:2,beta:21,better:8,between:[0,2,5,7,8,9,10,15,20,24,25,27],beyond:[7,8,10,11,18],bin:[22,31],binari:[1,13,20,21,22,24,29,30,31],bit:[2,4,13,27],bitwis:3,block:[2,9,27],bodi:[9,20],bogomip:27,bool:15,both:[2,4,7,9,10,11,13,20,24,27,31],bottom:[2,3],boundari:9,branch:[2,3,5,6,7,9,12,17,18,19],branchpredictor:[4,20],bridg:11,brief:[2,25],bristol:21,brk:13,broadcast:[7,9],broken:[12,17,29],btb:[4,27],buffer:[4,8,19,27],bug:17,build:[2,3,16,17,20,21,23,24,29,30,31],build_dir:20,build_directori:17,built:[17,26,29,31],cach:[5,7,21,27],cache_frequ:24,cache_line_s:24,cache_line_width:24,cache_s:24,cachecontrol:25,calcul:[2,7,12,27],call:[0,2,3,7,9,11,13,18,20,21,24,25,26,31],callback:25,came:31,can:[1,2,3,4,5,7,9,10,12,16,17,19,20,21,22,24,25,26,27,29,31],cannot:[2,9,25],capabl:[0,2,3,12,18,19,21],capston:[1,2,3,21],capstone_opcod:[2,3],carefulli:17,carri:[5,7,9],cast:20,categori:22,caus:[7,9,20],centr:21,certain:20,chain:9,chang:17,changetyp:0,chapter:3,charact:[2,3],check:[3,7,8,9,17,24,25],child:2,children:2,chip:[5,25],choos:[17,25],chosen:[2,3,4,9,27],circleci:17,claim:2,clang:17,clang_format:17,clash:8,claus:[2,31],clean:21,clear:[9,14],clearcompletedread:14,clock:[7,14,21,22,24,25,27],clone:26,cmake:[17,20,22,26],cmp:2,cntvct:2,cntvct_el0:27,code:[0,2,3,12,20,21,24,25,26,27,28,29],codebas:[17,24,30],coherence_protocol:24,collabor:21,column:2,com:26,combat:20,combin:[2,3,7,14],come:[7,9,25],command:[20,22,24,25,26,31],commenc:2,comment:17,commerci:21,commit:[8,9,19,27],common:[3,6,8,19,27],commonli:[16,31],commun:[24,25],compar:[2,3],comparison:[2,20],compil:[2,3,13,17,21,22,24,26,28],complet:[0,3,7,9,13,14,15,21,27],complex:[12,14,19,25,27],compon:[0,2,5,8,9,10,11,12,14,18,20,21,22],component_1:24,component_2:24,componentlibrari:24,componentnam:24,componentnan:24,composit:21,comput:[9,21],concept:18,conceptu:[10,12],concern:[6,7,11,18,20,21,27],conclud:[7,9],condit:[2,4,27],confid:7,config:[5,16,17,22,24,25,27,31],config_path:[22,24],configur:[2,5,7,9,12,13,17,18,19,21,22,23,25,26,30],conflict:7,conflictionmap_:7,conform:2,conjunct:17,connect:[2,25],consid:[7,12,21,27],consist:[8,11,15,20,24],construct:[2,5,27],constructor:[2,3,24],consum:9,contact:25,contain:[0,2,3,4,5,7,8,9,10,13,14,17,19,20,24,25,27,29,31],content:[7,13,31],context:20,continu:[0,7,9],contribut:13,control:[2,3,13,24,25],convent:[2,3],convers:[0,2,20],convert:[2,3,9,25],convertor:25,copi:[16,27],core:[0,2,6,9,10,11,14,17,18,19,20,21,22,24,26],core_id:27,core_install_directori:22,coreinst:[5,31],correct:[0,2,3,7,9,19,20,27,29],correctli:[2,20,26],correspond:[2,3,9,10,12,15,16],cost:[7,10],could:[2,27],count:[2,27],counter:[1,4,9,27],counterpart:8,coupl:3,cours:9,cover:[17,27],cpp:21,cpu:[21,24],cpu_to_cache_link:24,cpuinfo:27,cpulink:25,cpython:24,creat:[0,5,6,7,9,13,20,24,30],creation:[7,13,20],crucial:21,cs_ac_read:2,cs_ac_writ:2,current:[0,1,2,3,4,5,7,9,13,17,21,27],custom:[0,1,7,24,25],cycl:[0,2,7,9,14,19,21,27,31],dan:21,danger:3,data:[2,5,7,9,10,13,14,15,16,24],data_port:24,datatyp:15,date:[9,17,21,28],dcmake_build_typ:26,dcmake_install_prefix:26,deal:12,dealias:2,debug:[24,26],debug_level:24,decis:[2,7],declar:17,decod:[1,9,19,21,27],decodeunit:8,decrement:0,dedic:9,deem:[7,9,20],defin:[0,1,2,3,5,7,10,12,13,14,15,17,20,24,25,27,31],definit:[1,27],delai:7,delet:7,deliv:[9,17],denot:[2,9,17,20,27],depend:[5,7,9,10,12,15,19,21,26,27,29],deploi:17,deriv:[2,7,25],describ:[1,2,3,7,11,13,25,27,31],descript:[2,3,11,17,27],descriptor:[13,16],design:[7,8,11,21],desir:[3,15,17,21,25,26],despit:9,destin:[2,7,9],detail:[0,2,3,7,16,19,24,25,27],detect:[9,16,27],determin:[0,2,3,9,12,24],dev:[16,29],develop:[3,12,14,18,20,21,26,27,29,30],devic:27,diagram:[2,3],diagrammat:21,dictat:[0,27],differ:[0,2,3,7,9,11,15,20,24,25],dir:27,direct:[4,7,12,17,25,27],direct_link:[24,25],directli:[2,9,25],directori:[5,16,20,22,24,26,27],disabl:16,disassembl:[1,2,3,21],discard:[2,3,9],discov:[7,9],discret:[0,1,6,7,9,10,12,19,21,27],discuss:[17,24,25,27],dismiss:14,disp:2,dispatch:[19,27],dispatchissueunit:8,displai:[2,25],disrupt:17,distinct:[7,10],distinguish:7,divid:[2,3,13,24,25],divis:27,dllvm_dir:26,doc:17,dockerhub:29,document:[3,18,20,21,24,25,30],doe:[9,13,21,25],doesn:[2,9],don:[2,3,11,29],done:[1,17,24],down:[2,3,12,25],doxygen:17,dsimeng_enable_sst:22,dsimeng_enable_test:26,dsimeng_sanit:26,dsimeng_use_external_llvm:26,dsst_install_dir:22,due:[2,19,20,31],duplic:17,durat:9,dure:[0,2,7,9,10,14,20,22,24,25,26,27],dynam:[24,25,27],each:[0,1,2,3,4,7,9,10,12,13,14,15,17,19,20,24,25,27],earli:[7,9],earlier:[7,24],eas:[6,21],easi:21,easier:2,easili:[2,3],edit:9,effect:10,either:[5,7,9,14,17,20,21,25,27],element:[2,22,24,25],element_typ:24,elements_install_directori:24,elf:24,elfprocessimag:13,eli:22,elimin:[9,10,19,24],emerg:31,emphasi:21,empti:9,emul:[2,3,13,16,20,21,27],enabl:[0,4,5,19,21,22,24,26,27],encapsul:[2,3],encod:[2,9],encount:[0,2,9,24],encourag:[2,8],end:[9,17],endpoint:25,enforc:7,enough:[2,3,9,24],ensur:[2,3,7,9,17,19,20,22,24],enter:[7,9,27],entir:[2,9,16,25],entireti:[19,27],entiti:25,entri:[2,3,4,7,9,13,25,27],environ:[13,20,22,24],epsrc:21,equal:[7,10,27],equip:25,equival:[2,14,27],error:[2,3,7],especi:[2,26],essenti:15,establish:[24,25],etc:[2,10,15,21,25],evalu:[2,15],even:[9,27],event:[25,31],eventu:21,ever:9,everi:25,everyth:[7,14],exact:5,exampl:[0,2,3,10,20,21,24,27,31],exce:9,exceed:9,excel:21,except:[1,2,3,7,10,16,20],exceptionhandl:[0,31],exchang:24,exclud:[2,27],exclus:27,execut:[0,4,7,9,11,13,17,19,20,22,24],executable_arg:[22,24],executable_path:[22,24],executeunit:8,exempt:27,exhaust:9,exhibit:2,exist:[2,7,9,12,17,19,20,21],exit:31,expand:2,expect:[0,2,3,7,9,10,12,14,20,21],expedit:17,experienc:2,experiment:21,explain:[13,21],explicit:2,explicitli:2,explor:21,express:[2,20],extens:[3,21,27],extern:[9,14,26],extmembackend:25,extmembackendconvertor:25,extract:13,extrem:19,f30f1ef8:2,facil:8,facilit:[0,7,9,10,19],factori:25,fail:[2,22],failur:26,fallback:27,fals:[9,10,15,19,27],familiaris:2,fashion:[7,20],fast:[19,21,24],faster:[21,26],fatal:[0,2],fault:9,favour:7,featur:[1,11,17,19,27],feed:2,fetch:[4,7,19],fetchunit:8,few:[1,17,21],field:[27,31],file:[2,5,6,7,9,11,13,17,18,19,20,21,22,24,25,26,27],filedescriptort:[13,16],filesystem:16,fill:[4,9,24,27],filter:[20,25],finalis:29,find:[2,9,21,24,25,29],finish:7,finn:21,firestorm:19,first:[0,2,5,9,13,21,24],firstli:[7,26],fit:11,fix:[2,3,7,14,17,27],fixedlatencymemoryinterfacerequest:14,fixedmemoryinterfac:27,fixup:17,flag:[2,7,9,22,25,26,27],flagmembackend:25,flagmembackendconvertor:25,flat:[20,27],flatmemoryinterfac:27,flight:[7,8,10,19],floatingpoint:27,flow:[2,7,8,9,11,12],flush:[4,7,9,10,19],fmla:2,focu:14,fold:17,folder:20,follow:[0,2,3,4,5,6,7,9,11,13,14,17,18,19,20,23,24,26,27,28,30,31],form:[2,9,17,20,21,25],format:[2,3,7,13,17,21,24,27,31],former:[10,20],fortran:21,forward:[7,25],found:[1,2,3,5,7,8,9,10,16,17,19,20,21,24,25,26,27,29,31],four:9,fp_simple_arth:2,fphp:27,frame:5,framework:[1,2,3,17,20,21,26,31],free:[9,10],freed:10,freedom:21,frequenc:[2,24,27],from:[0,1,2,3,4,5,7,9,13,15,17,19,20,21,24,25,27,31],front:[0,7],frontend:27,fujitsu:21,full:[2,3,9,13,20,21,31],fulli:[0,12],fundament:[24,25],further:[0,2,17,20,25,30],furthermor:2,futur:[2,9,10,14,19,21,27],gcc:[17,28],gem5:21,gener:[0,2,3,5,6,7,8,9,10,13,15,16,17,21,24,25,26,27,31],generalpurpos:27,genericpredictor:4,get:[4,24,29],getcompletedread:14,getgroup:2,getrssiz:9,getter:5,ghz:27,git:[17,26],github:[17,21,26],give:3,given:[2,9,17,25,27],glean:17,global:[4,22,24,27],gmock:20,gninja:26,goal:21,googletest:[20,21],gracefulli:0,graph:24,grate:21,greater:[2,3,7,26],group:[0,7,9,27],groupinherit:2,gtest_filt:20,guarante:10,guidanc:17,guidelin:17,had:7,hal:21,halt:[0,2,7,9,31],hand:[9,17,20,27],handl:[2,3,7,9,10,16,19,25],handler:[1,9,16],happen:7,hard:3,hardcod:20,hardwar:[0,8,12,21,31],harri:21,has:[0,2,3,7,9,10,12,13,15,17,20,21,24,25,26,31],have:[2,3,7,8,9,12,13,19,20,21,22,24,25,26,28],head:[7,9],header:[13,17,24],heap:[5,20,27],heap_siz:[13,24],heirarchi:23,held:[2,3,4,20],help:17,helper:[3,15,20],henc:25,hepworth:21,here:[1,2,3,5,7,9,13,19,24,25,26,27,31],hex:[27,31],hexadecim:[13,31],hierarchi:[2,3,24,25],high:[7,19,26,27],high_network_0:[24,25],higher:[24,25],highest:[24,25],highli:2,histori:[4,17,27],hit:21,hold:[2,7,8,9,10,13,14,19,20],horizont:2,host:[5,16,26],hot:19,hour:21,how:[0,13,23,27,30],howev:[4,13,14,21,22,25,27],hpc:[2,21,26],html:17,http:26,hypothet:21,ideal:21,ident:25,identifi:[2,3,4,7,9,10,14,15,17,24],idl:9,ifac:24,illeg:2,illustr:31,imag:[5,13,24,29],imm:2,immedi:[1,2,3,12],implement:[0,1,3,10,14,16,20,21,25,27],implicit:2,implicitli:2,impos:7,improv:6,inaccess:9,inc:[2,3],includ:[1,2,8,13,14,17,21,22,24,27,31],inclus:27,inconsist:9,inconveni:2,incorrect:[2,3,7,19,20],incorrectli:[7,9],increas:[9,10],increment:[0,2,9,17,24,27],independ:[7,9,12],indetermin:14,index:[2,4,13,17,24,27],indic:2,individu:[0,2,9,12,15],industri:21,inevit:7,infer:3,infinit:21,info:[22,24,25],inform:[0,1,4,5,6,7,9,10,11,12,13,16,18,19,20,21,23,24,25,26,27,30,31],inherit:[2,20,25],initi:[0,4,5,7,9,12,13,14,22],initialheapdata_:20,initialis:[0,13,15,24],inord:20,inorderpipelin:27,input:[2,9,11,12,20],insert:[9,24],insid:[2,16,24,25],inspect:20,instal:[17,22,24,26,29],instanc:[0,2,3,4,6,9,10,14,16,18,20],instanti:[2,5,9,20,24,25],instantiate_test_suite_p:20,instantli:14,instead:[2,3,9,10,13,18,25,30],instneon:20,instruct:[1,4,5,7,8,9,10,11,13,15,18,19,20,21,24,31],instruction_address:[2,3],instruction_decod:[2,3],instruction_execut:[2,3],instruction_group:27,instructiongroup:[2,12],instructionmetadata:[2,3],insuffici:9,int_mul:3,int_simpl:2,int_simple_arth:2,int_simple_arth_noshift:2,int_simple_logical_noshift:2,integ:[2,3,27],integr:[14,17,21,22,24],intel:11,intend:18,interact:[11,14,16,20,24,25,29],interest:[19,28],interfac:[0,5,7,12,14,21,24,25],intern:[7,9,10,13,14,17,20,21,24,25,27],interoper:14,interpret:[2,3,13,24],introduc:17,intuit:[2,3],invalid:[2,7],invok:[2,13,16,20,31],irrevers:10,isa:[0,1,2,3,20,21,27],isatomic_:3,isbl_:2,isbranch_:[2,3],iscompare_:[2,3],isconvert_:2,isdivide_:3,isdivideorsqrt_:2,isload_:[2,3],islogical_:[2,3],ismultiply_:[2,3],isnoshift_:2,isol:20,ispredicate_:2,isret_:2,isscalardata_:2,isshift_:3,issmedata_:2,isstore_:3,isstoreaddress_:2,isstoredata_:2,issu:[5,17,19,21,26,27],issvedata_:2,isvectordata_:2,its:[0,2,5,7,9,10,13,19,20,21,24,25,27,28],itself:[1,5,12,14],ivi:11,jack:21,jame:21,jenkin:17,jone:21,just:[3,21,24],keep:[9,10,17,21,26],kei:2,kernel:[11,16,18],kind:25,know:21,knowledg:12,known:[2,4,12],l1_to_mem_link:24,l1cach:24,label:17,lack:19,larg:[17,24],larger:[3,13],largest:13,last:[7,24,25],late:7,latenc:[2,7,9,12,14],latency_:14,later:[0,2,3,7,9,14,20],latter:20,launch:24,ld1:2,ld_library_path:24,ldr:2,lead:21,leader:21,least:[2,3,9],leav:19,lee:21,left:4,length:27,less:[2,26],let:21,level:[2,3,21,24,25],lib:[2,3,17,22,24,25],librari:[2,3,6,7,17,20,21,24,26],libsimeng:24,libsstsimeng:[22,24],licens:21,lifecycl:11,lifetim:12,like:[2,7],likewis:2,limit:[0,9],lin:21,line:[21,24,31],linear:17,link1:24,link2:24,link:[2,4,5,20,26,28,29],linkabl:13,linux:[11,21,27],linuxprocess:11,list:[2,8,10,14,27],literatur:9,llvm:[20,21,26],llvm_dir:26,llvm_library_directori:26,load:[8,9,12,13,14,19,20,21,24,25,27],loadabl:[13,25],loadqueue_:7,loadstorequeu:[8,12,20,27],local:17,locat:[2,13,16,20,22,24],lock:10,logic:[2,3,4,7,8,9,20],longer:[9,10],look:[2,9,13,16],loop:[13,27],loopclos:4,low_netowrk_0:24,low_network_0:[24,25],lower:[2,3,4,24,25],lseek:16,lsq:[7,20],m2r2:17,machin:[0,12,26],macro:[0,2,7,9,11,25,27],made:[2,7,14,17,21],mai:[0,2,3,4,6,7,8,9,10,11,12,14,15,17,19,20],main:[0,2,17,20,21],maintain:[6,7,9,13,20,21],major:[3,21],make:[12,14,17,21,24,25],makefil:17,manag:[9,19],mani:[2,3,7,9,16,27],manipul:20,manner:[7,9],manual:[9,13,14,24],map:[2,9,10,16,27],mark:[7,9],marvel:21,match:[2,9,17,25],matrix:[9,27],max:27,max_addr_memori:22,max_addr_rang:24,maximum:[9,22,24],mcintosh:21,mean:25,meaning:17,mechan:[11,19],mediat:20,mem:2,mem_siz:24,membackend:25,member:[2,9,13],memcontrol:[24,25],memctrl:24,memhierarchi:[24,25],memlink:25,memori:[0,2,3,5,7,8,11,12,13,18,19,20,21,22,23,24,26],memoryaccesstarget:14,memoryaddress:0,memoryaddresstarget:[2,3],memoryaddressvalu:0,memoryinterfac:[11,20],mention:[24,25],merg:17,mesi:24,messag:17,met:9,metadata:[2,3,12,31],method:[2,3,4,9,10,17,24],mhz:27,micro:[0,2,7,9,12,27],microarchitectur:[21,24],microdecod:2,microopcod:2,microoper:20,mimic:20,mind:26,minim:27,minimis:[7,17,21],minsizerel:26,mirror:[2,3],mispredict:[9,19],miss:[3,9],mnemon:3,mock:20,mode:[2,7,27],model:[0,1,2,3,4,5,6,7,8,9,10,11,12,14,16,18,20,21,24,27,31],modern:[19,21,27,31],modif:0,modifi:[0,2,10,18,21],modifiedregist:0,modifiedregistervalu:0,modsim:21,modul:[22,24,25],moham:21,monitor:2,more:[0,1,2,3,5,9,10,12,13,14,19,21,24,25,26,27,31],most:[2,3,4,9,10,13,16,21,25,31],move:9,mrs:[2,27],much:[3,13],multi:[19,21,27],multipl:[2,7,9,12,13,17,20,25],multipli:[2,3],muneeb:21,must:[0,1,2,3,7,9,10,12,14,24,25,27,31],mutalib:21,mycor:24,mylink:24,name:[1,2,3,14,20,24,27],namespac:[2,12,25],natur:17,navig:[22,24],nearli:25,necessari:[0,2,3,10,12,25,26,29],necessit:19,need:[2,3,9,13,14,24,25],neon:2,network:25,newli:[2,10,14],next:[4,9,19,24,27],ninja:26,nmru:24,node:2,non:[9,20,27,31],none:2,normal:[2,9],notabl:13,note:[0,2,9,20,27],now:[7,12,24],num:22,num_cor:26,number:[0,2,3,7,9,10,13,14,15,19,21,24,27],number_of_cycl:27,number_of_entri:27,number_of_permitted_dispatches_per_cycl:27,numer:[7,9],nzcv:2,object:[0,1,2,5,8,9,10,12,13,15,20,25,31],obtain:[5,9,26],occup:9,occupi:[2,7],occur:[2,7,9,17],off:[4,12,22,26],offer:20,offici:25,offset:[2,13],often:[2,3,9,27],old:14,oldest:4,omit:31,omp_num_thread:13,onc:[2,3,7,9,12,14,20,26],one:[0,2,3,9,10,11,13,17,20,24,25,27],onli:[0,2,3,5,7,9,10,12,13,18,19,20,24,25,27],onto:[4,14,17],onward:16,ooo:21,op_count:2,opcod:[2,3],open:[13,16,17,21],openat:16,openmp:21,oper:[0,2,3,7,9,12,15,16,24,27],operand:[1,2,3,7,12],oppos:27,ops:[0,2,7,9,12,27],optim:21,optimis:26,option:[0,2,4,5,7,9,12,14,18,19,25,26,27,31],order:[1,2,7,8,9,10,11,14,16,17,21,25,27],origin:[9,14,21],other:[1,2,3,7,8,9,10,11,13,17,20,21,24,25,27],otherwis:[9,10,24],our:[2,28],out:[2,5,7,9,10,11,21,24,27],outcom:[4,7],outlin:17,outoford:[9,20,27],output:[2,7,9,11,20,22,25],outsid:20,over:[2,3,7,9,25],overal:17,overlap:[7,9],overridden:4,overview:25,own:[0,16,20,29],packag:[17,27],page:[13,17],pair:[2,12,27],parallel:26,param:25,paramet:[4,20,22,24,25,27],parameteris:[5,20,27,31],parent:[2,25],pars:[21,24],part:[6,13,27,31],partial:9,particular:3,particularli:19,pass:[0,3,4,5,7,9,12,15,16,17,20,21,22,24,31],passion:21,path:[5,13,22,24,26,29,31],path_to_docs_root:17,path_to_simeng:22,path_to_simeng_instal:24,pend:[7,9,12],pendingrequests_:14,peopl:17,per:[2,7,9,26,27],perform:[0,2,3,7,9,10,12,14,16,17,19,20,21,25,27],period:7,permiss:21,permit:[7,12,27],persist:20,physic:[9,10,13,27],physical_package_id:27,pid:13,piec:[12,17],pip:17,pipelin:[3,6,7,18,19,20],pipelinebuff:9,place:[2,7,9,19,21],placehold:2,plan:27,pleas:[2,17,18,21,22,25,26,30],pmccntr:2,pmu:31,poenaru:21,point:[2,7,9,10,13,15,25,27],pointer:13,pop:4,popul:[2,3,5,13,20],port:[5,9,12,22,24,25],port_lat:24,port_nam:[24,27],portnam:27,posit:[2,7],possibl:[2,3,4,7,9,17,21,26],post:2,power:[21,27],pre:[2,7,9,17,20,26,27,29],prebuilt:26,predefin:14,predic:[2,27],predict:[6,9,18,19,27],predictor:[5,6,9],prefix:[24,31],prepar:13,present:[0,1,2,7,12,22,24,25,27],prevent:[3,9,10],previou:14,previous:[2,10,27],price:21,primari:[0,2,3],primarili:[2,3,7,14,15,21,26,27],print:[0,22],prior:[5,12,20],prioriti:2,privat:13,problem:[9,17],proc:[16,27],proce:[9,13],proceed:[4,19,27],process:[0,2,3,5,7,9,12,13,14,17,19,20,24],processimag:13,processor:[1,2,6,7,8,9,10,11,12,17,19,20,21,22,27,31],processstatechang:0,produc:[9,12,31],professor:21,program:[2,3,7,9,13,16,19,20,31],programm:[2,27],progress:19,project:20,properti:[2,3,27],provid:[0,1,2,3,4,7,8,9,10,13,15,16,17,19,20,21,23,24,25,27,30,31],proxi:20,pseudoinstruct:20,publicli:17,pull:[9,17,21],purpos:[10,15,27],push:[4,14],python:[24,25],quantiti:0,queri:[0,9,10],question:2,queue:[7,8,9,14,19],quit:3,rahat:21,rais:[9,16,17],ram:25,rang:[2,11,13,14,21],rapidli:19,rare:7,rat:10,rate:[9,22,27],rather:[3,14,16],ratifi:3,raw:[10,13,31],reach:[2,9],read:[2,3,7,9,12,14,15,16,20,21,27],readi:[7,9,14],readyat:14,real:[0,2,21,28],reason:[0,2,3,7,31],rebas:17,receiv:[7,12,14,25],recent:[4,9,13],reciev:25,recommend:[2,3,17,26],record:[10,27],recurs:2,reduc:[2,3],refer:[0,2,5,7,9,12,18,25,27,30],referenc:[13,27],refin:20,reflect:27,reg:2,regard:[13,24,25],regardless:2,regex:20,region:[5,9,19],regist:[0,1,6,7,8,9,11,12,18,19,20,22,24,25],registeraliast:6,registerfileset:6,registervalu:[2,3,10,11,14],registr:25,registri:24,regress:[2,17,21,26],regressiontest:20,regular:20,regularli:17,reinstat:10,rel:[2,3,31],relat:[1,7,9,10,11,14,20,25],relationship:[2,27],releas:[26,29],release_not:21,relev:[2,3,4,5,7,9,12,13,17,21],reli:[9,22,24],relwithdebinfo:26,remain:[1,2,3,7,9,10,22],remaind:7,remov:[7,9,14],renam:[9,10,19,27],renameunit:[7,8],reorder:[8,9,19],reorderbuff:[7,8,9],repeat:2,replac:0,replacement_polici:24,replica:27,repo:21,report:[12,26],repositori:21,repres:[0,2,3,6,7,8,9,10,12,14,15,25,27],represent:[2,8],request:[0,7,9,12,14,15,17,21,24,25,27],request_width:24,requestentri:7,requestfrompc:9,requestid:14,requestloadqueue_:7,requeststorequeue_:7,requir:[0,2,3,7,8,9,13,17,21,22,24,25,26,27],reserv:[9,11,19],reset:9,resid:13,resolv:7,resourc:7,respect:[2,4,7,14,20,21,27],respond:[9,14],respons:[0,1,2,3,7,9,10,14,25],rest:[2,22,25],restrict:7,result:[2,3,7,9,12,14,19],resum:[0,7,9],retir:[2,7,9,10,12,27],retriev:[0,2,9,10,14],reus:11,reusabl:8,revers:[2,7,10],review:17,revis:27,rewind:8,right:2,risc:[3,18,21,27,28],riscv:[1,20],riscvgeninstrinfo:3,riscvregressiontest:20,rob:[7,9,27],robinson:21,role:0,root:[2,21,29,31],row:2,rtd:17,run:[2,3,13,17,21,22,23,25,26,29,30],run_aarch64:20,run_riscv:20,runtim:[16,24,27],rutterford:21,rv64:27,rv64ima:[3,21],s005072:21,safe:10,said:[2,7,13,20],same:[2,3,7,9,11,14,16,20,21,22,24,25,27],sanitis:26,satisfi:10,satur:[4,27],save:9,scalabl:[21,27],scalar:[2,21],scalar_simple_arth:2,scan:7,schedul:19,scheme:27,scope:[2,3,11],scoreboard:9,sdl:24,search:7,second:[2,20,24],secondari:7,secondli:[2,26],section:[2,13,17,21,24,25,27],see:[2,7,9,10,27],seek:[13,27,30],seen:[2,9],segment:13,select:[5,7,17,19,20,26,27,31],self:[8,17],send:[7,25],sent:[7,12,27],separ:[2,11],seper:27,sequenc:[7,12],sequenti:[4,20],seriou:17,serv:[5,20,25],servic:8,session:29,set:[0,1,2,3,5,6,7,8,9,10,11,12,13,15,19,20,21,24,26,31],setmemoryaddress:[2,3],setsubcompon:24,seunghun:21,seventh:21,sever:[2,27,31],sha1:27,sha2:27,share:[7,9,24],shift:[2,3],should:[0,2,3,7,10,12,14,17,20,21,22,24,26,27],shown:[2,21],sign:2,signal:21,signific:17,simeng:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,28,29,30],simeng_install_directori:[26,31],simeng_optim:26,simeng_repositori:31,simengcor:[22,25],simengcorewrapp:[22,24],similar:[2,3,7,9,10,11,14,19,20,27],similarli:[2,9,11],simon:21,simpl:[2,3,10,14,19,21],simpledram:25,simplemem:[24,25],simplemembackend:25,simplemembackendconvertor:25,simplememorybackendconvertor:25,simpler:14,simplest:[17,19],simpli:[0,2,7,9],simplic:19,simplifi:2,simul:[0,5,7,10,14,16,17,18,19,20,22,23,25,27],sinc:[7,24,25],singl:[2,3,7,9,10,12,17,19,20,21],sit:[5,25],site:17,situat:[2,10],size:[0,7,9,10,13,15,24,25],skip:9,slice:2,slightli:9,slot:[7,9,22,24,25],slot_index:24,slot_nam:24,slower:19,small:[2,3,17,21],sme:[2,21,27],smith:21,smoketest:20,smt:27,socket:27,softwar:21,sole:17,solv:[2,17],some:[2,3,9,10,12,16,24,25],sometim:10,sophist:21,sort:3,sourc:[2,9,12,17,20,21,25,26,29],space:[5,9,13,21,27],special:[5,16,27],specialfil:[16,27],specif:[0,1,2,3,4,7,9,12,15,17,20,21,24,27],specifi:[0,2,10,13,21,24,25,26,31],specul:[4,7,9,19],speed:2,spend:27,sphinx:17,split:[7,9,12,13,20,27,31],squar:2,src:[2,3,17,20,31],sst:[17,21,23],sstpartition:22,sstsimeng:[22,24],stack:[4,5,13,27],stack_siz:[13,24],stage:[7,8,9,12,17,19,20,24,27],stale:14,stall:9,standalon:22,standard:[2,3,5,7,8,9,20],standardis:1,start:[2,7,13,17,21,24,25],state:[7,9,10,13,20],statement:[2,3],station:[9,11,19],statist:[22,31],statisticgroup:24,statisticoutput:24,statu:[21,27],stderr:16,stdin:16,stdout:16,step:[2,9,12,24],still:[2,9],stop:[9,14],store:[4,8,9,10,13,14,15,19,20,21,24,25,27],storequeue_:7,str:2,stream:[9,12,19,27],string:[5,20,22,24,27],strip:24,strongli:2,struct:7,structur:[1,3,4,7,9,11,13,18,19,20,21,27],studi:2,style:[12,19,27,31],sub:[2,24],subcompon:22,subgroup:2,submit:[2,7,17,21],subroutinecal:4,subsequ:[5,9],subset:[9,21],success:[9,22,31],successfulli:24,suffici:[2,3],suit:[8,17,19,21,26],suitabl:19,summari:[17,31],superscalar:[9,19,21,27],supervisor:[2,3,7,16,20],suppli:[0,2,3,4,5,6,7,9,10,12,13,14,19,20,31],supplystoredata:7,support:[0,1,2,3,4,5,6,7,9,11,12,13,14,16,19,20,21,22,24,26,27],sure:[24,25],sve2:21,sve:[2,21,27],swap:19,synchron:14,synchronis:10,syntax:17,sys:27,syscal:[2,3,16,20],system:[1,3,7,10,11,13,14,17,18,20,21,24,26,27,31],systemregist:20,systemregistermap_:2,tabl:[2,3,9,10,13,19],tag:[15,27,31],tail:9,take:[2,7,20,24,25,26,27],taken:[2,4,5,7,9,27],target:[2,4,7,9,20,21,26,27,29],task:[7,9],team:[17,21],templat:[2,15],term:[8,9],termin:[0,2,10],tertiari:[2,3],test:[2,18,19,21,26],test_case_nam:20,test_nam:20,test_p:20,textual:2,than:[3,7,9,13,14,16,21,26,27],thei:[2,3,7,9,11,12,17,20,21,24],them:[2,5,7,9,17,20,25,27],theme:17,themselv:[7,18],therefor:[2,7,9,12,20,26],thi:[0,1,2,3,4,5,7,9,10,11,12,13,14,15,16,17,19,20,21,22,24,25,26,27,31],thin:15,those:[2,3,6,11,16,17,18,19,20,27,30],thread:[3,21,27],three:[9,20,25,27],threshold:27,through:[0,1,2,3,4,7,9,12,13,16,18,19,20,24,25,26,27,31],throughout:[0,7,9,20],throughput:[9,27],thu:[2,8,19,20],thunderx2:[11,19,21,27,31],tick:[2,9,24,25],tickcounter_:14,tie:7,tile:2,time:[0,2,7,9,10,14,21,25],timer:[1,27],togeth:[5,9,24],toggl:27,tom:21,too:[7,21],tool:[1,17,20],toolkit:[17,21],top:[2,3,5,9,20],topolog:27,total:[2,27],track:[3,7,9,13],transfer:13,transform:[14,19],transit:7,translat:[10,24,25,27],travers:2,treat:[2,9,13],tree:27,tri:21,trigger:[7,9,27],tripl:20,trivial:[9,20],tune:31,tupl:24,two:[2,7,9,11,13,22,24,25,26],tx2:31,txt:21,type:[0,1,2,4,9,10,11,12,13,15,25,27],typic:[0,2,7,8,9,10,12,20,21,27],uint64_t:14,ukri:21,unabl:2,unalloc:10,unchang:2,uncommit:10,uncondit:4,undefin:19,under:[2,3,5,20,21,24,27,31],underli:[2,5,10],understand:[17,21,23,24],undertook:1,unhind:3,unifi:11,unimpl:21,uniqu:[0,2,3,14,15,24,27],unit:[2,4,6,7,8,11,12,14,17,21,24,26],univers:21,unknown:[2,27],unlik:[2,7,9,27],unmap:9,unnecessari:2,unordered_map:2,unprivileg:3,unrealist:20,unrecognis:2,unseen:2,unstal:9,unsupport:2,until:[0,2,7,9,12],unus:27,uob:26,uobhpc:29,uop:12,updat:[0,1,2,4,9,10,14,15,27],updatesystemtimerregist:2,upon:[0,15],upper:[2,25],usabl:2,usag:[2,3,4,5],use:[0,1,2,3,4,5,7,9,10,11,12,17,19,20,21,22,24,25,26,27,29,31],used:[2,3,5,7,9,10,12,13,14,15,20,22,24,25,26,27,28,31],useful:[1,2],user:[2,3,12,16,17,18,21,24,27,30],uses:[2,3,4,7,9,10,13,20,23,24,25,28,31],using:[0,2,3,5,10,12,14,15,17,19,20,21,22,24,25,26,27],usual:[2,3,26],util:2,utilis:[4,5,7,14,20],valid:[2,3,7,9,10,27],valu:[0,1,2,3,4,7,9,10,12,13,14,20,26,27],vari:0,variabl:[2,3,13,22,24],variant:[2,4,27],varieti:[2,3,7,25],variou:[0,5,8,12],vast:2,vector:[0,3,9,20,21,27],vector_:2,vector_simple_arth:2,veri:[3,24,26],verifi:[9,22,26],version:[2,14,21,22,26,29],versu:11,vertic:2,via:[2,3,7,14,16,17,19,20,21,25],violat:7,virtual:[2,13,16,21,24,27],visibl:17,visual:2,vital:3,wai:[1,24],wait:[0,7,9],waitingcommit:9,wang:25,want:[2,21,29],waugh:21,weakest:4,weaver:21,welcom:17,well:[3,6,7,12,15,17,19,20,21,24,25],were:2,what:[2,12,17,20],when:[0,2,7,9,10,12,14,16,17,20,21,25,26,27],where:[0,2,9,10,12,17,26,27],wherea:[24,25],wherebi:2,whether:[0,2,9,12,27],which:[0,1,2,3,4,6,7,8,9,10,11,12,13,15,16,17,19,20,21,22,24,25,26,27,29,31],whichev:26,whilst:[2,3,4,7,20,21,31],who:18,whole:2,wholli:27,whose:11,why:31,wide:[9,11,14,21],width:24,wilkinson:21,wish:[18,21],within:[0,2,3,4,5,7,9,10,12,13,15,17,20,21,24,27],without:[2,22,26,27,31],work:[1,3,9,17,21,25,26],workload:[5,13,28,31],workshop:21,would:[0,2,3,20,27],wrap:24,wrapper:[10,14,15,22,25],write:[2,3,7,9,12,14,16,27],writeback:[2,9,19,27],writebackunit:[7,8],writev:16,written:[0,2,7,9,12,14,20,27],wzr:2,x19:2,x86:[11,21],xor:4,xori:3,xzr:2,yaml:[13,21,22,24,27,31],yet:[2,9],you:[2,17,21,22,24,26,29],youngest:7,your:[2,17,21,26,29],yourself:2,zero:19,ziqi:25},titles:["Abstract Structure","Architectures","AArch64","RISCV","Branch prediction","Core Instance","Simulation Components","Common Components","Pipeline","Pipeline Units","Register Files","Simulation Concepts","Instructions","Kernel","Memory","Registers","System Calls","Developer information","Overview","Models","Testing","The Simulation Engine - SimEng","Building SimEng with SST","Overview","Running SimEng with SST","Understanding SST","Building SimEng","Configuring SimEng","Creating Binaries","Docker","Overview","Running SimEng"],titleterms:{"abstract":0,"class":25,"function":2,Adding:[2,3],Ops:12,The:21,aarch64:[2,20],addit:2,address:12,alias:2,alloc:10,approach:24,archetyp:19,architectur:[0,1],architecturalregisterfileset:10,behaviour:[2,3,9],binari:28,branch:[4,27],buffer:[7,9],build:[22,26],cach:[24,25],call:16,chang:0,code:17,commit:[7,10,17],commitmicroop:7,common:[2,7],compon:[6,7,24,25],concept:11,configur:[24,27,31],connect:24,content:[2,3,20],contribut:17,contributor:21,core:[5,25,27],counter:2,cpu:27,creat:28,cstool:2,current:[19,20],data:[12,27],declar:24,decod:[0,2,3,12],decodeunit:9,detect:7,develop:17,directori:17,dispatch:9,dispatchissueunit:9,docker:29,document:17,elf:13,emul:19,engin:21,except:[0,9],execut:[2,3,12,27],executeunit:9,extens:2,extern:21,featur:21,fetch:[9,27],fetchunit:9,file:[10,16,31],fixedmemoryinterfac:14,flatmemoryinterfac:14,forward:9,fund:21,gener:[4,12],group:[2,3,12],handl:0,handler:0,hardwar:19,helper:2,imag:27,implement:2,info:27,inform:[2,17],input:16,instanc:5,instruct:[0,2,3,12,27],interfac:27,issu:[2,9],kernel:13,latenc:27,lifecycl:[12,20],link:[24,25],linux:13,linuxprocess:13,load:[2,3,7],loadstorequeu:7,loop:[7,9],lsq:27,macro:12,main:25,mappedregisterfileset:10,matrix:2,membackend:24,memori:[9,14,25,27],memorybackend:25,memorycontrol:[24,25],memoryinterfac:14,model:[19,25],operand:9,order:19,out:19,output:[16,31],overview:[18,23,30],pars:13,pipelin:[8,9,27],port:27,post:12,pre:0,predict:4,predictor:[4,27],prerequisit:[22,26],present:21,process:27,project:21,pseudoinstruct:3,queue:27,readi:12,regist:[2,3,10,15,27],registeraliast:10,registerfileset:10,registervalu:15,regress:20,releas:21,renameunit:9,reorder:7,reserv:[7,27],result:0,rewind:10,risc:20,riscv:3,run:[20,24,31],scalabl:2,set:27,setup:24,simeng:[21,22,24,25,26,27,31],simengcor:24,simul:[6,11,21,24,31],size:27,split:2,sst:[22,24,25],standardinterfac:[24,25],standardmem:25,state:0,station:27,step:22,store:[2,3,7,12],structur:[0,17],style:17,subcompon:[24,25],suit:20,system:[2,16],talk:21,test:[17,20],tick:[0,7],timer:2,todo:[7,9,17],understand:25,unit:[9,20,27],usag:21,valid:22,vector:2,width:27,writebackunit:9,zero:[2,3]}}) \ No newline at end of file +Search.setIndex({docnames:["developer/arch/abstract","developer/arch/index","developer/arch/supported/aarch64","developer/arch/supported/riscv","developer/components/branchPred","developer/components/coreinstance","developer/components/index","developer/components/pipeline/components","developer/components/pipeline/index","developer/components/pipeline/units","developer/components/registerFiles","developer/concepts/index","developer/concepts/instructions","developer/concepts/kernel","developer/concepts/memory","developer/concepts/registers","developer/concepts/syscalls","developer/developerInfo","developer/index","developer/models/index","developer/test/index","index","sst/building_simeng_with_sst","sst/index","sst/running_simeng_with_sst","sst/understanding_sst","user/building_simeng","user/configuring_simeng","user/creating_binaries","user/docker","user/index","user/running_simeng"],envversion:53,filenames:["developer/arch/abstract.rst","developer/arch/index.rst","developer/arch/supported/aarch64.rst","developer/arch/supported/riscv.rst","developer/components/branchPred.rst","developer/components/coreinstance.rst","developer/components/index.rst","developer/components/pipeline/components.rst","developer/components/pipeline/index.rst","developer/components/pipeline/units.rst","developer/components/registerFiles.rst","developer/concepts/index.rst","developer/concepts/instructions.rst","developer/concepts/kernel.rst","developer/concepts/memory.rst","developer/concepts/registers.rst","developer/concepts/syscalls.rst","developer/developerInfo.rst","developer/index.rst","developer/models/index.rst","developer/test/index.rst","index.rst","sst/building_simeng_with_sst.rst","sst/index.rst","sst/running_simeng_with_sst.rst","sst/understanding_sst.rst","user/building_simeng.rst","user/configuring_simeng.rst","user/creating_binaries.rst","user/docker.rst","user/index.rst","user/running_simeng.rst"],objects:{},objnames:{},objtypes:{},terms:{"0th":27,"0x00000000004004a8":2,"0x001":27,"0x1":27,"0x20":2,"0x46":27,"0xffffffe0":2,"100p":24,"10n":24,"16b":2,"1ghz":24,"1gib":24,"1ns":24,"200kib":24,"2ghz":24,"2gib":24,"50p":24,"5gb":26,"\u00b5op":12,"abstract":[1,2,4,14,18,20,25],"break":2,"byte":[0,2,3,9,13,14,15,24,27],"case":[2,9,17,20],"catch":2,"char":[13,24],"class":[0,1,4,5,7,9,10,13,14,15,17,20,24],"default":[1,2,5,6,7,10,15,19,22,24,25,26,27,29,31],"enum":12,"final":[5,24,26],"float":[2,10,15,27],"function":[0,3,4,5,7,8,9,12,13,14,15,17,20,24,25,27],"import":[2,7,21,22,24],"int":[2,3,22],"new":[1,2,3,6,9,10,17,21],"return":[2,4,13,14,15,16,20,24,25,27],"short":14,"static":[2,3,4,13,21,27,28],"switch":[2,3],"true":[2,27],"try":2,"while":[1,2,3,9,11,12,14,19,21,22,26],Adding:[1,24],But:2,For:[0,2,3,4,7,9,10,12,13,14,17,18,21,24,25,27,29,30,31],Its:[21,25],Not:27,One:3,Ops:[9,11,27],RAS:[4,27],Such:13,The:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,29,30,31],Their:[2,27],There:[2,9,24],These:[0,2,3,5,7,8,9,13,17,20,25,27,31],Used:27,Using:22,Will:21,With:[7,26,27],_dep:[2,3],_mul:2,_simple_arth:2,a64fx:[19,21,31],aarch64:[1,3,18,21,27,28],aarch64_ld1onev16b_post:2,aarch64geninstrinfo:2,aarch64regressiontest:20,abil:21,abl:[10,24],about:[5,13,17,21,24,25,26,27,30,31],abov:[2,3,19,20,24,25,26],academ:21,academia:21,acceler:21,accept:[21,24],access:[1,2,3,4,7,8,10,12,14,16,19,20,21,22,24,25,27],access_latency_cycl:24,access_tim:24,accommod:7,accompani:[2,17,21,31],accord:9,accordingli:[2,3,9,10],account:[2,3,27],accur:[21,31],accuraci:17,achiev:[1,16,20,24,25],across:[9,11,21],act:[9,25],action:25,activ:[2,7],actual:[24,25],adapt:25,add:[2,9,13,17,24,26],added:[2,3,7,9,22,25],adding:[1,2,3,17],addit:[3,7,8,12,14,17,20,21,22,24,25,26],addition:[2,3,7,17,21],addlink:24,addparam:24,addr_range_end:24,address:[0,2,3,4,7,8,9,13,14,22,24,27],adher:[7,17,27],advanc:21,advantag:3,advertis:12,advis:9,after:[2,5,7,9,10,13,17,20,24,26],again:[2,9],against:[9,20],age:7,agnost:[1,20],aid:[10,13],aim:21,ainslei:21,algorithm:[4,9,27],alia:[2,9,10,19],alias:[3,25],align:[9,13,17],all:[0,2,3,5,7,9,10,12,13,14,15,19,20,21,22,24,25,27,29,31],alloc:[2,3,5,8,9,12],allow:[1,2,7,9,11,14,16,17,19,20,21,24,25,27],almost:[3,17],along:[2,4,12],alreadi:[2,25],also:[0,1,2,3,5,7,9,12,17,19,20,22,24,25,27,29],alter:[8,27],altern:[16,27],although:[7,27],alwai:[2,3,4,14,17,25,27],amend:17,amongst:[2,9],amount:2,analys:[7,27],andrei:21,ani:[0,2,4,7,9,10,12,13,15,17,20,24,25,26],anoth:[2,9,21,27],anywai:21,apach:21,api:[17,25],appear:2,append:[7,17,26],appli:[0,2,20],applic:[2,9,21],approach:19,appropri:[2,3,8,12,17,25,27],arbitrari:0,arch:[2,3],archetyp:[5,20,27],architectur:[2,3,5,7,9,10,11,12,13,15,18,20,21,27],architecturalregisterfileset:6,area:27,aren:[7,22],argument:[4,20,22,24,31],arithmet:2,arm64:2,arm:[2,21,27],armclang:[17,28],armv8:[1,11],armv9:[1,2,11,21],around:[10,13,14,15,21],arrai:[2,13,14,15,24,31],arrang:[7,9,11],ascend:7,asimd:27,asimov:21,assembl:20,assign:[2,7,9,10],associ:[2,3,4,7,9,13,17,21,24,27],assum:[12,21,24],asynchron:14,atom:[3,17,19,27],attach:25,attempt:[2,9,16,19,26],attribut:13,aug:22,autom:17,automat:[2,3,9,17,24],avail:[0,2,3,7,9,10,12,13,22,24,26,27,29],avoid:[9,17],awai:2,back:[2,27],backend:[24,25],backendconvert:25,backendconvertor:25,balanc:9,balancedportalloc:9,bandwidth:[7,27],base:[2,3,4,5,7,10,13,19,20,21,24,25,27],basic:[2,3,9,11],becaus:[2,22,25],becom:[9,10,12],been:[0,2,3,7,9,12,13,20,21,22,24,25,26,28],befor:[2,7,9,16,17,19,25,27],begin:[0,7,9,13],behaviour:[0,1,19,20,25],behind:7,being:[0,3,4,7,9,10,11,17,20,21,24,27],belong:[20,27],below:[1,2,3,10,16,17,21,24,27],benchmark:2,best:2,beta:21,better:8,between:[0,2,5,7,8,9,10,15,20,24,25,27],beyond:[7,8,10,11,18],bin:[22,31],binari:[1,13,20,21,22,24,29,30,31],bit:[2,4,13,27],bitwis:3,block:[2,9,27],bodi:[9,20],bogomip:27,bool:15,both:[2,4,7,9,10,11,13,20,24,27,31],bottom:[2,3],boundari:9,branch:[2,3,5,6,7,9,12,17,18,19],branchpredictor:[4,20],bridg:11,brief:[2,25],bristol:21,brk:13,broadcast:[7,9],broken:[12,17,29],btb:[4,27],buffer:[4,8,19,27],bug:17,build:[2,3,16,17,20,21,23,24,29,30,31],build_dir:20,build_directori:17,built:[17,26,29,31],cach:[5,7,21,27],cache_frequ:24,cache_line_s:24,cache_line_width:24,cache_s:24,cachecontrol:25,calcul:[2,7,12,27],call:[0,2,3,7,9,11,13,18,20,21,24,25,26,31],callback:25,came:31,can:[1,2,3,4,5,7,9,10,12,16,17,19,20,21,22,24,25,26,27,29,31],cannot:[2,9,25],capabl:[0,2,3,12,18,19,21],capston:[1,2,3,21],capstone_opcod:[2,3],carefulli:17,carri:[5,7,9],cast:20,categori:22,caus:[7,9,20],centr:21,certain:20,chain:9,chang:17,changetyp:0,chapter:3,charact:[2,3],check:[3,7,8,9,17,24,25],child:2,children:2,chip:[5,25],choos:[17,25],chosen:[2,3,4,9,27],circleci:17,claim:2,clang:17,clang_format:17,clash:8,claus:[2,31],clean:21,clear:[9,14],clearcompletedread:14,clock:[7,14,21,22,24,25,27],clone:26,cmake:[17,20,22,26],cmp:2,cntvct:2,cntvct_el0:27,code:[0,2,3,12,20,21,24,25,26,27,28,29],codebas:[17,24,30],coherence_protocol:24,collabor:21,column:2,com:26,combat:20,combin:[2,3,7,14],come:[7,9,25],command:[20,22,24,25,26,31],commenc:2,comment:17,commerci:21,commit:[8,9,19,27],common:[3,6,8,19,27],commonli:[16,31],commun:[24,25],compar:[2,3],comparison:[2,20],compil:[2,3,13,17,21,22,24,26,28],complet:[0,3,7,9,13,14,15,21,27],complex:[12,14,19,25,27],compon:[0,2,5,8,9,10,11,12,14,18,20,21,22],component_1:24,component_2:24,componentlibrari:24,componentnam:24,componentnan:24,composit:21,comput:[9,21],concept:18,conceptu:[10,12],concern:[2,6,7,11,18,20,21,27],conclud:[7,9],condit:[2,4,27],confid:7,config:[5,16,17,22,24,25,27,31],config_path:[22,24],configur:[2,5,7,9,12,13,17,18,19,21,22,23,25,26,30],conflict:7,conflictionmap_:7,conform:2,conjunct:17,connect:[2,25],consid:[7,12,21,27],consist:[8,11,15,20,24],construct:[2,5,27],constructor:[2,3,24],consum:9,contact:25,contain:[0,2,3,4,5,7,8,9,10,13,14,17,19,20,24,25,27,29,31],content:[7,13,31],context:20,contigu:2,continu:[0,7,9],contribut:13,control:[2,3,13,24,25],convent:[2,3],convers:[0,2,20],convert:[2,3,9,25],convertor:25,copi:[16,27],core:[0,2,6,9,10,11,14,17,18,19,20,21,22,24,26],core_id:27,core_install_directori:22,coreinst:[5,31],correct:[0,2,3,7,9,19,20,27,29],correctli:[2,20,26],correspond:[2,3,9,10,12,15,16],cost:[7,10],could:[2,27],count:[2,27],counter:[1,4,9,27],counterpart:8,coupl:3,cours:9,cover:[17,27],cpp:21,cpu:[21,24],cpu_to_cache_link:24,cpuinfo:27,cpulink:25,cpython:24,creat:[0,5,6,7,9,13,20,24,30],creation:[7,13,20],crucial:21,cs_ac_read:2,cs_ac_writ:2,current:[0,1,2,3,4,5,7,9,13,17,21,27],custom:[0,1,7,24,25],cycl:[0,2,7,9,14,19,21,27,31],dan:21,danger:3,data:[2,5,7,9,10,13,14,15,16,24],data_port:24,datatyp:15,date:[9,17,21,28],dcmake_build_typ:26,dcmake_install_prefix:26,deal:12,dealias:2,debug:[24,26],debug_level:24,decis:[2,7],declar:17,decod:[1,9,19,21,27],decodeunit:8,decrement:0,dedic:9,deem:[7,9,20],defin:[0,1,2,3,5,7,10,12,13,14,15,17,20,24,25,27,31],definit:[1,27],delai:7,delet:7,deliv:[9,17],denot:[2,9,17,20,27],depend:[5,7,9,10,12,15,19,21,26,27,29],deploi:17,deriv:[2,7,25],describ:[1,2,3,7,11,13,25,27,31],descript:[2,3,11,17,27],descriptor:[13,16],design:[7,8,11,21],desir:[3,15,17,21,25,26],despit:9,destin:[2,7,9],detail:[0,2,3,7,16,19,24,25,27],detect:[9,16,27],determin:[0,2,3,9,12,24],dev:[16,29],develop:[3,12,14,18,20,21,26,27,29,30],devic:27,diagram:[2,3],diagrammat:21,dictat:[0,27],differ:[0,2,3,7,9,11,15,20,24,25],dir:27,direct:[4,7,12,17,25,27],direct_link:[24,25],directli:[2,9,25],directori:[5,16,20,22,24,26,27],disabl:16,disassembl:[1,2,3,21],discard:[2,3,9],discov:[7,9],discret:[0,1,6,7,9,10,12,19,21,27],discuss:[17,24,25,27],dismiss:14,disp:2,dispatch:[19,27],dispatchissueunit:8,displai:[2,25],disrupt:17,distinct:[7,10],distinguish:7,divid:[2,3,13,24,25],divis:27,dllvm_dir:26,doc:17,dockerhub:29,document:[3,18,20,21,24,25,30],doe:[9,13,21,25],doesn:[2,9],don:[2,3,11,29],done:[1,17,24],down:[2,3,12,25],doxygen:17,dsimeng_enable_sst:22,dsimeng_enable_test:26,dsimeng_sanit:26,dsimeng_use_external_llvm:26,dsst_install_dir:22,due:[2,19,20,31],duplic:17,durat:9,dure:[0,2,7,9,10,14,20,22,24,25,26,27],dynam:[24,25,27],each:[0,1,2,3,4,7,9,10,12,13,14,15,17,19,20,24,25,27],earli:[7,9],earlier:[7,24],eas:[6,21],easi:21,easier:2,easili:[2,3],edit:9,effect:10,effort:2,either:[5,7,9,14,17,20,21,25,27],element:[2,22,24,25],element_typ:24,elements_install_directori:24,elf:24,elfprocessimag:13,eli:22,elimin:[9,10,19,24],emerg:31,emphasi:21,empti:9,emul:[2,3,13,16,20,21,27],enabl:[0,4,5,19,21,22,24,26,27],encapsul:[2,3],encod:[2,9],encount:[0,2,9,24],encourag:[2,8],end:[9,17],endpoint:25,enforc:7,enough:[2,3,9,24],ensur:[2,3,7,9,17,19,20,22,24],enter:[7,9,27],entir:[2,9,16,25],entireti:[19,27],entiti:25,entri:[2,3,4,7,9,13,25,27],environ:[13,20,22,24],epsrc:21,equal:[7,10,27],equip:25,equival:[2,14,27],error:[2,3,7],especi:[2,26],essenti:15,establish:[24,25],etc:[2,10,15,21,25],evalu:[2,15],even:[9,27],event:[25,31],eventu:21,ever:9,everi:25,everyth:[7,14],exact:5,exampl:[0,2,3,10,20,21,24,27,31],exce:9,exceed:9,excel:21,except:[1,2,3,7,10,16,20],exceptionhandl:[0,31],exchang:24,exclud:[2,27],exclus:27,execut:[0,4,7,9,11,13,17,19,20,22,24],executable_arg:[22,24],executable_path:[22,24],executeunit:8,exempt:27,exhaust:9,exhibit:2,exist:[2,7,9,12,17,19,20,21],exit:31,expand:2,expect:[0,2,3,7,9,10,12,14,20,21],expedit:17,experienc:2,experiment:21,explain:[13,21],explicit:2,explicitli:2,explor:21,express:[2,20],extens:[3,21,27],extern:[9,14,26],extmembackend:25,extmembackendconvertor:25,extract:13,extrem:19,f30f1ef8:2,facil:8,facilit:[0,7,9,10,19],factori:25,fail:[2,22],failur:26,fallback:27,fals:[9,10,15,19,27],familiaris:2,fashion:[7,20],fast:[19,21,24],faster:[21,26],fatal:[0,2],fault:9,favour:7,featur:[1,11,17,19,27],feed:2,fetch:[4,7,19],fetchunit:8,few:[1,2,17,21],field:[27,31],file:[2,5,6,7,9,11,13,17,18,19,20,21,22,24,25,26,27],filedescriptort:[13,16],filesystem:16,fill:[4,9,24,27],filter:[20,25],finalis:29,find:[2,9,21,24,25,29],finish:7,finn:21,firestorm:19,first:[0,2,5,9,13,21,24],firstli:[7,26],fit:11,fix:[2,3,7,14,17,27],fixedlatencymemoryinterfacerequest:14,fixedmemoryinterfac:27,fixup:17,flag:[2,7,9,22,25,26,27],flagmembackend:25,flagmembackendconvertor:25,flat:[20,27],flatmemoryinterfac:27,flight:[7,8,10,19],floatingpoint:27,flow:[2,7,8,9,11,12],flush:[4,7,9,10,19],fmla:2,focu:14,fold:17,folder:20,follow:[0,2,3,4,5,6,7,9,11,13,14,17,18,19,20,23,24,26,27,28,30,31],form:[2,9,17,20,21,25],format:[2,3,7,13,17,21,24,27,31],former:[10,20],fortran:21,forward:[7,25],found:[1,2,3,5,7,8,9,10,16,17,19,20,21,24,25,26,27,29,31],four:9,fp_simple_arth:2,fphp:27,frame:5,framework:[1,2,3,17,20,21,26,31],free:[9,10],freed:10,freedom:21,frequenc:[2,24,27],from:[0,1,2,3,4,5,7,9,13,15,17,19,20,21,24,25,27,31],front:[0,7],frontend:27,fujitsu:21,full:[2,3,9,13,20,21,31],fulli:[0,12],fundament:[24,25],further:[0,2,17,20,25,30],furthermor:2,futur:[2,9,10,14,19,21,27],gcc:[17,28],gem5:21,gener:[0,2,3,5,6,7,8,9,10,13,15,16,17,21,24,25,26,27,31],generalpurpos:27,generatepredicatedcontiguousaddressblock:2,genericpredictor:4,get:[4,24,29],getcompletedread:14,getgroup:2,getrssiz:9,getter:5,ghz:27,git:[17,26],github:[17,21,26],give:3,given:[2,9,17,25,27],glean:17,global:[4,22,24,27],gmock:20,gninja:26,goal:21,googletest:[20,21],gracefulli:0,graph:24,grate:21,greater:[2,3,7,26],group:[0,7,9,27],groupinherit:2,gtest_filt:20,guarante:10,guidanc:17,guidelin:17,had:7,hal:21,halt:[0,2,7,9,31],hand:[9,17,20,27],handl:[2,3,7,9,10,16,19,25],handler:[1,9,16],happen:7,hard:3,hardcod:20,hardwar:[0,2,8,12,21,31],harri:21,has:[0,2,3,7,9,10,12,13,15,17,20,21,24,25,26,31],have:[2,3,7,8,9,12,13,19,20,21,22,24,25,26,28],head:[7,9],header:[13,17,24],heap:[5,20,27],heap_siz:[13,24],heirarchi:23,held:[2,3,4,20],help:17,helper:[3,15,20],henc:25,hepworth:21,here:[1,2,3,5,7,9,13,19,24,25,26,27,31],hex:[27,31],hexadecim:[13,31],hierarchi:[2,3,24,25],high:[7,19,26,27],high_network_0:[24,25],higher:[24,25],highest:[24,25],highli:2,histori:[4,17,27],hit:21,hold:[2,7,8,9,10,13,14,19,20],horizont:2,host:[5,16,26],hot:19,hour:21,how:[0,13,23,27,30],howev:[4,13,14,21,22,25,27],hpc:[2,21,26],html:17,http:26,hypothet:21,ideal:21,ident:25,identifi:[2,3,4,7,9,10,14,15,17,24],idl:9,ifac:24,illeg:2,illustr:31,imag:[5,13,24,29],imm:2,immedi:[1,2,3,12],implement:[0,1,3,10,14,16,20,21,25,27],implicit:2,implicitli:2,impos:7,improv:6,inaccess:9,inc:[2,3],includ:[1,2,8,13,14,17,21,22,24,27,31],inclus:27,inconsist:9,inconveni:2,incorrect:[2,3,7,19,20],incorrectli:[7,9],increas:[9,10],increment:[0,2,9,17,24,27],independ:[7,9,12],indetermin:14,index:[2,4,13,17,24,27],indic:2,individu:[0,2,9,12,15],industri:21,inevit:7,infer:3,infinit:21,info:[22,24,25],inform:[0,1,4,5,6,7,9,10,11,12,13,16,18,19,20,21,23,24,25,26,27,30,31],inherit:[2,20,25],initi:[0,4,5,7,9,12,13,14,22],initialheapdata_:20,initialis:[0,13,15,24],inord:20,inorderpipelin:27,input:[2,9,11,12,20],insert:[9,24],insid:[2,16,24,25],inspect:20,instal:[17,22,24,26,29],instanc:[0,2,3,4,6,9,10,14,16,18,20],instanti:[2,5,9,20,24,25],instantiate_test_suite_p:20,instantli:14,instead:[2,3,9,10,13,18,25,30],instneon:20,instruct:[1,4,5,7,8,9,10,11,13,15,18,19,20,21,24,31],instruction_address:[2,3],instruction_decod:[2,3],instruction_execut:[2,3],instruction_group:27,instructiongroup:[2,12],instructionmetadata:[2,3],insuffici:9,int_mul:3,int_simpl:2,int_simple_arth:2,int_simple_arth_noshift:2,int_simple_logical_noshift:2,integ:[2,3,27],integr:[14,17,21,22,24],intel:11,intend:18,interact:[11,14,16,20,24,25,29],interest:[19,28],interfac:[0,5,7,12,14,21,24,25],interleav:2,intern:[7,9,10,13,14,17,20,21,24,25,27],interoper:14,interpret:[2,3,13,24],introduc:17,intuit:[2,3],invalid:[2,7],invok:[2,13,16,20,31],irrevers:10,isa:[0,1,2,3,20,21,27],isatomic_:3,isbl_:2,isbranch_:[2,3],iscompare_:[2,3],isconvert_:2,isdivide_:3,isdivideorsqrt_:2,isload_:[2,3],islogical_:[2,3],ismultiply_:[2,3],isnoshift_:2,isol:20,ispredicate_:2,isret_:2,isscalardata_:2,isshift_:3,issmedata_:2,isstore_:3,isstoreaddress_:2,isstoredata_:2,issu:[5,17,19,21,26,27],issvedata_:2,isvectordata_:2,its:[0,2,5,7,9,10,13,19,20,21,24,25,27,28],itself:[1,5,12,14],ivi:11,jack:21,jame:21,jenkin:17,jone:21,just:[3,21,24],keep:[9,10,17,21,26],kei:2,kernel:[11,16,18,21],kind:25,know:21,knowledg:12,known:[2,4,12],l1_to_mem_link:24,l1cach:24,label:17,lack:19,larg:[17,24],larger:[3,13],largest:13,last:[7,24,25],late:7,latenc:[2,7,9,12,14],latency_:14,later:[0,2,3,7,9,14,20],latter:20,launch:24,ld1:2,ld_library_path:24,ldr:2,lead:21,leader:21,least:[2,3,9],leav:19,lee:21,left:4,length:27,less:[2,26],let:21,level:[2,3,21,24,25],leverag:21,lib:[2,3,17,22,24,25],librari:[2,3,6,7,17,20,21,24,26],libsimeng:24,libsstsimeng:[22,24],licens:21,lifecycl:11,lifetim:12,like:[2,7],likewis:2,limit:[0,9],lin:21,line:[21,24,31],linear:17,link1:24,link2:24,link:[2,4,5,20,26,28,29],linkabl:13,linux:[11,21,27],linuxprocess:11,list:[2,8,10,14,27],literatur:9,llvm:[20,21,26],llvm_dir:26,llvm_library_directori:26,load:[8,9,12,13,14,19,20,21,24,25,27],loadabl:[13,25],loadqueue_:7,loadstorequeu:[8,12,20,27],local:17,locat:[2,13,16,20,22,24],lock:10,logic:[2,3,4,7,8,9,20],longer:[9,10],look:[2,9,13,16],loop:[13,27],loopclos:4,low_netowrk_0:24,low_network_0:[24,25],lower:[2,3,4,24,25],lseek:16,lsq:[7,20],m2r2:17,machin:[0,12,26],macro:[0,2,7,9,11,25,27],made:[2,7,14,17,21],mai:[0,2,3,4,6,7,8,9,10,11,12,14,15,17,19,20],main:[0,2,17,20,21],maintain:[6,7,9,13,20,21],major:[3,21],make:[12,14,17,21,24,25],makefil:17,manag:[9,19],mani:[2,3,7,9,16,27],manipul:20,manner:[7,9],manual:[9,13,14,24],map:[2,9,10,16,27],mark:[7,9],marvel:21,match:[2,9,17,25],matrix:[9,21,27],max:27,max_addr_memori:22,max_addr_rang:24,maximum:[9,22,24],mcintosh:21,mean:25,meaning:17,mechan:[11,19],mediat:20,mem:2,mem_siz:24,membackend:25,member:[2,9,13],memcontrol:[24,25],memctrl:24,memhierarchi:[24,25],memlink:25,memori:[0,2,3,5,7,8,11,12,13,18,19,20,21,22,23,24,26],memoryaccesstarget:[2,14],memoryaddress:0,memoryaddresstarget:3,memoryaddressvalu:0,memorydata:2,memoryinterfac:[11,20],mention:[24,25],merg:[2,17],mesi:24,messag:17,met:9,metadata:[2,3,12,31],method:[2,3,4,9,10,17,24],mhz:27,micro:[0,2,7,9,12,27],microarchitectur:[21,24],microdecod:2,microopcod:2,microoper:20,mimic:20,mind:26,minim:27,minimis:[7,17,21],minsizerel:26,mirror:[2,3],mispredict:[9,19],miss:[3,9],mnemon:3,mock:20,mode:[2,7,27],model:[0,1,2,3,4,5,6,7,8,9,10,11,12,14,16,18,20,21,24,27,31],modern:[19,21,27,31],modif:0,modifi:[0,2,10,18,21],modifiedregist:0,modifiedregistervalu:0,modsim:21,modul:[22,24,25],moham:21,monitor:2,more:[0,1,2,3,5,9,10,12,13,14,19,21,24,25,26,27,31],most:[2,3,4,9,10,13,16,21,25,31],move:9,mrs:[2,27],much:[3,13],multi:[2,19,21,27],multipl:[2,7,9,12,13,17,20,21,25],multipli:[2,3],muneeb:21,must:[0,1,2,3,7,9,10,12,14,24,25,27,31],mutalib:21,mycor:24,mylink:24,name:[1,2,3,14,20,24,27],namespac:[2,12,25],natur:17,navig:[22,24],nearli:25,necessari:[0,2,3,10,12,25,26,29],necessit:19,need:[2,3,9,13,14,24,25],neon:2,network:25,newli:[2,10,14],next:[4,9,19,24,27],ninja:26,nmru:24,node:2,non:[9,20,27,31],none:2,normal:[2,9],notabl:13,note:[0,2,9,20,27],now:[7,12,24],num:22,num_cor:26,number:[0,2,3,7,9,10,13,14,15,19,21,24,27],number_of_cycl:27,number_of_entri:27,number_of_permitted_dispatches_per_cycl:27,numer:[7,9],nzcv:2,object:[0,1,2,5,8,9,10,12,13,15,20,25,31],obtain:[5,9,26],occup:9,occupi:[2,7],occur:[2,7,9,17],off:[4,12,22,26],offer:20,offici:25,offset:[2,13],often:[2,3,9,27],old:14,oldest:4,omit:31,omp_num_thread:13,onc:[2,3,7,9,12,14,20,26],one:[0,2,3,9,10,11,13,17,20,24,25,27],onli:[0,2,3,5,7,9,10,12,13,18,19,20,24,25,27],onto:[4,14,17],onward:16,ooo:21,op_count:2,opcod:[2,3],open:[13,16,17,21],openat:16,openmp:21,oper:[0,2,3,7,9,12,15,16,24,27],operand:[1,2,3,7,12],oppos:27,ops:[0,2,7,9,12,27],optim:21,optimis:26,option:[0,2,4,5,7,9,12,14,18,19,25,26,27,31],order:[1,2,7,8,9,10,11,14,16,17,21,25,27],origin:[9,14,21],other:[1,2,3,7,8,9,10,11,13,17,20,21,24,25,27],otherwis:[9,10,24],our:[2,28],out:[2,5,7,9,10,11,21,24,27],outcom:[4,7],outlin:17,outoford:[9,20,27],output:[2,7,9,11,20,22,25],outsid:20,over:[2,3,7,9,25],overal:17,overlap:[7,9],overridden:4,overview:25,own:[0,16,20,29],packag:[17,27],page:[13,17],pair:[2,12,27],parallel:26,param:25,paramet:[4,20,22,24,25,27],parameteris:[5,20,27,31],parent:[2,25],pars:[21,24],part:[6,13,27,31],partial:9,particular:3,particularli:19,pass:[0,3,4,5,7,9,12,15,16,17,20,21,22,24,31],passion:21,path:[5,13,22,24,26,29,31],path_to_docs_root:17,path_to_simeng:22,path_to_simeng_instal:24,pend:[7,9,12],pendingrequests_:14,peopl:17,per:[2,7,9,26,27],perform:[0,2,3,7,9,10,12,14,16,17,19,20,21,25,27],period:7,permiss:21,permit:[7,12,27],persist:20,physic:[9,10,13,27],physical_package_id:27,pid:13,piec:[12,17],pip:17,pipelin:[3,6,7,18,19,20],pipelinebuff:9,place:[2,7,9,19,21],placehold:2,plan:27,pleas:[2,17,18,21,22,25,26,30],pmccntr:2,pmu:31,poenaru:21,point:[2,7,9,10,13,15,25,27],pointer:13,pop:4,popul:[2,3,5,13,20],port:[5,9,12,22,24,25],port_lat:24,port_nam:[24,27],portnam:27,posit:[2,7],possibl:[2,3,4,7,9,17,21,26],post:2,power:[21,27],pre:[2,7,9,17,20,26,27,29],prebuilt:26,predefin:14,predic:[2,27],predict:[6,9,18,19,27],predictor:[5,6,9],prefix:[24,31],prepar:13,present:[0,1,2,7,12,22,24,25,27],prevent:[3,9,10],previou:14,previous:[2,10,27],price:21,primari:[0,2,3],primarili:[2,3,7,14,15,21,26,27],print:[0,22],prior:[5,12,20],prioriti:2,privat:13,problem:[9,17],proc:[16,27],proce:[9,13],proceed:[4,19,27],process:[0,2,3,5,7,9,12,13,14,17,19,20,24],processimag:13,processor:[1,2,6,7,8,9,10,11,12,17,19,20,21,22,27,31],processstatechang:0,produc:[9,12,31],professor:21,program:[2,3,7,9,13,16,19,20,31],programm:[2,27],progress:19,project:20,properti:[2,3,27],provid:[0,1,2,3,4,7,8,9,10,13,15,16,17,19,20,21,23,24,25,27,30,31],proxi:20,pseudoinstruct:20,publicli:17,pull:[9,17,21],purpos:[10,15,27],push:[4,14],python:[24,25],quantiti:0,queri:[0,9,10],question:2,queue:[7,8,9,14,19],quit:3,rahat:21,rais:[9,16,17],ram:25,rang:[2,11,13,14,21],rapidli:19,rare:7,rat:10,rate:[9,22,27],rather:[3,14,16],ratifi:3,raw:[10,13,31],reach:[2,9],read:[2,3,7,9,12,14,15,16,20,21,27],readi:[7,9,14],readyat:14,real:[0,2,21,28],reason:[0,2,3,7,31],rebas:17,receiv:[7,12,14,25],recent:[4,9,13],reciev:25,recommend:[2,3,17,26],record:[10,27],recurs:2,reduc:[2,3],refer:[0,2,5,7,9,12,18,25,27,30],referenc:[13,27],refin:20,reflect:27,reg:2,regard:[13,24,25],regardless:2,regex:20,region:[5,9,19],regist:[0,1,6,7,8,9,11,12,18,19,20,22,24,25],registeraliast:6,registerfileset:6,registervalu:[2,3,10,11,14],registr:25,registri:24,regress:[2,17,21,26],regressiontest:20,regular:20,regularli:17,reinstat:10,rel:[2,3,31],relat:[1,7,9,10,11,14,20,25],relationship:[2,27],releas:[26,29],release_not:21,relev:[2,3,4,5,7,9,12,13,17,21],reli:[9,22,24],relwithdebinfo:26,remain:[1,2,3,7,9,10,22],remaind:7,remov:[7,9,14],renam:[9,10,19,27],renameunit:[7,8],reorder:[8,9,19],reorderbuff:[7,8,9],repeat:2,replac:0,replacement_polici:24,replica:27,repo:21,report:[12,26],repositori:21,repres:[0,2,3,6,7,8,9,10,12,14,15,25,27],represent:[2,8],request:[0,7,9,12,14,15,17,21,24,25,27],request_width:24,requestentri:7,requestfrompc:9,requestid:14,requestloadqueue_:7,requeststorequeue_:7,requir:[0,2,3,7,8,9,13,17,21,22,24,25,26,27],reserv:[9,11,19],reset:9,resid:13,resolv:7,resourc:7,respect:[2,4,7,14,20,21,27],respond:[9,14],respons:[0,1,2,3,7,9,10,14,25],rest:[2,22,25],restrict:7,result:[2,3,7,9,12,14,19],resum:[0,7,9],retir:[2,7,9,10,12,27],retriev:[0,2,9,10,14],reus:11,reusabl:8,revers:[2,7,10],review:17,revis:27,rewind:8,right:2,risc:[3,18,21,27,28],riscv:[1,20],riscvgeninstrinfo:3,riscvregressiontest:20,rob:[7,9,27],robinson:21,role:0,root:[2,21,29,31],row:2,rtd:17,run:[2,3,13,17,21,22,23,25,26,29,30],run_aarch64:20,run_riscv:20,runtim:[16,24,27],rutterford:21,rv64:27,rv64ima:[3,21],s005072:21,safe:10,said:[2,7,13,20],same:[2,3,7,9,11,14,16,20,21,22,24,25,27],sanitis:26,satisfi:10,satur:[4,27],save:9,scalabl:[21,27],scalar:[2,21],scalar_simple_arth:2,scan:7,schedul:19,scheme:27,scope:[2,3,11],scoreboard:9,sdl:24,search:7,second:[2,20,24],secondari:7,secondli:[2,26],section:[2,13,17,21,24,25,27],see:[2,7,9,10,27],seek:[13,27,30],seen:[2,9],segment:13,select:[5,7,17,19,20,26,27,31],self:[8,17],send:[7,25],sent:[7,12,27],separ:[2,11],seper:27,sequenc:[7,12],sequenti:[4,20],seriou:17,serv:[5,20,25],servic:8,session:29,set:[0,1,2,3,5,6,7,8,9,10,11,12,13,15,19,20,21,24,26,31],setmemoryaddress:[2,3],setsubcompon:24,seunghun:21,seventh:21,sever:[2,27,31],sha1:27,sha2:27,share:[7,9,24],shift:[2,3],should:[0,2,3,7,10,12,14,17,20,21,22,24,26,27],shown:[2,21],sign:2,signal:21,signific:17,simeng:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,28,29,30],simeng_install_directori:[26,31],simeng_optim:26,simeng_repositori:31,simengcor:[22,25],simengcorewrapp:[22,24],similar:[2,3,7,9,10,11,14,19,20,27],similarli:[2,9,11],simon:21,simpl:[2,3,10,14,19,21],simpledram:25,simplemem:[24,25],simplemembackend:25,simplemembackendconvertor:25,simplememorybackendconvertor:25,simpler:14,simplest:[17,19],simpli:[0,2,7,9],simplic:19,simplifi:2,simul:[0,5,7,10,14,16,17,18,19,20,22,23,25,27],sinc:[7,24,25],singl:[2,3,7,9,10,12,17,19,20,21],sit:[5,25],site:17,situat:[2,10],size:[0,7,9,10,13,15,24,25],skip:9,slice:2,slightli:9,slot:[7,9,22,24,25],slot_index:24,slot_nam:24,slower:19,small:[2,3,17,21],sme:[2,21,27],smith:21,smoketest:20,smt:27,socket:27,softwar:21,sole:17,solv:[2,17],some:[2,3,9,10,12,16,24,25],sometim:10,sophist:21,sort:3,sourc:[2,9,12,17,20,21,25,26,29],space:[5,9,13,21,27],special:[5,16,27],specialfil:[16,27],specif:[0,1,2,3,4,7,9,12,15,17,20,21,24,27],specifi:[0,2,10,13,21,24,25,26,31],specul:[4,7,9,19],speed:2,spend:27,sphinx:17,split:[7,9,12,13,20,27,31],squar:2,src:[2,3,17,20,31],sst:[17,21,23],sstpartition:22,sstsimeng:[22,24],stack:[4,5,13,27],stack_siz:[13,24],stage:[7,8,9,12,17,19,20,24,27],stale:14,stall:9,standalon:22,standard:[2,3,5,7,8,9,20],standardis:1,start:[2,7,13,17,21,24,25],state:[7,9,10,13,20],statement:[2,3],station:[9,11,19],statist:[22,31],statisticgroup:24,statisticoutput:24,statu:[21,27],stderr:16,stdin:16,stdout:16,step:[2,9,12,24],still:[2,9],stop:[9,14],store:[4,8,9,10,13,14,15,19,20,21,24,25,27],storequeue_:7,str:2,stream:[9,12,19,27],string:[5,20,22,24,27],strip:24,strongli:2,struct:7,structur:[1,2,3,4,7,9,11,13,18,19,20,21,27],studi:2,style:[12,19,27,31],sub:[2,24],subcompon:22,subgroup:2,submit:[2,7,17,21],subroutinecal:4,subsequ:[5,9],subset:[9,21],success:[9,22,31],successfulli:24,suffici:[2,3],suit:[8,17,19,21,26],suitabl:19,summari:[17,31],superscalar:[9,19,21,27],supervisor:[2,3,7,16,20],suppli:[0,2,3,4,5,6,7,9,10,12,13,14,19,20,31],supplystoredata:7,support:[0,1,2,3,4,5,6,7,9,11,12,13,14,16,19,20,21,22,24,26,27],sure:[24,25],sve2:21,sve:[2,21,27],sve_merge_store_data:2,swap:19,synchron:14,synchronis:10,syntax:17,sys:27,syscal:[2,3,16,20],system:[1,3,7,10,11,13,14,17,18,20,21,24,26,27,31],systemregist:20,systemregistermap_:2,tabl:[2,3,9,10,13,19],tag:[15,27,31],tail:9,take:[2,7,20,24,25,26,27],taken:[2,4,5,7,9,27],target:[2,4,7,9,20,21,26,27,29],task:[7,9],team:[17,21],templat:[2,15],term:[8,9],termin:[0,2,10],tertiari:[2,3],test:[2,18,19,21,26],test_case_nam:20,test_nam:20,test_p:20,textual:2,than:[3,7,9,13,14,16,21,26,27],thei:[2,3,7,9,11,12,17,20,21,24],them:[2,5,7,9,17,20,25,27],theme:17,themselv:[7,18],therefor:[2,7,9,12,20,26],thi:[0,1,2,3,4,5,7,9,10,11,12,13,14,15,16,17,19,20,21,22,24,25,26,27,31],thin:15,those:[2,3,6,11,16,17,18,19,20,27,30],thread:[3,21,27],three:[9,20,25,27],threshold:27,through:[0,1,2,3,4,7,9,12,13,16,18,19,20,24,25,26,27,31],throughout:[0,7,9,20],throughput:[9,27],thu:[2,8,19,20],thunderx2:[11,19,21,27,31],tick:[2,9,24,25],tickcounter_:14,tie:7,tile:2,time:[0,2,7,9,10,14,21,25],timer:[1,27],togeth:[5,9,24],toggl:27,tom:21,too:[7,21],tool:[1,17,20],toolkit:[17,21],top:[2,3,5,9,20],topolog:27,total:[2,27],track:[3,7,9,13],transfer:13,transform:[14,19],transit:7,translat:[10,24,25,27],travers:2,treat:[2,9,13],tree:27,tri:21,trigger:[7,9,27],tripl:20,trivial:[9,20],tune:31,tupl:24,two:[2,7,9,11,13,22,24,25,26],tx2:31,txt:21,type:[0,1,2,4,9,10,11,12,13,15,25,27],typic:[0,2,7,8,9,10,12,20,21,27],uint64_t:14,ukri:21,unabl:2,unalloc:10,unchang:2,uncommit:10,uncondit:4,undefin:19,under:[2,3,5,20,21,24,27,31],underli:[2,5,10],understand:[17,21,23,24],undertook:1,unhind:3,unifi:11,unimpl:21,uniqu:[0,2,3,14,15,24,27],unit:[2,4,6,7,8,11,12,14,17,21,24,26],univers:21,unknown:[2,27],unlik:[2,7,9,27],unmap:9,unnecessari:2,unordered_map:2,unprivileg:3,unrealist:20,unrecognis:2,unseen:2,unstal:9,unsupport:2,until:[0,2,7,9,12],unus:27,uob:26,uobhpc:29,uop:12,updat:[0,1,2,4,9,10,14,15,27],updatesystemtimerregist:2,upon:[0,15],upper:[2,25],usabl:2,usag:[2,3,4,5],use:[0,1,2,3,4,5,7,9,10,11,12,17,19,20,21,22,24,25,26,27,29,31],used:[2,3,5,7,9,10,12,13,14,15,20,22,24,25,26,27,28,31],useful:[1,2],user:[2,3,12,16,17,18,21,24,27,30],uses:[2,3,4,7,9,10,13,20,23,24,25,28,31],using:[0,2,3,5,10,12,14,15,17,19,20,21,22,24,25,26,27],usual:[2,3,26],util:2,utilis:[4,5,7,14,20],valid:[2,3,7,9,10,27],valu:[0,1,2,3,4,7,9,10,12,13,14,20,26,27],vari:0,variabl:[2,3,13,22,24],variant:[2,4,27],varieti:[2,3,7,25],variou:[0,5,8,12],vast:2,vector:[0,3,9,20,21,27],vector_:2,vector_simple_arth:2,veri:[3,24,26],verifi:[9,22,26],version:[2,14,21,22,26,29],versu:11,vertic:2,via:[2,3,7,14,16,17,19,20,21,25],violat:7,virtual:[2,13,16,21,24,27],visibl:17,visual:2,vital:3,wai:[1,24],wait:[0,7,9],waitingcommit:9,wang:25,want:[2,21,29],waugh:21,weakest:4,weaver:21,welcom:17,well:[3,6,7,12,15,17,19,20,21,24,25],were:2,what:[2,12,17,20],when:[0,2,7,9,10,12,14,16,17,20,21,25,26,27],where:[0,2,9,10,12,17,26,27],wherea:[24,25],wherebi:2,whether:[0,2,9,12,27],which:[0,1,2,3,4,6,7,8,9,10,11,12,13,15,16,17,19,20,21,22,24,25,26,27,29,31],whichev:26,whilst:[2,3,4,7,20,21,31],who:18,whole:2,wholli:27,whose:11,why:31,wide:[9,11,14,21],width:24,wilkinson:21,wish:[18,21],within:[0,2,3,4,5,7,9,10,12,13,15,17,20,21,24,27],without:[2,22,26,27,31],work:[1,3,9,17,21,25,26],workload:[5,13,28,31],workshop:21,would:[0,2,3,20,27],wrap:24,wrapper:[10,14,15,22,25],write:[2,3,7,9,12,14,16,27],writeback:[2,9,19,27],writebackunit:[7,8],writev:16,written:[0,2,7,9,12,14,20,27],wzr:2,x19:2,x86:[11,21],xor:4,xori:3,xzr:2,yaml:[13,21,22,24,27,31],yet:[2,9],you:[2,17,21,22,24,26,29],youngest:7,your:[2,17,21,26,29],yourself:2,zero:19,ziqi:25},titles:["Abstract Structure","Architectures","AArch64","RISCV","Branch prediction","Core Instance","Simulation Components","Common Components","Pipeline","Pipeline Units","Register Files","Simulation Concepts","Instructions","Kernel","Memory","Registers","System Calls","Developer information","Overview","Models","Testing","The Simulation Engine - SimEng","Building SimEng with SST","Overview","Running SimEng with SST","Understanding SST","Building SimEng","Configuring SimEng","Creating Binaries","Docker","Overview","Running SimEng"],titleterms:{"abstract":0,"class":25,"function":2,Adding:[2,3],Ops:12,The:21,aarch64:[2,20],addit:2,address:12,alias:2,alloc:10,approach:24,archetyp:19,architectur:[0,1],architecturalregisterfileset:10,behaviour:[2,3,9],binari:28,branch:[4,27],buffer:[7,9],build:[22,26],cach:[24,25],call:16,chang:0,code:17,commit:[7,10,17],commitmicroop:7,common:[2,7],compon:[6,7,24,25],concept:11,configur:[24,27,31],connect:24,content:[2,3,20],contribut:17,contributor:21,core:[5,25,27],counter:2,cpu:27,creat:28,cstool:2,current:[19,20],data:[12,27],declar:24,decod:[0,2,3,12],decodeunit:9,detect:7,develop:17,directori:17,dispatch:9,dispatchissueunit:9,docker:29,document:17,elf:13,emul:19,engin:21,except:[0,9],execut:[2,3,12,27],executeunit:9,extens:2,extern:21,featur:21,fetch:[9,27],fetchunit:9,file:[10,16,31],fixedmemoryinterfac:14,flatmemoryinterfac:14,forward:9,fund:21,gener:[4,12],group:[2,3,12],handl:0,handler:0,hardwar:19,helper:2,imag:27,implement:2,info:27,inform:[2,17],input:16,instanc:5,instruct:[0,2,3,12,27],interfac:27,issu:[2,9],kernel:13,latenc:27,lifecycl:[12,20],link:[24,25],linux:13,linuxprocess:13,load:[2,3,7],loadstorequeu:7,loop:[7,9],lsq:27,macro:12,main:25,mappedregisterfileset:10,matrix:2,membackend:24,memori:[9,14,25,27],memorybackend:25,memorycontrol:[24,25],memoryinterfac:14,model:[19,25],operand:9,order:19,out:19,output:[16,31],overview:[18,23,30],pars:13,pipelin:[8,9,27],port:27,post:12,pre:0,predict:4,predictor:[4,27],prerequisit:[22,26],present:21,process:27,project:21,pseudoinstruct:3,queue:27,readi:12,regist:[2,3,10,15,27],registeraliast:10,registerfileset:10,registervalu:15,regress:20,releas:21,renameunit:9,reorder:7,reserv:[7,27],result:0,rewind:10,risc:20,riscv:3,run:[20,24,31],scalabl:2,set:27,setup:24,simeng:[21,22,24,25,26,27,31],simengcor:24,simul:[6,11,21,24,31],size:27,split:2,sst:[22,24,25],standardinterfac:[24,25],standardmem:25,state:0,station:27,step:22,store:[2,3,7,12],structur:[0,17],style:17,subcompon:[24,25],suit:20,system:[2,16],talk:21,test:[17,20],tick:[0,7],timer:2,todo:[7,9,17],understand:25,unit:[9,20,27],usag:21,valid:22,vector:2,width:27,writebackunit:9,zero:[2,3]}}) \ No newline at end of file