Calcolatori Elettronici

Documenti analoghi
CALCOLATORI ELETTRONICI 15 aprile 2014

Calcolatori Elettronici

Architettura di tipo registro-registro (load/store)

Caratteristiche di un PC

Calcolatori Elettronici B a.a. 2006/2007

CPU. Maurizio Palesi

Memorie ROM (Read Only Memory)

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

CORSO DI ELETTRONICA DEI SISTEMI DIGITALI

Calcolatori Elettronici

Macchina di von Neumann

La macchina programmata Instruction Set Architecture (1)

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

Architettura dei Calcolatori Introduzione al corso

L architettura del calcolatore (Prima parte)

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

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

Introduzione ai microcontrollori

CALCOLATORI ELETTRONICI 29 giugno 2011

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

Architettura del calcolatore

Struttura del calcolatore

CALCOLATORI ELETTRONICI

Calcolatori Elettronici

PROGRAMMAZIONE MODULARE

Programmazione modulare a.s

Circuiti sequenziali e elementi di memoria

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Flip-flop Macchine sequenziali

Architettura. Indice:

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

ESERCIZI DEL CORSO DI INFORMATICA

Calcolatori Elettronici Reti Sequenziali Asincrone

A.C. Neve Esercizi Digitali 1

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

C. P. U. MEMORIA CENTRALE

ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

FONDAMENTI DI LOGICA DIGITALE 1 DL 3155E20 LOGICA. Blocchi funzionali. Argomenti teorici

Macchine combinatorie

Architettura di un Elaboratore

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Lezione 3: Architettura del calcolatore

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)

Introduzione. Un calcolatore digitale è costituito da un sistema interconnesso dei seguenti dispositivi:

Calcolatori Elettronici

Von Neumann. John Von Neumann ( )

Lezione 7 Sommatori e Moltiplicatori

Architettura degli Elaboratori e delle Reti

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

Il corso di INFORMATICA

Architettura di un calcolatore

L architettura di riferimento

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Lezione 2 Circuiti logici. Mauro Piccolo piccolo@di.unito.it

Architettura degli Elaboratori e delle Reti

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

Calcolo numerico e programmazione Architettura dei calcolatori

Corso di Laurea in Informatica Architetture degli Elaboratori

Lezione n.9. Introduzione al linguaggio macchina

Architettura dei calcolatori

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Architettura del Set di Istruzioni (ISA)

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0

Programmazione dello Z80

Classe III specializzazione elettronica. Elettrotecnica e elettronica

Hazard sul controllo. Sommario

Sito personale e forum

Architettura di un calcolatore: introduzione

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 2.

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

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

Il Processore: i registri

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Introduzione all'architettura dei Calcolatori

ARCHITETTURA DI UN PERSONAL COMPUTER

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del COGNOME NOME

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

Tutorato Architettura degli elaboratori

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43

Lezione 3 Prof. Angela Bonifati

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Verifica di Sistemi. 2. Il latch SR a porte NOR non accetta la condizione: a. S=0, R=0 b. S=1, R=1 c. S=0, R=1 d. S=1, R=0

Calcolatori Elettronici Parte IV: Logica Digitale e Memorie

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

l angolo di Mr A.KEER UNITA

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Parte II.2 Elaboratore

CALCOLATORI ELETTRONICI 29 giugno 2010

PROGRAMMA SVOLTO E L E T T R O N I C A Anno Scolastico 2014/2015 Classe III Ae Prof. Boldrini Renato Prof. Procopio Sostene

MINISTERO DELLA PUBBLICA ISTRUZIONE ISTITUTO TECNICO INDUSTRIALE. ARTURO MALIGNANI - UDINE Viale Leonardo da Vinci, Udine

Flip-flop, registri, la macchina a stati finiti

Aritmetica binaria sui numeri relativi (somme e sottrazioni) e Unità aritmetiche

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Transcript:

Calcolatori Elettronici LIVELLO ORGANIZZAZIONE: SCHEMI DI BASE ALU e REGISTER FILE Massimiliano Giacomin 1

DOVE CI TROVIAMO LIVELLO SIST. OP. Application Binary Interface (ABI) ISA Instruction Set Architecture (ISA) LIVELLO FUNZ.LE (RTL)? Componenti: registri, bus, memorie, LIVELLO DELLA LOGICA Strutture: registri, bus, memorie, Componenti: porte logiche, flip-flop, 2

ORGANIZZAZIONE DEL CALCOLATORE SECONDO IL MODELLO DI VON NEUMANN MEMORIA I/O Sistema di interconnessione CPU Sistema di interconnessione: uno o più bus 3

FOCUS SU MEMORIA I/O Sistema di interconnessione CPU 4

Schema del processore (e memoria) Unità di controllo PC Memoria (cache interna) IR Condizioni SEGNALI DI CONTROLLO UNITA DI ELABORAZIONE (DATAPATH) indirizzo dato letto s1 + s3 dato scritto s2 Es: add $s3, $s1, $s2 5

DATAPATH: DUE ASPETTI Progettare circuiti per: 1. Memorizzare ed elaborare i dati 2. Trasferire i dati da un punto ad un altro Vedremo: 1. Componenti del datapath - registri - ALU - ecc. ecc. 2. Modalità di interconnessione - punto-punto - a bus singolo - bus specializzati 6

Registro RegWrite Deve memorizzare valori a n bit: IN n n bit n OUT - n linee di ingresso - n linee di uscita Necessario poter memorizzare il valore in ingresso solo in determinati cicli di clock segnale RegWrite Controllo lettura in generale inutile: valore memorizzato sempre disponibile in uscita 7

Esempio RegWrite IN n n bit n OUT CLOCK RegWrite IN OUT V1 V2 V3 V0 V1 V3 8

REGISTRO: IMPLEMENTAZIONE RegWrite IN 0 FF 0 OUT 0 IN 1 FF 1 OUT 1...... IN n-1 FF n-1 OUT n-1 9

ALU (Arithmetic Logic Unit) Unità logico-aritmetica Effettua le operazioni logiche e aritmetiche all interno della CPU Progettiamo una ALU tenendo conto delle esigenze del MIPS ALU a 32 bit Operazioni aritmetiche: - somma - sottrazione - set on less than (slt) Operazioni logiche: - AND - OR - NOR 10

Operazione di somma Richiamo sui numeri in complemento a 2 con n bit: - positivi rappresentati normalmente, negativi in C.A.2 (si ottiene dal C.A.1 sommando 1) - estensione da n a n+k bit: estensione del segno - somma: normalmente scartando l eventuale riporto, overflow se pos+pos=neg o neg+neg=pos Vogliamo sommare bit a bit due numeri binari di n bit: a n-1 a i a 0 e b n-1 b i b 0 a 3 a 2 a 1 a 0 1 0 1 1 + b 3 b 2 b 1 b 0 0 1 1 1 = c 3 c 2 c 1 c 0 (1) 0 0 1 0 11

Una soluzione ad hoc Costruire un circuito digitale specializzato ad eseguire la somma di n bit Ad esempio, con n = 3 a 0 a 1 a 2 b 0 b 1 b 2 Sommatore a 3 bit c 0 c 1 c 2 Problemi: - complessità intrattabile per n grande (es. 32) - se si cambia n occorre costruire un altro circuito 12

Una soluzione basata sulla tecnica di decomposizione Decomposizione di funzioni in funzioni più semplici: - si ottengono reti combinatorie più semplici - si introducono nuove variabili booleane chiamate variabili di appoggio che permettono di connetterle tra loro Nel ns. caso: - decomposizione in reti combinatorie, dette full adder, ciascuna delle quali serve per ottenere c i (da a i e b i ) - variabili di appoggio = variabili di riporto r i 13

Full adder r i a i b i + c i r i+1 Tabella di verità a i b i r i c i r i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 c i = a i b i r i + a i b i r i + a i b i r i + a i b i r i r i+1 = a i b i r i + a i b i r i + a i b i r i + a i b i r i = a i b i r i + a i b i r i + a i b i r i + a i b i r i + a i b i r i + a i b i r i = = b i r i (a i +a i )+ a i r i (b i +b i )+ a i b i (r i +r i ) = b i r i + a i r i + a i b i 14

Realizzazione circuitale: generazione di c i a i b i r i a i b i r i aibiri a i a i b i r i b i c i r i a i b i r i a i b i r i 15

Realizzazione circuitale: generazione di r i+1 a i a i r i b i b i r i r i+1 r i a i b i r i+1 = b i r i + a i r i + a i b i 16

Sommatore a n bit con n full-adder r 0 =0 a 0 b 0 + a 1 b1 + a n-1 bn-1 + r 1 r 2 r 1 c 0 c 1 c n-1 Per ogni i da 0 a n-1 il full-adder: somma a i + b i + r i (bit di riporto generato dalla somma nella posizione precedente) Genera in tal modo il bit c i di somma e il bit r i+1 di riporto per la somma in posizione successiva r n 17

Aggiunta delle operazioni logiche di AND e OR 18

Aggiunta di NOR e sottrazione NOR: a+b = a b sottrazione: a-b = a + (-b) b + 1 Posso sfruttare r 0! NB: per fare a-b seleziono: - Binvert - Operation=2 e pongo CarryIn 0 =1 19

Aggiunta di slt e overflow detection a<b sse a-b<0 20

Note sul lucido precedente - Overflow viene determinato secondo la regola dei segni - In realtà la determinazione di slt è più complicata se si tiene conto dell overflow: no overflow: a<b sse a-b<0 sse sign=1 overflow: implica che il segno vero è l opposto di sign ovr sign slt 0 0 0 0 1 1 1 0 1 1 1 0 21

Å 22

Aggiunta del bit di zero Utile per il test di eguaglianza (cfr. beq): a=b sse a-b=0 Nello schema BInvert e CarryIn sono combinati in Bnegate (ogni volta che nego B, se uso il sommatore è per sommare B) 23

NB: la ALU ottenuta è controllata secondo la tabella seguente AInvert Bnegate Operation 0 0 00 0 0 01 0 0 10 0 1 10 0 1 11 1 1 00 Function AND OR add subtract slt NOR 24

MODALITA DI INTERCONNESSIONE Trasferimento di informazione: da registro/i sorgente/i a registro destinazione passando per ALU o memoria Esistono diversi tipi di reti per realizzare l interconnessione: Punto-a-punto tra tutte le coppie sorgente-destinazione: non utilizzato a causa di complessità troppo elevata Bus singolo Bus specializzati 25

2) Interconnessione tramite bus singolo rdr m-1 rdr m-2 rdr 0 wrr m-1 wrr m-2 wrr 0 R m-1 R m-2 R 0 BUS Trasferimento da R i a R j : si attiva la linea di selezione dell i-esimo buffer tri-state (rdr i ) e quella di scrittura del registro R j (wrr j ) Il bus non consente di effettuare trasferimenti simultanei nello stesso ciclo di clock 26

NOTAZIONE: d ora in poi si indicheranno elementi che gestiscono fasci di n linee implementati con n elementi in parallelo (es: buffer tri-state) a 0 c 0 s Buffer tri-state A n n C... s basso ( 0 ) s alto ( 1 ) c i ºa i s a n-1 c n-1 s 27

Esempio: R3 R1+R2 con bus singolo R1 R2 R3 BUS R1, R2, R3 comandabili in lettura e scrittura Necessari Tmp1 e Tmp2 Servono 3 cicli di clock per eseguire l operazione! Tmp1 ALU Tmp2 F 28

3) Interconnessione con bus specializzati RegWrite1 ReadRegister1 RegWrite2 RegWrite3 R1 R2 R3 BS1 BS2 ALU ReadRegister2 BD Uso di più bus, p.es. per la ALU due bus sorgente + uno destinazione: sufficiente un ciclo di clock per eseguire l operazione! 29

Nota: Interconnessione Multiplexer Come prima, si usano multiplexer che selezionano tra più bus 30

Nota: decoder per la selezione della destinazione RegWrite WriteRegister Decoder ReadRegister1 R1 R2 ALU R3 ReadRegister2 31

Un nuovo componente: il register file RegWrite WriteRegister ReadRegister1 Decoder R1 R2 R3 ReadData1 ReadData2 ALU WriteData ReadRegister2 Ovviamente, il MIPS ha 32 registri a 32 bit 32

NB I registri sorgente/destinazione sono codificati da un numero (p.es. indicato nei campi dell istruzione). La selezione viene effettuata con: Multiplexer: per selezionare la sorgente (da inviare ad una destinazione prefissata) Decodificatore: per selezionare la destinazione (da sorgente prefissata) 33

Register file per il MIPS 32 32 32 Note: lettura asincrona, no segnale di read scrittura sincrona (edge-triggered), abilitata dal segnale RegWrite 34