Simulators ntawm computer systems: ib tug paub tag nrho-platform simulator thiab tsis paub clockwise thiab kab

Hauv qhov thib ob ntawm tsab xov xwm hais txog lub tshuab computer simulators, kuv yuav txuas ntxiv mus tham hauv daim ntawv qhia yooj yim txog lub computer simulators, uas yog hais txog lub platform simulation, uas cov neeg siv nruab nrab feem ntau ntsib, nrog rau lub moos-los ntawm. -clock qauv thiab kab, uas muaj ntau dua nyob rau hauv lub voj voog tsim tawm.

Simulators ntawm computer systems: ib tug paub tag nrho-platform simulator thiab tsis paub clockwise thiab kab

Π’ thawj ntu Kuv tau tham txog dab tsi simulators feem ntau, nrog rau cov theem ntawm simulation. Tam sim no, raws li qhov kev paub ntawd, kuv thov kom dhia dej me ntsis tob dua thiab tham txog kev sim ua kom tiav lub platform, yuav ua li cas sau cov cim, yuav ua li cas nrog lawv tom qab, nrog rau txog moos-los-clock microarchitectural emulation.

Tag nrho lub platform simulator, lossis "Ib leeg hauv thaj teb tsis yog tub rog"

Yog tias koj xav kawm txog kev ua haujlwm ntawm ib lub cuab yeej tshwj xeeb, piv txwv li, daim npav network, lossis sau firmware lossis tus neeg tsav tsheb rau cov cuab yeej no, ces cov cuab yeej zoo li no tuaj yeem sim sib cais. Txawm li cas los xij, siv nws nyob rau hauv kev sib cais los ntawm tus so ntawm cov infrastructure tsis yooj yim heev. Txhawm rau khiav tus tsav tsheb sib xws, koj yuav xav tau lub hauv paus processor, nco, nkag mus rau cov ntaub ntawv npav, thiab lwm yam. Tsis tas li ntawd, tus tsav tsheb yuav tsum muaj kev khiav hauj lwm (OS) thiab pawg network ua haujlwm. Tsis tas li ntawd, yuav tsum muaj lub tshuab hluav taws xob sib cais thiab cov neeg rau zaub mov teb.

Lub platform tag nrho simulator tsim ib qho chaw rau kev khiav ib qho software ua tiav, uas suav nrog txhua yam ntawm BIOS thiab bootloader rau OS nws tus kheej thiab nws cov subsystems ntau yam, xws li tib lub network pawg, tsav tsheb, thiab cov neeg siv cov ntawv thov. Txhawm rau ua qhov no, nws siv cov qauv software ntawm cov khoos phis tawj feem ntau: processor thiab nco, disk, input / output li (keyboard, nas, zaub), nrog rau tib daim npav network.

Hauv qab no yog daim duab thaiv ntawm x58 chipset los ntawm Intel. Lub khoos phis tawj puv npo ntawm lub chipset no yuav tsum tau ua raws li feem ntau ntawm cov khoom siv tau teev tseg, suav nrog cov hauv IOH (Input/Output Hub) thiab ICH (Input/Output Controller Hub), uas tsis tau piav qhia meej hauv daim duab thaiv. . Txawm hais tias, raws li kev xyaum qhia, tsis muaj ntau yam khoom siv uas tsis siv los ntawm software uas peb yuav khiav. Cov qauv ntawm cov khoom siv zoo li no tsis tas yuav tsim.

Simulators ntawm computer systems: ib tug paub tag nrho-platform simulator thiab tsis paub clockwise thiab kab

Feem ntau, tag nrho-platform simulators tau ua tiav ntawm qib kev qhia ua haujlwm (ISA, saib hauv qab). tsab xov xwm dhau los). Qhov no tso cai rau koj los tsim lub simulator nws tus kheej kuj sai thiab pheej yig. Qib ISA kuj yog qhov zoo vim tias nws tseem tshuav ntau dua lossis tsawg dua, tsis zoo li, piv txwv li, qib API / ABI, uas hloov ntau zaus. Tsis tas li ntawd, kev siv ntawm qib kev qhia tso cai rau koj los khiav qhov hu ua unmodified binary software, uas yog, khiav twb compiled code yam tsis muaj kev hloov pauv, raws nraim li nws tau siv ntawm cov khoom siv tiag tiag. Hauv lwm lo lus, koj tuaj yeem ua ib daim ntawv luam ("pob pov tseg") ntawm koj lub hard drive, qhia nws ua duab rau tus qauv hauv lub platform simulator, thiab voila! - OS thiab lwm yam kev pab cuam raug thauj khoom hauv simulator yam tsis muaj kev ua ntxiv.

Kev ua haujlwm ntawm Simulator

Simulators ntawm computer systems: ib tug paub tag nrho-platform simulator thiab tsis paub clockwise thiab kab

Raws li tau hais los saum toj no, cov txheej txheem ntawm simulating tag nrho cov system, uas yog, tag nrho nws cov khoom siv, yog qhov ua haujlwm qeeb. Yog tias koj tseem siv tag nrho cov no ntawm cov ncauj lus kom ntxaws heev, piv txwv li, microarchitectural lossis logical, tom qab ntawd kev ua tiav yuav qeeb heev. Tab sis qib kev qhia yog qhov kev xaiv tsim nyog thiab tso cai rau OS thiab cov kev pabcuam ua haujlwm ntawm qhov nrawm txaus rau cov neeg siv los cuam tshuam nrog lawv yooj yim.

Ntawm no nws yuav tsim nyog los kov rau lub ntsiab lus ntawm kev ua haujlwm simulator. Nws feem ntau yog ntsuas hauv IPS (cov lus qhia ib ob), ntau qhov tseeb hauv MIPS (million IPS), uas yog, tus naj npawb ntawm cov lus qhia ua haujlwm los ntawm lub simulator hauv ib thib ob. Nyob rau tib lub sijhawm, qhov ceev ntawm qhov simulation kuj nyob ntawm qhov kev ua tau zoo ntawm qhov system uas lub simulation nws tus kheej khiav. Yog li ntawd, nws yuav yog qhov tseeb dua los tham txog qhov "slowdown" ntawm lub simulator piv rau lub hauv paus system.

Cov kev simulators uas muaj ntau tshaj plaws ntawm kev ua lag luam, xws li QEMU, VirtualBox lossis VmWare Workstation, muaj kev ua tau zoo. Tej zaum nws yuav tsis pom tseeb rau tus neeg siv uas ua haujlwm tau mus rau hauv lub simulator. Qhov no tshwm sim ua tsaug rau qhov tshwj xeeb virtualization muaj peev xwm siv hauv processors, binary translation algorithms thiab lwm yam nthuav. Qhov no yog tag nrho cov ntsiab lus rau ib tsab xov xwm cais, tab sis nyob rau hauv luv luv, virtualization yog ib tug kho vajtse feature ntawm niaj hnub processors uas tso cai rau simulators tsis mus simulate cov lus qhia, tab sis xa lawv mus rau kev tua ncaj qha mus rau ib tug tiag tiag processor, yog hais tias, ntawm chav kawm, lub architectures. Lub simulator thiab processor yog zoo sib xws. Binary translation yog kev txhais lus ntawm cov qhua tshuab code rau hauv tus tswv code thiab tom qab ua tiav ntawm tus processor tiag. Yog li ntawd, qhov kev simulation tsuas yog qeeb me ntsis, 5-10 zaug, thiab feem ntau txawm khiav ntawm tib qhov ceev raws li qhov system tiag. Txawm hais tias qhov no tau cuam tshuam los ntawm ntau yam. Piv txwv li, yog tias peb xav simulate lub kaw lus nrog ntau lub kaum os processors, ces qhov ceev yuav poob tam sim ntawd los ntawm ob peb lub sij hawm. Ntawm qhov tod tes, simulators zoo li Simics nyob rau hauv qhov tseeb versions txhawb multiprocessor host hardware thiab zoo parallelize lub simulated cores mus rau lub cores ntawm ib tug tiag tiag processor.

Yog tias peb tham txog qhov ceev ntawm microarchitectural simulation, feem ntau nws yog ntau qhov kev txiav txim ntawm qhov loj, txog 1000-10000 lub sij hawm qeeb dua li kev ua tiav ntawm lub computer tsis tu ncua, tsis muaj simulation. Thiab kev siv ntawm cov ntsiab lus ntawm cov ntsiab lus yog qeeb qeeb los ntawm ntau qhov kev txiav txim ntawm qhov loj. Yog li, FPGA yog siv los ua tus emulator ntawm qib no, uas tuaj yeem ua kom muaj kev ua tau zoo.

Daim duab hauv qab no qhia txog kwv yees qhov kev cia siab ntawm simulation ceev ntawm tus qauv nthuav dav.

Simulators ntawm computer systems: ib tug paub tag nrho-platform simulator thiab tsis paub clockwise thiab kab

Beat-by-beat simulation

Txawm hais tias lawv qhov kev ua tiav qis qis, microarchitectural simulators muaj ntau heev. Kev simulation ntawm cov blocks sab hauv ntawm lub processor yog qhov tsim nyog txhawm rau txhawm rau simulate lub sijhawm ua tiav ntawm txhua qhov kev qhia. Kev nkag siab yuam kev tuaj yeem tshwm sim ntawm no - tom qab tag nrho, nws yuav zoo li, vim li cas ho tsis tsuas yog program lub sijhawm ua tiav rau txhua qhov kev qhia. Tab sis xws li ib tug simulator yuav tsis raug heev, txij li thaum lub sij hawm ua tiav ntawm tib txoj kev qhia yuav txawv ntawm kev hu mus rau hu.

Qhov piv txwv yooj yim tshaj plaws yog kev qhia kev nco txog kev nkag. Yog hais tias qhov kev thov nco qhov chaw muaj nyob rau hauv lub cache, ces lub sij hawm ua tiav yuav tsawg. Yog tias cov ntaub ntawv no tsis nyob hauv lub cache ("cache miss"), ces qhov no yuav ua rau kom lub sijhawm ua tiav ntawm cov lus qhia. Yog li, tus qauv cache yuav tsum tau ua kom raug simulation. Txawm li cas los xij, qhov teeb meem tsis txwv rau tus qauv cache. Lub processor yuav tsis tsuas tos kom tau cov ntaub ntawv los ntawm lub cim xeeb thaum nws tsis nyob hauv lub cache. Hloov chaw, nws yuav pib ua raws cov lus qhia tom ntej, xaiv cov uas tsis nyob ntawm qhov kev nyeem ntawv los ntawm kev nco. Qhov no yog qhov hu ua "out of order" execution (OOO, out of order execution), tsim nyog los txo lub sijhawm ua haujlwm ntawm lub processor. Kev ua qauv ntawm cov txheej txheem sib xyaw ua ke yuav pab coj txhua yam no rau hauv tus account thaum xam lub sijhawm ua tiav ntawm cov lus qhia. Ntawm cov lus qhia no, ua tiav thaum lub txiaj ntsig ntawm kev nyeem ntawv los ntawm kev nco yog tos, lub sijhawm dhia ua haujlwm yuav tshwm sim. Yog tias qhov tshwm sim ntawm qhov xwm txheej tsis paub tam sim no, tom qab ntawd rov ua dua lub processor tsis tso tseg, tab sis ua rau "xav", ua cov ceg tsim nyog thiab txuas ntxiv ua cov lus qhia los ntawm kev hloov pauv. Xws li ib qho thaiv, hu ua ceg kwv yees, yuav tsum tau ua tiav hauv microarchitectural simulator.

Daim duab hauv qab no qhia txog cov blocks tseem ceeb ntawm lub processor, nws tsis tas yuav tsum paub nws, nws tsuas yog qhia qhov nyuaj ntawm kev siv microarchitectural.

Simulators ntawm computer systems: ib tug paub tag nrho-platform simulator thiab tsis paub clockwise thiab kab

Kev ua haujlwm ntawm tag nrho cov blocks no hauv lub processor tiag yog synchronized los ntawm cov cim moos tshwj xeeb, thiab tib yam tshwm sim hauv cov qauv. Xws li microarchitectural simulator yog hu ua lub voj voog raug. Nws lub hom phiaj tseem ceeb yog txhawm rau kwv yees qhov ua tau zoo ntawm cov processor tau tsim thiab / lossis suav lub sijhawm ua tiav ntawm ib qho kev pabcuam tshwj xeeb, piv txwv li, tus qauv ntsuas. Yog tias tus nqi qis dua li qhov xav tau, ces nws yuav tsum tau hloov kho cov algorithms thiab processor blocks los yog optimize qhov kev pab cuam.

Raws li qhia saum toj no, moos-los-clock simulation yog qeeb heev, yog li nws tsuas yog siv thaum kawm qee lub sijhawm ntawm kev ua haujlwm ntawm qhov kev zov me nyuam, qhov twg nws yog qhov tsim nyog los tshawb xyuas qhov nrawm ntawm kev ua tiav ntawm qhov program thiab ntsuas qhov kev ua haujlwm yav tom ntej ntawm cov cuab yeej uas nws. prototype tab tom simulated.

Nyob rau hauv rooj plaub no, ib tug functional simulator yog siv los simulate lub sij hawm khiav hauj lwm ntawm qhov kev pab cuam. Qhov kev siv sib xyaw ua ke no tshwm sim li cas hauv kev muaj tiag? Ua ntej, lub functional simulator yog launched, uas lub OS thiab txhua yam tsim nyog los khiav qhov kev pab cuam nyob rau hauv kev kawm yog loaded. Tom qab tag nrho, peb tsis txaus siab rau OS nws tus kheej, los yog nyob rau hauv thawj theem ntawm launching qhov kev pab cuam, nws configuration, thiab lwm yam. Txawm li cas los xij, peb kuj tsis tuaj yeem hla cov ntu no thiab tam sim ntawd txav mus rau kev ua tiav qhov kev pab cuam los ntawm nruab nrab. Yog li ntawd, tag nrho cov kauj ruam ua ntej no yog khiav ntawm lub functional simulator. Tom qab qhov kev zov me nyuam tau ua tiav rau lub sijhawm txaus siab rau peb, ob qho kev xaiv muaj peev xwm ua tau. Koj tuaj yeem hloov tus qauv nrog lub moos-los ntawm-lub voj voog qauv thiab txuas ntxiv ua tiav. Hom kev simulation uas siv cov lej ua tau zoo (uas yog, cov ntaub ntawv sau ua haujlwm tsis tu ncua) hu ua execution driven simulation. Qhov no yog qhov kev xaiv simulation tshaj plaws. Lwm txoj hauv kev kuj tseem ua tau - taug kev tsav simulation.

Trace-based simulation

Nws muaj ob kauj ruam. Siv lub simulator ua haujlwm lossis ntawm qhov system tiag tiag, lub cav ntawm cov haujlwm ua haujlwm raug sau thiab sau rau hauv cov ntaub ntawv. Lub cav no hu ua ib txoj kab. Nyob ntawm seb qhov twg yog qhov raug tshuaj xyuas, cov kab ke yuav suav nrog cov lus qhia ua tau, chaw nyob nco, tus lej chaw nres nkoj, thiab cov ntaub ntawv cuam tshuam.

Cov kauj ruam tom ntej yog "ua si" cov kab, thaum lub moos-los-clock simulator nyeem cov kab thiab ua tiav tag nrho cov lus qhia sau rau hauv nws. Thaum kawg, peb tau txais lub sijhawm ua tiav ntawm daim ntawv thov no, nrog rau ntau yam ntawm cov txheej txheem no, piv txwv li, feem pua ​​​​ntawm hits hauv lub cache.

Ib qho tseem ceeb ntawm kev ua hauj lwm nrog cov kab mob yog kev txiav txim siab, uas yog, los ntawm kev khiav lub simulation raws li tau piav qhia saum toj no, ntau dua thiab ntau dua peb rov tsim dua tib lub sijhawm ntawm kev ua. Qhov no ua rau nws ua tau, los ntawm kev hloov cov qauv tsis (cache, tsis thiab qhov ntau thiab tsawg) thiab siv cov algorithms sib txawv los yog kho lawv, los kawm seb qhov kev ntsuas tshwj xeeb cuam tshuam li cas rau kev ua haujlwm thiab qhov kev xaiv twg muab cov txiaj ntsig zoo tshaj plaws. Tag nrho cov no tuaj yeem ua tiav nrog cov qauv khoom siv ua ntej ua ntej tsim cov qauv kho vajtse tiag tiag.

Qhov nyuaj ntawm txoj kev no yog nyob rau hauv qhov yuav tsum tau ua ntej khiav daim ntawv thov thiab sau cov kab, nrog rau qhov loj loj ntawm cov ntaub ntawv kab. Qhov zoo muaj xws li qhov tseeb tias nws txaus los simulate tsuas yog ib feem ntawm lub cuab yeej lossis lub platform ntawm kev txaus siab, thaum simulation los ntawm kev ua tiav feem ntau yuav tsum tau ua tiav cov qauv.

Yog li, nyob rau hauv tsab xov xwm no peb saib cov yam ntxwv ntawm tag nrho-platform simulation, tham txog kev ceev ntawm kev siv ntawm ntau theem, moos-los ntawm-lub voj voog simulation thiab kab. Nyob rau hauv tsab xov xwm tom ntej no kuv yuav piav qhia txog cov xwm txheej tseem ceeb rau kev siv simulators, ob qho tib si rau tus kheej lub hom phiaj thiab los ntawm kev txhim kho qhov pom ntawm cov tuam txhab loj.

Tau qhov twg los: www.hab.com

Ntxiv ib saib