Simulators nke sistemu kọmputa: simulator zuru oke nke ama ama na n'akụkụ elekere na akara amabeghị

N'akụkụ nke abụọ nke akụkọ banyere simulators sistemụ kọmputa, m ga-aga n'ihu na-ekwu okwu n'ụdị mmeghe dị mfe gbasara simulators kọmputa, ya bụ maka ịme anwansị zuru oke, nke ndị ọrụ na-ahụkarị na-ezutekarị, yana gbasara elekere site na elekere. Ụdị elekere na akara, nke na-adịkarị na okirikiri ndị nrụpụta.

Simulators nke sistemu kọmputa: simulator zuru oke nke ama ama na n'akụkụ elekere na akara amabeghị

В akụkụ mbụ Ekwuru m ihe simulators bụ n'ozuzu, yana gbasara ọkwa simulation. Ugbu a, dabere na ihe ọmụma ahụ, m na-atụ aro ka ị mikpuo ntakịrị ma kwuo banyere ịme anwansị zuru ezu, otu esi ekpokọta akara, ihe ị ga-eme ha ma emesịa, yana banyere ihe nṅomi microarchitectural elekere elekere.

Simulator ikpo okwu zuru oke, ma ọ bụ "naanị n'ọhịa abụghị dike"

Ọ bụrụ na ịchọrọ ịmụ ọrụ nke otu ngwaọrụ akọwapụtara, dịka ọmụmaatụ, kaadị netwọkụ, ma ọ bụ dee firmware ma ọ bụ ọkwọ ụgbọ ala maka ngwaọrụ a, mgbe ahụ enwere ike ịme ụdị ngwaọrụ dị iche iche. Otú ọ dị, iji ya dịpụrụ adịpụ site na akụrụngwa ndị ọzọ adịghị mma. Iji mee ọkwọ ụgbọ ala kwekọrọ, ị ga-achọ ihe nrụpụta etiti, ebe nchekwa, ịnweta ụgbọ ala data, wdg. Na mgbakwunye, onye ọkwọ ụgbọ ala chọrọ sistemụ arụmọrụ (OS) yana nchịkọta netwọk ka ọ rụọ ọrụ. Na mgbakwunye, enwere ike ịchọ onye nrụpụta ngwugwu dị iche na ihe nkesa nzaghachi.

Simulator zuru oke na-emepụta gburugburu ebe obibi maka ịgba ọsọ sọftụwia zuru oke, nke gụnyere ihe niile sitere na BIOS na bootloader ruo OS n'onwe ya na sistemụ dị iche iche ya, dị ka otu nchịkọta netwọkụ, ndị ọkwọ ụgbọ ala, na ngwa ọkwa onye ọrụ. Iji mee nke a, ọ na-arụ ọrụ ụdị sọftụwia nke ọtụtụ ngwaọrụ kọmputa: processor na ebe nchekwa, diski, ngwaọrụ ntinye / mmepụta (keyboard, òké, ngosi), yana otu kaadị netwọkụ ahụ.

N'okpuru bụ eserese ngọngọ nke chipset x58 sitere na Intel. Simulator kọmpụta zuru oke na chipset a chọrọ mmezu nke ọtụtụ ngwaọrụ edepụtara, gụnyere ndị nọ n'ime IOH (Input/Output Hub) na ICH (Input/ Output Controller Hub), nke na-egosighi n'ụzọ zuru ezu na eserese ngọngọ. . Ọ bụ ezie na, dị ka omume na-egosi, ọ dịghị ọtụtụ ngwaọrụ na-adịghị na-eji software na anyị na-aga na-agba ọsọ. Ụdị ngwaọrụ ndị dị otú ahụ adịghị mkpa ịmepụta.

Simulators nke sistemu kọmputa: simulator zuru oke nke ama ama na n'akụkụ elekere na akara amabeghị

Ọtụtụ mgbe, a na-emejuputa simulators zuru oke na ọkwa ntụziaka nhazi (ISA, lee n'okpuru). akụkọ gara aga). Nke a na-enye gị ohere ịmepụta simulator n'onwe ya ngwa ngwa na ọnụ ala. Ọkwa ISA dịkwa mma n'ihi na ọ na-adịgide karịa ma ọ bụ na-adịgide adịgide, n'adịghị ka ihe atụ, ọkwa API/ABI, nke na-agbanwe ọtụtụ oge. Na mgbakwunye, mmejuputa iwu na ọkwa ntụziaka na-enye gị ohere ịme ihe a na-akpọ sọftụwia ọnụọgụ abụọ na-adịghị agbanwe agbanwe, ya bụ, na-agba ọsọ koodu agbakọtara na-enweghị mgbanwe ọ bụla, dịka a na-eji ya na ezigbo ngwaike. N'ikwu ya n'ụzọ ọzọ, ị nwere ike ịme otu ("dump") nke draịvụ ike gị, kọwaa ya dị ka ihe oyiyi maka ihe nlereanya na simulator zuru ezu, na voila! - A na-eburu OS na mmemme ndị ọzọ na simulator na-enweghị ihe ọ bụla ọzọ.

Simulator arụmọrụ

Simulators nke sistemu kọmputa: simulator zuru oke nke ama ama na n'akụkụ elekere na akara amabeghị

Dị ka ekwuru n'elu, usoro ịmegharị usoro ahụ dum, ya bụ, ngwaọrụ ya niile, bụ ọrụ na-adịghị ngwa ngwa. Ọ bụrụ na i mejuputa ihe a niile na ọkwa zuru oke, dịka ọmụmaatụ, microarchitectural ma ọ bụ ezi uche, mgbe ahụ ogbugbu ga-adị ngwa ngwa. Mana ọkwa nkuzi bụ nhọrọ kwesịrị ekwesị ma na-enye ohere ka OS na mmemme rụọ ọrụ na ọsọ ọsọ zuru oke maka onye ọrụ iji soro ha na-emekọrịta ihe nke ọma.

N'ebe a, ọ ga-adị mma imetụ isiokwu nke ịrụ ọrụ simulator aka. A na-atụkarị ya na IPS (ntụziaka kwa nkeji), kpọmkwem na MIPS (nde IPS), ya bụ, ọnụọgụ ntuziaka nhazi nke simulator mere n'otu sekọnd. N'otu oge ahụ, ọsọ nke simulation ahụ na-adaberekwa na arụmọrụ nke usoro nke simulation n'onwe ya na-agba ọsọ. Ya mere, ọ nwere ike bụrụ ihe ziri ezi ikwu banyere "nwayọọ nwayọọ" nke simulator ma e jiri ya tụnyere usoro mbụ.

Ndị simulators zuru oke na-ahụkarị n'ahịa, dị ka QEMU, VirtualBox ma ọ bụ VmWare Workstation, na-arụ ọrụ nke ọma. O nwedịrị ike ọ gaghị ahụ onye ọrụ na ọrụ na-aga na simulator. Nke a na-eme ekele maka ikike ime ihe n'ụzọ pụrụ iche etinyere na nhazi, algọridim ntụgharị asụsụ ọnụọgụ abụọ na ihe ndị ọzọ na-atọ ụtọ. Nke a bụ isiokwu niile maka isiokwu dị iche, mana na nkenke, virtualization bụ njirimara ngwaike nke ndị na-arụ ọrụ nke oge a nke na-enye ndị na-ahụ maka simulators ghara ịmegharị ntuziaka, mana iziga ha maka ogbugbu ozugbo na ezigbo onye nrụpụta, ma ọ bụrụ na, n'ezie, architectures nke simulator na processor yiri ya. Ntụgharị asụsụ ọnụọgụ abụọ bụ ntụgharị koodu igwe ndị ọbịa n'ime koodu nnabata yana mmegbu na-esote na ezigbo nhazi. N'ihi ya, ịme anwansị ahụ dị ntakịrị nwayọ, ugboro 5-10, ma na-agbakarị ọsọ n'otu ọsọ dị ka ezigbo sistemụ. Ọ bụ ezie na nke a na-emetụta ọtụtụ ihe. Dịka ọmụmaatụ, ọ bụrụ na anyị chọrọ ịmegharị usoro nwere ọtụtụ iri na abụọ processors, mgbe ahụ ọsọ ga-ada ozugbo site na ndị a ugboro iri na abụọ. N'aka nke ọzọ, simulators dị ka Simics na ndị ọhụrụ nsụgharị na-akwado multiprocessor usu ngwaike na n'ụzọ dị irè na-mere simulators na cores nke ezigbo processor.

Ọ bụrụ na anyị na-ekwu maka ọsọ nke simulation microarchitectural, mgbe ahụ ọ na-abụkarị ọtụtụ iwu nke ịdị ukwuu, ihe dịka 1000-10000 ugboro nwayọ karịa igbu egbu na kọmputa mgbe niile, na-enweghị ịme anwansị. Na mmejuputa iwu n'ogo nke ihe ezi uche dị na ya na-eji nwayọọ nwayọọ site na ọtụtụ iwu nke ịdị ukwuu. Ya mere, a na-eji FPGA dị ka emulator na ọkwa a, nke nwere ike ịbawanye arụmọrụ.

Eserese dị n'okpuru na-egosi ihe ndabere dị nso nke ọsọ ịme anwansị na nkọwa ụdị.

Simulators nke sistemu kọmputa: simulator zuru oke nke ama ama na n'akụkụ elekere na akara amabeghị

ịme anwansị iti-na-akụ

N'agbanyeghị ọsọ ogbugbu ha dị ala, simulators microarchitectural bụ ihe a na-ahụkarị. Ịme anwansị nke n'ime blocks nke processor dị mkpa iji mee ka n'ụzọ ziri ezi simulate oge igbu nke ntụziaka ọ bụla. Nghọtahie nwere ike ibilite ebe a - e kwuwerị, ọ ga-adị ka, ọ bụghị naanị ịhazi oge igbu oge maka nkuzi ọ bụla. Mana simulator dị otú ahụ ga-abụ nke na-ezighi ezi, ebe ọ bụ na oge mmezu nke otu nkuzi nwere ike ịdị iche na oku ịkpọ oku.

Ihe atụ kachasị mfe bụ ntụziaka ịnweta ebe nchekwa. Ọ bụrụ na ebe nchekwa achọrọ dị na cache, mgbe ahụ oge igbu ya ga-adị ntakịrị. Ọ bụrụ na ozi a adịghị na cache ("cache miss"), mgbe ahụ nke a ga-abawanye oge igbu nke ntụziaka ahụ. Ya mere, achọrọ ụdị cache maka ịme anwansị ziri ezi. Agbanyeghị, okwu a ejedebeghị na ụdị cache. Ihe nhazi ahụ agaghị echere naanị ka eweghachite data na ebe nchekwa mgbe ọ na-anọghị na cache. Kama nke ahụ, ọ ga-amalite ime ntụziaka ndị na-esonụ, na-ahọrọ ndị na-adabereghị na nsonaazụ nke ịgụ ihe site na ebe nchekwa. Nke a bụ ihe a na-akpọ ogbugbu “esighị n'usoro” (OOO, na-esiteghị n'usoro), dị mkpa iji wedata oge ọrụ nhazi. Ịmepụta ihe mgbochi processor kwekọrọ ga-enyere aka iburu ihe a niile n'uche mgbe ị na-agbakọ oge igbu oge nke ntuziaka. N'ime ntuziaka ndị a, nke e gburu mgbe a na-echere nsonaazụ ịgụ site na ebe nchekwa, ọrụ ịwụ elu nwere ike ime. Ọ bụrụ na amabeghị nsonaazụ nke ọnọdụ ahụ n'oge ahụ, ọzọ processor anaghị akwụsị igbu ya, mana ọ na-eme "nyochaa", na-arụ alaka ụlọ ọrụ kwesịrị ekwesị ma na-aga n'ihu na-arụ ọrụ ngwa ngwa site na ntụgharị. A ga-emerịrị ihe mgbochi dị otú ahụ, nke a na-akpọ amụma amụma alaka, na simulator microarchitectural.

Foto dị n'okpuru ebe a na-egosi isi ngọngọ nke onye nrụpụta, ọ dịghị mkpa ịmara ya, a na-egosi ya naanị iji gosipụta mgbagwoju anya nke mmejuputa microarchitectural.

Simulators nke sistemu kọmputa: simulator zuru oke nke ama ama na n'akụkụ elekere na akara amabeghị

A na-emekọrịta ọrụ nke ihe mgbochi ndị a niile na ezigbo nhazi site na akara elekere pụrụ iche, otu ihe ahụ na-eme na ihe nlereanya ahụ. A na-akpọ simulator microarchitectural dị otú ahụ okirikiri ziri ezi. Nzube ya bụ isi bụ ịkọ n'ụzọ ziri ezi na arụmọrụ nke onye nrụpụta na-emepụta na/ma ọ bụ gbakọọ oge mmebe nke otu mmemme, dịka ọmụmaatụ, akara ngosi. Ọ bụrụ na ụkpụrụ ndị ahụ dị ala karịa ka achọrọ, mgbe ahụ ọ ga-adị mkpa iji gbanwee algọridim na ngọngọ processor ma ọ bụ kwalite mmemme ahụ.

Dị ka egosiri n'elu, ịme anwansị elekere site na elekere na-adị ngwa ngwa, ya mere a na-eji ya naanị mgbe ị na-amụ oge ụfọdụ nke mmemme mmemme, ebe ọ dị mkpa iji chọpụta ezigbo ọsọ nke mmezu mmemme ma nyochaa arụmọrụ nke ngwaọrụ ahụ n'ọdịnihu. A na-emepụta prototype.

N'okwu a, a na-eji simulator arụ ọrụ iji mee ka oge na-agba ọsọ nke mmemme ahụ fọdụrụnụ. Kedu ka ngwakọta ojiji a si eme n'eziokwu? Nke mbụ, a na-arụ ọrụ simulator arụ ọrụ, nke OS na ihe niile dị mkpa iji mee ihe omume a na-amụ na-ebu. E kwuwerị, anyị enweghị mmasị na OS n'onwe ya, ma ọ bụ na mmalite nke ịmalite mmemme ahụ, nhazi ya, wdg. Agbanyeghị, anyị enweghị ike ịwụpụ akụkụ ndị a wee gaa n'ihu na-eme mmemme ahụ site na etiti. Ya mere, usoro mmalite ndị a niile na-agba ọsọ na simulator na-arụ ọrụ. Mgbe emechara mmemme ahụ ruo oge mmasị anyị, nhọrọ abụọ ga-ekwe omume. Ị nwere ike dochie ihe nlereanya ahụ na ụdị elekere site na okirikiri wee gaa n'ihu na-egbu. Ụdị ịme anwansị nke na-eji koodu executable (ya bụ, faịlụ mmemme achịkọtara mgbe niile) ka a na-akpọ simulation chụpụrụ execution. Nke a bụ nhọrọ ịme anwansị kacha. Ụzọ ọzọ dịkwa ike - trace chụpụrụ simulation.

Simulation dabere na trace

Ọ nwere nzọụkwụ abụọ. Iji simulator na-arụ ọrụ ma ọ bụ na ezigbo sistemu, a na-anakọta ndekọ nke omume mmemme wee dee ya na faịlụ. A na-akpọ ndekọ ndekọ a trace. Dabere na ihe a na-enyocha, nchọta ahụ nwere ike ịgụnye ntuziaka enwere ike ime, adreesị ebe nchekwa, nọmba ọdụ ụgbọ mmiri, yana ozi nkwụsịtụ.

Nzọụkwụ ọzọ bụ 'ịkpọ' akara ahụ, mgbe simulator elekere elekere na-agụ akara ahụ wee mebie ntuziaka niile edere na ya. Na njedebe, anyị na-enweta oge igbu oge nke mpempe akwụkwọ a, yana njirimara dị iche iche nke usoro a, dịka ọmụmaatụ, pasent nke hits na cache.

Otu ihe dị mkpa nke na-arụ ọrụ na traces bụ determinism, ya bụ, site na-agba ọsọ simulation n'ụzọ a kọwara n'elu, ugboro ugboro, anyị na-emepụtaghachi otu usoro nke omume. Nke a na-eme ka o kwe omume, site n'ịgbanwe usoro ihe atụ (nchekwa, ihe nchekwa na nha kwụ n'ahịrị) na iji algọridim dị iche iche dị n'ime ma ọ bụ na-emegharị ha, iji mụọ otú otu paramita si emetụta arụmọrụ sistemụ yana nhọrọ na-enye nsonaazụ kacha mma. Enwere ike ime ihe a niile site na iji ụdị ngwaọrụ prototype tupu ịmepụta ụdị ngwaike n'ezie.

Mgbagwoju anya nke usoro a dabere na mkpa ibu ụzọ mee ngwa ahụ wee nakọta akara ahụ, yana nnukwu faịlụ trace. Uru na-agụnye eziokwu ahụ bụ na ọ ga-ezuru ịme naanị akụkụ nke ngwaọrụ ma ọ bụ ikpo okwu nke mmasị, ebe ịmegharị site na igbu egbu na-achọkarị ụdị zuru ezu.

Ya mere, n'isiokwu a, anyị lere anya na njirimara nke ịme anwansị zuru oke, na-ekwu maka ọsọ nke mmejuputa iwu na ọkwa dị iche iche, mgbanaka elekere na akara. N'isiokwu na-esonụ, m ga-akọwa isi ọnọdụ maka iji simulators, ma maka ebumnuche onwe ya na site na echiche mmepe na nnukwu ụlọ ọrụ.

isi: www.habr.com

Tinye a comment