ARCHITETTURA DEI CALCOLATORI VOLUME II

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ARCHITETTURA DEI CALCOLATORI VOLUME II"

Transcript

1 ARCHITETTURA DEI CALCOLATORI VOLUME II

2

3 Didattica e Ricerca Manuali Graziano Frosini Giuseppe Lettieri ARCHITETTURA DEI CALCOLATORI volume ii Struttura Hardware del Processore PC, dei Bus, della Memoria, delle InterfACCE e Gestione dell I/0 con RIfERIMEnTO AL PERSOnAL COMPUTER COn SISTEMA OPERATIVO UNIX, ALL AMBIEnTE GNU/GCC e ALL EMULATORE QEMU

4 Frosini, Graziano Architettura dei calcolatori / Graziano Frosini. - Pisa : Pisa university press, (Didattica e ricerca. Manuali) Contiene: Vol. I: Struttura software del processore PC, assembler e corrispondenza fra C++ e assembler : con riferimento al personal computer con sistema operativo Unix e all ambiente GNU/GCC / Graziano Frosini Vol. II: Struttura hardware del processore PC, dei bus, della memoria, delle interfacce e gestione dell I/O : con riferimento al personal computer con sistema operativo Unix, all ambiente GNU/GCC e all emulatore QEMU / Graziano Frosini, Giuseppe Lettieri (22.) I. Lettieri, Giuseppe 1. Elaboratori elettronici - Struttura CIP a cura del Sistema bibliotecario dell Università di Pisa Copyright 2013 Pisa University Press srl Società con socio unico Università di Pisa Capitale Sociale Euro ,00 i.v. - Partita IVA Sede legale: Lungarno Pacinotti 43/ , Pisa Tel Fax press@unipi.it Member of ISBN Finito di stampare nel mese di febbraio 2013 da Tipografia Monteserra S.n.c. - Vicopisano per conto di Pisa University Press Le fotocopie per uso personale del lettore possono essere effettuate nei limiti del 15% di ciascun volume/fascicolo di periodico dietro pagamento alla SIAE del compenso previsto dall art. 68, commi 4 e 5, della legge 22 aprile 1941 n Le riproduzioni effettuate per finalità di carattere professionale, economico o commerciale o comunque per uso diverso da quello personale possono essere effettuate a seguito di specifica autorizzazione rilasciata da AIDRO, Corso di Porta Romana n. 108, Milano 20122, segreteria@aidro.org e sito web

5 Indice Prefazione 9 1 Struttura hardware di un semplice calcolatore 1.1 Logica a 3 stati Aspetti fisici di un semplice processore Funzionamento interno di un semplice processore Schema di un semplice calcolatore Organizzazione dello spazio di memoria Organizzazione dello spazio di I/O Bus di comunicazione OR di collettore 22 2 Architettura semplificata di un calcolatore 32-PC 2.1 Famiglia 32 PC Aspetti fisici del processore PC Organizzazione degli spazi di memoria e di I/O Piedini del Processore PC Bus di comunicazione locale Collegamento al bus locale di banchi di memoria Collegamento al bus locale di interfacce Memorie dinamiche Memoria cache Controllore della memoria cache Memoria cache associativa a insiemi Spazio esterno a 16 bit Spazio esterno a 8 bit Bus locale con bus dati di diversa ampiezza 48 3 Strumenti per la gestione dell I/O 3.1 Modo reale, modo protetto e boot-loader Emulatore QEMU Lettura/scrittura dai/nei registri delle interfacce Libreria libce Ambiente per lo sviluppo di un programma utente Traduzione, collegamento, caricamento Utilizzo del debugger GDB 58

6 6 Indice 3.7 Alcuni comandi Unix Funzioni disponibili nella libreria libce Funzioni richiamate automaticamente Architettura x Interfacce per la tastiera e per il video 4.1 Tastiera e sua interfaccia Gestione della tastiera Variabili e sottoprogrammi inseriti nella libreria libce Video e sua interfaccia Video in modalità testo Gestione del video in modo testo Variabili e sottoprogrammi inseriti nella libreria libce Sottoprogrammi str_write() e pause() Video in modalità grafica Gestione del video in modalità grafica SVGA 78 5 Interfacce di conteggio, seriali, a blocchi 5.1 Interfacce di conteggio Interfaccia di conteggio Modi di funzionamento Interfaccia di conteggio nei Personal Computer Esempi di conteggio Interfacce seriali Comunicazione seriale asincrona Comunicazione seriale sincrona Interfaccia seriale asincrona Interfacce seriali nei Personal Computer Standard EIA RS232C Standard EIA RS232C e Personal Computer Esempi di comunicazione Emulatore QEMU e porta seriale COM Interfacce a blocchi Operazioni di formattazione Interfaccia a blocchi ATA Operazione di scrittura Operazione di lettura Interruzione di Programma 6.1 Meccanismo di interruzione Tabella delle interruzioni e azioni del processore Servizio effettuato dalle routine di interruzione Struttura di una primitiva Controllore di interruzione APIC Struttura di un driver di interruzione 127

7 Indice Routine di interruzione utilizzando il C Scrittura di un gate nella tabella delle interruzioni Predisposizione del controllore di interruzione APIC Gestione di un interfaccia a interruzione di programma Operazioni di I/O a interruzione di programma Primitive di I/O e meccanismo di sincronizzazione Ingresso dati Uscita dati Considerazioni sulle operazioni di I/O Interfacce dei Personal Computer gestite a interruzione 7.1 Collegamenti e segnali del controllore APIC Gestione dell interfaccia della tastiera Gestione dell interfaccia di conteggio Gestione dell interfaccia seriale Gestione dell interfaccia a blocchi ATA Circuiteria di interruzione basata sul controllore Controllore di interruzione Selezione dei registri interni Montaggio in cascata dei controllori Controllori 8259 nei Personal Computer Gestione dei controllori di interruzione Elaboratori con bus PCI 9.1 Il bus PCI Spazi di indirizzamento del bus PCI Collegamenti e transazioni col bus PCI Interruzioni col bus PCI Spazio di configurazione delle funzioni PCI Operazioni di inizializzazione Programmi per transazioni nello spazio di configurazione Accesso diretto alla memoria e bus mastering 10.1 Accesso diretto alla memoria Operazioni in bus mastering Esempio di lettura in bus mastering Accesso diretto alla memoria in presenza di memoria cache Bus mastering con l interfaccia ATA Operazione di scrittura in bus mastering Operazione di lettura in bus mastering Organizzazione interna del processore 11.1 Istruzioni complesse e istruzioni elementari Tecnica del pipeline 209

8 8 Indice Alee Tecnica dell esecuzione fuori ordine Schema interno del processore Eliminazione delle dipendenze sui nomi Esecuzione speculativa Esempi Considerazioni finali Appendice Esercizi disponibili in rete 12.1 Considerazioni preliminari Elenco degli esercizi disponibili in rete 229

9 Prefazione Nel Volume II del testo Architettura dei Calcolatori viene illustrata la struttura hardware di un Personal Computer con processore PC (Processore Completo, avente architettura x86-32, già illustrato dal punto di vista software nel Volume I). Il volume rappresenta un rifacimento e un evoluzione di quello precedente pubblicato da Aracne Editrice, Roma 2010, ed è basato sull utilizzo di Unix-GNU/GCC (invece che di Windows-DJGPP). Nel presente volume viene anzitutto illustrata la struttura hardware del processore PC e descritta l architettura semplificata di un calcolatore comprendente (oltre al processore PC) il bus locale, la memoria (statica e dinamica), le interfacce semplificate, la memoria cache. Vengono poi trattati alcuni aspetti realizzativi degli attuali Personal Computer. Per prima cosa vengono descritte alcune delle interfacce classiche, come le interfacce per la tastiera e per il video (in modalità testo e grafica), l interfaccia di conteggio, le interfacce seriali, le interfacce a blocchi per le memorie di massa, e viene effettuata la loro gestione a controllo di programma. Successivamente, viene illustrato il meccanismo di interruzione, con riferimento al controllore di interruzione APIC (IOAPIC + Local APIC), e viene effettuata la gestione delle interfacce sopra elencate utilizzando il meccanismo di interruzione. Infine, viene illustrata la struttura del bus PCI e descritta in dettaglio la funzionalità di bus mastering. Con riferimento alle interfacce a blocchi per le memorie di massa, ne viene effettuata la gestione mediante il meccanismo di accesso diretto alla memoria, realizzato dal bus mastering PCI. Nell ultima parte vengono presentate alcune delle tecniche utilizzate per aumentare l efficienza interna del processore, come l organizzazione in pipeline, la tecnica dell esecuzione fuori ordine e quella dell esecuzione speculativa. Per effettuare gli esercizi di I/O (a controllo di programma, a interruzione di programma, ad accesso diretto alla memoria), viene utilizzato l emulatore QEMU, che mette a disposizione un Personal Computer nudo con processore x86-32: tale emulatore gira sia su un calcolatori x86-32 che su un calcolatori x Il sistema di programmazione utilizzato è quello GNU/GCC, con i linguaggi Assembler e C++, disponibile sia su un calcolatori x86-32 che su un calcolatore x86-64: tale sistema di programmazione può generare in ogni caso codice eseguibile per un calcolatore x Il Personal Computer emulato da QEMU non ha sistema operativo, ma soltanto un boot-loader che consente di caricare (prelevare da un file e trasferire nella me-

10 10 Prefazione moria centrale emulata) un programma eseguibile x86-32 e di farlo eseguire. Nel creare il programma eseguibile, è necessario collegare una apposita libreria (libce: libreria di Calcolatori Elettronici), scritta appositamente e contenente molti sottoprogrammi di utilità. L emulatore QEMU, nella versione sorgente in linguaggio C, configurato come richiesto dagli esercizi presentati nel libro (permette l avvio in modalità grafica e ha collegato un hard-disk), è disponibile al sito Internet: Per comprendere gli argomenti trattati in questo volume occorre avere conoscenze di base sui linguaggi di programmazione Assembler e C++, e sulla realizzazione di programmi misti con file scritti in questi due linguaggi (argomenti trattati nel Volume I di questo testo). La predisposizione di questo volume ha comportato una notevole attività, soprattutto implementativa e sperimentale. Gli autori intendono ringraziare coloro che hanno contribuito alla sua realizzazione, e a quanti vorranno fornire suggerimenti o critiche costruttive.

11 1 Struttura hardware di un semplice calcolatore 1.1 Logica a 3 stati I blocchi funzionali presenti in un calcolatore si costruiscono a partire da circuiti integrati effettivi, che comunicano con l esterno mediante un certo numero di piedini (pin). Ogni piedino supporta un bit, e quindi può avere due livelli di tensione, associati rispettivamente allo 0 logico (valore tipico 0 Volt) e all 1 logico (valore tipico 5 Volt). In alcuni casi, su un piedino di uscita può essere presente un terzo stato, caratterizzato da alta impedenza e denominato Z. Come illustrato in Figura 1.1, i tre possibili stati vengono ottenuti, a partire dai valori di una variabile binaria, utilizzando una porta (porta 3-state), costituita da un amplificatore (AM) e da un interruttore, pilotata da un segnale di comando /OE (Output Enable) (per il segno / davanti al nome di un segnale vedi paragrafo successivo). Logica a 2 stati AM 0 Logica a 3 stati 1 /OE Figura 1.1 Porta 3-state L interruttore può essere aperto o chiuso: se è aperto (/OE vale 1) l uscita vale Z, mentre se è chiuso) l uscita coincide con l ingresso, se questo vale 0 oppure 1. Se l ingresso vale Z quando /OE vale 0), l amplificatore AM non consente di far passare tale valore in uscita, ma questa risulta non specificata (può valere 0 oppure 1).

12 12 Capitolo 1 Un circuito integrato esegue algoritmi anche complessi: per esaminare il suo funzionamento interno, occorrono conoscenze approfondite di reti logiche, che non vengono fornite in questo testo. Nel seguito, ci limitiamo a descrivere le funzionalità di un circuito ai morsetti, ponendo l accento sulle modalità che consentono di effettuare montaggi partendo da circuiti integrati di base. Nei montaggi, utilizzeremo spesso reti elementari, come le porte (OR, AND e NOT) e gli elementi di memoria (Registri). 1.2 Aspetti fisici di un semplice processore In accordo a quanto detto nel Volume I, un processore, nell eseguire un programma, effettua cicli di accesso agli spazi esterni: accede allo spazio di memoria per prelevare istruzioni e prelevare o memorizzare operandi, e allo spazio di I/O per prelevare o inviare dati ai dispositivi esterni tramite le interfacce. Ogni ciclo di accesso comporta l emissione, da parte del processore, di un certo numero di informazioni, che specificano lo spazio (memoria o I/O) e l indirizzo entro lo spazio, il tipo di operazione (lettura o scrittura) e la lunghezza in byte dell informazione da trasferire. I dati veri e propri saranno emessi dal processore oppure dai banchi di memoria o dalle interfacce, a seconda che il ciclo sia di scrittura o di lettura. Si dice che un processore è a 8, 16, 32,... bit se è in grado di trasferire con un unico ciclo di accesso a uno spazio esterno informazioni costituite da un massimo di 1, 2, 4,... byte, rispettivamente. A31-A0 32 indirizzi +5V Vcc GND CLOCK RESET /MRD /MWR /IORD /IOWR 8 dati controllo Figura 1.2 Piedinatura di un processore semplificato

13 Struttura hardware di un semplice calcolatore 13 In questo capitolo si fa riferimento al processore PCs presentato nel Volume I: tale processore è a 8 bit, ha uno spazio di memoria di 2 32 byte e uno spazio di I/O di 2 16 byte. La piedinatura del processore PCs è riportata in Figura 1.2. Le funzioni dei principali piedini sono descritte nella Tabella 1.1. Simbolo Tipo Nome e funzione RESET ingresso RESET (impulso): porta il processore nello stato iniziale (tutti i registri a 0). A31-A0 uscita Address: specificano l indirizzo durante le operazioni di lettura e di scrittura sia nello spazio di memoria che nello spazio di I/O. bidirezionali Data (3 state): supportano i dati durante le operazioni di lettura e di scrittura sia nello spazio di memoria che nello spazio di I/O. /MRD uscita Memory ReaD (impulso): indica che il processore intende compiere un operazione di lettura nello spazio di memoria. /MWR uscita Memory WRite (impulso): indica che il processore intende compiere un operazione di scrittura nello spazio di memoria. /IORD uscita I/O ReaD (impulso): indica che il processore intende compiere un operazione di lettura nello spazio di I/O. /IOWR uscita I/O WRite (impulso): indica che il processore intende compiere un operazione di scrittura nello spazio di I/O. Tabella 1.1 Significato dei piedini del processore PS Generalmente la funzione associata a un piedino è espletata attraverso la emissione/ricezione di un livello logico o di un impulso (in quest ultimo caso, accanto al nome del piedino, riporteremo esplicitamente l indicazione impulso). Diremo poi che un piedino è attivo alto se l espletamento della funzione avviene attraverso la emissione/ricezione del livello 1 o dell impulso 0 1 0, e che un piedino è attivo basso (e faremo iniziare il nome che lo contraddistingue con il segno /) se l espletamento della funzione avviene attraverso la emissione/ricezione del livello 0 o dell impulso L evoluzione temporale dei segnali sui vari piedini del processore durante un ciclo di lettura e un ciclo di scrittura nello spazio di memoria è riportata in modo qualitativo nelle Figure 1.3 e 1.4. Per compiere un ciclo di lettura nello spazio di memoria, il processore specifica anzitutto, attraverso i piedini A31-A0, l indirizzo della locazione interessata. Successivamente, esso genera sul piedino /MRD un impulso di lettura avente una durata opportuna (alcune decine di nsec). Alla fine di tale impulso (fronte di salita) il processore memorizza al suo interno il byte trasportato dai piedini. Il banco di memoria che risponde al ciclo di lettura deve prov-vedere a inviare il byte sui piedini un certo tempo prima che termini l impulso di lettura. I piedini /MWR, /IORD /IOWR restano inattivi per tutta la durata del ciclo.

14 14 Capitolo 1 A31-A0 indirizzi validi /MWR /IORD, /IOWR /MRD Z dati validi Z Figura 1.3 Diagramma temporale di un ciclo di lettura A31-A0 indirizzi validi /MRD /IORD, /IOWR /MWR D15-D0 Z dati validi Z Figura 1.4 Diagramma temporale di un ciclo di scrittura Un ciclo di lettura nello spazio di I/O avviene con modalità del tutto analoghe: l indirizzo viene generato sui piedini A15-A0 (gli altri hanno valore 0), l impulso di lettura sul piedino /IORD, mentre i piedini /MRD, /MWR, /IOWR restano inattivi per tutta la durata del ciclo. Per compiere un ciclo di scrittura nello spazio di memoria, il processore specifica anzitutto, attraverso i piedini A31-A0, l indirizzo della locazione interessata all operazione. Contemporaneamente pone il byte da scrivere sui piedini. Successivamente genera sul piedino /MWR un impulso di scrittura avente una durata opportuna (alcune decine di nsec). Il banco di memoria che risponde al ciclo di scrittura deve provvedere a prelevare il byte sui piedini alla fine dell impulso di scrittura (fronte di salita). I piedini /MRD, /IORD /IOWR restano inattivi per tutta la durata del ciclo. Un ciclo di scrittura nello spazio di I/O avviene con modalità del tutto analoghe: l indirizzo viene generato sui piedini A15-A0, l impulso di scrittura sul piedino /IOWR, mentre i piedini /MRD, /MWR, /IORD restano inattivi per tutta la durata del ciclo. Occorre notare che la durata di un ciclo di lettura o di scrittura, che costituisce una caratteristica costruttiva di ogni processore, può essere aumentata quando i

15 Struttura hardware di un semplice calcolatore 15 banchi di memoria o le interfacce richiedano tempi più lunghi per effettuare i cicli stessi. Per fare questo ogni processore possiede un ulteriore piedino di ingresso (/READY) che viene esaminato a certi intervalli di tempo, e determina un allungamento prefissato del tempo di ciclo ogni qualvolta viene trovato inattivo. Per semplicità non abbiamo esplicitato tale piedino nelle Figure precedenti. Quando devono essere lette o scritte entità informative costituite da più byte (parole, parole lunghe), il processore effettua un ciclo di lettura o di scrittura per ogni byte da trasferire. 1.3 Funzionamento interno di un semplice processore Esaminiamo adesso in maggior dettaglio il funzionamento interno del processore PCs. Come già detto più volte, esso preleva dalla memoria un istruzione alla volta e quindi la esegue. Per svolgere questa sua attività, il processore adopera, oltre ai registri visibili al programmatore, anche un certo numero di registri di appoggio invisibili al programmatore, tra cui il registro istruzioni (IR: Instruction Register). Più in dettaglio, il funzionamento interno di un processore può essere schematizzato nelle seguenti tre fasi: Fase di chiamata. In questa fase l istruzione che deve essere eseguita viene trasferita dallo spazio di memoria nel registro IR, attraverso più cicli di lettura. L indirizzo della prima delle locazioni che contengono l istruzione (brevemente: l indirizzo dell istruzione) è rappresentato dal contenuto del registro EIP. Dopo ogni ciclo di lettura il contenuto del registro EIP viene aggiornato, in modo tale che alla fine della fase di chiamata esso risulta incrementato di tante u- nità quante sono le locazioni occupate dall istruzione letta: risultano così predisposte le condizioni per la chiamata dell istruzione sequenzialmente successiva. Fase di indirizzamento. In questa fase, in conformità alle regole specificate nell istruzione, viene calcolato l indirizzo dell operando destinatario e, se l istruzione è a due operandi, l indirizzo dell operando sorgente (l indirizzo di IR se l indirizzamento è immediato); nel caso di istruzioni per il controllo del flusso del programma, viene calcolato l indirizzo dell istruzione a cui saltare. Fase di esecuzione. In questa fase, l istruzione contenuta in IR viene interpretata dal processore ed eseguita. Se l istruzione è di controllo e la condizione di salto non è verificata, allora non viene eseguita nessuna operazione; se, invece, la condizione di salto è verificata, l indirizzo calcolato nella Fase di indirizzamento viene trasferito nel registro EIP. Se l istruzione è operativa, e gli operandi sorgente e destinatario risiedono nei registri generali (oppure l operando sorgente è immediato), allora l istruzione viene eseguita direttamente senza altre interazioni con gli spazi esterni. Diversamente il processore deve effettuare ulteriori operazioni di lettura e scrittura, utilizzando gli indirizzi calcolati nella

16 16 Capitolo 1 Fase di indirizzamento: per esempio, per un istruzione di ricopiamento di una quantità dalla memoria in un registro generale, deve essere eseguita una preventiva operazione di lettura. Similmente, per un istruzione aritmetica (somma) con operando destinatario in memoria principale, deve essere effettuata una preventiva operazione di lettura, dopodiché, eseguita l addizione, deve essere effettuata una successiva operazione di scrittura del risultato. Nei processori attuali, per aumentare la velocità interna del processore, le fasi precedentemente elencate possono essere, in tutto o in parte sovrapposte. Una prima forma di parallelizzazione viene realizzata dal processore PC (Capitolo 2) mentre l intera problematica viene trattata nel Capitolo Schema di un semplice calcolatore 32 Address bus 8 Data bus /MRD bus /MWR bus /IORD bus /IOWR bus A31-A0 /MRD /MWR /IORD /IOWR A31-A0 A15-A0 Processore Spazio di Memoria Spazio di I/O Figura 1.5 Schema di un semplice calcolatore In Figura 1.5 è riportato lo schema di principio di un calcolatore basato sul processore PCs. Il calcolatore, oltre al processore, comprende banchi di memoria (posizionati nello spazio di memoria), interfacce (posizionate nello spazio di I/O), e un bus di comunicazione, costituito dalle linee che collegano il processore ai due spa-

17 Struttura hardware di un semplice calcolatore 17 zi esterni (i cerchietti utilizzati al posto dei puntini indicano collegamenti parziali). Il bus di comunicazione spesso si suddivide in bus indirizzi (costituito dai 32 fili sui quali viaggiano indirizzi), bus dati (costituito dagli 8 fili sui quali viaggiano i dati) e bus di controllo (costituito dai fili relativi ai comandi di lettura/scrittura). Supponiamo (come avviene nel caso più favorevole) che le memorie e le interfacce che si collegano al processore abbiano piedini e segnali sui piedini compatibili con quelli del processore: i piedini per gli indirizzi e per i dati vengono indicati con lo stesso nome dei corrispondenti piedini del processore, mentre i piedini che servono a recepire gli impulsi di lettura e di scrittura prendono il nome di e, rispettivamente. 1.5 Organizzazione dello spazio di memoria Vediamo adesso come, partendo da integrati (chip) di memoria disponibili, possano essere costruiti dei banchi da montare nello spazio di memoria del processore. In Figura 1.6 è riportata la piedinatura di un ipotetico integrato RAM 1Mx4, costituito da 2 20 locazioni, ciascuna di 4 bit. In Tabella 1.2 è descritta la funzione dei vari piedini. A19-A0 D3-D0 Vcc GND /S Figura 1.6 Un ipotetico chip di memoria 1Mx4 Con due di questi integrati possiamo costruire un gruppo 1Mx8 come illustrato in Figura 1.7. I due integrati sono collegati in parallelo, e il gruppo complessivo risulta avere lo stesso numero di piedini per gli indirizzi e un numero doppio di piedini per i dati rispetto a un singolo integrato. Con due gruppi 1Mx8 possiamo costruire un banco 2Mx8, come illustrato in Figura 1.8. Il banco richiede un piedino di indirizzo in più (A20) rispetto a quelli dei singoli gruppi. La rete R, per la quale è riportata la tabella di verità, produce i segnali di abilitazione /SL e /SH dei due gruppi, in funzione del segnale di abilitazione /S dell intero banco e di A20 (bit più significativo dell indirizzo): in un

18 18 Capitolo 1 gruppo risultano quindi posizionate le locazioni per le quali A20 vale 0 (gruppo basso) e nell altro gruppo le locazioni per le quali A20 vale 1 (gruppo alto). Simbolo Tipo Nome e funzione A19-A0 ingresso Address: specificano l indirizzo durante le operazioni di lettura e di scrittura. D3-D0 bidirezionali Data (3-state): supportano i bit dei dati durante i cicli di lettura/scrittura; rimangono in alta impedenza quando l integrato non risponde a richieste di lettura. ingresso ReaD (impulso): indica la richiesta di un operazione di lettura. ingresso WRite (impulso): indica la richiesta di un operazione di scrittura. /S ingresso Select: abilita l integrato a rispondere a richieste di o- perazioni di lettura o di scrittura. Tabella 1.2 Funzione dei vari piedini di una RAM 1Mx4 /S A19-A0 /S A19-A0 4 D3-D0 4 8 D7-D4 1Mx4 D3-D0 /S A19-A0 D3-D0 1Mx4 1Mx8 Figura 1.7 Un gruppo di memoria 1Mx8 Il banco di Figura 1.8 può essere montato nello spazio di memoria in una qualunque delle 2 11 porzioni (ciascuna di 2Mbyte) definite da una combinazione di valori degi 11 bit più significativi dell indirizzo presente sul bus (vedi Figura 1.9). Per esempio, la porzione definita dalla combinazione A31-A21 =

19 Struttura hardware di un semplice calcolatore 19 va dall indirizzo all indirizzo 003FFFFF, estremi compresi. La maschera di Figura 1.9 deve quindi essere progettata per riconoscere (producendo 0 in u- scita) la combinazione desiderata. A20-A A19-A0 A20 /SL 8 20 A19-A0 /S 1Mx8 /S R /S A20 /SL /SH Tabella di verità della rete R 2Mx8 /SH 8 20 A19-A0 /S 1Mx8 Figura 1.8 Un banco di memoria 2Mx8 /MRD /MWR A31-A A31-A21 A20-A0 maschera 21 /S A20-A0 8 2Mx8 Figura 1.9 Collegamento di un banco di memoria al bus del processore

20 20 Capitolo Organizzazione dello spazio di I/O Supponiamo che le interfacce vengano montate nello spazio di I/O. Come detto precedentemente, un interfaccia semplificata appare al programmatore come una piccola memoria, costituita da un certo numero di registri di un byte. 2 8 /S A1-A0 EXIO Figura 1.10 Piedinatura di una semplice interfaccia In Figura 1.10 è mostrata la piedinatura di una semplice interfaccia, del tipo di quella schematizzata nel Volume I (con tre registri interni RBR, TBR e STR, aventi indirizzi (binari) interni 00, 01 e 10, rispettivamente): per semplicità sono omessi i piedini relativi all alimentazione, alla massa e al clock, e non sono evidenziati il numero e la direzione dei piedini per il collegamento al dispositivo esterno. Le funzioni dei vari piedini dell interfaccia sono riportate nella Tabella 1.3. Simbolo Tipo Nome e funzione A1-A0 ingresso Address: specificano l indirizzo per i registri interni durante le operazioni di lettura e di scrittura. bidirezionali Data (3-state): supportano i dati durante i cicli di lettura/scrittura; rimangono in alta impedenza quando l interfaccia non risponde a richieste di lettura. ingresso ReaD (impulso): indica la richiesta di un operazione di lettura. ingresso WRite (impulso): indica la richiesta di un operazione di scrittura. /S ingresso Select: abilita il chip a rispondere a richieste di operazioni di lettura o di scrittura. EXIO ing/usc EXternal I/O: servono a effettuare gli scambi di informazioni tra interfaccia e dispositivo esterno. Tabella 1.3 Significato dei piedini di un interfaccia L interfaccia di cui sopra può essere montata nello spazio di I/O del processore secondo lo schema di Figura L indirizzo di ciascun registro nello spazio di

21 Struttura hardware di un semplice calcolatore 21 I/O (così come deve essere specificato dal programmatore) si ottiene a partire dal suo indirizzo all interno dell interfaccia, applicando la regola: indirizzo = indirizzo base + indirizzo interno dove l indirizzo base si ricava completando la configurazione dei bit riconosciuta dalla maschera con i rimanenti bit di indirizzo pensati uguali a zero: per esempio, se la maschera produce 0 in uscita quando A15-A2 = , allora l indirizzo base è 00F8. /IORD /IOWR A15-A A1-A0 14 A15-A2 8 maschera A1-A0 /S EXIO Figura 1.11 Collegamento di un interfaccia al bus del processore Occorre infine notare che un interfaccia, apparendo esternamente come una piccola memoria, può essere montata anche nello spazio di memoria: in questo caso l accesso ai registri interni si ottiene attraverso l istruzione MOV, invece che con le istruzioni IN e OUT. 1.7 Bus di comunicazione Il bus di comunicazione serve a collegare il processore con altri blocchi, che possono essere banchi di memoria o interfacce. Il bus è semplicemente costituito da un insieme di collegamenti, che devono però essere utilizzati in modo corretto: al più un blocco alla volta deve inviare informazioni sul bus, che vengono ricevute da un altro blocco. Se su un collegamento vengono inviate informazioni da parte di due blocchi diversi, avviene un conflitto (o cortocircuito): si deve avere quindi mutua esclusione. In un calcolatore semplificato, la mutua esclusione interessa solo il bus dati (bidirezionale), in quanto il bus indirizzi e il bus di controllo vengono comandati unicamente dal processore. I blocchi collegati al bus dati si comportano come se

22 22 Capitolo 1 possedessero (per ciascun piedino dati) un registro comandato da un impulso di scrittura /W, la cui uscita è collegata a una porta 3-state comandata da un segnale /OE (Figura 1.12). Quando avviene un ciclo di bus, il segnale di abilitazione /S diviene attivo in dipendenza dal valore di alcuni bit più significativi dell indirizzo (uscita di una maschera), indipendentemente dallo spazio, mentre i segnali di lettura o di scrittura divengono attivi, oltre che in funzione del tipo di operazione, in dipendenza dallo spazio in cui il blocco è posizionato (a seconda che siano utilizzati i collegamenti /MRD e /MWR, oppure /IORD e /IOWR). Nel caso di un operazione di scrittura, la porta 3-state è aperta (uscita in alta impedenza), e la quantità presente sul bus viene scritta nel registro selezionato ( viene utilizzato come impulso di scrittura 1-0-1, scrittura che avviene sul fronte in salita dell impulso stesso). Nel caso di un operazione di lettura, la porta 3-state è chiusa (si comporta come un cortocircuito) e il valore memorizzato nel registro viene inviato sul bus dati. Bus dati Registro selezionato Porta three-state /W /OE OR OR /S Figura 1.12 Collegamento di un blocco al bus dati 1.8 OR di collettore Alcuni piedini di uscita di un circuito digitale A possono essere a collettore aperto (open collector): essi sono attivi bassi e si prestano ad essere collegati in OR all ingresso di un altro circuito digitale B (tramite una resistenza), come illustrato in Figura 1.13.

23 Struttura hardware di un semplice calcolatore 23 L ingresso del circuito B vale 1 (non è attivo) se l uscita di tutti i circuiti A vale 1 (nessuna uscita è attiva, ossia nessun transistor è in conduzione), mentre vale 0 se l uscita di almeno uno dei circuiti A vale 0 (l uscita è attiva, ossia il transistor è in conduzione). Pertanto, con segnali attivi bassi viene realizzata la funzione OR. Questo tipo di soluzione consente di realizzare un bus di comunicazione unidirezionale, in cui vi sono più circuiti richiedenti (di tipo A) e un unico cir-cuito servitore (di tipo B), come nel caso del Controllore di Interruzioni APIC utilizzato in connessione col bus PCI (Capitolo 9). Vcc) Ingresso (attivo basso) Circuito A Circuito A Circuito B Uscita (attiva bassa) Transistor Uscita (attiva bassa) Transistor Figura 1.13 OR di collettore

ARCHITETTURA DEI CALCOLATORI

ARCHITETTURA DEI CALCOLATORI A09 139 Graziano Frosini Giuseppe Lettieri ARCHITETTURA DEI CALCOLATORI VOLUME II STRUTTURA DEL PROCESSORE, DEL BUS, DELLA MEMORIA E DELLE INTERFACCE, E GESTIONE DELL I/O CON RIFERIMENTO AL PERSONAL COMPUTER

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione.

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione. I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione. Dispensina per gli studenti di Ingegneria Gestionale. A.A.

Dettagli

Sottosistemi ed Architetture Memorie

Sottosistemi ed Architetture Memorie Sottosistemi ed Architetture Memorie CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II La memoria centrale Memoria centrale: array di

Dettagli

Esame di INFORMATICA Lezione 4

Esame di INFORMATICA Lezione 4 Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Architettura dei computer

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

Dettagli

Architettura hardware

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

Dettagli

Il Processore: l unità di controllo

Il Processore: l unità di controllo Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di

Dettagli

Architetture dei Calcolatori Interfacce

Architetture dei Calcolatori Interfacce Architetture dei Calcolatori Interfacce Ingegneria dell Automazione A.A. 2011/12 Anna Lina Ruscelli Sommario Organizzazione dello spazio di I/O Interfacce parallele di ingresso/uscita senza handshake con

Dettagli

Architettura dei Calcolatori Interfacce

Architettura dei Calcolatori Interfacce Architettura dei Calcolatori Interfacce Ingegneria dell Automazione A.A. 2011/12 Anna Lina Ruscelli Sommario Organizzazione dello spazio di I/O Interfacce parallele di ingresso/uscita senza handshake con

Dettagli

Capitolo 5 Elementi architetturali di base

Capitolo 5 Elementi architetturali di base Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo

Dettagli

LA GESTIONE DELLA I/O

LA GESTIONE DELLA I/O LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente

Dettagli

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Come è fatto un computer

Come è fatto un computer Come è fatto un computer COMPUTER = HARDWARE + SOFTWARE Hardware = Ferramenta Ovvero la parte elettronica e meccanica del PC Software = i programmi TIPI DI COMPUTER mainframe workstation server IL COMPUTER

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Interfacciamento di periferiche I/O al μp 8088

Interfacciamento di periferiche I/O al μp 8088 Interfacciamento di periferiche I/O al μp 8088 5.1 Principali segnali della CPU 8086 5.2 Periferiche di I/O e loro gestione 5.3 Collegamento di periferiche di input 5.4 Collegamento di periferiche di output

Dettagli

La macchina di Von Neumann

La macchina di Von Neumann Università degli Studi di Palermo Facoltà di Ingegneria La macchina di Edoardo Ardizzone & Ignazio Infantino Appunti per il corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Informatica

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Tecnologie per le Memorie Anno Accademico Francesco Tortorella Gerarchia di memoria: vista complessiva Gerarchia di memoria: tecnologie Accesso casuale (random):

Dettagli

Architettura di un processore basato su registri generali.

Architettura di un processore basato su registri generali. Architettura di un processore basato su registri generali. M. Esposito (mesposit@unina.it) 26 febbraio 2007 In Fig. 1 è riportato uno schema di principio che raffigura l architettura di un processore basato

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura

Dettagli

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Calcolatori Elettronici 1 Memoria RAM RAM: Random Access Memory Tempi di accesso indipendenti dalla posizione Statica o Dinamica Valutata in termini di Dimensione (di solito

Dettagli

Componenti di un processore

Componenti di un processore Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria

Dettagli

Il protocollo RS Introduzione. 1.2 Lo Standard RS-232

Il protocollo RS Introduzione. 1.2 Lo Standard RS-232 1 Il protocollo RS232 1.1 Introduzione Come noto un dispositivo di interfaccia permette la comunicazione tra la struttura hardware di un calcolatore e uno o più dispositivi esterni. Uno degli obiettivi

Dettagli

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti

Dettagli

Caratteristiche di un PC

Caratteristiche di un PC Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Sottosistema d ingresso uscita

Sottosistema d ingresso uscita Lezione n.15 Sottosistema d ingresso uscita Le interfacce Sommario: Il sottosistema d ingresso/uscita (I/O) e le interfacce Gestione di un periferico a controllo di programma 1 Il sottosistema d ingresso/uscita

Dettagli

Input/Output (Cap. 7, Stallings)

Input/Output (Cap. 7, Stallings) Input/Output (Cap. 7, Stallings) Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi Tutti più lenti della CPU e della RAM Necessità di avere moduli

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende

Dettagli

CPU, RAM, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica

CPU, RAM, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica CPU,, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro A.A. 2009-10 Ripassiamo: Struttura di un Computer CPU Regola il funzionamento del computer E' in grado di eseguire

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-La memoria 1 Prerequisiti Concetto di memoria Dati e istruzioni Bit e byte 2 1 Introduzione In questa Unità studiamo più in dettaglio la memoria del computer e le sue funzioni.

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e

Dettagli

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Classificazione delle memorie Funzionalità Memoria di sola lettura (ROM) Memoria di lettura/scrittura Tecnologia Memoria a semiconduttori Memoria magnetica Memoria ottica Modalità

Dettagli

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association) Informatica: Lez. 1 Andrea Payaro Consulente Certificato da ELA (European Logistics Association) andrea@payaro.it Andrea Payaro Ph.D. in Business Management at University of Padova Committee member of

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Modulo: Elementi di Informatica

Modulo: Elementi di Informatica ARCHITETTURA DI VON NEUMANN Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Fisica medica e statistica Modulo: Elementi di Informatica A.A. 2009/10 Lezione

Dettagli

Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di

Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di interfacciamento è stato introdotto al fine di collegare dispositivi remoti a bassa velocità con un calcolatore centrale. In questo genere

Dettagli

MANUALE PER L OPERATORE Versione software: 1.0

MANUALE PER L OPERATORE Versione software: 1.0 Sesto S. Giovanni - 19 Maggio 2004 Div. elettronica DATAFLOW Rev.1.0 SW-HW:DATALINK SOFTWARE PER L ELABORAZIONE DEI SEGNALI RILEVATI DALLA SCHEDA DI ACQUISIZIONE MANUALE PER L OPERATORE Versione software:

Dettagli

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti) Cognome e Nome: Matr.: Architettura degli Elaboratori Inf A 14 febbraio 2013 Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti)

Dettagli

Teoria dell Informazione

Teoria dell Informazione Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro

Dettagli

Secondo l architettura di Von Neumann il bus rappresenta il punto di interconnessione di tutti i componenti del calcolatore.

Secondo l architettura di Von Neumann il bus rappresenta il punto di interconnessione di tutti i componenti del calcolatore. Secondo l architettura di Von Neumann il bus rappresenta il punto di interconnessione di tutti i componenti del calcolatore. Sui bus si attestano periferiche caratterizzate da funzioni e velocità molto

Dettagli

CN03P. Manuale d uso Controller per motori Passo Passo Ver. 1.5 del 6 giugno 07 Connessione Centronics

CN03P. Manuale d uso Controller per motori Passo Passo Ver. 1.5 del 6 giugno 07 Connessione Centronics CN03P Manuale d uso Controller per motori Passo Passo Ver. 1.5 del 6 giugno 07 Connessione Centronics Pagina 1 Introduzione: 3 Caratteristiche tecniche : 3 Montaggi: 4 Alimentazione 4 Motori Passo Passo

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura dei sistemi a microprocessore prof. Stefano Salvatori A.A. 2014/2015 Eccetto dove diversamente specificato, i contenuti

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

Dettagli

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (9 punti) Si

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO

Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO Strumenti utilizzati Strumento Marca e modello Caratteristiche Alimentatore Scheda ALTERA Fotocamera digitale Topward electronics TPS- 4000 ALTERA Max

Dettagli

Struttura hw del computer

Struttura hw del computer Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l esecuzione dei programmi 1 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti:

Dettagli

Influenza dell' I/O sulle prestazioni (globali) di un sistema

Influenza dell' I/O sulle prestazioni (globali) di un sistema Influenza dell' I/O sulle prestazioni (globali) di un sistema Tempo totale per l'esecuzione di un programma = tempo di CPU + tempo di I/O Supponiamo di avere un programma che viene eseguito in 100 secondi

Dettagli

ESERCIZI DEL CORSO DI INFORMATICA

ESERCIZI DEL CORSO DI INFORMATICA ESERCIZI DEL CORSO DI INFORMTIC Questa breve raccolta di esercizi vuole mettere in luce alcuni aspetti della prima parte del corso e fornire qualche spunto di riflessione. Il contenuto del materiale seguente

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2 La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri

Dettagli

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino ELETTRONICA II Prof. Dante Del Corso - Politecnico di Torino Gruppo H: Sistemi Elettronici Lezione n. 36 - H -1: Piastra di memoria statica Interfaccia con registri di I/O Interconnessioni e sistemi Protocolli

Dettagli

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non

Dettagli

L architettura del calcolatore

L architettura del calcolatore INFORMATICA B Ingegneria Elettrica L architettura del calcolatore Hardware Componenti fisiche: circuiti, schede, memorie, periferiche, stampanti, monitor... 2 Software I programmi eseguibili (istruzioni

Dettagli

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando

Dettagli

Introduzione al funzionamento di un calcolatore elettronico

Introduzione al funzionamento di un calcolatore elettronico 1 / 21 Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 2 / 21 Sommario Che cos è un calcolatore? 1 Che cos è un calcolatore? Definizioni preliminari Il calcolatore

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore Architettura di un calcolatore Corso di Informatica A Vito Perrone Indice La macchina di Von Neumann Memoria CPU Bus Interfacce Esempio L algoritmo Il programma Fasi di esecuzione di un istruzione 2 1

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM

Dettagli

MEMORIE AD ACCESSO CASUALE

MEMORIE AD ACCESSO CASUALE MEMORIE Le memorie sono circuiti in grado di contenere un elevato numero di informazioni binarie in maniera organizzata e fornirle in uscita mediante una operazione detta LETTURA della memoria. A seconda

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

Lezione 1: L hardware

Lezione 1: L hardware Architettura del calcolatore Lezione 1: L hardware Architettura Componenti e funzionamento Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle

Dettagli

Corso di Calcolatori Elettronici I

Corso di Calcolatori Elettronici I Corso di Calcolatori Elettronici I Il sistema di Input-Output Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2014-2015 Roberto Canonico Corso di Calcolatori Elettronici I A.A. 2014-2015

Dettagli

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU: Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema

Dettagli

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. Architettura di un Elaboratore Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. È costituita da quattro elementi funzionali

Dettagli

INFORMATICA GENERALE

INFORMATICA GENERALE INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Silvano Antonelli -Ricevimento : durante il corso: Martedì ore 15.30 presso Dipartimento di Informatica, Largo Pontecorvo 2 Stanza 394 negli altri periodi:

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile) Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi

Dettagli

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche 3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni

Dettagli

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Architettura degli Elaboratori (Prima Unità) Renato.LoCigno@dit.unitn.it www.dit.unitn.it/~locigno/didattica/archit/02-03/index.html

Dettagli

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a) Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis Corso di Laurea in Ingegneria Elettronica Capitolo 7: Input/Output Capitolo 7 Input/Output Esercizi sul BUS: 1. Bus sincrono 2. Arbitraggio

Dettagli

static dynamic random access memory

static dynamic random access memory LA MEMORIA SRAM e D R A M static dynamic random access memory SRAM: unità che memorizza un gran numero di parole in un insieme di flip-flop, opportunamente connessi, mediante un sistema di indirizzamento

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici RETI SEQUENZIALI : ESERCIZI Massimiliano Giacomin 1 Implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente il suo stato secondo una regola

Dettagli

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo

Dettagli

Lezione 7 Sommatori e Moltiplicatori

Lezione 7 Sommatori e Moltiplicatori Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 /36 Sommario

Dettagli

Memoria Secondaria o di Massa

Memoria Secondaria o di Massa Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici, CD, DVD, USB memory, etc deve essere permanente (mentre la RAM e`volatile) accesso sequenziale, cioe il tempo di accesso

Dettagli

I formati delle istruzioni

I formati delle istruzioni Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da

Dettagli

Corso di Architettura (Prof. Scarano) 09/04/2002

Corso di Architettura (Prof. Scarano) 09/04/2002 Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno

Dettagli

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1 Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di

Dettagli

Elaborazione dell informazione

Elaborazione dell informazione Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione

Dettagli

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Reti logiche 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota di

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Struttura di un elaboratore

Struttura di un elaboratore Testo di rif.to: [Congiu] -.1,.2 (pg. 80 9) Struttura di un elaboratore 01.b Blocchi funzionali La memoria centrale Suddivisione in blocchi funzionali 1 I blocchi funzionali di un elaboratore Organizzazione

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

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull

Dettagli

Internetworking V a nno

Internetworking V a nno Internetworking V anno Introduzione ad Arduino Introduzione La scheda Arduino nasce nel 2005 dall idea di alcuni giovani ricercatori guidati da Massimo Banzi. Il loro obiettivo era quello di creare una

Dettagli

Memorie elettroniche. 1. Parametri delle memorie

Memorie elettroniche. 1. Parametri delle memorie 62 Fig. 1. Struttura di memoria. Memorie elettroniche Le memorie elettroniche sono dispositivi che immagazzinano informazioni sotto forma di codici binari. I dati memorizzati possono essere scritti (write)

Dettagli

Elementi di base del calcolatore

Elementi di base del calcolatore Elementi di base del calcolatore Registri: dispositivi elettronici capaci di memorizzare insiemi di bit (8, 16, 32, 64, ) Clock: segnale di sincronizzazione per tutto il sistema si misura in cicli/secondo

Dettagli

Lezione 16. Il Software di base

Lezione 16. Il Software di base Lezione 16 Software di base Il Software di base Con il termine software di base si intende l insieme dei programmai che consentono ad un utente di eseguire operazioni base come costruire e mandare in esecuzione

Dettagli

Gli attori principali di un architettura

Gli attori principali di un architettura Memoria Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it Gli attori principali

Dettagli

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect) Ciclo esecutivo delle istruzioni: Fetch/Execute Lo avete visto nel corso di Introduzione alle Architetture degli Elaboratori Stallings, Capitolo 3 Ne vediamo una versione revisionata Indirettezza Per recuperare

Dettagli