Fondamenti di Informatica - INTRANETarccas/materiale/lezioni/Lezione_2.pdf · •L’architetturadi...

75
Fondamenti di Informatica Dati, Informazione ed Elaborazione dell’Informazione Prof. Arcangelo Castiglione A.A. 2016/17 Dati, Informazione ed Elaborazione dell’Informazione

Transcript of Fondamenti di Informatica - INTRANETarccas/materiale/lezioni/Lezione_2.pdf · •L’architetturadi...

FondamentidiInformaticaDati, InformazioneedElaborazionedell’Informazione

Prof. ArcangeloCastigl ioneA.A.2016/17

Dati,InformazioneedElaborazionedell’Informazione

Iltermine“Informatica”:Etimologia

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

• Usatoperindicareladisciplinatecnico-scientificachesioccupadellaprogettazioneecostruzionedimacchineingradoditrattare(oelaborare) inmodoautomaticol’informazione

Dati,InformazioneedElaborazionedell’Informazione

Trattamentodell’Informazione• Ingenerale,iltrattamentodell’informazioneriguardalasuaelaborazioneinqualunquemodorilevabiledaunosservatore

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

Dati,InformazioneedElaborazionedell’Informazione

Information&CommunicationTechnology

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

• Negliultimidecennilecapacitàdeisingolicalcolatorisononotevolmenteaumentategrazieallalorointerconnessioneinrete• Icomputersonodiventatideglistrumentidicomunicazione

• Laconvergenzatralatecnologiadell’informazioneeletelecomunicazionihadatovitaadunadisciplinacheprendeilnomediInformation&Communication Technology(ICT)

Dati,InformazioneedElaborazionedell’Informazione

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

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

Dati,InformazionieConoscenza

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

• Informazioni• Datimessiinrelazioneconlaproprietàacuiessisiriferiscono

• Conoscenza• Regolechepermettonoditrarrevantaggiodalleinformazioni

Dati,InformazioneedElaborazionedell’Informazione

AncorasuiDati• Rappresentanolamateriaprimadeltrattamentodell’informazione

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

• Lagestionediquestotipodidatièresapossibiledall’incredibilepotenzaraggiuntadaglielaboratorinell’ultimodecennio

Dati,InformazioneedElaborazionedell’Informazione

Dato

Dati,InformazioneedElaborazionedell’Informazione

Informazione

Dati,InformazioneedElaborazionedell’Informazione

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

Conoscenza

Dati,InformazioneedElaborazionedell’Informazione

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

LaRealizzazione(parziale)diunSogno

• Disporredielaboratoriautomatici• Macchineingradodicompiereautonomamenteattivitàdielaborazionedell’informazione

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

Dati,InformazioneedElaborazionedell’Informazione

Elaborazionedell’Informazione

Input OutputElaborazione

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

Dati,InformazioneedElaborazionedell’Informazione

GliElaboratori(oCalcolatori)Elettronici– 1/2

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

• Adifferenzadeglielettrodomesticisonoprogrammabiliepossonoessereadattatiarisolveremoltitipidiproblemi• Apattochequestipossanotradursiinunnumerofinitodioperazioni

Dati,InformazioneedElaborazionedell’Informazione

GliElaboratori(oCalcolatori)Elettronici– 2/2

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

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

• Ininglese,computerscience èlatraduzionedelnostrotermine“informatica”

Dati,InformazioneedElaborazionedell’Informazione

IlComputer• IlComputer èunelaboratoreelettronicodigitale

• Elaboratore:macchinaingradodirappresentareedelaboraredatiinbaseadunaseriediistruzioni• Formulateememorizzateinmodotaledapoteressereeseguiteautomaticamente

• Elettronico: indicacheilcomputerutilizzacomponentielettronici

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

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumann:CenniStorici

• L’architetturadiuncalcolatorereale(computer)èmoltocomplessa

• L’architettura divonNeumann èunmodellosemplificatodeicalcolatorimoderni

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

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumann•NotaanchecomemacchinadiVonNeumannomodellodiVonNeumann

•Modelloconcettualediun’architetturadicomputerchepermettedirappresentare,memorizzareedelaborareleinformazioni

•Èilmodellosecondoilqualeèorganizzatalamaggiorpartedeimodernielaboratori

ArchitetturadiVonNeumann

Sottosistema di interfaccia

Sottosistema di memorizzazione

Sottosistema di elaborazione

Connessione/comunicazione

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumann:CaratteristicheEssenziali– 1/2• Obiettivo:

• Realizzazionediuncalcolatoreuniversale(generalpurpose)

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

Dati,InformazioneedElaborazionedell’Informazione

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

• Sequenzialità: istruzionieseguiteinmodostrettamentesequenziale

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumann:Componenti

• L’architetturadiVonNeumann ècostituitadaquattrocomponentiprincipali(ofunzionali)• MemoriaCentrale

• Memorizzaeforniscel’accessoadatieprogrammi• UnitàCentralediElaborazione(CPU)

• Esegueistruzioniperl’elaborazionedeidati• Svolgeanchefunzionidicontrollo

• InterfaccediIngressoeUscita(operiferiche)• Componentidicollegamentoconleperiferichedelcalcolatore

• Bus• Trasferiscedatiedinformazionidicontrollotralecomponentisuddette

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumanninConcreto

BUS di sistema

CPU

tastiera mouse memoria dimassa monitor

Memoria centrale

Periferiche

Dati,InformazioneedElaborazionedell’Informazione

Trasferimento• Obiettivo: permettereloscambiodiinformazionitralevariecomponentifunzionalidelcalcolatore• Trasferimentodeidatiedelleinformazionidicontrollo

• Duepossibilisoluzioni• Collegareciascunacomponenteconognialtracomponente

• Collegaretuttelecomponentiaununicocanale(bus)

• L’utilizzodiunbusfavoriscelamodularità el’espandibilità delcalcolatore

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione

BUS• Ilbus disistemaassicural’interconnessionetraglielementidellamacchinadiVonNeumann• Tuttiitrasferimentiavvengonoattraversoilbus

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

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione

LaMemoriaCentrale– 1/3

• Lamemoriacentraleconsisteinuninsiemediunitàelementari dimemorizzazione,dettelocazioniocelle (oancheword)

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

Dati,InformazioneedElaborazionedell’Informazione

LaMemoriaCentrale– 1/3

• Lamemoriacentraleconsisteinuninsiemediunitàelementari dimemorizzazione,dettelocazioniocelle (oancheword)

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

Ciascunacella nellamemoriaèindividuatadaunindirizzo

Dati,InformazioneedElaborazionedell’Informazione

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

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

• Altritipidimemoriesonodettepersistenti (memoriedimassaosecondarie)• Mantengonoidatianchesenzal’alimentazioneelettrica

• Maggioridettagliinseguito…

Dati,InformazioneedElaborazionedell’Informazione

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione

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

• Leistruzioni diunprogrammacorrispondonoadoperazionielementari dielaborazione

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

Dati,InformazioneedElaborazionedell’Informazione

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

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

• Ades.3GHzà 3miliardidiimpulsialsecondo

Dati,InformazioneedElaborazionedell’Informazione

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

• Lavelocitàelapotenzadiuncomputerdipendonoanchedallalarghezzadelbus• Quantitàdidaticheilprocessoreèingradodiricevereedelaboraresimultaneamente

Dati,InformazioneedElaborazionedell’Informazione

LaCPU– ALU• LaCPU ècostituitadatreelementifondamentali

ALU CU

PC

IR

registriContatore di programma

(Program Counter)

Registro Istruzione(Instruction Register)BUS

BIUBus Interface Unit

Dati,InformazioneedElaborazionedell’Informazione

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

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

C arryOut

Dati,InformazioneedElaborazionedell’Informazione

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

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

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

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

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

• Ilcontrolloconsistenelcoordinamentodell’esecuzionetemporaledelleoperazioni• Siainternamenteall’unitàdielaborazionesianeglialtrielementifunzionali

Dati,InformazioneedElaborazionedell’Informazione

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

Istruzioni Basedella CPU– 1/2• Istruzioni dibaseeseguitedallaALU

• Somma (dacuisottrazione)

• Scorrimento (shift)

• Operazionilogiche• Operazionidiconfronto

(dacuimoltiplicazioneedivisione)

Dati,InformazioneedElaborazionedell’Informazione

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

• Trasferimentoda• Memoriaà RegistrodellaCPU

• RegistrodellaCPUà Memoria

Dati,InformazioneedElaborazionedell’Informazione

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

CicloFetch-Decode-Execute – 1/2

Dati,InformazioneedElaborazionedell’Informazione

CicloFetch-Decode-Execute – 2/2• 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

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

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

IlSetdiIstruzioniMacchina• L’insiemedelleistruzionieseguibilielarelativacodificasonogeneralmentediversepermodellidiversidiprocessore• Lecategoriediistruzioninormalmentedisponibilisono

• Trasferimentodati• Spostanodatitraregistri,memoriaprincipaleedispositividiingresso/uscita(I/O)

• Aritmetico-logiche• EseguonoicalcolinellaALU

• Salti(condizionatieincondizionati)• Prendonodecisioniealteranolanormaleesecuzionesequenzialedelleistruzioni

Dati,InformazioneedElaborazionedell’Informazione

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

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

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

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

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

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione

InterfaccediInput/Output(I/O)

• Leperiferiche sonoidispositivicheconsentonoall’elaboratorediscambiareinformazioniconilmondoesterno• VengonoconsiderateappartenentiallamacchinadiVonNeumannsololeinterfaccedicollegamentoversoleperiferiche,mentreleperiferichesonoconsideratecomponentiseparate

Dati,InformazioneedElaborazionedell’Informazione

Memorizzazione– 1/2• Uncalcolatorememorizza

• Idati,cherappresentanoinformazionidiinteresse• I programmiperl’elaborazionedeidati

• Lamemoriacentrale èl’unitàresponsabiledellamemorizzazionedeidati

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

Dati,InformazioneedElaborazionedell’Informazione

Memorizzazione– 2/2• Lememoriesonodispositiviper“lostoccaggio”delleinformazioni

• Inognielaboratorevisonotretipidimemorie• Registri: contengonoinformazioninecessarieall’elaborazionedellasingolaistruzione

• Memoriacentrale: contienedatieistruzioniattualmenteelaboratidalprocessore

• Memoriedimassa: contengonodatieprogrammichenonsonooggettodielaborazioneimmediata

Dati,InformazioneedElaborazionedell’Informazione

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

TipologiediAccessoalleMemorie

• Accessosequenziale• Primadileggereunacellaènecessarioleggeretuttequellechelaprecedono

• Accessodiretto• Datol’indirizzodiunacellaneèpossibilel’accessoimmediato

• Accessomisto• Lecellesonoorganizzateinblocchicostituitidapiùcelle,percuisihaaccessodirettoaiblocchiedaccessosequenzialeallecelleall’internodeiblocchi

Dati,InformazioneedElaborazionedell’Informazione

GerarchiediMemoriaRegistridellaCPU

Cachediprimo,secondoeterzolivello

MemoriaCentrale(RAM)

Dischiinterni

Dischiesterni

Dati,InformazioneedElaborazionedell’Informazione

Massimacapacità,minimocosto,minimavelocitàdiaccesso

Minimacapacità,massimocosto,massimavelocitàdiaccesso

ArchitetturadiVonNeumann

Dati,InformazioneedElaborazionedell’Informazione

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

Riassumendo – 1/2• Programmiedatirisiedonoinfilememorizzatiinmemoriasecondaria

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

• LaCPUè ingradodieseguireleistruzionidicuisonocompostiiprogrammi

Dati,InformazioneedElaborazionedell’Informazione

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)

Hardware& Software– 1/5• Uncalcolatoredisolitoèsuddivisoin

• Hardware (LivelloFisico)

• Software (LivelloLogico)

Dati,InformazioneedElaborazionedell’Informazione

Hardware& Software– 2/5• Uncalcolatoredisolitoèsuddivisoin

• Hardware (LivelloFisico)• Ilterminehardwareindicalastrutturafisicadeidispositivi,costituitadacomponentielettroniciedelettromeccanicichesvolgonospecifichefunzionineltrattamentoenellatrasmissionedelleinformazioni

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

Dati,InformazioneedElaborazionedell’Informazione

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

Hardware&Software– 4/5

• Hardware

Elaborazione

• Software

Dati,InformazioneedElaborazionedell’Informazione

Hardware&Software– 5/5

Dati,InformazioneedElaborazionedell’Informazione

Insintesi• Cosaabbiamovisto

• Glielaboratorisonostrumentiperrisolvere(oaiutarearisolvere)problemibasatisulleinformazioni

• Cosavedremo• Tuttavia1. Devonoessereopportunamentecodificatidatied

informazioni2. Devonoessereimpartite,inmanieraopportuna,le

istruzioniperrisolverecorrettamenteiproblemi

Dati,InformazioneedElaborazionedell’Informazione

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