INFORMATICA E COMPUTER : INTRODUZIONE



Похожие документы
CPU. Maurizio Palesi

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

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Struttura del calcolatore

Linguaggi di programmazione

Architettura del calcolatore

Lezione 8. La macchina universale

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

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

Dispensa di Informatica I.1

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Funzionalità di un calcolatore

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

Il Processore: i registri

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

C. P. U. MEMORIA CENTRALE

Appunti di Sistemi Elettronici

Linguaggi di programmazione

Von Neumann. John Von Neumann ( )

Calcolo numerico e programmazione Architettura dei calcolatori

Lezione 3: Architettura del calcolatore

Architettura hardware

Richiami di informatica e programmazione

Linguaggi e Paradigmi di Programmazione

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

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

Descrizione di un algoritmo

Architettura di un calcolatore

Informazione analogica e digitale

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Laboratorio di Informatica

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

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Metodologie di programmazione in Fortran 90

Introduzione all'architettura dei Calcolatori

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

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

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

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

La Macchina Virtuale

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

Problemi, Algoritmi e Programmi

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

L architettura del calcolatore (Prima parte)

Nozione di algoritmo. Gabriella Trucco

Vari tipi di computer

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

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Corso di Informatica

Architettura di un calcolatore: introduzione

I sistemi di elaborazione

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Introduzione. Informatica B. Daniele Loiacono

Appunti sulla Macchina di Turing. Macchina di Turing

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Ing. Paolo Domenici PREFAZIONE

Fasi di creazione di un programma

Esercizi per il recupero del debito formativo:

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

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

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

Esame di INFORMATICA

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Architettura di un computer

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4


Rappresentazione delle informazioni

Parte II.2 Elaboratore

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Prelievo di un istruzione. Istruzioni macchina. Tipi di istruzioni. Registri principali della CPU e loro ruolo

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

4 3 4 = 4 x x x 10 0 aaa

LINGUAGGI DI PROGRAMMAZIONE

Cos è un Calcolatore?

E una notazione per descrivere gli algoritmi.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Lezione n.9. Introduzione al linguaggio macchina

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

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

L architettura di riferimento

Lezione 5 Architettura degli elaboratori. Mauro Piccolo piccolo@di.unito.it

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Транскрипт:

INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i metodi e le tecniche per il trattamento (acquisizione, memorizzazione, processamento, trasmissione) automatico delle informazioni tramite computer.! Computer, o calcolatore elettronico: è una macchina che produce dati in uscita (output) sulla base delle informazioni che riceve in ingresso (input). Per un computer, sono input tanto i dati sui quail deve lavorare, quanto le istruzioni che deve eseguire per trasformare i dati in output Input COMPUTER Output Dati Istruzioni COMPUTER Output IL CONCETTO DI ALGORITMO! Il calcolatore elettronico per risolvere un problema utilizza un algoritmo, cioè un insieme di azioni (o istruzioni) che, eseguite secondo un ordine prestabilito, permettono di trovare il risultato cercato sulla base dei dati in ingresso! Il concetto di algoritmo è uno dei concetti di base dell'intera matematica: i più semplici ed antichi algoritmi sono le regole per eseguire le operazioni dell'aritmetica elementare, formulate dal matematico arabo medioevale Al-Khuwarizmi, da cui deriva appunto il nome di algoritmo.! Un computer è un rapidissimo esecutore di sequenze di istruzioni (gli algoritmi) Fondamenti di Informatica - Introduzione 2

ESECUZIONE DI UN ALGORITMO SU COMPUTER algoritmo Procedura di trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante una sequenza di istruzioni. linguaggio di programmazione Programma Processo Linguaggio (insieme di simboli e regole) per rappresentare le istruzioni di un algoritmo e la loro concatenazione algoritmo scritto in un linguaggio di programmazione al di comunicare al calcolatore elettronico le azioni da eseguire programma in esecuzione sul computer Fondamenti di Informatica - Introduzione 3 REQUISITI DI UN ALGORITMO PER IL CALCOLATORE! istruzioni non ambigue! istruzioni eseguibili in un tempo finito! terminazione dell'esecuzione dopo un numero finito di passi Descrizione intuitiva di un algoritmo un formalismo grafico: i diagrammi a blocchi (flow chart). rappresentano la sequenza di istruzioni con linee di connessione orientate simboli grafici diversi per rappresentare tipi diversi di istruzioni o un esagono (o un rombo) : un blocco di controllo (condizione o test); o un rettangolo : un blocco azione (cioè un'istruzione imperativa); o il blocco iniziale e il blocco finale sono rappresentati con ellissi. Fondamenti di Informatica - Introduzione 4

DESCRIZIONE CON DIAGRAMMA A BLOCCHI inizio la macchina funziona si il cassetto e' vuoto no inserire le monete no si rivolgersi al negozio accanto! riduzione di ambiguità/incertezze tramite l'introduzione di test! i test decidono quale è la sequenza delle istruzioni successive! i test provocano una bi-dimensionalità ritirare il resto e il pacchetto! problema delle azioni ripetute Fondamenti di Informatica - Introduzione 5 CALCOLATORE ELETTRONICO COME ESECUTORE! Il calcolatore elettronico è un esecutore di algoritmi : un algoritmo per il calcolatore elettronico deve essere scritto tenendo conto delle istruzioni che il calcolatore elettronico è capace di eseguire Ipotesi sull'esecutore: 1. comprende un linguaggio simbolico 2. è in grado acquisire numeri interi in ingresso e produrre numeri interi in uscita 3. è in grado di eseguire soltanto somme e sottrazioni tra due operandi e di verificare se un operando è uguale a 0 Problema: scrivere un algoritmo per l'esecuzione della moltiplicazione di due numeri interi Fondamenti di Informatica - Introduzione 6

Schemi a blocchi (non corretti) dell algoritmo della moltiplicazione condizioni 1 e 2 condizioni 2 e 3 (ma non 1) inizio leggi w leggi y z := w * y scrivi z inizio leggi w leggi y z := 0 z := z+w l'operazione precedente e' stata ripetuta y volte? si scrivi z no Fondamenti di Informatica - Introduzione 7 Schema a blocchi corretto dell algoritmo della moltiplicazione inizio leggi w leggi y z := 0 u := y z := z+w u := u-1 u = 0 scrivi z si no! soddisfa tutte le condizioni enunciate! opera su una qualsiasi coppia di numeri interi ( Y strettamente positivo)! i valori acquisiti dall'esterno sono memorizzati nelle variabili w e Y; il risultato è memorizzato in Z! 0 e 1 sono costanti! la variabile U è utilizzata come contatore del numero di iterazioni! l'operazione di assegnamento calcola l'espressione a destra del simbolo := e ne assegna il valore alla variabile a sinistra! l'istruzione <leggi> è un particolare tipo di assegnamento che preleva valori dall'unità di ingresso Fondamenti di Informatica - Introduzione 8

Algoritmo della moltiplicazione : rappresentazione con linguaggio di alto livello inizio leggi w! si introducono strutture per poter esprimere la ripetizione delle istruzioni leggi y z := 0 u := y z := z+w u := u-1 u = 0 si scrivi z no inizio leggi W leggi Y Z := 0 U := Y ripeti Z := Z+W U := U-1 fino a quando U <> 0 scrivi Z! ripeti.. fino a quando U<>0 è una istruzione di ripetizione condizionata Fondamenti di Informatica - Introduzione 9 REQUISITI DELL'ESECUTORE! disponibilità dei valori delle variabili in ogni momento dell'esecuzione: unità di memoria! capacità di elaborazione per somme, sottrazioni, confronti con 0: unità aritmetico/logica! capacità di colloquiare con l'esterno: unità di ingresso (input) ed uscita (output)! comunicazione tra le varie unità unita' di ingresso memoria unita' di elaborazione registri Macchina di Von Neumann unita' di uscita unita' aritmetico/ logica unita' di controllo Fondamenti di Informatica - Introduzione 10

UNITÀ DI ELABORAZIONE (CENTRAL PROCESSING UNIT CPU)! registri dispositivi elettronici capaci di memorizzare pochi byte o rispetto alla memoria: molto più piccoli ma molto più veloci! unità di controllo gestisce la sequenzializzazione delle operazioni gestione del clock: segnale di sincronizzazione per tutto il sistema o si misura in cicli/secondo [Hz] o Esempio: 2 GHz = 2 x 10 9 Hz: un ciclo è eseguito in 0.5 x 10-9 = 0.5ns! unità aritmetico/logica (Arithmetic Logic Unit ALU) esegue operazioni aritmetiche e logiche Fondamenti di Informatica - Introduzione 11 LA MEMORIA DELL'ELABORATORE! è suddivisa in celle, di dimensione fissa, individuabili tramite un indirizzo! è una struttura monodimensionale! ogni dato occupa un numero intero di celle Indirizzo Celle 0 DAT0 1 DAT0 2 N! operazioni: lettura (non distruttiva) del contenuto di una cella scrittura (distruttiva) in una cella Fondamenti di Informatica - Introduzione 12

MEMORIZZAZIONE SU CALCOLATORE! Il trattamento automatico delle informazioni sul calcolatore elettronico avviene in formato binario, cioè l informazione è rappresentata da un insieme di bit. Un bit rappresenta l elemento minimo d informazione che può essere trattata da un calcolatore elettronico (così come un carattere è l elemento minimo d informazione che può essere trattato nel testo scritto).! L'unità atomica è il bit (binary digit)! valori <0> e <1> (dispositivi binari)! Una sequenza di 8 bit è detto byte! Altre forme di memorizzazione: Word (16 bit), Double-word (32 bit), Quad-word (64 bit)! bit: Numero di configurazioni: 2!intervallo di variabilità: [0-1]! byte: Numero di configurazioni: 256 (28)!intervallo di variabilità: (dipende dal tipo di memorizzazione) Modulo: 256 configurazioni, [0, 255] Modulo e segno: 256 configurazioni, [-127, +127] Complemento a 2: 256 configurazioni, [-128, +127] Fondamenti di Informatica - Introduzione 13 Esempio: codifica dei numeri da 0 a 31(tipo di memorizzazione: modulo) 0 00000 8 01000 16 10000 24 11000 1 00001 9 01001 17 10001 25 11001 2 00010 10 01010 18 10010 26 11010 3 00011 11 01011 19 10011 27 11011 4 00100 12 01100 20 10100 28 11100 5 00101 13 01101 21 10101 29 11101 6 00110 14 01110 22 10110 30 11110 7 00111 15 01111 23 10111 31 11111 5 BIT! 25 = 32 VALORI DISTINTI Fondamenti di Informatica - Introduzione 14

LA MEMORIA DELL'ELABORATORE! anche l indirizzo è un numero codificato in binario! una cella corrisponde ad un byte Indirizzo Celle 00000 DAT0 00001 DAT0 00010 11111! Capacità della memoria: Con un indirizzo lungo 10 bit ho 210 = 1024 byte! 1 Kilo byte Con un indirizzo lungo 20 bit ho 220 = 1048576 byte! 1 Mega byte Con un indirizzo lungo 30 bit ho 230 = 1073741824 byte! 1 Giga byte Fondamenti di Informatica - Introduzione 15 CODIFICA DEL PROGRAMMA ALL'INTERNO DEL CALCOLATORE Programma cablato l'unità di esecuzione è strutturata per eseguire un solo compito specifico. Es: controllo di un ascensore Programma memorizzato (concetto introdotto da Von Neumann) istruzioni e dati sono codificati e caricati nella memoria del calcolatore, con la possibilità di eseguire programmi diversi! elaboratore elettronico! la memoria ha una struttura mono-dimensionale! le istruzioni sono memorizzate in celle adiacenti: l'esecutore, dopo ogni istruzione, cerca l'istruzione seguente, salvo diversa indicazione! trasformare uno schema a blocchi in una struttura mono-dimensionale: linearizzazione di un programma! è necessaria una istruzione di salto Fondamenti di Informatica - Introduzione 16

A, B e C sono istruzioni imperative T è un istruzione di salto Schema a blocchi A B si T no C Programma linearizzato in memoria Indirizzo simbolico A CICLO B Se T salta a CICLO C Fondamenti di Informatica - Introduzione 17 Esempio : programma della moltiplicazione inizio leggi w leggi y z := 0 u := y z := z+w u := u-1 u = 0 si scrivi z no PROD leggi W leggi Y Z := 0 U := Y Z := Z + W U := U 1 se U " 0 salta a scrivi Z PROD Fondamenti di Informatica - Introduzione 18

IL LINGUAGGIO ASSEMBLATIVO Il programma deve essere riportato in memoria in forma binaria: Come codificare le istruzioni di un programma in forma binaria? Occorre una descrizione più dettagliata del calcolatore. Linguaggio assemblativo: È un linguaggio che definisce le operazioni elementari effettivamente disponibili sul calcolatore. Ogni operazione è definita da un codice operativo simbolico un (eventuale) indirizzo di memoria simbolico Il Linguaggio assemblativo dipende dallo specifico calcolatore. Semplice esempio di Linguaggio assemblativo Fondamenti di Informatica - Introduzione 19! caricamento operando LOAD: LOAD in R1 A (LOAD in R2 A) carica in R1 (R2) il dato memorizzato alla cella il cui indirizzo è A! operazioni aritmetiche sui registri - ADD, SUB : somma (sottrai) il contenuto di R2 a quello di R1 e memorizza il risultato in R1! operazioni di test - JUMP to A: se R1 " 0 la prossima istruzione da eseguire è nella cella di indirizzo A, altrimenti procede in sequenza! memorizzazione dei registri STORE: STORE R1 in A (STORE R2 in A) memorizza il contenuto di R1 (R2) nella cella di indirizzo A! acquisizione di un dato dall'esterno - READ: READ A leggi un dato e memorizzalo in A! invio di un dato all'esterno - WRITE: WRITE A scrivi il valore della cella A! arresto dell'esecuzione (STOP) Fondamenti di Informatica - Introduzione 20

Traduzione in Linguaggio assemblativo Una generica istruzione complessa deve essere tradotta in sequenze di operazioni elementari del Linguaggio assemblativo Esempio Z := Z + W { load in R1 Z load in R2 W add store R1 in Z Fondamenti di Informatica - Introduzione 21 RAPPRESENTAZIONE DEL PROGRAMMA IN MEMORIA Linguaggio binario / Linguaggio macchina / Linguaggio assoluto Ogni istruzione in linguaggio assemblativo è trasformata in una istruzione in linguaggio binario! ogni istruzione è codificata come sequenza di bit! ogni istruzione è costituita di due parti: codice operativo, operazione ed eventualmente i registri interessati indirizzo dell'operando, posizione in memoria del dato! Nell esempio precedente sono state individuate 10 operazioni! almeno 10 sequenze di bit distinti per codificare i codici operativi! 4 bit di codifica (24 = 16)! il codice operativo deve essere di 4 bit! nelle istruzioni senza operando l indirizzo dell'operando viene ignorato Fondamenti di Informatica - Introduzione 22

Programma in memoria Indirizzo Cella Codice Operativo Indirizzo Operando Indirizzo Cella Codice Operativo Indirizzo Operando 00000 1000 10010 10000 1001 10101 00001 1000 10011 10001 0000 ----- 00010 0010 10100 # 10010 ---- ----- 00011 0110 10101 $ 10011 ---- ----- 00100 0010 10011 # 10100 0000 00000 00101 0110 10110 $ 10101 ---- ----- 00110 0010 10101 # 10110 ---- ----- 00111 0011 10010 % 10111 0000 00001 01000 0101 ----- & 11000 ---- ----- 01001 0110 10101 $ 11001 ---- ----- 01010 0010 10110 # 11010 ---- ----- 01011 0011 10111 % 11011 ---- ----- 01100 0100 ----- & 11100 ---- ----- 01101 0110 10110 $ 11101 ---- ----- 01110 0010 10110 # 11110 ---- ----- 01111 1100 00110 $ 11111 ---- ----- Fondamenti di Informatica - Introduzione 23 LIVELLI DI RAPPRESENTAZIONE DEL PROGRAMMA 1. definizione del problema 2. rappresentazione bidimensionale (vari livelli di dettaglio) linguaggi ad alto livello 3. rappresentazione linearizzata 4. utilizzo delle sole istruzioni eseguibili dalla specifica macchina, con codice operativo simbolico ed indirizzi simbolici 5. istruzioni con codici operativi ed indirizzi binari linguaggi assemblativi linguaggi assoluti LINGUAGGI DI ALTO LIVELLO ' MAGGIORE POTENZA ESPRESSIVA PROD Z := Z + W U := U - 1 se U <> 0 salta a PROD ripeti Z := Z + W U := U - 1 fino a che U = 0 Fondamenti di Informatica - Introduzione 24

OSSERVAZIONI! i linguaggi di alto livello sono (in larga misura) indipendenti dallo specifico elaboratore! i linguaggi assemblativi sono fortemente legati allo specifico elaboratore! 1 istruzione ad alto livello ( molte istruzioni in linguaggio assemblativo! 1 istruzione in linguaggio assemblativo ( 1 istruzione in linguaggio assoluto Fondamenti di Informatica - Introduzione 25 TRADUZIONE DI UN PROGRAMMA IN LINGUAGGIO ASSOLUTO PL1 - programma in linguaggio di alto livello ) * programma traduttore PL2 - programma in linguaggio assoluto Compilazione: Un programma, chiamato compilatore, prende in ingresso il programma PL1 (codice sorgente) e lo trasforma nel programma PL2 (codice binario) direttamente eseguibile sullo specifico calcolatore Intepretazione: Un programma, chiamato interprete, prende in ingresso il programma PL1 e lo esegue al volo man mano che le istruzioni di PL1 sono lette, ovvero per ogni istruzione di PL1 fa eseguire al calcolatore le corrispondenti istruzioni in linguaggio assoluto Fondamenti di Informatica - Introduzione 26

Classificazione dei linguaggi di programmazione PER APPLICAZIONI: scientifiche FORTRAN (FORmula TRANslator) commerciali COBOL (COmmon Business Oriented Laanguage) uso universale PASCAL, BASIC, C, C++, JAVA speciali SQL basi di dati relazionali LISP (LISt Processing) risoluzione di problemi in forma simbolica PROLOG (PROGramming with LOGic) risoluzione di problemi in forma logica Fondamenti di Informatica - Introduzione 27 PER CARATTERISTICHE imperativi programmazione libera FORTRAN (vecchie versioni), COBOL, BASIC programmazione strutturata PASCAL, C, FORTRAN (S), COBOL (S), BASIC (S) orientati a oggetti C++, JAVA logico: PROLOG funzionale: LISP Struttura dell'elaboratore Fondamenti di Informatica - Introduzione 28

unita' di ingresso unita' di uscita memoria DR AR PC +1 OC OA IR unita' di organo controllo coordinatore ciclo esecutivo R1 R2 organo aritmetico/ logico unita' di elaborazione ESECUZIONE DEL PROGRAMMA MEMORIZZATO Unità di controllo: opera sul programma memorizzato in celle consecutive. Fondamenti di Informatica - Introduzione 29 Ciclo di funzionamento: 1. acquisisce una istruzione in memoria 2. attiva i comandi per realizzare l'azione specificata dal codice operativo 3. individua l'istruzione successiva da acquisire (ed eseguire) Necessari:! un registro per contenere la posizione in memoria dell'istruzione da acquisire! PC = Program Counter! un registro per contenere l'istruzione acquisita! IR = Instruction Register! la possibilità di incrementare in valore di PC, per individuare la prossima istruzione in sequenza! la possibilità di caricare un valore in PC, per eseguire le istruzioni di salto Fondamenti di Informatica - Introduzione 30

CICLO DI ESECUZIONE DI UNA ISTRUZIONE 1. Fase interpretativa: (FETCH) acquisisce una istruzione e predispone l'indirizzo della seguente i1) (PC)! AR comunicazione tra registri i2) (M AR )! DR prelievo dalla memoria i3) (DR)! IR acquisizione dell'istruzione i4) (PC) + 1! PC incremento di registro Notazioni: (x) contenuto del registro o della cella x MAR cella di memoria il cui indirizzo è contenuto nel registro AR! Y trasferimento nel registro o nella cella Y del risultato di una espressione Fondamenti di Informatica - Introduzione 31 2. Fase esecutiva: il registro IR è diviso in codice operativo (OC) e operando (OA) un organo coordinatore interpreta OC e compie le azioni opportune. La fase esecutiva dipende quindi dal codice operativo e LD1 e ST1 e JN0 1) (OA)! AR 1) (OA)! AR 1!0 ) (OA)! PC 2) (M AR )! DR 2) (R1)! DR 1 =0 ) nulla 3) (DR)! R1 3) (DR)! M AR e ADD e WRT e RDX 1) (R1) + (R2)! R1 1) (OA)! AR 1) (OA)! AR 2) (M AR )! DR 2) input! DR 3) (DR)! output 3) (DR)! M AR Fondamenti di Informatica - Introduzione 32