Architettura. degli. Elaboratori

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architettura. degli. Elaboratori"

Transcript

1 Architettura degli Elaboratori A cura del prof. Cristoforo Modugno

2 GENERALITÀ Un sistema per l elaborazione automatica dell informazione (elaboratore o computer) possiede due livelli fondamentali di descrizione: l hardware e il software. Il primo si riferisce alle apparecchiature fisiche che costituiscono il computer, il secondo alle attività di programmazione che consentono una utilizzazione efficiente delle risorse hardware disponibili. Il software è classificato in: 1. software applicativo: è costituito dai programmi degli utenti per le risoluzioni di particolari problemi; 2. software di base: è costituito dai programmi di gestione dell elaboratore (sistemi operativi). Elaborare informazioni in modo automatico significa trasformare delle informazioni-dati in informazioni-risultati, fornendo al sistema regole di trasformazione ben precise. Il sistema rende, quindi, semplicemente realizzabile la trasformazione non prendendo alcuna iniziativa che non gli sia stata precedentemente specificata. Per realizzare in modo automatico la trasformazione occorre che il sistema possa soddisfare le seguenti funzioni: 1. immissione (input): i dati e le regole di trasformazione provenienti dall esterno devono essere immessi nel sistema; 2. memorizzazione (store): i dati, le regole di trasformazione, i risultati intermedi e finali devono essere memorizzati in un opportuno dispositivo che li renda disponibili in ogni istante; 3. elaborazione (processing): i dati devono essere trasformati agendo su di essi con operazioni ad esempio di tipo aritmetico logico; 4. emissione (output): i dati risultati ed ogni altra informazione utile devono essere inviati all esterno del sistema; 5. controllo (control): occorre controllare che le altre funzioni vengano Architettura degli elaboratori - Cristoforo Modugno - Pag. 2

3 attuate in modo corretto e nella giusta sequenza. Un elaboratore non è quindi un semplice organo di calcolo, ma uno strumento più complesso che elabora, nel senso specificato, informazioni di varia natura. In questa dispensa il termine informazione viene utilizzato nella sua accezione più ampia e cioè come ogni elemento che concorre alla risoluzione di un determinato problema quali le istruzioni (parti fondamentali del programma che specifica le regole di trasformazione) e i dati veri e propri. COMPONENTI FONDAMENTALI DI UN ELABORATORE Il termine hardware è usato per riferirsi alla circuiteria elementare che costituisce un computer e che viene interconnessa per realizzare una circuiteria più complessa. Il funzionamento di un computer è forzato da un clock di macchina che è un dispositivo che produce impulsi a intervalli regolari distribuiti in modo da abilitare il funzionamento delle apparecchiature con tecnica asincrona. Sebbene tutti i moderni elaboratori siano sincroni, alcune parti possono funzionare in modo asincrono (cioè non pilotate da un clock). Le componenti fondamentali di ogni elaboratore sono: 1. l unità di controllo (CU, Control Unit); 2. l unità di elaborazione (ALU, Arithmetic Logic Unit); 3. la memoria centrale (CM, Central memory); 4. le unità di ingresso-uscita (I/O Unit, Input-Output Unit dette anche periferiche). Tradizionalmente il termine unità centrale di elaborazione (CPU, Central Processing Unit o processor) è usato per riferirsi all unità di controllo e all ALU al fine di distinguere le parti di logica combinatoria del computer dalla memoria centrale e da altri dispositivi di memoria. Nella figura il simbolo indica il flusso dell informazione (dati + istruzioni), mentre le linee tratteggiate indicano l azione di controllo cioè i segnali di controllo emessi dalla CPU per far operare in modo appropriato il computer. Architettura degli elaboratori - Cristoforo Modugno - Pag. 3

4 Dati + programma Unità di input CM memoria centrale Unità di output Risultati ALU CU unità di controllo CPU STRUTTURA A BUS Se teniamo conto che le informazioni (dati + istruzioni) all interno di un elaboratore sono rappresentati in forma digitale e, dunque, mediante bit, e che i bit viaggiano attraverso fili elettrici capiamo che, per permetterne il trasferimento tra le varie unità dell elaboratore, sarebbe necessario che ciascuna di queste sia interconnessa, in termini di linee fisiche, con tutte le altre, generando un groviglio caotico di un numero elevatissimo di fili. Una organizzazione più razionale di un elaboratore fa uso, invece, di particolari percorsi di informazione detti BUS che costituiscono l organo di comunicazione fra le diverse unità del computer. Un BUS è un gruppo di fili su ciascuno dei quali viene trasferito un bit di informazione; dal BUS più unità funzionali possono prelevare contemporaneamente informazioni, ma una sola può immetterla in un determinato istante. I trasferimenti da e verso il BUS sono comandati dall unità di controllo che abilita o inibisce le porte di accesso da una unità al BUS e viceversa. La struttura a BUS è quella più diffusa per i mini computer (computer di medie dimensioni) ed è universalmente utilizzata per i micro computer (computer di dimensioni minime). Architettura degli elaboratori - Cristoforo Modugno - Pag. 4

5 Ogni unità è contraddistinta da un proprio indirizzo attraverso il quale viene identificata dal resto del sistema. Per semplificare, si può pensare che vi sia un BUS per il trasferimento informazioni (dati + istruzioni), uno per gli indirizzi ed uno per i segnali di controllo. In tal modo si ottiene lo schema generale indicato nella figura. BUS informazioni BUS segnali di controllo BUS indirizzi Unità di Input- Output CM Central Memory ALU Unità Logico- Aritmetica CU Control Unit CPU Attraverso il BUS degli indirizzi viene attuato il dialogo tra le varie unità; in alcuni casi il BUS delle informazioni e il BUS degli indirizzi possono coincidere fisicamente per cui si ha un unico BUS usato per trasferire informazioni o indirizzi in tempi diversi: in tal caso si parla di UNIBUS. Il BUS dei segnali di controllo è bidirezionale per tutte le unità. LE MEMORIE Una memoria è un dispositivo mediante il quale è possibile: - scrivere (store): cioè immagazzinare delle informazioni provenienti da altre parti dell eleboratore; la scrittura è distruttiva, cioè se si scrive un informazione si distrugge quella precedentemente contenuta; - conservare (keep): cioè rendere sempre disponibile l informazione memorizzata; - leggere (research): cioè richiamare l informazione e renderla disponibile Architettura degli elaboratori - Cristoforo Modugno - Pag. 5

6 all esterno della memoria stessa; la lettura non è distruttiva, cioè se si legge un informazione non se ne altera il contenuto. Il meccanismo di memorizzazione consiste nel far assumere ad ogni componente del supporto fisico della memoria un dato stato fisico; la configurazione degli stati è messa in corrispondenza biunivoca con l informazione mediante un codice opportuno. Un sistema di elaborazione fa uso di diversi tipi di memorie la cui classificazione può avvenire secondo criteri diversi fra i quali due sono più comunemente usati: uno basato sul tempo di accesso e l altro basato sulla funzione svolta. Sulla base del tempo di accesso, indicando con t ij il tempo necessario per accedere all informazione J avendo già letto l informazione i come ultima informazione, possiamo distinguere fra: - memorie ad accesso casuale (RAM, Random Access Memory) per le quali t ij è costante cioè tutte le informazioni sono accessibili nello stesso intervallo di tempo; - memorie ad accesso semi-casuali (SRAM, Semi Random Access Memory) per le quali t ij subisce delle piccole variazioni a seconda dell area in cui è memorizzata l informazione desiderata; - memorie ad accesso sequenziale (SM, Sequential Memory) per le quali t ij subisce grandi variazioni in quanto le informazioni possono essere ritrovate solo percorrendo sequenzialmente le informazioni precedentemente memorizzate. Considerando, invece, la funzione svolta le memorie si possono classificare in: - registri: hanno la funzione di memorizzare informazioni utili all elaborazione che può avvenire sfruttando il registro stesso; sono realizzate mediante circuiti Flip-Flop ed hanno un t ij dell ordine dei nanosecondi (miliardesimi di secondo); - memoria centrale (CM, Central Memory): ha la funzione di memorizzare il programma (le istruzioni) e i dati; ha accesso casuale con t ij dell ordine dei Architettura degli elaboratori - Cristoforo Modugno - Pag. 6

7 microsecondi (milionesimi di secondo); - memorie di massa: sono memorie ad accesso sequenziale (nastri) e ad accesso semi-casuale (dischi) che esplicano la funzione di memorizzare grosse quantità di dati necessari all elaborazione; i tempi di accesso variano dai millisecondi (millesimi di secondo) per le SRAM ai minuti per le SM. Nel caso delle memorie sequenziali più che di tempo di accesso è opportuno parlare di velocità di lettura-scrittura cioè numero di caratteri letti (o scritti) nell unità di tempo, in quanto l accesso all informazione è vincolato all ordine sequenziale imposto dal supporto. Oltre alle memorie su indicate ne esistono altre particolari fra le quali è importante ricordare le memorie a sola lettura (ROM, Read Only Memory) nelle quali l informazione è fissa e può essere solo letta e non modificata, le PROM (Programmable ROM) che sono programmabili al momento dell impiego e le EPROM (Erasable PROM) che sono cancellabili e riprogrammabili. LA MEMORIA CENTRALE Possiamo considerare la memoria centrale di un elaboratore come costituita da un certo numero di locazioni o celle di memoria a ciascuna delle quali è associato un indirizzo che la identifica univocamente. Il numero di tali locazioni definisce la capacità della memoria. Il numero n di bit che costituisce la cella definisce il tipo di organizzazione della memoria centrale; a seconda dell elaboratore, la memoria centrale può essere organizzata: - a byte: ciascuna locazione può contenere un carattere opportunamente codificato; - a parola: ciascuna locazione è costituita da due byte (halfword), da quatto byte (word) oppure da otto byte (double word). L organizzazione di molti elaboratori è di tipo misto e consente l accesso a campi costituiti da uno o più byte; la posizione in memoria dei campi è comunque sempre definita dall indirizzo (posizione) del suo primo byte a Architettura degli elaboratori - Cristoforo Modugno - Pag. 7

8 sinistra. Per individuare un campo è quindi sufficiente fornire l indirizzo del byte di sinistra e il numero di byte che lo compongono. La capacità della CM è generalmente espressa in Kilo-Byte dove K(ilo) indica 2 10 = 1.024; ad esempio una memoria di 256 Kbyte significa che è costituita da un numero di byte dato da 256 x = Le nuove memorie, molto più capienti rispetto a quelle di pochi anni fa, hanno capacità dell ordine di decine o centinaia di Mega-Byte dove M(ega) indica 2 10 Kbyte (ovvero x = ). La capacità della memoria centrale costituisce un indicatore della potenzialità di un elaboratore poiché pone un vincolo alla dimensione e al numero dei programmi che possono essere eseguiti. Fra la memoria centrale e il Dati e Istruzioni M B R Memoria effettiva processore esistono due tipi di interazione: - memorizzazione (store) di Controllo e temporizzazione dati (iniziali, intermedi e finali) e istruzioni nelle celle della CM; - prelievo (fetch) dei dati e delle indirizzi MAR istruzioni da una specificata cella di memoria. Nella figura è rappresentato lo schema di principio della memoria centrale, nel quale sono riportati: - il registro degli indirizzi di memoria (MAR, Memory Address Register) che contiene l indirizzo della locazione della CM interessata all operazione di lettura o scrittura dell informazione; - il registro di tramite della memoria (MBR, Memory Buffer register) in cui viene depositata l informazione per eseguire la fase di store o di fetch; - la linea di segnali di controllo e temporizzazione percorsa dal segnale di scrittura in memoria (store), lettura (fetch) e dai segnali di temporizzazione. Architettura degli elaboratori - Cristoforo Modugno - Pag. 8

9 Le fasi secondo le quali si svolgono le operazioni di lettura e scrittura sono dette cicli di memoria e sono: - lettura: nel MAR viene posto l indirizzo della locazione da leggere, viene inviato dalla CPU il segnale di fetch e copiato nel MBR il contenuto della cella selezionata; - scrittura: l informazione da memorizzare viene posta nel MBR e l indirizzo nel MAR; il segnale di controllo store attiva la scrittura dell informazione nella cella di memoria il cui indirizzo è specificato nel MAR, cancellando così l eventuale contenuto precedente. L UNITÀ DI CONTROLLO L unità di controllo è la più laboriosa da descrivere in quanto la sua costituzione dipende in gran parte dal tipo di elaboratore e dall insieme (set) di istruzioni che esso è in grado di eseguire; tale insieme definisce il linguaggio macchina nel quale devono essere scritti o tradotti tutti i programmi che si vogliono eseguire. clock CM ALU I/O CU Control Unit CM ALU I/O Schematicamente l unità di controllo può essere rappresentata come una rete sequenziale i cui ingressi provengono dal clock di macchina, dalla memoria centrale (dalla quale viene prelevata l istruzione), dall ALU e dai dispositivi di I/O; le uscite della rete sono costituite, invece, dai segnali di controllo alle unità interessate all elaborazione dell istruzione (ALU, CM, unità di I/O) e ai percorsi di informazione. L unità di controllo esegue due fasi principali: - lettura dell istruzione dalla memoria centrale (fetch); - esecuzione dell istruzione (execute). Architettura degli elaboratori - Cristoforo Modugno - Pag. 9

10 I passi del procedimento per l attuazione delle due fasi sono schematizzati nella figura seguente dove è evidenziata l unità interessata ad una data azione: CM { Fetch della istruzione Fetch degli operandi Store del risultato CPU{ Calcolo indirizzo istruzione decodifica del codice operativo Calcolo indirizzo operandi Esecuzione operazione specificata Calcolo indirizzo risultato start L unità di controllo deve provvedere a: 1. calcolare l indirizzo di memoria in cui si trova l istruzione da prelevare; 2. comandare la lettura e il trasferimento dell istruzione nel processor; 3. decodificare l istruzione, cioè interpretare la particolare operazione da eseguire; 4. calcolare l indirizzo di memoria degli operandi; 5. comandare il prelievo degli operandi dalla CM e la loro eventuale memorizzazione temporanea in appositi registri del processor; 6. comandare l applicazione dell operazione richiesta agli operandi e l eventuale memorizzazione del risultato nel processor; 7. calcolare l indirizzo di memoria in cui collocare il risultato; 8. comandare il trasferimento del risultato nella memoria centrale. Il ritorno al passo 1. dà inizio ad un nuovo ciclo delle fasi principali; l arresto dell elaborazione avverrà con il riconoscimento di una istruzione di stop. Osserviamo che le funzioni dell unità di controllo si possono sostanzialmente raggruppare nelle seguenti categorie: a. emissione dei segnali di comando da inviare a tutte le unità Architettura degli elaboratori - Cristoforo Modugno - Pag. 10

11 dell elaboratore; b. calcolo degli indirizzi fisici (o assoluti) delle informazioni da reperire o da depositare nella CM. Per poter espletare le fasi e le funzioni descritte, l unità di controllo deve disporre delle seguenti parti: - registro istruzione (IR, Instruction Register): contiene l istruzione che deve essere eseguita; l istruzione permane nell IR fino al completamento della sua esecuzione; - registro contatore istruzioni (PC, Program Counter): contiene l indirizzo dell istruzione successiva a quella in corso di esecuzione; l unità di controllo deve infatti garantire la successione delle istruzioni del programma e, pertanto, occorre che sappia continuamente a quale punto del programma si è giunti; - decodificatore (decoder): è un dispositivo a logica combinatoria che permette di tradurre (interpretare) il codice operativo (op, operation code) dell istruzione; - sequenziatore (sequencer): ha il compito di emettere e inviare segnali di controllo alle varie componenti dell elaboratore lungo il percorso del controllo, garantendo l abilitazione delle porte per il trasferimento dell informazione sui percorsi dell informazione e il corretto funzionamento degli organi preposti al calcolo. Possiamo considerare il decodificatore e il sequenziatore come la componente della CU che ha la funzione di emettere i segnali di comando per la successione delle operazioni elementari in cui è scomposta l esecuzione di una istruzione. Facendo riferimento al caso di un unico BUS per indirizzi (address) e dati e tralasciando il BUS dei segnali di controllo, si può schematizzare la situazione come in figura. Osserviamo che l UNIBUS risulta suddiviso nel tempo tra le varie unità (shared) e quindi occorre stabilire una priorità di impiego. Architettura degli elaboratori - Cristoforo Modugno - Pag. 11

12 UNIBUS (a + i) a + i Unità di Input- Output i M B R M A R a ALU AC Unità Operativa a + i Memoria fisica PC IR CM decoder a = address i = informazioni = collegamenti diretti CPU CU sequenziatore Per chiarire il significato dello schema è utile far riferimento alle istruzioni dell elaboratore; una istruzione è costituita da una particolare configurazione binaria in grado di definire il tipo di operazione da eseguire (op, codice operativo) e da informazioni che permettono di calcolare l indirizzo degli operandi sui quali opera l istruzione. Ogni elaboratore è caratterizzato dal proprio set di istruzioni e dalle proprie modalità per calcolare gli indirizzi degli operandi (modalità di indirizzamento) cioè ogni computer è dotato di un proprio liguaggio macchina. L insieme delle istruzioni che costituiscono un programma si suppone allocato nella memoria centrale all atto dell esecuzione e costituisce il programma memorizzato (stored program). Se l istruzione oltre al campo del codice operativo presenta un campo indirizzo dell operando, l elaboratore è detto ad indirizzo singolo (è il caso dei personal computer). Per eseguire un operazione è, pertanto, necessario introdurre nella ALU un registro nel quale memorizzare un operando implicito; tale registro è detto accumulatore AC ed ha una lunghezza pari ad una parola di memoria. Il secondo operando si troverà nel registro MBR e il risultato dell operazione sarà lasciato nell accumulatore; l operazione sarà eseguita da una particolare unità Architettura degli elaboratori - Cristoforo Modugno - Pag. 12

13 operativa. Un tipico formato dell istruzione di un elaboratore ad indirizzo singolo è quello rappresentato in figura: n bytes OP address IR a r bit p bit Nel campo address IR a dell istruzione può comparire o l indirizzo di un operando oppure l indirizzo dell istruzione successiva da eseguire, nel caso in cui si sta eseguendo una istruzione di salto, o anche il nome di un registro sul quale effettuare particolari operazioni. Il caso più frequente è, tuttavia, quello in cui nel campo address compare un indirizzo di memoria. I passi elementari della fase di fetch dell istruzione sono i seguenti: - MAR PC: l indirizzo dell istruzione da prelevare dalla CM viene trasferito nel registro MAR; - MBR M[MAR]: il contenuto delle celle di memoria il cui indirizzo è specificato nel MAR viene prelevato e posto nel registro MBR ( con il simbolismo M[MAR] si intende il contenuto della locazione di memoria di indirizzo specificato nel MAR); - IR MBR: l istruzione letta viene trasferita nel registro dell istruzione (IR); - PC PC + n: occorre aggiornare il contenuto del Program Counter in modo da corrispondere all indirizzo dell istruzione successiva a quella che si sta eseguendo; con n viene indicata la lunghezza dell istruzione in fase di esecuzione. In conclusione la fase di fetch si sviluppa attraverso diversi cicli (corrispondenti ad intervalli elementari di clock) durante i quali il sequenziatore emette tutti i segnali di comando necessari per eseguire delle operazioni elementari. Ultimata la fase di fetch, la decodifica dell istruzione fa sì che inizi la fase di esecuzione; per l esecuzione dell istruzione il sequenziatore impartisce, in un Architettura degli elaboratori - Cristoforo Modugno - Pag. 13

14 certo numero di cicli, segnali di comando necessari all esecuzione dell istruzione mentre le informazioni relative all indirizzo sono elaborate al fine di ottenere l indirizzo fisico di memoria. Consideriamo, a titolo esemplificativo e con una certa libertà di linguaggio, la sequenza di comandi di controllo per l esecuzione di una istruzione di addizione del tipo ADD 300 che significa: somma al contenuto dell accumulatore il contenuto della cella di memoria di indirizzo simbolico 300 e lascia il risultato nell accumulatore, cioè in simboli: AC C[AC] + M[300] dove C[AC] indica il contenuto del registro accumulatore. Il decoder riconosce l istruzione ADD e informa il sequenziatore che può emettere il primo comando necessario all esecuzione dell istruzione ADD che deve essere quello di reperire l addendo dell addizione (l augendo si trova già nel registro accumulatore dell ALU) ad un indirizzo fisico calcolato in base a quello simbolico 300. A questo punto viene inviato alla CM il comando di lettura, a seguito del quale il dato si trova disponibile nel registro MBR; viene, poi, comandata l esecuzione dell addizione del contenuto del MBR con il contenuto dell accumulatore, lasciando il risultato nell accumulatore. I passi elementari per eseguire una istruzione di somma sono i seguenti: - MAR IR a - MBR M[MAR] - AC C[AC] + C[MBR] È opportuno evidenziare che, in generale, la CPU per svolgere la propria attività farà uso non solo del registro accumulatore ma, anche, di un gruppo di registri generali (general purpose register) usati principalmente nelle operazioni aritmetiche o logiche; il numero e il tipo di registri generali varia naturalmente a seconda del tipo di computer. Oltre ai registri IR e PC, detti registri interi, la CPU dispone anche di un altro registro detto registro di stato (PSW, processor status word) che sintetizza ad ogni istante lo stato della CPU. Architettura degli elaboratori - Cristoforo Modugno - Pag. 14

15 Per eseguire una istruzione la CPU impiega un certo tempo, detto ciclo di macchina; tale tempo è molto inferiore al ciclo di memoria, per cui per sveltire l esecuzione di un programma è utile ridurre al minimo il numero di accessi alla CM oppure fare uso il più possibile di registri che risultano molto più veloci della CM. TECNICHE DI INDIRIZZAMENTO Una delle funzioni più importanti svolte dalla unità di controllo consiste nel reperimento delle informazioni memorizzate nei vari organi dell elaboratore. Le informazioni possono essere: - Istruzioni nella fase di fetch della successiva istruzione che occorre eseguire; - Dati (operandi o risultati) nella fase di esecuzione della istruzione stessa. Le informazioni possono essere registrate nella memoria centrale oppure in registri operativi il cui numero e tipo dipende dall elaboratore. Se l informazione è memorizzata nei registri il reperimento può avvenire: - in forma implicita: il codice operativo definisce in modo implicito quali sono i registri interessati al prelevamento o immagazzinamento dell informazione; ad esempio l istruzione ADD A carica nel registro accumulatore il risultato dell addizione del contenuto dell accumulatore stesso e del registro MBR nel quale è stato posto il contenuto di memoria M[A]; - in forma implicita: viene indicato esplicitamente nel formato dell istruzione il registro che deve essere utilizzato; supponendo che un operando si trovi nell accumulatore e l altro in un registro di lavoro λ, l istruzione ADR λ effettuerà l operazione: AC C[AC] + C[λ]. Viceversa, per quanto riguarda l accesso ad informazioni memorizzate nella memoria centrale le tecniche possono essere diverse a seconda della struttura del sistema di elaborazione; di seguito vengono riportate quelle più comunemente utilizzate. Architettura degli elaboratori - Cristoforo Modugno - Pag. 15

16 Indirizzamento immediato Con l indirizzamento immediato, la parte address (IR a ) del registro istruzione contiene già il valore dell operando, per cui per eseguire l istruzione non è necessario accedere alla CM in quanto il dato è direttamente disponibile e utilizzabile. Indirizzamento diretto (o assoluto) In questo caso, l indirizzo fisico effettivo (assoluto) dell operando è fornito esplicitamente nell istruzione; se IR a è la parte address del registro istruzione, si accederà all informazione in base al valore binario contenuto in IR a. 2 bytes OP address IR a 4 bit 12 bit La dimensione massima della memoria su cui si può agire è data da 2 IRa ; poiché la cella unitaria di memoria (word) degli elaboratori è relativamente breve (generalmente 16 bit = 2 byte), pur riservando ad es. 12 bit per l indirizzo (riducendo il set di istruzioni al numero minimo 2 4 = 16) potremmo indirizzare una memoria di 2 12 = 4096 celle che risulta troppo piccola per la maggior parte delle applicazioni. Si presenta, dunque, la necessità di introdurre nuovi meccanismi che permettano di agire su una zona di memoria più ampia e facilitino anche il reperimento delle informazioni nel caso in cui queste ad es, siano usate in un ciclo. Indirizzamento indiretto Si ha un indirizzamento indiretto quando l indirizzo riportato nella parte Architettura degli elaboratori - Cristoforo Modugno - Pag. 16

17 address dell istruzione IR a fa riferimento ad una locazione di transito nella quale è pre-memorizzato l indirizzo effettivo dell informazione cui si vuole accedere. Il fatto che l indirizzamento sia diretto o indiretto viene generalmente indicato dal valore di un apposito bit incluso nell istruzione; il formato dell istruzione sarà, allora, come indicato in figura: n bytes OP I address IR a r bit q bit bit di indirizzamento I= 0 diretto 1 indiretto Indirizzamento con registro base La tecnica di indirizzamento mediante registro base risolve il problema di indirizzare locazioni di memoria consecutive registrate in una qualsiasi porzione di memoria, senza per questo richiedere un numero elevato di bit per il campo address dell istruzione. Il registro base è un registro general pupose che contiene l indirizzo di inizio del programma in esecuzione in un determinato istante; esso può indirizzare tutta la memoria dell elaboratore. Con questa tecnica l indirizzo assoluto dell operando viene ottenuto addizionando il contenuto del registro base con lo scostamento (displacement), contenuto nel campo IR a dell istruzione, che esprime la distanza tra una posizione di memoria e quella assunta come iniziale. n bytes OP I B address IR a r bit q bit bit registro base Architettura degli elaboratori - Cristoforo Modugno - Pag. 17

18 La figura sequente schematizza l operazione di calcolo dell indirizzo assoluto con la tecnica del registro base: OP I B address A (displacement) Indirizzo iniziale programma IR Instruction Register Registro Base Central Memory + indirizzo assoluto TIPI DI PROCESSOR Di seguito vengono descritti alcuni tipi di processo che presentano varianti significative nel funzionamento. Processor ad indirizzo singolo È il tipo di processor al quale si è fatto riferimento nella trattazione precedente: esso è organizzato con il registro PC (Program Counter), il registro IR (Instruction Register), eventuali registri generali e un registro AC (Accumulatore) nella ALU che contiene, in modo implicito, un operando o il risultato di una operazione riducendo, in tal modo, ad uno il numero di indirizzi richiesti per ciascuna istruzione; questo processor è detto single address processor. Per questo tipo di processor un ristretto set di istruzioni potrebbe essere, a titolo esemplificativo: Architettura degli elaboratori - Cristoforo Modugno - Pag. 18

19 codice operativo indirizzo significato Descrizione LOAD A AC M[A] Caricamento nell accumulatore STORE A M[A] C[AC] Memorizzazione del contenuto di AC JUMP A PC A Salto incondizionato ADD A AC C[AC] + M[A] Operazione di somma SUB A AC C[AC] - M[A] Operazione di sottrazione MUL A AC C[AC] * M[A] Operazione di moltiplicazione DIV A AC C[AC] / M[A] Operazione di divisione L istruzione JUMP interrompe l esecuzione sequenziale del programma ponendo nel Program Counter l indirizzo A, per cui l istruzione successiva sarà reperita a tale indirizzo. Come esempio di utilizzo di un processor ad indirizzo singolo, scriviamo un programma per calcolare l espressione: r = (x + y) / z. Indicando con A l indirizzo della locazione di memoria in cui è caricata la prima istruzione del programma, la situazione sarà quella indicata di seguito: memoria centrale A LOAD A + 5 A + 1 ADD A + 6 A + 2 DIV A + 7 A + 3 STORE A + 8 A + 4 JUMP A + 9 A + 5 Valore di x A + 6 Valore di y A + 7 Valore di z A + 8 Valore di r A + 9 programma dati Osserviamo che la funzione dell istruzione JUMP e quella di saltare i dati, poiché l esecuzione dei dati da parte del processor condurrebbe ad errore. La situazione di avere il programma e i dati già caricati in memoria in modo lineare e nello stesso modo corrisponde al modello di Von Neumann che Architettura degli elaboratori - Cristoforo Modugno - Pag. 19

20 permette una semplica trattazione delle tecniche di programmazione; in realtà esistono tecniche (cfr: le procedure pure) che permettono di registrare le istruzioni e i dati in zone diverse della memoria centrale. Processor a tre indirizzi Le operazioni aritmetiche e logiche prevedono generalmente due operandi ed un risultato. In un processor a tre indirizzi, allora, l istruzione sarà del tipo seguente: codice operativo indirizzo primo operando indirizzo secondo operando indirizzo risultato OP X Y Z n bit a 1 bit a 2 bit a 3 bit Il formato dell istruzione prevede, dunque: - 2 n possibili operazioni codificate con gli n bit del codice operativo (op); - 2 a 1-2 a 2-2 a 3 indirizzi diversi di locazioni di memoria centrale per il primo operando; indirizzi diversi di locazioni di memoria centrale per il secondo operando; indirizzi diversi di locazioni di memoria centrale per il risultato. Un set esemplificativo di istruzioni per un processor a tre indirizzi può essere: istruzione significato ADD (X,Y) Z M[X] + M[Y] M[Z] SUB (X,Y) Z M[X] - M[Y] M[Z] MUL (X,Y) Z M[X] * M[Y] M[Z] DIV (X,Y) Z M[X] / M[Y] M[Z] JUMP Z Z PC L istruzione JUMP, che interrompe l esecuzione sequenziale del programma ponendo nel Program Counter l indirizzo Z, richiede solo un campo indirizzamento, per cui il suo formato sarà il seguente: codice operativo campo non usato campo non usato indirizzo che viene posto nel PC JUMP - - Z n bit a 1 bit a 2 bit a 3 bit Il programma per calcolare l espressione: r = (x + y) / z sarà, in questo caso, il seguente: Architettura degli elaboratori - Cristoforo Modugno - Pag. 20

21 memoria centrale A ADD A + 3 A + 4 A + 6 A + 1 DIV A + 6 A + 5 A + 6 A + 2 JUMP - - A + 7 A + 3 valore di x A + 4 valore di y A + 5 valore di z A + 6 valore di r A + 7 programma dati Osserviamo che con il processor ad indirizzo singolo si ottengono istruzioni molto più corte di quelle relative al processor a tre indirizzi, ma il programma è più lungo per la presenza delle istruzioni di gestione dell accumulatore e i programmi sono più complessi per poter minimizzare le operazioni di LOAD e STORE; viceversa nel processor a tre indirizzi il numero di bit per l indirizzamento è molto più grande rispetto al processor ad un indirizzo, per cui in definitiva i programmi per un processor a singolo indirizzo normalmente occupano meno memoria di quelli a tre indirizzi. Processor a stack (zero indirizzi) Un processor a stack possiede un particolare accumulatore, lo stack, costituito da una sequenza di registri: lo stack viene gestito con il principio della pila (L.I.F.O. last in first out) per cui l inserimento di un dato o il prelevamento di un dato avviene sempre dalla sommità della pila; l ultima posizione occupata dello stack è puntata da un registro puntatore T il cui contenuto viene variato automaticamente a seguito di ogni operazione; poiché non c è bisogno di alcun indirizzo, dal momento che ogni operazione agisce sugli elementi dello stack, il processor è detto a zero indirizzi. Le istruzioni per inserire e prelevare elementi dallo stack sono chiamate Architettura degli elaboratori - Cristoforo Modugno - Pag. 21

22 rispettivamente PUSH e POP. L istruzione di ADD, ad esempio, estrae gli ultimi due elementi caricati nello stack e memorizza il risultato nello stack nella prima posizione disponibile. stack stack T y x + x + y T prima dopo esecuzione della istruzione ADD Un possibile set di istruzioni potrebbe essere il seguente, il cui significato è facilmente interpretabile: istruzione significato ADD S[T-1] + S[T] S[T-1] ; T-1 T SUB S[T-1] - S[T] S[T-1] ; T-1 T MUL S[T-1] * S[T] S[T-1] ; T-1 T DIV S[T-1] / S[T] S[T-1] ; T-1 T PUSH A T+1 T; M[A] S[T] POP A S[T] M[A] ; T-1 T JUMP Z vai a Z In questo caso, il programma per il calcolo dell espressione: r = (x + y) / z, produrrà in memoria la situazione schematizzata di seguito: memoria centrale A PUSH A + 7 A + 1 PUSH A + 8 A + 2 ADD - A + 3 PUSH A + 9 A + 4 DIV - Architettura degli elaboratori - Cristoforo Modugno - Pag. 22

23 A + 5 POP A + 10 A + 6 JUMP A + 11 A + 7 A + 8 A + 9 A + 10 A + 11 Valore di x Valore di y Valore di z Valore di r L UNITÀ ARITMETICO-LOGICA La funzione specifica svolta dalla ALU è quella dell esecuzione di operazioni aritmetiche, di confronto e di trasformazione di informazioni. Le principali parti componenti di una ALU sono: - uno o più registri R i che costituiscono la memoria locale e sono utilizzati per contenere temporaneamente uno o più dati; l accesso a questi registri è regolato dalla unità di controllo attraverso un selettore di ingresso; - una unità operativa (rete combinatoria) che riceve solitamente due operandi e produce un risultato; - un selettore di input e uno di output: il selettore di input, pilotato dalla CU, seleziona il registro nel quale immagazzinare il dato, quello di output, sempre controllato dalla CU, seleziona i registri i cui dati costituiscono l input della unità operativa. R 1 U N I B U S Selettore di input R 2 Memoria locale Selettore di output Unità operativa R n Architettura degli elaboratori - Cristoforo Modugno - Pag. 23

24 La figura precedente riporta lo schema di principio di una Unità Aritmetico- Logica. Quando il BUS fornisce dati, cioè si comporta da linea di input, il selettore di output inibisce ogni output di dati e, analogamente, il selettore di ingresso potrà inibire ogni memorizzazione quando il BUS si comporta come linea di uscita. L ALU può avere configurazioni e capacità molto diverse nel senso che può compiere operazioni di natura e complessità svariate. Partendo da un set elementare di operazioni aritmetiche e logiche è sempre possibile realizzare operazioni più complesse mediante opportuni programmi; è evidente, però, che l esecuzione di un programma comporta un tempo di calcolo decisamente più lungo di quello relativo all esecuzione diretta da parte della ALU stessa. Considerando il caso di elaboratori molto semplici, il set di istruzioni comprende generalmente: - l addizione algebrica di due numeri binari; - almeno una operazione di logica booleana fra i bit di uquale posizione di due numeri binari; - le operazioni di caricamento dell accumulatore (load) e memorizzazione del risultato (store). Architettura degli elaboratori - Cristoforo Modugno - Pag. 24

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

Dettagli

Architettura hardware

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

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input/output 1 Fornisce la capacità di

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

Cenni sull architettura del calcolatore

Cenni sull architettura del calcolatore Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Cenni sull architettura del calcolatore Pietro Di Lena - pietro.dilena@unibo.it hard-ware /h :dwe9 r / n. The part of the computer

Dettagli

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).! 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

Dettagli

Architettura del Calcolatore

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

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale.

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Campo Codice Operativo Campo Operandi K bit n-k bit n bit 1 Istruzione

Dettagli

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

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,

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 1 8 / 1 9 Architettura di Von Neumann Architettura di Von Neumann: l Unità di Elaborazione L Unità di Elaborazione L unità di elaborazione (CPU) contiene

Dettagli

Struttura di un elaboratore

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,

Dettagli

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2011-2012 Architettura di un calcolatore: primi cenni introduttivi Lezione 1 (seconda parte) Prof. Roberto Canonico Università degli Studi di Napoli Federico II

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Componenti principali

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

Dettagli

Calcolatore: sottosistemi

Calcolatore: sottosistemi Calcolatore: sottosistemi Processore o CPU (Central Processing Unit) Memoria centrale Sottosistema di input/output (I/O) CPU I/O Memoria Calcolatore: organizzazione a bus Il processore o CPU Unità di controllo

Dettagli

Le istruzioni del linguaggio gg macchina corrispondono ad operazioni elementari di elaborazione operazioni aritmetiche

Le istruzioni del linguaggio gg macchina corrispondono ad operazioni elementari di elaborazione operazioni aritmetiche ELABORAZIONE Le istruzioni del linguaggio gg macchina corrispondono ad operazioni elementari di elaborazione operazioni aritmetiche operazioni relazionali (confronto tra dati) operazioni booleane altre

Dettagli

Architettura dell elaboratore

Architettura dell elaboratore Architettura dell elaboratore Riprendiamo il discorso lasciato in sospeso ad inizio corso Riepilogando I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati

Dettagli

Architettura dell elaboratore

Architettura dell elaboratore Architettura dell elaboratore Riprendiamo il discorso lasciato in sospeso ad inizio corso Riepilogando I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

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

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann Architettura Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Argomenti Modello di Von Neumann, Bus, Memoria centrale e dispositivi Data Path delle architetture di Von Neumann

Dettagli

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus Architettura del calcolatore Calcolatori (1) Introdotti all'inizio degli anni 1940 Costruiti assemblano componenti elettronici elementari per memorizzare informazioni ed eseguire programmi informazioni

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2012-2013 Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e

Dettagli

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

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

Dettagli

Componenti e connessioni. Capitolo 3

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

Dettagli

Il modello di Von Neumann

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

Dettagli

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione ESERCITAZIONE 8 Sommario Unità centrale di elaborazione Meccanismo di interruzione CPU-Memoria Architettura di una CPU Linguaggio macchina Modi di indirizzamento 1. Unità centrale di elaborazione L unità

Dettagli

L architettura del calcolatore (Seconda parte)

L architettura del calcolatore (Seconda parte) L architettura del calcolatore (Seconda parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE: RICHIAMI

Dettagli

Architettura di un calcolatore: primi cenni introduttivi

Architettura di un calcolatore: primi cenni introduttivi Corso di Calcolatori Elettronici I Architettura di un calcolatore: primi cenni introduttivi ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Architettura di un calcolatore Cosa significa

Dettagli

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

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

Dettagli

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o Fondamenti di Informatica e Programmazione CPU e Linguag gio Macchina P ro f. G i a n n i D A n g e l o Email: giadangelo@unisa.it A.A. 2018/19 Elaborazione dell Informazione L'elaborazione delle informazioni

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

Dettagli

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II) 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea in Scienze della Comunicazione, Università Roma Tre 12 Dicembre

Dettagli

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI PROGRAMMAZIONE I 23/11/218 UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA La macchina di Von Neumann Unità periferiche Memoria Centrale CPU CORSO DI "PROGRAMMAZIONE I" Bus Dati Bus Indirizzi

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea Magistrale in Informazione, Editoria e Giornalismo, Università

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2010-2011 Architettura di un calcolatore: introduzione Lezione 18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso

Dettagli

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). 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 (CPU)

Dettagli

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

Capitolo 5 Elementi architetturali di base

Capitolo 5 Elementi architetturali di base Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

Dettagli

LABORATORIO DI INFORMATICA

LABORATORIO DI INFORMATICA LABORATORIO DI INFORMATICA Corso di laurea in Scienze della Formazione Primaria a.a.2014/2015 A cura del Prof. Sergio Miranda LEZIONE N.3 Architettura di Von Neumann PREMESSA Caratteristica fondamentale

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM

Dettagli

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO ARCHITETTURA DI UN CALCOLATORE ELETTRONICO Per architettura di un calcolatore elettronico si intende l'insieme delle principali unità funzionali di un calcolatore ed il modo in cui queste interagiscono.

Dettagli

Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori Elettronici Architettura dei Calcolatori Elettronici Prof. Orazio Mirabella L architettura del Calcolatore: esame delle sue caratteristiche Fondamentali Capacità di eseguire sequenze di istruzioni memorizzate Calcolatore

Dettagli

Terza lezione 21 ottobre 2016

Terza lezione 21 ottobre 2016 Terza lezione 21 ottobre 2016 Condizione per la conversione A/D Il teorema di Shannon (o di Nyquist) fornisce la condizione necessaria affinché un segnale dopo il campionamento possa nuovamente essere

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU (CENTRAL PROCESSING UNIT) Il processore - CPU (CENTRAL PROCESSING UNIT) abbiamo visto Programmi e dati risiedono in file memorizzati in memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella

Dettagli

Sistemi di numerazione

Sistemi di numerazione SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica

Dettagli

Architettura del Calcolatore

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

Dettagli

La macchina di Von Neumann

La macchina di Von Neumann Università degli Studi di Palermo Facoltà di Ingegneria La macchina di Edoardo Ardizzone & Ignazio Infantino Appunti per il corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Informatica

Dettagli

Laboratorio di Informatica L-A 1

Laboratorio di Informatica L-A 1 ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchina di Von Neumann: Non distingueva fra RAM

Dettagli

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti Struttura di un sistema di elaborazione Architettura di Von Neumann Componenti Hardware di un SDE Processo e Processore CPU Memoria Centrale SDE: basi Un SDE è formato da elementi di natura diversa (elettrica,

Dettagli

Architettura di una CPU

Architettura di una CPU Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1

Dettagli

Architettura dei Calcolatori elettronici

Architettura dei Calcolatori elettronici Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore

Dettagli

Architettura di Von Neumann

Architettura di Von Neumann Architettura del calcolatore Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da

Dettagli

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto Un quadro della situazione Lezione 15 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Ciclo di, classificazione e livelli delle architetture di calcolatore Lezioni del Corso di Laurea Triennale in Informatica Per gentilezza del Prof. Sebastiano Pizzutilo (Dipartimento

Dettagli

architettura degli elaboratori Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione

architettura degli elaboratori Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione architettura degli elaboratori Alberto Ferrari architettura la macchina di von Neumann memorie Input / Output canali di comunicazione CPU registri istruzioni struttura dell elaboratore o la struttura dei

Dettagli

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo

Dettagli

Architettura di un Elaboratore

Architettura di un Elaboratore Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione

Dettagli

Componenti di un processore

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

Dettagli

Architettura e funzionamento del calcolatore

Architettura e funzionamento del calcolatore FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Università degli Studi di Udine Architettura e funzionamento del calcolatore Modello di calcolatore Si farà uso di un modello semplificato di elaboratore

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

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

Dettagli

Corso di Fondamenti di Informatica Elementi di Architettura

Corso di Fondamenti di Informatica Elementi di Architettura di Cassino e del Lazio Meridionale Corso di Informatica Elementi di Architettura Anno Accademico 2016/2017 Francesco Tortorella Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE memoria centrale Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). John von Neumann (Neumann János) (December 28, 1903

Dettagli

Architettura del calcolatore. Prima parte

Architettura del calcolatore. Prima parte Architettura del calcolatore Prima parte Argomenti trattati Architettura di Von Neumann Memoria centrale Bus di sistema Unità di elaborazione (CPU) Interfacce di Ingresso/ uscita Modello di Von Neumann

Dettagli

FONDAMENTI DI INFORMATICA Lezione n. 10

FONDAMENTI DI INFORMATICA Lezione n. 10 FONDAMENTI DI INFORMATICA Lezione n. 10 CPU-MEMORIA CICLO PRINCIPALE CPU ARCHITETTURA BASE UNITÀ DI ESECUZIONE E UNITÀ DI CONTROLLO In questa lezione viene analizzata l'architettura di base di un sistema

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina Architettura considerata in CPUSim Linguaggio macchina -- esempio in CPUSim Manuale di CPU Sim Memoria con 128 celle Indirizzi da 12 bit Registri usuali per un architettura di Von Neumann (, IR,, ) Un

Dettagli

FONDAMENTI DI INFORMATICA Lezione n. 10

FONDAMENTI DI INFORMATICA Lezione n. 10 FONDAMENTI DI INFORMATICA Lezione n. 10 CPU-MEMORIA CICLO PRINCIPALE CPU ARCHITETTURA BASE UNITÀ DI ESECUZIONE E UNITÀ DI CONTROLLO In questa lezione viene analizzata l'architettura di base di un sistema

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

Dettagli

ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI

ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI Progettare una unità centrale di elaborazione microprogrammata, dotata di registri ad uso generale di bit, che sia in grado di indirizzare una memoria di 64k

Dettagli

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf Architettura di un calcolatore e ciclo macchina Appunti per la classe 3 Dinf Il Sistema di Elaborazione Computer Hardware Software 2 Hardware Struttura fisica del calcolatore formata dai circuiti elettronici

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/26

Dettagli

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. Architettura di un Elaboratore Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. È costituita da quattro elementi funzionali

Dettagli

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

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Cos è un Calcolatore? Un computer (calcolatore) è una macchina

Dettagli

Struttura dell elaboratore elettronico

Struttura dell elaboratore elettronico Struttura dell elaboratore elettronico Concetti di base della tecnologia dell Informazione e della Comunicazione Qual è il significato del termine informatica? E' la scienza che si propone di raccogliere,

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE RCHITETTUR DI UN ELORTORE Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). MCCHIN DI VON NEUMNN UNITÀ FUNZIONLI fondamentali Processore (CPU) Memoria

Dettagli

Corso di Calcolatori Elettronici I

Corso di Calcolatori Elettronici I Corso di Calcolatori Elettronici I Architettura dei Calcolatori Elettronici: primi cenni introduttivi Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2017-2018 Roberto Canonico Corso

Dettagli

Sistemi di Elaborazione delle Informazioni

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

Dettagli

Fondamenti di Informatica B

Fondamenti di Informatica B Fondamenti di Informatica B Lezione n. 10 Alberto Broggi Gianni Conte A.A. 2005-2006 Fondamenti di Informatica B CPU-MEMORIA CICLO PRINCIPALE CPU ARCHITETTURA BASE UNITÀ DI ESECUZIONE E UNITÀ DI CONTROLLO

Dettagli

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale Programmazione A.A. 2002-03 I Architettura dei Calcolatori ( Lezione V ) Componenti hardware e loro schema funzionale Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica

Dettagli

Architettura dell elaboratore

Architettura dell elaboratore Riepilogando Architettura dell elaboratore Riprendiamo il discorso lasciato in sospeso ad iniio corso I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i

Dettagli

Architettura di von Neumann

Architettura di von Neumann Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Architettura di von Neumann Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

ALU e Control Unit. ALU e Control Unit

ALU e Control Unit. ALU e Control Unit Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Unità aritmentica/logica Unità di controllo. 2 M. Violante 1.1 Unità aritmetica/logica Contiene tutti i circuiti

Dettagli

Architettura dei calcolatori

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

Dettagli

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi G L O S S A R I O BIT: acronimo di Binary Digit. E l unità elementare di informazione. Può assumere solo il valore 0 o 1. CALCOLATORE: macchina che opera la trasformazione dei dati (informazioni) HARDWARE:

Dettagli