Riassumendo possiamo dire che:

1) I programmi sono costituiti da processi.

2) I processi sono indipendenti tra loro, e posseggono dei registri, e delle variabili proprie.

3) I thread sono "processi leggeri" che hanno la caratteristica di condividere le stesse variabili globali per l'esecuzione di una ben determinata mansione.

4) Un processo può essere composto da un solo thread, o da più thread.

5) Più thread in un processo possono essere utilizzati per condividere lo stesso job e cooperano per un qualche tipo di attività, mentre processi diversi sono fondamentalmente scorrelati.

La figura successiva può chiarire la differenza tra processo, programma e thread.

Differenza tra i concetti di Programma, Processo e Thread.
FIGURA 1.

Ma, vediamo più in dettaglio cosa accade all'interno di una CPU. Generalmente, un microprocessore calcola un'istruzione alla volta, attuando una procedura a passi schematizzata nella tabella A, chiamata ciclo fetch-decode-execute.

CICLO FETCH-DECODE-EXECUTE
Passo 1.
Carica un'istruzione dalla memoria, e assegnala al registro delle istruzioni (IR).
Passo 2.
Cambia il registro speciale "program counter" con l'indirizzo della prossima istruzione.
Passo 3.
Determina il tipo di istruzione appena caricata nel registro delle istruzioni (IR).
Passo 4.
L'istruzione utilizza una parola in memoria? In tal caso determina il suo indirizzo.
Passo 5.
Se necessario, carica la parola residente in memoria in un registro della cpu.
Passo 6.
Esegui l'istruzione.
Passo 7.
Torna all'inizio, al 1 passo, ed esegui la prossima istruzione.
TABELLA A.

Il ciclo descritto dalla tabella A può essere sintetizzato più semplicemente così:

1) Carica un'istruzione "PINKO PALLINO" (essa indica l'azione che deve essere elaborata dalla cpu) nel registro della cpu (IR); 
2) Leggi le locazioni di memoria A, B, C, a cui, per esempio, l'istruzione PINKO PALLINO fà riferimento; Carica il contenuto di A, B, C nei registri della cpu.
3) Esegui l'istruzione "PINKO PALLINO" (un'operazione qualsiasi verrà effettuata sui valori A, B, C).
4) Scrivi il risultato dell'operazione nell'indirizzo di memoria A (o locazione), e passa alla prossima istruzione.

Menu Sezione/Pagina Precedente/Pagina Successiva/Torna alla Homepage


Sito:megaoverclock.supereva.it