LABORATORIO CPU. LDC 10 ;00 Caricare una costante nel Accu STO 31 ;01 Salvare il valore del Accu in cella [31] HLT ;02 STOP.
|
|
- Virgilio Giusti
- 5 anni fa
- Visualizzazioni
Transcript
1 LABORATORIO CPU LDC 10 ;00 Caricare una costante nel Accu STO 31 ;01 Salvare il valore del Accu in cella [31] HLT ;02 STOP 30
2 Un CPU radicalmente ridotto qui si presenta un processore minimale, con solo otto istruzioni, che verrà usato in seguito per presentare e provare in pratica alcuni algoritmi di base. Un istruzione (codice operazione + operandi) = 8 bit (1 byte): 3 bit per il codice dell'istruzione (quindi, 2 3 =8 istruzioni) 5 bit (2 5 =32 valori) per costante (valori ) o indirizzi della RAM ( ) Tre registri: IR, PC, un registro dati (Accumulatore). In seguito le istruzioni: I. Trasferimento dati: LOD ind LDC cost STO ind carica nell Acc il contenuto della memoria con indirizzo ind carica la costante cost nell Acc trasferisce il contenuto dell Acc nella memoria con indirizzo ind II. Aritmetica: ADD ind SUB ind III. Controllo del flusso: JMP ind salto all indirizzo ind se il valore nell Acc >= 0 JMZ ind salto all indirizzo ind se il valore nell Acc = 0 HLT ferma l esecuzione del programma aggiunge all Acc il contenuto della memoria con indirizzo ind sottrare dall Acc il contenuto della memoria con indirizzo ind info@stoianov.it 31
3 Linguaggio Assembler: Sintassi Memoria del simulatore: nel CPU: IR, PC, un accumulatore RAM: 32 celle per programma & dati Programma = Dati + Algoritmo + Commenti istruzioni: localizzati all'inizio della RAM dati: localizzati alla fine della RAM Per prima vengono definiti i dati da utilizzare DEF indirizzo valore ad es.: [ DEF ] pp. possiamo utilizzare dati anche all'interno del programma: (LDC valore ) Segue la descrizione dell'algoritmo con una serie di istruzioni Ciascun'istruzione viene commentata utilizzando ; all'inizio dei commenti, enumerare gli istruzioni, partendo da 00 ad es.: [ LDC -1 ;03 Acc=-1 ] gli indirizzi servono a riferire gli istruzioni nei salti ad es.: [ JMP 03 ;09 Salto al 3] info@stoianov.it 32
4 Il primo programma (trasferimento dati) ; Imaginary Computer v4 ; OBBIETIVI: ; -fare il primo programma ; il compito: Assegnare a cella di memoria [31] una costante: [31]=10 ; -scrivere un programma in un file testuale ; -copiare il programma dal file alla finestra codice-assembler; ; -Compilare e Caricare il programma nella memoria; ; -Far notare che il programma va caricata dal indirizzo 0 ; -Eseguire passo per passo ; -Osservare come cambiano le registri e la memoria ad ogni passo ; IL PROGRAMMA LDC 10 ;00 Caricare una costante nel Accu STO 31 ;01 Salvare il valore del Accu in cella [31] della memoria HLT ;02 STOP info@stoianov.it 33
5 Primi passi: Aritmetica ; Imaginary Computer v4 ; OBBIETIVI : imparare a fare un programma ; compito: X=X+Costante (X=X+1) ;-definire una variabile (cella di memoria) ed assegnarle un valore iniziale ; usare celle con indirizzi grandi (31, 30, 29, ) (programma sta in basso) ;-caricare nell'accumulatore una costante ;-aggiungere all'accumulatore il contenuto della cella di memoria ;-trasferire il risultato nella stessa cella di memoria ; DATI DEF 31 2 ; mem[31]=x ; PROGRAMMA LDC 1 ; 00 Acc=1 ADD 31 ; 01 Acc=Acc+X STO 31 ; 02 X=X+1 HLT ; 03 fermi! info@stoianov.it 34
6 Primi passi: Aritmetica con 2 variabili ; Imaginary Computer v4 ; OBBIETIVI: imparare a fare elaborazione aritmetiche ; compito: X=X+Y ;- definire due variabili, X e Y come celle di memoria, [31] e [30] ;- caricare nell'accumulatore una di loro ;- aggiungere all'accumulatore l'altra ;- copiare il contenuto dell'accumulatore nella cella X ; DATI DEF 31 2 ; mem[31]=x DEF 30 6 ; mem[30]=y ; IL PROGRAMMA LOD 31 ; 00 Acc=X ADD 30 ; 01 Acc=X+Y STO 31 ; 02 X=X+Y HLT ; 03 fermi! info@stoianov.it 35
7 Primi passi: Elaborazione condizionale ; Imaginary Computer v4 ; OBBIETIVI: realizzare elaborazione condizionale semplice: non eseguire un pezzo di codice, utilizzando salto condizionale ; compito: se una variabile X>=0, assegnare alla variabile Y=1,altrimenti Y=0 ; -definire la variabile Y, dandole il valore iniziale 1 ; -caricare nell'accumulatore la variabile da verificare ; -saltare se necessario un pezzo di codice in quale si assegna Y=0 ; DATI DEF 31 5 ; mem[31]=x DEF 30 1 ; mem[30]=1 ; IL PROGRAMMA LOD 31 ; 00 Acc=X JMP 04 ; 01 se Acc>=0, vai a HLT LDC 0 ; 02 altrimenti: (i) Acc=0 STO 30 ; 03 (ii) Y=Acc (Y=0) HLT ; 04 fermi! info@stoianov.it 36
8 Elaborazione condizionale complessa ; Imaginary Computer v4 ; OBBIETIVI: elaborazione condizionale complesso; gestire più condizioni ; compito: X=[31];Y=[30]; Se (X>0) Y=1; Se (X=0), Y=0; Se (Y<0), Y=-1 ; DATI DEF 31 5 ; mem[31]=x ; PROGRAMMA LOD 31 ; 00 Acc=X JMP 05 ; 01 se Acc>=0, vai a "metti 0 o 1" LDC -1 ; 02 else Acc=-1 STO 30 ; 03 Y=-1 (x<0) HLT ; 04 FERMI JMZ 09 ; 05 se Acc=0, vai a "metti 0" LDC 1 ; 06 altrimenti Acc=1 STO 30 ; 07 Y=1 (x>0) HLT ; 08 FERMI LDC 0 ; 09 Acc=0 STO 30 ; 10 Y=0 (X=0) HLT ; 11 FERMI info@stoianov.it 37
9 Elaborazione condizionale (3) ; Imaginary Computer v4 ; OBBIETIVI: formule aritmetiche condizionali ;-compito: [31]=X; [30]=Y; X=X+ Y ;-verificare se Y è positivo o negativo e quindi aggiungerlo o sottrarlo da X utilizzando due diversi pezzi di codi; fermarsi dopo ognuno di questi. ; DATI DEF 31 5 ; mem[31]=x DEF 30-3 ; mem[30]=y ; PROGRAMMA LOD 30 ; 00 Acc=Y JMP 06 ; 01 Acc>=0? X=X+Y LOD 31 ; 02 Acc=X SUB 30 ; 03 Acc=X-Y STO 31 ; 04 X=Acc, cioè, X=X-Y HLT ; 05 STOP ADD 31 ; 06 (da 00: Acc=Y). Qui: Acc=Y+X STO 31 ; 07 X=Acc, cioè, X=X+Y HLT ; 08 STOP info@stoianov.it 38
10 Diagrammi di Flusso E' facile leggere le singole istruzioni di un programma scritta nel codice mnemonico, ma è difficile da capire la sua logica, sopratutto se nel programma c'e sono tanti cambi del flusso. La rappresentazione più apparente del flusso dei programmi utilizza Diagrammi di flusso. Essi sono costruiti dai seguenti blocchi fondamentali: elaborazione decisione I/O Inizio / Fine Ogni passo elementare di un algoritmo è rappresenta da un blocco. La sequenza di passi che costruiscono l'algoritmo si rappresenta con la sequenza dei passi elementari, rappresentati dai blocchi, collegati con frecce. info@stoianov.it 39
11 Esecuzione non-condizionale(2) Esempio: Aggiungere Y al X START mem[31]=x mem[30]=y X = X + Y HALT ADD X,Y? NO :-( START mem[31]=x mem[30]=y Acc = X Acc = Acc + Y X = Acc HALT DEF 31 2 DEF 30 6 LOD 31 ADD 30 STO 31 ; DATI ; mem[31]=x ; mem[30]=y ; PROGRAMMA ; 00 X Acc ; 01 Acc=X+Y ; 02 Acc X HLT ; 03 fermi! A sinistra: la realizzazione della somma X=X+Y con un processore completo A destra: la realizzazione della stessa somma, utilizzando il nostro processore ridotto. info@stoianov.it 40
12 Esecuzione non-condizionale ESERCIZIO Scambiare il contenuto di due variabili X e Y START Def X,Y Z = X X = Y Y = Z COMPITO Scrivere un programma in Assembler per il nostro CPU minimale che realizza questo algoritmo HALT info@stoianov.it 41
13 Esecuzione condizionale Eseguire una serie di elaborazioni solo se una condizione è vera Esempio: Aggiungere Y ad X solo se Y<0 verifica della condizione Se vero elaborazioni Se falso se vero Y < 0? X = X + Y se falso info@stoianov.it 42
14 Esecuzione condizionale Esempio: Aggiungere Y al X solo se Y<0 Y >= 0? se falso X = X + Y se vero ; DATA DEF 31 5 ; mem[31]=x DEF 30 3 ; mem[30]=y ; PROGRAMMA LOD 30 ; 00 Y Acc JMP 04 ; 01 se Acc>0 HLT ADD 31 ; 02 Acc=Acc+X STO 31 ; 03 Y+X X HLT ; 04 fermi! info@stoianov.it 43
15 Esecuzione condizionale (2) falso Elaborazioni-B verifica di condizione vero Elaborazioni-A La memoria RAM è lineare (non ha una natura spaziale, come, ad esempio, il cervello) Come implementare questa schema? 44
16 vero Confronto di due numeri Obbiettivo: confrontare due numeri ed eseguire qualcosa secondo il risultato di questo confronto Compito: trovare il massimo tra due numeri Dati: X,Y:[31,30] Mettere il risultato MAX(X,Y) in cella 29 Metodo: salto condizionato dalla differenza tra X e Y falso X>=Y max=y max=x Non - eseguire questo codice utilizzando salto noncondizionale ; DATA DEF 31 5 ; X DEF 30 4 ; Y ; PROGRAMMA LOD 31 ; 00 Acc = X SUB 30 ; 01 Acc = X Y JMP 07 ; 02 X Y>=0? 07 LOD 30 ; 03 Y Acc STO 29 ; 04 Acc MAX LDC 00 ; 05 Acc = 0 JMZ 09 ; 06 HLT LOD 31 ; 07 X Acc STO 29 ; 08 Acc MAX HLT ; 09 fermi! info@stoianov.it 45
17 Esercizi da fare da soli Obbiettivo: confrontare due numeri; assegnare uno o altro valore ad un'altra variabile secondo il risultato del confronto DATI:[31]=X,[30]=Y,[29]=Z; Compito: Se X>Y, Z=1, altrimenti Z=0 Obbiettivo: confronto ed ordine di due numeri DATI:[29],[30]; Compito: ordinare le celle 29,30 in modo crescente info@stoianov.it 46
Il CPU UNITA DI CALCOLI (ALU) UNITA DI CONTROLLO (CU) 1
Il CPU UNITA DI CONTROLLO (CU) UNITA DI CALCOLI (ALU) info@stoianov.it La struttura del Calcolatore UNITA DI CONTROLLO (CU) UNITA DI CALCOLI (ALU) CPU INPUT OUTPUT MEMORIA CENTRALE MEMORIA ESTERNA info@stoianov.it
DettagliProgrammazione al livello del CPU
Corsi di Laurea in Biologia e Biologia Molecolare Università di Padova, AA 2012/2013 Programmazione al livello del CPU www.stoianov.it info@stoianov.it 1 Esecuzione condizionale Eseguire blocco A o blocco
DettagliCPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore
CPU CPU e programmazione (Parte 1) La CPU (Central Processing Unit) e` in grado di eseguire dei programmi, cioe` sequenze di istruzioni elementari ( istruzioni macchina ) Idea fondamentale dell'architettura
DettagliAccumulatore Vettori. Preparazione per l'esame. Corsi di Laurea in Biologia e Biologia Molecolare Università di Padova, AA 2012/2013
Corsi di Laurea in Biologia e Biologia Molecolare Università di Padova, AA 2012/2013 Accumulatore Vettori Preparazione per l'esame www.stoianov.it info@stoianov.it 1 ACCUMULATORE Se abbiamo istruzioni
DettagliIstruzioni 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
DettagliLinguaggio 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
DettagliMemoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina
Architettura considerata in CPUSim Linguaggio macchina -- esempio in CPUSim Manuale di CPU Sim Memoria con 128 celle Indirizzi da 12 bit Registri usuali per un architettura di Von Neumann (, IR,, ) Un
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliParte 3. Linguaggio Macchina e Assembler
Parte 3 Linguaggio Macchina e Assembler LINGUAGGIO MACCHINA Descriveremo una CPU MINIMA dotata di un certo insieme di istruzioni I ciascuna realizzata da un corrispondente circuito C I. Questo insieme
DettagliELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un
DettagliCPUSim. Laboratorio 30/11/2016
CPUSim Laboratorio 30/11/2016 Tommaso Padoan e-mail: padoan@math.unipd.it CPUsim Scaricare il simulatore: www.math.unipd.it/~sperduti/architettura1.html scorrere fino a sezione Simulatori, aprire la pagina
DettagliPag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.
DettagliProgrammazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
DettagliElaborazione 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
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliSommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI
Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 016/017 Sommario Funzionamento del
DettagliFONDAMENTI DI INFORMATICA
Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://people.unica.it/gianlucamarcialis A.A. 2018/2019 Docente: Gian Luca Marcialis
DettagliSistemi di Elaborazione delle Informazioni
Sistemi di Elaborazione delle Informazioni Algoritmi e Programmi 1 Risoluzione di un problema Il procedimento di soluzione di un problema dovrebbe essere caratterizzato da: analisi del problema e identificazione
DettagliIl Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003
Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program
DettagliDall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
DettagliSTRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono
DettagliRappresentazione dell informazione
Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione
DettagliInformazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione
Informazioni varie Lezione 18 Il Set di Istruzioni (5) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno La lezione di martedì 20 maggio (9-12) non si tiene
Dettagli3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
DettagliLaboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi; Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare
DettagliSviluppo 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
Dettagliinformatica di base per le discipline umanistiche
informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia (per iniziare ) quinta lezione: la sintassi
DettagliI flow chart. Informatica Generale 14/15 Scienze della comunicazione. cristina gena.
I flow chart Informatica Generale 14/15 Scienze della comunicazione cristina gena cgena@di.unito.it http://www.di.unito.it/~cgena/teaching.html Diagrammi di flusso SAR Inizio del processo (Blocco di start)
DettagliDocente: Ivilin Stoianov Assistenti: Michele De Filippo, Alberto Testolin. Lab P150 (Paolotti) sito web: www.stoianov.it Email: info@stoianov.
Corso di Laurea in Biologia / Biologia Molecolare Università di Padova, AA 2011/2012 Laboratorio CPU Docente: Ivilin Stoianov Assistenti: Michele De Filippo, Alberto Testolin Lab P150 (Paolotti) sito web:
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
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
Dettaglio Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori
Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo
DettagliInformatica 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
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli
DettagliAlgoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato
Algoritmi, Strutture Dati e Programmi : Dati e Tipi di Dato Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Dati: Variabili e Costanti Un algoritmo (e il programma che ne è rappresentazione)
DettagliSviluppo 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
Dettagliinformatica di base per le discipline umanistiche
informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia (per iniziare ) quarta lezione: circuiti,
DettagliFetch Decode Execute Program Counter controllare esegue prossima
Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo
DettagliElementi di Architettura
Elementi di Architettura Fondamenti di Informatica Roberto BASILI Marzo, 2007 Classi di Istruzioni Istruzioni di assegnamento/modifica Istruzioni di controllo delle sequenze Istruzioni di I/O Classi di
DettagliIstruzioni, algoritmi, linguaggi
Istruzioni, algoritmi, linguaggi 1 Algoritmo per il calcolo delle radici reali di un equazione di 2 o grado Data l equazione ax 2 +bx+c=0, quali sono i valori di x per cui l equazione è soddisfatta? 2
DettagliTavola di verita. Tavola di verita f = (A+not(B)) x (not(a)+c) x not(a) A+ not(a) Tavole di verita. Dal problema alla rete combinatoria.
Tavola di verita Esercizi = C+not()not()C C 2 Tavole di verita ( + not()) x not() (not() + ) x (not()+not()) (not() + not()) x (not() x ) 3 Tavola di verita = (+not()) x (not()+c) x not() C + not() not()
DettagliArchitettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus
Architettura del calcolatore Calcolatori (1) Introdotti all'inizio degli anni 1940 Costruiti assemblano componenti elettronici elementari per memorizzare informazioni ed eseguire programmi informazioni
DettagliDal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione
Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore
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
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
DettagliFondamenti di Informatica B
Fondamenti di Informatica B Lezione n.9 Alberto Broggi Gianni Conte A.A. 2005-2006 Fondamenti di Informatica B DESCRIZIONE E PROGETTO A LIVELLO RTL ESEMPIO DI SISTEMA A LIVELLO RTL: IL MOLTIPLICATORE BINARIO
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma
DettagliSi ringraziano il Dott. Enrico Grisan e il Dott. Fabio Aiolli per il materiale didattico fornito
Università degli Studi di Padova Corso di Laurea in Matematica A.A. 2008-2009 2009 INTRODUZIONE ALLA PROGRAMMAZIONE Barbara Di Camillo Si ringraziano il Dott. Enrico Grisan e il Dott. Fabio Aiolli per
DettagliCalcolatore = esecutore di algoritmi FONDAMENTI DI INFORMATICA 1. Una semplice architettura. Istruzioni e programma ARCHITETTURA DEI CALCOLATORI ALU
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2/2 Calcolatore = esecutore di algoritmi Il calcolatore
DettagliMotorola 68000: primi programmi assembly
Corso di Calcolatori Elettronici I A.A. 2012-2013 Motorola 68000: primi programmi assembly ing. Alessandro Cilardo Accademia Aeronautica di Pozzuoli Corso Pegaso V GArn Elettronici Organizzazione dei dati
DettagliProblema: 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
DettagliLezione 17 Il Set di Istruzioni (3)
Lezione 17 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Un richiamo su: Operazioni aritmetiche (add
DettagliIstruzioni di trasferimento dati
Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
DettagliLINGUAGGIO MACCHINA e ASSEMBLER. Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA
LINGUAGGIO MACCHINA e ASSEMBLER Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA Nel computer non vengono memorizzati soltanto i dati da elaborare ma anche il programma
DettagliSistemi di numerazione
SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliLa formalizzazione dell informazione: Dati e Diagrammi di Flusso
La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi
DettagliIstruzioni e linguaggio macchina
Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare
DettagliIl processore - CPU (CENTRAL PROCESSING UNIT)
Il processore - CPU (CENTRAL PROCESSING UNIT) abbiamo visto Programmi e dati risiedono in file memorizzati in memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella
DettagliUn quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto
Un quadro della situazione Lezione 15 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
DettagliDal linguaggio macchina al linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Dal linguaggio macchina al linguaggio C Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
DettagliSistemi a microprocessore
Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliPag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione
DettagliIstruzioni e linguaggio macchina
Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare
DettagliArchitettura 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
DettagliCircuiti e reti combinatorie. Appendice A (libro italiano) + dispense
Circuiti e reti combinatorie Appendice A (libro italiano) + dispense Linguaggio del calcolatore Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e Anche per esprimere
DettagliPROGRAMMAZIONE (Corso A)
PROGRAMMAZIONE (Corso A) http://www.di.uniba.it/~proga/ Argomenti della lezione Diagrammi di flusso - Flow chart Diagrammi struturati - Sequenza, selezione, iterazione Teorema di Boehm-Jacopini Flow-chart
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
DettagliINFORMATICA. Strutture iterative
INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale
DettagliLaboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso
Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso
DettagliFondamenti di Informatica A. A / 1 9
Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 1 8 / 1 9 Architettura di Von Neumann Architettura di Von Neumann: l Unità di Elaborazione L Unità di Elaborazione L unità di elaborazione (CPU) contiene
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
DettagliLaboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema
DettagliModello di von Neumann
Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Codifica dei dati e delle istruzioni La più piccola unità di informazione memorizzabile
DettagliComputer. Capitolo 2. 05/04/2012 continuazione 1
Computer Capitolo 2 05/04/2012 continuazione 1 Le prestazioni del computer Velocità delle cpu, ossia numero d istruzioni eseguite nell unità di tempo; Dimensione delle RAM; Capacità e velocità in scrittura/
DettagliCPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Lezione 8 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 8 /33 Sommario! La
DettagliDEC PDP8, III Generazione, '65-'75
Parte I DEC PDP8, III Generazione, '65-'75 PDP8 Architettura (Livello Registri) 12 bit Program Counter PC 12 bit Memory Address Register MAR Random Access Memory RAM 4096 x 16 1 bit I 3 bit Operation Code
DettagliMODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio
ECDL MODULO 1 Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo 3 - Elaborazione testi Modulo 4 Foglio Elettronico Modulo 5 Uso delle Basi di Dati
DettagliESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI
ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI Progettare una unità centrale di elaborazione microprogrammata, dotata di registri ad uso generale di bit, che sia in grado di indirizzare una memoria di 64k
DettagliCircuiti Logici. Pagina web del corso:
Circuiti Logici Pagina web del corso: http://www.math.unipd.it/~aceccato Macchina hardware e macchina software Agli albori il computer era essenzialmente una CPU collegata ad una piccola RAM Ogni istruzione
DettagliCorso di Informatica
Corso di Informatica Modulo T1 2-Iterazione 1 Prerequisiti Salto condizionato Salto incondizionato Espressione logica 2 1 Introduzione In alcuni casi si presenta la necessità di eseguire un ciclo, ossia
DettagliArchitettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H
Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello
DettagliCapitolo 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
DettagliDiagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop
Diagrammi di flusso Un metodo per rappresentare graficamente gli algoritmi. Input/ Output sotto programma Start predicato Elaborazione Stop La programmazione strutturata Un algoritmo è strutturato in blocchi
DettagliArchitettura di Von Neumann
Architettura del calcolatore Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
Dettagli