FONDAMENTI DI INFORMATICA Prof. Lorenzo Mezzalira

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "FONDAMENTI DI INFORMATICA Prof. Lorenzo Mezzalira"

Transcript

1 FONDAMENTI DI INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 3 Architettura e linguaggio del calcolatore Indice 1. Funzioni logiche e circuiti logici 2. Circuiti di memoria 3. Unità funzionali del calcolatore 4. Memoria di lavoro 5. Interfacce di ingresso / uscita 6. Bus di sistema 7. Memoria di massa 8. Struttura della CPU 9. Linguaggio macchina e Assembler 3 - Architettura e linguaggio del calcolatore - 1

2 Funzioni logiche e circuiti logici Algebra di Boole L algebra di Boole definisce costanti e variabili logiche con i due valori Vero e Falso (True False), gli operatori logici And, Or e Not, e fornisce le regole per comporre, con l eventuale uso di parentesi, le espressioni logiche il cui valore è Vero o Falso. Le funzioni logiche sono importanti perchè consentono di esprimere delle condizioni, dipendenti da valori logici, sul cui esito basare la decisione di compiere o meno determinate operazioni. Un aspetto importante è la possibilità di mappare facilmente le funzioni logiche su circuiti elettronici digitali (detti circuiti logici o reti logiche) in modo da rendere concreto e automatico il comportamento descritto dalle funzioni logiche. Le funzioni logiche quindi assumono un importanza fondamentale sia negli aspetti SW (programmazione) sia negli aspetti HW (architettura) dei calcolatori. 3 - Architettura e linguaggio del calcolatore - 2

3 Funzioni logiche e circuiti logici Variabili logiche I bit possono rappresentare i valori logici vero (true) e falso (false) con i livelli di segnale elettrico H (high = 5V) e L (low = 0V) Operatori logici AND - prodotto logico * OR - somma logica + NOT - negazione! Si può dimostrare che con questi tre operatori sono esprimibili tutte le possibili funzioni logiche. Porte logiche (Gate) Sono dispositivi in grado di eseguire un operazione logica tra le variabili in ingresso (segnali in) e produrre in uscita (segnale out) il risultato. Sono realizzate generalmente mediante circuiti elettronici. Tabelle della verità Il risultato delle operazioni logiche, e quindi il comportamento delle porte logiche è in genere definito descrivendolo mediante tabelle di verità cioè tabelle che elencano tutte le combinazioni dei valori di ingresso (operandi) e per ognuna il corrispondente valore del risultato. 3 - Architettura e linguaggio del calcolatore - 3

4 Teorema di De Morgan Importante teorema dell algebra booleana A * B =!(!A +!B) E la forma duale A + B =!(!A *!B) Le equivalenze dettate dal teorema di De Morgan sono utili per effettuare eventuali semplificazioni nelle espressioni logiche, soprattutto quando si voglia passare da logica positiva a logica negativa. Logica positiva segnali attivi alti valore True associato al segnale H (es. +5 V) Logica negativa segnali attivi bassi valore True associato al segnale L (es. 0 V) Generalmente si adotta la logica positiva per i bit che rappresentano valori numerici, mentre per i bit che rappresentano valori o comandi logici si sceglie tra logica positiva o negativa in base ad altre considerazioni di progetto. Si rifletta sulla rilevante differenza tra un comando attivo (ON) e a riposo (OFF) nelle condizioni: default senza alimentazione in caso di guasto sicurezza 3 - Architettura e linguaggio del calcolatore - 4

5 PORTE LOGICHE Le porte logiche rappresentano circuiti che forniscono in uscita il risultato di operazioni logiche elementari sui valori delle variabili in ingresso. Porta AND - Prodotto logico A B Simbolo U Tabella della verità A B U Porta OR - Somma logica Simbolo A U B Tabella della verità A B U Porta NOT - Complemento Simbolo A U Tabella della verità A U Architettura e linguaggio del calcolatore - 5

6 FUNZIONI LOGICHE Sono descrivibili con espressioni logiche Esempio S = A *!B +!A * B R = A * B Tabelle della verità congiunte A B S R S vero se uno e uno solo di A e B è vero R vero se entrambi A e B sono veri Le funzioni logiche sono realizzabili circuitalmente (HW) mediante opportune connessioni (reti) di porte logiche Primo esempio di rete logica (Semisommatore) A e B sono gli ingressi A B S S e R sono le uscite R Si noti che la rete logica sopra rappresentata realizza la somma di due numeri binari ciascuno da un bit, dove A e B sono le cifre da sommare, S è la somma e R è il riporto. 3 - Architettura e linguaggio del calcolatore - 6

7 Secondo esempio di rete logica combinatoria Tabella della verità (Sommatore completo) A B RI S RO A e B sono le cifre degli addendi RI è il riporto da cifra meno significativa RO è il riporto verso cifra più significativa S = A*!B*!RI +!A*B*!RI +!A*!B*RI + A*B*RI RO = A*B + A*RI + B*RI La rete realizza la somma S delle due cifre binarie (bit) A e B di peso 2 i e il riporto RO di peso 2 i+1 in un numero di n bit, tenendo conto del riporto RI generato dalla somma dei due bit di peso 2 i-1 Con n reti di questo tipo e collegando in cascata i riporti uscenti RO con quelli entranti RI, si possono dunque sommare due numeri di n bit. A B RI S RO 3 - Architettura e linguaggio del calcolatore - 7

8 Esempio di circuito sommatore a 4 bit Composto da 4 sommatori completi in cascata Opera correttamente con codifica pesata o in cpl2 ADDENDO 1 ADDENDO 2 FA3 FA2 FA1 FA0 RISULTATO (Somma) Ai ROi Fai Si Bi RIi 3 - Architettura e linguaggio del calcolatore - 8

9 CIRCUITI DI MEMORIA Il circuito elementare di memoria binaria è costituito dal flip-flop (bistabile) che memorizza un bit. I flip-flop (FF) mantengono il loro stato 0 o 1 fino a quando ne viene comandata la commutazione. Esistono vari tipi di FF con diverse modalità di comando della commutazione o della memorizzazione di un nuovo valore binario. FF-SR - Set - Reset A S Q U B R a riposo A e B sono di valore 0 a riposo il valore presentato dall uscita U rimane memorizzato indefinitamente un valore 1 di A porta a U = 1 un valore 1 di B porta a U = 0 Poi A e B devono tornare a riposo FF-DT - Data - Trigger A D Q U B T a riposo B ha il valore 0 e qualunque sia il valore di A il valore di U non cambia quando B passa da 0 a 1 il valore di A presente in quel momento viene memorizzato e presentato su U Poi B deve tornare a riposo 3 - Architettura e linguaggio del calcolatore - 9

10 REGISTRI Sono memorie che contengono una parola di N bit (in genere 8, 16, 32), ottenute affiancando N flip-flop di tipo FF-DT Esempio di registro di 8 bit. carica D7 D6 D5 D4 D3 D2 D1 D0 T T T T T T T T Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 Il segnale carica è collegato a tutti gli ingressi di comando T degli 8 FF-DT. Si noti che il segnale carica è un esempio di bit utilizzato per rappresentare un informazione di tipo comando e non un informazione di tipo dato. D7.. D0 sono gli 8 bit del dato da memorizzare collegati ai rispettivi ingressi D. Quando carica passa da 0 a 1 i valori degli 8 bit vengono memorizzati nel registro. Q7.. Q0 sono le uscite dei FF-DT e presentano i valori degli 8 bit del dato memorizzato. 3 - Architettura e linguaggio del calcolatore - 10

11 Esecuzione dei programmi Esemplificazione: esecuzione manuale di un programma istruzioni da eseguire Nella tabella è riportata la traccia di esecuzione con i valori assunti dalle variabili nei punti significativi A, B,.. F (si supponga che i dati in ingresso siano 7 e 3)... int w, y, z; int sp, ns; // - A - leggi w; leggi y; sp=0; ns=y; // - B - while (ns >0) sp=sp+w; ns=ns-1; // C, D, E z=sp; // - F - scrivi z; Punti della traccia di esecuzione A B C D E F w?? y?? sp?? ns?? z?????????? 21 A: valore dopo la dichiarazione B: valore dopo l inizializzazione C: valore dopo la 1ma iterazione del ciclo D: valore dopo la 2nda iterazione del ciclo E: valore dopo l ultima iterazione del ciclo F: valore al termine del programma Istruzioni: in memoria scritte e leggibili Variabili: in memoria scrivibili e leggibili 3 - Architettura e linguaggio del calcolatore - 11

12 Esecutore calcolatore: requisiti funzionali Che cosa deve saper fare un calcolatore per eseguire i programmi? mantenere e rendere accessibili istruzioni e dati memoria di lavoro Prelevare da memoria di lavoro, capire ed eseguire le istruzioni unità centrale di elaborazione (CPU - Central Processing Unit) interagire (scambiare informazioni) con il mondo esterno interfacce di I/O Architettura di Eckert - Mauchly - Von Neumann Può essere considerato un modello tipico dell architettura interna di un calcolatore. L architettura che consideriamo è costituita da 3 blocchi funzionali collegati tra loro tramite un BUS (insieme di collegamenti elettrici) che consente il trasferimento di informazioni tra i blocchi funzionali stessi. 3 - Architettura e linguaggio del calcolatore - 12

13 Schema dell architettura tipica di Calcolatore MEMORIA DI LAVORO UNITA CENTRALE DI ELABORAZIONE CPU RAM ROM BUS INDIRIZZI BUS DATI BUS BUS CONTROLLO IN/OUT INPUT INPUT OUTPUT OUTPUT INTERFACCE VIDEO UNITA DISCO MOUSE TASTIERA STAMPANTE UNITA PERIFERICHE 3 - Architettura e linguaggio del calcolatore - 13

14 FUNZIONALITÀ GENERALE DEL CALCOLATORE Esecuzione dei programmi per poter eseguire un programma è necessario che questo sia caricato (in formato eseguibile) nella memoria di lavoro. la CPU legge da memoria di lavoro, interpreta ed esegue le istruzioni del programma operando sulle variabili (dati), anch esse allocate nella memoria di lavoro. La CPU può essere considerata l unità attiva del calcolatore. la CPU per leggere ed eseguire le istruzioni gestisce, controlla e temporizza il funzionamento delle altre unità (memoria di lavoro e interfacce) tramite i segnali del bus. le istruzioni devono essere espresse in codice macchina, cioè nel formato direttamente interpretabile dalla CPU. Ogni istruzione in codice macchina è quindi rappresentata da una sequenza di 0 e 1 che la identifica in modo univoco. le variabili devono essere accessibili alla CPU: il riferimento ad una variabile è rappresentato da un indirizzo della memoria di lavoro. Il valore della variabile è contenuto nella parola di memoria associata all indirizzo ed è rappresentato tramite una codifica binaria opportuna, dipendente dal tipo di variabile. 3 - Architettura e linguaggio del calcolatore - 14

15 Bus di sistema - 1 Il BUS è il sistema di comunicazione che consente il trasferimento delle informazioni dalla memoria di lavoro e dalle interfacce di I/O alla CPU e viceversa. E costituito da un numero adeguato di conduttori che trasportano ognuno il segnale elettrico relativo ad un bit. I bit possono essere di selezione (indirizzi) di informazione (istruzioni e dati) o di controllo (comandi). Ogni trasferimento costituisce una transazione, normalmente basata su un singolo ciclo di bus. Per ogni transazione sul bus esiste una e una sola unità funzionale che gioca il ruolo di master (cioè controllore, solitamente la CPU), mentre le altre unità sono nel ruolo di slave (elementi asserviti; tipicamente la memoria di lavoro e le interfacce verso le periferiche e il mondo esterno). I conduttori del bus collegano in parallelo i vari elementi che possono generare il segnale corrispondente e/o ricevere tale segnale. Per i segnali generabili da diversi dispositivi occorre un appropriata gestione del pilotaggio che eviti i possibili conflitti elettrici, che si verificherebbero qualora diversi dispositivi tentassero contemporaneamente di imporre livelli alti e bassi su uno stesso segnale. 3 - Architettura e linguaggio del calcolatore - 15

16 Importanza della struttura a bus Una struttura a bus è molto regolare e quindi si presta a sfruttare le interessanti caratteristiche della modularità, se si realizzano le varie unità funzionali come moduli fisici inseribili nei connettori del bus: Riconfigurabilità Estendibilità Facilità di manutenzione Lungo ciclo di vita degli elementi costituenti l architettura Per godere di questi vantaggi un bus deve essere standardizzato, cioè corredato di specifiche chiare e complete sulle caratteristiche fisiche, sul comportamento temporale e sul significato dei vari segnali. Queste specifiche devono essere seguite dai costruttori dei moduli. Sono stati proposti diversi bus di sistema per calcolatori, con diversi gradi di complessità e corrispondenti diversi livelli di prestazioni e diverse finalità. Poiché la modularità completa ottimizza la riconfigurabilità a scapito dell economicità, spesso si adottano soluzioni di compromesso nella struttura fisica dei calcolatori, con l adozione di piastre madre (motherboard) contenenti la porzione fissa dell architettura del calcolatore e dotate di bus di espansione per i moduli fisici aggiuntivi, per i quali è importante la possibilità di riconfigurazione ed estensione. 3 - Architettura e linguaggio del calcolatore - 16

17 Principali tipi di cicli di bus I trasferimenti di informazioni sul bus hanno come protagoniste l unità funzionale che in quel momento gioca il ruolo di master e un unità slave Il master è in genere la CPU, ma occasionalmente può essere anche un controllore di DMA (Direct Memory Access). L unità slave può essere una memoria o un interfaccia di I/O o un unità di servizio, ad es. un timer. La direzione del trasferimento tra master e slave determina la classificazione nelle due categorie di operazioni. Ciclo di lettura: l elemento slave è la sorgente dell informazione e il master ne è la destinazione. Ciclo di scrittura: il master è la sorgente dell informazione destinata all elemento slave. Una seconda classificazione distingue i cicli di bus riferiti alla memoria o ad un interfaccia. Quindi i cicli di trasferimento sono classificabili nei seguenti tipi: Lettura da memoria (memory read) Scrittura in memoria (memory write) Lettura da I/O (I/O read o IN) Scrittura in I/O (I/O write o OUT) Sono inoltre previsti particolari cicli di gestione dei meccanismi di Interruzione e di DMA, sinteticamente presentati nel seguito. 3 - Architettura e linguaggio del calcolatore - 17

18 Fasi di un ciclo di bus Un ciclo di trasferimento si può generalmente scomporre nelle seguenti fasi. Selezione del partner Eventuale attesa (con unità lente) Trasferimento dei dati Conclusione (ritorno allo stato di riposo dei segnali) Selezione In questa fase il master seleziona l elemento slave coinvolto dal trasferimento, precisando il tipo di elemento (memoria o I/O) e la direzione (lettura o scrittura). Eventuale attesa Questa fase viene eseguita solo se l elemento slave coinvolto è relativamente lento e quindi richiede per il corretto trasferimento che venga concesso (con l inserimento di stati di wait) un tempo di accesso maggiore di quello dei normali cicli del bus. Trasferimento dei dati In questa fase l informazione viene emessa dalla sorgente e l unità destinazione del trasferimento cattura (cioè memorizza localmente in un registro) tale informazione. Conclusione In questa fase tutti i segnali sono ordinatamente riportati nello stato di riposo. 3 - Architettura e linguaggio del calcolatore - 18

19 Tipi di circuiti di pilotaggio Poichè la maggior parte dei segnali di un bus devono poter essere comandati (pilotati) da diversi dispositivi, occorre prevedere diversi tipi di circuiti di pilotaggio dei segnali in uscita, adatti per i vari casi e che consentono di evitare conflitti elettrici. Invece i morsetti di ingresso dei segnali presentano normalmente un basso assorbimento (cioè alta impedenza) e quindi il collegamento di più ingressi (fino ad un numero massimo specificato) ad uno stesso segnale del bus non pone problemi. +Vcc è la tensione di alimentazione dei circuiti integrati che generano i segnali logici (digitali). GND = Ground = massa è il potenziale a zero Volt dell alimentazione, che fa da riferimento di zero per i segnali elettrici. Cortocircuito dell alimentazione è il fenomeno che si verifica quando venga a formarsi un percorso a bassa impedenza tra +Vcc e GND. In caso di cortocircuito si ha un conflitto elettrico che da luogo a correnti elevate (più del valore nominale) rendendo non significativo il livello di tensione del segnale e danneggiando, anche definitivamente, i circuiti che generano il segnale. 3 - Architettura e linguaggio del calcolatore - 19

20 Tipi di circuiti di pilotaggio Totem-pole Sono circuiti modellabili con un contatto a scambio, in grado di forzare (pilotare con bassa impedenza) o un livello alto o un livello basso. +Vcc GND U Conduttore Del BUS Questi circuiti vanno usati solo per i segnali che sono sempre comandati da uno stesso unico circuito. Infatti se uno stesso segnale venisse comandato da più circuiti di tipo totem-pole si verificherebbero conflitti elettrici nel caso di discordanza dei valori logici generati dai vari circuiti. 3 - Architettura e linguaggio del calcolatore - 20

21 Tipi di circuiti di pilotaggio Tri-state Sono circuiti modellabili con un contatto in grado di forzare (pilotare con bassa impedenza) o un livello alto o un livello basso, in serie con un contatto che quando è aperto consente di lasciare libero (alta impedenza high-z) il segnale. +Vcc GND U OE R U Conduttore Del BUS Questi circuiti vanno usati per i segnali che possono essere comandati da diversi circuiti durante intervalli di tempo diversi, cioè in mutua esclusione. Talvolta per questi segnali è previsto un resistore collegato all alimentazione (+Vcc), detto resistenza di pull-up , che porta al livello alto il segnale nel caso che tutti i circuiti che lo pilotano siano nello stato di alta impedenza. I circuiti con uscita tri-state prevedono anche un ingresso di controllo, detto Output Enable (OE), che al livello di riposo forza lo stato di alta impedenza, mentre al livello attivo impone in uscita il livello logico (alto o basso) del circuito. In molti circuiti integrati disponibili in commercio il comando di OE è attivo basso. I circuiti di tipo tri-state, con i relativi comandi OE, si trovano tipicamente nei circuiti di memoria e delle porte di I/O, per pilotare i morsetti che producono i dati da immettere nel bus dati. 3 - Architettura e linguaggio del calcolatore - 21

22 Tipi di circuiti di pilotaggio Open-collector Sono circuiti modellabili con un contatto chiuso a massa oppure aperto, in grado di forzare (pilotare con bassa impedenza) solo un livello basso oppure di lasciare libero (alta impedenza high-z) il segnale. Per questi segnali è previsto in generale un resistore collegato all alimentazione (+Vcc), detto resistenza di pull-up, che porta al livello alto il segnale quando l uscita è nello stato di alta impedenza. Il livello basso è quindi dominante su quello alto, nel senso che quando si hanno due circuiti che pilotano una stessa linea del bus con pilotaggio open-collector, se uno propone un livello alto e l altro impone un livello basso prevale quest ultimo e sulla linea del bus si avrà un segnale logico a livello basso, senza conflitti elettrici. +Vcc R Conduttore Del BUS GND U Questi circuiti vanno usati per i segnali che possono essere comandati da diversi circuiti, anche contemporaneamente. 3 - Architettura e linguaggio del calcolatore - 22

23 Open-collector Tra i circuiti open-collector collegati ad uno stesso conduttore si realizza una funzione logica cablata : Wired-AND rispetto al livello dominato, che è quello alto, in logica positiva. Per avere segnale alto occorre che tutti i circuiti propongano un livello alto. Wired-OR rispetto al livello dominante, che è quello basso, in logica negativa. Per avere un segnale basso basta che almeno uno dei circuiti proponga un livello basso. Spesso si opera in logica negativa per effettuare la funzione OR tra più richieste concomitanti, come ad es. per i segnali di richiesta di interruzione alla CPU provenienti da diversi richiedenti, anche contemporaneamente. 3 - Architettura e linguaggio del calcolatore - 23

24 Le parti di un bus di sistema L insieme dei conduttori dei bus di sistema può essere scomposto in diversi sottoinsiemi ognuno dedicato a specifiche funzionalità. Bus Dati I segnali sono destinati a rappresentare la codifica binaria delle informazioni (istruzioni o dati) da trasferire da una unità all altra, e sono comandati dal dispositivo sorgente. Il contenuto può essere fornito dalla memoria o da una porta di ingresso (ciclo di lettura), oppure dalla CPU (ciclo di scrittura). I conduttori sono 8, 16, 32 a seconda della lunghezza di parola del sistema. Al termine del trasferimento, in caso di lettura, il contenuto del bus dati è memorizzato in un registro d appoggio della CPU (registro dati). In caso di scrittura, la CPU utilizza il registro dati per presentare la configurazione sul bus, che verrà inserita nella parola di memoria o nella porta di uscita indirizzata. Bus Indirizzi I segnali sono usati dal dispositivo master per rappresentare con codifica binaria pesata l indirizzo che identifica il modulo slave e il suo registro interno (o la cella di memoria) interessato dal trasferimento. Si hanno bus con 10, 16, 20, 24, 32 bit di indirizzo, a seconda dell estensione dell area di indirizzamento prevista. Con k bit (conduttori) di indirizzo, le parole di memoria indirizzabili sono 2 k L indirizzo è in genere fornito dalla CPU che utilizza un suo registro interno d appoggio (registro indirizzi) per presentare la configurazione sul bus.. In genere k = Architettura e linguaggio del calcolatore - 24

25 Bus di Controllo I segnali hanno lo scopo di qualificare il tipo di trasferimento (lettura o scrittura, memoria o I/O) e di temporizzare la validità di indirizzi e dati e sono per lo più gestiti dal dispositivo master, ad eccezione dei segnali di richiesta (wait, interrupt, DMA) che sono gestiti dalle unità slave richiedenti. La CPU gestisce i segnali del bus di controllo mediante la sua unità di controllo. I segnali del bus di controllo possono essere anche molto diversi tra i vari tipi di bus adottati per i diversi calcolatori, anche se le operazioni di trasferimento sono concettualmente le stesse. Bus Servizi Sono segnali ausiliari come, ad esempio, di Reset e Clock di sistema. Bus Alimentazioni Non si tratta di segnali ma di conduttori per la massa e le varie tensioni di alimentazione usate dai moduli del sistema. Spesso +5V, +12V, -5V e GND 3 - Architettura e linguaggio del calcolatore - 25

26 Un esempio di bus Il bus MMS-8 Progettato a metà anni 70 per i microprocessori a 8 bit con i seguenti obiettivi: semplice ed economico, ma adatto per i tipici processori a 8 bit chiaro significato dei segnali per una standardizzazione adatto anche per scopi didattici concettuali e/o applicativi sperimentali Bus Dati DB7.. DB0 Tri-state 8 bit Bus Indirizzi AB15.. AB0 Tri-state 16 bit = Spazio di indirizzamento 64k 3 - Architettura e linguaggio del calcolatore - 26

27 Bus di controllo MMS8 ADMEM Tri-state Attivo basso indica indirizzo valido per accessi a memoria. ADPER Tri-state Attivo basso indica indirizzo valido per accessi a periferica. WRITE Tri-state Basso indica scrittura, alto lettura DATEN Tri-state Attivo basso indica l intervallo di tempo destinato al trasferimento dei dati NOTYET Open-collector Attivo basso comandato dai moduli slave che richiedono un prolungamento del ciclo di bus, con inserzione di stati di wait INTREQ Open-collector Attivo basso comandato dai moduli che vogliono inoltrare richiesta di interruzione INTACK Totem-pole Attivo basso comandato dalla CPU quando accetta una interruzione HOLDREQ Open-collector Attivo basso comandato dai moduli DMA Controller, che vogliono inoltrare richiesta di gestire trasferimenti con DMA HOLDACK Totem-pole Attivo basso comandato dalla CPU quando ha rilasciato (cioè posto in condizione tri-state) il controllo del bus accettando una richiesta da un controllore di DMA 3 - Architettura e linguaggio del calcolatore - 27

28 Bus servizi - MMS8 RESET CLOCK Bus alimentazioni MMS8 +5V +12V -5V GND Riferimento comune di massa a 0V 3 - Architettura e linguaggio del calcolatore - 28

29 Forme d onda di segnali di bus Con il termine forma d onda di segnali digitali si intende la descrizione grafica schematizzata dell andamento temporale di tali segnali. La descrizione è su un piano cartesiano con l asse delle ascisse che rappresenta il tempo. La scala dei tempi è spesso molto dilatata (i centimetri corrispondono a poche decine di nanosecondi) e le commutazioni dei segnali sono rappresentate con segmenti non perfettamente verticali, ma con una leggera inclinazione, per evidenziare che le commutazioni non sono istantanee ma che richiedono un certo tempo (in genere pochi ns). Per i segnali aggregati a rappresentare un unica informazione (come quelli degli indirizzi o quelli dei dati) si indicano contemporaneamente i livelli alto e basso, per rappresentare il fatto che alcuni di essi assumono un livello e altri l altro livello. I momenti di commutazione sono rappresentati con uno o più incroci ad X. Nelle forme d onda dei segnali digitali sono rappresentate in modo significativo le correlazioni temporali tra le commutazioni e gli intervalli di stabilità dei vari segnali. Sono invece rappresentati in modo schematico e semplificato i livelli dei segnali. Per i segnali analogici, invece, anche il livello del segnale è rappresentato con accuratezza nell andamento temporale del suo valore. 3 - Architettura e linguaggio del calcolatore - 29

30 Esempi di forme d onda di cicli di bus MMS-8 Scrittura in Memoria Sorgente CPU AB0..AB15 Indirizzo impostato dal master ADMEM Indirizzo valido per accesso a memoria ADPER WRITE Operazione di scrittura DB0..DB7 Dati da master DATEN Dati validi NOTYET Eventuale richiesta di wait Accesso a memoria T CPU Deco difica tore MEMORIA PAROLA 0 PAROLA 1 PAROLA 2 PAROLA 3 R. dati Unità di controllo R. indirizzi BUS INDIRIZZI WM RM BUS DATI BUS CONTROLLO WM è il segnale Write Memory = scrittura memoria RM è il segnale Read Memory = lettura memoria 3 - Architettura e linguaggio del calcolatore - 30

31 Lettura da periferica Destinazione CPU AB0..AB15 Indirizzo impostato dal master ADMEM ADPER Indirizzo valido per accesso a periferica WRITE Operazione di lettura DB0..DB7 Dati da periferica DATEN Dati validi NOTYET Eventuale richiesta di wait Caricamento da bus dati a registro dati della CPU Accesso a unità periferica CPU T R. dati Unità di controllo R. indirizzi BUS INDIRIZZI BUS DATI BUS CONTROLLO WO Deco difica tore PORTA OUT (RDP) RI PORTA IN (RDP) PERIFERICA DI USCITA WO è il segnale Write Output = scrittura su porta RI è il segnale Read Input = lettura da porta PERIFERICA DI INGRESSO 3 - Architettura e linguaggio del calcolatore - 31

32 Esempio di banco di memoria di 4 Kbyte interfacciato sul bus VCC AB15 AB14 AB13 AB12 Comparatore = Selezione indirizzo di un modulo 1 = APERTO AB11 AB0 A A0 Chip di Memoria da 4K Byte ADMEM CS WRITE WR DATEN OE D D0 Timer OE OE NOTYET DB7 DB0 A15.. A0 bit di indirizzamento CS Chip Select attivo basso abilita la memoria A livello alto la memoria rimane inattiva WR Write attivo basso comanda la scrittura (memorizzazione) A livello alto viene comandata la lettura OE Output Enable attivo basso attiva le uscite dei bit A livello alto le uscite sono ad alta impedenza D7.. D0 bit dei dati 3 - Architettura e linguaggio del calcolatore - 32

33 Memoria di lavoro - 1 è un insieme ordinato di parole (celle) che possono contenere (memorizzare) informazioni, e cioè le istruzioni e i dati La memoria di lavoro può essere pensata come una tabella monodimensionale, nella quale gli elementi sono le parole di memoria una parola di memoria è costituita da h elementi di memoria binari (ad es. h = 8, 16, 32, 64 bit). E come un registro. Esempio di parola da 16 bit: la posizione di ogni parola nella memoria è identificata in modo univoco da un numero intero positivo, detto indirizzo della parola di memoria, codificato in binario senza segno per accedere ad una generica parola di memoria è necessario fornire all unità di memoria l indirizzo di tale parola (che la identifica in modo univoco) e attivare il comando di lettura o quello di scrittura. lettura estrae una copia del contenuto della cella che rimane immutato scrittura inserisce nella cella un valore che sostituisce il precedente se k è il numero di bit disponibili per specificare l indirizzo, allora 2 k è l area di memoria fisica indirizzabile. Ad esempio, con 23 bit di indirizzo lo spazio di indirizzamento è di 8Mega parole. 3 - Architettura e linguaggio del calcolatore - 33

34 Memoria di lavoro - 2 la memoria di lavoro è detta ad accesso casuale, perché il meccanismo di indirizzamento di cui è dotata consente di accedere direttamente e con gli stessi tempi ad una qualsiasi parola, senza obbligare a procedere per indirizzi sequenziali. la memoria di lavoro è, in generale, composta da due tipi di memorie: la memoria RAM (Random Access Memory) la memoria ROM (Read Only Memory). le parole di memoria RAM sono modificabili, cioè leggibili e scrivibili. La memoria ROM è solo leggibile: le informazioni vengono scritte in modo permanente di solito dal costruttore, prima dell installazione nel calcolatore. Caratteristiche tecnologiche delle memorie di lavoro: sono realizzate con circuiti integrati a semiconduttori (transistori) la memoria RAM con le attuali tecnologie elettroniche è volatile e quindi mantiene le informazioni solo quando è alimentata. all accensione il contenuto delle parole di memoria RAM è non significativo, cioè non ha alcuna correlazione col contenuto al momento dello spegnimento nella memoria ROM le informazioni sono permanentemente scritte e non modificabili (quindi non volatili) i tempi di accesso alla singola parola di memoria sono dell ordine delle decine o centinaia di nanosecondi la memoria di lavoro è una memoria ad accesso veloce rispetto alla memoria di massa (che ha tempi di accesso dell ordine delle decine di millisecondi e quindi circa 1 milione di volte più lenta) ma ha un numero di parole inferiore. 3 - Architettura e linguaggio del calcolatore - 34

35 Schema funzionale della memoria di lavoro (RAM) Indirizzo = D e c o d i f i c a BUS indirizzi READ = 1 WRITE = 0 Registro lettura / scrittura BUS Dati BUS Controllo OUT = 0 INPUT = 0 Nell esempio sopra riportatosi ha: BUS Indirizzi di 12 bit (da 0 a 4095) BUS Dati e parole di memoria di 8 bit Nello schema è evidenziato il caso di lettura da memoria all indirizzo 577 che in binario su 12 bit è (HEX 0241h) il cui contenuto letto è (HEX 02Dh) 3 - Architettura e linguaggio del calcolatore - 35

36 Una possibile partizione della memoria di lavoro 0000 INDIRIZZI RAM Area per dati di sistema R A M RAM Area codice RAM Area dati Area di lavoro per i programmi applicativi 2 K - 1 R O M RAM Area codice e dati di Sistema ROM Area codice e tabelle Sistema Operativo Area indirizzabile libera per eventuali espansioni di memoria Area indirizzabile Area di lavoro del Sistema Operativo 3 - Architettura e linguaggio del calcolatore - 36

37 Problematiche di interfacciamento Il concetto di interfacciamento entra in gioco in tutti i casi in cui debbano interagire tra loro delle entità diverse. Le interazioni si manifestano con scambi di informazioni (dati e comandi). I confini che individuano le entità interagenti possono essere assunti con larga arbitrarietà ed in particolare dipendono dal livello di astrazione e aggregazione con cui si considera il sistema. Infatti ciò che ad un alto livello di astrazione può essere considerato un sistema unico, a livelli di astrazione più bassi potrà essere scomposto in vari sottosistemi interagenti tra loro. Tra le entità interagenti esistono in generale delle disomogeneità, il cui superamento, con opportune catene causa-effetto di fenomeni, costituisce il problema centrale dell'interfacciamento. I problemi di interfacciamento sono ovviamente tanto più articolati quanto più marcate sono le disomogeneità da superare. Concentriamo la nostra attenzione sull'interazione tra calcolatori e mondo esterno vista ad un livello di astrazione relativamente elevato. 3 - Architettura e linguaggio del calcolatore - 37

38 Interfacciamento Ovviamente è essenziale, per l'utilità di un calcolatore, la possibilità che esso possa ricevere dal mondo esterno informazioni ed emettere verso di esso risultati e comandi in modo corretto e tempestivo. FENOMENO CALCOLATORE Informazione A Catena di interfaccia di acquisizione Immagine A Input Acquisizione di informazioni Output Emissione di comandi Causa prima A = aspetto rilevante del fenomeno = informazione da acquisire B = immagine di B Effetto finale A = immagine di A B = aspetto del fenomeno = informazione emessa Nel gergo informatico il calcolatore è considerato il punto di riferimento rispetto alla direzione dei flussi di informazioni; si parla quindi di ingressi ed uscite (I/O = Input / Output) rispetto al calcolatore, salvo che si stia considerando esplicitamente ed isolatamente un altro sottosistema. 3 - Architettura e linguaggio del calcolatore - 38

39 Interfacciamento Tutto ciò che non è direttamente governabile dall'unità centrale del calcolatore tramite i segnali del bus di sistema, viene in genere chiamato "mondo esterno". Con questa definizione appartengono al mondo esterno anche tutte le unità periferiche e le stesse memorie di massa, indipendentemente dalla loro collocazione fisica eventualmente all'interno dello stesso contenitore del calcolatore. Queste unità periferiche sono infatti sede di fenomeni dotati di una propria dinamica indipendente dai ritmi interni di funzionamento della CPU. Tra il calcolatore (elettronico, digitale binario, programmabile) ed i sistemi del mondo esterno (che possono essere i più disparati, con fenomeni elettrici, meccanici, ottici, chimici, ecc.) esistono varie disomogeneità, più o meno accentuate a seconda dei casi. Si hanno in generale disomogeneità: fisiche formali temporali spaziali attitudinali 3 - Architettura e linguaggio del calcolatore - 39

40 Interfacciamento Un corretto interfacciamento di un calcolatore con il mondo esterno richiede che vengano superate queste disomogeneità, mediante l'impiego integrato delle tecniche circuitali (HW = hardware) e programmative (SW = software) di volta in volta più opportune. Come si è detto, queste disomogeneità vengono in genere superate con catene di dispositivi interagenti: FENOMENO sensore - trasduttore - mezzo trasmissivo - trasduttore CALCOLATORE Queste catene di trasferimenti e trasformazioni di informazioni attraversano diversi strati esterni ed interni al calcolatore (fig. seguente). Fig. - Elementi dell interfacciamento 3 - Architettura e linguaggio del calcolatore - 40

41 Il progetto di un interfaccia consiste quindi nell individuazione di una catena di elementi che complessivamente soddisfano i requisiti globali di trasferimento e trasformazione delle informazioni, preservando il contenuto informativo rilevante attraverso tutte le trasformazioni intermedie. Inoltre il modello di comunicazione delle informazioni tra i vari elementi dipende dal livello di astrazione a cui ci si pone, che a sua volta dipende da dove si collocano i problemi dominanti: così un astrazione Fisica ed Elettronica si focalizzerà sulle interazioni tra grandezze fisiche dei fenomeni (trasformazioni operate da sensori e trasduttori), un'astrazione Informatica si centra sul problema del significato e della rappresentazione delle informazioni, mentre un'astrazione di Telecomunicazione si centra sul problema del loro trasporto. 3 - Architettura e linguaggio del calcolatore - 41

42 Interfacciamento Analizziamo ora brevemente i vari tipi di disomogeneità sopra citati. La disomogeneità FISICA si riferisce al fatto che le grandezze fisiche messe in gioco dai fenomeni del mondo esterno o non sono grandezze elettriche o non sono di valore compatibile con quelle dei circuiti di un calcolatore. Il superamento delle disomogeneità fisiche richiede l uso di sensori, trasduttori e attuatori che effettuano il trasferimento delle informazioni da un fenomeno ad un altro. Questi dispositivi, per alcuni tipi di fenomeni e grandezze fisiche, possono essere anche molto complessi. Una disomogeneità FORMALE deriva dalle caratteristiche del segnale usate per rappresentare le informazioni. Per esempio casi tipici sono costituiti dalle grandezze analogiche, oppure da codifiche digitali particolari (codici BCD, Gray, ecc.). 3 - Architettura e linguaggio del calcolatore - 42

43 Interfacciamento Una disomogeneità TEMPORALE deriva dal fatto che i fenomeni del mondo esterno sono asincroni, evolvono cioè con una loro dinamica indipendente dai tempi di evoluzione dei programmi all'interno del calcolatore. C'è quindi un problema di sincronizzazione affinchè le operazioni di acquisizione, elaborazione ed emissione di informazioni da parte del calcolatore avvengano in istanti opportuni rispetto all evoluzione dei fenomeni esterni. Si noti che la dinamica dei fenomeni dipende spesso da leggi fisiche o eventi casuali su cui non è facile intervenire, ed è quindi in generale il calcolatore a doversi adeguare ai tempi dei fenomeni esterni. Vengono utilizzate per la sincronizzazione: tecniche circuitali, i tre meccanismi di base classici per sincronizzare l esecuzione di programmi con eventi esterni: o controllo di programma (polling) o interruzione di programma (interrupt), o DMA (accesso diretto alla memoria) meccanismi di sincronizzazione e temporizzazione dei processi SW di elaborazione interna al calcolatore (trattati nella seconda parte del corso - Sistemi Operativi). 3 - Architettura e linguaggio del calcolatore - 43

44 Interfacciamento disomogeneità TEMPORALE (seguito) Un altro aspetto di cui si deve tener conto è il comportamento di dispositivi nel tempo continuo (tipico dei fenomeni della fisica classica) che è diverso dai comportamenti nella funzionalità sequenziale (tipica dei sistemi digitali e in particolare dei calcolatori). Il corretto superamento di queste disomogeneità temporali costituisce uno dei problemi centrali della cosiddetta elaborazione in tempo reale. La disomogeneità SPAZIALE si riferisce alla collocazione del calcolatore e dei dispositivi con esso interagenti, che possono essere posti a distanze anche rilevanti. Il superamento di questo aspetto viene realizzato mediante opportune tecniche di trasmissione, in cui gli aspetti di trasporto delle informazioni assumono un'influenza rilevante. 3 - Architettura e linguaggio del calcolatore - 44

45 Interfacciamento La disomogeneità ATTITUDINALE si evidenzia nell interfacciamento tra elementi attivi, e tipicamente nell'interfacciamento con l'uomo, che ha caratteristiche di comprensione ed elaborazione delle informazioni molto diverse da quelle del calcolatore. I problemi di adattamento a queste diversità attitudinali sono risolti di solito con unità periferiche opportune, ("ergonomiche") e con opportuni algoritmi per la gestione di queste unità in modo "user friendly" (interattività uomo- macchina). 3 - Architettura e linguaggio del calcolatore - 45

46 Interfacce circuitali Le interfacce sono costituite dall'insieme di funzionalità HW e SW. Spesso è necessario, o conveniente, centrare l'attenzione sugli aspetti circuitali, considerando quelli programmativi come se fossero un'estensione dei primi. Interfacce circuitali elementari Le interfacce elementari, dette generalmente porte, sono costituite da registri o da buffer accessibili dalla CPU mediante apposite istruzioni macchina di lettura (IN) o scrittura (OUT). Questi registri sono simili a celle di memoria (e in alcuni calcolatori appartengono allo stesso spazio di indirizzamento, con l'approccio detto "memory mapped I/O") ma presentano, a differenza delle celle di memoria, la caratteristica di essere collegati con elementi del mondo esterno. Informazioni associate a STATI Valori di grandezze fisiche (temperature, velocità, forze, ecc.) o informazioni che possono essere lette in ogni momento. Informazioni associate ad EVENTI Informazioni che sono disponibili solo quando si verificano eventi (pressione di un tasto, ecc.) 3 - Architettura e linguaggio del calcolatore - 46

47 Acquisizione di informazioni associate a stati Informazioni permanenti Per l'acquisizione di informazioni associate a stati, le porte di ingresso sono costituite da "buffer" che, quando sono attivati dalla corrispondente operazione di lettura, immettono sul BUS DATI, in modo trasparente, i valori binari presenti in quel momento ai loro morsetti esterni. Con questo tipo di porte di ingresso l acquisizione di informazioni è come una fotografia della configurazione di bit in quel momento, scattata dall istruzione IN. BUS INDIRIZZI +5 V - VCC AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 Comparatore tra indirizzi e contatti di selezione Se eguali uscita = 1 0 V - GND Contatti di selezione indirizzo del modulo APERTO = 1 CHIUSO = 0 Morsetti dal mondo esterno D D0 BUS di CONTROLLO ADPER WRITE DATEN Buffer trasparente tri-state OE DB7 BUS DATI DB0 Schema semplificato di porta di ingresso per informazioni di stato con buffer trasparente tri-state. 3 - Architettura e linguaggio del calcolatore - 47

48 Acquisizione di informazioni associate ad eventi Informazioni transienti Quando si debbano invece acquisire informazioni associate ad eventi, occorre utilizzare come porte di ingresso dei registri (ad esempio di tipo "latch") che siano in grado di memorizzare il valore associato all'evento quando esso accade, mantenendolo "congelato" fino a quando sarà letto dal processore. E come una fotografia scattata dal verificarsi di un evento che produce dei dati e non dall esecuzione dell operazione di INPUT. In questo caso occorrono anche bit ausiliari per la gestione del rapporto di sincronizzazione: Produttore (mondo esterno) Consumatore (calcolatore). 3 - Architettura e linguaggio del calcolatore - 48

49 Sincronizzazione dell acquisizione Occorrono meccanismi ausiliari per consentire alla CPU di sapere se nella porta è contenuta un informazione associata ad un nuovo evento. Questi meccanismi, nel caso più semplice si riducono ad un flip-flop tipo RS. Il verificarsi dell evento agisce sul comando Set del FF, portandolo nello stato 1. La CPU quando trova FF = 1 legge la porta che contiene una nuova informazione e poi con il comando Reset riporta il FF = 0 per indicare che non ci sono informazioni nuove. Il FF assume il significato di nuovo dato pronto Dopo l acquisizione il contenuto della porta non viene generalmente cancellato, ma è considerato consumato (= usato). In altri termini il FF così gestito funge da elemento di sincronizzazione tra l acquisizione di dati e gli eventi esterni che li producono. Quando la CPU eseguirà l operazione di INPUT riceverà, tramite il bus dati, il valore memorizzato a suo tempo e non la configurazione di bit presente in quel momento ai morsetti della porta. 3 - Architettura e linguaggio del calcolatore - 49

50 Acquisizione di dati associati ad eventi Porta di ingresso per informazione di evento con latch a memoria BUS INDIRIZZI +5 V - VCC AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 Comparatore tra indirizzi e contatti di selezione Se eguali uscita = 1 0 V - GND Contatti di selezione indirizzo del modulo APERTO = 1 CHIUSO = 0 Evento Morsetti dal mondo esterno D D0 BUS di CONTROLLO ADPER WRITE DATEN Registro latch tri-state R S Latch OE Dato pronto Q DB7 BUS DATI DB0 3 - Architettura e linguaggio del calcolatore - 50

51 Porte di uscita Le porte di uscita sono viste come celle di memoria a "sola scrittura" che rendono disponibile, su opportuni morsetti, il loro contenuto al mondo esterno. Queste porte devono essere sempre realizzate mediante registri (o latch) in cui le informazioni vengono prelevate da bus dati e memorizzate nel registro all interno del breve intervallo temporale corrispondente al ciclo di bus dell'operazione di scrittura. Il registro presenta all'esterno con continuità il suo contenuto (generalmente con pilotaggio totem-pole), che rimane immutato fino alla successiva operazione di scrittura su quella porta. Se si tratta di informazioni di stato questo registro è sufficiente. Per informazioni in uscita associate ad eventi occorrono ulteriori indicatori (FF) che consentano al calcolatore e ai dispositivi del mondo esterno di riconoscere le varie situazioni dell'evento, per la gestione del rapporto: Produttore (calcolatore) Consumatore (mondo esterno). Un esempio di informazioni di uscita, del tipo ad eventi, è costituito dalle trasmissioni di caratteri 3 - Architettura e linguaggio del calcolatore - 51

52 Funzionalità dei registri di stato e di comando nelle interfacce complesse Per alcuni tipi di interfacce si hanno funzionalità più complesse, che non si riducono a semplici porte di ingresso e uscita. Esempi di interfacce complesse sono USART per comunicazioni digitali seriali, interfacce verso memorie di massa come hard disk, circuiti di conteggio o di temporizzazione circuiti di acquisizione di misure analogiche Le funzioni di queste interfacce sono realizzate mediante una serie di circuiti, anche molto complessi e persino talvolta corredati di propri microcontrollori. Per consentire alla CPU di gestire il funzionamento di questi dispositivi sono in genere previsti, accanto alle porte dati di ingresso e dati di uscita, anche ulteriori registri di stato e di comando. 3 - Architettura e linguaggio del calcolatore - 52

53 Registri di stato Una o più porte di ingresso consentono alla CPU di acquisire vari bit dei registri di stato, che con il loro valore forniscono informazioni sullo stato dell interfaccia e della periferica. Esempi: spento/acceso on-line/off-line dato pronto/dato non pronto ecc. Registri di comando Una o più porte di uscita consentono alla CPU di scrivere negli appositi registri dell interfaccia dei bit che con il loro valore producono dei comandi specifici (eventi) o impostano le modalità di funzionamento volute (stati). Esempi: Eventi: azzera segnalazione di errore lancia le operazioni di conversione Analogico/Digitale carica il valore su un temporizzatore ecc. Stati: imposta la velocità di trasmissione (baud rate) abilita/disabilita la generazione di richieste di interruzione imposta il numero della traccia su cui posizionare la testina magnetica del disco ecc. 3 - Architettura e linguaggio del calcolatore - 53

54 Interfaccia circuitale generalizzata Nella fig. è rappresentata in forma molto schematica la struttura di un interfaccia circuitale generale, cui possono ricondursi molti dispositivi di corredo per realizzare le funzioni di I/O dei calcolatori. Fig. - Schema di interfaccia generalizzata. CS = chip select abilita i trasferimenti sul bus. AD = address seleziona il registro interno interessato dal trasferimento. R/W = read / write determina la direzione del trasferimento. 3 - Architettura e linguaggio del calcolatore - 54

55 La memoria di massa -1 La memoria di massa utilizza generalmente un supporto magnetico per la memorizzazione delle informazioni. L informazione binaria (bit) viene memorizzata tramite i due stati di magnetizzazione. E quindi una memoria permanente. Le tipiche memorie di massa di un calcolatore sono i dischi magnetici. I dischi rigidi (hard disk) hanno tempi di accesso alle informazioni dell ordine delle decine di millisecondi e le capacità dell ordine dei Gigabyte e Terabyte. Come supporto di memoria rimovibile, e quindi trasportabile, sono utilizzati dischi CD e DVD e le chiavette con memorie flash. I dischi sono fisicamente suddivisi in tracce (corone circolari) e settori (porzioni di traccia), e la lettura/scrittura fisica delle informazioni avviene posizionando la testina di lettura/scrittura sulla traccia e aspettando che con la rotazione si presenti il settore voluto, quindi con accesso sequenziale+ciclico. Accesso sequenziale con il movimento radiale della testina per raggiungere la traccia indirizzata. Accesso ciclico per attendere che la rotazione del disco porti sotto la testina il settore indirizzato. Per motivi di efficienza, dopo l accesso si trasferiscono in sequenza tutti i byte di un blocco costituito da un numero intero di settori contigui. L interfaccia di un disco (drive) è un dispositivo complesso che risolve i problemi di accesso fisico al disco. 3 - Architettura e linguaggio del calcolatore - 55

56 La memoria di massa -2 Le informazioni su disco sono logicamente organizzate in file. Un file rappresenta l unità logica di informazione su disco, è identificato mediante un nome e al suo interno contiene una sequenza di informazioni. Per poter utilizzare le informazioni su file, è necessario che queste vengano prima ricopiate nella memoria di lavoro. Il Sistema Operativo fornisce le funzioni (File system) necessarie all accesso ai file I file possono contenere informazioni qualsiasi: documenti (file di testo), programmi in codice sorgente (file di testo), programmi in codice macchina (file binario eseguibile), immagini (ad esempio mappa di bit), suoni, ecc.. Altri tipi di memorie di massa I nastri magnetici sono memorie di massa ad accesso sequenziale con tempi di accesso più lunghi e capacità di memorizzazione superiori ai dischi, e di solito vengono utilizzati per memorizzare informazioni storiche o di back-up e comunque di uso molto poco frequente. Sono estraibili e quindi archiviabili. I CD-ROM sono memorie di massa generalmente utilizzate a sola lettura. La memorizzazione delle informazioni, e la lettura, utilizzano i principi di funzionamento dei dischi ottici. 3 - Architettura e linguaggio del calcolatore - 56

57 Struttura della CPU - 1 Consideriamo le caratteristiche di un programma in codice macchina che derivano dall architettura tipica dei calcolatori, e in particolare dalla struttura della CPU presentata nelle pagine seguenti. Relativamente alle istruzioni: Consideriamo il caso semplice in cui ogni istruzione in linguaggio macchina occupa una sola parola di memoria. le istruzioni di ogni programma sono caricate in parole di memoria di lavoro contigue. l indirizzo della parola di memoria che contiene la prima istruzione (del sistema operativo) da eseguire all accensione è noto (cablato) alla CPU. l inizio dei programmi applicativi è noto al Sistema Operativo. Relativamente alle variabili: Consideriamo il caso semplice in cui ogni variabile occupa una sola parola di memoria. nel caricamento del programma da eseguire vengono riservate le parole di memoria di lavoro adeguate a contenere i valori delle variabili (dati). lo spazio di memoria riservato per le variabili è separato da quello che contiene le istruzioni. in linguaggio macchina le variabili sono identificate in modo univoco dall indirizzo corrispondente. il nome simbolico di una variabile (che appare nel programma sorgente) è ad uso umano, e può essere considerato rappresentativo dell indirizzo (che appare nel programma eseguibile) della parola di memoria riservata ad essa. il contenuto della parola di memoria riservata ad una variabile rappresenta la codifica del valore della variabile. Il valore delle variabili sarà determinato dall esecuzione del programma (con operazioni di lettura e assegnamento). 3 - Architettura e linguaggio del calcolatore - 57

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

Dettagli

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

CONCETTI BASE dell'informatica Cose che non si possono non sapere! CONCETTI BASE dell'informatica Cose che non si possono non sapere! Pablo Genova I. I. S. Angelo Omodeo Mortara A. S. 2015 2016 COS'E' UN COMPUTER? È una macchina elettronica programmabile costituita da

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Materiali per il modulo 1 ECDL. Autore: M. Lanino Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE CORSO INTRODUTTIVO DI INFORMATICA NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE Dott. Paolo Righetto 1 CORSO INTRODUTTIVO DI INFORMATICA Percorso dell incontro: 1) Alcuni elementi della configurazione hardware

Dettagli

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica

Dettagli

Lez. 5 Memorie Secondarie

Lez. 5 Memorie Secondarie Prof. Giovanni Mettivier 1 Dott. Giovanni Mettivier, PhD Dipartimento Scienze Fisiche Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli mettivier@na.infn.it +39-081-676137

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste

Dettagli

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni

Dettagli

Gerarchia delle memorie

Gerarchia delle memorie Memorie Gerarchia delle memorie Cache CPU Centrale Massa Distanza Capacità Tempi di accesso Costo 2 1 Le memorie centrali Nella macchina di Von Neumann, le istruzioni e i dati sono contenute in una memoria

Dettagli

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Concetti fondamentali della Tecnologia Dell informazione Parte prima Concetti fondamentali della Tecnologia Dell informazione Parte prima 1 Concetti di base della tecnologia dell Informazione Nel corso degli ultimi anni la diffusione dell Information and Communication Technology

Dettagli

Memorie ROM (Read Only Memory)

Memorie ROM (Read Only Memory) Memorie ROM (Read Only Memory) Considerando la prima forma canonica, la realizzazione di qualsiasi funzione di m variabili richiede un numero di porte AND pari al numero dei suoi mintermini e di prolungare

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

introduzione I MICROCONTROLLORI

introduzione I MICROCONTROLLORI introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la

Dettagli

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X. Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica prof. Corrado Santoro La prima macchina programmabile Conoscete queste macchine? Telai Jacquard (primi anni del 1800) Macchina per

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

FONDAMENTI DI INFORMATICA Prof. Lorenzo Mezzalira

FONDAMENTI DI INFORMATICA Prof. Lorenzo Mezzalira FONDAMENTI DI INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso di Fondamenti di informatica Fascicolo integrativo - 2 - Architettura e funzionalità del calcolatore Architettura tipica dei calcolatori

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

Informatica per la Storia dell Arte. Anno Accademico 2014/2015 Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Informatica per la Storia dell Arte Anno Accademico 2014/2015 Docente: ing. Salvatore Sorce Architettura

Dettagli

Collegamento al sistema

Collegamento al sistema Collegamento al sistema Chi comanda il movimento della testina? Chi comanda la generazione del raggio laser? Chi si occupa di trasferire i dati letti in memoria centrale? Chi comanda la rotazione dei dischi?

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Laurea Specialistica in Informatica

Laurea Specialistica in Informatica Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 25 febbraio 2015 1 / 42 INFORMATICA Varie definizioni: Scienza degli elaboratori elettronici (Computer Science)

Dettagli

La memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo Schede a microprocessore Seconda parte Mondo esterno clock MEMORIA CPU PERIFERICA ADATTATORE DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus dati

Dettagli

Strutture di Memoria 1

Strutture di Memoria 1 Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Tecnologia dell Informazione

Tecnologia dell Informazione Tecnologia dell Informazione Concetti di base della tecnologia dell informazione Materiale Didattico a cura di Marco Musolesi Università degli Studi di Bologna Sede di Ravenna Facoltà di Giurisprudenza

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

ARCHITETTURA CALCOLATORI: Memoria di massa (o secondaria)

ARCHITETTURA CALCOLATORI: Memoria di massa (o secondaria) ARCHITETTURA CALCOLATORI: Memoria di massa (o secondaria) Dispositivi per la memorizzazione di grandi masse di dati. I dati memorizzati su questo tipo di memoria sopravvivono all esecuzione dei programmi

Dettagli

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI INDIRIZZO DI INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE TELECOMUNICAZIONI Utilizzare consapevolmente gli strumenti

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Laboratorio di Informatica di Base Archivi e Basi di Dati

Laboratorio di Informatica di Base Archivi e Basi di Dati Laboratorio di Informatica di Base Archivi e Basi di Dati Introduzione La memorizzazione dei dati è un aspetto molto importante dell informatica Oggi, mediante i computer, è possibile memorizzare e modificare

Dettagli

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione:

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione: Modulo 1 Le memorie Le Memorie 4 ETA Capitolo 1 Struttura di un elaboratore Un elaboratore elettronico è un sistema capace di elaborare dei dati in ingresso seguendo opportune istruzioni e li elabora fornendo

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Architettura hardware

Architettura hardware Ricapitolando Architettura hardware la parte che si può prendere a calci Il funzionamento di un elaboratore dipende da due fattori principali 1) dalla capacità di memorizzare i programmi e i dati 2) dalla

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

RETI E SISTEMI INFORMATIVI

RETI E SISTEMI INFORMATIVI RETI E SISTEMI INFORMATIVI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: mercoledì, 10.00-11.00. Studio 34, primo piano. Dip. Statistica 1 Modalità esame: scritto + tesina facoltativa

Dettagli

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch. Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Comunicazione importante dalla prossima settimana, la lezione del venerdì si terrà: dalle 15:00 alle 17.15 in aula 311 l orario

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Avviso di mancata consegna L avviso, emesso dal sistema, per indicare l anomalia

Dettagli

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria Architettura dell elaboratore Capacità di memorizzazione dei dispositivi di memoria: Memoria centrale attualmente si arriva ad alcuni GB centinaia di GB o TB Memoria principale e registri: volatilità,

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

Funzionalità di un calcolatore

Funzionalità di un calcolatore Funzionalità di un calcolatore Il calcolatore: modello concettuale 1. Elaborazione 2. Memorizzazione Interconnessione 3. Comunicazione (interfaccia) Architettura di un computer componenti per elaborare

Dettagli

ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI. PROGRAMMA DIDATTICO con riferimento al programma ministeriale

ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI. PROGRAMMA DIDATTICO con riferimento al programma ministeriale ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI ANNO SCOLASTICO 2013-2014 PROGRAMMA DIDATTICO con riferimento al programma ministeriale MATERIA ELETTROTECNICA ED ELETTRONICA

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

PLC Programmable Logic Controller

PLC Programmable Logic Controller PLC Programmable Logic Controller Sistema elettronico, a funzionamento digitale, destinato all uso in ambito industriale, che utilizza una memoria programmabile per l archiviazione di istruzioni orientate

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

Dettagli

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta 43

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta 43 I dischi ottici Le tecnologie dei dischi ottici sono completamente differenti e sono basate sull'uso di raggi laser Il raggio laser è un particolare tipo di raggio luminoso estremamente focalizzato che

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti Banco di registri e memoria Corso ACSO prof. Cristina SILVANO Politecnico di Milano Componenti di memoria e circuiti di pilotaggio L organizzazione interna della memoria e del banco di registri prevedono

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli