La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta.

Presentazioni simili


Presentazione sul tema: "1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta."— Transcript della presentazione:

1 1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta elettronica Pagina web del corso: (sommario delle lezioni in fondo alla pagina)

2 2 Circuiti logici permettono lelaborazione dei dati in un calcolatore (esecuzione di operazioni, etc.) realizzano elettronicamente il comportamento delle funzioni dellalgebra booleana sono di due tipi: circuiti combinatori (output solo in funzione dellinput, non hanno memoria del passato) circuiti sequenziali (output in funzione dellinput e dello stato precedente, hanno memoria del passato)

3 3 Circuiti combinatori Circuiti combinatori: a partire da un input producono un certo output. Più precisamente: Input: X = x 1,...,x n variabili N=2 n sequenzeI={I 1,...,I N } Output: Y= y 1,...,y m variabiliM=2 m sequenzeO={O 1,...,O M } Un circuito combinatorio realizza una funzione h : I O Es.: n m n m XY

4 4 Circuiti sequenziali Loutput è determinato non solo dallinput ma anche dallo stato del circuito (che dipende dagli input che si sono verificati negli istanti precedenti): Input: X=x 1,...,x n variabili N=2 n sequenzeI={I 1,...,I N } Output: Y=y 1,...,y m variabili M=2 m sequenze O={O 1,...,O M } Stato: Z=z 1,...,z l variabiliL=2 l sequenzeS={S 1,...,S L } Un circuito sequenziale realizza le funzioni: f: I x S Sf(I h,S k )=S hk nuovo stato g : I x S O g(I i,S j )=O ij output

5 5 Circuiti sequenziali 2 1.Diagramma di stato 2. Tavola di flusso S1S1 S2S2 S3S3 I 1 /O 1 I 2 /O 1 I 1 /O 2 I 2 / O 2 I 3 /O 3 I1I1 I2I2 I3I3 S1S1 S 1 /O 1 S 2 /O 1 S2S2 S 1 /O 2 S 2 /O 2 S 3 /O 2 S3S3 S 2 /O 3 I 3 /O 2 stati instabili sullinput I 3

6 6 Circuiti sequenziali asincroni: le transizioni tra gli stati avvengono istantaneamente, cioè quando le condizioni sono verificate (il circuito può essere instabile) sincroni: le transizioni avvengono solo in certi istanti (istanti di marcatura), segnalati da un segnale dinput p (segnale di marcatura) m circ. seq. sincrono n stato S l p Y X

7 7 Circuiti sequenziali sincroni Registro: circuito sequenziale sincrono basilare valore dello stato è il valore dinput allultimo istante di marcatura valore delloutput uguale allo stato tutti i circuiti sequenziali sincroni si possono scrivere usando registri XY p

8 8 Circuiti sequenziali sincroni 2 Ogni circuito sequenziale sincrono si può rappresentare così: X Y n m l l p CC1 (funzione di tranzione degli stati f) CC2 (funzione degli output g) R S

9 9 La Programmazione

10 10 La programmazione: gli argomenti che tratteremo Cosè un programma Comè organizzata la memoria nel calcolatore (memoria centrale e memoria di massa) Linguaggi di programmazione Linguaggio macchina e assembler Linguaggi ad alto livello: strutture di controllo (sequenza, selezione, ciclo,...) tipologie di programmazione (imperativa, a oggetti) linguaggi per ipertesti Strutture dati (array, record) Algoritmi (pseudocodice o diagramma di flusso) Traduzione di linguaggi

11 11 Algoritmi e programmi Dati di input Codificati opportunamente Elaborazione dei dati (esecuzione) Trasformazione dei dati di input e esecuzione passi specificati da un opportuno algoritmo Dati di output Umano (conosce lalgoritmo e scrive il programma) Calcolatore (esegue il programma) programma

12 12 Algoritmi e programmi 2 Algoritmo (def) : una sequenza di azioni non ambigue che trasformi i dati iniziali nel risultato finale utilizzando un insieme di azioni elementari che possono essere eseguite da un opportuno esecutore. Programma (def) specifica di un algoritmo utilizzando un linguaggio di programmazione non ambiguo e direttamente comprensibile dal computer

13 13 Tipi di memoria Memoria centrale (RAM): formata da celle (o locazioni), cioè elementi di un bit aggregati in gruppi di otto (memorizzano un byte di memoria). Registri: particolari celle di memoria, che contengono i dati che vengono elaborati N.B. La RAM è volatile contenuto indirizzo

14 14 Tipi di memoria 2 Memoria di massa (dischi): i dati sono memorizzati in modo permanente I byte in memoria di massa non sono singolarmente indirizzabili e sono aggregati in sequenza dette files bytes

15 15 Linguaggi di programmazione 1 Le istruzioni di un programma vengono codificate (come i numeri, i caratteri, etc.) Linguaggio macchina: linsieme dei valori binari che codificano tutte le possibili istruzioni di un processore specifico per ogni calcolatore non è portabile (se cambia lindirizzo di una locazione bisogna cambiare il programma) difficile per lumano (gestire lunghe sequenze di bit)

16 16 Linguaggi di programmazione 2 Linguaggio assembler versione simbolica del linguaggio macchina (operazioni, dati indicati con nomi mnemonici). Specifico per ogni calcolatore I programmi vengono scritti come file di testo etradotti in linguaggio macchina da assemblatori traduzione (assemblatore ) 1. LOAD Y, R1; 2. ADD 2, R1; 3. STORE R1, X; indirizzo di y indirizzo di x

17 17 Linguaggi di programmazione 3 Linguaggi di alto livello permettono di scrivere programmi senza usare linguaggio macchina o assembler sono più vicini alluomo che alla macchina sono portabili (i programmi vengono tradotti in linguaggio macchina) sono di vari tipi: imperativi (C, Pascal), funzionali (Lisp, Haskell), orientati a oggetti (Java), etc. x=y+2 1. LOAD Y, R1; 2. ADD 2, R1; 3. STORE R1, X; linguaggio di alto livello linguaggio assembler linguaggio macchina

18 18 Variabili e costanti variabili:celle di memoria caratterizzate da identificatore e valore (assunto mediante assegnamenti) tipi di dato: indicano la gamma di valori che possono assumere (determinano lo spazio in memoria, prevengono errori di programmazione) booleano (0,1), intero (numero massimo di bit per evitare overflow dal calcolatore) reale (per rappresentare virgola mobile) carattere (in C 1 byte: codice ASCII o numero) costanti: valori fissi di ciascun programma


Scaricare ppt "1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta."

Presentazioni simili


Annunci Google