Tesina di fine corso Argomento: Corso: Professore: Autori:

Slides:



Advertisements
Presentazioni simili
…da von Neumann al computer quantistico
Advertisements

…da von Neumann al computer quantistico architettura dellelaboratore.
Introduzione al linguaggio C++
Informatica Generale Susanna Pelagatti
Informatica Generale Marzia Buscemi IMT Lucca
IL COMPUTER.
Circuiti Aritmetico-Logici
La struttura fisica e logica di un elaboratore
Sistemi di numerazione e codici
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Informatica 3 Codifica binaria.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Il Linguaggio Macchina
Com’è fatto un elaboratore?
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
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.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
La macchina di von Neumann
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Il Modello logico funzionale dell’elaboratore
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
I vettore interruzioni
Architettura del calcolatore
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
Introduzione al linguaggio assembly del microprocessore a parte
ARCHITETTURA DI UN ELABORATORE
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Linguaggi e Programmazione per l’Informatica Musicale
I computer vengono utilizzati per automatizzare la soluzione di problemi di varia natura trattando le informazioni in entrata (DATI) eseguendo gli opportuni.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Architettura del calcolatore
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
Rappresentazione dell’informazione nel calcolatore.
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Capitolo 2 Architettura di un calcolatore
Corsi di Laurea in Biotecnologie
Circuiti logici.
Laboratorio Informatico
Architettura di un calcolatore e linguaggio macchina.
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
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione dell'informazione
Il calcolatore Stefano Cagnoni e Monica Mordonini
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informazione e Informatica - presentazione dei concetti di base -
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
STRUTTURA DELL’ELABORATORE
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
I sistemi di numerazione
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il modello di Von Neumann
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Calbini Diego 1B anno scolastico La storia del Personal Computer.
Transcript della presentazione:

Tesina di fine corso Argomento: Corso: Professore: Autori: Arithmetic Logic Unit (1 bit ALU e 8 bit ALU) Corso: Fondamenti di informatica Professore: Gregorio Cosentino Autori: Enrico Santorio Luca Macchi Matteo Langeli Pierluigi Abiuso Alessio Calicchia Carlo Marchetti

Prima di iniziare: È importante ricordare le funzioni degli operatori di base; in particolare: Il NOT complementa la variabile in entrata L’AND esegue il prodotto tra variabili in entrata L’OR esegue la somma tra variabili in entrata Il NAND complementa le funzioni in uscita dell’AND Il NOR complementa le funzioni in uscita dell’OR L’OR esclusivo rimanda 1 in uscita se e solo se le variabili in entrata sono diverse.

Arithmetic Logic Unit L'unità aritmetica logica (spesso noto come arithmetic logic unit o ALU) è un'unità digitale preposta all'esecuzione di operazioni aritmetiche o logiche. L'ALU è un elemento fondamentale dei moderni microprocessori che contengono almeno un'unità ALU al suo interno. Le moderne CPU e GPU sono dotate di unità ALU molto sofisticate, un singolo processore spesso contiene più ALU. Il matematico John von Neumann propose il concetto di ALU nel 1945 mentre sviluppava le basi del computer EDVAC. Nel 1946 von Neumann lavorò con i suoi colleghi allo sviluppo di un computer per il Princeton Institute of Advanced Studies (IAS). L'IAS machine fu un sistema che fu utilizzato come esempio dalla maggior parte dei computer successivi. Durante lo sviluppo delineò l'architettura generica della macchina che comprendeva il concetto di ALU. Egli ideò inoltre il concetto di ALU in modo da consentire al computer di eseguire le operazioni aritmetiche elementari come somma, sottrazione, divisione e moltiplicazione ritenendo ragionevole sviluppare un'unità specializzata allo scopo. Sistema numerico : L'ALU deve processare i numeri utilizzando lo stesso sistema numerico utilizzato dai rimanenti componenti del computer. Nei moderni computer questa è praticamente sempre la notazione binaria in complemento a due. I primi computer invece utilizzavano una varietà molto ampia di sistemi di numerazione come la notazione decimale la notazione con segno e il complemento a uno. A seconda del sistema di rappresentazione utilizzato lo schema deLL'ALU può variare significativamente.

Operazioni basilari: La maggior parte delle ALU sono in grado di eseguire: Operazioni aritmetiche su numeri intero (addizione, sottrazione, e spesso moltiplicazione e divisione a volte tramite l'utilizzo di sottrazioni o somme multiple). Operazioni logiche (AND, OR, NOT). Operazioni di scorrimento binarie tramite registri a scorrimento. Operazioni complesse : Un ingegnere elettronico può progettare un'ALU in grado di eseguire tutte le operazioni logiche e matematiche immaginabili ma questo comporterebbe degli enormi problemi dato che l'unita sarebbe molto costosa e lenta. Quindi gli ingegneri devono effettuare delle scelte cercando di realizzare delle unità potenti ma nello stesso tempo non troppo complesse. Anche le ALU semplici sono in grado di eseguire operazioni complesse ma richiedono molti cicli di clock per svolgere le operazioni mentre le ALU complesse eseguono le operazioni in un solo ciclo di clock. Input e Output: Gli input (ingressi) dell'ALU sono i dati da processare (gli operandi) e il codice che attiva l'unità di controllo che gestisce l'ALU. L'output sono i risultati delle operazioni. Spesso le ALU sono progettate per generare ingressi e uscite in funzione dei dati elaborati. Questi dati vengono usualmente raccolti in un registro di stato e sono utilizzati per indicare la presenza di resto, la divisione per zero, l'overflow etc.

Le funzioni e determinano quale operazione dovrà svolgere l’ALU (in questo caso somma), disabilitando i fili che vanno negli AND degli altri operatori (AND, OR, NOT) 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

Essendo operatori “and” che in input ricevono uno zero, indipendentemente dal secondo input, il risultato sarà zero. Il decodificare (decoder) ha così svolto il compito che gli avevamo assegnato, ovvero quello di disabilitare operatori che non fossero di somma. 1

1 1 1 1 Supponiamo di calcolare la somma tra le variabili in ingresso: A=1 B=1 Ricordiamo che di default: EnA=1 EnB=1 InvA=0 1

1 1 1 1 1 1 1 1 Ricordiamo che i valori entranti dei tre operatori della logical unit possono essere trascurati, perché disabilitati. 1

1 1 1 1 1 1 1

1 1 1 Il full adder, valutando le variabili in ingresso e non dimenticandosi del carry in, elabora i risultati relativi al carry out e sum che andrà nell’OR finale. 1 1 1 1 Carry in =

1 1 1 1 1

1 1

1 1 Ecco così i nostri risultati! Carry in: 1 Output: 1 + 1 = Carry out 1 + 1 =

La tavola di verità Con la tavola di verità si rappresentano tutte le possibili combinazioni in uscita a partire dalle diverse variabili in entrata, tenendo conto di eventuali carry in. In particolare, studiamo il caso in cui il valore delle variabili in ingresso non cambia, ma il carry in è uguale a “0”.

1 1 1 1 1

1 1 1

1

1 Carry in: 0 Output (1 + 1)= Carry out (1 + 1)= C.V.D.

8 bit ALU VERSO DI LETTURA

Ad ogni ALU arrivano le stesse istruzioni dei segnali di controllo

Variabili in ingresso ( A, B ) Le variabili in ingresso A e B si dividono in due famiglie che rappresentano i due numeri da 8 digit che noi stiamo , per esempio, sommando. Tra tre slide vedremo come ognuno di questi digit avrà un peso diverso nella funzione in uscita.

I Valori di default: EnA, EnB, InvA Tali valori vengono assunti di default come: InvA=0 EnA=1 EnB=1

Carry Out e Carry In L’overflow è generato delle operazioni aritmetiche che danno un risultato troppo grande per essere memorizzato nello spazio che il programmatore aveva messo a disposizione per il risultato stesso. Le funzioni di Carry in e Carry out si muovono tra coppie consecutive di ALU, una volta che il primo Carry in è stato introdotto (di default=0).

Variabili in uscita (output) Il valore finale delle variabili in uscita compone un numero di otto digit che, per esempio, è il risultato di una somma. Ogni cifra, l’output di ciascun ALU, ha un peso diverso all’interno del numero, ovvero rappresenta una diversa potenza di due in codice binario. Quindi è importante il verso di lettura di un 8-bit ALU, perché ci da l’ordine delle potenze.