Simulatores systematum computatrorum: simulator notus plenus suggestus et horologii ignotus et vestigia

In secunda parte articuli de systemate computatorio simulatores, loqui pergam in simplici forma introductoria de simulatoribus computatoriis, nempe de plena suggestu simulationis, quam mediocris usor plerumque incurrit, tum de horologio. -horologium exemplar et vestigia, quae magis in circulis elit.

Simulatores systematum computatrorum: simulator notus plenus suggestus et horologii ignotus et vestigia

Π’ in prima parte, Loquutus sum de simulatoribus in genere, tum de gradibus simulationis. Nunc, ex illa scientia, paulo altius intendere propono de simulatione plena suggestu disputare, quomodo vestigia colligere, quid cum illis posterius, tum de horologio-horologii microarchitectural aemulatio.

Plenum suggestum simulator, vel "Solus in agro non est bellator".

Si operationi unius specificae notae studere vis, verbi gratia, card retis, vel firmware scribe vel exactoris ad hanc machinam, tunc talis machina separatim simulari potest. Reliquum autem infrastructuram seiunctim utens non est conveniens. Ad congruum rectorem currendum, processus centralis, memoria, accessus ad bus data, etc. Praeterea auriga systema operantem (OS) et acervum retis ad munus requirit. Praeterea generans fasciculum separatum et servo responsorium requiri potest.

Simulator plenus suggestus ambitum facit ad currendum acervus programmatis completi, qui omnia includit a BIOS et bootloader ad OS ipsum eiusque varia subsystema, sicut acervus retis, coegi, et applicationes usoris. Ad hoc efficiendum, exemplaribus programmatibus maxime computatoriis machinis utitur: processus et memoria, orbis, input/output machinas (keyboard, murem, ostentationem), ac idem card retis.

Infra stipitem figurae x58 corpulenti Intel. Plenus suggestus computatrum simulator in hoc chipset requirit exsecutionem plurium technicorum inscripti, in iis intra IOH (Input/Output Hub) et ICH (Input/Output Controller Hub), quae non singillatim in schemate stipitiorum depinguntur. . Etsi, ut usus ostendit, multae cogitationes non sunt quae per programmatum currendi sumus. Talium machinarum exempla creari non oportet.

Simulatores systematum computatrorum: simulator notus plenus suggestus et horologii ignotus et vestigia

Saepissime simulatores plena suggestu implentur in gradu instructionis processus (ISA, vide infra). prior articulus). Hoc te permittit ut simulatorem ipsum relative cito et insumptuose condat. Etiam campus ISA bonus est quia plus minusve constans manet, dissimilis, exempli gratia, gradu API/ABI, qui saepius mutat. Praeterea, exsecutio in gradu instructionis te permittit currere programmata binaria immodificata sic dicta, hoc est, codicem iam exaratum sine ullis mutationibus currere, prorsus sicut in odio reali adhibetur. Aliis verbis, exemplum ("dump") ferrei coegi tui facere potes, eam ut imaginem pro exemplo in plena suggestu simulatoris ac voila exprimas! – OS et alia programmata in simulatione sine ullis adiectis actionibus onerantur.

Simulator perficientur

Simulatores systematum computatrorum: simulator notus plenus suggestus et horologii ignotus et vestigia

Ut paulo ante praedictum est, simulandi ratio tota, id est, omnium cogitationum, lentior est inceptio. Si haec omnia accuratissime efficere etiam, exempli gratia, microarchitecturae vel logicae, exsecutio tardissima fiet. Sed gradus instructionis est opportuna electio et permittit OS et programmata exsequi celeritatum quae sufficiunt utentis ad commode cum illis correspondent.

Hic opportunum esset argumentum perficientur attingere simulatoris. Solet metiri in IPS (instructionibus per secundam), pressius in MIPS (million IPS), hoc est, numerus instructionum processus processuum a simulatore in secundo uno exsecutus est. Eodem tempore simulationis celeritas etiam pendet ab observantia systematis in quo ipsa simulatio currit. Ergo rectius loqui potest de "tardatione" simulatoris ad systema originale comparatum.

Frequentissima simulatores in foro suggesti sunt, ut QEMU, VirtualBox seu VmWare Workstation, bene operantur. Ne id quidem notabile est in usore quod opus in simulatore geritur. Hoc fit per speciales facultates virtualizationes quae in processoribus, translationibus algorithmis binariis et aliis rebus iucundis effectae sunt. Totum hoc thema est ad articulum separatum, sed denique virtualisatio ferramentorum notarum processuum modernorum, quae simulatores non permittunt instructiones simulare, sed eas ad exsecutionem directe mittere ad processum realem, si quidem architecturae simulator et processus similes sunt. Translatio binarii est translatio machinae hospitis in codicem exercitum in codicem exercitum et exsecutionem subsequentem in processu reali. Quam ob rem simulatio leviter tardior est, 5-10 temporibus, et saepe etiam in eadem celeritate qua ratio realis currit. Etsi hoc multis causis movetur. Exempli gratia, si systema cum pluribus duodenis processibus simulare velimus, celeritas ab his duodenis vicibus statim decidet. E contra, simulatores sicut Simics in ultimis versionibus multiprocessoris exercitus ferramentorum sustinent et efficaciter nucleos simulatos in nucleos processus veri paralleli.

Si loquimur de velocitate simulationis microarchitecturalis, tunc plerumque plures ordines magnitudinis, circa 1000-10000 temporum tardius quam exsecutio in computatorio iusto, sine simulatione. Ac exsecutiones in plano elementorum logicorum per plures ordines magnitudinis tardius sunt. Ergo FPGA aemulator in hoc gradu adhibetur, quod signanter effectus augere potest.

In grapho infra indicat propensam simulationis velocitatem in speciebus exemplaribus.

Simulatores systematum computatrorum: simulator notus plenus suggestus et horologii ignotus et vestigia

Ictus-by-pulsus simulation

Quamvis celeritas eorum humilis exsecutio sit, simulatores microarchitecturae satis communes sunt. Simulatio internorum insulis processus necessaria est ut accurate simulatur tempus exsecutionis cuiusque instructionis. Error hic oriri potest - tamen, videtur, cur non simpliciter programma definiendum tempus ad singulas instructiones pertineat. Sed talis simulator valde improprius erit, cum ad executionem temporis eiusdem instructionis differat a vocatione vocare.

Simplicissimum exemplum est ad memoriam accessus doctrinae. Si memoriae petitae locus praesto est in cella, tunc temporis exsecutio minima erit. Si haec notitia in cella non est ("cache miss"), hoc multum augebit tempus instructionis exsecutionis. Ita exemplar cella ad accuratam simulationem requiritur. Sed materia ad exemplar cache non limitatur. Processus non solum expectat notitias e memoria receptandas cum in cella non est. Sed proximos instructiones facere incipiet, eligens quae non pendent ex memoria lectionis. Haec est exsecutio sic dicta "ex ordine" (OOO, extra ordinem exsecutionis), necesse est ut processus temporis otiosus minuatur. Exemplar congruentem processus caudices adiuvabit ut haec omnia in rationem habeant cum tempus instructionum exsecutionis calculandum. Inter has instructiones, dum effectus memoriae lectionis exspectatur, conditionalis operatio jump accidere potest. Si effectus condicionis in momento ignoratur, processus rursus exsecutio non cessat, sed "divinare coniecturam" facit, opportunitatem ramus facit ac pergit ut actuose instructiones a parte transitus exequatur. Talis truncus, dictus ramus predictor, etiam in simulator microarchitecturali perficiendus est.

Pictura infra ostendit caudices processus principales, id scire non est necesse, tantum ostenditur multiplicitatem exsecutionis microarchitecturalis demonstrare.

Simulatores systematum computatrorum: simulator notus plenus suggestus et horologii ignotus et vestigia

Horum omnium clausus operatio in processu reali congruens peculiaribus horologii significationibus, et simile fit in exemplari. Talis simulator microarchitecturalis cyclus accurate appellatur. Praecipuum eius propositum est accurate praedicere processus progressionis observantiam et/vel executionem temporis cuiusdam progressionis, exempli gratia, Probatio. Si valores inferiores quam requisiti sunt, algorithms et cuneos sistens modificare oportebit vel programmata optimize.

Ut supra demonstratum est, simulatio horologii horologii tardissima est, ideo tantum adhibetur cum aliqua momenta operationis programmatis studet, ubi necesse est invenire veram celeritatem progressionis exsecutionis et aestimare futuram observantiam machinae cuius. exemplar est simulatum.

Hoc in casu, simulator utilitatis adhibetur ut reliquum tempus progressionis currit simulare. Quomodo haec coniunctio usus in re fit? Primum, simulator operando educitur, in quo OS omniaque necessaria ad propositum persequendum sub studio oneratur. Ceterum in ipso OS non quaero, nec in initiis progressionis, eius configurationis, etc. Nihilominus etiam has partes omitti non possumus et statim ad propositum e medio peragendum progredimur. Omnes igitur hi gradus praeliminares currunt ad munus simulatorem. Postquam progressio ad momentum interest nobis exsecuta est, duae optiones possibilia sunt. Exemplar cum horologii cycli exemplo reponere potes ac prosequi executionem. Modus simulationis qui codicem exsecutabile utitur (id est, imaginum programmatis regularis compilavit) exsecutio simulationis acti dicitur. Haec est communissima simulatio optionis. Alius etiam aditus potest - vestigium simulationis depellitur.

Vestigium-fundatur simulation

Constat duobus gradibus. Uti simulator functionis aut in systemate reali, index actionum programmatis colligitur et tabellario scriptus est. Hic index vestigium dicitur. Secundum quod examinatur, vestigium includere potest instructiones exsecutabiles, inscriptiones memoriae, numeros portus, informationes interrumpere.

Proximus vestigium "ludere" vestigium est, cum simulator horologii vestigium legit et omnia quae in eo scripta sunt exequitur. In fine tempus exsecutionis huius progressionis consequitur, ac variae notae huius processus, exempli gratia, recipis in cella.

Magni momenti notam vestigiis operandi est determinismus, hoc est, modo supra descripto cursu simulatio, eandem actionum seriem iterum atque iterum exprimimus. Quo fit, ut exemplar mutatis parametris (cache, quiddam et magnitudinum queue) et diversis algorithmis internis adhibitis vel insequentibus, studeat quomodo certo modulus systematis perficiendi afficiat et optio optimos proventus dederit. Haec omnia fieri possunt cum exemplar fabricae prototypo antequam actuum hardware prototypum creet.

Multiplicatio aditus patet in necessitate primum applicationis et vestigii colligendi, tum ingentis quantitatis vestigii fasciculi. Commoda complectuntur id quod satis est ad simulatam solam partem machini seu suggesti usuris, cum simulatio per executionem plerumque requirit exemplar integrum.

Sic in hoc articulo lineamenta simulationis plenae inspeximus, de velocitate exsecutionum in diversis gradibus, horologii-by-cycli simulationis et vestigia collocuti sumus. In proximo articulo missiones principales describam ad usus simulatores, tum ad usus personales, tum ex parte progressionis in magnis societatibus.

Source: www.habr.com