L'importanza di switch in una CPU

March 7

L'unità di elaborazione centrale (CPU) di un computer controlla i calcoli ed esegue i comandi di tutti i programmi in esecuzione sul computer. Ciò significa che il processore spesso manipola più programmi contemporaneamente. Per eseguire qualsiasi programma, tanto meno programmi multipli, la CPU ha bisogno di avere alcune informazioni da un programma in modo che il programma possa funzionare. Queste informazioni, chiamato stato, differisce da programma a programma. Quando si passa da un programma all'altro, la CPU deve implementare modifiche tra stati di programmi, chiamati cambio di contesto.

Multitasking

Durante l'esecuzione di più programmi a memoria, il processore di un computer sembra solo per eseguire effettivamente i comandi simultaneamente. Quando si guarda le azioni del sistema, sembra che tutto funzioni allo stesso tempo. Tuttavia, il processore può effettivamente solo eseguire un singolo programma alla volta. Il processore commuta tra i programmi costantemente, a seconda della loro priorità, così rapidamente che gli utenti sanno mai che i programmi eseguiti indipendentemente l'uno dall'altro.

Registri di memoria della CPU

Mentre il processore lavora sui comandi di un particolare programma, i dati di tale programma risiede in speciali registri di memoria locali. Questi registri tengono programma variabile informazione e altre informazioni riguardanti lo stato del programma in esecuzione. Queste informazioni si svolge solitamente nella memoria cache del processore, un tipo veloce ma costoso di stoccaggio in genere utilizzato solo in piccole quantità nel processore stesso.

cambio di contesto

Per gestire più programmi in esecuzione, il processore deve implementare cambi di contesto. Quando il processore passa contesto, tutte le informazioni da un programma in esecuzione viene off-caricato in una parte della memoria. Le informazioni per il successivo programma in esecuzione è caricato nei registri locali e vengono eseguiti i comandi. Poiché lo stato di un programma è off-caricato utilizzare lo stato di un altro, ingegneri chiamano questo un cambiamento di contesto. Lo stato della macchina viene cambiata per gestire il nuovo programma. Per ogni fetta di tempo che un programma ottiene sulla CPU, deve avvenire un cambio di contesto.

Scheduling della CPU

Per gestire contesto e cambio di contesto, una routine speciale nel sistema operativo chiamato lo scheduler gestisce l'accesso programma nella CPU. Diversi algoritmi esistono per gestire questi programmi e di garantire che tutti hanno la possibilità di utilizzare il processore; questi algoritmi determinano anche quanti si verificano cambi di contesto. Tipicamente, gli algoritmi che possono determinare la priorità di un programma e di lasciare i programmi in esecuzione sul processore il più lungo senza bloccare altri programmi aumenterà l'efficienza del processore. Questo perché tutti i programmi saranno ancora avere una possibilità con il processore, evitando l'overhead associato con cambio di contesto.