Post on 01-May-2015
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
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
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
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
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
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)
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
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)
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
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)
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à
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
A.S.E.A.S.E. 27.27.2727
Instuction SetInstuction Set
• Manuale AVRManuale AVR• IstruzioniIstruzioni DispositivoDispositivo
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
A.S.E.A.S.E. 27.27.2929
Ambiente di sviluppoAmbiente di sviluppo
• Collegamento ad AVR STUDIOCollegamento ad AVR STUDIO
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