La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica Generale Marzia Buscemi

Presentazioni simili


Presentazione sul tema: "Informatica Generale Marzia Buscemi"— Transcript della presentazione:

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

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

3 Circuiti combinatori X Y n m n m
Circuiti combinatori: a partire da un input producono un certo output. Più precisamente: Input: X = x1,...,xn variabili N=2n sequenze I={I1,...,IN} Output: Y= y1,...,ym variabili M=2m sequenze O={O1,...,OM} Un circuito combinatorio realizza una funzione h : I  O Es.:  m n X Y n m

4 Circuiti sequenziali f: I x S  S f(Ih,Sk)=Shk nuovo stato
L’output è determinato non solo dall’input ma anche dallo stato del circuito (che dipende dagli input che si sono verificati negli istanti precedenti): Input: X=x1,...,xn variabili N=2n sequenze I={I1,...,IN} Output: Y=y1,...,ym variabili M=2m sequenze O={O1,...,OM} Stato: Z=z1,...,zl variabili L=2l sequenze S={S1,...,SL} Un circuito sequenziale realizza le funzioni: f: I x S  S f(Ih,Sk)=Shk nuovo stato g : I x S  O g(Ii,Sj)=Oij output

5 Circuiti sequenziali 2 S1 Diagramma di stato 2. Tavola di flusso S2
I1/O1 I1 I2 I3 S1 S1/O1 S2/O1 S2 S1/O2 S2/O2 S3/O2 S3 S2/O3 S1 I2/O1 I1/O2 S2 I2/ O2 I3/O3 I3/O2 S3 stati instabili sull’input I3

6 Circuiti sequenziali Y X
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 d’input p (segnale di marcatura) circ. seq. sincrono stato S n m Y X l p

7 Circuiti sequenziali sincroni
Registro: circuito sequenziale sincrono basilare valore dello stato è il valore d’input all’ultimo istante di marcatura valore dell’output uguale allo stato tutti i circuiti sequenziali sincroni si possono scrivere usando registri X Y p

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

9 La Programmazione

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 Elaborazione dei dati (esecuzione)
Algoritmi e programmi Elaborazione dei dati (esecuzione) Dati di input Dati di output Trasformazione dei dati di input e esecuzione passi specificati da un opportuno algoritmo Codificati opportunamente Umano (conosce l’algoritmo e scrive il programma) Calcolatore (esegue il programma) programma

12 Algoritmi e programmi 2 Algoritmo (def) : Programma (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 Tipi di memoria indirizzo 01 10 0000011 00000110 contenuto
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 indirizzo 01 10 contenuto

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 Linguaggi di programmazione 1
Le istruzioni di un programma vengono codificate (come i numeri, i caratteri, etc.) Linguaggio macchina: l’insieme dei valori binari che codificano tutte le possibili istruzioni di un processore specifico per ogni calcolatore non è portabile (se cambia l’indirizzo di una locazione bisogna cambiare il programma) difficile per l’umano (gestire lunghe sequenze di bit)

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 e “tradotti” in linguaggio macchina da assemblatori 1. LOAD Y, R1; 2. ADD 2, R1; 3. STORE R1, X; traduzione (assemblatore ) indirizzo di y indirizzo di x

17 Linguaggi di programmazione 3
Linguaggi di alto livello permettono di scrivere programmi senza usare linguaggio macchina o assembler sono più vicini all’uomo 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. 1. LOAD Y, R1; 2. ADD 2, R1; 3. STORE R1, X; x=y+2 linguaggio di alto livello linguaggio assembler linguaggio macchina

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 "Informatica Generale Marzia Buscemi"

Presentazioni simili


Annunci Google