La Macchina RAM Shepherdson e Sturgis (1963)
|
|
- Camillo Patti
- 8 anni fa
- Visualizzazioni
Transcript
1 La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA M E M O R I A
2 Formato delle Istruzioni CODOP =x x è operando immediato CODOP x L operando si trova memorizzato in M[x] (Indirizzamento diretto) LDA x M [x] op CODOP *x L operando si trova memorizzato in M [ M[x] ] (Indirizzamento indiretto) M [y] op LDA *x M [x] y CODOP label Essendo label una stringa alfanumerica si introduce la funzione b(label) che!! associa un numero intero ad una label.
3 Un set di istruzioni LDA = x M[] & x LDA x M[] & M[x] LDA *x M[] & M[M[x]] ADD =x M[] & M[] + x ADD x M[] & M[] + M[x] ADD *x M[] & M[] + M[M[x]] STO x M[x] & M[] STO *x M[M[x]] & M[] SUB =x M[] & M[] - x SUB x M[] & M[] - M[x] SUB *x M[] & M[] - M[M[x]] READ x M[x]& valore in input READ *x M[M[x]]& valore in input WRITE = x Stampa in uscita x WRITE x Stampa in uscita M[x] WRITE *x Stampa in uscita M[M[x]] JMP label JSP label JSZ label PC & b(label) if M[] > PC & b(label) else PC& PC+ if M[] = PC & b(label) else PC& PC+ HLT Fine della computazione Si osservi che per ogni istruzione che non sia dì salto o l istruzione di HLT si ha sempre PC& PC +
4 Esempio di programma sulla RAM READ READ 2 loop: LDA SUB 2 JSZ halt LDA! SUB 2 JSP via LDA STO 3 LDA 2 STO LDA 3 STO 2 via: LDA SUB 2 STO JMP loop halt: WRITE HLT Start a, b a = b a < b a = a - b T T MCD di due numeri interi a Stop a b
5 Valutazione della complessità computazionale nella RAM Criterio del costo uniforme - Si fa l assunzione che ciascuna istruzione richieda una unità di tempo - Ciascuna locazione di memoria, compreso l accumulatore, richieda una unità di spazio Il modello a costi uniformi è giudicato come poco realistico in quanto: - il costo di esecuzione di una istruzione risulta indipendente dalla dimensione del dato - l accesso ad un registro di memoria risulta unitario indipendentemente dal numero dei registri accessibili. In altre parole il criterio del costo uniforme non potrebbe modellare valutazioni di complessità per dati arbitrariamente grandi e per occupazioni di memoria anch esse arbitrariamente grandi, in quanto suppone che sia possibile accedere ad una quantità di informazione illimitata in un tempo limitato.
6 Valutazione della complessità computazionale nella RAM Criterio del costo logaritmico - Si fa l assunzione che il tempo richiesto per eseguire l istruzione sia proporzionale alla lunghezza degli operandi. Si introduce la funzione l (n) definita come l (n) = if n = then else - log 2 n - + per valutare il costo di una istruzione si considerano i seguenti contributi. l elaborazione di un operando ha un costo l (n) 2. l accesso ad un registro i viene valutato come l (i) - Si applica la medesima filosofia per l occupazione di spazio Sia m l indirizzo più alto del registro di memoria cui si fa accesso durante l esecuzione del programma e sia M i il valore assoluto più grande immagazinato allora: m! i l (M i ) definisce la complessità spaziale logaritmica
7 LDA = x l(x) LDA x l(x) + l(m[x] ) LDA *x l(x) + l(m[x] ) + l(m[m[x]]) STO x l (M[]) + l(x) STO *x l (M[]) + l(x) + l(m[x] ) Costi logaritmici ADD =x l (M[]) + l(x) ADD x l (M[]) + l(x) + l(m[x] ) ADD *x l (M[]) + l(x) + l(m[x] ) + l(m[m[x]]) READ x l(val) + l(x) READ *x l(val) + l(x) + l(m[x] ) WRITE = x l(x) WRITE x l(x) + l(m[x] ) WRITE *x l(x) + l(m[x] ) + l(m[m[x]]) JMP label JSP label l (M[]) JSZ label l (M[]) HLT
8 Valutazione della complessità dell algoritmo per il MCD Una digressione sulla teoria dei numeri Si consideri la successione di Fibonacci Si dimostra che l n-esimo numero della successione può essere calcolato come F =! n / #5 dove! = n se si considera b = F ed a = F si può ricavare una relazione tra n e a (oppure b) n+ n+2 a = F n+2 =! n+2 / #5 n = log! (a #5 ) - 2 Si fa uso del seguente risultato (Teorema di G. Lamè): siano a e b tali che a > b> e sia n ", se a e b sono due numeri di Fibonacci tali che a = F n+2 e b = F n+ allora l applicazione del metodo di Euclide per il calcolo del MCD richiede n divisioni e rappresenta il caso peggiore.
9 Valutazione della complessità dell algoritmo per il MCD cont. Start MCD di due numeri interi a, b Esempio: a = 34 = F 9 a = b T a Stop b = 2 = F 8 n = 7 a < b T a b a = a - b
10 Ripetizioni $ READ READ 2 $ loop: LDA n+ SUB 2 n+ JSZ halt n+ LDA$ n SUB 2 n JSP via n LDA n- STO 3 n- LDA 2 n- STO n- LDA 3 n- STO 2 n- via: LDA n SUB 2 n STO n JMP loop n halt: WRITE HLT T(n) = 3(n+)+6(n-)+7n+4= 6n+ T(n) = 6[log! (a #5 )] - 3 Valutazione con costi uniformi n Start a, b a = b n a < b a = a - b T T n- MCD di due numeri interi a a b n- poiché a > b e n = log! (a #5 ) - 2 si ha O(log(a)) Stop
11 Valutazione con costi logaritmici Ripetizioni $ READ l() + l(a) READ 2 l(2) + l(b) loop: LDA n+ l() + l(m[]) SUB 2 n+ l(m[]) + l(2)+l(m[2]) "+2 l(a) JSZ halt n+ l(m[]) l(a) LDA$ n l() + l(m[]) SUB 2 n l(m[]) + l(2)+l(m[2]) "+2 l(a) JSP via n l(m[]) l(a) LDA n- l() + l(m[]) STO 3 n- l(m[]) + l(3) LDA 2 n- l(2)+l(m[2]) STO n- l(m[]) + l() LDA 3 n- l(3)+l(m[3]) STO 2 n- l(m[]) + l(2) via: LDA n l() + l(m[]) SUB 2 n l(m[]) + l(2)+l(m[2]) "+2 l(a) STO n l(m[]) + l() JMP loop n halt: WRITE l() + l(m[]) HLT si fa l ipotesi che l accesso a un registro sia costante es: "=2 inoltre a > b per cui si normalizza a l(a) pertanto T(n) = 8 n l(a) + l(a) + 27 n - O(log 2 (a))
12 Equivalenza dei modelli di calcolo (MT # RAM) Teorema. Una Macchina di Turing multinastro con complessità temporale T può essere simulata da una macchina RAM con complessità O(T) secondo il criterio del costo uniforme e O(T log(t)) secondo il criterio del costo logaritmico. La chiave della dimostrazione è l isomorfismo tra il nastro della MT e la memoria della RAM supposto che nelle celle della MT vi sia un digit / e che si faccia coincidere la cella i-esima del nastro della MT con il registro di memoria i+-esimo della RAM. Il registro della RAM indicherà l attuale posizione della testina di lettura/ scrittura della MT (inizializzata a 2). Se ad esempio la MT prevede le seguenti due transizioni " (p,) (q,,d) e " (p, ) (p,,s) il seguente frammento implementa le due transizioni: p LOAD * Carica il valore della prima cella del nastro nell accumulatore JSP p poiché nel nostro caso il valore è si va in sequenza LOAD = STORE * cambia il valore da ad nella cella puntata dal registro LOAD ADD = STORE spostamento a destra della testina di lettura/scrittura JUMP q vai allo stato q p LOAD SUB = STORE spostamento a sinistra della testina di lettura/scrittura JUMP p RAM... M T
13 Equivalenza dei modelli di calcolo (MT # RAM) La macchina RAM riesce a simulare una transizione della MT in al più 8 istruzioni perché tante sono le istruzioni necessarie per realizzare transizioni in cui tutti gli elementi vengono variati. p LOAD * Ciascuna istruzione della RAM ha un costo che è al più O(log i max) dove i max indica il massimo numero di celle usate dalla MT quindi se la MT effettua T passi il costo complessivo del programma sulla RAM è O(T logt). Si osservi che nel caso si consideri il costo uniforme, non misurando l accesso alla memoria in termini logaritmici il costo complessivo è evidentemente O(T) JSP p LOAD = STORE * LOAD ADD = STORE JUMP q p LOAD SUB = STORE JUMP p...
14 Equivalenza dei modelli di calcolo (RAM # MT) Teorema: Si consideri un linguagio L accettato da una RAM con complessità temporale T secondo il criterio del costo logaritmico. E allora possibile costruire una macchina di Turing Multinastro che riconosce L in un tempo O(T 2 ). Oltre a due nastri TI e To che contengono l input e l output della Macchina RAM ci sono altri tre nastri che codificano: - T la memoria della RAM secondo la seguente convenzione: sia {i j j=,...k} l insieme degli indici tali che in un dato istante M[i j ] risulti inizializzato, il nastro T viene rappresentato come: T... $ $ $ M[i ] $ $... $ $ $ M[i k ] $ $... i dove il carattere $ viene usato come separatore, ed i simboli ij e M[ij ] vengono codificati in binario. - T2 contiene l accumulatore M[] codificato in binario - T3 viene usato come memoria temporanea. i k
15 Equivalenza dei modelli di calcolo (RAM # MT) Simulazione di alcune istruzioni significative della macchina RAM sulla MT. LOAD h - si cerca sul nastro T la sequenza $$ h $ M[h] $$ a partire dal margine sinistro del nastro se non viene trovata la macchina va in errore. - si copia il valore M[h] sul nastro T2 [l accumulatore] STORE h. si cerca sul nastro T la sequenza $$ h $ M[h] $$ se la ricerca fallisce vuol dire che ci troviamo in uno dei seguenti due casi: a) i k < h [indirizzamento ad un punto della memoria non ancora acceduto] $ in questo caso si memorizza la sequenza h $ M[] $$ al limite destro di T b) esiste un j < k tale che ij < h < ij+ [indirizzamento ad un punto della memoria non ancora acceduto] in questo caso: - si copia la porzione di T alla destra di ij $ M[ij] $ $ in T3 $ - si memorizza la sequenza h $ M[] $$ alla destra di i j $ M[i j ] $ $ - si memorizza il contenuto di T 3 alla destra di h $ M[] $$ 2. altrimenti si è trovato sul nastro un j tale che ij = h allora - si copia la porzione di T alla destra di h $ M[h] $ $ in T3 - si memorizza M[] $ $ alla destra di h $ in T $ - si copia il contenuto di T 3 alla destra di h $ M[] $ $ in T 3
16 Equivalenza dei modelli di calcolo (RAM # MT) Per quanto riguarda la valutazione dei costi in questo caso c è una notevole differenza qualora si consideri il costo logaritmico ed il costo uniforme. Nel caso del costo logaritmico, essendo questa una valutazione più accurata, se la macchina RAM lavora in un tempo T la MT lavora in un tempo O(T 2 ). Si ha infatti che la lunghezza del nastro T della MT avrà una lunghezza massima limitata da tmax ciò significa che nel caso peggiore ogni istruzione della RAM, simulata sulla MT, necessita di accedere a tutto il nastro. D altra parte ogni istruzione della RAM necessita di impiegare almeno un log(i) per l accesso all indirizzo del dato e log M[i] per l accesso al dato. Pertanto la MT deve pagare lo stesso tempo T della macchina RAM per l accesso ai dati più un fattore tmax < T per l esecuzione dell istruzione, da qui la valutazione O(T 2 ). Questo ragionamento non è valido se si valuta la RAM con costi uniformi, infatti una macchina a costi uniformi può valutare numeri 2 2n in un tempo O(n) [cioé calcola un numero di taglia esponenziale in un tempo lineare], mentre una MT richiederà 2 n celle per memorizzarli e leggerli, quindi necessiterà di almeno O(2 n ) passi per poterli calcolare. Ne consegue che le due complessità non sono polinomialmente correlate.
17 Equivalenza dei modelli di calcolo La macchina RAM con costi logaritmici e la macchina di Turing multinastro sono correlate polinomialmente. Se la complessità di un modello è O(T) la complessità dell altro è O(P. T) dove P è una funzione polinomiale Tutti i modelli computazionali adottando ipotesi ragionevoli per le misure di costo, hanno funzioni di complessità spaziale e temporale correlate polinomialmente. (Quest ultimo enunciato è considerato il corrispettivo della tesi di Church per la complessità computazionale).
Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali
Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,
DettagliLa macchina universale
La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*
DettagliTipologie di macchine di Turing
Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica
DettagliArchitettura 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
DettagliVarianti Macchine di Turing
Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli
DettagliCorso di Laurea in Matematica
Corso di Laurea in Matematica Laboratorio di Informatica (a.a. 2002-03) Esercizi 1 Docente: Monica Nesi 1. Scrivere un programma in C che, dati in ingresso due numeri naturali, calcola il loro prodotto
DettagliEsercizio su MT. Svolgimento
Esercizio su MT Definire una macchina di Turing deterministica M a nastro singolo e i concetti di configurazione e di transizione. Sintetizzare una macchina di Turing trasduttore che trasformi un numero
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliPARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson
DettagliI sistemi di numerazione
I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono
DettagliIl 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
DettagliVon Neumann. John Von Neumann (1903-1957)
Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su
DettagliLe Macchine di Turing
Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella
DettagliL interesse nella macchina di Turing
Aniello Murano Macchina di Turing universale e problema della fermata 6 Lezione n. Parole chiave: Universal Turing machine Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009
DettagliLaurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1]
Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Macchine di Turing modello di calcolo introdotto dall ingegner Alan Turing nel 1936, per simulare il processo di calcolo umano
DettagliAppunti sulla Macchina di Turing. Macchina di Turing
Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso
DettagliPARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 3.1 MACCHINE A REGISTRI 1 (RAM: Random Access Machines) Introdotte da Shepherdson
DettagliIng. 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
DettagliPrelievo di un istruzione. Istruzioni macchina. Tipi di istruzioni. Registri principali della CPU e loro ruolo
Registri principali della CPU e loro ruolo CPU e linguaggio macchina domande ed esercizi PC: indirizzo prossima IR: corrente MAR: indirizzo cella di M da leggere/scrivere MBR: contenuto cella di M letta
DettagliPARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson
DettagliAlgoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
DettagliInformatica teorica Lez. n 10 Macchine a registri. Macchine a registri. Prof. Giorgio Ausiello Università di Roma La Sapienza
Macchine a registri Argomenti della lezione Macchine a registri (RAM) Costi di calcolo RAM e macchine di Turing Macchine a registri elementari Macchine a registri (RAM: Random Access Machines) Introdotte
DettagliMacchine di Turing, problemi ricorsivi e ricorsivamente enumerabili
Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili roblemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa quello che ci aspettiamo. E facile
DettagliArchitettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):
Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande
DettagliIl 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
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliNozione di algoritmo. Gabriella Trucco
Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere
DettagliLe parole dell informatica: modello di calcolo, complessità e trattabilità
Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario
DettagliSistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >
Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego
DettagliComplessità Computazionale
Complessità Computazionale Analisi Algoritmi e pseudocodice Cosa significa analizzare un algoritmo Modello di calcolo Analisi del caso peggiore e del caso medio Esempio di algoritmo in pseudocodice INSERTION
DettagliARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4
ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio
DettagliTesti di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
DettagliCALCOLATORI 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
Dettagli2) Codici univocamente decifrabili e codici a prefisso.
Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il
DettagliFondamenti dei linguaggi di programmazione
Fondamenti dei linguaggi di programmazione Aniello Murano Università degli Studi di Napoli Federico II 1 Riassunto delle lezioni precedenti Prima Lezione: Introduzione e motivazioni del corso; Sintassi
DettagliCPU. 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
DettagliProgrammazione dinamica
Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)
DettagliL unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti
Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
DettagliOperazioni di input e output in Fortran 90
Operazioni di input e output in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: file e formattazione DIS - Dipartimento di informatica
DettagliArchitettura di un Elaboratore
Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione
DettagliEsame 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
DettagliCalcolo 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:
DettagliI componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica
I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica
DettagliCRITERI DI CONVERGENZA PER LE SERIE. lim a n = 0. (1) s n+1 = s n + a n+1. (2) CRITERI PER LE SERIE A TERMINI NON NEGATIVI
Il criterio più semplice è il seguente. CRITERI DI CONVERGENZA PER LE SERIE Teorema(condizione necessaria per la convergenza). Sia a 0, a 1, a 2,... una successione di numeri reali. Se la serie a k è convergente,
DettagliArchitettura 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
DettagliLezione n.9. Introduzione al linguaggio macchina
Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliIntorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in
Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in Solitamente si fa riferimento ad intorni simmetrici =, + + Definizione: dato
Dettagli1.4b: Hardware. (Memoria Centrale)
1.4b: Hardware (Memoria Centrale) Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.11, 3.13 IV ediz.: cap. 2.8, 2.9 Questi lucidi Memoria Centrale Un
DettagliL unità di elaborazione pipeline L unità Pipelining
Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata
Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura
DettagliEquazioni non lineari
Equazioni non lineari Data una funzione f : [a, b] R si cerca α [a, b] tale che f (α) = 0. I metodi numerici per la risoluzione di questo problema sono metodi iterativi. Teorema Data una funzione continua
DettagliStrutture di Memoria 1
Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione
Dettagliun nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;
Algoritmi 3 3.5 Capacità di calcolo Il matematico inglese Alan Turing (1912-1954) descrisse nel 1936 un tipo di automi, oggi detti macchine di Turing, e fornì una della prime definizioni rigorose di esecuzione
DettagliIntroduzione. Informatica B. Daniele Loiacono
Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione
DettagliRappresentazione dei numeri in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri
DettagliMatematica generale CTF
Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione
DettagliValutazione 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
DettagliFondamenti dell informatica
Fondamenti dell informatica Macchine a registri Rosario Culmone rosario.culmone@unicam.it 9/4/2008 UNICAM - p. 1/24 Modello di calcolo basato sui calcolatori Le macchine a registri (RAM: Random Access
Dettagli(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896
2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo
DettagliArchitettura 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
DettagliC. 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
DettagliCrittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica
Crittografia Corso di Laurea Specialistica in Informatica Primalità e Fattorizzazione Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliLa memoria - generalità
Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire
DettagliCapitolo 7: Teoria generale della calcolabilitá
Capitolo 7: Teoria generale della calcolabilitá 1 Differenti nozioni di calcolabilitá (che seguono da differenti modelli di calcolo) portano a definire la stessa classe di funzioni. Le tecniche di simulazione
DettagliLABORATORIO 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
DettagliPROVA 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
DettagliStrutturazione 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
DettagliMatlab: Strutture di Controllo. Informatica B
Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente
DettagliLa 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.
DettagliRAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997
1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:
DettagliAlgoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
DettagliQuinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.
Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere
DettagliArchitettura 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
DettagliFondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliInformatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011
Informatica appunti dalle lezioni del 20/09/2011 e del 27/09/2011 Definizioni Informatica: scienza per lʼelaborazione automatica dellʼinformazione Informatica = Informazione + Automatica Informazione:
DettagliB-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:
B-Tree Prof. Rudolf Bayer Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: Filesystem: btrfs, NTFS, ReiserFS, NSS, XFS, JFS
DettagliUtilizzo delle formule in Excel
Utilizzo delle formule in Excel Excel è dotato di un potente motore di calcolo che può essere utilizzato per elaborare i dati immessi dagli utenti. I calcoli sono definiti mediante formule. Ogni formula
DettagliLe macchine di Turing
Le macchine di Turing Alan Turing (1912-1954) 1954) Il problema della decisione i L Entscheidungsproblem [il problema della decisione] è risolto se si conosce una procedura che permette di decidere la
DettagliSISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1
DettagliFunzioni. Il modello console. Interfaccia in modalità console
Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi
DettagliE naturale chiedersi alcune cose sulla media campionaria x n
Supponiamo che un fabbricante stia introducendo un nuovo tipo di batteria per un automobile elettrica. La durata osservata x i delle i-esima batteria è la realizzazione (valore assunto) di una variabile
DettagliL utility Unix awk [Aho-Weinberger-Kernighan]
L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più
DettagliEQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6
EQUAZIONI DIFFERENZIALI.. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x log t (d) x = e t x log x (e) y = y 5y+6 (f) y = ty +t t +y (g) y = y (h) xy = y (i) y y y = 0 (j) x = x (k)
DettagliCorso 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: saverio.devito@portici.enea.it Tel.: +39
DettagliLezione 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
DettagliLezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014
Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS
Dettagli= 0, 098 ms. Da cui si ricava t 2 medio
1. Una macchina ha uno spazio degli indirizzi a 32 bit e una pagina di 8 KB. La tabella delle pagine è completamente nell hardware, con una parola a 32 bit per voce. Quando parte un processo, la tabella
DettagliDispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci
Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello V. M. Abrusci 12 ottobre 2015 0.1 Problemi logici basilari sulle classi Le classi sono uno dei temi della logica. Esponiamo in questa
DettagliRendering air show e verifica della sincronizzazione
Capitolo 5 Rendering air show e verifica della sincronizzazione 5.1 Introduzione Il Rendering 3D dell evoluzioni acrobatiche costituisce uno degli aspetti cruciali dell applicazione realizzata. L ambiente
DettagliStrumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi
Versione 2.0 Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi Corso anno 2011 E. MANUALE UTILIZZO HAZARD MAPPER Il programma Hazard Mapper è stato realizzato per redarre,
DettagliElementi di teoria dei segnali /b
Elementi di teoria dei segnali /b VERSIONE 29.4.01 Filtri e larghezza di banda dei canali Digitalizzazione e teorema del campionamento Capacità di canale e larghezza di banda Multiplexing e modulazioni
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliElementi di Informatica e Programmazione
Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos
DettagliGestione della Memoria
Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice
DettagliArchitettura 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
DettagliNote del corso di Calcolabilità e Linguaggi Formali - Lezione 6
Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6 Alberto Carraro 30 novembre DAIS, Universitá Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Funzioni Turing-calcolabili Finora abbiamo
Dettagli