Post on 16-Feb-2019
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
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
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
BUS• Ilbus disistemaassicural’interconnessionetraglielementidellamacchinadiVonNeumann• Tuttiitrasferimentiavvengonoattraversoilbus
• Ilbusmetteincollegamentologico idueelementicoinvoltineltrasferimento,infunzionedell’operazionedaeseguire• Leoperazionisisuccedonoinmodosincrono rispettoallacadenzaimpostadaunorologiodisistema(clock)• Maggioridettagliinseguito…
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
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 – 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
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
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
Insintesi• Cosaabbiamovisto
• Glielaboratorisonostrumentiperrisolvere(oaiutarearisolvere)problemibasatisulleinformazioni
• Cosavedremo• Tuttavia1. Devonoessereopportunamentecodificatidatied
informazioni2. Devonoessereimpartite,inmanieraopportuna,le
istruzioniperrisolverecorrettamenteiproblemi
Dati,InformazioneedElaborazionedell’Informazione