ciao,<br><br>non ho la minima idea di come funzioni, gli unici processori su cui ho giocato in assembly erano nec 20 anni fa :)<br><br>gli approcci che mi vengono in mente sono<br><br>1 ho visto dei processori con un interrupt di istruzione illegale.<br>
ovvero, se stanno eseguendo un programma e trovano un codice che non e una loro istruzione, mandano un segnale, che di solito il kernel passa all utente come sigill se non ricordo male.<br>di solito questo dice, in un programma con la giusta architettura, che hai un puntatore che e andato a signorine.<br>
<br>potrebbe essere che i nuovi kernel, prima di mandare una sigill all utente guardino ik codice che ha generato il casino, e vi sia nel kernel un elenco di istruzioni che possobo emulare.<br>in quedto caso il programma e rallentato solo quando vi sono tali istruzioni.<br>
<br>ripeto, a logica il meccanismo puo essere questo, ma non ho mai guardato il codice in questione!<br><br>ciao <br>giammy<br><br>On Saturday, May 11, 2013, Samuele <<a href="mailto:samuele.zanin@tiscali.it">samuele.zanin@tiscali.it</a>> wrote:<br>
> On 06/05/2013 00:04, silvia cibola wrote:<br>>> architetture in generale... Ci capisco davvero poco! Insomma, 32-bit,<br>>> 64-bit... ma di preciso cosa è che è a x-bit? Ed è vero che si possono<br>>> far girare le applicazioni 32-bit sui sistemi 64-bit, ma non<br>
>> viceversa? E cno l'introduzione di questo multiarch cosa cambierebbe?<br>><br>><br>> Mercoledì sera, parlando di ste robe, è saltato fuori che il kernel è in<br>> grado di emulare talune istruzioni del processore qualora non fossero<br>
> presenti nel particolare processore dove stanno girando.<br>><br>> Es.: se ho un programma che usa le SSE2, ma sulla macchina dove le<br>> faccio girare non sono presenti, il kernel traduce queste istruzioni in<br>
> altre più semplici. Nel caso specifico, si faceva riferimento ai vari<br>> "flags" che compaiono facendo cat /proc/cpuinfo tra un i3 ed un atom.<br>> Io, come studio cpu ero rimasto fermo all'8086/80386, e come funzionava<br>
> sotto DOS. Dove i vari processori, a parità di "versione" avevano tutti<br>> le stesse istruzioni.<br>> Mi è capitato sotto windows, con programmi di conversione video, che<br>> testano se la cpu ha certe istruzioni fanno girare delle routine,<br>
> altrimenti altre. Ma è il programma finale che decide.<br>> Questo comporta che il kernel debba esaminare tutte le istruzioni prima<br>> di passarle al processore, ma questo non rallenta l'esecuzione dei<br>
> programmi? E poi, che casino succede con i vari indirizzi di memoria?<br>><br>> Avete qualche documento "non da ingegneri elettronici" che spieghi la cosa?<br>><br>><br>><br>> _______________________________________________<br>
> montellug mailing list<br>> <a href="mailto:montellug@montellug.it">montellug@montellug.it</a><br>> <a href="http://mail.montellug.it/mailman/listinfo/montellug_montellug.it">http://mail.montellug.it/mailman/listinfo/montellug_montellug.it</a><br>
><br><br>-- <br>Gianluca Moro                               Technology explorer<br>N.s.A - Note su Android                <a href="http://www.giammy.com/nsa" target="_blank">http://www.giammy.com/nsa</a><br>Medical Brain Computer Interface  <a href="https://groups.google.com/group/medical-bci/" target="_blank">https://groups.google.com/group/medical-bci/</a><br>
<a href="http://giammy.com/?q=node/42" target="_blank">http://giammy.com/?q=node/42</a><br><br>