Calcolatori Elettronici L-A
|
|
|
- Giada Lazzari
- 10 anni fa
- Visualizzazioni
Transcript
1 1 Calcolatori Elettronici L-A Obiettivo del modulo è lo studio dei seguenti aspetti dell hardware dei calcolatori: l architettura i principi di funzionamento le tecniche di progettazione l impatto dell'architettura sulle prestazioni si consiglia di seguire il corso di Calcolatori Elettronici L-A solamente dopo aver studiato Reti Logiche L-A 1
2 2 Modalità di svolgimento dell esame: prove intermedie e prova finale Esame finale costituito da tre esercizi: 1) esercizio sull ISA DLX 2) esercizio di progetto sul processore 8088 e suo linguaggio assembler 3) domanda di teoria 2
3 3 Calcolatori LA - Materiale didattico Le dispense sono più che sufficienti per una ottima preparazione selez. il proprio C.d.L. piano degli studi Calcolatori Elettronici L A Gli argomenti sono suddivisi in files.pdf (Acrobat Reader). Per ogni file esistono due formati, 1 slide per facciata con spazio per appunti e 2 slide per facciata. Per approfondimenti: John L. Hennessy, David A. Patterson ARCHITETTURE DEI CALCOLATORI, METODI DI VALUTAZIONE E PROGETTO - ISBN Zanichelli - 64,00 (nel 2002) - Capp Libro ben fatto a cui si ispira la parte del corso sul DLX, un po datato tecnicamente ma didatticamente valido da punto di vista della impostazione del progettista. Costoso.Traduzione dell originale Computer architecture, a quantitative approach edito in inglese da Morgan Kauffman Publishers, da NON confondere con un libro degli stessi autori edito in italiano da Zanichelli ma con TITOLO DIVERSO. --- Giacomo Bucci ARCHITETTURE DEI CALCOLATORI ELETTRONICI - ISBN X McGraw Hill Libri Italia - 39,00 (nel 2002) - Capp Libro ben fatto, originale italiano, molto più aggiornato e con un approccio molto più manualistico (ancora più utile dopo la laurea) 3
4 4 Il modello di Von Neumann (1) La macchina di Von Neumann Funzionamento Architettura dell hardware Prestazioni 4
5 5 Il modello di Von Neumann (2) Architettura del tutto generale che porta a realizzazioni poco dipendenti dal funzionamento desiderato il funzionamento è quello di una macchina digitale a esecuzione sequenziale e programma memorizzato sequenza di istruzioni (programma) memorizzate su un supporto di memoria Per cambiare funzionamento e' sufficiente cambiare il programma L architettura è adatta a trattare problemi molto piu' complessi di quelli visti nel corso di reti logiche ma con efficienza molto minore l'importanza e la diffusione dei calcolatori dipende fortemente dall'unicità di questo modello rappresentato visivamente nel prossimo lucido 5
6 6 Sistemi a microprocessore CPU SYSTEM BUS IN MEM OUT 6
7 7 Struttura del bus di sistema I segnali del bus di sistema sono suddivisi in tre gruppi: bus dati, bus degli indirizzi e bus dei segnali di comando il bus dati è costituito dai segnali che portano istruzioni e operandi; di solito il suo parallelismo è multiplo di un byte secondo una potenza di 2 (es. 1, 2, 4, 8, 16 byte); il parallelismo del bus dati è un altro parametro caratteristico dell architettura della CPU. Il bus dati è identificato dal vettore di bit D[m-1..0] il bus degli indirizzi è costituito dai segnali che identificano la posizione delle informazioni trasferite nello spazio di indirizzamento a cui si intende accedere; il bus degli indirizzi è solitamente identificato dal vettore di bit A[n-1..0] il bus dei segnali di comando è composto dai segnali che comandano i trasferimenti di dati sul bus; esempi di segnali di comando sono: il comando con cui la CPU esegue una lettura nello spazio di indirizzamento in memoria (MRDC#) il comando con cui la CPU esegue una scrittura in memoria (MWRC#) il comando con cui la CPU esegue una lettura nello spazio di indirizzamento in I/O (IORDC#) il comando con cui la CPU esegue una scrittura in I/O (IOWRC#) 7
8 8 Bus di un sistema a µp MEMORIA PRINCIPALE CPU INTERFACCE DI I/O Rete ingressi e uscite locali Bus dati Bus degli indirizzi Bus dei segnali di comando In questo schema a blocchi la CPU genera i segnali di indirizzo e di comando per la memoria e le interfacce 8
9 9 Accesso a dati e istruzioni da parte della CPU indirizzamento della memoria Durante l esecuzione del programma la CPU legge le istruzioni e scambia dati e altre informazioni con la memoria principale attraverso il bus La memoria principale è vista dalla CPU come un vettore M[0..2 n -1] di 2 n elementi detti celle o parole di memoria; questo vettore è detto spazio di indirizzamento in memoria L indice i che identifica la cella M[i] si chiama indirizzo della cella L accesso da parte della CPU all informazione (istruzione o operando) residente in M[i] avviene sempre mediante il rispettivo indirizzo; pertanto sul bus di sistema devono transitare non solo i contenuti ma anche gli indirizzi delle celle di memoria L indirizzo di una cella in uno spazio di indirizzamento di 2 n celle è una configurazione binaria di n bit; la dimensione dello spazio di indirizzamento di una CPU è uno dei parametri che ne caratterizza l architettura Ogni cella è solitamente composta da 8 bit (un byte); in questo caso si dice che la memoria è organizzata in byte; il byte è quindi la più piccola quantità di memoria indirizzabile 9
10 10 Locazioni di memoria MEMORIA INFO W INDIRIZZI 2 N-1 INFO K 51 INFO Z 2 INFO Y 1 INFO X 0 N = linee hardware di indirizzamento del bus indirizzi 10
11 11 Spazio di indirizzamento in memoria 0F FFFFH Spazio di indirizzamento di un MB Es. Intel 8086 Gli indirizzi si indicano solitamente in codice esadecimale la dimensione di uno spazio di indirizzamento si può esprimere in: Kilobyte (1KB = 2 10 Byte = 1024 B) Megabyte (1MB = 1K KB = 2 20 Byte = B) Gigabyte (1GB = 1K MB = 2 30 Byte = 1.0e+9) Esempi l 8085 ha uno spazio di indirizzamento di 64 KB (indirizzi di 16 bit) l 8086 ha uno uno spazio di indirizzamento di 1 MB (indirizzi di 20 bit rappresentabili con 5 cifre esadecimali) H 8 bit 11
12 12 Spazio di indirizzamento in memoria 4 Giga byte 8 bit 0FFFF FFFFH (4 G - 1) Nello Nello spazio spazio di di indirizzamento vengono mappati i i dispositivi fisici fisici di di memoria 0000F FFFFH H Spazio di indirizzamento di 4 GB Es. Intel Pentium Gli indirizzi si indicano solitamente in codice esadecimale la dimensione di uno spazio di indirizzamento si può esprimere in: Kilobyte (1KB = 2 10 Byte = 1024 B) Megabyte (1MB = 1K KB = 2 20 Byte = B) Gigabyte (1GB = 1K MB = 2 30 Byte = 1.0e+9) Esempi l 8085 ha uno spazio di indirizzamento di 64 KB (indirizzi di 16 bit) l 8086 ha uno uno spazio di indirizzamento di 1 MB (indirizzi di 20 bit rappresentabili con 5 cifre esadecimali) il Pentium ha uno spazio di indirizzamento di 4 GB (indirizzi di 32 bit rappresentabili con 8 cifre esadecimali) Pentium III e Pentium IV indirizzano 64 GB (indirizzi di 36 bit) 12
13 13 Accesso alle interfacce di ingresso/uscita Spazio di indirizzamento in I/O Durante l esecuzione del programma anche i dati scambiati tra CPU e interfacce di ingresso/uscita transitano per il bus Così come i dispositivi di memoria, anche le interfacce di ingresso/uscita sono mappate in uno spazio di indirizzamento Le interfacce di I/O possono essere mappate in uno spazio distinto da quello della memoria oppure nello stesso; in quest ultimo caso si dice che l I/O è mappato in memoria (memory mapped I/O) Lo spazio di indirizzamento in I/O è solitamente più piccolo dello spazio di indirizzamento in memoria; es: nelle architetture Intel IA16 e IA32 lo spazio di indirizzamento in I/O è di 64 KB Anche se i due spazi di indirizzamento sono distinti, i segnali del bus che portano l indirizzo sono comuni (i segnali che portano gli indirizzi di I/O sono un sottoinsieme di quelli che portano gli indirizzi negli accessi alla memoria) La distinzione tra i due spazi di indirizzamento viene affidata a appositi segnali del bus 8 bit 0FFFFH 00000H Spazio di indirizzamento in I/O di 64 KB Es. IA16 e IA32 13
14 14 Trasferimenti di informazioni sul bus comandati dalla CPU La CPU può comandare i seguenti trasferimenti di informazioni sul bus: trasferimenti da e verso dispositivi mappati nello spazio di indirizzamento in memoria; esempi: lettura di istruzioni e dati (operandi delle istruzioni) dalla memoria scrittura di risultati in memoria trasferimenti da e verso dispositivi mappati nello spazio di indirizzamento in I/O; esempi: lettura di dati dalle interfacce scrittura di risultati sulle interfacce Per gestire correttamente questi trasferimenti il bus di sistema deve disporre dei tre gruppi di segnali già descritti (dati, indirizzi e comandi) 14
15 15 La macchina programmabile Software Applicativo Software Linguaggio di Programmazione Hardware Livello architettonico Livello logico Software di base Instruction Set Processore, Memoria, I/O, Bus Registri, Contatori, Selettori, Alu, ecc. Reti logiche Famiglie e Librerie di Circuiti Livello fisico Circuiti elettronici Interruttori elettronici 15
16 16 Rappresentazione astratta dell hardware di un calcolatore L hardware del calcolatore si interfaccia con il software attraverso il suo set di istruzioni (linguaggio macchina) Memoria principale Programma Dati Unità di elaborazione PC ALU Registri Cache Interfacce Registri di transito e di stato Rete ingressi e uscite locali Bus di sistema Struttura del calcolatore (macchina digitale a esecuzione sequenziale e programma memorizzato) Ogni blocco della struttura è costituito da circuiti elettronici digitali 16
17 17 Modello di esecuzione del programma Il programma risiede in memoria ed è costituito da istruzioni codificate in forma binaria In memoria risiedono anche gli operandi delle istruzioni, cioè i dati elaborati e da elaborare Le istruzioni vengono eseguite in sequenza dalla CPU La CPU è una macchina sequenziale sincrona A livello di massima astrazione il suo automa ha due stati: Stato in cui la CPU legge in memoria la prossima istruzione da eseguire (INSTRUCTION FETCH o IF) Stato in cui la CPU esegue l istruzione letta in IF (EXECUTE o EX) IF EX per funzionare la CPU ha bisogno almeno degli ingressi di reset e clock Se il reset non è attivo la CPU perennemente legge e esegue istruzioni, cambiando stato ad ogni impulso di clock la frequenza del clock è uno dei parametri che caratterizzano la CPU 17
18 18 Il program counter e la sua dinamica durante l esecuzione di un programma Per poter eseguire le istruzioni in sequenza la CPU dispone al suo interno di un contatore detto Program Counter (PC) Il PC viene incrementato ad ogni FETCH Il PC contiene l indirizzo in memoria della prossima istruzione da leggere nella prossima fase di FETCH; in questo modo il PC individua la prossima istruzione da eseguire PC t Il grafico mostra la dinamica del PC quando il calcolatore esegue un loop di 4 iterazioni La pendenza delle linee è un indicatore del numero di istruzioni eseguite nell unità di tempo 18
19 19 Il calcolatore è una macchina digitale all interno di un calcolatore tutte le informazioni (es. dati e istruzioni) sono codificate in forma binaria, quindi: nell unità di elaborazione vengono elaborate variabili binarie in memoria dati e istruzioni risiedono sotto forma di variabili binarie Il bus è il supporto di interconnessione tra i blocchi che costituiscono il calcolatore quindi: sul bus transitano variabili binarie, pertanto i segnali del bus sono segnali digitali M CPU I/O I I blocchi interconnessi al al bus bus si si chiamano agenti agenti del del bus bus (bus (bus agent) agent) L unità L unità di di elaborazione viene viene chiamata anche anche processore o CPU CPU (Central Processing Unit) Unit) 19
20 20 Agenti master e slave e sistemi a singolo master M CPU I/O bus Gli agenti del bus si suddividono in: agente master agente slave agenti master/slave Si chiama agente del bus (bus agent) un modulo che si affaccia al bus Si chiama agente master un agente che genera indirizzi e segnali di comando; per i master indirizzi e comandi sono segnali di uscita Si chiama agente slave un agente indirizzato dal master; per gli agenti slave indirizzi e comandi sono segnali di ingresso Un sistema in cui c è un solo agente master è detto sistema a singolo master Nell architettura del lucido precedente la CPU è l unico agente master; memoria e interfacce sono agenti slave Un agente che alterna nel tempo il ruolo di master con quello di slave si chiama agente master/slave 20
21 21 I cicli di bus Il trasferimento di un informazione tra agenti del bus avviene con una sequenza di eventi detti nel loro insieme ciclo di bus in ogni ciclo di bus un agente master indirizza un agente slave Ad esempio, per leggere in memoria all indirizzo i la CPU (master del bus) genera un ciclo di bus costituito dalla seguente sequenza di eventi: la CPU mette sul bus degli indirizzi l indirizzo i la CPU attiva un segnale di comando che identifica l operazione desiderata (MRDC# per la lettura in memoria) la CPU attende che la memoria indirizzata (slave) metta l informazione desiderata sul bus dati la CPU legge (cioè campiona) sul bus dati i segnali generati dalla memoria Questa sequenza di eventi si chiama ciclo di lettura in memoria (memory read cycle) 21
22 22 Esempi di cicli di bus Altri esempi di cicli di bus sono i seguenti: ciclo di scrittura in memoria (memory write cycle) caratterizzato dal segnale di comando MWRC# ciclo di lettura in I/O (I/O read cycle) caratterizzato dal segnale di comando IORDC# ciclo di scrittura in I/O (I/O write cycle) caratterizzato dal segnale di comando IOWRC# Durante il corso studieremo in dettaglio questi e altri cicli di bus 22
23 23 Sistemi multimaster Un sistema in cui più bus master sono interconnessi a un bus si chiama sistema multimaster In questo caso il bus diventa una risorsa condivisa gestita a divisione di tempo: un solo bus master è attivo (bus owner) per ogni ciclo di bus Quando un master è attivo gli altri master possono: osservare l attività sul bus al fine di stabilire se ciò che avviene sul bus li riguarda (in questo caso l agente si chiama anche snooping agent) rimanere temporaneamente isolati dal bus E necessario prevedere un meccanismo di arbitraggio che assegna in base a una regola di priorità il bus ai master che ne fanno richiesta I cicli di bus sono indivisibili; se un master inizia un ciclo, allora lo termina prima di cedere il bus a un altro master (questa è una regola generale con qualche eccezione non considerata in questo corso) 23
24 24 Esempi di Sistemi Multimaster Architetture multiprocessor sistema multiprocessore a memoria condivisa MEM CPU 1 CPU 2 I/O Un sistema con più CPU affacciate al bus di sistema è un sistema multimaster Un sistema di questo tipo si chiama sistema multiprocessore a memoria condivisa L architettura viene anche chiamata architettura UMA (Uniform Memory Access) a indicare che tutte le CPU accedono nello stesso modo alla memoria Non solo la memoria ma anche le interfacce vengono condivise da tutte le CPU 24
25 25 Esempi di Sistemi Multimaster Sistemi con accesso diretto alla memoria (DMA) MEM CPU DMA e I/O I/O Bus multimaster Esistono interfacce in grado di generare cicli di bus di accesso alla memoria Queste interfacce vengono attivate dalla CPU, dopodichè gestiscono da sole lo scambio di informazioni tra la memoria e il mondo esterno, senza richiedere ulteriori interventi alla CPU La funzione di accesso autonomo alla memoria si chiama DMA (Direct Memory Access) Un sistema con una CPU e un interfaccia con DMA è ancora un sistema multimaster Esistono anche moduli il cui unico ruolo è quello di gestire il trasferimento dati tra agenti slave (es. memoria e interfacce slave); questi moduli si chiamano DMA Controller (DMAC) IDMAC e le interfacce con DMA sono in generale agenti master/slave (ma possono anche essere solo master) 25
26 26 Esercizio: calcolo del numero di cicli di bus necessario per eseguire un programma Domanda: quante volte accede al bus la CPU se si desidera eseguire il seguente programma? A = B+C D = E-F G = A*D (si facciano le seguenti tre ipotesi: tutte le variabili A, B, C, D, E, F, G sono residenti in memoria l accesso a ciascuna di esse richiede un ciclo di bus la lettura di ogni istruzione in memoria richiede un ciclo di bus ) Risposta: il programma è lungo tre istruzioni, quindi la CPU deve eseguire tre fasi di FETCH e tre fasi di EXECUTE ogni fase di FETCH (lettura dell istruzione da eseguire) implica un accesso al bus ogni fase di EXECUTE implica 3 cicli di bus (2 per la lettura in memoria dei due operandi e uno per la scrittura in memoria del risultato) dunque per eseguire il programma dato nelle ipotesi fissate sono necessari 12 cicli di bus 26
27 27 Il livello di astrazione a cui si colloca il corso Abbiamo visto quali sono i blocchi che compongono un calcolatore abbiamo visto quali sono i principi di funzionamento del calcolatore Ora daremo le seguenti definizioni: architettura dell hardware di un calcolatore prestazioni di un calcolatore quindi andremo a studiare come l architettura influenza le prestazioni successivamente analizzeremo le più comuni architetture oggi impiegate Infine impareremo a progettare semplici sistemi che basano il loro funzionamento su una CPU 27
28 28 Architettura dell hardware di un calcolatore L architettura dell hardware è definita dalla seguente terna: Il set di istruzioni (architettura vista dall utente, detta anche linguaggio macchina) La struttura interna La realizzazione circuitale (cioè la tecnologia microelettronica impiegata nella realizzazione) Uno stesso set di istruzioni può essere realizzato con strutture interne diverse (es. 386, 486, e Pentium) La stessa struttura interna può essere realizzata con tecnologie diverse (es. 486, 486-DX2 e 486-DX4) Architetture diverse avranno in generale prestazioni diverse 28
29 29 Principi di progettazione 1 Rendere veloce il caso più comune Nella progettazione di un calcolatore si cerca di rendere la risposta più veloce nei riguardi del compito che deve essere eseguito più spesso a discapito del caso meno frequente. Legge di Amdhal Il miglioramento di prestazione ottenibile mediante l uso di alcune modalità di esecuzione più veloci sarà tanto maggiore quanto maggiore è la frazione di tempo in cui esse vengono usate (nel calcolo va considerata la frazione di tempo su cui avrà effetto il miglioramento e non quella misurata dopo che è esso è stato apportato). Regole Pratiche -Il solo 10% del codice di un programma impegna la CPU per il 90% del tempo della sua esecuzione... -Località temporale: gli elementi (dati e codice) usati di recente saranno usati anche nel futuro prossimo -Località spaziale: gli elementi i cui indirizzi sono tra loro vicini tendono ad essere usati in tempi ravvicinati 29
30 30 Principi di progettazione 2 Per progettare un calcolatore bisogna tenere conto dei REQUISITI FUNZIONALI: Area d applicazione: impiego speciale (alte prestaz. per appl. specifiche) - generale (prestaz. bilanciate per svariati compiti) - scientifico (elevate prestazioni per calcoli con virgola mobile) - commerciale (supporto per Cobol -aritm. decimale- e database Livello di compatibilità SW: - alta compatibilità per la programmazione ad alto livello (sono accettati i sorgenti scritti per altre macchine grazie a compilatori scritti ad hoc) - alta compatibilità per gli eseguibili (sono accettati gli eseguibili compilati per altre macchine grazie ad una architettura costruita ad hoc) continua... 30
31 31 Principi di progettazione 3...segue REQUISITI FUNZIONALI: Compatibilità con vari OS, implica vincoli: - nella scelta della dimensione dello spazio di indirizzamento - nella gestione della memoria RAM (segmentata 8088, paginata Pentium, uniforme...) - realizzazione del meccanismo della protezione delle aree di memoria - gestione dei meccanismi per interrompere e riattivare un programma Rispetto degli standard per: - virgola mobile -Bus I/O - connessione alla rete, Piccolo è veloce è il principio è da applicare in particolare alle memorie. Piccoli segmenti di memoria saranno in generale veloci rispetto a memorie più capaci. Figlie di questo assioma sono le memorie cache, bassa capacità alta velocità, contribuiscono maggiormente a velocizzare l esecuzione di un programma quanto più contengono i dati più frequentemente usati dalla CPU 31
32 32 Calcolatori Elettronici L-A Misura delle prestazioni di un Calcolatore (o sistema a microprocessore) 32
33 33 Velocità di un Sistema a microprocessore o Speedup Def: Velocità relativa (Speedup) Definiamo un computer X più veloce di un altro Y quando il Tempo di Esecuzione [sec] (o Latenza) per un dato lavoro è più basso in X che in Y: TempoEsecuzione Y TempoEsecuzioneX ( VelocXrispettoVelocY )% = 100 TempoEsecuzioneX Per questo motivo se X esegue un calcolo in 10 secondi e Y in 15 si dirà che X è più veloce di Y del 50% (e non del 33%!). --- Esiste anche il parametro Prestazione [eventi/sec] talvolta usato per calcolare la velocità: 1 Prestazione = TempoEsecuzione 33
34 34 Prestazioni della CPU - 1 Clock [Hz] è un segnale periodico ad onda quadra (non necess. simmetrica) e frequenza FISSA usato dai dispositivi di un calcolatore (quindi anche dalla CPU) per discretizzare gli eventi e sincronizzare tra loro i dispositivi. Def: Tempo di CPU [sec] è il tempo impiegato dalla CPU per l esecuzione di UN programma. Esso NON comprende il tempo impiegato per altri programmi (multiprogrammazione) e il tempo necessario per accedere alle risorse di I/O necessarie al programma. CicliClockPerEseguireUnProgramma TempoDiCPU = FrequenzaClock Def: CPI clock per (ogni) istruzione medio Dato un programma di un certo numero di istruzioni, il CPI medio risulta dalla divisione dei cicli di clock serviti per eseguire il programma ed il numero di istruzioni di cui è composto il programma. CicliClockPerEseguireUnProgramma CPI = da cui NumeroIstruzioni NumeroIstruzioni CPI TempoDiCPU = Clock 34
35 35 Prestazioni della CPU - 2 Talvolta è utile determinare i cicli di clock necessari ad eseguire un programma in funzione del CPI medio supponendo che quest ultimo sia stato precedentemente misurato in modo specifico per la i-esima istruzione CicliClockPerEseguireUnProgramma = CPI i I i i= 1 dove I i rappresenta il numero di volte che l istruzione viene eseguita, CPI i è il suo CPImedio misurato ed n è il numero di istruzioni diverse inserite nel programma. Alla luce di questa ultima espressione possiamo ridefinire sia il n Tempo di CPU che il CPI: CPI i I i i= 1 TempoDiCPU = FrequenzaClock CPI = n i= 1 CPI i dove è stato messo in evidenza che ogni CPI i moltiplica la frazione delle occorrenze della istruzione nel programma. A parità di clock, più è basso il CPI, migliori sono le prestazioni. n I i NumeroIstruzioni 35
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
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
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
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
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
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.
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:
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
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
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
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
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
Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
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
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
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.
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
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
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
Corso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
DMA Accesso Diretto alla Memoria
Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati
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
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
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...
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
Parte II.2 Elaboratore
Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti
Il Processore: i registri
Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono
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:
Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia
L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza
Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18
Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing
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
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
Architettura di un computer
Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su
Organizzazione della memoria principale Il bus
Corso di Alfabetizzazione Informatica 2001/2002 Organizzazione della memoria principale Il bus Organizzazione della memoria principale La memoria principale è organizzata come un insieme di registri di
Sistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
- 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
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
Lezione n.19 Processori RISC e CISC
Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni
La macchina programmata Instruction Set Architecture (1)
Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un
Architettura degli elaboratori (A)
Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella [email protected] Prestazioni Si valutano in maniera diversa a seconda dell
ARCHITETTURA DEL CALCOLATORE
Orologio di sistema (Clock) UNITÀ UNITÀ DI DI INGRESSO Schema a blocchi di un calcolatore REGISTRI CONTROLLO BUS DEL SISTEMA MEMORIA DI DI MASSA Hard Hard Disk Disk MEMORIA CENTRALE Ram Ram ALU CPU UNITÀ
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,
Memoria Secondaria o di Massa
.. Pacman ha una velocità che dipende dal processore...quindi cambiando computer va più velocemente..sarà poi vero? Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici,
La Gestione delle risorse Renato Agati
Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File
Calcolatori Elettronici
Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con
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
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
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
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
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control
CALCOLATORI ELETTRONICI
CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: [email protected] [email protected] orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1
23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi
Dalla scorsa lezione LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica LA MACCHINA DI VON NEUMANN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico
Architettura di un calcolatore: introduzione
Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie
Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino
Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: [email protected] Tel.: +39
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1
Informazione analogica e digitale
L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica
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.
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
L architettura del calcolatore (Prima parte)
L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto
CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO
CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO L architettura di un calcolatore Informatica Linguaggi ad alto livello/applicazioni Sistema operativo Assembler ISA Architettura
Gestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
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
Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi
Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi
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
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
Corso di Sistemi di Elaborazione A.A. 2008/2009
Università di Ferrara Facoltà di Ingegneria Docente: Ing. Massimiliano Ruggeri Mail: [email protected] [email protected] Tel. 0532/735631 Corso di Sistemi di Elaborazione A.A. 2008/2009 Durata:
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
Fondamenti di informatica: un po di storia
Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi
Architettura dei calcolatori I parte Introduzione, CPU
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori
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
Il memory manager. Gestione della memoria centrale
Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda
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
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
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
Livello logico digitale. bus e memorie
Livello logico digitale bus e memorie Principali tipi di memoria Memoria RAM Memorie ROM RAM (Random Access Memory) SRAM (Static RAM) Basata su FF (4 o 6 transistor MOS) Veloce, costosa, bassa densità
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
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
Calcolatori Elettronici L-A
Calcolatori Elettronici L-A Mapping di chip di memoria e interfacce negli spazi di indirizzamento di sistemi con bus dati da 8 bit Decodifica degli indirizzi Decodifica completa Decodifica semplificata
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
I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
I componenti di un Sistema di elaborazione. CPU (central process unit)
I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.
Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA
Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA Il termine informatica riassume due parole, informazione automatica, e si occupa dei sistemi per l elaborazione
L architettura di riferimento
Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27
Strutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann
Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:
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
Un sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
La Macchina Virtuale
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore
