Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAzzolino Paoletti Modificato 10 anni fa
1
lezione 4 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia
2
lezione 4 quarta lezione: dentro il computer vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia
3
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...
4
lezione 4 dentro il computer
5
lezione 4 il calcolatore: modello architetturale e funzionale (torna indietro…)
6
lezione 4 il calcolatore: modello architetturale e funzionale
7
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
8
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
9
lezione 4 il sistema operativo
10
lezione 4 fine quarta lezione quarta lezione dentro il computer (lezione 5)
11
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!)
12
lezione 4 il calcolatore: modello architetturale... (per saperne di più clicca sulle icone!) (torna indietro…)
13
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!)
14
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...
15
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
16
lezione 4 la memoria di massa (fine excursus)
17
lezione 4 le periferiche di input/output (fine excursus)
18
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...
19
lezione 4 cosè il linguaggio macchina ? 0 010000000010000 leggi il primo valore (a) e ponilo nella cella 16 1 010000000010001 leggi il secondo valore (b) (cella 17) 2 010000000010010 leggi il terzo valore (c) (cella 18) 3 010000000010011 leggi il quarto valore (d) (cella 19) 4 000000000010000 carica A con il contenuto della cella 16 5 000100000010001 carica B con il contenuto della cella 17 6 011000000000000 somma i due valori (il risultato è in A) 7 001000000010100 salva il risultato parziale nella cella 20 8 000000000010010 carica A con il contenuto della cella 18 9 000100000010011 carica B con il contenuto della cella 19 10 011000000000000 somma i due valori (il risultato è in A) 11 000100000010100 carica B con il contenuto della cella 20 12 100000000000000 moltiplica i due valori (il risultato è in A) 13 001000000010100 salva il risultato nella cella 20 14 010100000010100 scrivi il contenuto della cella 20 15 110100000000000 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…)
20
lezione 4 istruzioni di trasferimento: registri RAM 012345012345 ALU R0R0 R1R1 R2R2 LOAD STORE cpu RAM (continua…) (diapositiva precedente)
21
lezione 4 Formato: codice-op n. registro indirizzo parola RAM 8 bit 4 bit 20 bit 1 parola (32bit) LOAD 00000000 STORE 00000001 Codici: (continua…) (diapositiva precedente)
22
lezione 4 funzioni aritmetiche: eseguono somma, differenza, moltiplicazione e divisione usando i registri come operandi ADD 00000010 FADD 00000011 SUB 00000100 FSUB 00000101 MULT 00000110 FMULT 00000111 DIV 00001000 FDIV 00001001 MOD 00001010 RiRi RjRj C Op (continua…) (diapositiva precedente)
23
lezione 4 codice-op reg 1 reg 2 8 bit 4 bit 4 bit inutile 1 parola (32 bit) Formato: (diapositiva precedente) (continua…)
24
lezione 4 STORE R2 X; STOP; R0 R1? STORE R2 Y; STOP; SINO test strutture di controllo: se allora (continua…) (diapositiva precedente)
25
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 01000001 BRNE 01000100 BRLE 01000010 BRGE 01000110 BREQ 01000011 BRGT 01000101 BRANCH 10000000 strutture di controllo (continua…) (diapositiva precedente)
26
lezione 4 codice-op indirizzo RAM 8 bits inutile 20 bit 1 parola Formato: (fine excursus) (diapositiva precedente)
27
lezione 4 il transistor (torna indietro…) (continua…)
28
lezione 4 il transistor (torna indietro…) (fine excursus)
29
lezione 4 un esempio di circuito... (fine excursus) (continua…)
30
lezione 4 un esempio di circuito... (continua…) 0 0 1 1 0 (torna indietro…)
31
lezione 4 la porta OR per saperne di più clicca qui... (continua…) (diapositiva precedente)
32
lezione 4 la porta AND (continua…) (diapositiva precedente)
33
lezione 4 la porta NOT (fine excursus) (diapositiva precedente)
34
lezione 4 lalgoritmo (continua…) (fine excursus)
35
lezione 4 lalgoritmo (II) (continua…) (diapositiva precedente)
36
lezione 4 proprietà di un algoritmo (diapositiva precedente) (continua…)
37
lezione 4 gerarchia di linguaggi (diapositiva precedente) linguaggio naturale diagramma a blocchi linguaggio di programamzione (per saperne di più clicca sui blocchi!) (continua…)
38
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)
39
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…)
40
lezione 4 ciclo o iterazione FMULT R4 R2; SUB R3 R1; NO SI R3 = R0? (fine excursus)
41
lezione 4 lalgoritmo (fine excursus)
42
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; }
43
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;
44
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
45
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)
46
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...
47
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...
48
lezione 4 compilatore
49
lezione 4 interprete
50
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
51
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
52
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)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.