La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fondamenti di informatica: un po’ di storia

Presentazioni simili


Presentazione sul tema: "Fondamenti di informatica: un po’ di storia"— Transcript della presentazione:

1 Fondamenti di informatica: un po’ di storia
L’idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al ‘600 (Pascal, Leibniz) Nell’ottocento vengono realizzati i primi dispositivi meccanici “a programma”: telai Jacquard, pianole, macchine di Babbage

2 Fondamenti di informatica: un po’ di storia
Nel 1896 Hollerith fonda la “Tabulating Machine Company” (poi IBM), che produce sistemi meccanografici a schede Negli anni ’30 vengono realizzate le prime macchine elettromecaniche (Zuse in Germania, Mark 1 ad Harvard) Nel ’46 entra in servizio l’ENIAC: elaboratore a valvole termoioniche e a programma filato Nel ’48 ENIAC viene esteso per permettere una forma di funzionamento a programma memorizato

3 Fondamenti di informatica: lo sviluppo teorico
Matematici e logici mostrarono come sia possibile risolvere importanti classi di problemi per via numerica Nel 1936 Turing pubblica “On computable numbers, with an aaplication to the entscheidungsproblem”, che mostra come sia concepibile una macchina universale in grado di calcolare tutto ciò che è calcolabile La teoria dell’informazione (con un famoso articolo di Shannon del 1948) mostra come fenomeni continui possano essere descritti in modo preciso in forma discreta (campionamento e quantizzazione) L’informatica teorica mostra che esistono problemi non risolvibili per via algoritmica, e problemi ardui non risolvibili (o difficilmente risolvibili) per mancanza di algoritmi efficienti

4 Introduzione all’Architettura del Computer

5 Domande di partenza: Che cos’è un computer?
Da cosa è composto un computer? Come interagisco con il computer? Che cosa c’è dentro il case? Come funziona un computer? Risposte: Un dispositivo elettronico per immagazzinare e elaborare dei dati seguendo delle istruzioni codificate in forma di un programma quattro parti principali: Unità di input (tastiera, mouse) Central Processing Unit (CPU) Unità di output (monitor, stampante) Unità di memoria (RAM, HD, FD) Ci sono varie cose: Scheda madre Memoria RAM e ROM HD, FD, CD-ROM Scheda video, Scheda audio Scheda di Rete Ecc. Con Tastiera e mouse per agire, con il monitor per percepire

6 Cos’è un computer? Un computer è una macchina che: Memorizza dati
Interagisce con dispositivi (schermo, tastiera, mouse) Esegue programmi I programmi sono sequenze di istruzioni che il computer esegue e di decisioni che il computer prende per svolgere una certa attività

7 I diversi strati Applicazioni Sistema Operativo Macchina

8 Da cosa è composto un computer?
Quattro parti principali: Unità di input (tastiera, mouse) Unità di output (monitor, stampante) Central Processing Unit (CPU) Unità di memoria (RAM, HD, FD)

9 Che cosa c’è dentro il case?
Ci sono varie cose: Scheda madre + CPU Memoria RAM e ROM HD, FD, CD-ROM Scheda video, Scheda audio Scheda di Rete Ecc.

10 Come funziona un computer? (modello di John von Neumann)
CPU Memoria principale (RAM e ROM) Memoria secondaria (HD, FD e CD-rom) Dispositivi di input e di output Bus dei dati

11 Come funziona un computer?

12 Come funziona un computer?
Architettura di Von Neumann: la memoria della macchina è condivisa dai dati e dai programmi Architettura Harvard : esiste una memoria separata per i dati ed una per i programmi. Oggi il termine “Architettura Harvard” è usato per macchine co una sola memoria principale ma con due cache separate una per i programmi ed una per i dati

13 La memoria primaria E’ costituita da chip RAM (Random Access Memory)
È memoria di lettura e scrittura e contiene dati in fase di modifica durante l’esecuzione dei programmi e perde i dati quando si spegne il computer (volatile): SRAM (Static Random Access Memory) Tempo di accesso 1÷10 ns, usata per cache L1/L2 DRAM/SDRAM ((Syncronous) Dynamic RAM) Tempo di accesso 50÷100 ns, usata per memoria principale, costo 5÷10 volte meno di SRAM e (50 volte più di dischi magnetici ma volte più veloce)

14 Gerarchia di memoria Registri O(10) unità + velocità + costo
- dimensione Cache L1 O(102) KB SRAM Cache L2 RAM SDRAM O(102) MB - velocità - costo + dimensione Dischi O(102) GB

15 Gerarchia di memoria Principio di località i programmi accedono:
Fornire molta memoria Costo delle tecnologie più economiche Prestazioni delle tecnologie più costose Principio di località i programmi accedono: a porzioni limitate di memoria durante limitati intervalli di tempo Località temporale Località spaziale

16 Funzionamento della Cache
RAM Cache line Cache CPU

17 RAM memoria ad accesso diretto
Nella RAM, come ovunque in un computer, le informazioni sono rappresentate con sequenze di 0 e di 1. Numeri binari. La RAM quindi è fatta per contenere tali numeri. un bit può contenere o 0 o 1 un byte è una sequenza di 8 bits una parola consiste di 4 bytes

18 Organizzazione della RAM
bit La RAM è suddivisa in celle o locazioni di memoria, ognuna con un suo indirizzo univoco byte parola Si leggono e si scrivono singoli byte o blocchi di 4 bytes consecutivi: le parole.

19 Indirizzamento di byte e parole
1 2 parola in binario 1 2 3 4 5 6 7 8 9 10 11

20 Unità di misura della RAM
1 Kilo byte: 210 = 1024 bytes, 1000 1 Mega byte: 220 = bytes,  1 Giga byte 230 = bytes, 109 1 Tera byte 240 = bytes,  1012

21 La CPU: unità centrale di calcolo
bus R0 RAM ALU Rn RC P IP registri di calcolo CI1 CI2 CIk

22 Ciclo Fetch-Decode-Execute
Ogni ciclo di clock ha tre fasi: Accesso (legge istruzione da eseguire e la memorizza nel registro istruzione) Decodifica (l’istruzione da eseguire) Esecuzione (dell’istruzione)

23 Fetch CPU bus R0 CI1 RAM ALU Rn CI2 RC CIk P IP

24 Decode CPU bus R0 RAM ALU Rn RC P IP CI1 CI2 CIk

25 Execute CPU bus R0 RAM ALU Rn RC P IP CI1 CI2 CIk

26 CPU: caratteristiche

27 Instruction set Insieme di istruzioni offerte dall’architettura
CISC: (Complex Instruction Set Computer) Utilizzo del transistor budget per massimizzare la taglia dell’instruction set Esempi: Intel X86, Pentium, P6 RISC: (Reduced Instruction Set Computer) Utilizzo del transistor budget per velocizzare un repertorio limitato di istruzioni (load/store). Esempi: MIPS RX000, SPARC, IBM PowerPC

28 CISC vs RISC CISC RISC Prezzo / prestazioni Strategie di progettazione
Prezzo: complessità è spostata dal software all’hardware Prestazioni: riduzione del codice, maggiore CPI. Prezzo: complessità è spostata dall’ahrdware al software Prestazioni: minore CPI, maggiore dimensione del codice Strategie di progettazione Ampio insieme di istruzioni, che permettono di compiere sia operazioni semplici che complesse (corispondenti di istruzioni in HLL) Supporto per HLL è in hardware Unità di controllo in microcodice Meno transistors per i registri Insieme di funzioni base, mono-ciclo Supporto per HLL è fatto via software Indirizzamento semplice (LOAD – STORE da registro a registro) Transistors usati per aumentare il numero di registri Pipeline

29 CPU: Pipeline Devo una stessa sequenza di M istruzioni su N dati
Una istruzione per ciclo di clock Per concludere l’elaborazione devo aspettare N*M cicli di clock

30 Posso utilizzare più efficientemente i circuiti della ALU?
CPU: Pipeline Ad ogni ciclo di clock: Una istruzione è eseguita Un solo circuito della ALU è attivo Posso utilizzare più efficientemente i circuiti della ALU?

31 CPU: Pipeline

32 Tempo di elaborazione:
CPU: Pipeline Il primo risultato arriva dopo M (numero di stadi) cicli di clock I successivi risultati arrivano uno per ogni ciclo di clock Tempo di elaborazione: M+(N-1) cicli per avere il primo risultato cicli per avere gli altri risultati

33 CPU: Pipeline Esempio Esecuzione di 109 istruzioni su un processore a 500 Mhz: Con pipeline a 5 stadi: (109-1)+5 cicli = ((109-1)+5) *2 ns = 2s Senza pipeline 109*5 cicli = 109 * 5 *2 ns = 10s

34 La memoria secondaria Tempi di accesso:
E’ di solito un disco rigido che contiene dati e programmi in modo permanente (può essere anche un cd-rom, floppy disk, etc). Tempi di accesso: Floppy: O(100) ms Hard disk: O(10) ms Programmi e dati risiedono sul disco rigido e vengono caricati nella RAM quando è necessario per poi tornarvi aggiornati se e quando necessario.

35 La memoria secondaria - 2

36 La memoria secondaria testina traccia settore cilindro piatto braccio
rotazione braccio testina

37 La memoria secondaria - 3
Tempo di accesso a un settore: SEEK+LATENCY+TRANSMISSION SEEK = ricerca della traccia LATENCY = ricerca del settore da trasferire TRANSMISSION = trasmissione del settore

38 La memoria secondaria - 4
Esempio Accesso ad un settore di 0.5 Kb per un disco che abbia SEEK = 9ms Velocità di rotazione = 7200 rpm TRANSMISSION = 4 Mb/s *60/ /4000 = 13.3 ms


Scaricare ppt "Fondamenti di informatica: un po’ di storia"

Presentazioni simili


Annunci Google