» »

simulacija procesorja

simulacija procesorja

motorc ::

Pozdravljneni!

Ker včeraj zvečer nisem mogel zaspati sem malo razmišljal kako bi si navil moj procesor. Potem sem pa (nevem kako :) prišel do ideje, da bi lahko (če sploh) simuliral procesor. Da pojasnim:
Obstaja veliko programov za elektronska vezja. Procesor je v bistvu sestavljen iz n-tih tranzistorjev in še česa. Kaj, če bi lahko shemo procesorja spravil v en tak (prirejen ali pa na novo napisan) program, ga zagnal in z njim pognal en drug program (ali pa igro). Primer: Na 1000 Mhz procesorju simuliramo 1200 Mhz procesor. A je to možno ali ne?
Če bi blo to možno potem bi lahko znotraj tega program simuliral še hitrejši proc. DA ali NE?

PS: Hodim v 2. letnik, nimam pojma o programiranju kaj šele o podrobni zgradbi procesorja zato vas prosim, da me ne zmerjate, če ideja spada med bedarije, ok?


LP

DJroky ::

pa to med kašne bedarije!

ne zameri besedi, ampak: človek bi rekel da hodiš v drug razred in ne drug letnik (ampak, pač ni tvoje področje)

ZATO
ne sanjaj, pa naprej razmišlj o klasičnem navitju procesorja.

Zgodovina sprememb…

  • spremenil: DJroky ()

Thomas ::

Med bedarije ne spada, možno je, vendar nujno izgubimo na hitrosti.

:)
Man muss immer generalisieren - Carl Jacobi

MI_KO ::

Zakaj pa ne bi blo možno? Zadevi se reče Emulator. Možno ga je dobit za recimo Grafične kalkulatorje.

Na sodobnih simulacijah je možna vsaka simulacija. Od mikrokontroljerjev, pa do strojnih sklopov, termodinamičnih procesov.

Kot je rekel thomas pa izgubiš na hitrosti. Oz. bolje povedano: Ne moreš simulirat hitrejše stvari kot je tvoj pocesor zmožen!!

Paramedic ::

Po drugi strani bi se pa dalo simulirat procesor, ki je n-krat hitrejši od dejanskega, ampak deloval bi pa vseeno počasneje. Simulacija mislim v tem smislu, da izvajani program misli, da maš ti 2GHz proc, v resnici imaš pa 1GHz. Samo iz vidika programa je lahko procesor simuliran kot da je hitrejši, ampak program se bo pa vseeno počasneje izvajal. Pač mal filozofiram, vendar se mi zdi da je to dejstvo. Razen, če prog. sam ne izmeri hitrosti procesorja, potem bi mu lahko natvezili, da ga poganja 2GHz proc. |O
End transmission.

Thomas ::

Vsak Turingov stroj (kar procesor je) lahko emulira drug Turingov stroj (kar procesor je :D ).

Transmeta recimo, emulira Intelove procesorje kar v svoji mikrokodi.

Najbolj zanimivo je pa tole: Simulacija procesorja P na procesorju P, se včasih celo (časovno) splača!

Vendar v povprečju se ne. Dokaz je podoben tistemu, da se zipat ne da v neskončnost.

:)

Man muss immer generalisieren - Carl Jacobi

Gandalfar ::

jah random podatkov res ne.. kaj pa simulacija namenskega procesorja? Bi se to izplacalo?

Brane2 ::

Na Microchipovi strani snemi MPLAB IDE za razvoj kode na njihovih mikrokrmilnikih.

Del tega je tudi vdelan softverski simulator. Napiši košček kode in ga s simulatorjem izvajaj korak za korakom in opazuj kako se spreminjajo vsebine registrov in pomnilniških lokacij. Voila !! Matrix :D

On a more serious note, simulatorji so stara in že dolgo uporabljana stvar. Obstaja kup teh zadev. Masa je ZX SPectrum emulatorjev, ATARI ST emulatorjev itd.
V srcu sveh teh zadev je program, ki emulira delovanje ciljnega stroja, torej tudi procesorja v njem.

Emulator je baje po definiciji simulator, le da emulator ne upošteva časovne dimenzije. Torej se pri emulaciji simulirani ukazi lahko izvajajo z neko hitrostjo, ki ne ustreza nujno dejanjski, pri simulaciji pa je to pravilo. SImulator se torej "zaveda" potrebnega časa za vsako simulirano instrukcijo.

Simulator je torej "real time emulator".



Phoebus ::

Evo, pohitritev delovanja racunalnika:

najdi si en c kompajler in napisi sledece:

#include stdio.h // tale je med spicastimi oklepaji, samo me zajebava html :)

int main () {
int counter=0;

while (counter<0) {
counter++;
}
}


...... ta zadeva ti bo povecala odzivnost sistema za toliko procentov, kot dolocis zacetno vrednost counterja...ce bos naprimer napisal "int counter=20;", bo masina dela 20% hitreje. Samo ne pretiravaj, da ne bo prehitra
:D :D :D

Zgodovina sprememb…

  • spremenil: Phoebus ()

Simko ::

Phoebus,
Evo, pohitritev delovanja racunalnika:

najdi si en c kompajler in napisi sledece:

#include stdio.h // tale je med spicastimi oklepaji, samo me zajebava html :)

int main () {
int counter=0;

while (counter<0) {
counter++;
}
}


zafrkancijo na stran, niti upočasni tvoja zanka računalnika ne...

Highlag ::

Dobra tale Phoebus.

Mislim, da bi ga moral skompaljirati, tako da bi prevezel procent pohitritve iz ukazne vrstice, pol bi ga pa lahko med rubriko download tule vtaknili. :D :D

Phoebus ::

Simko: seveda upocasni. Pomisli, kaksen cpu load dobis.

Zvonko ::

CPU Load že dobiš velik. Ampak če je sistem multitasking in so procesi iste prioritete... se CPU porazdeli med več procesov.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Ps3 na pc

Oddelek: Pomoč in nasveti
141080 (816) SloBiscuit
»

Ustavljivost linearno omejenih avtomatov (strani: 1 2 )

Oddelek: Znanost in tehnologija
843855 (3369) Matevžk
»

simulacija vesolja

Oddelek: Znanost in tehnologija
382703 (1666) antonija
»

Blue Brain (strani: 1 2 3 4 )

Oddelek: Novice / Znanost in tehnologija
18711429 (8801) BBB
»

ali računalnik lahko izumlja

Oddelek: Znanost in tehnologija
332108 (1498) Brane2

Več podobnih tem