Similatè nan sistèm òdinatè: yon similatè abitye plen-platfòm ak enkoni nan direksyon goch ak tras

Nan dezyèm pati a nan atik la sou simulateur sistèm òdinatè, mwen pral kontinye pale nan yon fòm entwodiksyon senp sou simulateur òdinatè, sètadi sou simulation plen platfòm la, ki itilizatè mwayèn rankontre pi souvan, osi byen ke sou revèy la. -revèy modèl ak tras, ki pi komen nan ti sèk pwomotè.

Similatè nan sistèm òdinatè: yon similatè abitye plen-platfòm ak enkoni nan direksyon goch ak tras

В premye pati a Mwen te pale sou sa ki simulateur yo an jeneral, osi byen ke sou nivo yo nan simulation. Koulye a, ki baze sou konesans sa a, mwen pwopoze plonje yon ti kras pi fon epi pale sou simulation plen-platfòm, ki jan yo kolekte tras, kisa yo fè ak yo pita, osi byen ke revèy-pa-revèy imitasyon mikwo-achitekti.

Similatè platfòm konplè, oswa "Pou kont li nan jaden an se pa yon vanyan sòlda"

Si ou vle etidye operasyon an nan yon aparèy espesifik, pou egzanp, yon kat rezo, oswa ekri firmwèr oswa yon chofè pou aparèy sa a, Lè sa a, yon aparèy sa a ka simulation separeman. Sepandan, sèvi ak li nan izolasyon ak rès enfrastrikti a pa trè pratik. Pou kouri chofè korespondan an, w ap bezwen yon processeur santral, memwa, aksè nan yon otobis done, elatriye. Anplis de sa, chofè a mande pou yon sistèm operasyon (OS) ak yon pile rezo pou fonksyone. Anplis de sa, yon dèlko pake separe ak sèvè repons yo ka mande.

Yon similatè plen platfòm kreye yon anviwònman pou kouri yon pil lojisyèl konplè, ki gen ladan tout bagay soti nan BIOS la ak bootloader nan eksplwatasyon an li menm ak divès kalite subsistèm li yo, tankou menm pil rezo a, chofè, ak aplikasyon nivo itilizatè. Pou fè sa, li aplike modèl lojisyèl nan pifò aparèy òdinatè: processeur ak memwa, ki gen kapasite, aparèy antre / pwodiksyon (klavye, sourit, ekspozisyon), osi byen ke menm kat rezo a.

Anba a se yon dyagram blòk chipset x58 ki soti nan Intel. Yon similatè òdinatè plen platfòm sou chipset sa a mande pou aplikasyon pi fò nan aparèy ki nan lis la, ki gen ladan sa ki andedan IOH (Input/Output Hub) ak ICH (Input/Output Controller Hub), ki pa montre an detay sou dyagram blòk la. . Malgre ke, jan pratik montre, pa gen anpil aparèy ki pa itilize pa lojisyèl an ke nou pral kouri. Modèl aparèy sa yo pa bezwen kreye.

Similatè nan sistèm òdinatè: yon similatè abitye plen-platfòm ak enkoni nan direksyon goch ak tras

Pi souvan, simulateur plen platfòm yo aplike nan nivo enstriksyon processeur (ISA, gade anba a). atik anvan). Sa a pèmèt ou kreye similatè a tèt li relativman byen vit ak chè. Nivo ISA a bon tou paske li rete plis oswa mwens konstan, kontrèman ak, pa egzanp, nivo API/ABI, ki chanje pi souvan. Anplis de sa, aplikasyon nan nivo enstriksyon pèmèt ou kouri sa yo rele lojisyèl binè ki pa modifye, se sa ki, kouri kòd deja konpile san okenn chanjman, egzakteman jan li itilize sou pyès ki nan konpitè reyèl. Nan lòt mo, ou ka fè yon kopi ("pil fatra") nan kondwi difisil ou a, presize li kòm yon imaj pou yon modèl nan yon similatè plen platfòm, ak vwala! - OS la ak lòt pwogram yo chaje nan similatè a san okenn aksyon adisyonèl.

Pèfòmans similatè

Similatè nan sistèm òdinatè: yon similatè abitye plen-platfòm ak enkoni nan direksyon goch ak tras

Kòm te mansyone jis pi wo a, pwosesis la nan simulation sistèm nan tout antye, se sa ki, tout aparèy li yo, se yon antrepriz olye dousman. Si ou tou aplike tout bagay sa yo nan yon nivo trè detaye, pou egzanp, mikwochitekti oswa lojik, Lè sa a, ekzekisyon ap vin trè dousman. Men, nivo ansèyman an se yon chwa ki apwopriye epi li pèmèt OS ak pwogram yo egzekite nan vitès ase pou itilizatè a kominike avèk yo alèz.

Isit la li ta apwopriye pou manyen sijè a nan pèfòmans similatè. Li anjeneral mezire nan IPS (enstriksyon pou chak segonn), pi jisteman nan MIPS (milyon IPS), se sa ki, kantite enstriksyon processeur egzekite pa similatè a nan yon segonn. An menm tan an, vitès la nan simulation tou depann sou pèfòmans nan nan sistèm nan sou ki simulation nan tèt li kouri. Se poutèt sa, li ka pi kòrèk pou pale sou "ralantisman an" nan similatè a konpare ak sistèm orijinal la.

Similatè plen platfòm ki pi komen sou mache a, tankou QEMU, VirtualBox oswa VmWare Workstation, gen bon pèfòmans. Li ka pa menm aparan nan itilizatè a ke travay ap pase nan similatè a. Sa rive gras a kapasite espesyal Virtualization aplike nan processeurs, algoritm tradiksyon binè ak lòt bagay enteresan. Sa a se tout yon sijè pou yon atik separe, men nan ti bout tan, Virtualization se yon karakteristik pyès ki nan konpitè nan processeurs modèn ki pèmèt similatè pa simulation enstriksyon, men voye yo pou ekzekisyon dirèkteman nan yon processeur reyèl, si, nan kou, achitekti yo nan similatè a ak processeur a sanble. Tradiksyon binè se tradiksyon an nan kòd machin envite nan kòd lame ak ekzekisyon ki vin apre sou yon processeur reyèl. Kòm yon rezilta, simulation a se sèlman yon ti kras pi dousman, 5-10 fwa, e souvan menm kouri nan menm vitès ak sistèm reyèl la. Malgre ke sa a se enfliyanse pa anpil faktè. Pou egzanp, si nou vle simulation yon sistèm ak plizyè douzèn processeurs, Lè sa a, vitès la pral imedyatman gout pa sa yo plizyè douzèn fwa. Nan lòt men an, simulateur tankou Simics nan dènye vèsyon yo sipòte pyès ki nan konpitè lame miltiprosesè ak efektivman paralelize nwayo yo simulation sou am yo nan yon processeur reyèl.

Si nou pale sou vitès la nan simulation microarchitectural, Lè sa a, li se anjeneral plizyè lòd nan grandè, apeprè 1000-10000 fwa pi dousman pase ekzekisyon sou yon òdinatè regilye, san simulation. Ak aplikasyon nan nivo eleman lojik yo pi dousman pa plizyè lòd nan grandè. Se poutèt sa, yo itilize yon FPGA kòm yon Emulation nan nivo sa a, ki ka siyifikativman ogmante pèfòmans.

Graf ki anba a montre yon depandans apwoksimatif nan vitès simulation sou detay modèl.

Similatè nan sistèm òdinatè: yon similatè abitye plen-platfòm ak enkoni nan direksyon goch ak tras

Bat-pa-bat simulation

Malgre vitès ekzekisyon ki ba yo, simulateur mikwo-achitekti yo byen komen. Simulation nan blòk yo entèn nan processeur a nesesè yo nan lòd yo avèk presizyon simulation tan an ekzekisyon nan chak enstriksyon. Enkonpreyansyon ka rive isit la - apre tout, li ta sanble, poukisa yo pa senpleman pwograme tan an ekzekisyon pou chak enstriksyon. Men, tankou yon similatè pral trè kòrèk, depi tan an ekzekisyon nan enstriksyon an menm ka diferan de apèl nan apèl.

Egzanp ki pi senp lan se yon enstriksyon aksè memwa. Si kote memwa yo mande a disponib nan kachèt la, lè sa a tan ekzekisyon an pral minim. Si enfòmasyon sa a pa nan kachèt la ("cache miss"), Lè sa a, sa a pral anpil ogmante tan an ekzekisyon nan enstriksyon an. Kidonk, yon modèl kachèt obligatwa pou simulation egzat. Sepandan, pwoblèm nan pa limite a modèl kachèt la. Pwosesè a pa pral tou senpleman tann pou done yo dwe rekipere nan memwa lè li pa nan kachèt la. Olye de sa, li pral kòmanse egzekite pwochen enstriksyon yo, chwazi sa yo ki pa depann sou rezilta a nan lekti nan memwa. Sa a se sa yo rele ekzekisyon "ki pa nan lòd" (OOO, soti nan lòd ekzekisyon), ki nesesè pou minimize tan san fè anyen konsa processeur. Modélisation blòk processeur korespondan yo ap ede pou pran tout bagay sa a an kont lè w ap kalkile tan ekzekisyon enstriksyon yo. Pami enstriksyon sa yo, egzekite pandan rezilta lekti nan memwa ap tann, yon operasyon so kondisyonèl ka rive. Si rezilta a nan kondisyon an se enkoni nan moman sa a, Lè sa a, ankò processeur a pa sispann ekzekisyon, men li fè yon "devine", fè branch ki apwopriye a epi li kontinye egzekite proactiveman enstriksyon soti nan pwen tranzisyon an. Yon blòk konsa, yo rele yon prediktè branch, dwe aplike tou nan similatè microarchitectural la.

Foto ki anba a montre blòk prensipal yo nan processeur a, li pa nesesè yo konnen li, li montre sèlman yo montre konpleksite nan aplikasyon an mikwochitekti.

Similatè nan sistèm òdinatè: yon similatè abitye plen-platfòm ak enkoni nan direksyon goch ak tras

Operasyon an nan tout blòk sa yo nan yon processeur reyèl senkronize pa siyal revèy espesyal, e menm bagay la tou k ap pase nan modèl la. Se tankou yon similatè mikrochitekti rele sik egzat. Objektif prensipal li se predi avèk presizyon pèfòmans nan processeur a ap devlope ak / oswa kalkile tan an ekzekisyon nan yon pwogram espesifik, pou egzanp, yon referans. Si valè yo pi ba pase sa nesesè, li pral nesesè pou modifye algoritm yo ak blòk processeur oswa optimize pwogram nan.

Jan yo montre pi wo a, simulation revèy pa revèy trè dousman, kidonk li se itilize sèlman lè w ap etidye sèten moman nan operasyon yon pwogram, kote li nesesè pou chèche konnen vitès reyèl ekzekisyon pwogram lan ak evalye pèfòmans nan lavni nan aparèy la ki gen. pwototip ap simulation.

Nan ka sa a, yo itilize yon similatè fonksyonèl pou simulation tan ki rete nan pwogram nan. Ki jan konbinezon itilizasyon sa a rive an reyalite? Premyèman, similatè fonksyonèl la te lanse, kote eksplwatasyon an ak tout bagay ki nesesè pou kouri pwogram etid la chaje. Apre yo tout, nou pa enterese nan eksplwatasyon an tèt li, ni nan premye etap yo nan lanse pwogram nan, konfigirasyon li yo, elatriye. Sepandan, nou menm tou nou pa ka sote pati sa yo epi imedyatman deplase sou egzekite pwogram nan soti nan mitan an. Se poutèt sa, tout etap sa yo preliminè yo kouri sou yon similatè fonksyonèl. Apre pwogram nan te egzekite nan moman sa a ki enterese nou, de opsyon yo posib. Ou ka ranplase modèl la ak yon modèl revèy pa sik epi kontinye ekzekisyon. Mòd simulation ki sèvi ak kòd ègzekutabl (ki se, fichye pwogram konpile òdinè) yo rele simulation kondwi ekzekisyon. Sa a se opsyon ki pi komen nan simulation. Yon lòt apwòch posib tou - simulation tras kondwi.

Simulation ki baze sou tras

Li konsiste de de etap. Sèvi ak yon similatè fonksyonèl oswa sou yon sistèm reyèl, yon boutèy demi lit nan aksyon pwogram yo kolekte epi ekri nan yon dosye. Log sa a rele yon tras. Tou depan de sa yo te egzamine, tras la ka gen ladan enstriksyon ègzèkutabl, adrès memwa, nimewo pò, ak enfòmasyon entèwonp.

Pwochen etap la se "jwe" tras la, lè similatè a revèy-pa-revèy li tras la epi egzekite tout enstriksyon ki ekri nan li. Nan fen a, nou jwenn tan an ekzekisyon nan moso sa a nan pwogram nan, osi byen ke karakteristik divès kalite nan pwosesis sa a, pou egzanp, pousantaj la nan frape nan kachèt la.

Yon karakteristik enpòtan nan travay ak tras se detèminism, se sa ki, pa kouri simulation nan fason ki dekri pi wo a, sou yo ak sou ankò nou repwodui menm sekans nan aksyon. Sa fè li posib, nan chanje paramèt modèl (kachèt, tanpon ak gwosè keu) ak lè l sèvi avèk diferan algoritm entèn oswa ajiste yo, yo etidye ki jan yon paramèt patikilye afekte pèfòmans sistèm ak ki opsyon bay pi bon rezilta yo. Tout bagay sa a ka fè ak yon modèl aparèy pwototip anvan ou kreye yon pwototip pyès ki nan konpitè aktyèl.

Konpleksite nan apwòch sa a manti nan bezwen an premye kouri aplikasyon an ak kolekte tras la, osi byen ke gwosè a gwo nan dosye a tras. Avantaj yo enkli lefèt ke li se ase yo simulation sèlman yon pati nan aparèy la oswa platfòm nan enterè, pandan y ap simulation pa ekzekisyon anjeneral mande pou yon modèl konplè.

Se konsa, nan atik sa a nou te gade karakteristik yo nan simulation plen platfòm, te pale sou vitès la nan aplikasyon nan diferan nivo, revèy-pa-sik simulation ak tras. Nan pwochen atik la mwen pral dekri senaryo prensipal yo pou itilize simulateur, tou de pou rezon pèsonèl ak nan yon pwen de vi devlopman nan gwo konpayi yo.

Sous: www.habr.com

Add nouvo kòmantè