Il processore minimo MU0. S. Salvatori - Microelettronica marzo 2019 (50)

Documenti analoghi
Instruzione Opcode Effetto

Microelettronica. Introduzione al progetto di un microprocessore. Stefano Salvatori. Università degli Studi Roma Tre.

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded

(a) INTRODUZIONE ALLE ARCHITETTURE E ALLA SIMULAZIONE VERILOG DI PROCESSORI

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Architettura dell elaboratore

Architettura dell elaboratore

Fondamenti di Informatica A. A / 1 9

Architettura di una CPU

Il processore: unità di elaborazione

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Calcolatore: sottosistemi

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

DEC PDP8, III Generazione, '65-'75

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Architettura degli Elaboratori

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

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

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto

Architettura dell elaboratore

Università degli studi di Bologna Anno Accademico 2000/2001 Corso di Architettura degli elaboratori

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

Architettura del calcolatore (Seconda parte)

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

L unità di controllo di CPU a singolo ciclo

ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI

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

Capitolo 5 Elementi architetturali di base

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Calcolatori Elettronici T Ingegneria Informatica. DLX: implementazione sequenziale

Struttura di un elaboratore

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Richiami sull architettura del processore MIPS a 32 bit

Architettura degli elaboratori CPU a ciclo singolo

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Un quadro della situazione. Lezione 28 Il Processore: unità di controllo (2) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

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

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Elementi di Architettura

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Sommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI

Architettura degli elaboratori CPU a ciclo singolo

FONDAMENTI DI INFORMATICA

Architettura del Calcolatore

MIPS MIPS MIPS MIPS. Registri. Dati e modi di indirizzamento. Formato Istruzioni. Lezione 5 e 6. Architettura degli Elaboratori A.

Esercitazione 06 Progettazione di una CPU RISC-V

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Ciclo del Processore. Memoria

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

Architettura degli Elaboratori

Architettura di un calcolatore: introduzione

I Componenti di un Sistema Digitale e Progetto Controllore data path

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

Richiami sull architettura del processore MIPS a 32 bit

ISA DLX: Implementazione Tramite Struttura Sequenziale

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

Architettura degli Elaboratori

Sistemi e reti CPU Concetti di base

FUNZIONAMENTO MACCHINA DI VON NEUMANN

L unità di elaborazione PC: MAR/MDR IR: R0 Rn: TEMP, V, Z

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

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1)

Struttura del calcolatore

L architettura del calcolatore (Seconda parte)

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

Abilità Informatiche e Telematiche

FONDAMENTI DI INFORMATICA Lezione n. 10

L unità di controllo di CPU a singolo ciclo

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

FONDAMENTI DI INFORMATICA Lezione n. 10

Il processore - CPU (CENTRAL PROCESSING UNIT)

INFORMATICA GENERALE

CPUSim. Laboratorio 30/11/2016

Microelettronica Corso introduttivo di progettazione di sistemi embedded

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Lezione 29 Il processore: unità di controllo (2)

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

Fondamenti di Informatica B

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Abilità Informatiche e Telematiche

Corso di Informatica

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Architettura di un elaboratore

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) Componenti

Università degli Studi di Cassino

Università degli Studi di Cassino

Corso di Laurea in Informatica Architetture degli Elaboratori

Transcript:

Il processore minimo S. Salvatori - Microelettronica marzo 209 (50)

Il processore minimo Il tipo più semplice di processore prevederà: un, Program Counter, per puntare all istruzione da eseguire un, Instruction Register, che mantiene il codice dell istruzione da eseguire un registro, Accumulatore, in grado di immagazzinare il dato su cui lavorare in un certo istante una ALU, Arithmetic Logic Unit, in grado di eseguire operazioni elementari una unità di decodifica e controllo che imposterà le azioni in funzione dell istruzione..6 S. Salvatori - Microelettronica marzo 209 (5)

Esempio di processore minimo Per il più semplice processore prevediamo per l'istruzione un formato a 6 bit; Nei 6 bit sono inclusi l' a 4 bit e un campo d'indirizzo a 2 bit: 4 bits 2 bits S istruzioni a 6 bit I dati sono a 6 bit (ALU) 2 bit d indirizzo -> 4096x6 = 8 kbyte di spazio di memoria S. Salvatori - Microelettronica marzo 209 (52)

Il set di istruzioni è anch'esso minimo: Istruzione Opcode Effetto LDA S 0000 := mem 6 [S] STO S 000 mem 6 [S] := ADD S 000 := + mem 6 [S] SUB S 00 := - mem 6 [S] JMP S 000 := S JGE S 00 if >= 0 := S JNE S 00 if!=0 := S STP 0 stop S. Salvatori - Microelettronica marzo 209 (53)

Il progetto della logica è divisibile in due passi fondamentali: datapath tutti gli elementi che lavorano su parole (acc.,, ALU, ) fanno parte del datapath per questi elementi si usa uno stile di progetto di tipo Register Transfer level (RTL), basato su registri, MUX, logica di controllo tutto ciò che non è incluso nel datapath, farà parte della logica di decodifica/controllo il progetto si basa su FSM (Finite State Machine) S. Salvatori - Microelettronica marzo 209 (54)

Progetto a livello di datapath S. Salvatori - Microelettronica marzo 209 (55)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (56)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (57)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (58)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (59)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (60)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (6)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (62)

datapath? 2 6 S. Salvatori - Microelettronica marzo 209 (63)

datapath l esecuzione dell istruzione prevede un un numero di di cicli di di clock pari agli agli accessi in in memoria necessari 2 accessi accesso Instruzione Opcode Effetto LDA S 0000 := mem 6 [S] STO S 000 mem 6 [S] := ADD S 000 := + mem 6 [S] SUB S 00 := - mem 6 [S] JMP S 000 := S JGE S 00 if >= 0 := S JNE S 00 if!=0 := S STP 0 stop S. Salvatori - Microelettronica marzo 209 (64)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (65)

datapath 2 L'incremento del può essere svolto dalla stessa ALU (più avanti i dettagli) 6 S. Salvatori - Microelettronica marzo 209 (66)

datapath 2 6 S. Salvatori - Microelettronica marzo 209 (67)

datapath design assunto che l istruzione sia stata caricata, il progetto a livello di datapath prevede due passi fondamentali:. accesso all operando in memoria esce l indirizzo da l operando e l'accumulatore giungono alla ALU il risultato fornito dalla ALU è caricato nell accumulatore stesso oppure il contenuto dell accumulatore è scritto in memoria 2. fetch della nuova istruzione ( o 2 hanno l indirizzo della locazione per la nuova istruzione) il contenuto è incrementato dalla ALU il nuovo valore è salvato in Comunque: inizializzazione (il processore deve iniziare da uno stato noto) input di RESET per esempio: azzerata l uscita della ALU, caricarne poi il valore in S. Salvatori - Microelettronica marzo 209 (68)

Progetto a livello RTL (Register Transfer Level) S. Salvatori - Microelettronica marzo 209 (69)

Organizzazione RTL MEMrq MEMrq RnW RnW buffer per la connessione su data-bus Segnali di selezione Segnali di controllo ce ce ALU B ALU B A A z z oe oe segnali di abilitazione per i registri Stabiliamo che il dato venga caricato nel registro in corrispondenza del fronte negativo di clock S. Salvatori - Microelettronica marzo 209 (70)

Progetto della logica di controllo Decodifica dell'istruzione corrente; Generare i segnali di controllo all'interno del datapath; Si intuisce che il progetto prevede quello di una FSM: la rappresentazione mediante il diagramma degli stati è superflua vi sono solo due stati: Fetch e Execute solo bit di stato Progetto FSM S. Salvatori - Microelettronica marzo 209 (7)

Progetto della FSM z z ce ce ALU B ALU A B A oe oe Bit di stato Ex/ft: execute = 0 fetch = tabella degli stati: input output instruction Op-code Ex/ft 5 Reset z ce oe MEMrq EX/ft R/nW S. Salvatori - Microelettronica marzo 209 (72)

FSM: istruzione LDA S z z ce ce ALU B ALU A B A oe oe fase di execute preparo memorizz. nell accumulatore instruction input Op-code Ex/ft 5 Reset z LDA S 0000 0 0 x x output ce oe MEMrq EX/ft R/nW 0 0 0 = B La prossima è il fetch dell'istruzione succ. S. Salvatori - Microelettronica marzo 209 (73)

FSM: istruzione LDA S ce ce + B B ALU ALU A A z z oe oe fase di fetch della successiva <- + instruction input Op-code Ex/ft 5 Reset z LDA S 0000 0 x x output ce oe MEMrq EX/ft R/nW 0 0 0 0 0 B+ preparo memorizzazione dell istruzione S. Salvatori - Microelettronica marzo 209 (74)

FSM: istruzione STO S ce ce oe oe R / W ALU B ALU A B A z z preparo memorizz. in memoria instruction input Op-code Ex/ft 5 Reset z output ce oe MEMrq EX/ft R/nW STO S 000 0 0 x x x 0 0 0 x 0 STO S 000 0 x x 0 0 0 0 B+ 0 S. Salvatori - Microelettronica marzo 209 (75)

FSM: istruzione ADD S ce ce oe oe z z ALU B ALU A B A instruction input Op-code Ex/ft 5 Reset z output ce oe MEMrq EX/ft R/nW ADD S 000 0 0 x x 0 0 0 A+B ADD S 000 0 x x 0 0 0 0 B+ 0 S. Salvatori - Microelettronica marzo 209 (76)

FSM: istruzione SUB S ce ce oe oe z z ALU B ALU A B A instruction input Op-code Ex/ft 5 Reset z output ce oe MEMrq EX/ft R/nW SUB S 00 0 0 x x 0 0 0 A-B SUB S 00 0 x x 0 0 0 0 B+ 0 S. Salvatori - Microelettronica marzo 209 (77)

FSM: istruzione JMP S ce ce oe oe z z ALU B ALU A B A instruction input Op-code Ex/ft 5 Reset z output ce oe MEMrq EX/ft R/nW JMP S 000 0 x x x 0 0 0 B+ 0 S. Salvatori - Microelettronica marzo 209 (78)

FSM: istruzione JGE S ce ce oe oe z z ALU B ALU A B A instruction input Op-code Ex/ft 5 Reset z output ce oe MEMrq EX/ft R/nW JGE S 00 0 x x 0 0 0 0 B+ 0 cond. verificata JGE S 00 0 x x 0 0 0 0 B+ 0 cond. non verificata S. Salvatori - Microelettronica marzo 209 (79)

FSM: istruzione JNE S ce ce oe oe z z ALU B ALU A B A instruction input Op-code Ex/ft 5 Reset z output ce oe MEMrq EX/ft R/nW JNE S 00 0 x 0 x 0 0 0 B+ 0 JNE S 00 0 x x 0 0 0 0 B+ 0 S. Salvatori - Microelettronica marzo 209 (80)

FSM: istruzione STP ce ce oe oe z z ALU B ALU A B A instruction input STP 0 Op-code Ex/ft 5 Reset z output ce oe MEMrq EX/ft R/nW 0 x x x x 0 0 0 0 x 0 0 S. Salvatori - Microelettronica marzo 209 (8)

FSM: RESET z z ce ce ALU B ALU A B A oe oe N.B.: in e viene memorizzato 0 (per tutti i periodi di clock in cui RST è alto). RST CLK instruction input - - - xxxx Op-code Ex/ft 5 Reset z output ce oe MEMrq EX/ft R/nW x x x 0 0 0 = 0 0 S. Salvatori - Microelettronica marzo 209 (82)

FSM: sintesi ce ce ALU B ALU A B A z z oe oe organizzazione RTL fetch dell istruzione corrente e incremento di => coincidono S. Salvatori - Microelettronica marzo 209 (83)

Sviluppi futuri per il MUn Aumentare il numero di linee di indirizzo; Aumentare i modi di indirizzamento; Consentire il salvataggio di (subroutines); Aggiungere altri registri interni; inserire linee di interrupt; S. Salvatori - Microelettronica marzo 209 (84)