Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Lezione_1.pdf · • Nota anche...

Post on 16-Feb-2019

219 views 0 download

Transcript of Fondamenti di Informatica - INTRANETcesposito/materiale/lezioni/Lezione_1.pdf · • Nota anche...

FondamentidiInformatica

Dati,InformazioneedElaborazionedell’Informazione

Dati , InformazioneedElaborazionedel l ’ Informazione

Prof. Chr i st ian Espos i toCorso d i Laurea in Ingegner ia Meccanica e Gest iona le (C lasse I )A .A . 2016/17

Iltermine“Informatica”:Etimologia

• Derivadalfranceseinformatique• Coniatoneglianni‘60daPhilippeDreyfus• Ottenutocomecontrazionedeitermini“information”e“automatique”

• Usatoperindicareladisciplinatecnico-scientificachesioccupadellaprogettazioneecostruzionedimacchineingradoditrattare(oelaborare) inmodoautomaticol’informazione

Dati,InformazioneedElaborazionedell’Informazione 01/81

Trattamentodell’Informazione• Ingenerale,iltrattamentodell’informazioneriguardalasuaelaborazioneinqualunquemodorilevabiledaunosservatore

• Riguardatuttociòchepossiamofareconinostridispositividigitali• Stampadiunfileditestodapartediunsistemainformatico• Eseguireoperazioniaritmetiche• Archiviarefotodigitali• RicercasuGoogle• ScrivereunpostsullabachecadiFacebook• Emoltoaltroancora…

Dati,InformazioneedElaborazionedell’Informazione 02/81

Information&CommunicationTechnology

• Inalternativaaltermine“informatica”vienespessoutilizzatoiltermine“tecnologiadell’informazione”• Dall’ingleseInformationTechnologyoIT

• Negliultimidecennilecapacitàdeisingolicalcolatorisononotevolmenteaumentategrazieallalorointerconnessioneinrete• Icomputersonodiventatideglistrumentidicomunicazione

• Laconvergenzatralatecnologiadell’informazioneeletelecomunicazionihadatovitaadunadisciplinacheprendeilnomediInformation&Communication Technology(ICT)

Dati,InformazioneedElaborazionedell’Informazione 03/81

Iltermine“Informazione”– 1/2• Neinostridiscorsi

• Mezzidiinformazione• Societàdell’informazione• Tecnologiedell’informazione• Poteredell’informazione• Monopoliodell’informazione

• Nell’ambitodell’informatica,ilsignificatodeltermine“informazione” èmessospessoinrelazioneconquellodi“dato” edi“conoscenza”

Dati,InformazioneedElaborazionedell’Informazione 04/81

Iltermine“Informazione”–2/2

DATI

INFORMAZIONI

CONOSCENZA

LIV

ELL

O D

I A

STR

AZI

ON

E

39,5

La temperatura corporea di Tizio è 39,5 misurata in gradi centigradi

La temperatura corporea di 39,5 di Tizio viene considerata un segnale d’allarme

Dati,InformazioneedElaborazionedell’Informazione 05/81

Dati,InformazionieConoscenza

• Dati• Insiemedisimbolitracciatisuunsupportofisico,cherappresentanounaproprietàdiunoggettonelmondoreale,manoncontengonoalcunriferimentoallaproprietàacuisiriferiscono

• Informazioni• Datimessiinrelazioneconlaproprietàacuiessisiriferiscono

• Conoscenza• Regolechepermettonoditrarrevantaggiodalleinformazioni

Dati,InformazioneedElaborazionedell’Informazione 06/81

AncorasuiDati• Rappresentanolamateriaprimadeltrattamentodell’informazione

• Possonoessereclassificatiin• Datisemplici,comeinumeri,icaratteri,etc.• Daticomplessi,comeifilm,isuoni,leimmagini,etc.

• Lagestionediquestotipodidatièresapossibiledall’incredibilepotenzaraggiuntadaglielaboratorinell’ultimodecennio

Dati,InformazioneedElaborazionedell’Informazione 07/81

Dato

Dati,InformazioneedElaborazionedell’Informazione 08/81

Informazione

Dati,InformazioneedElaborazionedell’Informazione

La Cupola di Santa Maria del Fiore a Firenze, alta 116metri

09/81

Conoscenza

Dati,InformazioneedElaborazionedell’Informazione

La Cupola di Santa Maria del Fiore è la costruzione più alta di Firenze

10/81

LaRealizzazione(parziale)diunSogno

• Disporredielaboratoriautomatici• Macchineingradodicompiereautonomamenteattivitàdielaborazionedell’informazione

• Garantiredeibeneficirispettoall’elaborazionecondottadall’uomo• Riduzionedeitempi• Maggioreaffidabilità• Incombenze“noiose”• Esecuzioneautomaticadioperazionicherichiedonocompetenzepococomuni

Dati,InformazioneedElaborazionedell’Informazione 11/81

Elaborazionedell’Informazione

Input OutputElaborazione

EsempioInput: due numeri interiElaborazione: effettuane la moltiplicazione Output: prodotto

Dati,InformazioneedElaborazionedell’Informazione 12/81

GliElaboratori(oCalcolatori)Elettronici– 1/2

• Svolgonounlavorocheperl’uomoènaturale,ma• Lofannorapidamente• Sonoinfaticabili• Riesconoagestireenormiquantitàdidati• Inalcunicasipermettonodisuperarevincolitemporaliespaziali• …

• Adifferenzadeglielettrodomesticisonoprogrammabiliepossonoessereadattatiarisolveremoltitipidiproblemi• Apattochequestipossanotradursiinunnumerofinitodioperazioni

Dati,InformazioneedElaborazionedell’Informazione 13/81

GliElaboratori(oCalcolatori)Elettronici– 2/2

• L’informazionechehaattiratol’attenzionedell’uomoversolarealizzazionedielaboratorièquellaespressainformaquantitativa• Inparticolarenumerica

• Pertalemotivosièdiffusoiltermine“calcolatore”(ininglesecomputer)chevieneusatospessoinalternativaa“elaboratore”

• Ininglese,computerscience èlatraduzionedelnostrotermine“informatica”

Dati,InformazioneedElaborazionedell’Informazione 14/81

IlComputer• IlComputer èunelaboratoreelettronicodigitale

• Elaboratore:macchinaingradodirappresentareedelaboraredatiinbaseadunaseriediistruzioni• Formulateememorizzateinmodotaledapoteressereeseguiteautomaticamente

• Elettronico: indicacheilcomputerutilizzacomponentielettronici

• Digitale: indicacheilcomputerelaboraememorizzainformazionirappresentatemedianteduesimboli:0 e1• Conquesteduecifre,usateincombinazionidiverse,sipossonorappresentaretuttiidati(parole,numeri,immagini,filmati,etc.)

Dati,InformazioneedElaborazionedell’Informazione 15/81

Computerantelitteram(1/4)• LamacchinadiAnticitera (ingrecoantico:ὁ μηχανισμόςτῶν Ἀντικυθήρων),èilpiùanticocalcolatoremeccanicoconosciuto,databileintornoal150-100a.C.

• Si tratta di un sofisticato planetario, mosso daruote dentate, per calcolare il sorgere del sole,le fasi lunari, i movimenti dei cinque pianetiallora conosciuti, gli equinozi, i mesi, i giornidella settimana e le date dei giochi olimpici.

Dati,InformazioneedElaborazionedell’Informazione 16/81

Computerantelitteram(2/4)• Nel XVII secolo Nepero, con le teorizzazioni sui logaritmi,permette nel 1632 al matematico inglese William Oughtreddi realizzare il regolo calcolatore, con il quale si reseroimmediate molte operazioni matematiche.

• Intorno al 1642 il filosofo francese Blaise Pascal realizzò lasua celebre Pascalina, ottimizzata per operazioni di sommae sottrazione; sulla base di questa, non tardò Leibniz (1673)a realizzare una macchina capace di moltiplicare e dividere.

Dati,InformazioneedElaborazionedell’Informazione 17/81

Computerantelitteram(3/4)• Nell'Ottocento sisvilupparono i rudimentidell'elaborazione basatasul sistema numericobinario (0,1) e le schedeperforate, e ne nacquero leprime applicazioni.

Dati,InformazioneedElaborazionedell’Informazione 18/81

• Negli anni Trenta nelNovecento, nasce ilprogetto Memex, unsistema meccanico diarchiviazione e consul-tazione dati.

Computerantelitteram(4/4)• Nel 1939 Konrad Zuse costruì loZ1, primo di una innovativa seriedi calcolatori elettromeccanicibasati sul sistema binario eprogrammabili, funzionantiprima a memorie elettro-meccaniche e poi a relè.

Dati,InformazioneedElaborazionedell’Informazione 19/81

• Abbiamo poi Colossus,costruito nel 1944 da AlanTuring, che è stato il primocomputer elettronicoprogrammabile.

ArchitetturadiVonNeumann:CenniStorici

• L’architetturadiuncalcolatorereale(computer)èmoltocomplessa

• L’architettura divonNeumann èunmodellosemplificatodeicalcolatorimoderni

• JohnvonNeumann,matematicoungherese,progettò,versoil1945,ilprimocalcolatoreconprogrammimemorizzabilianzichécodificatimediantecavieinterruttori• L’architetturadefinitapreseilnomediArchitetturadiVonNeumann edivenneilriferimentoperlaquasitotalitàdeicalcolatoricostruitidaalloraadoggi

Dati,InformazioneedElaborazionedell’Informazione 20/81

ArchitetturadiVonNeumann•NotaanchecomemacchinadiVonNeumannomodellodiVonNeumann

•Modelloconcettualediun’architetturadicomputerchepermettedirappresentare,memorizzareedelaborareleinformazioni

•Èilmodellosecondoilqualeèorganizzatalamaggiorpartedeimodernielaboratori

ArchitetturadiVonNeumann

Sottosistema di interfaccia

Sottosistema di memorizzazione

Sottosistema di elaborazione

Connessione/comunicazione

Dati,InformazioneedElaborazionedell’Informazione 21/81

ArchitetturadiVonNeumann:CaratteristicheEssenziali– 1/2• Obiettivo:

• Realizzazionediuncalcolatoreuniversale(generalpurpose)

• Presenzadiundispositivodimemorizzazioneincuièpossibilerappresentaresiadaticheistruzioni• Utilizzodell’aritmeticabinariainvecechequelladecimale(maggioridettaglinellelezionisuccessive)• Separazionenettatradispositivodimemorizzazioneedispositivodielaborazione

Dati,InformazioneedElaborazionedell’Informazione 22/81

ArchitetturadiVonNeumann:CaratteristicheEssenziali– 2/2• Proceduralità: possibilitàdieseguiredifferentiprogrammimemorizzati• Programma: sequenzadiistruzionidaeseguireperottenerelasoluzioneadunadataclassediproblemi

• Sequenzialità: istruzionieseguiteinmodostrettamentesequenziale

Dati,InformazioneedElaborazionedell’Informazione 23/81

ArchitetturadiVonNeumann:Componenti

• L’architetturadiVonNeumann ècostituitadaquattrocomponentiprincipali(ofunzionali)• MemoriaCentrale

• Memorizzaeforniscel’accessoadatieprogrammi• UnitàCentralediElaborazione(CPU)

• Esegueistruzioniperl’elaborazionedeidati• Svolgeanchefunzionidicontrollo

• InterfaccediIngressoeUscita(operiferiche)• Componentidicollegamentoconleperiferichedelcalcolatore

• Bus• Trasferiscedatiedinformazionidicontrollotralecomponentisuddette

Dati,InformazioneedElaborazionedell’Informazione 24/81

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione 25/81

ArchitetturadiVonNeumanninConcreto

BUS di sistema

CPU

tastiera mouse memoria dimassa monitor

Memoria centrale

Periferiche

Dati,InformazioneedElaborazionedell’Informazione 26/81

Trasferimento• Obiettivo: permettereloscambiodiinformazionitralevariecomponentifunzionalidelcalcolatore• Trasferimentodeidatiedelleinformazionidicontrollo

• Duepossibilisoluzioni• Collegareciascunacomponenteconognialtracomponente

• Collegaretuttelecomponentiaununicocanale(bus)

• L’utilizzodiunbusfavoriscelamodularità el’espandibilità delcalcolatore

Dati,InformazioneedElaborazionedell’Informazione 27/81

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione 28/81

BUS– 1/2• Ilbus disistemaassicural’interconnessionetraglielementidellamacchinadiVonNeumann• Tuttiitrasferimentiavvengonoattraversoilbus

• Ilbusmetteincollegamentologico idueelementicoinvoltineltrasferimento,infunzionedell’operazionedaeseguire• Leoperazionisisuccedonoinmodosincrono rispettoallacadenzaimpostadaunorologiodisistema(clock)• Maggioridettagliinseguito…

Dati,InformazioneedElaborazionedell’Informazione 29/81

BUS– 2/2

1. L’unitàcheiniziailtrasferimento(ingenerelaCPU)forniscel’indirizzo,cheindividuaunivocamenteildato,sullelineedelbusindirizzi,econfiguralelineedelbusdicontrollo,inviandouncomandoaldispositivochecontieneildato(ades.READ,allamemoriaprincipale)

2. Ildatodatrasferireèresodisponibilesulbusdati evienericopiatoneldispositivodestinatario

Dati,InformazioneedElaborazionedell’Informazione 30/81

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione 31/81

LaMemoriaCentrale– 1/3

• Lamemoriacentraleconsisteinuninsiemediunitàelementari dimemorizzazione,dettelocazioniocelle (oancheword)

• Latecnologia utilizzataperlamemoriacentraleèquelladeidispositiviasemiconduttori,chelafannoapparirecomeunamatricedibit (simboli0 e1)• Ognibitèpresentecomestato(altoobasso)ditensione

Dati,InformazioneedElaborazionedell’Informazione 32/81

LaMemoriaCentrale– 1/3

• Lamemoriacentraleconsisteinuninsiemediunitàelementari dimemorizzazione,dettelocazioniocelle (oancheword)

• Latecnologia utilizzataperlamemoriacentraleèquelladeidispositiviasemiconduttori,chelafannoapparirecomeunamatricedibit• Ognibitèpresentecomestato(altoobasso)ditensione

Ciascunacella nellamemoriaèindividuatadaunindirizzo

Dati,InformazioneedElaborazionedell’Informazione 33/81

LaMemoriaCentrale– 2/3• Centrale

• Indica l’importante ruolo che essa svolge nell’ambito dell’Architetturadi Von Neumann

• È la memoria collegata alla CPU tramite bus, che contienedati e programmi attualmente utilizzati o in esecuzione• La CPU legge e scrive dati ed istruzioni dalla/sulla memoria centrale

• È detta memoria ad accesso casuale o Random AccessMemory (RAM) perché qualsiasi cella può essereletta/scritta in un tempo mediamente costante

Dati,InformazioneedElaborazionedell’Informazione 34/81

LaMemoriaCentrale– 3/3• Lecaratteristichefondamentalidellamemoriacentralesono• Accessodirettoalleinformazioni• Velocitàelevata• Volatilità: quandoilcomputervienespento,idatiediprogrammipresentiinmemoriavengonocancellati

• Altritipidimemoriesonodettepersistenti (memoriedimassaosecondarie)• Mantengonoidatianchesenzal’alimentazioneelettrica

• Maggioridettagliinseguito…

Dati,InformazioneedElaborazionedell’Informazione 35/81

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione 36/81

Elaborazione• L’elaborazionenellamacchinadiVonNeumann èsvoltadallaCentralProcessingUnit(CPU)• DettaancheProcessore

• Leistruzioni diunprogrammacorrispondonoadoperazionielementari dielaborazione

• Adesempio• Operazioniaritmetiche• Operazionirelazionali(confrontotradati)• Operazionisucaratterievaloridiverità• Altreoperazioninumeriche

Dati,InformazioneedElaborazionedell’Informazione 37/81

LaCPU– 1/2• LaCentralProcessingUnit (oCPU)èl’unitàcentraledielaborazione• Esegueleistruzionideiprogrammieneregolailflusso• Esegueicalcoli

• LaCPUèundispositivosincrono,regolatodaunasortadi“orologio”(oclock),chestabiliscequanteistruzionialsecondoessapuòeseguire• Allaricezionediunimpulsodiclockèeseguitaunanuovaistruzione• LaCPUlavoraaN GHz• SegueunritmodiNmiliardidiimpulsialsecondo

• Ades.3GHzà 3miliardidiimpulsialsecondo

Dati,InformazioneedElaborazionedell’Informazione 38/81

LaCPU– 2/2• Lafrequenzadiclock determinalavelocitàdielaborazionedelcomputer• Piùaltaèlafrequenzadiclock,maggioreèlavelocitàdielaborazione

• Lavelocitàelapotenzadiuncomputerdipendonoanchedallalarghezzadelbus• Quantitàdidaticheilprocessoreèingradodiricevereedelaboraresimultaneamente

Dati,InformazioneedElaborazionedell’Informazione 39/81

LaCPU– ALU• LaCPU ècostituitadatreelementifondamentali

ALU CU

PC

IR

registriContatore di programma

(Program Counter)

Registro Istruzione(Instruction Register)BUS

BIUBus Interface Unit

Dati,InformazioneedElaborazionedell’Informazione 40/81

LaCPU– ALU• LaCPU ècostituitadatreelementifondamentali

• UnitàAritmetico-Logica(ALU)

ALU CU

PC

IR

registriContatore di programma

(Program Counter)

Registro Istruzione(Instruction Register)BUS

BIUBus Interface Unit

Dati,InformazioneedElaborazionedell’Informazione 41/81

LaCPU– ALU• LaALU(Arithmetic-Logic Unit),dettaancheUnitàAritmetico-Logica,sioccupadieseguireoperazioniaritmeticheelogichesu2operandi

• Oltrealrisultatodell’operazionestessa,laALUpuòprodurreulterioriinformazioni• IlrisultatoèZero,sièverificatounOverflow,etc.

ALU ResultZero

Overflow

a

b

ALU operation

CarryOut

Dati,InformazioneedElaborazionedell’Informazione 42/81

LaCPU– Registri• LaCPU ècostituitadatreelementifondamentali

• UnitàAritmetico-Logica(ALU)• Registri

ALU CU

PC

IR

registriContatore di programma

(Program Counter)

Registro Istruzione(Instruction Register)BUS

BIUBus Interface Unit

Dati,InformazioneedElaborazionedell’Informazione 43/81

LaCPU– Registri• Iregistri sonodispositividimemorizzazione checonsentonounaccessomoltoveloce aidaticontenuti• Hannodimensioniprefissate

• Alcuniregistrihannofunzionispecifiche(ProgramCounter - PCocontatorediprogramma)• Indicalaprossimaistruzionedaeseguire

ALU CU

PC

IR

registriContatore di programma

(Program Counter)

Registro Istruzione(Instruction Register)BUS

BIUBus Interface Unit

Dati,InformazioneedElaborazionedell’Informazione 44/81

LaCPU– Registri• Iregistri sonodispositividimemorizzazione checonsentonounaccessomoltoveloce aidaticontenuti• Hannodimensioniprefissate

• Alcuniregistrihannofunzionispecifiche(ProgramCounter - PCocontatorediprogramma;Instruction Register – IRoregistroistruzione)• Immagazzinal'istruzioneinfasedielaborazione

ALU CU

PC

IR

registriContatore di programma

(Program Counter)

Registro Istruzione(Instruction Register)BUS

BIUBus Interface Unit

Dati,InformazioneedElaborazionedell’Informazione 45/81

LaCPU– Registri• Lo stato della CPU è rappresentato dalle informazionimemorizzate negli opportuni registri• Dati da elaborare (contenuti nei registri dati)• Istruzione da eseguire (nel registro istruzioni)• Indirizzo in memoria della prossima istruzione da eseguire (nelprogram counter)

• Eventuali anomalie o eventi verificatisi durante l’elaborazione (neiregistri di stato o flag)

Dati,InformazioneedElaborazionedell’Informazione 46/81

LaCPU– Unità di Controllo• LaCPU ècostituitadatreelementifondamentali

• UnitàAritmetico-Logica(ALU)• Registri• UnitàdiControllo(CU)

ALU CU

PC

IR

registriContatore di programma

(Program Counter)

Registro Istruzione(Instruction Register)BUS

BIUBus Interface Unit

Dati,InformazioneedElaborazionedell’Informazione 47/81

LaCPU– Unità di Controllo• Ilcoordinamentotralevariepartidelcalcolatoreèsvoltodall’unitàdicontrollo(CU)• Èunacomponentedell’unitàcentraledielaborazione• Ognicomponentedalcalcolatoreeseguesololeazionicheglivengonorichiestedall’unitàdicontrollo

• Ilcontrolloconsistenelcoordinamentodell’esecuzionetemporaledelleoperazioni• Siainternamenteall’unitàdielaborazionesianeglialtrielementifunzionali

Dati,InformazioneedElaborazionedell’Informazione 48/81

LaCPU– Unità di Esecuzione• LaCPU ècostituitadatreelementifondamentali

• UnitàAritmetico-Logica(ALU)• Registri• UnitàdiControllo(CU)

ALU CU

PC

IR

registriContatore di programma

(Program Counter)

Registro Istruzione(Instruction Register)BUS

BIUBus Interface Unit

UnitàdiEsecuzione(EU)

Dati,InformazioneedElaborazionedell’Informazione 49/81

Istruzioni Basedella CPU– 1/2• Istruzioni dibaseeseguitedallaALU

• Somma (dacuisottrazione)

• Scorrimento (shift)

• Operazionilogiche• Operazionidiconfronto

(dacuimoltiplicazioneedivisione)

Dati,InformazioneedElaborazionedell’Informazione 50/81

Istruzioni Basedella CPU– 2/2• Operazionidiaccessoallamemoria(Non eseguitedallaALU)• Trasferimentodiundatodaunalocazionedimemoriaadun’altra

• Trasferimentoda• Memoriaà RegistrodellaCPU

• RegistrodellaCPUà Memoria

Dati,InformazioneedElaborazionedell’Informazione 51/81

ComesiEseguonoiProgrammi?• Programma: sequenza di istruzioni da eseguire per ottenere lasoluzione ad una data classe di problemi

• Il processore esegue le istruzioni di un programma una alla volta, insequenza• Estrae le istruzioni dalla memoria• Le interpreta• Le esegue una dopo l’altra

• Il processore esegue ogni istruzione mediante la seguente sequenza dioperazioni, detta ciclo di istruzione o ciclo macchina1. Estrazione di un’istruzione: fase di fetch2. Interpretazione di un’istruzione: fase di decode3. Esecuzione dell’istruzione: fase di execute

Dati,InformazioneedElaborazionedell’Informazione 52/81

CicloFetch-Decode-Execute – 1/3

Dati,InformazioneedElaborazionedell’Informazione 53/81

CicloFetch-Decode-Execute – 2/3• La CPU eseguire solo istruzioni codificate in linguaggio macchina, mediante ilciclo Fetch-Decode-Execute1. Prendi l’istruzione corrente dalla memoria (individuata dal contenuto del PC).

Salvala nell’IR (Instruction Register) e contemporaneamente incrementa il PC inmodo che contenga l’indirizzo dell’istruzione successiva (fetch)

2. Determina il tipo di istruzione da eseguire (decode)• Se l’istruzione usa dati presenti in memoria, determinane la posizione• Carica tali dati nei registri della CPU

3. Esegui l’istruzione (execute)4. Torna al punto 1 ed inizia a eseguire l’istruzione successiva

CU

IR

PC

memoriaBUS

Istruzione 1Istruzione 2Istruzione 3

02AD77F2

02AD77F2

Segnali di controllo(ALU, Registri, etc.)

Fasedifetch

Dati,InformazioneedElaborazionedell’Informazione 54/81

CicloFetch-Decode-Execute – 3/3

Dati,InformazioneedElaborazionedell’Informazione 55/81

Quando si applica la corrente elettricaal calcolatore viene attivata una fasedi bootstrap, dove il ciclo vieneinizializzato.

Viene avviata l’esecu-zione di unprogramma iniziale in ROM (nonvolatile) assegnando un valore inizialeopportuno a PC.

Linguaggio(oCodice)Macchina• Definizione

• InsiemediistruzionieseguitedirettamentedallaCPU

• Ogniistruzionesvolgeuncompitospecifico• Istruzionipiuttostorudimentali,codificateinbinario

• Ilconcettoditipodidatoèquasiassente• Ilnumerodioperandièlimitato(ingenerenonpiùdidue)• Ilnumerodioperazioniprevisteèridotto• Ognitipodiprocessoreèingradodieseguireunnumerolimitatodiistruzioni

• Combinandoinmododiversosequenzeanchemoltolunghediistruzioni(iprogrammi)sipuòistruirel’elaboratoreafaretantissimecose,completamentediverse

Dati,InformazioneedElaborazionedell’Informazione 56/81

IlLinguaggioMacchina• Un programma in esecuzione risiede nella memoriacentrale• È rappresentato da una serie di numeri binari che codificano leistruzioni eseguibili dalla CPU

• Il programma non è quindi distinguibile dai dati osservandoil contenuto della memoria• Le istruzioni sono individuate dai valori assunti dal registro PCdurante l’esecuzione del programma

0000000010100001000000000001100000000000100011100001100000100001100011000110001000000000000000001000110011110010000000000000010010101100111100100000000000000000

PC

Dati,InformazioneedElaborazionedell’Informazione 57/81

IlSetdiIstruzioniMacchina• L’insiemedelleistruzionieseguibilielarelativacodificasonogeneralmentediversepermodellidiversidiprocessore

• Lecategoriediistruzioninormalmentedisponibilisono• Trasferimentodati

• Spostanodatitraregistri,memoriaprincipaleedispositividiingresso/uscita(I/O)

• Aritmetico-logiche• EseguonoicalcolinellaALU

• Salti(condizionatieincondizionati)• Prendonodecisioniealteranolanormaleesecuzionesequenzialedelleistruzioni

Dati,InformazioneedElaborazionedell’Informazione 58/81

EsempiodiProgrammainLinguaggioMacchina0100000000010000 leggi un valore in ingresso e ponilo nella cella numero 16 (variabile x)0100000000010001 leggi un valore e ponilo nella cella numero 17 (variabile y)0100000000010010 leggi un valore e ponilo nella cella numero 18 (variabile z)0100000000010011 leggi un valore e ponilo nella cella numero 19 (variabile r)0000000000010000 carica il registro A con il contenuto della cella 160001000000010001 carica il registro B con il contenuto della cella 170110000000000000 somma i contenuti dei dei registri A e B0010000000010100 copia il contenuto del registro A nella cella 20 (risultato, variabile s)0000000000010010 carica il registro A con il contenuto della cella 180001000000010011 carica il registro B con il contenuto della cella 190110000000000000 somma i contenuti dei registi A e B0001000000010100 carica il registro B con il contenuto della cella 201000000000000000 moltiplica i contenuti dei registri A e B0010000000010100 copia il contenuto del registro A nella cella numero 200101000000010100 scrivi in output il contenuto della cella numero 201101000000000000 arresta l’esecuzione (HALT)……………………… spazio per la variabile x (cella 16)……………………… spazio per la variabile y (cella 17)……………………… spazio per la variabile z (cella 18)……………………… spazio per la variabile r (cella 19)……………………… spazio per la variabile s (cella 20)

Dati,InformazioneedElaborazionedell’Informazione 59/81

DatieIstruzioni• Datieistruzionidiunprogrammasonocodificatiinformabinaria,cioèmediantesequenzefinitedibit

• Un’istruzione codificatasicomponedidueparti• CodiceOperativo(CO)• Unoopiùoperandi(Op.i)

E. Ardizzone & I. Infantino - Appunti per il corso di Fondamenti di Informatica 5

Dati e istruzioni di programma sono codificate in forma binaria, cioè mediante sequenze finite di bit.

Una istruzione codificata si compone di due parti: il codice operativo e uno o più operandi:

Funzionamento della macchina di Von Neumann

CO Op. 1 Op. n

Il codice operativo specifica, secondo una convenzione dipendente dalla specifica macchina, l’istruzione da eseguire. Per ogni macchina esistono tanti codici operativi differenti quante sono le istruzioni presenti nell’insieme (set) delle istruzioni che la macchina è in grado di interpretare ed eseguire.

Gli operandi contengono, ancora in una forma codificata dipendente dalla specifica macchina, le informazioni necessarie a reperire i dati sui quali l’istruzione deve operare.

Il linguaggio macchina è quindi strettamente legato alla architettura della macchina.

Istruzioneà

Dati,InformazioneedElaborazionedell’Informazione 60/81

DatieIstruzioni• Datieistruzionidiunprogrammasonocodificatiinformabinaria,cioèmediantesequenzefinitedibit

• Un’istruzione codificatasicomponedidueparti• CodiceOperativo(CO)• Unoopiùoperandi(Op.i)

E. Ardizzone & I. Infantino - Appunti per il corso di Fondamenti di Informatica 5

Dati e istruzioni di programma sono codificate in forma binaria, cioè mediante sequenze finite di bit.

Una istruzione codificata si compone di due parti: il codice operativo e uno o più operandi:

Funzionamento della macchina di Von Neumann

CO Op. 1 Op. n

Il codice operativo specifica, secondo una convenzione dipendente dalla specifica macchina, l’istruzione da eseguire. Per ogni macchina esistono tanti codici operativi differenti quante sono le istruzioni presenti nell’insieme (set) delle istruzioni che la macchina è in grado di interpretare ed eseguire.

Gli operandi contengono, ancora in una forma codificata dipendente dalla specifica macchina, le informazioni necessarie a reperire i dati sui quali l’istruzione deve operare.

Il linguaggio macchina è quindi strettamente legato alla architettura della macchina.

Il codice operativo specifica l’istruzione da eseguire.In ogni architettura è definito un certo insieme diistruzioni (set di istruzioni) con gli associati CO

Istruzioneà

Dati,InformazioneedElaborazionedell’Informazione 61/81

DatieIstruzioni• Datieistruzionidiunprogrammasonocodificatiinformabinaria,cioèmediantesequenzefinitedibit

• Un’istruzione codificatasicomponedidueparti• CodiceOperativo(CO)• Unoopiùoperandi(Op.i)

E. Ardizzone & I. Infantino - Appunti per il corso di Fondamenti di Informatica 5

Dati e istruzioni di programma sono codificate in forma binaria, cioè mediante sequenze finite di bit.

Una istruzione codificata si compone di due parti: il codice operativo e uno o più operandi:

Funzionamento della macchina di Von Neumann

CO Op. 1 Op. n

Il codice operativo specifica, secondo una convenzione dipendente dalla specifica macchina, l’istruzione da eseguire. Per ogni macchina esistono tanti codici operativi differenti quante sono le istruzioni presenti nell’insieme (set) delle istruzioni che la macchina è in grado di interpretare ed eseguire.

Gli operandi contengono, ancora in una forma codificata dipendente dalla specifica macchina, le informazioni necessarie a reperire i dati sui quali l’istruzione deve operare.

Il linguaggio macchina è quindi strettamente legato alla architettura della macchina.

Gli operandi contengono le informazioninecessarie a reperire i dati sui qualil’istruzione deve operare

Istruzioneà

Dati,InformazioneedElaborazionedell’Informazione 62/81

DatieIstruzioni• Datieistruzionidiunprogrammasonocodificatiinformabinaria,cioèmediantesequenzefinitedibit

• Un’istruzione codificatasicomponedidueparti• CodiceOperativo(CO)• Unoopiùoperandi(Op.i)

E. Ardizzone & I. Infantino - Appunti per il corso di Fondamenti di Informatica 5

Dati e istruzioni di programma sono codificate in forma binaria, cioè mediante sequenze finite di bit.

Una istruzione codificata si compone di due parti: il codice operativo e uno o più operandi:

Funzionamento della macchina di Von Neumann

CO Op. 1 Op. n

Il codice operativo specifica, secondo una convenzione dipendente dalla specifica macchina, l’istruzione da eseguire. Per ogni macchina esistono tanti codici operativi differenti quante sono le istruzioni presenti nell’insieme (set) delle istruzioni che la macchina è in grado di interpretare ed eseguire.

Gli operandi contengono, ancora in una forma codificata dipendente dalla specifica macchina, le informazioni necessarie a reperire i dati sui quali l’istruzione deve operare.

Il linguaggio macchina è quindi strettamente legato alla architettura della macchina.

Un’istruzioneèstrettamentelegataall’architetturadellamacchina

Istruzioneà

Dati,InformazioneedElaborazionedell’Informazione 63/81

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione 64/81

InterfaccediI/O• Leperiferiche sonoidispositivicheconsentonoall’elaboratorediscambiareinformazioniconilmondoesterno• VengonoconsiderateappartenentiallamacchinadiVonNeumannsololeinterfaccedicollegamentoversoleperiferiche,mentreleperiferichesonoconsideratecomponentiseparate

Dati,InformazioneedElaborazionedell’Informazione 65/81

Memorizzazione– 1/2• Uncalcolatorememorizza

• Idati,cherappresentanoinformazionidiinteresse• I programmiperl’elaborazionedeidati

• Lamemoriacentrale èl’unitàresponsabiledellamemorizzazionedeidati

• Un’unitàdimemoriafornisceduesoleoperazioni• Memorizzazionediunvalore(scrittura)• Accessoalvalorememorizzato(lettura)

Dati,InformazioneedElaborazionedell’Informazione 66/81

Memorizzazione– 2/2• Lememoriesonodispositiviper“lostoccaggio”delleinformazioni

• Inognielaboratorevisonotretipidimemorie• Registri: contengonoinformazioninecessarieall’elaborazionedellasingolaistruzione

• Memoriacentrale: contienedatieistruzioniattualmenteelaboratidalprocessore

• Memoriedimassa: contengonodatieprogrammichenonsonooggettodielaborazioneimmediata

Dati,InformazioneedElaborazionedell’Informazione 67/81

CaratteristichedellaMemoria• Iparametrifondamentalichecaratterizzanounamemoriasono

• Modalitàdiaccesso• Permanenzaovolatilitàdeidati• Capacità• Velocitànecessariaperaccedere adunalocazionedimemoria duranteun’operazionediletturaoscrittura• Espressainnanosec,millisec,sec

• Inbaseagliultimidueparametrilememoriesicollocanoadiversilivellidiunagerarchia,chevadamemoriepiùcapientimapiùlente(memoriedimassa)amemoriepiccoleeveloci(registri)

Dati,InformazioneedElaborazionedell’Informazione 68/81

TipologiediAccessoalleMemorie

• Accessosequenziale• Primadileggereunacellaènecessarioleggeretuttequellechelaprecedono

• Accessodiretto• Datol’indirizzodiunacellaneèpossibilel’accessoimmediato

• Accessomisto• Lecellesonoorganizzateinblocchicostituitidapiùcelle,percuisihaaccessodirettoaiblocchiedaccessosequenzialeallecelleall’internodeiblocchi

Dati,InformazioneedElaborazionedell’Informazione 69/81

GerarchiediMemoriaRegistridellaCPU

Cachediprimo,secondoeterzolivello

MemoriaCentrale(RAM)

Dischiinterni

Dischiesterni

Capacità, Velocità d’Accesso, Costo

Dati,InformazioneedElaborazionedell’Informazione 70/81

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione 71/81

LeMemorieSecondarie(odiMassa)

• Ilcalcolatoreèdotatodidispositividimemorizzazionechiamatimemoriesecondarie (omemoriedimassa)• Lalorofunzioneprincipaleègarantirelapersistenzadeidati• Possonoesserefisse (HardDisk)orimovibili (pen driveUSB)• NelmodellodiVonNeumann lememoriedimassasonoinclusetraleperiferiche,poichéfunzionalmenteanalogheaquest’ultimedalpuntodivistadell’interazioneconl’elaboratore

• Pro:capacitàpiùelevate,costoperbyteinferiore• Contro:tempidiaccessopiùlunghidellememoriecentrali

Dati,InformazioneedElaborazionedell’Informazione 72/81

Riassumendo – 1/2• Programmiedatirisiedonoinfilememorizzatiinmemoriasecondaria

• Peressereeseguiti(iprogrammi)eusati(idati)vengonocopiatinellamemoriaprimaria(RAM)

• LaCPUè ingradodieseguireleistruzionidicuisonocompostiiprogrammi

Dati,InformazioneedElaborazionedell’Informazione 73/81

Riassumendo– 2/2

Memoria secondaria(Hard Disk)

programma

programma

Copia il programma ed eventuali dati in RAM

Esegui le istruzioni del programma

CPU

Dati,InformazioneedElaborazionedell’Informazione

dati dati

Memoria centrale(RAM)

74/81

Hardware& Software– 1/5• Uncalcolatoredisolitoèsuddivisoin

• Hardware (LivelloFisico)

• Software (LivelloLogico)

Dati,InformazioneedElaborazionedell’Informazione 75/81

Hardware& Software– 2/5• Uncalcolatoredisolitoèsuddivisoin

• Hardware (LivelloFisico)• Ilterminehardwareindicalastrutturafisicadeidispositivi,costituitadacomponentielettroniciedelettromeccanicichesvolgonospecifichefunzionineltrattamentoenellatrasmissionedelleinformazioni

• Software (LivelloLogico)• Ilterminesoftwareindicaillivellologico(incontrapposizioneconquellofisicodell’hardware),cioèl’insiemedelleistruzionicheconsentonoall’hardwaredisvolgereipropricompiti

Dati,InformazioneedElaborazionedell’Informazione 76/81

Hardware&Software – 3/5

“L’hardware è la parte del computer che puoi prendere a calci; il software quella contro cui

puoi solo imprecare.”

“L’hardware è un attore ed il software una sceneggiatura: l’hardware esegue operazioni diverse a seconda del tipo di software usato.”

Dati,InformazioneedElaborazionedell’Informazione 77/81

Hardware&Software– 4/5

• Hardware

Elaborazione

• Software

Dati,InformazioneedElaborazionedell’Informazione 78/81

Hardware&Software– 5/5

Dati,InformazioneedElaborazionedell’Informazione 79/81

Insintesi• Cosaabbiamovisto

• Glielaboratorisonostrumentiperrisolvere(oaiutarearisolvere)problemibasatisulleinformazioni

• Cosavedremo• Tuttavia1. Devonoessereopportunamentecodificatidatied

informazioni2. Devonoessereimpartite,inmanieraopportuna,le

istruzioniperrisolverecorrettamenteiproblemi

Dati,InformazioneedElaborazionedell’Informazione 80/81

Riferimenti• Libroditesto

• Capitolo1• Paragrafo1

• Capitolo2• Paragrafo1

• Capitolo6• Paragrafi1[NOApprofondimento],2[NO6.2.2,6.2.3],3,3.1,3.2,4[NOdettagli],5[NOdettagli]e6[NOdettagli]

Dati,InformazioneedElaborazionedell’Informazione 81/81