Gottfried Wilhelm von Leibniz Leibnitius MA NON SI ...digilander.libero.it/net01/ARCH_parte1.pdf ·...

30
Fare clic per modificare lo stile del sottotitolo dello schema 19/11/10 Gottfried Wilhelm von Leibniz (in lat. Leibnitius, in passato francesizz. in Leibnitz; Lipsia, 1º luglio 1646 – Hannover, 14 novembre 1716) è stato un matematico, filosofo, scienziato, glottoteta, diplomatico, giurista, storico, magistrato e bibliotecario tedesco. MA NON SI POTREBBE COSTRUIRE UN’UNICA MACCHINA CALCOLATRICE IN CUI IMPOSTARE DIFFERENTI OPERAZIONI ?! A QUESTA NECESSITA’ RISPONDONO I COMPUTER

Transcript of Gottfried Wilhelm von Leibniz Leibnitius MA NON SI ...digilander.libero.it/net01/ARCH_parte1.pdf ·...

Fare clic per modificare lo stile del sottotitolo dello schema

19/11/10

Gottfried Wilhelm von Leibniz (in lat. Leibnitius, in passato francesizz. in Leibnitz; Lipsia, 1º luglio 1646 – Hannover, 14 novembre 1716) è stato un matematico, filosofo, scienziato, glottoteta, diplomatico, giurista, storico, magistrato e bibliotecario tedesco.

MA NON SI POTREBBE COSTRUIRE UN’UNICA

MACCHINA CALCOLATRICE IN CUI

IMPOSTARE DIFFERENTI OPERAZIONI ?!

A QUESTA NECESSITA’RISPONDONO I COMPUTER

19/11/10

Charles Babbage (1791 - 1871)

COSTRUI’ SOLO IL MAGAZZINO

MAGAZZINO(memoria)

MULINO(unità di

elaborazione)

DISPOSITIVODI INPUT

DISPOSITIVODI OUTPUT

Scheda Perforata LA FOLLIA DI BABBAGE

19/11/10

REGISTRI

Parte superiore

Parte inferiore

19/11/10

DAI PRIMI 8088 INTEL , PASSANDO PER 486 e PENTIUM … TUTTI MONOCORE

OGGI

MULTICORE

(es. INTEL DUAL 2 CORE)

SCOPO

AUMENTARE LA VELOCITA’ DI

CALCOLO

DIVIDI ET IMPERA

19/11/10

ALU

Arithmetic Logic Unit

Unità Aritmetica Logica

1. Operazioni logiche,

2. Operazioni aritmetiche ,

1. Altre

CU

Control Unit

Unità di Controllo

- Stabilisce quale operazione deve fare l’ALU (la imposta)- Amministra il passaggio dell’informazione tra registri, RAM, ALU e altro

Cosa s’intende per “informazione” in questo caso ? - indirizzi di memoria - operandi - riferimento a un registro

REGISTRI - sequenza di celle di memoria, di norma indicate da lettere o sigle- accesso MOLTO veloci-vi sono dei registri con compiti speciali: program counter, istruction register

19/11/10

Codice Operativo

Operando 1 Operando 2 Risultato

Numero binario cheindica l’operazione che deve fare l’ALU

Come sono fatte le istruzioni svolte dal processore ?

Sono: - valore numerico - indirizzo di memoria (RAM) dove risiede il valore dell’operando - il riferimento al registro che contiene il valore dell’operando

Dove memorizzo il risultato dell’operazione: - registro - locazione di memoria (RAM)

19/11/10

0001 0000 0001 0010

1 2

3

1 – prelevo l’istruzione dalla RAM2,3 – Prelevo gli operandi dalla RAM4 – salvo il risultato in memoria RAM

4

ALL’ESTERNO DEL PROCESSORE COSA SUCCEDE QUANDO LA CPU SVOLGE UN’ISTRUZIONE ?

19/11/10

ALL’INTERNO DEL PROCESSORE COSA SUCCEDE QUANDO SVOLGE UN’ISTRUZIONE ?

PC

IR Contienel’istruzione da svolgere

Indica dove si trova la prossima Istruzione da svolgere

1

2

3a

3b

4b

4aRAM

5 6b

6a

1 – legge l’operazione da fare ovvero il codice operativo2 - imposta l’operazione sull’ALU (dice all’ALU quale operazione fare)3 - richiede gli operandi da … (a) la RAM … (b) dai registri4 - arrivano i registri … … (a) da RAM … (b) dai registri (da IR, integrato con l’istruzione, o da dei registri 5 – la CU avvia il calcolo dell’ALU (dà il via libera) 6 – salviamo il risultato su … … (a) RAM … (b) registri

19/11/10

CASE

Tower

Desktop

19/11/10

INTERNO CASE

SCHEDA MADRE (motherboard)

Unità di memoria Secondaria:

- disco fisso (Hard Disk, HD) - lettore floppy - lettore CD/DVD/ /masterizzatore/ Combo

alimentatore

19/11/10

ALIMENTATORE

a portatile da fisso

Necessita di una ventola per essere raffreddato

ALIMENTATORE

220 Volt alternata

Sotto i 10 volt circa continua

19/11/10

Memorie

Memorie Primarie RAM, ROM

Memorie Secondarie Hard Disk Floppy Disk CD/DVD PENDRIVE Nastri ecc

19/11/10

Memorie Secondarie

Hard Disk Tradizionali SSD

Floppy Disk

CD/DVD

PENDRIVE

Nastri

19/11/10

Unità di Misura per memorie

Unità base: bit [0 o 1]

8 bit = 1 byte - posso avere 28 valori diversi

(00000000, 00000001,00000010, …)

1024 (+/- 1000) byte = 1 kilobyte (1 KB)

1024 KB = 1 megabyte (1 MB)

1024 MB = 1 gigabyte (1 GB)

1024 GB = 1 terabyte (1 TB)

Fare clic per modificare lo stile del sottotitolo dello schema

19/11/10 11

Gottfried Wilhelm von Leibniz (in lat. Leibnitius, in passato francesizz. in Leibnitz; Lipsia, 1º luglio 1646 – Hannover, 14 novembre 1716) è stato un matematico, filosofo, scienziato, glottoteta, diplomatico, giurista, storico, magistrato e bibliotecario tedesco.

MA NON SI POTREBBE COSTRUIRE UN’UNICA

MACCHINA CALCOLATRICE IN CUI

IMPOSTARE DIFFERENTI OPERAZIONI ?!

A QUESTA NECESSITA’RISPONDONO I COMPUTER

La storia dei calcolatori può essere fatta risalire all’abaco (le prime informazioni su tale strumento risalgono a più di 4000 anni fa). Si tratta chiaramente di uno strumento elementare che non ha in se l’idea moderna di computer, ma solo quella di macchina calcolatrice, ovvero di macchina per fare calcoli. Si tratta, comunque, di un meccanismo banale basato sullo spostamento di biglie lungo un’asta e non di una vera macchina.La prima vera macchina calcolatrice fu la macchina di Anticitera, usato per il calcolo del moto dei pianeti (2°/1o secolo a.C). Sono tutte macchine con uno scopo specifico, non possono fare diversi tipi di calcoli in base a una fase di impostazione, che è l’idea di computer moderno (general purpose, a proposito generico). L’idea moderna di computer risale a Leibniz. Nel 1623 Wilhelm Schickard costruisce la prima macchina meccanica per le addizioni, si tratta della prima macchina calcolatrice dai tempi della macchina di Anticitera, ed è su quest’onda che Leibniz si avventura in questo campo comprendendone i limiti: è sicuramente seccante dover costruire una diversa macchina ogni volta che si effettuano calcoli diversi. Leibniz si porrà il problema, ma non darà soluzione.

11

19/11/10 22

Charles Babbage (1791 - 1871)

COSTRUI’ SOLO IL MAGAZZINO

MAGAZZINO(memoria)

MULINO(unità di

elaborazione)

DISPOSITIVODI INPUT

DISPOSITIVODI OUTPUT

Scheda Perforata LA FOLLIA DI BABBAGE

Il primo tentativo di soluzione viene dall’inglese Babbage con il suo progetto di computer meccanico ma realizzato interamente (sia per problemi di fondi sia per i limiti della tecnologia del tempo). L’idea di base è straordinariamente simile a quella dei moderni calcolatori. Il computer di Babbage era diviso in 4 unità logiche: magazzino, mulino, dispositivo d’ingresso dei dati (input) e dispositivo di uscita dei dati (output).Il magazzino era la sede delle informazioni e il mulino l’unità di elaborazione dei dati, quella che effettuava i calcoli.Il sistema d’ingresso dei dati non era limitato ai valori da utilizzare come operandi, ma alle operazioni stesse da effettuare, ovvero alle sequenze di ordini che la macchina doveva svolgere per ottenere il risultato desiderato (concetto di algoritmo: sequenza di istruzioni deterministiche, non ambigue e limitate nel numero necessarie per raggiungere un determinato obiettivo da determinati dati di partenza).Per impostare le operazioni e inserire i dati Babbage si ispiro alla recente invenzione dei telai meccanici. I telai meccanici seguivano le indicazioni su delle schede perforate per effettuare teli con differenti ricami. Utilizzare lo stesso sistema per dire alla macchina quali operazioni effettuare fu una delle grandi idee di Babbage. Sfortunatamente l’idea rimase progetto e non fu realizzata e i contemporanei la ribattezzarono ingiustamente la Follia di Babbage. Nonostante ciò Babbage rimane uno dei padri fondatori dell’informatica.

[ vedi anche a p. 47 l’ultimo paragrafo sui telai meccanici]

22

19/11/10 33

John von Neumann, nato János Neumann (Budapest, 28 dicembre 1903 – Washington, 8 febbraio 1957), è stato un matematico, fisico e informatico ungherese naturalizzato statunitense.

IAS machine fu il primo computer digitale costruito dall'Institute for Advanced Study (IAS), Princeton, USA.

Le idee di Babbage presero nuova vita con l’avvento dell’elettronica dopo la 2° guerra mondiale, quando J. Von Neumann rielaborerà lo schema del vecchio progetto di elaboratore meccanico in quello che passerà alla storia come modello di Von Neumann. Il mdoello di Von Neumann nacque per la realizzazione dell’IAS machine.Il modello di Von Neumann prevede 5 unità:

- una memoria per immagazzinare i dati e i programmi - un unità di controllo per gestire il funzionamento delle altre unità e il trasferimento dei dati da un’unità all’altra - un unità aritmetico logica per l’effettuazione dei calcoli dotata di una cella di memoria come memoria di lavoro (detta accumulatore) - un dispositivo di input (scheda perforata al tempo, oggi tastiera e mouse principalmente) - un dispositivo di output (stampante di tabulati al tempo, oggi video e casse audio principalmente)

Il parallelo tra il modello di Von Neumann e il progetto di Babbage è immediato:

Memoria - Magazzino

Unità di Controllo e Unità Aritmetico Logica - Mulino

33

19/11/10 44

REGISTRI

Parte superiore

Parte inferiore

Lo schema di Von Neumann diventa lo schema dei processori usati anche ai giorni d’oggi (a parte i dispositivi di I/O, input/output).

Vedi il capitolo 3 solo la p.65

Le immagini sulla slide sono del processore monocore intel 486 del 1989

44

19/11/10 55

DAI PRIMI 8088 INTEL , PASSANDO PER 486 e PENTIUM … TUTTI MONOCORE

OGGI

MULTICORE

(es. INTEL DUAL 2 CORE)

SCOPO

AUMENTARE LA VELOCITA’ DI

CALCOLO

DIVIDI ET IMPERA

Nel 2000 la tecnologia della microelettronica sembra aver raggiunto i suoi limiti, a furia di stringere più componenti in spazi sempre più stretti per realizzare processori sempre più potenti si sono realizzati prodotti sempre più fragili e “caldi”. L’effetto collaterale di questa tendenza è la produzione di processori che tendono sempre più a lsurriscaldarsi.Il futuro dei processori sembra essere l'abbandono della microelettronica, diverse le alternative in studio da allora:

1. nanoelettronica 2. computer quantici 3. processori organici o ibridi

Tutti studi interessanti ma che necessitano di molti anni di studio ancora oggi. La strada intrapresa fu quella dei multicore, più processori che si suddividono il carico di lavoro. Ovviamente i tempi per effettuare i task sono suddivisi tra i vari core che lavorano allo stesso tempo, in parallelo. Ma prima di ciò vi è una attività di suddivisione dei compiti tra i diversi core che non è a costo zero, richiede del tempo.

55

19/11/10 66

ALU

Arithmetic Logic Unit

Unità Aritmetica Logica

1. Operazioni logiche,

2. Operazioni aritmetiche ,

1. Altre

CU

Control Unit

Unità di Controllo

- Stabilisce quale operazione deve fare l’ALU (la imposta)- Amministra il passaggio dell’informazione tra registri, RAM, ALU e altro

Cosa s’intende per “informazione” in questo caso ? - indirizzi di memoria - operandi - riferimento a un registro

REGISTRI - sequenza di celle di memoria, di norma indicate da lettere o sigle- accesso MOLTO veloci-vi sono dei registri con compiti speciali: program counter, istruction register

NOTA:1) Le operazioni logiche sono operazioni come “and”, “or” e “not”.2) Il registro program counter (contatore di programma) : registro che contiene il riferimento alla prossima istruzione da svolgere3) Istruction register ( registro d’istruzione ) : registro che contiene l’istruzione da svolgere

66

19/11/10 77

Codice Operativo

Operando 1 Operando 2 Risultato

Numero binario cheindica l’operazione che deve fare l’ALU

Come sono fatte le istruzioni svolte dal processore ?

Sono: - valore numerico - indirizzo di memoria (RAM) dove risiede il valore dell’operando - il riferimento al registro che contiene il valore dell’operando

Dove memorizzo il risultato dell’operazione: - registro - locazione di memoria (RAM)

I vari applicativi che usiamo ogni giorno sono costituiti da sequenze di istruzioni in linguaggio macchina. Ogni istruzione è un numero binario, ogni numero binario deve essere letto come composto da quattro parti: il codice operativo, gli operandi e la locazione dove registrare il risultato.

19/11/10 88

0001 0000 0001 0010

1 2

3

1 – prelevo l’istruzione dalla RAM2,3 – Prelevo gli operandi dalla RAM4 – salvo il risultato in memoria RAM

4

ALL’ESTERNO DEL PROCESSORE COSA SUCCEDE QUANDO LA CPU SVOLGE UN’ISTRUZIONE ?

Per svolgere un'istruzione il processore la deve recuperare dalla RAM (1), poi richiede alla RAM gli eventuali operandi indicati dall'istruzione (2) e la RAM li invia al processore (3). A questo punto il processore effettua il calcolo e lo salva, nella maggior parte dei casi nella RAM (4), in altri casi in uno dei registri del processore.

19/11/10 99

ALL’INTERNO DEL PROCESSORE COSA SUCCEDE QUANDO SVOLGE UN’ISTRUZIONE ?

PC

IR Contienel’istruzione da svolgere

Indica dove si trova la prossima Istruzione da svolgere

1

2

3a

3b

4b

4aRAM

5 6b

6a

1 – legge l’operazione da fare ovvero il codice operativo2 - imposta l’operazione sull’ALU (dice all’ALU quale operazione fare)3 - richiede gli operandi da … (a) la RAM … (b) dai registri4 - arrivano i registri … … (a) da RAM … (b) dai registri (da IR, integrato con l’istruzione, o da dei registri 5 – la CU avvia il calcolo dell’ALU (dà il via libera) 6 – salviamo il risultato su … … (a) RAM … (b) registri

L'unità di controllo guida le altre unità nelle fasi illustrate nello schema sovrastante e gestisce il flusso di dati e istruzioni tra RAM e processore e all'interno del processore.

19/11/10 1010

CASE

Tower

Desktop

Il computer vero e proprio è contenuto dentro il case, si tratta di una struttura chiusa fatta appositamente per contenere le diverse componenti fisiche del sistema informatico: processore, RAM, disco fisso, alimentatore, ecc.I case sono di due tipi: desktop e tower. Le tower, a loro volte, sono distinte in mini-tower, middle-tower e big-tpwer in base alla loro altezza.

19/11/10 1111

INTERNO CASE

SCHEDA MADRE (motherboard)

Unità di memoria Secondaria:

- disco fisso (Hard Disk, HD) - lettore floppy - lettore CD/DVD/ /masterizzatore/ Combo

alimentatore

All'interno del case vi è un circuito stampato che occupa la maggior parte della superficie del case, la scheda madre. Sulla scheda madre hanno sede le parti più importanti del computer: processore, RAM, ROM, schede di interfacciamento con le periferiche (scheda audio, scheda sonora, scheda di rete, ecc), ecc.Inoltre nel case si trova l'alimentatore di corrente che converte la 220 V in divei voltaggio adatti alle diverse componenti presenti nel case.Infine dentro il case vi sono il disco fisso e i lettori di unità ottiche. Un tempo vi era anche il lettore di floppy disk.

19/11/10 1212

ALIMENTATORE

a portatile da fisso

Necessita di una ventola per essere raffreddato

ALIMENTATORE

220 Volt alternata

Sotto i 10 volt circa continua

Gli alimentatori prendono dalle prese di corrente l'elettricità come corrente alternata a 220 Volt e la passano a corrente continua con voltaggi nettamente inferiori in base alle necessità delle singole unità presenti all'interno del case.

19/11/10 1313

Memorie

Memorie Primarie RAM, ROM

Memorie Secondarie Hard Disk Floppy Disk CD/DVD PENDRIVE Nastri ecc

Le memorie sono classificate in primarie e secondarie. Nella slide sono elencate le principali memorie delle due classi, ma non si tratta di elenchi esaustivi.

19/11/10 1414

Memorie Secondarie

Hard Disk Tradizionali SSD

Floppy Disk

CD/DVD

PENDRIVE

Nastri

L'elenco delle memorie secondarie presenta due casi che sfruttano la stessa tecnologia, si tratta delle PENDRIVE e dei dischi fissi SSD, entrambe si basano su memorie flash, un particolare tipo di EEPROM.

19/11/10 1515

Unità di Misura per memorie

Unità base: bit [0 o 1]

8 bit = 1 byte - posso avere 28 valori diversi

(00000000, 00000001,00000010, …)

1024 (+/- 1000) byte = 1 kilobyte (1 KB)

1024 KB = 1 megabyte (1 MB)

1024 MB = 1 gigabyte (1 GB)

1024 GB = 1 terabyte (1 TB)

L'unità di misura di base è il bit, un bit può contenere solo 0 o 1I multipli del byte (8 bit) possono essere valutati in modo approssimato o esatto. Approssimando posso dire che un 1 KB è dato da 1000 B, ovvero 103 byte.Se voglio esprimermi in modo esatto dovrò dire che 1 KB è 1024 bytePer ogni bit che costituisce un'area di memoria so che devo moltiplicare per 2 per capire quanti valori sono rappresentabili. Quindi con 8 bit, ovvero un byte posso rappresentare 256 differenti valori.