Un programma è una sequenza di istruzioni codificate (in forma di bit: 0 e 1) che il computer
può eseguire.
L’idea importante è che il computer non è costruito per un solo problema:
lo stesso computer può eseguire programmi diversi
● basta cambiare il programma per risolvere un problema diverso.
●
Questa idea deriva dal concetto di macchina universale introdotto da John von Neumann
Secondo questo modello:
dati e programmi sono memorizzati nella stessa memoria
● la CPU legge le istruzioni dalla memoria e le esegue.
●
Vari livelli di astrazione (dal piú basso al piú alto):
1)Circuiti elettronici (hardware):
- formati da transistor (livello più vicino all’hardware)
- permettono di realizzare porte logiche (AND, OR, NOT; implementano operazioni
dell’algebra booleana)
- con combinazioni di queste porte si costruiscono circuiti più complessi (CPU, registri,
memorie, sommatori)
- con porte logiche + memoria(potenzialmente infinita) si può calcolare qualsiasi
funzione calcolabile)
- Significa che tutti i programmi che esistono (videogiochi, browser, AI) possono
essere ridotti a: operazioni logiche, memoria, sequenze di istruzioni.
2)Linguaggio macchina:
- bit organizzati in istruzioni con una struttura
- esempio di istruzione (32 bit): [operazione][operando1][operando2]
- una parte dei bit indica che operazione fare e su quali dati lavorare
- questo rende i bit interpretabili con la CPU
- un linguaggio macchina più comprensibile è il linguaggio Assembly, che non usa
numeri per le istruzioni ma parole mnemoniche (es. ADD per la somma)
3)Sistema operativo:
- gestisce la CPU
- gestisce la memoria
- gestisce i dispositivi
- permette di eseguire più programmi ( divide il tempo della CPU in turni velocissimi
(time sharing), dando l’illusione che tutto giri in parallelo)
4)Linguaggi di programmazione:
- i programmatori scrivono istruzioni in questo linguaggio molto simile a quello umano
5)Programmi applicativi:
- software progettato per permettere all’utente di svolgere una specifica attività
utilizzando il computer, sfruttando i servizi offerti dal sistema operativo
MODELLO DI VON NEUMANN
-Introduce il principio di programma memorizzato (stored program)-->dati e programma
sono salvati nella stessa memoria; quindi quando un programma viene eseguito la CPU
legge le istruzioni dalla memoria, esegue le istruzioni e usa i dati presenti in memoria.
-4 parti principali del computer:
CPU→ processore, esegue le istruzioni e fa calcoli (somme, sottrazioni, operazioni
● logiche)
Memor