L evoluzione dei calcolatori (cap.2)
|
|
|
- Corrado Conti
- 9 anni fa
- Visualizzazioni
Transcript
1 L evoluzione dei calcolatori (cap.2) Cosa ha influito sull evoluzione dei calcolatori Processori sempre più veloci Componenti sempre più piccoli più vicini elaborazione più veloce Ma la velocità è derivata anche da nuove tcniche (pipeline, parallelismo, ecc.) che tengono occupato il processore il più possibile Memoria sempre più grande Capacità e velocità di I/O sempre maggiore Tecniche per bilanciare velocità diverse di processore e memoria Memoria cache, ecc.
2 A cosa servono i calcolatori? Ad eseguire compiti ripetitivi o complessi al posto dell uomo Prime idee in campi anche diversi, dove c era un lavoro ripetitivo che si voleva automatizzare 1801 telaio programmato 1801, Joseph Marie Jacquard Telaio con schede perforate Dove c è il buco, la spoletta passa Programmare il lavoro del telaio
3 1822: Charles Babbage Analytic Engine: Schede perforate per programmare e anche per immagazzinare dati Motore a vapore Ada Byron Programmava per l AE Subroutine, loop 1890: Hollerith desk Schede perforate per fare i calcoli per il censimento USA 3 anni invece di 7 previsti Bucare schede basandosi sui buchi di altre schede
4 IBM Hollerith creò l IBM (International Business Machines), 1911 Schede perforate per molti utilizzi Calcolatori per inventari e conti economici Addizioni e sottrazioni No moltiplicazioni (varie addizioni) No numeri negativi Calcoli complessi per i militari Calcoli balistici 1944: IBM e Harvard costruirono Mark I Programmabile, digitale 5 tonnellate, 500 miglia di cavo, motore elettrico Usato per 15 anni
5 Primo bug! Grace Hooper: programmatrice per Mark I Trovò un insetto (bug) dentro Mark I e inventò la parola debugging 1953: inventò il primo linguaggio di programmazione ad alto livello Flow-Matic, che poi diventò COBOL Anche il primo compilatore Capacità di Mark I Numeri da 23 cifre Somma, sottrazione in 3/10 di sec Divisione in 10 sec Nel 2000: somma in 1 bilionesimo di secondo! Solo 72 numeri memorizzati Oggi: 30 milioni in una RAM e 10 bilioni in un disco rigido Calcolatori meccanici non potevano avere queste velocità
6 1941: Zuse machine General purpose Programmabile Digital computer Numeri binari Unità aritmetica per fare i calcoli Memoria per immagazzinare numeri Sistema di controllo delle operazioni Dispositivi di input-output 1943: ENIAC ENIAC (Electrical Numerical Integrator And Computer) Prof. Macuchly e Prof. Eckert, Univ. Pennsylvania Metà ENIAC
7 Cosa faceva ENIAC Soluzione di equazioni balistiche in campo militare, altri calcoli per militari Tecnologia dei tubi a vuoto (valvole delle vecchie televisioni) 30 tonnellate, 450 mq, 140 Kilowatt, tubi a vuoto, 5000 addizioni al secondo Macchina decimale: numeri di 10 cifre, ogni cifra in un anello di 10 tubi a vuoto (solo un tubo alla volta in stato ON) Tubi a vuoto dell ENIAC
8 Capacità ENIAC 20 numeri alla volta Molto più veloce di Mark I Moltiplicazione: 6 sec su Mark I, 2.8/100 di sec su ENIAC Primo test ENIAC: 20 sec per un problema che richiedeva 40 ore su un calcolatore meccanico Primo lavoro: decidere se la bomba ad idrogeno era fattibile (6 settimane) Programmare l ENIAC Programmazione manuale: connettere e disconnettere cavi, impostare interruttori Giorni per riprogrammare
9 Macchina di Von Neumann Programma memorizzabile come i dati Istruzioni in memoria: decidere il programma specificando una porzione di memoria Idea di John von Neumann (consulente ENIAC) Insieme a Macuchly e Eckert Proposta di nuovo calcolatore (1945): EDVAC (Electronic Discrete Variable Computer) Nuovo elaboratore completo nel 1952 (IAS, presso Institute for Advanced Studies, Princeton) Struttura della macchina di von Neumann Memoria, contiene dati e istruzioni Molte operazioni di aritmetica, quindi dispositivi specializzati per eseguirle unità aritmeticologica (dati binari) Organo centrale per il controllo della sequenza delle operazioni, generico unità di controllo Organi di ingresso e uscita
10 Struttura della macchina di von Neumann IAS Memoria: 1000 locazioni (parole), numerate da 0 a 999 (indirizzo) Ogni parola: 40 cifre binarie (0 o 1, bit) Dati e istruzioni in memoria: numeri in forma binaria: bit di segno + 39 bit per il numero istruzioni con codice binario: due in ogni parola 8 bit per codice istruzione, 12 bit per indirizzo parola di memoria Unità di controllo: prende le istruzioni dalla memoria e le esegue una alla volta
11 Struttura IAS Registri IAS MBR (memory buffer register) Contiene una parola da immagazzinare in memoria, o da leggere dalla memoria MAR (memory address register) Contiene un indirizzo di una parola di memoria (dove scrivere il contenuto di MBR o da trasferire in MBR) IR (instruction register) Contiene 8 bit per il codice operativo dell istruzione in corso IBR (instruction buffer register) Contiene temporaneamente l istruzione destra di una parola PC (program counter) Indirizzo della prossima coppia di istruzioni da prendere dalla memoria AC (accumulator) e MQ (multiplier quotient) Temporaneamente, operandi e risultati parziali delle operazioni della ALU
12 Ciclo della CPU La CPU esegue un programma memorizzato in memoria prendendo ad una ad una le istruzioni Ordine: quello in cui sono memorizzate Ciclo della CPU Prelievo dell istruzione (fetch): Istruzione letta da IBR o dalla memoria tramite MBR, IBR, IR e MAR Carica il codice dell istruzione successiva nell IR e indirizzo in MAR Esecuzione dell istruzione: Attiva i circuiti necessari per l operazione da eseguire
13 Ciclo della CPU Istruzioni IAS 21 in totale Trasferimento dati (dalla M ai registri ALU, o viceversa, o tra due registri ALU) Salto incondizionato Salto condizionato Aritmetiche Modifica di indirizzo Inserisce indirizzi in istruzioni da mettere in M Primi 8 bit: uno dei 21 codici Successivi 12 bit: quale delle 1000 celle di M è coinvolta nell istruzione
14 Esempi di istruzioni IAS LOAD MQ, M(X) Trasferisce il contenuto della cella di memoria di indirizzo X in MQ STOR M(X) Trasferisce il contenuto dell accumulatore nella locazione X della memoria JUMP M(X,0:19) Carica l istruzione dalla metà sinistra di M(X) ADD M(X) Somma M(X) ad AC e mette il risultato in AC Calcolatori commerciali Anni 50, due aziende principali: Sperry e IBM Sperry: UNIVAC I, UNIVAC II, : IBM 701 per applicazioni scientifiche 1955: IBM 702 per applicazioni business Distinzione poi persa
15 L avvento dei transistor Transistor: componenti discreti Come condensatori, resistori,... Prodotti separatamente e poi fissati su schede di masonite, poi installate sui calcolatori Rispetto a tubi a vuoto: più piccolo, meno costoso, meno calore Inventato a Bell Labs nel 1947 Seconda generazione di calcolatori Per inserire un transistor: posizionamento dei tre contatti di un tubicino metallico contenente silicio sulla piastrina Costoso e lungo se molti transistor 1959: IBM Stretch Console
16 Cavi di un calcolatore dell epoca Seconda generazione Transistor Unità aritmetiche/logiche più complesse Linguaggi di programmazione ad alto livello Software di sistema Mini-computer (come DEC PDP-1, 1957)
17 IBM Stretch: transistor transistor invece che tubi a vuoto Più piccoli ma sempre elementi separati Nel 1980: tutti in un unico circuito integrato Pentium 4: 42,000,000 transistor su un pezzo di silicio Terza generazione: circuiti integrati 1958: invenzione del circuito integrato Unico pezzo di silicio per molti componenti e le loro connessioni Col tempo, sempre più componenti in un circuito integrato
18 Microelettronica Porta logica Dispositivo che esegue una semplice funzione logica Esempio: se A e B sono veri allora C è vero (porta AND) Cella di memoria: dispositivo in grado di memorizzare un bit (due stati possibili) Calcolatore: numero grandissimo di porte logiche e celle di M Funzioni Memorizzazione dati celle di memoria Elaborazione dati porte logiche Trasferimento dati tra memoria e memoria, direttamente o attraverso porte logiche Controllo segnali di controllo per attivare le porte logiche o leggere/scrivere una cella di memoria
19 Fine anni 50 Non solo pezzi singoli per università e laboratori di ricerca Macuchly e Eckert produssero UNIVAC (Universal Automatic Computer), primo computer commerciale Primo ad avere il nastro magnetico Poi UNIVAC fallì, e invece IBM prese il predominio sul mercato Mainframe computer 1970: mainframe computers (come IBM 360, IBM 7094) IBM 7094
20 Time sharing Come interagire con un mainframe? Time-sharing (condivisione di tempo): tanti utenti, un pò di tempo per ciascuno Macchina da scrivere a motore per inserire comandi, carta per risultati (10 caratteri al sec) Elaborazione batch Secondo modo di interagire con un mainframe Tutto il tempo per un utente Programma preparato prima su schede perforate
21 Legge di Moore Moore (uno dei fondatori di Intel), 1965 Prestazioni e numero di transistor in un chip raddoppia ogni anno Dal 1970, più lento: raddoppia ogni 18 mesi Conseguenze: Costo del chip invariato minor costo totale Circuiti più vicini maggiore velocità Calcolatori più piccoli Minori requisiti di raffreddamento e alimentazione
22 Generazioni di calcolatori Tubi a vuoto Transistor Integrazione su piccola scala dal 1965 Fino a 100 componenti su un chip Integrazione su media scala fino al ,000 dispositivi su un chip Integrazione su larga scala , ,000 dispositivi su un chip Integrazione su grandissima scala dal 1978 fino ad oggi 100, ,000,000 dispositivi su un chip Integrazione su ultra larga scala Più di 100,000,000 dispositivi su un chip
23 Computer personali Microprocessori: computer su un circuito integrato (Intel 1971) Primo microprocessore: Intel 4004 General purpose 2300 transistor cicli al secondo (108 khz) Invece di 42 mil. transistor e 2GHz del Pentium 4 Costo: $360 invece dei mil. di dollari per IBM360 Intel 8080 usato nel computer MITS Altair, primo personal computer generico (1974) Pentium 4 compatibile con Intel bit mircoprocessors a fine anni bit microprocessore Intel (80386) nel1985 Evoluzione architettura Intel x46 Intel 8080 (1974): primo microprocessore general-purpose, 8 bit (dati vrso la memoria) 8086 (1978): 16 bit, cache (1982): memoria di16 MByte 80386: 32-bit, più programmi eseguti sulla stessa macchina (multitasking) (1985): cache, pipeline, processore per operazioni matematiche complesse Pentium (1993), Pentium Pro (1995): più istruzioni in parallelo Pentium II (1997): viedo, audio, grafica Pentium III (1999): grafica 3D Pentium 4 (2000): multimedia Core: due processori su un solo chip Core 2 (2006): 64 bit Core 2 quad (2008): quattro processori in un chip Architetura Intel x86: dal 1978 ad oggi una nuova istruzione al mese quasi 500 istruzioni oggi 1978, 8086: clock 5 MHz, transistor 2008, Core 2: 3GHz (600 volte più veloce), 820 milioni di transistor (28000 volte in più), quasi lo stesso costo e poco più grande Intel Core i7-980x 6 core
Architettura e organizzazione
Introduzione (cap.1) Architettura e organizzazione Architettura: caratteristiche visibili al programmatore Istruzioni Spazio (numero bit) usato per rappresentare i dati Tecniche di indirizzamento della
L evoluzione dei calcolatori
L evoluzione dei calcolatori Cosa ha influito sull evoluzione dei calcolatori! Processori sempre più veloci! Componenti sempre più piccoli " più vicini " elaborazione più veloce # Ma la velocità è derivata
Architettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
CASO STUDIO: IL PERSONAL COMPUTER
CASO STUDIO: IL PERSONAL COMPUTER 1 Prologo Penso che nel mondo ci sia mercato forse per 4 o 5 computer Thomas Watson, presidente della IBM, 1943 Progettazione e Sviluppo Prodotto 2 1 I precursori L abaco
Macchina di von Neumann/Turing
Macchina di von Neumann/Turing Concetto di programma memorizzato Memoria principale per dati e istruzioni ALU opera su dati in formato binario Unità di controllo che interpreta le istruzioni in memoria
L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O
L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti
Architettura del Calcolatore
Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore
Architettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
Struttura di un elaboratore
Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,
A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante
A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,
Architettura del Calcolatore
Francesco Folino FUNZIONI DI UN CALCOLATORE Elaborazione Memorizzazione Trasferimento Controllo MACCHINA DI VON NEUMANN TRASFERIMENTO Obiettivo: permettere lo scambio di informazioni tra le varie componenti
Il processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2
Lez. 4 L hardware 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli [email protected]
L architettura del calcolatore
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 1 L architettura del calcolatore Settembre 2006 L architettura del calcolatore 1 Nota bene Alcune parti del presente materiale
Il modello di Von Neumann
Il modello di Von Neumann Appunti di STA per le classi seconde ind. informatiche Page 1 Il modello architetturale Per modello architetturale, si intende la descrizione delle parti del sistema e la loro
Dall Abaco ( 3000 ac) a Charles Babbage (1812)
Computer Meccanici Dall Abaco ( 3000 ac) a Charles Babbage (1812) Evoluzione storica degli elaboratori Prof. Daniele Gorla 2 Abaco (Cina, 3000 ac) poi anche in Grecia e a Roma Le bacchette di Napier (1617)
Componenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
Fondamenti: Informatica, Computer, Hardware e Software
Consulente del Lavoro A.A 2002/2003 I Semestre Fondamenti: Informatica, Computer, Hardware e Software prof. Monica Palmirani Finalità del corso fornire elementi di informatica di base teorici che consentano
Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
Il Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
Componenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
Elementi di Informatica Chiara Epifanio
[email protected] Informatica Informatica Informatica INFORMATICA = INFORMAzione + automatica Scienza che studia le informazioni e il loro trattamento automatizzato Insieme delle teorie, dei processi
Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)
Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi
Componenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN
Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 4 ARCHITETTURA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono
Sistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di
Il Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
Informatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti
Informatica 80 ore divise in 4 UFC Docente: Michela Bacchin Contatti: [email protected] Tramite Ermes Studenti Programma UFC 12: Strumenti per il trattamento dei documenti testuali UFC 13:
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
Esame di INFORMATICA Lezione 4
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite
Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
Il modello di von Neumann
1 Organizzazione di (quasi) tutti gli elaboratori moderni: personal computer, workstation, portatili, smartphone,... CPU memoria Control Unit I/O ALU 2 Il cuore è la CPU (Control Processing Unit): esegue
6: Macchina di Von Neumann
Data: 8-10-2017 Pag: 6 6: Macchina di Von Neumann 1. Lo Schema di Von Neumann John Von Neumann, un ricercatore che in USA realizzò uno dei primi computer l'eniac: faceva 300 moltiplicazioni al secondo
FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA UN POCO DI STORIA FONDAMENTI DI INFORMATICA. Lezione n. 1 UN POCO DI STORIA UN POCO DI STORIA
FONDAMENTI DI INFORMATICA Obiettivo del corso: Fornire le nozioni di base sull architettura dei sistemi di calcolo. Fornire i primi strumento di descrizione e di analisi dei sistemi digitali. Descrivere
