Architettura di un computer



Documenti analoghi
Materiali per il modulo 1 ECDL. Autore: M. Lanino

C. P. U. MEMORIA CENTRALE

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Informatica - A.A. 2010/11

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Esame di INFORMATICA

Organizzazione della memoria

Architettura del calcolatore

Struttura del calcolatore

ARCHITETTURA DEL CALCOLATORE

Architettura hardware

Funzionalità di un calcolatore

Architettura dei computer

Dispensa di Informatica I.1

Introduzione all'architettura dei Calcolatori

Laboratorio di Informatica

CPU. Maurizio Palesi

ARCHITETTURA DELL ELABORATORE

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Laboratorio di Informatica

STRUTTURE DEI SISTEMI DI CALCOLO

Architettura del Personal Computer AUGUSTO GROSSI

Calcolo numerico e programmazione Architettura dei calcolatori

Gerarchia delle memorie

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

Architettura dei calcolatori I parte Introduzione, CPU

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

Linguaggi di programmazione

Unità Periferiche. Rete Di Controllo

Fondamenti di informatica: un po di storia

Architettura dei calcolatori II parte Memorie

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Lezione 3: Architettura del calcolatore

Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

La memoria centrale (RAM)

Tecnologia dell Informazione

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

Vari tipi di computer

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

1.4b: Hardware. (Memoria Centrale)

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Corso: Informatica+ Andrea Cremonini. Lezione del 20/10/2014

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Organizzazione della memoria principale Il bus

Software di base. Corso di Fondamenti di Informatica

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Lez. 5 Memorie Secondarie

HARDWARE. Relazione di Informatica

Architettura hardware

MODULO 01. Come è fatto un computer

L architettura del calcolatore (Prima parte)

Parte II.2 Elaboratore

Il Software. Il software del PC. Il BIOS

Informazione analogica e digitale

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

INFORMATICA, IT e ICT

Concetti fondamentali della Tecnologia Dell informazione Parte prima

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Le Macchine di Turing

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Anatomia e fisiologia del computer: l architettura del calcolatore

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

Interpreti e compilatori La macchina di Von Neumann

introduzione I MICROCONTROLLORI

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Linguaggi e Paradigmi di Programmazione

LABORATORIO DI SISTEMI

Fondamenti di Informatica. Allievi Automatici A.A Nozioni di Base

Introduzione all uso del Personal Computer

Il Processore: i registri

Memoria Secondaria o di Massa

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

processore case Le casse acustiche

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Richiami di informatica e programmazione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

IL COMPUTER. Nel 1500 Leonardo Da Vinci progettò una macchina sui pignoni dentati in grado di svolgere semplici calcoli. Nel 1642 Blase Pascal

Il Sistema Operativo (1)

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Transcript:

Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36

La tecnologia Cerchiamo di capire alcuni concetti su cui si basa un elaboratore: l architettura di Von Neumann come astrazione delle architetture degli elaboratori il modello teorico della macchina astratta la struttura a livelli Modulo di Informatica () Architettura A.A. 2012-2013 2 / 36

L architettura di Von Neumann Il processore [CPU (Unità centrale di elaborazione)] si divide a sua volta in: Unità calcolo, nella quale uno dei sottosistemi più rilevanti è l unità aritmetica e logica (o ALU) Unità di controllo Unità di memoria, intesa sia come memoria di secondaria che come memoria principale Unità di input/output, tramite la quale i dati vengono inseriti/restituiti all utente Bus che è il canale di comunicazioni tra tutti i componenti Modulo di Informatica () Architettura A.A. 2012-2013 3 / 36

Architettura di Von Neumann Modulo di Informatica () Architettura A.A. 2012-2013 4 / 36

Processore La ALU esegue le operazioni aritmetiche e logiche. L unità di controllo permette di eseguire il ciclo fetch-decode-execute. Il controllo del ciclo di esecuzione è gestito attraverso il registro Program Counter (PC), che contiene l indirizzo di memoria della prossima istruzione da eseguire. Le relative operazioni di controllo sono quelle che agiscono su tale registro, l incremento sequenziale, o la modifica del suo valore. Il controllo dei dati in memoria principali avviene attraverso registri e operazioni su tali registri. Modulo di Informatica () Architettura A.A. 2012-2013 5 / 36

Ciclo fetch-decode-execute Fetch: si recupera dalla memoria la prossima istruzione da eseguire (ossia si recupera l operazione il cui indirizzo è memorizzato nel PC). L istruzione viene memorizzata nel registro istruzione. Decode: L istruzione presente nel registro istruzione è decodificata attraverso circuiti logici e vengono recuperati gli operandi dalla memoria Execute: si esegue l operazione (primitiva) della macchina. Se si tratta di un operazione logico-aritmetica si utilizzerà la ALU e si salverà il risultato in memoria. Il ciclo continua fino all istruzione di STOP. Modulo di Informatica () Architettura A.A. 2012-2013 6 / 36

Il processore Modulo di Informatica () Architettura A.A. 2012-2013 7 / 36

Qualità del processore Il processore è il componente del calcolatore che esegue tutte le operazioni di calcolo e la sua velocità influisce sulle prestazioni del PC Per stimare la velocità con cui un processore effettua i calcoli occorre tenere conto di: ogni quanti secondi il processore è in grado di produrre un risultato elementare (è una frequenza e si calcola in Mhz) quanto complesso è il calcolo di ciascun risultato e quanto intelligente è il processore nel produrlo (tipo di architettura) Modulo di Informatica () Architettura A.A. 2012-2013 8 / 36

Scheda madre Modulo di Informatica () Architettura A.A. 2012-2013 9 / 36

Gerarchia della memoria Il computer opera utilizzando diversi tipi di memoria, che sono organizzati in maniera gerarchica nel seguente modo: Memoria principale: contiene dati ed istruzioni in attesa che questi siano prelevati dal microprocessore per essere elaborati, lavorando dunque in maniera strettamente accoppiata con esso. Fornisce accesso ai dati molto veloce, il costo è elevato ed è volatile. Una parte di questa è la memoria cache. Memoria secondaria: include tutti quei dispositivi che consentono all utente la memorizzazione in modo definitivo dei dati (sia programmi, che dati). Le caratteristiche sono quindi la permanenza dei dati (non è volatile), un tempo maggiore per accedere ai dati, un costo inferiore. Modulo di Informatica () Architettura A.A. 2012-2013 10 / 36

Gerarchia della memoria Modulo di Informatica () Architettura A.A. 2012-2013 11 / 36

La memoria principale È suddivisa in: RAM ( Random Access Memory) è la memoria in cui sono caricati i dati che devono essere utilizzati dal calcolatore per elaborare. La RAM è volatile, statica. Il processore identifica le celle della RAM tramite indirizzi assegnati che ne specificano la posizione (la memoria si rappresenta come una stringa ordinata di elementi detti celle o parole). Il tempo di accesso alle celle della memoria è costante. Cache RAM, una memoria integrata nel processore, che ha la caratteristica di essere molto veloce, ma ha un costo elevato, vengono caricati i dati a cui il processore accede più di frequente ROM, (Read Only Memory) è una memoria permanente presente sulla scheda madre, che contiene il BIOS (Basic I/O System), cioè le istruzioni che la CPU deve caricare per consentire l avvio del sistema. Modulo di Informatica () Architettura A.A. 2012-2013 12 / 36

RAM Modulo di Informatica () Architettura A.A. 2012-2013 13 / 36

La memoria secondaria(1/2) È suddivisa in: I dischi magnetici, composti da uno o più dischi, sono letti e scritti mediante un braccio mobile dotato della testina di lettura e scrittura. I dati vengono trasferiti ai dischi magnetici tramite un buffer nella memoria centrale ed occupano successive posizioni lungo le tracce. I settori dei dischi vengono letti e scritti interamente utilizzando il numero della superficie, della traccia e del settore. Il tempo di accesso ai dischi magnetici è superiore rispetto a quello della memoria centrale. Modulo di Informatica () Architettura A.A. 2012-2013 14 / 36

La memoria secondaria (2/2) È suddivisa in: I dischi ottici, l informazione viene registrata realizzando modificazioni della superficie riflettente e viene letta mediante un raggio laser che riscontra le irregolarità della superficie riflettente. I dischi ottici sono ri-scrivibili e non. Fanno parte di questa categoria i CD, i CD-ROM e i DVD. I nastri magnetici consentono solo un accesso sequenziale ai dati e di solito sono usati per operazioni di backup. Modulo di Informatica () Architettura A.A. 2012-2013 15 / 36

HardDisck Modulo di Informatica () Architettura A.A. 2012-2013 16 / 36

Rappresentazione dei dati in memoria Cosa sono i dati? Nel linguaggio digitale, l unità minima è il bit Il bit assume solo due stati (spento 0, o acceso 1) Il byte è costituito da 8 bit e gli stati rappresentabili sono 2 8 = 256 Ogni cella di memoria è denotata da un indirizzo anch esso individuato in maniera univoca con una serie di bit (detto indirizzo di memoria) Kb (kilobit) = 2 10 = 1024, circa l ordine di 10 3 Mb (megabit) = 2 20, dell ordine di 10 6 Gb (gigabit) = 2 30, dell ordine di 10 9 Tb (terabit) = 2 40, dell ordine di 10 12 Pb (petabit) = 2 50 dell ordine di 10 15 Modulo di Informatica () Architettura A.A. 2012-2013 17 / 36

Cosa è il Bus È un canale di comunicazione che permette a periferiche e componenti di un sistema elettronico di trasmettere informazioni o dati di sistema. È in grado collegare tra loro diversi dispositivi. Modulo di Informatica () Architettura A.A. 2012-2013 18 / 36

Bus Modulo di Informatica () Architettura A.A. 2012-2013 19 / 36

La macchina astratta È l astrazione del concetto di calcolatore fisico quindi: È un esecutore di istruzioni che identificano i passi di un algoritmo Ha una memoria associata e una sua gestione Ha associato un proprio linguaggio con un numero finito di istruzioni detto Linguaggio Macchina (L) Ha un algoritmo di esecuzione e memorizzazione dei programmi Supponiamo di avere un linguaggio di programmazione L. Definiamo Macchina Astratta per L un qualsiasi insieme di strutture dati e di algoritmi che permettano di memorizzare ed eseguire programmi scritti in L. Modulo di Informatica () Architettura A.A. 2012-2013 20 / 36

L interprete È il componente che esegue le istruzioni contenute nei programmi. Le operazioni comuni a tutti gli interpreti sono: operazione per elaborazione dei dati primitivi operazioni e strutture dati per il controllo della sequenza di esecuzione operazioni e strutture dati per il controllo del trasferimento dei dati operazioni e strutture dati la gestione della memoria L interprete esegue un ciclo per poter eseguire le istruzioni di un algoritmo. Modulo di Informatica () Architettura A.A. 2012-2013 21 / 36

Il ciclo di esecuzione dell interprete 1 acquisisci la prossima istruzione 2 decodifica istruzione 3 acquisisci gli operandi 4 viene eseguita l operazione, 5 memorizzato il risultato 6 torna a 1 Quando si da l istruzione di STOP il ciclo termina. Modulo di Informatica () Architettura A.A. 2012-2013 22 / 36

La macchina astratta e l architettura di Von Neumann Modulo di Informatica () Architettura A.A. 2012-2013 23 / 36

Un altro esempio di Macchina Astratta La Macchina di Turing è un dispositivo che ha associati i seguenti componenti: Un nastro infinito su cui si possono scrivere e cancellare caratteri appartenenti a un alfabeto finito Una testina capace di spostarsi a destra sinistra, leggere e scrivere sul nastro Una serie di stati di cui alcuni sono definiti come iniziali e alcuni come terminali (la Macchina termina quando si incontra uno stato finale) La funzione di transizione che dato il carattere letto dalla testina e lo stato in cui si trova la macchina, associa un nuovo stato, un operazione elementare (scrivi sul nastro e/o sposta la testina) e un nuovo carattere da scrivere sulla testina prima di spostarsi Modulo di Informatica () Architettura A.A. 2012-2013 24 / 36

Definizione Formale MdT La Macchina di Turing è un dispositivo definito da una quadrupla < Q, Σ b, O, δ > dove: Q = {q s, q 1,, q f } è un insieme finito di stati dove q s è lo stato iniziale e Q f = {q f 1,, q fk } è l insieme degli stati finali tale che Q f Q; Σ b = Σ {_}, dove Σ è un alfabeto finito e _ è il simbolo bianco; O = {, } Σ b è l insieme delle operazioni possibili; δ : (Σ b Q \ Q f ) (O Q) è la funzione di transizione definita come: δ(a, q) = (o 1, q n ) se a = a 1, q = q 1.. (o 2, q n ) se a = a 2, q = q 2.. Modulo di Informatica () Architettura A.A. 2012-2013 25 / 36

La macchina astratta e la MDT Modulo di Informatica () Architettura A.A. 2012-2013 26 / 36

Un sistema a livelli Per capire questo meccanismo useremo: il concetto di Macchina Astratta che come abbiamo visto è in grado di cogliere i concetti fondamentali di tecnologia capace di eseguire un programma Perchè si crea una pila di macchine astratte Come sia possibile costruire una pila di macchine astratte? Modulo di Informatica () Architettura A.A. 2012-2013 27 / 36

Un sistema a livelli Cerchiamo di capire il meccanismo dei livelli Modulo di Informatica () Architettura A.A. 2012-2013 28 / 36

Perchè abbiamo n Macchine Astratte? Gli utenti che scrivono un programma devono utilizzare le istruzioni di un Linguaggio che sarà poi eseguito dalla relativa Macchina Astratta M L Se avessimo solo la Macchina Astratta del livello Hardware (M L0 ), i programmi dovrebbero essere scritti come una sequenza di (0,1), dove una parte di questa sequenza sarebbe l istruzione, un altra i dati La struttura gerarchica delle Macchine Astratte permette di avere istruzioni più vicini al linguaggio naturale (quello che utilizziamo). Questo meccanismo è reso possibile dalle successive traduzioni da un linguaggio ad un altro fino alla traduzione del linguaggio L 0 della Macchina Astratta Hardware M L0 che esegue il programma. Modulo di Informatica () Architettura A.A. 2012-2013 29 / 36

Come funziona la gerarchia di Macchine Astratte? Abbiamo a disposizione una Macchina Astratta di un generico livello n ( M Ln ) il cui linguaggio associato è L n ed inoltre abbiamo definito un nuovo linguaggio che chiamiamo L n+1. Per definire un linguaggio abbiamo bisogno della sua sintassi e della sua semantica. Dobbiamo pensare a come costituire una nuova macchina astratta M Ln+1 che esegua il linguaggio L n+1. Avendo a disposizione M Ln con le relative istruzioni che può eseguire tale macchina astratta abbiamo due possibilità: interpretare il linguaggio L n+1 in L n compilare il linguaggio L n+1 in L n In entrambi i casi avrò implementato una nuova macchina astratta per L n+1 Modulo di Informatica () Architettura A.A. 2012-2013 30 / 36

Gerarchia Macchine Astratte Modulo di Informatica () Architettura A.A. 2012-2013 31 / 36

L interpretare del linguaggio L n+1 In questo caso viene scritto un programma con le istruzioni del linguaggio L n tale che per ogni istruzione del linguaggio L n+1 si abbia una sequenza di istruzioni del linguaggio L n. In questo modo quando si esegue un programma scritto con il linguaggio L n+1 si interpreta (run time/ a tempo di esecuzione) ogni singola istruzione come una o più istruzioni del linguaggio L n sull input di L n+1. Quindi ogni volta che si eseguono istruzioni nel linguaggio L n+1 queste sono re-interpretate. Modulo di Informatica () Architettura A.A. 2012-2013 32 / 36

Il compilatore del linguaggio L n+1 In questo caso viene riscritto un programma con le istruzioni del linguaggio L n partendo dalle istruzioni scritte nel linguaggio L n+1. L output del compilatore è un programma scritto in L n. Questa operazione viene effettuata una volta sola. In questo modo quando si esegue un programma scritto con il linguaggio L n+1 si interpreta ogni singola istruzione come una o più istruzioni del linguaggio L n. In questo modo l input del nostro programma interprete è il programma scritto in L n+1. In questo caso la compilazione è separata dall esecuzione del programma. Modulo di Informatica () Architettura A.A. 2012-2013 33 / 36

Compilare o Interpretare? Interpretare Flessibilità nella modifica del linguaggio scritto in L n+1 È facile il debugging Minor memoria usata Compilare Maggiore efficienza (il numero di operazioni a tempo di esecuzioni è minore) Modulo di Informatica () Architettura A.A. 2012-2013 34 / 36

Nella realtà Solitamente si ha un linguaggio che è prima compilato in un linguaggio intermedio L i e poi interpretato dal linguaggio L i in un linguaggio più a basso livello. È il caso di Java, che viene prima compilato e poi interpretato. Perchè? Per rendere più portabile il codice. Modulo di Informatica () Architettura A.A. 2012-2013 35 / 36

Conclusione Come è strutturato un elaboratore? Cosa è una macchina astratta? La struttura a livelli perchè e come? Modulo di Informatica () Architettura A.A. 2012-2013 36 / 36