1 RELAZIONE FINALE ANNO 2002 FABIO BARONCINI CINZIA MARCACCI CALCOLATORI.

Slides:



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

Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
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.
I COMPONENTI DEL Computer
Memorie.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Il Linguaggio Macchina
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
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.
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
Le memorie del calcolatore
ARCHITETTURA DEGLI ELABORATORI
Il Calcolatore Elettronico
PRESENTAZIONE di RICCARDO
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
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
ARCHITETTURA DI UN ELABORATORE
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
STRUTTURA DI UN COMPUTER
Hardware e software Hardware Software
Architettura di una CPU
Architettura del calcolatore
Calcolatori Elettronici Il Processore
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Corsi di Laurea in Biotecnologie
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
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.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
STRUTTURA DELL’ELABORATORE
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
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.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Tipologie di memoria: Elettroniche Magnetiche Ottiche La qualità di una memoria dipende da vari parametri: Modo di accesso: tecnica utilizzata per accedere.
Fondamenti di Informatica Il Calcolatore Monica Mordonini Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
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:

1 RELAZIONE FINALE ANNO 2002 FABIO BARONCINI CINZIA MARCACCI CALCOLATORI

2 Controllo Unità Aritmetico logica Registri Memoria Principale Unità DiscoDisplay Unità centrale CPU Dispositivi di ingresso\uscita bus Un calcolatore digitale è composto da CPU,CPU memoriememorie e dispositivi di input/output.

3 Central Processing Unit Organizzazione Descrizione Funzionamento

4 La CPU e il cervello del calcolatore e il suo compito è quello di eseguire i programmi, residenti nella memoria, leggendo ed eseguendo le loro istruzioni. I componenti sono collegati tra loro attraverso dei bus.bus Questa è composta da diverse parti: - lunita di controllo: legge le istruzioni della memoria - lunità aritmetico logica: esegue le operazioni aritmetiche (come addizione e sottrazione) e logiche (come AND e OR) - una piccola memoria.memoria

5 Un bus, che è un gruppo di fili tra loro paralleli, ha il compito di trasportare segnali di controllo, dati e indirizzi. Il Bus puo essere esterno alla CPU e ha lo scopo di permettere la comunicazione tra la memoria e i dispositivi di I\O.

6 A+B A B AB ALU A+B Registri Registro ALU dellingresso Bus di ingresso dellALU Registro di uscita dellALU Lorganizzazione interna di una CPU è caratterizzata dal data path, che è costituito da una serie di componenti, tra i quali lALU, i registri, e molti bus di comunicazione. I registri memorizzano i dati che vengono poi utilizzati e rielaborati dallALU che, a sua volta, riscrive i risultati delle elaborazioni nei registri stessi attraverso i bus di accesso ai registri.ALU l registri più importanti sono: il Program Counter (PC) che indica la precisa istruzione da recuperare e eseguire lInstruction Register (IR) che memorizza le istruzioni che vengono eseguite in quel momento

7 Arithmetic Logic Unit LALU esegue dei calcoli matematici sui dati e poi memorizza il risultato in un registro in uscita. I dati hanno due possibilità di percorsi: registro-memoria i dati vengono trasportati dal registro di uscita alle memoria e/o viceversa; registro-registro i dati vengono riportati nei registri iniziali per essere successivamente rielaborati: questo processo è chiamato ciclo del data path, che è il centro del funzionamento delle CPU.ciclo del data path

8 La memoria della CPU, che è ad alta velocità, viene utilizzata per memorizzare temporaneamente istruzioni e dati piu frequentemente acceduti. Questa memoria è composta da una serie di celle ad accesso Random, sulle quali si può leggere e scrivere rapidamente perché si trovano allinterno della CPU.

9 Il funzionamento della CPU si basa su una sequenza di operazioni, che insieme prendono il nome di fetch-decode-execute: 1prelievo delle istruzioni dalla memoria, e immissione di queste nel registro delle istruzioni; Caricamento del nuovo program counter 2determinazione del tipo di istruzione 3ricerca operandi ed esegui listruzione. Il programma utilizzato dalla CPU per compiere il fetch-decode-execute è una procedura guidata dallunita di controllo. Questa interpretazione delle istruzioni può essere eseguita da un hardware o da un programma software (microcodice) che legge, decodifica ed esegue istruzioni piu semplici.hardwaresoftware

10 Lhardware e linsieme degli elementi costitutivi di un elaboratore Il software serve per utilizzare il calcolatore. Il software suddivide le istruzioni in piccole porzioni che esegue in modo più semplice attraverso un interprete, mentre lhardware le esegue direttamente. Lutilizzo del software è meno costoso, e il risparmio si ha soprattutto quando le istruzioni sono molto complicate. Inoltre il software ha la possibilità di correggere limplementazione di istruzioni eseguite in modo sbagliato, di aggiungere nuove istruzioni a costi minimi e infine di permettere lo sviluppo di informazioni più elaborate, come nei processori attuali.

11 Durante gli anni 70 dello scorso secolo il mercato dei calcolatori era in pieno sviluppo e aumentava sempre di piu la richiesta di calcolatori a basso costo. Lo sviluppo di software eliminava i limiti di costo inerenti alla esecuzione di istruzioni complesse. Venne creato il calcolatore VAX della Digital Equipment Corporation, la cui CPU aveva migliaia di istruzioni e piu di 200 modi diversi per accedere ai dati in memoria. Verso la fine degli anni 70 un gruppo tento di creare un minicomputer ad alto rendimento, che venne chiamato 801. Nellambito di un nuovo studio, un gruppo di Berkeley progetto una CPU su chip VLSI che non utilizzava linterpretazione (tramite microcodice) e la chiamarono RISC (Reduced Instruction Set Computer). Poco dopo venne creato un nuovo chip che prese il nome di MIPS. Questi processori erano molto diversi da quelli in commercio e ben presto si capi limportanza di proggettare processori che eseguissero le istruzioni velocemente. Inizio quindi una lotta tra RISC e CISC (Complex Istruction Set Computer) tuttora aperta.

12 Ci sono dei principi di progettazione chiamati principi di progettazione RISC, che gli architetti delle CPU possono seguire. Tra i piu importanti troviamo: 1)Tutte le istruzioni vengono eseguite direttamente dallhardwareTutte le istruzioni vengono eseguite direttamente dallhardware 2)Ottimizzare la velocita con la quale vengono iniziate le istruzioniOttimizzare la velocita con la quale vengono iniziate le istruzioni 3)Le istruzioni dovrebbero essere facilmente decodificabiliLe istruzioni dovrebbero essere facilmente decodificabili 4)Solo le istruzioni di load e store dovrebbero contenere indirizzi di memoriaSolo le istruzioni di load e store dovrebbero contenere indirizzi di memoria 5) Disporre di molti registri.Disporre di molti registri I progettisti, per migliorare le prestazioni delle macchine, utilizzano il parallelismo.parallelismo.

13 Tutte le istruzioni comuni vengono eseguite direttamente dallhardware e non vengono interpretate da microcodice, per cui il sistema e piu veloce. Mentre per i calcolatori che implementano istruction set CISC le istruzioni vengono scomposte in miscroistruzioni anche se questo passaggio rallenta la macchina.

14 I calcolatori moderni cercano di iniziare piu istruzioni possibili al secondo. Il parallelismo svolge quindi un ruolo fondamentale nel miglioramento delle prestazioni perche inviare una grossa quantita di istruzioni lente a intervalli brevi e possibile solo se istruzioni multiple si possono eseguire contemporaneamente. Anche se le istruzioni devono sempre essere eseguite nello stesso ordine specificato dal programma, esse non vengono sempre iniziate e finite in quellordine ma se due istruzioni usano uno stesso registro bisogna sempre controllare che la seconda istruzione usi il registro dopo della prima.

15 Una limitazione della velocita con la quale vengono mandate in esecuzione le istruzioni e dovuta alla decodifica delle istruzioni. Per eliminare questo problema bisogna usare istruzioni con struttura regolare, di lunghezza fissa, con un numero limitato di campi e con formati molto simili.

16 La maggior parte delle operazioni di load e store trasferiscono dati tra la memoria e i registri. Queste operazioni di trasferimento sono piu lente e quindi talvolta si sovrappongono con le altre istruzioni;

17 Poiche laccesso alla memoria e molto lento e necessario disporre di molti registri, almeno 32, in modo che unistruzione, una volta letta, possa essere conservata in un registro fin quando non e piu necessaria.

18 Un modo per accelerare il funzionamento dei chip e aumentare la velocita del clock e i ricercatori utilizzano il parallelismo, nel tentativo di eseguire due o piu operazioni contemporaneamente per ottenere maggiori prestazioni con la frequenza di clock a disposizione. Ci sono due tipi di parallelismo: 1 - a livello di istruzioni, in modo da eseguire piu istruzioni al secondolivello di istruzioni 2 - a livello di processore facendo lavorare CPU multiple sullo stesso programma.livello di processore

19 Per eseguire piu istruzioni parallelamente si usava un prefetch buffer, che le prelevava invece di aspettare la lettura completa della memoria. Quindi il processo si divideva in due parti: lettura della memoria e esecuzione. Mentre la tecnica di pipeline divide lesecuzione delle istruzioni in molte fasi, ognuna delle quali viene gestita da una parte di hardware. Ogni fase e chimata stadio.pipeline Stadio di lettura delle istruzioni Stadio di decodifica delle istruzioni Stadio di lettura degli operandi Stadio di esecuzione delle istruzioni Stadio di scrittura Il primo stadio legge le istruzioni della memoria e le mette in un buffer, il secondo decodifica listruzione determinandone il tipo e gli operandi. Mentre il terzo stadio individua e recupera gli operandi dai registri o dalla memoria, il quarto esegue le istruzioni facendo passare gli operandi nel data path. Infine lultimo stadio invia i risultati al registro adatto. In questo modo ad ogni clock possono essere eseguite fino a 5 istruzioni differenti. La pipeline permette un compromesso tra la latenza (tempo impiegato per eseguire unistruzione) e la capacita elaborativa del processore (quanti MIPS – Mega Instruction Per Second - ha la CPU).

20 Oltre ad una pipeline singola che divide lesecuzione delle istruzioni in molte fasi esistono anche delle pipeline doppie. Stadio di lettura delle istruzioni Stadio di decodifica delle istruzioni Stadio di lettura degli operandi Stadio di esecuzione delle istruzioni Stadio di scrittura Nella CPU e possibile configurare una doppia pipeline; in questo caso nello stadio di lettura vengono lette due istruzioni alla volta. Le due istruzioni non devono pero entrare in conflitto sulluso delle risorse e devono essere tra loro indipendenti. La pipeline principale prende il nome di pipeline U, mentre la secondaria prende il nome di pipeline V. Quando le due istruzioni non possono essere lette parallelamente viene utilizzata soltanto la prima pipeline. Con lottimizzazione delle pipeline si sono creati anche processori conteneti pipeline multiple.pipeline multiple

21 Con le CPU di piu alto livello, viene utilizzata una singola pipeline con unita funzionali multiple. Ad esempio il Pentium II ha un processore con cinque unita funzionali. Stadio di lettura delle istruzioni Stadio di decodifica Stadio di lettura operandi ALU LOAD STORE Floating point Stadio di scrittura Le unita funzionali dello stadio 4 richiedono molto piu tempo di un ciclo di clock, soprattutto quelle che eseguono il floating-point.

22 Il parallelismo delle istruzioni non riesce a velocizzare molto il processore e quindi possono essere usati anche processori paralleli. Un array processor e composto da un gran numero di processori identici che eseguono la stessa sequenza di istruzioni su un insieme di dati diverso. Il primo esempio di array processor fu quello delluniversita dellIllinois chiamto ILLIAC IV. Un vector processor appare al programmatore come un array processor molto efficente ma tutte le operazioni di addizione vengono eseguite da un sommatore unico dotato di molte pipeline. Sia larray processor sia il vector processor lavorano su array (matrici) di dati. Entrambi eseguono singole istruzioni; mentre il primo lo fa avendo tanti sommatori quanti elementi ci sono nel vettore. Il vector processor ha un registro vettoriale, cioe un insieme di registri tradizionali che si possono leggere dalla memoria in una sola istruzione. Mentre gli array processor sono in diminuzione, I processori vettoriali si possono aggiungere ad altri processori; il risultato e che le parti del programma che si possono vettorizzare sono eseguite piu velocemente mentre le altre sono eseguite su un processore tradizionale.

23 Registri Cache Memoria principale Dischi magnetici Nastri Dischi ottici + lente + capacita`di memorizzazione Da 32KB a alcuni MB Da 16MB a decine di GB Da alcuni GB a decine di TB Memorizzazione di archivi Memorizzazione permanente

24 Storicamente la capacita di accesso ai dati da parte delle CPU e sempre stata limitata dalla velocita di I/O della memoria. In realta`non si tratta di un problema tecnologico, ma economico; gli ingegneri sono in grado di costruire memorie veloci come le CPU, ma il costo complessivo del sistema sarebbe molto elevato. Pertanto si tratta di scegliere fra una memoria piccola, ma veloce oppure una memoria grande ma lenta. Ultimamente pero`le tecniche esistenti permettono di combinare una piccola quantita di memoria veloce con una grossa quantita` di memoria lenta. La memoria piccola e veloce si chiama cache. L`idea principale dietro le cache e`semplice: le parole di memoria piu`usate vengono tenute in cache. Quando la CPU ha bisogno di una parola, prima controlla nella cache e solo se la parola non ce` accede alla memoria centrale. In questo modo i tempi di accesso medi si riducono notevolmente.

25 La validita di questo metodo dipende dalla quantita` di parole che si trovano nella cache. Statisticamente i programmi non accedono alla memoria a caso: se La CPU richiede un dato della memoria di indirizzo A, e` assai probabile che l`accesso seguente si trovera` nelle vicinanze di A. L`osservazione che gli accessi in memoria eseguiti a corti intervalli di tempo tendono a usare solo una piccola parte di memoria, viene chiamata principio di localita, ed e` alla base del criterio di gestione della memoria organizzata gerarchicamente. L`idea generale e` che quando viene indirizzata una parola, la pagina di memoria contenente tale parola, viene trasportata dalla memoria principale verso la cache, in modo che la volta seguente la parola sia accessibile piu`velocemente. CPU cache Memoria principale bus Configurazione comune di CPU, cache e memoria

26 La memoria e`quella parte del calcolatore dove vengono immagazzinati i programmi e i dati. Alcuni ricercatori del settore usano il termine store (magazzino) o storage (immagazzinamento) invece di memoria, anche se il termine storage solitamente si riferisce alla memorizzazione su disco. Senza una memoria da cui i processori possano leggere e copiare le informazioni, i calcolatori digitali non potrebbero contenere il proprio programma. L`unita` di base della memoria e`un numero binario chiamato bit che puo contenere un uno logico o uno zero logico.

27 Un disco magnetico si compone di uno o piu` piatti di alluminio con rivestimento magnetizzabile, attualmente hanno dimensioni che vanno dai 3 ai 12 cm, mentre i dischi per i notebook computer sono gia`sotto ai 3 cm e si stanno ancora rimpicciolendo. La testina di un disco, contenente un induttore, e` sospesa appena sopra la superficie e viene sostenuta da un cuscino d`aria (nei floppy disk tocca la superficie). Quando passa una corrente negativa o positiva, la superficie appena sotto la testina viene magnetizzata, poi quando la testina passa sopra quest`area magnetizzata viene indotta una corrente (positiva o negativa) nella testina, cio`permette di rileggere i bit memorizzati precedentemente.

28 Testina di lettura e scrittura Braccio del disco preambolo Gap fra settori dato ( 512 byte ) codice di correzione SETTORESETTORE Direzione del movimento del braccio ECCECC

29 Negli anni sono apparsi sul mercato i dischi ottici (CD o CD-Rom), che hanno densita` di registrazione mediamente piu` basse dei dischi magnetici tradizionali. Poiche`le loro capacita` sono potenzialmente grandi, i dischi ottici sono stati l`ogetto di molta ricerca e si sono evoluti in modo incredibilmente rapido. I CD vengono prodotti usando un laser a raggi infrarossi ad alta potenza che brucia fori di 0,8 micron di diametro in un disco master di vetro ricoperto. Da questo master viene poi ricavato uno stampo con degli incavi in corrispondenza dei fori fatti dal laser. In questo stampo viene iniettata resina liquida di policarbonato che forma unCD con la stesa saquenza di fori del master in vetro.

30 … …… Simboli di 14 bit 42 Simboli fanno un frame ECC Dati preambolo 98 Frame fanno 1 settore Frame di 588 bit, ciascuno contenente 24 byte di dati Settore di tipo 1 (2352 byte )