La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Architettura dei computer. Motori per lesecuzione di istruzioni Quello che i computer possono fare –eseguire deterministicamente istruzioni per elaborare.

Presentazioni simili


Presentazione sul tema: "Architettura dei computer. Motori per lesecuzione di istruzioni Quello che i computer possono fare –eseguire deterministicamente istruzioni per elaborare."— Transcript della presentazione:

1 Architettura dei computer

2 Motori per lesecuzione di istruzioni Quello che i computer possono fare –eseguire deterministicamente istruzioni per elaborare informazione –il computer deve ricevere una serie di istruzioni da seguire Quello che i computer non possono fare –non hanno immaginazione né creatività –non hanno alcun intuito –non sono crudeli né vendicativi (almeno in molti casi …) –non hanno alcuna forma di libero arbitrio

3 3 Il ciclo macchina Un ciclo in cinque passi: 1.Fetch istruzione 2.Decodifica istruzione 3.Fetch Dati 4.Esecuzione Istruzione 5.Restituzione Risultato

4 4 Anatomia di un computer I computer sono costituiti da cinque parti: –memoria, unità di controllo, unità aritmetico/logica (ALU), unità di input e unità di output

5 5 Memoria La memoria contiene il programma in esecuzione e i dati su cui il programma stesso opera Caratteristiche della memoria: –locazioni discrete. Ogni locazione è pari a 1 byte –indirizzi. Ogni locazione di memoria ha un indirizzo (un numero intero a partire da 0) –valori. Le locazioni di memoria memorizzano valori –capacità finita. Le locazioni di memoria hanno una capacità finitai programmatori devono tenere presente che la quantità di dati che è possibile scrivere è limitata

6 6 Locazioni di memoria da un byte Generalmente un diagramma della memoria di un computer rappresenta le locazioni discrete come piccoli rettangoli Lindirizzo delle locazioni è indicato sopra il rettangolo. I valori delle locazioni sono riportati nel rettangolo corrispondente.

7 7

8 8 Locazioni di memoria da un byte (cont.) Ogni locazione contiene 1 byte che memorizza un carattere ASCII o un numero compreso tra 0 e 256 I programmatori utilizzano una sequenza di locazioni di memoria adiacenti, ignorando il fatto che hanno differenti indirizzi –i blocchi di 4 byte sono usati come singola unità così frequentemente che hanno preso il nome di "parole di memoria (word)

9 9 Memoria ad accesso casuale "ad accesso casuale" significa che il computer può accedere a qualsiasi locazione di memoria Spesso è misurata in megabyte (MB) Avere tanta memoria è preferibile per non avere problemi di spazio per i programmi e i dati

10 10 Unità di controllo Implementa il ciclo macchina direttamente via hardware I suoi circuiti recuperano unistruzione dalla memoria ed eseguono altre operazioni del ciclo –unistruzione tipica ha la forma ADD 2000, 2080, 4000 –questistruzione chiede che i numeri memorizzati nelle locazioni 2000 e 2080 siano sommati e che il risultato sia inserito nella locazione 4000 –il passo di Fetch Dati deve estrarre i due valori; dopo aver effettuato la somma il passo Restituzione Risultato inserirà la somma nella locazione 4000

11 11 Unità Aritmetico/Logica Esegue tutti i calcoli Generalmente è responsabile del passo del ciclo macchina denominato Esecuzione Istruzione Un circuito nellALU può sommare due numeri Ci sono anche circuiti dedicati alla moltiplicazione, al confronto ecc. Le istruzioni di puro trasferimento dei dati non usano lALU Il passo del ciclo macchina Fetch Dati recupera i valori necessari allALU (operandi) Quando lALU ha completato loperazione, il passo Restituzione Risultato trasferisce il risultato (somma o prodotto o qualche altro valore) dallALU in un indirizzo di memoria specificato nellistruzione

12 12 Unità di input e output Le piste e i circuiti attraverso cui linformazione entra ed esce dal computer Le periferiche: si collegano alle porte di input/output del computer. Non sono considerate parti vere e proprie del computer, ma terminali specializzati che codificano/decodificano linformazione scambiata tra computer e mondo fisico.

13 13 Le periferiche La tastiera trasforma le battute sui tasti in un formato binario Il monitor rappresenta linformazione contenuta nella memoria del computer visualizzandola su uno schermo a colori Chiavi USB e hard disk sono utilizzati sia come input che come output. Sono dispositivi di memorizzazione in cui il computer può archiviare permanentemente informazioni per poi recuperarle al momento del bisogno

14 14 Un driver per ogni periferica Le periferiche sono "stupide perché forniscono solo un servizio base di traduzione da fenomeno fisico a segnale binario Ogni ulteriore informazione è demandata al computer che deve aggiungere ogni comportamento intelligente Ad es., quando il computer riceve la segnalazione che lutente ha premuto contemporaneamente shift e q converte linput nella lettera maiuscola Q. Il software che opera la conversione è chiamato driver.

15 15 Il Program Counter: un PC nel PC Come fa il computer a determinare qual è listruzione successiva da eseguire? Lindirizzo dellistruzione successiva è memorizzato nellunità di controllo ed è chiamato Program Counter (PC) Dato che le istruzioni occupano 4 byte di memoria, listruzione successiva dovrebbe essere PC + 4 Il PC è incrementato di 4, così, quando il ciclo macchina ritornerà al passo Fetch Istruzione, il PC starà già "puntando" allistruzione successiva

16 16 Istruzioni di salto Listruzione può includere lindirizzo dellistruzione successiva. Questo modifica il PC che invece di aggiungere 4 automaticamente, "salta" alla locazione specificata

17 17 Interpretazione delle istruzioni Processo di esecuzione di un programma –il computer interpreta i nostri comandi, ma espressi nel suo proprio linguaggio Prima che il ciclo macchini inizi, qualche locazione di memoria e il PC sono visibili nellunità di controllo

18 18

19 19

20 20 Interpretazione delle istruzioni (cont.) Lesecuzione comincia trasferendo dalla memoria allunità di controllo listruzione contenuta allindirizzo specificato dal PC

21 21 Interpretazione delle istruzioni (cont.) I bit dellistruzione sono copiati nel circuito decodificatore dellunità di controllo Una volta fatto questo, il PC può essere configurato per il recupero dellistruzione successiva

22 22 Interpretazione delle istruzioni (cont.) Nel passo Decodifica Istruzione, lALU è configurata per eseguire loperazione desiderata Il decodificatore troverà gli indirizzi dei dati in ingresso (operandi sorgente) –la maggior parte delle istruzioni contiene gli indirizzi di due operandi sorgente (come ADD) –questi indirizzi sono passati al circuito che li recupera durante il passo successivo, Fetch Dati Il decodificatore estrae lindirizzo di destinazione per il passo Restituzione Risultato e lo inserisce in un circuito RR Il decodificatore determina quali operazioni lALU dovrà eseguire e la configura in modo appropriato

23 23

24 24 Interpretazione delle istruzioni (cont.) Esecuzione Istruzione: è il passo in cui sono effettivamente eseguiti i calcoli. Nel caso dellistruzione ADD, il circuito effettua la somma dei due operandi sorgente

25 25

26 26 Interpretazione delle istruzioni (cont.) Restituzione Risultato: restituisce il risultato dellelaborazione nella locazione di memoria specificata dallindirizzo di destinazione Una volta concluso questo passo, il ciclo ricomincia

27 27

28 28

29 29 Moltissime operazioni semplici I computer possono eseguire solo circa 100 istruzioni diverse –circa 20 tipi di operazioni distinte (ma servono istruzioni diverse per sommare byte, parole di memoria, numeri decimali ecc.) Tutto ciò che chiediamo al computer deve essere ricondotto a una combinazione di queste operazioni primitive, supportate direttamente dallhardware

30 30 Esempi di altre istruzioni Oltre ad ADD, MULT (moltiplicazione) e DIV (divisione), altri esempi di istruzioni includono: –lo spostamento (shift) dei bit di una parola di memoria verso destra o verso sinistra, riempiendo gli spazi che si vengono a creare con degli zeri e buttando via i bit che strabordano –il calcolo dellAND logico, che verifica se due bit valgono entrambi 1, o dellOR logico, che verifica se almeno uno di essi vale 1 –il test che appura se un singolo bit vale zero o no, e salta a un nuovo blocco di istruzioni a seconda del risultato –lo spostamento dei dati da unarea allaltra della memoria –la ricezione di segnali dai dispositivi di input/output

31 31 Quanto è veloce il ciclo macchina? Limpressionante capacità dei computer deriva dalla loro possibilità di eseguire in un secondo un enorme numero di istruzioni Il clock del computer determina la velocità del ciclo macchina –misurato in megahertz, o milioni di cicli al secondo

32 32

33 33 Quanto è importante la velocità del clock? I computer moderni tentano di cominciare unistruzione a ogni tick del clock I circuiti si passano listruzione lun laltro (pipelining) –possono essere processate 5 istruzioni simultaneamente Un clock a 1 GHz può veramente eseguire un miliardo di istruzioni al secondo? –in realtà i computer non possono cominciare cominciare unistruzione a ogni tick, ma possono eseguire più istruzioni alla volta

34 34

35 35 Software Il software visto dal computer –la macchina vede un oggetto binario, una lunga sequenza di parole (gruppi di 4 byte) Il linguaggio assembler –forma alternativa del linguaggio macchina che usa lettere e numeri in modo che le persone lo possano comprendere più facilmente –il computer esamina il programma in assembler e quando incontra le parole le cerca in una tabella per trovare la corrispondente cifra binaria; quindi converte in binario e assembla i pezzi costruendo listruzione macchina completa

36 36 Software (cont.) Linguaggi di programmazione di alto livello –oggi la maggior parte del software è scritta in un linguaggio di alto livello che è compilato (tradotto) in linguaggio assembler, che viene a sua volta assemblato per ottenere un file binario –I linguaggi includono strutture speciali che aiutano i programmatori a esprimere istruzioni complicate Esempio: un blocco if è composto di tre parti –una domanda a cui si può rispondere sì e no (il test) –le istruzioni che il computer dovrà eseguire se il test risulta vero –le istruzioni che il computer dovrà eseguire se il test risulta falso.

37 37

38 38

39 39 Sistemi operativi Offrono le operazioni base necessarie per luso efficace del computer, ma non supportate direttamente dallhardware I tre più usati sono: –Microsoft Windows –MacOSX di Apple –Unix Il sistema operativo (OS) esegue il boot, gestisce la memoria, le periferiche, i file e la connessione a Internet

40 40 Programmazione avanzata I programmatori riutilizzano software precedentemente sviluppato per rendere più facile il loro lavoro Esempio: la GUI (interfaccia utente) –i bordi delle finestre, le barre di scorrimento, i pulsanti, i puntatori, ecc. sono impacchettati per i programmatori e forniti con lOS

41 41 Circuiti integrati Miniaturizzazione –la velocità del clock è così alta perché il microprocessore è piccolissimo (i segnali elettrici percorrono circa 30 centimetri in un nanosecondo)

42 42 Circuiti integrati Fotolitografia –Processo di stampa. Invece di collegare i circuiti a mano, si usa una tecnica fotografica applicata più volte consecutive –Il costo del circuito è indipendente dalla sua complessità

43 43 La tecnologia dei semiconduttori Integrazione –I componenti attivi e le piste che li collegano sono costruiti insieme, in un singolo processo e con gli stessi materiali –Si risparmia spazio e si producono componenti monolitici, più affidabili Il silicio è un semiconduttore –La capacità di controllare il passaggio di corrente in un semiconduttore è fondamentale per la costruzione dei computer

44 44 Dallapplicazione agli elettroni Riepilogo: –Partiamo da un processo di elaborazione dellinformazione –Il processo è svolto da unapplicazione, implementata sotto forma di programma in un linguaggio di alto livello come C o Java –Il programma esegue operazioni specifiche; i servizi standard come stampa o salvataggio su disco sono messi a disposizione dal sistema operativo –I comandi del programma sono compilati, cioè tradotti in istruzioni in linguaggio assembler

45 45 Dallapplicazione agli elettroni (cont.) –Le istruzioni assembler sono tradotte in codice macchina binario –Le istruzioni binarie sono registrate sullhard disk –Le istruzioni macchina vengono trasferite dal disco nella memoria RAM –Il ciclo macchina esegue le istruzioni una dopo laltra –Tutte le istruzioni del computer sono eseguite dai circuiti contenuti nellALU, utilizzando il modello descritto precedentemente


Scaricare ppt "Architettura dei computer. Motori per lesecuzione di istruzioni Quello che i computer possono fare –eseguire deterministicamente istruzioni per elaborare."

Presentazioni simili


Annunci Google