chi smista sui core? la cpu o il SO?

Pubblicità

Black Imp

Utente Attivo
Messaggi
1,270
Reazioni
38
Punteggio
73
dalla mia quasi laurea in ing. informatica dovrei rispondermi da solo ma non è così :rolleyes: o meglio la mia risposta confligge con la realtà che vedo...

la domanda è: ma chi assegna il carico ai core dei processori multicore? è la cpu stessa o il sistema operativo? la mia risposta è più la seconda, per forza. cioè il SO sfrutta qualche istruzione della cpu per specificare il core. ma se è così ... a che serve un multicore su un sistema come xp che non credo sia in grado di gestirli? e xp 64 è diverso? :boh:
 
la cpu esegue solo le operazioni ke gli vengono inviate... è il software ke decide cosa fare, quando farla, come farla e su che core farla :ok:
 
ing. in Informatica?? Io studio Dott. in informatica, cmq si è il sistema operativo che "smista" ai core. E non è vero che XP non è in grado di farlo, perchè la funzionalità "multi-cpu" (usata x gestire i 2 core) è stata introdotta in tutti sistemi operativi con tecnologia NT. Quindi parliamo Di Windows NT, Windows 2000, Windows XP, Windows 2003 e così via.
Puoi eseguire anche una gestione manuale aprendo il Task manager selezionando il processo (non l'applicazione, proprio il processo) che ti interessa col tasto destro, seleziona affinita e ti permetterà di decidere dove eseguire l'applicativo (CPU1 o CPU2) di default sono attive entrambe su tutti i task.
Io avevo (prima del dual core) un sistema AMD Athlon MP Palomino con 2 CPU e la gestione era identica (usavo win2000 prima e poi XP).
Ho anche XP64 e la gestione è sempre uguale, a parte che è difficile reperire driver a 64bit per alcune periferiche (naturalmente quelli a 32bit non funzionano).
 
ovviamente da futuro ingegnere informatico avrai studiato cosa è lo scheduler...se ne occupa quello e cmq se nn fosserò utilizzati tutti i core credo che nn avrei notanto un sensibile aumento di reattività passando da un single ad un dual core...;)
 
ehm ragazzi... il fatto che mi ponga con umiltà non significa che sia imbecille :doh:. il dubbio mi è venuto - ovviamente so cos'è uno scheduler, anzi in questo caso si chiama più specificamente dispatcher - perchè, come ho scritto in alto, per me è il sistema operativo che deve smistare - ovviamente la cpu deve riconoscere delle istruzioni di selezione del core - ma NON SAPEVO che Win xp riconoscesse più core! ;) non mi capacitavo della cosa infatti. mi ero dimenticato che viene da nt che già lo faceva credo.
tutto qui. grazie delle risposte.

allora la domanda adesso diventa un'altra: se non ricordo male xp 32bit su Amd 64 usa una parte del processore che emula i 32 bit e quindi non sfrutta l'architettura nuova. Quindi: se funziona in questa modalità ed è un x2, usa i due core lo stesso, entrambi in emulazione? o il circuito di emulazione vale come un solo core?
 
Puoi eseguire anche una gestione manuale aprendo il Task manager selezionando il processo (non l'applicazione, proprio il processo) che ti interessa col tasto destro, seleziona affinita e ti permetterà di decidere dove eseguire l'applicativo (CPU1 o CPU2) di default sono attive entrambe su tutti i task.
Io avevo (prima del dual core) un sistema AMD Athlon MP Palomino con 2 CPU e la gestione era identica (usavo win2000 prima e poi XP).
Ho anche XP64 e la gestione è sempre uguale, a parte che è difficile reperire driver a 64bit per alcune periferiche (naturalmente quelli a 32bit non funzionano).


bellissimo :ok:. non lo sapevo perchè non ho mai avuto finora un dual.
 
Un processore x2 e come se fossero "2 processori in 1" quindi 2 cache e 2 emulatori. Infatti i dual core hanno cache minima 1M e non 512K come per i singole core (1M= 512x2).
Se per nuova tecnologia intendi il dual core allora non è vero che non viene sfruttata (vedi il mio post di prima) se per nuova tecnologia intendi i 64bit (più vecchia rispetto al dual core) è vero semplicemente per il fatto che OS a 64bit non vengono usati. Esiste XP64 e Vista 64 ma se compri un pc nuovo con processore a 64 bit comunque ti mettono OS a 32. Se vuoi XP64 devi restituire la licenza del 32 in dotazione con il pc e aggiungere altri 150 (mi sono informato ai tempi) immagino sarà la stessa cosa con Vista.
XP 64 non si diffonde perchè (come Vista 64) necessita di driver a 64Bit che non tutti i costruttori di hardware fanno (io ho XP64 e 32, nel 64 la stampante, lo scanner e la chiave bluethoot non funziona perchè non esistono i driver).
Alcuni programmi non funzionano sul WoW (Windows On Windows) l'emulatore di Windows XP32 su XP64 (es. Zone Alarm).
E' ironico pensare che XP64 emula per certi programmi da 64 a 32 bit, il processore per gli stessi programmi eumla da 32 a 64.
 
Un processore x2 e come se fossero "2 processori in 1" quindi 2 cache e 2 emulatori. Infatti i dual core hanno cache minima 1M e non 512K come per i singole core (1M= 512x2).
ti ringrazio è questo che volevo sapere: quindi svantaggio dell'emulazione ma almeno è usato come dual.

Se per nuova tecnologia intendi il dual core allora non è vero che non viene sfruttata (vedi il mio post di prima) se per nuova tecnologia intendi i 64bit (più vecchia rispetto al dual core) è vero semplicemente per il fatto che OS a 64bit non vengono usati.

sì certo ho detto "nuova architettura" intendendo la parte a 64bit. intel ha fatto una cosa più intelligente interponendo una wrapper che trasforma le istruzioni a 32 in istruzioni a 64. così non ha dovuto mettere l'emulatore e anche con SO a 32bit non è penalizzata più di tanto.

Esiste XP64 e Vista 64 ma se compri un pc nuovo con processore a 64 bit comunque ti mettono OS a 32. Se vuoi XP64 devi restituire la licenza del 32 in dotazione con il pc e aggiungere altri 150 (mi sono informato ai tempi) immagino sarà la stessa cosa con Vista.
XP 64 non si diffonde perchè (come Vista 64) necessita di driver a 64Bit che non tutti i costruttori di hardware fanno (io ho XP64 e 32, nel 64 la stampante, lo scanner e la chiave bluethoot non funziona perchè non esistono i driver).
Alcuni programmi non funzionano sul WoW (Windows On Windows) l'emulatore di Windows XP32 su XP64 (es. Zone Alarm).
E' ironico pensare che XP64 emula per certi programmi da 64 a 32 bit, il processore per gli stessi programmi eumla da 32 a 64.

eh lo so ho provato una volta a casa della mia ragazza a mettere win xp 64 , andava benissimo ma... avevano il modem di alice e non esistevano i driver per xp 64 :cav:

però l'ho montato sul pc di un amico con amd x2 e va benissimo. i driver per le schede più note ci sono.
 
Non sono laureando in ingegneria ma il concetto di emulazione penso (parlando delle istruzioni 32 bit su processori a 64) sia sbagliato...semplicemente si sa che in HW ad esempio gli athlon 64 sono compatibili nativamente sia con istruzioni a 32 che a 64 bit.
Semplicemente disabilitano i registri a 64bit durante l'eseguzione di operazioni a 32... Non ho chiaro il perchè si parli di emulazione. Inoltre è ovvio che viene assegnato il carico di lavoro da parte di un software. Magari fosse il processore, non ci sarebbe molta necessità di scrivere codice ad hoc per il calcolo parallelo general purpose.

Ciao
 
Non sono laureando in ingegneria ma il concetto di emulazione penso (parlando delle istruzioni 32 bit su processori a 64) sia sbagliato...semplicemente si sa che in HW ad esempio gli athlon 64 sono compatibili nativamente sia con istruzioni a 32 che a 64 bit.
Semplicemente disabilitano i registri a 64bit durante l'eseguzione di operazioni a 32... Non ho chiaro il perchè si parli di emulazione. Inoltre è ovvio che viene assegnato il carico di lavoro da parte di un software. Magari fosse il processore, non ci sarebbe molta necessità di scrivere codice ad hoc per il calcolo parallelo general purpose.

Ciao

sì ma come ho detto non approfittiamo di una domanda per fare lezioni inutili agli altri o polemizzare :doh:, poi che razza di ragionamento è ? mi scambi la causa per l'effetto? come ho scritto sopra pensavo che windows xp non avesse un dispatcher per più processori è solo per quello che mi è venuto il dubbio su come funzionassero QUESTI processori - NON SULLA TEORIA IN SE' -

inoltre certi meccanismi come la paginazione e la segmentazione sono gestiti da entrambi, sw e hw, altri come il raid hw sono trasparenti al SO. non c'è un modo solo di fare le cose e non è la prima volta che si trovano compromessi in ambito non server.

si parla di emulazione perchè usi un set di istruzioni limitato che non sfrutta l'architettura nuova: il termine si riferisce più che altro a quando usi un programma a 32bit da windows a 64. gli amd più che emulare SONO in quel momento dei processori a 32bit. gli intel fanno un wrapping delle istruzioni e le traducono proprio in istruzioni a 64 bit ultilizzando quindi le possibilità offerte dalle nuove istruzioni anche quando fanno girare codice a 32 bit. credo sia evidente la differenza.
 
Pubblicità
Pubblicità
Indietro
Top