CorsodiFondamentidiInformaticaIngegneriadelleComunicazioni– BCORIngegneriaElettronica– BELR
SommarioArchitetture
Cosaèquestosommario• Checklist degliargomenti
– EnumerapergrandissimelineetuttiiconcettifondamentalitoccatinellelezionidiArchitetture
– Puòessereusatocomechecklist eunostimoloperverificareproprieeventualicarenze
• Perapprofondire– Cercareeriguardarsinelmaterialedidattico(slidedelcorso)gliargomentichecisiaccorgedinonricordare
– Senonbastaapprofondireanchesullibro– Finoaquandononapparechiaroquantoevocatodalsommario
2016-2017Sommario Achitetture Pagina 2
Cosanon èquestosommario
• Nonèunelencoesaustivo– Nonpretendedienumeraretuttiiconcettiimportanti– Vuolesoloindicareiprincipali,quellifondamentali
• Alloraqual'è ilriferimentocompleto– Leslidecostituisconounriferimentocompleto– Inessesonotrattatituttigliargomenti– Tuttavia,nelleslidelespiegazionisonoforzatamentesommarie
– Percapirepuòesserenecessarioesserestatialezioneoavereapprofonditosullibro
2016-2017Sommario Achitetture Pagina 3
Funzionibooleane• Variabiliefunzionibooleane
– Tabelladellaverità– Primaformacanonica– RetiAND-OR-NOToppureNORoppureNAND
• Circuitifondamentali– Comparatori,Multiplexere,Decoder– Half-adder,full-adder– ALUbit-slice,propagazionedeiriporti– PLA
2016-2017Sommario Achitetture Pagina 4
Circuiticombinatoriesequenziali• Concettodistato
– Dipendenzadallastoriapassata– Numerodistatiinterni
• Realizzazione– Flip-flopelatch– Flip-flopconporteNOR– Flip-flopditipoRSeD– Memorierealizzateconflip-flop
2016-2017Sommario Achitetture Pagina 5
Tipologiedimemorie• Statiche
– Flip-Flop– Volatili,veloci,bassaintegrazione
• Dinamiche– Volatili,piùlente,altaintegrazione
• ROMePROM– Nonvolatili– ROMeEROM– Flash– Memorierealizzateconflip-flop2016-2017Sommario Achitetture Pagina 6
CPU– RISCeCISC• ArchitettureCISC
– Setdiistruzioniesteso– Microprogrammazione– Piùciclidiclockperistruzione
• ArchitettureRISC– Setdiistruzioniridotto– Interpretazionediretta– Unciclodiclockperistruzione– Moltiregistri
2016-2017Sommario Achitetture Pagina 7
CPU– Pipeliningesuperscalarità
• Pipeline– Latenza– Banda– Previsionedeisalti
• Architetturesuperscalari– Unitàfunzionalimultiple– Esecuzioneout-of-order– ArchitetturaIntelCore– Esecuzioneparalleladimicroperazioni
2016-2017Sommario Achitetture Pagina 8
CPU– CPUa16-32-64bit
• Dimensione– Ampiezzaregistri– ALU– Worddimemoria– Perchéaumentare?
• Evoluzionedell'architetturaIntel– Compatibilitàall'indietro– Limiti– IA-32,IA-64,AMD-64,Intel64
2016-2017Sommario Achitetture Pagina 9
CPU– Istruzionieindirizzamento
• Formati– Lunghezzafissaovariabile– 3,2,1o0indirizzi– Espansionedeicodicioperativi
• Indirizzamento– Immediata,diretta,indiretta– Registro,indirettaaregistro– Registroindice– ………….
2016-2017Sommario Achitetture Pagina 10
Cache– Tipologie
• Livelli– Cachedi1° 2° e3° livello– Cacheautocontenute
• Mappadiretta– Associazioneblocco-slot
• Associativaainsiemi– Collisioni– Elementimultipli– Cacheapiùvie
2016-2017Sommario Achitetture Pagina 11
Cache– Struttura
• Strutturadell'indirizzo– TAG– N.dislot– Posizionenelblocco
• Strutturadellaslot– V– TAG– Blocco– Elementimultipli
• Dimensionenettadellacache– Relazioneconbloccoenumerodislot– Nelcasodicacheaunaopiùvie
2016-2017Sommario Achitetture Pagina 12
Bus– Tipologie
• Seriali/Paralleli– Numerodilinee– BusSkew– Vantaggiesvantaggi
• Sincroni/Asincroni– Clock– Duratadelciclo– Vantaggiesvantaggi
2016-2017Sommario Achitetture Pagina 13
Bus– Banda
• Definizione– Informazione/Tempo– b/s oB/s
• Calcolo– Dipendeda:
• Frequenza•Parallelismo
• Fattorelimitante:busskew
2016-2017Sommario Achitetture Pagina 14
Bus– Standard• PCI
– Parallelosincrono– Interruzioni
• PCIe– Switch– Connessionipunto-puntibidir apiùlane
• USB– Serialesincrono,nointerruzioni– USB1,USB2,USB3:compatibilità
2016-2017Sommario Achitetture Pagina 15
GestioneI/O
• Programmato– Busy waiting– OccupaCPU
• Interruzioni– LiberalaCPU
• DMA– Trasferimentiablocchi– Dispositivoancillare
2016-2017Sommario Achitetture Pagina 16
Interruzionietrap• Differenze
– Origine– Sincrone/asincrone
• Mascheramento• Servizio
– SalvataggioPCePSW– Salvataggioregistri– Servizioerientro– Interruzioninidificate
2016-2017Sommario Achitetture Pagina 17
Dischi• Capacità
– Aumentienorminegliultimi20anni– Tracce,cilindriesettori
• Tempodiaccesso– Miglioratodipoco– Seek:spostamentotestine– Latency:semirotazione
• Velocitàditrasferimento– Densitàdiregistrazione– Velocitàdirotazione
2016-2017Sommario Achitetture Pagina 18
RAID
• Affidabilitàevelocità• RAID-0
– Velocitàmanonaffidabilità• RAID-1
– Dischiombra• RAID-4eRAID-5
– Unicodiscodiparità• Capacitàlordaecapacitànetta
2016-2017Sommario Achitetture Pagina 19
Dischiottici• Principio
– Interferenzaobruciaturadeldye– Tracciaunicaaspirale
• Codifica– Altaridondanza(30%netto)
• CD,DVD,BluRay– Capacità– Frequenzaelunghezzad'ondadellaser– Capacità:600MB,5GB,20GB
2016-2017Sommario Achitetture Pagina 20
Rilevazioneecorrezionedierrore
• Codificheridondanti– CodifichevalideedistanzadiHamming
• Rilevazionedin errori– h=n +1
• Correzionedin errori– h=2n+1
• Controllodiparità
2016-2017Sommario Achitetture Pagina 21
Tastiereemouse
• Tastiere– Codiceindicatastopigiatoorilasciato– Lavorasuinterruzione– Mapping deitastiviasoftware
• Mouse– invia3byteperognicambiamentodistato– 2byte:spostamentoxey;1byteposizionepulsanti– Lavorasuinterruzione
2016-2017Sommario Achitetture Pagina 22
Stampanti
• Ink-jet– Drivercostruisceimmagineraster (occupaCPU)– Stampantestupida– Alticostimarginali
• Laser– CPUinviadescrizione immagine– Immagineraster costruitadallastampante– MinoreoccupazioneCPU
2016-2017Sommario Achitetture Pagina 23
CodificaASCII• Codificaa8bit• ASCIIstandard(USASCII)
– Primobitsemprea0:128codifiche– Mancanocaratteriaccentati
• ASCIIesteso:ISO-IEC8859– 128+128codifiche– MetàcoincideconUSASCII– 15diversicodicinazionaliperl'altrametà– ISO-IEC8859-1Latin-1WestEuropean
2016-2017Sommario Achitetture Pagina 24
UNICODE
• Codificaapiùbyte– Dizionariounicoconmilionidicodepoints– Gestitodacomitatointernazionale– Diversischemidicodifica
• UTF8– Numerovariabiledibyte– CoincideconUSASCIIpercodificheaunsolobyte– Schemadicodificaprogressivo
2016-2017Sommario Achitetture Pagina 25
Linguaggiabassolivello
• Linguaggimacchina– Legatiallapiattaforma– Scarsaespressivitàeproduttività– Controllocompletodell'efficienza
• Linguaggiassemblativi– Trascrizionideilinguaggimacchina– Mnemoniciedetichette,miglioreleggibilità– Corrispondenzaunoauno(salvopseudoistruzioni)
2016-2017Sommario Achitetture Pagina 26
Linguaggiadaltolivello
• Espressivitàeleggibilità– Istruzionipiùpotenti,miglioreproduttività– Minorecontrollodell'efficienza
• Portabilità– Indipendentidallapiattaforma– Standardizzazione– Bastaricompilare– Abbattonoicostisulciclodivitadelsw
2016-2017Sommario Achitetture Pagina 27
Traduzioneeinterpretazione
• Traduzione– Dalprogrammasorgentealprogrammaoggetto– Esecuzionimultipledelprogrammaoggetto– Compilatori eassemblatori
• Interpretazione– Interpreta leistruzioniunaaduna:decodificaesvolgeleazionicorrispondenti
– Nonesisteprogrammaoggetto– Moltopocoefficiente
2016-2017Sommario Achitetture Pagina 28
Macrodefinizioni
• Macro– Sostituzionestaticainfasediassemblaggio– Anchemacroconparametri
• Procedure(funzioni)– Chiamata:saltoall'iniziodellafunzioneatempodiesecuzione
– Rientro:ritornoall'istruzionesuccessivaallachiamata
– Codicepiùmodulareecompatto
2016-2017Sommario Achitetture Pagina 29
Assemblatori
• Problema– Riferimentiinavanti:nonsisaacosasaltare
• Assemblatoriaunapassata– Traduconotutto,salvoriferimentiinavanti– Completanoconpassatafinale
• Assemblatoriaduepassate1. Costruisconoletavoledeiriferimenti2. Tuttoènoto:generanoilcodice
2016-2017Sommario Achitetture Pagina 30
Collegamentoecaricamento
• Compilazione– Traduzionediognimodulogeneramodulooggetto– Indirizzipartonosempreda0
• Collegamento– Posizionamentomoduliinindirizzisuccessivi– Aggiornamentodegliindirizzidisaltoedeiriferimentiamemoria
• Caricamento– Programmaeseguibilecaricatoinmemoria
2016-2017Sommario Achitetture Pagina 31
Collegamentodinamico• Collegamentorun-time
– Partedeimodulinonvengonocollegati– Collegamentodinamicoall'attodellachiamata– Soloperlefunzionieffettivamentechiamate
• Condivisione– Libreriecondivisefrapiùprocessiinesecuzioni
• LibrerieDLL– SoluzionetipicadiWindows:evitadiricollegareglieseguibiliquandolelibrerievengonoaggiornate
2016-2017Sommario Achitetture Pagina 32
Numerienumerali• Numero
– Entitàastratta:mododiesprimereunaquantità,laposizioneinunelencoordinato,ilrapportotraduegrandezze
• Numerale– Stringadicarattericherappresentaunnumeroinundeterminatosistemadinumerazione
– Perlostessonumerovariaconilsistemadinumerazione:157,CLVII,10011101
– Stessonumeralerappresentanumeridiversi2016-2017Sommario Achitetture Pagina 33
Sistemiposizionali
• Rappresentazioneposizionale– Fariferimentoaunabase:10,2,8,16– Sommadipotenzedellabasepesateconcoefficienti
• Effettuazionedelleoperazioniaritmetiche– Procedurecheoperanosunumeraliegeneranoilnumeralecherappresentailrisultato
– Es:addizionetranumeraliincolonnati,moltiplicazioneconscalatura deiprodottiparziali….
2016-2017Sommario Achitetture Pagina 34
Rappresentazionefinite
• Numerodicifrefisso– Larappresentazionefissailnumerodicifre– Necessarioinognirealizzazionehardware– Siperdelachiusuradeglioperatori
• Overflow (trabocco)– Avvienequandoilrisultatononèrappresentabileconlostessonumerodicifredeglioperandi
– Necessariocontrollonell'esecuzionedelleoperazioniaritmetiche
2016-2017Sommario Achitetture Pagina 35
Perchébase2?
• Semplicitàdimemorizzazione– Bastanodispositivibistabili(es.relé,flip-flop)
• Semplicitàdelleoperazioni– Tabellinepiùsemplici(4elementicontro10)
• Semplicitàdeicircuiti– Duesolilivelliditensione:altoebasso– Circuitiaritmeticimoltosemplici(v.tabelline)
2016-2017Sommario Achitetture Pagina 36
Rappresentazionediintericonsegno• Moduloesegno
– Nonsiusa:nonèdeltuttoposizionale• Complementoa1
– Posizionale,masiusapoco– Cambiodisegno:complementoa1
• Complementoa2– Posizionale:unadelledueutilizzate– Cambiodisegno:complementoa1
• Eccesso2n-1– Posizionale:unadelledueutilizzate
2016-2017Sommario Achitetture Pagina 37
Conversioni
• Decimale- Binarionaturale– Sommadipotenzedi2
• Decimale- CA1,CA2– Rappresentaremodulo(binarionaturale)– Cambiaresegno
• CA2- Eccesso– Cambiasoloilprimobit– PassaresempreperCA2
2016-2017Sommario Achitetture Pagina 38
Notazionebase16
• Cifre– 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
• ConversioneBinario– Base16– Conversioneagruppidi4cifrebinarie
• Notazionecompatta– Notazioneesadecimaledistringhebinarie– Codificaagruppidi4– Rappresentazionepiùsemplice(es.32bit=8cifreHex)– Conversioneimmediata
2016-2017Sommario Achitetture Pagina 39
Addizioniemoltiplicazionibinarie
• Addizioniincomplemento– Nientesottrazione:sonotuttesommealgebriche– Sommaposizionaleconpropagazionedeiriporti– Possibilitàditrabocco
• Moltiplicazionibinarietrainteri– Comeindecimale:sommadiprodottiparzialiconscalatura
– Ciascunprodottoparzialeèugualea0oalmoltiplicando
2016-2017Sommario Achitetture Pagina 40
Rappresentazionidinumerireali
• Virgolafissa– Numerofissodicifreintereefrazionarie– Miglioreprecisione(piùcifresignificative– Intervallilimitati
• Virgolamobile– Rappresentazione<mantissa,esponente>– Menocifresignificativemaintervallipiùampi– Tradeoff precisione – ampiezzaintervallo– Normalizzazioneedellemantisse:bk-1 £ m< bk
2016-2017Sommario Achitetture Pagina 41
StandardIEEE754(1985)• Standarddiriferimento
– Universalmenteadottatodacomputerestrumenti• Sempliceedoppiaprecisione
– Semplice32bit,mantissadi23– Doppia64bit,mantissadi52
• Configurazionispeciali– Numeridenormalizzati (precisionevariabile)– Rappresentazionedello0– Overflow– NAN:Not ANumber
2016-2017Sommario Achitetture Pagina 42
Addizioniemoltiplicazioniinvirgolamobile
• Addizione:scalatura degliaddendi– Devonoessereportatiallostessoesponente– Scalatura dellamantissadell'addendopiùpiccolo– Possibilescomparsadegliaddendipiccoli
• Moltiplicazione– Sommadegliesponenti– Prodottodellemantisseeeventualenormalizzazione
• Realizzazionicircuitali(ALUFP)– Relativamentesemplici:addizionatori,shifter,…..
2016-2017Sommario Achitetture Pagina 43
Erroredirappresentazione• Perchél'erroredirappresentazione?
– Unrealerichiedeunnumeroillimitatodicifre– Larappresentazionehaunnumerolimitatodicifre
• Erroreassoluto– Differenzatranumeroesuarappresentazione– Dipendeanche dalladimensionedelnumero
• Errorerelativo– Erroreassoluto/numero– Errorerelativomassimocostantesututtol'intervallo– Con1£ m< 2ekcifrefrazionariedellamantissal'errorerelativomassimoèmaggioratoda2-k
2016-2017Sommario Achitetture Pagina 44
Pergliesercizi1• Intervallirappresentati
– Intervallodell'esponente,mantissaminimaemassima– Intervalli positivienegativispeculari
• Numeralicherappresentanogliestremi– Valoriestremidell'esponente– Valoriestremidellapartefrazionariadellamantissa
• Intervallidioverflow eunderflow– Intervallodiunderflow checircondalo0– Dueintervalliinfinitidioverflow
• Ordinidigrandezzabinariedecimali– Laconversionesibasasu:210 » 103
2016-2017Sommario Achitetture Pagina 45
Pergliesercizi2
• RappresentareuninteroinnotazioneFP– Individuareilsegno– Ricavareilmodulo– Normalizzare ilmodulotra1e2– Determinarel'esponente(numerodicifrescalate)– Troncareoestenderelamantissa
• ApprossimareunnumeroFPconunintero– Denormalizzare lamantissa– Ricavareilmodulodell'intero(superioreoinferiore)– Cambiaredisegno(senecessario)
2016-2017Sommario Achitetture Pagina 46
Pergliesercizi3
• ConversionetrarappresentazioniFP– Simantieneilsegno– Partefrazionariadellamantissatroncataoestesa– Conversionedellarappresentazionedell'esponente:diversarappresentazionee/onumerodicifrefrazionarie
• Calcolodell'errorerelativoeassoluto– Errorerelativo(massimo):dipendeesclusivamentedalnumerokdicifrefrazionariedellamantissa:2-k
– Erroreassoluto:dipendeanchedall'ordinedigrandezzadelnumerochesiintenderappresentare
2016-2017Sommario Achitetture Pagina 47