Introduzione al funzionamento dei processori!

Nei giorni in cui vi prende l'ispirazione hi-tech...prendete in mano la tastiera e sfogatevi qui!

Moderatori: cb_123, tonertemplum

Messaggiodi thrantir il 13 gen 2004, 01:59

E' l'una meno un quarto e prob dovrei andarmene a letto ma nn ho resistito a concludere la parte sulle istruzioni ed eccomi qua!

Ci rimangono solo le istruzioni di accesso in memoria...questo sono essenzialmente 2, una di lettura e una di scrittura, poi ovviamente si possono aggiungere istruzioni + sofisticate ma x noi queste due basteranno... a seconda delle diverse scuole di pensiero queste istruzioni vengono kiamate in diversi modi, io x mia personale formazione le kiamerò LOAD e STORE

Allora, nel caso della lettura quello ke succede è ke una parola contenuta in memoria venga trasferita in un registro generale. L'istruzione di load si presenta così:

LOAD, registro1, registro2, registro3

Questo si traduce così: somma il contenuto del registro 1 e del registro 2, questo darà un indirizzo di memoria a cui accedere, il contenuto della cella corrispondente a questo indirizzo verrà copiato nel registro 3.
Penso ke a questo punto vi starete kiedendo perkè bisogna sommare i due registri, per ora nn ne parliamo e riprenderemo l'argomento quando vedremo + in dettaglio come avviene l'accesso in memoria.
I set di istruzioni + evoluti rendono disponibili alcune istruzioni ke consentono per esempio di fare somme con un valore contenuto in un registro e con uno contenuto nella memoria, queste in gergo sono dette istruzioni aritmetike registro-memoria, oppure di sommare due valori contenuti in memoria, istruzioni aritmetike memoria-memoria... noi per semplicità supporremo ke il nostro processore possa sommare solo valori contenuti nei registri, proprio come l'istruzione di somma ke abbiamo visto un po di tempo fa.

L'istruzione di scrittura in memoria invece sarà del tipo

STORE, registro1, registro2, registro3

Come potete intuire questo vuol dire: somma il contenuto dei registri 1 e 2 e metti nella cella di memoria corrispondente al numero così ottenuto il valore contenuto nel registro 3

Abbiamo così disponibili le istruzioni base per effettuare piccole computazioni proprio come quella ke vi ho proposto prima...
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

 

Messaggiodi thrantir il 13 gen 2004, 02:20

Siccome adesso avete una panoramica di quello ke il processore fa quando gli arriva un'istruzione vi posso cominciare a mostrare cosa succede in una esecuzione di un programma:

1) Il processore rikiede alla memoria l'istruzione da eseguire, questa fase viene detta di "chiamata dell'istruzione"

2) L'istruzione così ottenuta viene decodificata per capire cosa bisogna fare

3) Si esegue finalmente l'istruzione

4) Si rikiede la prossima istruzione e così via

Attenzione! In questa descrizione mancano alcuni passi ke x ora sarebbero troppo oscuri e sono abilmente celati alcuni meccanismi ke consentono il funzionamento del tutto come noi vogliamo... potete però capire ke per eseguire un'istruzione occorre un certo tempo ke è la somma del tempo necessario a eseguire le tre fasi:

tempo di kiamata +tempo di decodifica + tempo di esecuzione

Vi ricordate sicuramente cos'è il ciclo di clock (e se nn ve lo ricordate andate a rileggerlo!), ebbene, ognuna di queste fasi in realtà è composta da una serie di operazioni elementari ke possono essere fatte in un ciclo di clock quindi sommando tutto possiamo capire più o meno quanto ci vuole a eseguire un'istruzione:

1) il tempo di kiamata è composto da un ciclo di clock per fare la rikiesta, un certo tempo di "accesso in memoria" e un ciclo di clock per ricevere la risposta, a questo punto abbiamo la nostra istruzione!

2) la fase di decidifica è veloce, ci mettiamo 2 ciclo di clock

3) la fase di esecuzione dipende molto dall'istruzione ke dobbiamo eseguire... siccome stiamo trattando un processore alquanto "obsoleto" supporremo ke per le addizioni ci metta 2 ciclo di clock, per le moltiplicazioni circa 50 cicli, per le istruzioni di salto 2 cicli e per le istruzioni di lettura o scrittura in memoria ci mette 2 cicli + un tempo di accesso in memoria...

Capite ke per fare il calcolo dobbiamo sapere quanto è questo fantomatico "tempo di accesso in memoria"... ebbene potete intuirlo, il vostro procio va a (poniamo) 2Ghz, la memoria viaggio diciamo a 200Mhz quindi questo tempo di accesso è almeno 10 volte più grande di un ciclo di clock del processore... siccome ci vogliono un po di cicli della memoria per ottenere il dato rikiesto diciamo ke il tempo di acceso in memoria è circa 20 volte il ciclo di clock del processore

Per calcolare quanto ci vuole a eseguire un'istruzione bisognerebbe fare una media pesata, ma questo esula dall'obiettivo di questo discorso percui vi darò un risultato approssimativo, diciamo ke il nostro processore ha bisogno di circa 50 cicli di clock in media... mettiamo ke il nostro processore vada a 2Ghz, questo vuol dire ke l'impulso di clock arriva ogni mezzo nanosecondo, quindi il tempo finale è 0,5 nanosecondi * 50 = 25 nanosecondi

Ok, vi ho ucciso con quest'ultimo post, ma per fortuna non è essenziale ke capite tutto, l'importante è ke afferriate per bene ke per eseguire un'istruzione il processore ke abbiamo fino ad ora descritto ha bisogno di passare per alcune fasi ke pesano nn poco sul tempo effettivo di esecuzione!
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi thrantir il 13 gen 2004, 16:19

mi sa ke vi ho proprio uccisi con l'ultimo post, nessuno ancora si è ripreso a sufficienza x rispondermi, forse ho esagerato con l'approfondimento.... vabbè, aspetto un po x sapere come avete digerito le ultime cose, se sono state troppo pesanti il discorso si può rilassare introducendo qualke argomento di contorno + semplice e probabilmente molto interessante
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi azarius il 13 gen 2004, 16:30

dillo dilo... come mai nn c'è Azarius a rompere i cojons puntualmente.... :D :D :D...

hihihihihihihihihihihihi....

bhè si dal caso che ho capito che ci sono delle fasi da seguire perchè si esegua un'istruzione...(c'è la fase anche per il richiamo dell'istruzione).. e che nn passa una vita per far girare i programmi bastano 25nanosecondi dati dai 50 cicli di clock ogni clock dovrebbe esere 0.5nanosecondi perchè il nostro procio va a 2ghz... ma come sei arrivato 2ghz=0.5nanosecondi!!!
.::Abit_An7_-_XP-M_2400+_-_Thermaltake_Pipe101_&_UFO_-_2*256mb_KingSton_DDR_400mhz_2_3_2_11_-_5900xt_128mb_-_r::. .::ThermalTake Xaser V::.
azarius
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 704
Iscritto il: 31 dic 2003, 10:40
Località: il deserto....

Messaggiodi thrantir il 13 gen 2004, 16:37

Se nn ricordo male hai detto ke studi fisica quindi penso ke mi seguirai facilmente nel discorso: prendi per esempio l'oscillatore armonico (il nostro caro amico pendolo! :wink: ), come saprai esso è caratterizzato da un tempo kiamato "periodo" entro il quale compie un il moto ke poi si ripeterà uguale nel periodo successivo... questo periodo è espresso in secondi. Nel nostro caso il periodo è il tempo ke intercorre tra un due impulsi di clock. La frequenza nn è altro ke il numero di oscillazioni nell'unità di tempo e quindi in soldoni è l'inverso del periodo quindi se tu vuoi sapere il periodo data la frequenza fai "1 diviso frequenza"... 2Gzh vuol dire 2 miliardi di hz quindi nn devi fare altro ke fare 1 diviso 2 miliardi e otterrai 0,5 miliardesimi di secondo, cioè appunto 0,5 nanoscondi
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi azarius il 13 gen 2004, 16:44

il nostro periodo di clock (o forse ciclo di clock..)nn si ha quando il processore lancia un'impulso e gli viene restituito???quel tempo che l'impulso viaggia viene detto periodo..ma noi facendo 1/hz diciamo che 1hz equivale a un secondo?!?!?!
.::Abit_An7_-_XP-M_2400+_-_Thermaltake_Pipe101_&_UFO_-_2*256mb_KingSton_DDR_400mhz_2_3_2_11_-_5900xt_128mb_-_r::. .::ThermalTake Xaser V::.
azarius
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 704
Iscritto il: 31 dic 2003, 10:40
Località: il deserto....

Messaggiodi sku il 13 gen 2004, 16:51

azarius ha scritto:ma noi facendo 1/hz diciamo che 1hz equivale a un secondo?!?!?!


diciamo che 1hz equivale ad impulsi di clock scanditi secondo per secondo. praticamente come collegare il tuo orologio alla cpu per scandirne il funzonamento :lol:

il tuo procio ha in realta' collegato un orologio con la lancetta dei secondi che girerebbe cosi' velocemente da non essere piu' visibile! !!
sku
Cittadino onorario
Cittadino onorario
 
Messaggi: 116
Iscritto il: 07 gen 2004, 16:46
Località: Pisa

Messaggiodi thrantir il 13 gen 2004, 16:51

il segnale di clock nn è lanciato dal processore ma è un meccanismo esterno ke serve a ritmare l'esecuzione delle operazioni elementari... metti ke tu debba scrivere delle parole sul quaderno e ke le scriva lettera x lettera... è come se ci fosse qualcuno ke dandoti un segnale ti permette di scrivere la lettera successiva, allo stesso modo ogno volta ke arriva il segnale di clock il processore passa ad eseguire una operazione elementare successiva... di queste operazioni elementari non vi ho parlato nè ve ne parlerò xkè presuppongono alcune conoscenze di reti logike ke nn ha senso darvi, mica stiamo studiando x un esame!
Detto questo per noi 1hz vuol dire ke tra l'inizio e la fine di un ciclo passa un secondo, cioè il nostro periodo dura un secondo
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi azarius il 13 gen 2004, 16:57

ok capito capito... :D
.::Abit_An7_-_XP-M_2400+_-_Thermaltake_Pipe101_&_UFO_-_2*256mb_KingSton_DDR_400mhz_2_3_2_11_-_5900xt_128mb_-_r::. .::ThermalTake Xaser V::.
azarius
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 704
Iscritto il: 31 dic 2003, 10:40
Località: il deserto....

Messaggiodi thrantir il 13 gen 2004, 18:18

complimenti ad azarius ke è senz'altro lo studente + assiduo :wink:
Aspetto un po di feedback anke dagli altri perkè stiamo x esaurire la prima parte dell'argomento e quindi prepararci a passare a tecnike e tecnologie + recenti!
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi Imrik il 13 gen 2004, 18:23

io nn dico nulla xkè preferisco avere questo post più rdinato possibile.. tanto riesco a capire ciò ke dici. se nn capisco ovvio kiedo!
Imrik
 

Messaggiodi thrantir il 13 gen 2004, 19:01

ottimo, allora adesso devo vedere un po cosa scrivere nel prossimo post, sono un po indeciso xkè stiamo per fare un passo abbastanza importante!
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi azarius il 13 gen 2004, 21:29

io dovrò prendere ingegneria informatica così è meglio incominciare a imparare ora... ma per voi che siete già all'università cos'avete fatto per arrivarci.. chi ha fatto scientifico mi può spiegare come ha fatto a superare latino... ghghghhghghg.... dannato latino...
.::Abit_An7_-_XP-M_2400+_-_Thermaltake_Pipe101_&_UFO_-_2*256mb_KingSton_DDR_400mhz_2_3_2_11_-_5900xt_128mb_-_r::. .::ThermalTake Xaser V::.
azarius
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 704
Iscritto il: 31 dic 2003, 10:40
Località: il deserto....

Messaggiodi don_supa_vincè il 13 gen 2004, 21:48

Beh.......si impara presto.........penso di nn aver mai fatto una versione dopo la 2° Liceo.......maimaimaimaimai..............avevo una riedizione del Campanini Carboni rielaborata........ammicca ammicca..........

basta che prendi tutti gli scritti degli autori che fai...........li stampi carattere 4 e li incolli....................strappa pure un po' di pagine dal dizionario...........tanto nn te ne farai mai nulla............

Poi..........copia...........qualunque cosa...........anche solo per principio............ :D

SciaU
Athlon 2500+@ 2333 (166*14)........Epox EP-8K9A.......1Gb ddr Pc2700.......mitica nVIDIA GeForce 3 titanium 500 (@288 MHz GPU 600 MHz DDR).....e tutto il resto che serve a funzionare... Don Vincè
Avatar utente
don_supa_vincè
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 442
Iscritto il: 07 nov 2003, 21:06
Località: Milano

Messaggiodi azarius il 13 gen 2004, 22:01

ghhghghghghghghghghghgh.... sta il fatto ke io nn la faccio dal primo quadimestre del 1° liceo... ghghghghghghghghghg...

l'anno prossimo rappresentante d'istituto e obbietto principale.... permettere di cercare le versioni su internet durante i compiti o se nn si trova... mettersi il voto a piacimento sul compito... ghghhghghghghghghghghghghghghgh
.::Abit_An7_-_XP-M_2400+_-_Thermaltake_Pipe101_&_UFO_-_2*256mb_KingSton_DDR_400mhz_2_3_2_11_-_5900xt_128mb_-_r::. .::ThermalTake Xaser V::.
azarius
Saggio del pianeta
Saggio del pianeta
 
Messaggi: 704
Iscritto il: 31 dic 2003, 10:40
Località: il deserto....

 
PrecedenteProssimo

Torna a Guide

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron