Fondamenti di informatica: un po’ di storia

Slides:



Advertisements
Presentazioni simili
La struttura fisica e logica di un elaboratore
Advertisements

IL COMPUTER: l'HARDWARE
Architettura di un sistema informatico Hardware
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2000/2001.
I COMPONENTI DEL Computer
Esercizi sulle architetture
Memorie.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Architettura hardware
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Larchitettura di Von Neumann CPU RAM Mem second I/O bus.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Il Linguaggio Macchina
Introduzione ai calcolatori
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
INTRODUZIONE Il termine Informatica deriva dalla fusione dei termini INFORmazione autoMATICA si intende indicare la scienza che ha il compito di raccogliere,
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
MEMORIA CENTRALE Spazio di lavoro del calcolatore: contiene i dati da elaborare e i risultati delle elaborazioni durante il funzionamento del calcolatore.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2001/2002.
Architettura degli elaboratori
La macchina di von Neumann
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
Informatica: il trattamento automatico dell’informazione
ARCHITETTURA DEGLI ELABORATORI
Il Calcolatore Elettronico
MODULO 01 Il computer.
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
ELETTRONICA DIGITALE (II Parte)
STRUTTURA GENERALE DI UN ELABORATORE
Appunti di Informatica
L' ARCHITETTURA DI VON NEUMANN
Il computer: struttura fisica e struttura logica
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
INFORMATICA Universita' degli Studi di Brescia
Informatica Introduzione.
Architettura del calcolatore
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
La RAM, la ROM e la CPU di Beatrice Cecchini e Margherita Pelagagge
STRUTTURA DI UN COMPUTER
Hardware e software Hardware Software
Architettura del calcolatore
INFORMATICA TECNOLOGIE INFORMATICHE INFORmazione autoMATICA
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
INFORMATICA = INFOrmazione + autoMATICA L’informazione una delle risorse strategiche più importanti della società moderna Capacità di gestire l’informazione.
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Tecnologie dell’Informazione e della Comunicazione
Corsi di Laurea in Biotecnologie
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Il modello di Von Neumann
Fondamenti di Informatica Il Calcolatore Monica Mordonini Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Componenti base di un computer Gli elementi fondamentali La Cpu La Ram L’ Hard disk.
Architettura degli elaboratori
Transcript della presentazione:

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

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

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

Introduzione all’Architettura del Computer

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

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à

I diversi strati Applicazioni Sistema Operativo Macchina

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)

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.

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

Come funziona un computer?

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

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 100.000 volte più veloce)

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

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

Funzionamento della Cache RAM Cache line Cache CPU

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

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.

Indirizzamento di byte e parole 1 2 parola 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 in binario 1 2 3 4 5 6 7 8 9 10 11

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

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

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)

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

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

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

CPU: caratteristiche

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

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

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

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?

CPU: Pipeline

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

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

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.

La memoria secondaria - 2

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

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

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 0.009+0.5*60/7200+0.5/4000 = 13.3 ms