30
A.S.E. A.S.E. 27. 27.1 ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICI ELETTRONICI LEZIONE N° 27 LEZIONE N° 27 Architetture della parte di controllo Architetture della parte di controllo Architetture di un processore Architetture di un processore Bus Bus Architettura Von Neuman Architettura Von Neuman Architettura Harvard Architettura Harvard Architettura di un CALCOLATORE Architettura di un CALCOLATORE Descrizione AT90S8515 Descrizione AT90S8515 Linguaggio ASSEMBLER per AVR Linguaggio ASSEMBLER per AVR Set di istruzioni Set di istruzioni Esempio Esempio

A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

Embed Size (px)

Citation preview

Page 1: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.11

ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICIELETTRONICILEZIONE N° 27LEZIONE N° 27

• Architetture della parte di controlloArchitetture della parte di controllo• Architetture di un processoreArchitetture di un processore• BusBus• Architettura Von NeumanArchitettura Von Neuman• Architettura HarvardArchitettura Harvard• Architettura di un CALCOLATOREArchitettura di un CALCOLATORE• Descrizione AT90S8515Descrizione AT90S8515• Linguaggio ASSEMBLER per AVRLinguaggio ASSEMBLER per AVR• Set di istruzioniSet di istruzioni• EsempioEsempio

Page 2: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.22

RichiamiRichiami

• Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse• ALUALU• Parte di controlloParte di controllo

– Microaddress-basedMicroaddress-based– Microinstruction-basedMicroinstruction-based

Page 3: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.33

Architettura Tot.Architettura Tot.

ROM

S R

B

C

Reg. B

A L U

Reg. A

Reg. U

MUX A MUX BMUX A

Shift A Shift B

R0R1

R31

Parte di controllo Parte operativa

Page 4: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.44

OsservazioniOsservazioni

• L’architettura della parte di controllo L’architettura della parte di controllo Microinstruction-based Microinstruction-based evita di avere evita di avere due reti combinatorie in cascatadue reti combinatorie in cascata

• La parte operativa è La parte operativa è general purposegeneral purpose • La parte di controllo ha una architettura La parte di controllo ha una architettura

generale, ma è progettata per la generale, ma è progettata per la particolare applicazioneparticolare applicazione

• L’elemento che personalizza L’elemento che personalizza l’applicazione è la ROMl’applicazione è la ROM

Page 5: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.55

Architettura modificataArchitettura modificata

S R

B

C

Reg. B

A L U

Reg. A

Reg. U

MUX A MUX BMUX A

Shift A Shift B

R0R1

R31

Parte di controllo Parte operativa

ROM

Page 6: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.66

Osservazioni 1Osservazioni 1

– La nuova architettura consente di La nuova architettura consente di personalizzare il sistema per varie personalizzare il sistema per varie applicazioniapplicazioni

• InconvenientiInconvenienti– La memoria di personalizzazione, la ROM, La memoria di personalizzazione, la ROM,

presenta una lunghezza di parola eccessivapresenta una lunghezza di parola eccessiva• Microcodice Microcodice (> di 100 bit)(> di 100 bit)• Microindirizzi T Microindirizzi T (> di 10 bit)(> di 10 bit)• Microindirizzi FMicroindirizzi F (> di 10 bit)(> di 10 bit)• Condizionamento Condizionamento effeff (8 bit)(8 bit)

Page 7: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.77

Osservazione 2Osservazione 2

• Tecniche di realizzazione di una rete logicaTecniche di realizzazione di una rete logica– Logica cablataLogica cablata

• Viene progettata una particolare architettura Viene progettata una particolare architettura (ottimizzata) per la risoluzione dello specifico problema(ottimizzata) per la risoluzione dello specifico problema

• Si usano blocchi base standard, le interconnessioni Si usano blocchi base standard, le interconnessioni (cablaggio) realizzano la particolare architettura(cablaggio) realizzano la particolare architettura

– Logica a controllo di programma Logica a controllo di programma • Viene progettata una architettura che è in grado di Viene progettata una architettura che è in grado di

svolgere varie funzionisvolgere varie funzioni• La personalizzazione è ottenuta mediante la particolare La personalizzazione è ottenuta mediante la particolare

sequenza di operazioni svolte dalla macchinasequenza di operazioni svolte dalla macchina• ProgrammaProgramma

Page 8: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.88

Osservazione 3Osservazione 3

• Si mappano nella ROM di Si mappano nella ROM di microprogramma tutte le funzioni microprogramma tutte le funzioni possibili della parte operativapossibili della parte operativa

• Si codificano in modo compatto le varie Si codificano in modo compatto le varie funzioni in una ROM di mappaturafunzioni in una ROM di mappatura

• Il programma di personalizzazione Il programma di personalizzazione dell’applicazione, scritto in un linguaggi dell’applicazione, scritto in un linguaggi opportuno (ASSEMBLER), risiede in una opportuno (ASSEMBLER), risiede in una memoria esterna memoria esterna

• Sono necessari alcuni altri registri e una Sono necessari alcuni altri registri e una opportuna rete di controllo opportuna rete di controllo (SEQUENZIALIZZATORE)(SEQUENZIALIZZATORE)

Page 9: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.99

Architettura a controllo di Architettura a controllo di programmaprogramma

Micro

Cod

Reg

I

A

R0R1

R31Parte di controllo

Parte operativa

A L U

REG. AREG. A

MUX B

REG. U

MUX A

SHIFTSHIFT

Micro

Cod

ROM

C

Reg

Prog

Coun

Inst

Reg

Map

ROM

Sequenzer(control logic)

D In

D Out

PROGRAM

ROM

Page 10: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1010

OsservazioniOsservazioni

• Sequenzializzatore Sequenzializzatore – Gestisce sia il microprogramma, sia il Gestisce sia il microprogramma, sia il

programmaprogramma

• Program CounterProgram Counter– Contiene l’indirizzo Contiene l’indirizzo successivosuccessivo della locazione della locazione

di memoria di programmadi memoria di programma

• Status RegisterStatus Register– Contiene informazioni sulle funzioni eseguite Contiene informazioni sulle funzioni eseguite

dalla parte operativadalla parte operativa

• InconvenienteInconveniente– Elevato numero di terminali (PED)Elevato numero di terminali (PED)

Page 11: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1111

BUSBUS

• Utilizzando porte TRE STATE bidirezionali Utilizzando porte TRE STATE bidirezionali si può utilizzare lo stesso si può utilizzare lo stesso FiloFilo per per collegare, in istanti diversi, vari collegare, in istanti diversi, vari componenticomponenti

• BUSBUS Percorso informatico condiviso fra Percorso informatico condiviso fra più unitàpiù unità

Page 12: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1212

Architettura von NeumannArchitettura von Neumann

UnitàUnitàdi Controllodi Controllo

UnitàUnitàdi Controllodi Controllo

UnitàUnitàAritmeticaAritmetica

UnitàUnitàAritmeticaAritmetica MemoriaMemoriaMemoriaMemoria

IstruzioniIstruzioni

BBUUSS

DatiDati

IndirizziIndirizziIstruzioniIstruzioni

StatoStato

Page 13: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1313

DescrizioneDescrizione

• Unita Aritmetica:Unita Aritmetica:•ALUALU

– Blocco che “esegue” le operazioni Blocco che “esegue” le operazioni richiesterichieste

• Unita di Controllo:Unita di Controllo:• MSF (+ eventuali registri)MSF (+ eventuali registri)

• MemoriaMemoria• Unica per Dati e Programma (RAM)Unica per Dati e Programma (RAM)

Page 14: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1414

OsservazioniOsservazioni

• Macchina di ridotta complessitàMacchina di ridotta complessità==========================================================

========================• Criterio di valutazione di una Criterio di valutazione di una

architetturaarchitettura• Individuazione dei blocchi “congestionati”Individuazione dei blocchi “congestionati”

==================================================================================

• LimitiLimiti– Unica memoriaUnica memoria– Unico BUS (Collo di Bottiglia)Unico BUS (Collo di Bottiglia)

Page 15: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1515

Architettura HarvardArchitettura Harvard

UnitàUnitàdi Controllodi Controllo

UnitàUnitàdi Controllodi Controllo

UnitàUnitàAritmeticaAritmetica

UnitàUnitàAritmeticaAritmetica

MemoriaMemoriaDatiDati

MemoriaMemoriaDatiDati

IstruzionIstruzionii

DatiDati

MemoriaMemoriaIstruzioniIstruzioniMemoriaMemoriaIstruzioniIstruzioni

IndirizziIndirizzi

IstruzioniIstruzioni

IndirizziIndirizzi

StatoStato

Page 16: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1616

DescrizioneDescrizione

• Memoria DatiMemoria Dati» Accesso diretto alla ALUAccesso diretto alla ALU» Realizzazione: RAMRealizzazione: RAM

• Memoria IstruzioniMemoria Istruzioni» Il contenuto rimane invariatoIl contenuto rimane invariato» Realizzazione con memoria non Realizzazione con memoria non

volatile: ROMvolatile: ROM

Page 17: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1717

OsservazioniOsservazioni

• Non presenta particolari “Colli di Non presenta particolari “Colli di bottiglia”bottiglia”

• Può essere migliorata per aumentarne la Può essere migliorata per aumentarne la conccorrenzialitàconccorrenzialità

• Architettura alla quale si ispirano gli Architettura alla quale si ispirano gli attuali microprocessori e DSPattuali microprocessori e DSP

Page 18: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1818

Architettura di un Architettura di un MicroprocessoreMicroprocessore

Data BusData Bus

ROMROMdi Mappaturadi Mappatura

ROMROMdi Mappaturadi Mappatura

Memoria ROMMemoria ROMMicroprogrammaMicroprogramma

Memoria ROMMemoria ROMMicroprogrammaMicroprogramma

SequenzializzatoreSequenzializzatoreMicroprogrammaMicroprogramma

SequenzializzatoreSequenzializzatoreMicroprogrammaMicroprogramma

MUX 1MUX 1MUX 1MUX 1 MUX 2MUX 2MUX 2MUX 2

DEMUXDEMUXDEMUXDEMUX

A L UA L U

AddressAddress

ControlControl

Page 19: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.1919

Descrizione (1)Descrizione (1)

• ROM di MappaturaROM di Mappatura– Converte il codice macchina in codice internoConverte il codice macchina in codice interno

• SequenzializzatoreSequenzializzatore– Rete di controllo effettivaRete di controllo effettiva

• Memoria di MicroprogrammaMemoria di Microprogramma– Converte il codice interno nei codici di Converte il codice interno nei codici di

controllo dei vari blocchicontrollo dei vari blocchi

Page 20: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2020

Descrizione (2)Descrizione (2)

• ALUALU– Unità Logica AritmeticaUnità Logica Aritmetica

• MUX 1 e MUX 2MUX 1 e MUX 2– Multiplex di scelta su gli ingressi della ALUMultiplex di scelta su gli ingressi della ALU

• DEMUXDEMUX– Gestisce l’indirizzamento del risultatoGestisce l’indirizzamento del risultato

Page 21: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2121

OsservazioniOsservazioni

• Funzionamento totalmente in sequenzaFunzionamento totalmente in sequenza•Interpretazione Interpretazione EsecuzioneEsecuzione

• Assenza di registri interniAssenza di registri interni•Contatore di programma, Registro di Contatore di programma, Registro di statostato

•AccumulatoriAccumulatori• Generazione degli indirizzi mediante ALUGenerazione degli indirizzi mediante ALU• Collo di bottigliaCollo di bottiglia DATA BUSDATA BUS

Page 22: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2222

PIPE-LINEPIPE-LINE

• Alcune operazioni possono essere fatte Alcune operazioni possono essere fatte in parallelo in parallelo – Necessità di disporre di REGISTRI intermediNecessità di disporre di REGISTRI intermedi

• Mentre la ALU Mentre la ALU esegueesegue le operazioni le operazioni richieste, il Sistema di controllo può richieste, il Sistema di controllo può decodificaredecodificare l’istruzione successiva l’istruzione successiva

• Aggiungere una ALU per il calcolo degli Aggiungere una ALU per il calcolo degli indirizziindirizzi

Page 23: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2323

Architettura di un Architettura di un Microprocessore (2)Microprocessore (2)

Data BusData Bus

ROM 1ROM 1ROM 1ROM 1

SequenzializzatoreSequenzializzatoreSequenzializzatoreSequenzializzatore

MUX + RegisterMUX + RegisterMUX + RegisterMUX + Register

DEMUX +Reg.DEMUX +Reg.DEMUX +Reg.DEMUX +Reg.

A L UA L U

AddressAddress

ControlControl

Istruc. Reg.Istruc. Reg.Istruc. Reg.Istruc. Reg.

Microprog. ROMMicroprog. ROMMicroprog. ROMMicroprog. ROM

Mcropog. Reg.Mcropog. Reg.Mcropog. Reg.Mcropog. Reg.

MUX + RegisterMUX + RegisterMUX + RegisterMUX + Register

DEMUX +Reg.DEMUX +Reg.DEMUX +Reg.DEMUX +Reg.

A L UA L U

RREEGG

RREEGG

Page 24: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2424

OsservazioniOsservazioni

• Possibilità di sovrapposizione fra fase di Possibilità di sovrapposizione fra fase di interpretazione ed esecuzione interpretazione ed esecuzione dell’istruzionedell’istruzione

• Possibilità di memorizzazione di risultati Possibilità di memorizzazione di risultati intermediintermedi

• Salvataggio dei registri di controlloSalvataggio dei registri di controllo– Possibili ulteriori modifiche in funzione delle Possibili ulteriori modifiche in funzione delle

esigenzeesigenze

Page 25: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2525

Architettura di un calcolatoreArchitettura di un calcolatore

DATA BUS

ADDRESS BUS

CONTROL BUS

I / OI / O DATADATA(RAM)(RAM)

PROGPROG(ROM)(ROM) CPUCPU

Page 26: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2626

Tipi di architetture in funzione Tipi di architetture in funzione delle istruzionidelle istruzioni

• RISC =>RISC => Reduced Instructions Set Reduced Instructions Set ComputerComputer– ridotto numero di istruzioni ridotto numero di istruzioni – si effettuano in un numero ridotto di ciclisi effettuano in un numero ridotto di cicli

• CISC =>CISC => Complex Instructions Set Complex Instructions Set ComputerComputer– Istruzioni di elevata capacità Istruzioni di elevata capacità – si effettuano in un numero grande di ciclisi effettuano in un numero grande di cicli

Page 27: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2727

Instuction SetInstuction Set

• Manuale AVRManuale AVR• IstruzioniIstruzioni DispositivoDispositivo

Page 28: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2828

EsempioEsempio

• Accensione LEDAccensione LED

– Premendo un pulsante si accende il LED Premendo un pulsante si accende il LED corrispondentecorrispondente

Page 29: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.2929

Ambiente di sviluppoAmbiente di sviluppo

• Collegamento ad AVR STUDIOCollegamento ad AVR STUDIO

Page 30: A.S.E.27.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 27 Architetture della parte di controlloArchitetture della parte di controllo Architetture di

A.S.E.A.S.E. 27.27.3030

ConclusioniConclusioni

• Architetture della parte di controlloArchitetture della parte di controllo• Architetture di un processoreArchitetture di un processore• BusBus• Architettura Von NeumanArchitettura Von Neuman• Architettura HarvardArchitettura Harvard• Architettura di un CALCOLATOREArchitettura di un CALCOLATORE