Dallinformazione al linguaggio macchina Didattica delle applicazioni informatiche mod A Docente A.Ciaramella Specializzande : R.Cervera – A.Della Ventura – P.Fulgieri
Linformazione La rappresentazione dellinformazione Il calcolatorecalcolatore
Informazione è tutto ciò che viene comunicato, che possiede un significato per luomo e può essere utilizzato immediatamente o conservato per un utilizzo futuro. Che cosè
La comunicazione è lintero processo di invio e ricezione di messaggi romafirenze La lettura di un cartello stradale per decidere la direzione ci fornisce uninformazione ?
emittente destinatario messaggio Emittente : persona, cartello, immagine Destinatario : riceve linformazione Canale : supporto per la trasmissione dellinformazione La trasmissione delle informazioni avviene mediante un linguaggio basato su un codice comprensibile da entrambi i soggetti La comprensione avviene quando il messaggio è stato correttamente interpretato
Informatica = informazione + automatica Linformatica è la disciplina che si occupa dellacquisizione, elaborazione e distribuzione delle informazioni mediante limpiego di sistemi automatici di elaborazione o computer Il computer accetta dati dallesterno, li elabora e produce un risultato, ma soprattutto è UN DISPOSITIVO PROGRAMMABILE che permette di gestire dati mediante istruzioni ed effettuare azione di controllo
Risolvere un problema significa manipolare informazioni per generare nuove informazioni. Per risolvere un problema occorre definire: Informazioni iniziali Elaborazione delle Informazioni Informazioni finali Mondo reale
Il modello è la rappresentazione formale del problema Un modello può essere di tipo iconico (mappe stradali, modellini,…) oppure di tipo astratto ( una funzione matematica,..) Un modello è sempre una schematizzazione di una situazione reale.
Algoritmo = insieme delle operazioni elementari che rappresentano il procedimento risolutivo di un problema. Modello astrattoModello concreto algoritmo
Per garantire un risultato corretto un algoritmo deve essere FINITO ESEGUIBILE DETERMINATO FLESSIBILE GENERALE
Test di verifica del sapere a risposta aperta 1) Quali sono gli elementi principali della comunicazione? …………………………………………………………………………………. 2) Elencare le caratteristiche di un elaboratore …………………………………………………………………………………. 3) Descrivere la differenza tra hardware e software ………………………………………………………………………………… 4) Che differenza cè tra software di sistema e software applicativo? …………………………………………………………………………………. 6 ) Che cosè un algoritmo ? ………………………………………………………………………………… 7) Cosa significa dire che un algoritmo deve essere generale? ………………………………………………………………………………… 8) Che cosè un programma? …………………………………………………………………………………. 9) Cosa si intende per linguaggio di programmazione? …………………………………………………………………………………
Sistema decimale Sistema binario Sistema ottale Sistema esadecimale Regole di conversione
Le quantità numeriche vengono espresse generalmente utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 10 cifre per rappresentare i numeri. Le cifre possiedono un valore posizionale, cioè un valore a seconda della posizione occupata nella scrittura del numero. Es. Nel numero 123 la cifra 1 vale 100, la cifra 2 vale 20, 2 decine e la cifra 3 vale 3 unità.
In modo analogo al sistema decimale, le cifre del sistema binario 0 e 1 assumono un valore posizionale nella scrittura del numero binario con riferimento alle potenze di 2, anziché alle potenze di 10. Conversione binario-decimale: Si moltiplica ciascuna cifra binaria a partire da destra per la corrispondente potenza di 2 e si sommano i prodotti ottenuti.
Es: dato il numero binario 11010: Conversione decimale binario Si divide il numero dato per 2 e si scrive il resto,che può essere 0 o 1; il quoziente ottenuto viene a sua volta diviso per 2 ottenendo un nuovo resto; si prosegue fino a quando si ottiene come quoziente il numero 0.
Per esempio, la trasformazione del numero decimale 35: Quozienti Resti
Il sistema ottale si chiama così perché utilizza 8 cifre nella rappresentazione dei numeri: 0,1,2,3,4,5,6,7. Le regole per la conversione di un numero ottale in decimale e da decimale ad ottale sono analoghe al sistema binario
Esempio: trasformazione del numero ottale 325 in numero decimale: Viceversa trasformazione del numero decimale 1602 in numero ottale Quozienti Resti
Il sistema esadecimale utilizza 16 cifre: 0,1,2,3,4,5,6,7,8,9 A,B,C,D,E,F Quindi la lettera A rappresenta il numero decimale 10 in esadecimale, B il numero 11, C il numero 12, D il numero 13, E il numero 14, F il numero 15. Il valore delle cifre dipende dalla posizione nella scrittura del numero secondo le potenze di 16
Esempio: trasformazione del numero esadecimale 3 AF2 in numero decimale: Trasformazione del numero decimale in numero esadecimale: Quozientiresti A 3 E 0 3
Nelle operazione di conversione dei numeri da un sistema allaltro, è conveniente ricordare le seguenti tabelle: BinarioOttale BinarioEsadecimale ABCDEF ABCDEF
Regole di conversione binario/ottale/esadecimale Da binario ad ottale Si raggruppano le cifre del numero binario a gruppi di tre a partire da destra, e si trasformano le cifre di ciascun gruppo nel corrispondente numero ottale secondo la tabella precedente. Es.: il numero binario Si può scrivere come: Quindi:
Da ottale a binario Si fa corrispondere a ciascuna cifra ottale che compone il numero un gruppo di tre bit secondo la tabella precedente. Es.: dato il numero ottale 625 si può scrivere Quindi
Da binario a esadecimale Si raggruppano le cifre del numero binario a gruppi di quattro a partire da destra e si trasformano le cifre di ciascun gruppo nel corrispondente numero esadecimale secondo la tabella di conversione Es.: il numero binario Si può scrivere come F 7 Quindi: = 2F7
Da esadecimale a binario Si fa corrispondere a ciascuna delle cifre esadecimale che compongono il numero un gruppo di quattro bit secondo la tabella di conversione. Es.: dato il numero esadecimale C3B C3B Quindi:
Test di verifica : Rappresentazione dellinformazione 1) Indica la regola per trasformare un numero binario in un numero in base dieci. ………………………………………………………………………………………………… 2) Indica la regola per trasformare un numero in base dieci in un numero espresso in base 2. ………………………………………………………………………………………………… 3) Per trasformare un numero da binario a ottale si devono raggruppare le cifre binarie Per 2 Per 3 Per 4 Per 8 4) Per trasformare un numero da binario a esadecimale si devono raggruppare le cifre binarie Per 2 Per 4 Per 8 Per 16 5) Trasformare il numero esadecimale A57 in decimale. 6) Trasformare il numero decimale 103 in binario
7) Calcolare il valore esadecimale del numero decimale ) Quale delle seguenti è la codifica binaria del numero decimale 45 a) b) c) d) ) Quale delle seguenti è la codifica decimale del numero binario a) 111 b) 25 c) 3 d) ) Quale delle seguenti è la codifica esadecimale del numero decimale 225 a) E1 b) A5 c) 9D d) 3C
Che differenza cè tra un tostapane e un computer? Il tostapane è in grado di svolgere una sola attività Il computer è un dispositivo costituito da circuiti in grado di eseguire delle sequenze di comandi, adatto a svolgere compiti diversi in funzione delle istruzioni assegnate volta per volta,quindi..
Un calcolatore è in grado di eseguire algoritmi, scritti utilizzando opportuni formalismi ( linguaggi di programmazione) per manipolare, elaborare e rappresentare le informazioni un calcolatore deve essere in grado di memorizzare dati, eseguire istruzioni sui dati, memorizzare sequenze di istruzioni e controllarne il flusso ( struttura di Von Neumann )
Il computer è un insieme di due componenti indipendenti tra loro : Lhardware, cioè la parte fisica; Il software ( di sistema e applicativo ) cioè i programmi. HARDWARE inserimento tastiera mouse elaborazione CPU memorizzazione RAM ROM Memorie di massa Hard diskfloppyCD ROMpendrive emissione video stampante
Quando un computer elabora un programma intervengono tutte le componenti Unità di input (tastiera..) e di output (monitor) Memoria centrale ROM (Read Only Memory ) e RAM ( Random Access Memory) CPU (Central Process Unit) divisa in CU (Control Unit) e in ALU ( Arithmetic Logical Unit) Memorie di massa ( dischetti, cd,..)
1600 : la Pascalina per fare addizioni 1800 : le schede perforate, la diffusione delle calcolatrici 1944 : ENIAC pone fine ai calcolatori meccanici e Von Neumann costruisce il primo calcolatore funzionante a programma memorizzato.
La macchina di Von Neumann nasce alla fine degli anni 40 e costituisce la struttura base per i moderni calcolatori. La novità di tale macchina è nella sua programmabilità e quindi nel controllo delle sue funzioni
CPU ( Central Processing Unit) MEMORIA CENTRALE DISPOSITIVI DI I/O BUS UNITA DI ELABORAZIONE MEMORIA CENTRALE INTERFACCE VERSO PERIFERICHE BUS DI SISTEMA
La CPU costituisce il cervello dellelaboratore L'unità centrale di elaborazione (CPU) è la parte del sistema che contiene gli elementi circuitali necessari al funzionamento dellelaboratore. Questa esegue i programmi che risiedono nella memoria centrale, prelevando, decodificando ed eseguendo le istruzioni in essi contenute e coordinando il trasferimento dei dati tra le varie unità funzionali.
La CPU si compone di: una unità di controllo (CU Control Unit), che ha lo scopo di interpretare e attivare le risorse necessarie alla esecuzione delle istruzioni; una unità aritmetico-logica (ALU Arithmetic and Logic Unit) in cui vengono effettuati i calcoli aritmetici e logici presenti nelle istruzioni del programma ; alcuni dispositivi di memoria detti registri. CUALU MEMORIA LOCALE CPU
I registri sono supporti fisici (circuiti elettronici) atti a memorizzare pacchetti di bit e con compiti specifici. I principali sono : PC (Program Counter ) che individua lindirizzo della prossima istruzione da eseguire; IR (Istruction Register) che contiene listruzione che deve essere eseguita; MAR ( Memory Address Register) che contiene lindirizzo della cella di memoria che deve essere acceduta o memorizzata; MDR (Memory Data Register) che contiene il dato acceduto o che deve essere memorizzato PSW (Processor Status Word) che contiene informazioni circa lesito dellultima istruzione eseguita.
Struttura di una unità centrale di elaborazione
Lunità centrale di elaborazione esegue una istruzione svolgendo ciclicamente tre operazioni di base: 1. FETCH ( lettura) 2. DECODE ( decodifica) 3. EXECUTE ( esecuzione)
Il bus di sistema è il mezzo che collega le varie unità funzionali della macchina di Von Neumann sotto il controllo della CPU. Tipi di bus: Bus degli indirizzi Bus dei dati Bus di controllo
Che cosè? È un dispositivo in grado di immettere, conservare ed estrarre informazioni. Tipi di memoria: Memoria centrale o interna( RAM e ROM) Memoria di massa o esterna
La memoria centrale è un insieme finito di locazioni (celle) di uguali dimensioni; ogni locazione consta di n bit ed è caratterizzata dallindirizzo e dal contenuto. Lindirizzo è la posizione occupata nella memoria, il contenuto è linformazione registrata locazione 0 1 n n indirizzo
Unità di misuraSimboloCapacità byteB8 bit KilobyteKB1024 byte MegabyteMB1024 kilobyte GigabyteGB1024 megabyte TerabyteTB1024 gigabyte
Le memorie di massa o ausiliarie sono supporti magneto – ottici ( nastri,floppy, hard disk,cd rom) che permettono di memorizzare dati e programmi in modo permanente. Essi possono essere ad accesso sequenziale o diretto.
Il linguaggio macchina è il linguaggio interpretabile direttamente dalla unità di controllo di un calcolatore. I linguaggi macchina si distinguono per: - struttura delle istruzioni - set di istruzioni eseguibili Ogni macchina ha il suo linguaggio macchina. Struttura di una istruzione : generalmente si distinguono due parti - n bit per il codice operativo - m bit per uno o più operandi nm
Caratteristiche linguaggio simbolico ( parole chiave) Deve essere tradotto in linguaggio macchina da un assemblatore Molte istruzioni anche per algoritmi semplici Le istruzioni sono logico aritmetiche (ADD - MULT); di trasferimento ( LOAD – STORE ) ; di controllo ( JAMP – HALT ) Es Linguaggio assembler addR01R02R03
Caratteristiche sono indipendenti dalla macchina le istruzioni esprimono una serie di azioni e devono essere tradotte in linguaggio macchina da un traduttore
Traduttori e assemblatori Sono programmi che traducono il codice sorgente nel codice oggetto eseguibile poi dalla macchina. Esempi di traduttori sono i compilatori e gli interpreti. Lesecuzione di un programma compilato è più veloce in quanto viene tradotto interamente in linguaggio macchina
CISC (Complex Instuction Set Computer) RISC ( Reduced Instruction Set Computer) Il processore MIPS (Million Instruction Per Second) utilizza le istruzioni assembler Un normale programma per computer è composto da migliaia di queste istruzioni generate solitamente da un compilatore Il MIPS è una unità di misura della potenza di un microprocessore Utilizza 32 registri a 32 bit e tali registri vengono indicati con $R
Test di verifica semistrutturato: architettura dellelaboratore Test a risposta aperta 1) Elencare almeno tre tipi di memorie di massa. ……………………………………………………………………………….. 2) Descrivere la funzione dei registri PC e IR ………………………………………………………………………….. 3) Descrivere il ciclo macchina di un calcolatore ……………………………………………………………………. 4) Elencare i componenti della CPU …………………………………………………………………………….. 5) Definire la funzione del bus di sistema ed indicare almeno un tipo di bus. ……………………………………………………………………………… 6) Spiega la differenza tra compilatore ed interprete ………………………………………………………………………………
Test a risposta multipla : indicare la risposta corretta tra le opzioni proposte 1) Quale tra le seguenti definizioni non può essere attribuita alla RAM? Memoria di accesso casuale Memoria volatile Memoria dinamica Memoria permanente 2) Quale tra le seguenti definizioni contiene tutte le caratteristiche esatte per definire la ROM? Linsieme delle istruzioni modificabili dalloperatore Linsieme delle istruzioni predisposte dal costruttore che si cancellano con lo spegnimento del PC Linsieme delle istruzioni predisposte dal costruttore che non possono essere modificate dallutente e che non si cancellano spegnendo il PC Linsieme delle istruzioni non modificabili per far funzionare solo i programmi di videoscrittura. 3) Quali sono i quattro elementi funzionali fondamentali della macchina di Von Neumann? Memoria centrale, dispositivi di input, CPU e bus di sistema Memoria centrale, dispositivi di input e di output, CPU e bus di sistema Memoria centrale, dispositivi di input e di output, CU e bus di sistema Memoria centrale, dispositivi di input e di output, CPU e bus di controllo
4 ) A quanti byte corrisponde un gigabyte? ) Quale tra i seguenti è un dispositivo di memoria ad accesso sequenziale? DVD Hard disk Nastro magnetico Floppy disk 6) La parola LOAD del linguaggio assembler è unistruzione salto tipo logico tipo aritmetico trasferimento 7) Quanti registri usa un processore MIPS?