lezione 4 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia
lezione 4 quarta lezione: dentro il computer vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia
lezione 4 il calcolatore: una definizione dispositivo elettronicodispositivo elettronico programmabile finalizzato alla gestione delle informazioni (per saperne di più clicca sulle parole evidenziate!) hardware tutto quanto non possiamo trasmettere per telefono...
lezione 4 dentro il computer
lezione 4 il calcolatore: modello architetturale e funzionale (torna indietro…)
lezione 4 il calcolatore: modello architetturale e funzionale
lezione 4 il sistema operativo (due viste) dallesterno il sistema operativo fornisce allutente uninterfaccia conveniente dallinterno gestisce tutte le parti di un sistema complesso, allocando in modo ordinato le diverse risorse della macchina: processori, memorie, dischi, interfacce di rete, stampanti e altre periferiche
lezione 4 il sistema operativo come intermediario il sistema operativo agisce come un intermediario tra le risorse hardware del computer e gli applicativi software installati sul computer hardware software sistema operativo
lezione 4 il sistema operativo
lezione 4 fine quarta lezione quarta lezione dentro il computer (lezione 5)
lezione 4 il calcolatore è programmabile... è cioè in grado di eseguire istruzioni operando su dati rappresentati come quantità discrete...istruzioni (per saperne di più clicca sulle parole evidenziate!)
lezione 4 il calcolatore: modello architetturale... (per saperne di più clicca sulle icone!) (torna indietro…)
lezione 4 la cpu è la parte "pensante" di ogni computer, costituita da un sottile cristallo di silicio. Su un processore (p.e. di un cm 2 ) vengono impressi diodi, transistor e circuiti. Esegue le istruzioni ed elabora i dati dei programmi presenti nella memoria RAM e nei registri interni al processore.circuitiprogrammi (torna indietro…) (per saperne di più clicca sulle parole evidenziate!)
lezione 4 la memoria centrale (torna indietro) (continua…) la RAM (random access memory) o memoria centrale serve a memorizzare un programma in esecuzione o i dati in corso di elaborazione è lunità di memoria con la quale interagisce la cpu attraverso i bus la memoria centrale è volatile, nel senso che i dati/programmi in essa contenuti vengono cancellati al termine dei processi di esecuzione/elaborazione e comunque non sopravvivono a computer spento...
lezione 4 la memoria virtuale (fine excursus) (torna indietro…) i programmi e i file molto estesi possono eccedere la capacità della memoria centrale disponibile anche se questa è molto grande per evitare inconvenienti, in un sistema che utilizza la memoria virtuale, soltanto le parti del programma o del file al momento necessarie vengono memorizzate nella memoria centrale del computer; il resto è immagazzinato sul disco fisso fino a che non si renda necessario il suo caricamento sulla RAM
lezione 4 la memoria di massa (fine excursus)
lezione 4 le periferiche di input/output (fine excursus)
lezione 4 i bus il bus di un computer è un insieme di collegamenti in rame localizzati sulla scheda madre che connettono tra loro tutti i dispositivi dellelaboratore...
lezione 4 cosè il linguaggio macchina ? leggi il primo valore (a) e ponilo nella cella leggi il secondo valore (b) (cella 17) leggi il terzo valore (c) (cella 18) leggi il quarto valore (d) (cella 19) carica A con il contenuto della cella carica B con il contenuto della cella somma i due valori (il risultato è in A) salva il risultato parziale nella cella carica A con il contenuto della cella carica B con il contenuto della cella somma i due valori (il risultato è in A) carica B con il contenuto della cella moltiplica i due valori (il risultato è in A) salva il risultato nella cella scrivi il contenuto della cella arresta lesecuzione 16 cella riservata ad a 17 cella riservata a b 18 cella riservata a c 19 cella riservata a d 20 cella riservata al risultato parziale ……………………………… ……………………………… celle libere (torna indietro…) (continua…)
lezione 4 istruzioni di trasferimento: registri RAM ALU R0R0 R1R1 R2R2 LOAD STORE cpu RAM (continua…) (diapositiva precedente)
lezione 4 Formato: codice-op n. registro indirizzo parola RAM 8 bit 4 bit 20 bit 1 parola (32bit) LOAD STORE Codici: (continua…) (diapositiva precedente)
lezione 4 funzioni aritmetiche: eseguono somma, differenza, moltiplicazione e divisione usando i registri come operandi ADD FADD SUB FSUB MULT FMULT DIV FDIV MOD RiRi RjRj C Op (continua…) (diapositiva precedente)
lezione 4 codice-op reg 1 reg 2 8 bit 4 bit 4 bit inutile 1 parola (32 bit) Formato: (diapositiva precedente) (continua…)
lezione 4 STORE R2 X; STOP; R0 R1? STORE R2 Y; STOP; SINO test strutture di controllo: se allora (continua…) (diapositiva precedente)
lezione 4 permettono di saltare ad unaltra istruzione del programma a seconda del contenuto di RC (cioè a seconda del risultato di un confronto) BRLT BRNE BRLE BRGE BREQ BRGT BRANCH strutture di controllo (continua…) (diapositiva precedente)
lezione 4 codice-op indirizzo RAM 8 bits inutile 20 bit 1 parola Formato: (fine excursus) (diapositiva precedente)
lezione 4 il transistor (torna indietro…) (continua…)
lezione 4 il transistor (torna indietro…) (fine excursus)
lezione 4 un esempio di circuito... (fine excursus) (continua…)
lezione 4 un esempio di circuito... (continua…) (torna indietro…)
lezione 4 la porta OR per saperne di più clicca qui... (continua…) (diapositiva precedente)
lezione 4 la porta AND (continua…) (diapositiva precedente)
lezione 4 la porta NOT (fine excursus) (diapositiva precedente)
lezione 4 lalgoritmo (continua…) (fine excursus)
lezione 4 lalgoritmo (II) (continua…) (diapositiva precedente)
lezione 4 proprietà di un algoritmo (diapositiva precedente) (continua…)
lezione 4 gerarchia di linguaggi (diapositiva precedente) linguaggio naturale diagramma a blocchi linguaggio di programamzione (per saperne di più clicca sui blocchi!) (continua…)
lezione 4 gerarchia di linguaggi (continua) (diapositiva precedente) linguaggio di programamzione (per saperne di più clicca sui blocchi!) traduttore linguaggio assembler (dipende dalla macchina) linguaggio macchina (dipende dalla macchina) assemblatore (fine excursus)
lezione 4 diagramma a blocchi inizio leggi a e b c = a - b max = a c > 0 ? fine max = b sì no passo 0 passo 1 passo 2 (continua…)
lezione 4 ciclo o iterazione FMULT R4 R2; SUB R3 R1; NO SI R3 = R0? (fine excursus)
lezione 4 lalgoritmo (fine excursus)
lezione 4 linguaggio di programmazione (fine excursus) #include int main(void) { const int a = 3; const int b = 1; if( a > b) puts( ciao mondo!); else return FALSE; return TRUE; }
lezione 4 assembler X: INT 38; Y: INT 8; LOAD R0 X; LOAD R1 Y; LOAD R2 X; ADD R2 R1; COMPARE R0 R1; BRGE pippo; STORE R2 Y; STOP; pippo: STORE R2 X; STOP;
lezione 4 novità dellassembler codici mnemonici per le operazioni nomi mnemonici (identificatori) al posto degli indirizzi RAM per i dati (e indirizzi RAM delle istruzioni usate nei salti) avanzate: tipi dei dati INT e FLOAT
lezione 4 codice-op mnemonici: trasferimento: LOAD (RAM CPU) e STORE (CPU RAM) aritmetiche: ADD,SUB,DIV,MULT,MOD, FADD,FSUB,FDIV,FMULT input/output: READ (U-INP CPU), WRITE (CPU U-OUT) test: COMP, FCOMP salto: BREQ,BRGT,BRLT, BRGE,BRLE, BRANCH terminazione: STOP (fine excursus)
lezione 4 due tipi di traduttori compilatori accettano in ingresso lintero programma e producono in uscita la rappresentazione dellintero programma in linguaggio macchina ricorda! sono una specie di traduttori letterari: hanno bisogno di leggere il testo intero per ottimizzarne la traduzione... interpreti traducono ed eseguono direttamente ciascuna istruzione del programma sorgente, istruzione per istruzione ricorda! sono una specie di traduttori simultanei: traducono frase per frase ma non sempre nel modo migliore...
lezione 4 due tipi di traduttori compilatori accettano in ingresso lintero programma e producono in uscita la rappresentazione dellintero programma in linguaggio macchina ricorda! sono una specie di traduttori letterari: hanno bisogno di leggere il testo intero per ottimizzarne la traduzione... interpreti traducono ed eseguono direttamente ciascuna istruzione del programma sorgente, istruzione per istruzione ricorda! sono una specie di traduttori simultanei: traducono frase per frase ma non sempre nel modo migliore...
lezione 4 compilatore
lezione 4 interprete
lezione 4 due tipi di traduttori (II) compilatori per ogni programma da tradurre, lo schema viene percorso una sola volta prima dellesecuzione. interpreti lo schema viene attraversato tante volte quante sono le istruzioni che compongono il programma; ad ogni attivazione dellinterprete su una particolare istruzione, segue lesecuzione dellistruzione stessa
lezione 4 due tipi di traduttori (III) compilatori nella compilazione la traduzione avviene una volta per tutte prima dellesecuzione; questo garantisce prestazioni più veloci nella compilazione si possono attuare processi di ottimizzazione delleseguibile dato che il compilatore lavora su tutto leseguibile interpreti ad ogni modifica del programma, la compilazione deve essere ripetuta completamente per rigenerare il codice eseguibile; linteprete consente invece di eseguire il programma non appena il codice sorgente sia stato aggiornato
lezione 4 due tipi di traduttori (IV) compilatori per programmi che eseguono poche operazioni di input/output rispetto alla mole di elaborazioni effettuate interpreti programmi che eseguono molte operazioni di input/output intervallate da brevi periodi di elaborazione (fine excursus)