Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008



Documenti analoghi
Architettura del calcolatore

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

CPU. Maurizio Palesi

Von Neumann. John Von Neumann ( )

Struttura del calcolatore

C. P. U. MEMORIA CENTRALE

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

Lezione 3: Architettura del calcolatore

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

La Macchina Virtuale

Architettura hardware

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

Architettura dei calcolatori

ARCHITETTURA DELL ELABORATORE

Introduzione all'architettura dei Calcolatori

Architettura hw. La memoria e la cpu

Dispensa di Informatica I.1

Esame di INFORMATICA

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

Il Processore: i registri

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

Architettura di un calcolatore

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

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

Laboratorio di Informatica

Informatica - A.A. 2010/11

Funzionalità di un calcolatore

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

L architettura di riferimento

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

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

Ing. Paolo Domenici PREFAZIONE

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

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

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

Architettura di un calcolatore: introduzione

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

Parte II.2 Elaboratore

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

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Architettura di un Sistema Informatico

Architettura di un calcolatore

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

Anatomia e fisiologia del computer: l architettura del calcolatore

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

I sistemi di elaborazione

Architettura di un computer

FONDAMENTI di INFORMATICA L. Mezzalira

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

INFORMATICA 1 L. Mezzalira

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

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

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Lezione n.9. Introduzione al linguaggio macchina

Testi di Esercizi e Quesiti 1

Calcolo numerico e programmazione Architettura dei calcolatori

RETI E SISTEMI INFORMATIVI

Corso di Sistemi di Elaborazione delle informazioni

Lezione 8. La macchina universale

E una notazione per descrivere gli algoritmi.

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

Corso di Laurea in Informatica Architetture degli Elaboratori

L architettura del calcolatore (Prima parte)

Architettura dei computer

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

4 3 4 = 4 x x x 10 0 aaa

Lezione n.19 Processori RISC e CISC

Richiami di informatica e programmazione

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

Corso di Laurea in Matematica

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

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

Memoria Secondaria o di Massa

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Il memory manager. Gestione della memoria centrale

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

INFORMATICA E COMPUTER : INTRODUZIONE

Architettura degli elaboratori (A)

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Interpreti e compilatori La macchina di Von Neumann

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

Vari tipi di computer

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

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

Linguaggi di programmazione

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

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

Sistema operativo: Gestione della memoria

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

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

La macchina programmata Instruction Set Architecture (1)

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

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

introduzione I MICROCONTROLLORI

Transcript:

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08

Nota Questi lucidi sono tratti dal materiale distribuito dalla McGraw-Hill e basati su del materiale fornito dal Prof. Flammini Michele 2

Avvisi Recupero lezioni Mercoledì 16 e Giovedì 17 Gennaio 2008 ore 15:00-17:00 Prova d esame Giovedì 24 Gennaio 2008 ore 11:00

Sommario Concetti fondamentali Aspetti architetturali di un sistema di calcolo hardware software software di base software applicativo Codifica dell'informazione numeri naturali, interi, reali caratteri immagini Macchina di Von Neumann CPU (UC, ALU, registri, clock) memoria centrale bus di bistema periferiche Linguaggio macchina Linguaggio assembler Sistema operativo Ambiente di programmazione 4

Architettura hardware semplificata Bus di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Interfaccia Periferica P 1 Interfaccia Periferica P 2 Esecuzione istruzioni Memoria di lavoro Memoria di massa, stampante, terminale

La memoria centrale (MM) Volatile Dati e istruzioni 0 1 h bit Parola (word) Registro indir. (AR) k bit store load Registro dati (DR) h bit Indirizzo cella Spazio di indirizzamento 2 k celle 2 k -1 Dato da leggere/scrivere Le più tipiche lunghezze di parola includono I primi multipli del byte (8 bit), e si hanno perciò calcolatori con parole di 16, 32 e 64 bit

La memoria centrale (MM) Volatile Dati e istruzioni 0 1 h bit Parola (word) Registro indir. (AR) k bit store load Registro dati (DR) h bit Indirizzo cella Spazio di indirizzamento 2 k celle 2 k -1 Dato da leggere/scrivere L indirizzo di memoria è la sua posizione relativa rispetto alla prima cella di memoria, cui viene normalmente attribuita la posizione 0

La memoria centrale (MM) Volatile Dati e istruzioni 0 1 h bit Parola (word) Registro indir. (AR) k bit store load Registro dati (DR) h bit Indirizzo cella Spazio di indirizzamento 2 k celle 2 k -1 Dato da leggere/scrivere L operazione di lettura e scrittura utilizzano un secondo registro dell unità di elaborazione detto registro dati lungo come una parola di memoria

L unità di elaborazione (CPU) L unità di controllo ha il compito di coordinare l intero sistema: interpretando le istruzioni del programma in esecuzione essa ne controlla l esecuzione nella giusta sequenza Sotto la sua direzione le informazioni vengono trasferite o elaborate tramite la ALU internamente alla CPU, lette e scritte in memoria, scambiate con il mondo esterno

Al suo interno è composta da: C.U. (Unità di Controllo) : è responsabile del prelievo e della decodifica delle istruzioni nonché dell invio dei segnali di controllo che provocano i trasferimenti o le elaborazioni necessarie per l esecuzione dell istruzione decodificata A.L.U. (Unità Logico-Aritmetica): svolge le operazioni logiche ed aritmetiche eventualmente richieste per l esecuzione delle istruzioni CLOCK: scandisce gli intervalli di tempo in cui agiscono in modo sincrono i dispositivi interni alla C.P.U. determina la velocità della C.P.U., espressa come frequenza o numero di intervalli scanditi nell unità di tempo (es., 512MHz, 1GHz, )

L unità di elaborazione (CPU) Indirizzo prox istruzione Registro contatore di programma (PC) Registro interruzioni (INTR) Registro istruzione corrente (CIR) Registro di stato (SR) A B Stato CPU Stato di funzionamento delle periferiche Flag: C, Z, S, O Unità aritmetico logica (ALU) Operazioni aritmetiche e logiche Registri operandi Registri generali Istruzione in elaboraz. Sincronizzazione Clock Unità di controllo (CU) Registro dati (DR) Parola letta/da scrivere in MM Registro indirizzi (AR) Indirizzo cella MM Controllo: -Prelievo -Decodifica -Esecuzione

L unità di elaborazione (CPU) L'unità di controllo ha il compito di coordinare l'intero sistema: interpretando le istruzioni del programma in esecuzione essa ne controlla l'esecuzione nella giusta sequenza. Sotto la sua direzione le informazioni vengono Registro trasferite o di elaborate stato (SR) tramite la ALU internamente alla CPU, lette e scritte in memoria, scambiate con il mondo esterno. Registro contatore di programma (PC) Registro interruzioni (INTR) Registro istruzione corrente (CIR) A B Unità aritmetico logica (ALU) Clock Unità di controllo (CU) Registro dati (DR) Registro indirizzi (AR)

Il bus di sistema Costituito da un insieme di connessioni elementari lungo le quali viene trasferita l informazione Consente la comunicazione tra le varie componenti In ogni istante di tempo, il bus è dedicato a collegare due unità funzionali (una trasmette, l altra riceve) Le possibili interconnessioni sono tra l unità di elaborazione e la memoria, oppure tra l unità di elaborazione e l interfaccia di una specifica periferica E in genere sotto il controllo dell unità di elaborazione, che seleziona l interconnessione da attivare e indica l operazione da compiere In tal caso l unità di elaborazione esercita il ruolo di master Le altre unità funzionali assumono il ruolo di slave

Il bus di sistema Registro contatore di programma (PC) Registro interruzioni (INTR) Registro di stato (SR) A B Unità aritmetico logica (ALU) CPU Registro istruzione corrente (CIR) Clock Unità di controllo (CU) Registro dati (DR) Registro indirizzi (AR) Bus dati, Bus indirizzi, Bus controlli Bus di sistema

Sequenza di lettura in MM (load) Passo 3 PC INTR CIR SR A B Ck Passo 4 ALU CU 0 Passo 1 Passo 2 123 42 DR 42 AR 123 2 k -1 OK LOAD bus indirizzi bus dati bus controlli

Sequenza di scrittura in MM (store) Passo 2 SR PC A INTR B CIR Ck ALU CU Passo 5 0 Passo 1 Passo 3 123 42 70 123 Passo 4 DR 70 AR 123 OK STORE 2 k -1 bus indirizzi bus dati bus controlli

Le interfacce delle periferiche Interfaccia periferica 1 Interfaccia periferica 2 Peripheral Data Register (PDR) Peripheral Command Register (PCR) Peripheral State Register (PSR) Dato da leggere/scrivere Comando da eseguire Stato della periferica Peripheral Data Register (PDR) Peripheral Command Register (PCR) Peripheral State Register (PSR) letto a comando dalla CPU Collegato al bus di controllo Collegato al bus dati Bus di sistema

Tabella o elenco delle istruzioni lettura in memoria scrittura in memoria lettura dalla periferica scrittura sulla periferica operazioni aritmetiche salto a branch nessuna operazione terminazione LOADA LOADB STOREA STOREB READ WRITE ADD DIF MUL DIV JUMP JUMPZ NOP HALT 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 Dato che il linguaggio comprende 14 istruzioni diverse, per il codice operativo sono necessari m 4 bit

Per completare il dimensionamento della macchina hardware fissiamo s=h=16, in modo che la lunghezza delle parole di memoria (word) sia un multiplo di 8 Quanto è grande la memoria centrale? La dimensione è di h2 k =2 4 2 12= 64Kbit, o analogamente h2 k h/2 3 =2 4 2 12 /2 3 =8Kbyte

L esecuzione delle istruzioni Il normale funzionamento dell elaboratore consiste nell esecuzione in sequenza delle istruzioni dei programmi in linguaggio macchina L esecuzione di una singola istruzione, prevede due fasi fondamentali: Fase di Fetch: acquisizione dell istruzione da eseguire dalla memoria centrale Fase di Execute: interpretazione ed esecuzione dell istruzione stessa Ogni fase prevede l esecuzione di alcune micro-istruzioni Micro-istruzione: operazione elementare che consiste nel trasferimento di dati tra registri o tra registri e la memoria centrale e in operazioni aritmetico-logiche Tutte le istruzioni hanno una fase di fetch identica e si distinguono solo per la fase di execute

Micro-istruzioni fase di fetch Il contenuto del registro PC viene trasferito nel registro AR Il contenuto della cella di memoria il cui indirizzo è contenuto in AR viene trasferito in DR Il contenuto di DR viene trasferito in CIR Il valore di PC viene incrementato di uno per predisporre la fase di fetch della prossima istruzione. Infatti, così facendo il registro PC contiene l indirizzo della successiva istruzione da eseguire, che si trova nella locazione seguente rispetto a quella corrente, ossia attualmente caricata in CIR.

Fase di fetch In sintesi, la fase di fetch viene realizzata dalle seguenti quattro micro-istruzioni riportate in una forma più semplice e compatta: PC AR MEM[AR] DR DR CIR PC+1 PC Questa notazione implica un trasferimento dati dall elemento a sinistra della freccia verso l elemento di destra. MEM[AR] indica il contenuto della locazione di memoria il cui indirizzo è specificato in AR

L istruzione read read ind: acquisisce un valore dalla periferica di input (ad es. una tastiera) e lo inserisce nella cella di memoria di indirizzo ind Viene eseguita dalle seguenti micro-istruzioni: Il contenuto del registro PDR dell interfaccia della periferica viene trasferito tramite il bus in DR L operando in OP(CIR) viene trasferito in AR Viene eseguita una scrittura in memoria centrale, ossia Il contenuto di DR viene memorizzato nella cella di memoria il cui indirizzo è specificato in AR, ossia in MEM[AR]

In sintesi, viene eseguita dalle seguenti tre microistruzioni : PDR DR OP(CIR) AR DR MEM[AR] N.B. Per poter effettuare l operazione, il registro PDR deve contenere il dato letto dalla periferica; questa condizione può essere verificata utilizzando il registro di stato PSR della periferica o tramite il registro RINT dell unità centrale

L istruzione write Write ind: stampa il contenuto della cella di memoria di indirizzo ind sulla periferica di output Viene eseguita dalle seguenti micro-istruzioni: Il contenuto in OP(CIR) viene trasferito in AR Il contenuto della cella il cui indirizzo è specificato da AR viene trasferito in DR Il contenuto di DR viene trasferito tramite il bus nel registro PDR presente nell interfaccia della periferica

In sintesi, viene eseguita dalle seguenti tre micro-istruzioni: OP(CIR) AR MEM[AR] DR DR PDR N.B. Per poter effettuare l operazione, la periferica di output deve essere pronta a ricevere il dato da stampare nel registro PDR; come per la read, questa condizione può essere verificata sfruttando il registro di stato PSR della periferica o tramite il registro RINT dell unità centrale

L unica eccezione si ha nel caso di divisione, in cui il quoziente viene memorizzato in A ed il resto in B Le istruzioni aritmetche Le operazioni numeriche effettuate dalla ALU sono: add - somma dif - differenza mul - moltiplicazione div - divisione L effetto di ciascuna è quello di effettuare l operazione corrispondente prendendo come operandi i contenuti dei registri A e B, e di memorizzare quindi il risultato nel registro A, ricoprendo il valore precedente

Esempio: somma di due interi LOADA 16 (carico il registro A con il contenuto della cella 16) LOADB 17 (carico il registro B con il contenuto della cella 17) ADD (faccio la somma, il risultato viene messo nel registro A)

Le istruzioni di salto (jump) Le istruzioni di salto consentono di far proseguire l esecuzione non dall istruzione contenuta nella cella di memoria successiva, bensì da quella il cui indirizzo corrispondente è specificato dall operando Possono essere fondamentalmente di due tipi: Salto incondizionato - jump ind: fa proseguire l esecuzione del programma dall istruzione contenuta nella locazione di memoria di indirizzo ind Salto condizionato - jumpz ind: fa avvenire il salto del programma all indirizzo ind solo se il contenuto del registro A è nullo

L istruzione jump (salto incondizionato) jump ind: fa proseguire l esecuzione del programma dall istruzione contenuta nella locazione di memoria di indirizzo ind Viene eseguita dalla sola micro-istruzione OP(CIR) PC Essa ha l effetto di predisporre la fase di fetch seguente in modo che prelevi l istruzione da eseguire dall indirizzo specificato nell operando

Esempio 100 LOADA 16 101 LOADB 17 102 ADD 103 JUMP 100 JUMP100 fa tornare ad eseguire l istruzione nell indirizzo 100

L istruzione jumpz (salto condizionato) jumpz ind: fa proseguire l esecuzione del programma dall istruzione contenuta nella locazione di memoria di indirizzo ind solo se il contenuto del registro A è nullo Viene eseguita dalla sola micro-istruzione If A=0 OP(CIR) PC

Esempio 100 LOADA 16 101 LOADB 17 102 ADD 103 JUMPZ 100 If A=0 JUMPZ 100 fa tornare ad eseguire l istruzione nell indirizzo 100 solo se il valore di A dopo l esecuzione dell istruzione ADD è uguale a 0

Le istruzioni di pausa e arresto nop: ha la fase di execute vuota, ossia ha l effetto di far passare la fase senza che venga effettuata alcuna operazione; in pratica viene utilizzata per introdurre temporizzazioni o ritardi, ad esempio per una visualizzazione animata dell output halt: è l istruzione di arresto ed ha come effetto la terminazione dell esecuzione del programma

Esempio: prodotto di interi Questo semplice programma riportato in un linguaggio simbolico acquisisce due numeri interi dal terminale e stampa sul video il valore del loro prodotto. Le istruzioni del programma occupano le prime 8 celle di memoria. Le celle 8, 9 e 10 sono predisposte per contenere dati di tipo intero 0 1 2 3 4 5 6 7 8 9 10 READ READ LOADA LOADB MUL STOREA WRITE HALT INT INT INT 8 9 8 9 10 10

Nella forma definitiva, le istruzioni devono comunque essere espresse in formato binario: Numero cella di memoria 0 1 2 3 4 5 6 7 8 9 10 Contenuto della cella di memoria 0100000000001000 000000001000 0100000000001001 000000001001 0000000000001000 000000001000 0001000000001001 000000001001 1000000000000000 0010000000001010 000000001010 0101000000001010 000000001010 1101000000000000 000000000000 Leggere, comprendere, correggere e modificare il significato di un programma presenta non poche difficoltà...

Fase di fetch 1 a istruzione Passo 1 0 Memoria centrale (MM) 0100000000001000 Passo 2 PC 000000000001 Passo 4 AR 000000000000 1023 DR 0100000000001000 Passo 3 CIR 0100000000001000

Fase di interpretazione 1 a istruzione CIR 0100000000001000 Codice operativo 0100 = read, ossia leggi da input

Fase di esecuzione 1 a istruzione Indirizzo operando 000000001000 = cella 8 0 Memoria centrale (MM) Passo 3 CIR 0100000000001000 8 0001000000011111 Passo 1 AR 000000001000 4095 Valore letto dall input (es. 4127) Passo 2 DR PDR 0001000000011111 0001000000011111

Svantaggi del linguaggio macchina I programmi in binario sono difficili da scrivere, capire e modificare Il programmatore deve occuparsi di gestire la RAM: difficile ed inefficiente

Il linguaggio assemblatore Per evitare questo problema sono stati inventati linguaggi a più alto livello Il programmatore potrà quindi concentrarsi sulla stesura di programmi comprensibili, poiché scritti in un linguaggio più simbolico e vicino al suo modo di esprimersi La traduzione inversa, da un programma scritto in un linguaggio simbolico o sorgente all equivalente in linguaggio macchina è un procedimento meccanico e può essere delegato ad un altro programma, scritto in linguaggio macchina (assemblatore, compilatore, interprete,.) Tanto maggiore è l astrazione, ossia la distanza dal linguaggio macchina, tanto maggiore sarà la complessità del programma che provvederà a tradurre il programma sorgente nel linguaggio macchina.

Il primo passo di astrazione di permette di ottenere un linguaggio che si avvicina al linguaggio macchina e non aggiunge potenza descrittiva Questo linguaggio è chiamato Assembler e in generale ha le seguenti caratteristiche Le istruzioni corrispondono in maniera biunivoca alle istruzioni di un linguaggio macchina Vengono utilizzati nomi simbolici per codificare le istruzioni

Più precisamente si utilizzano nomi simbolici per: I codici operativi, dando luogo ai cosiddetti codici mnemonici (loada, storea, read, ) Indirizzi di memoria, dando luogo a Etichette, per celle di memoria contenenti istruzioni Variabili, per celle di memoria contenenti dati Chiaramente tutti i nomi simbolici (codici mnemonici, etichette e variabili) devono essere distinti Il programma che effettua la traduzione da linguaggio assembler a linguaggio macchina si chiama Assemblatore

Esempio: prodotto di interi I nomi simbolici X e Y corrispondono a due variabili contenenti numeri interi X Y Z READ READ LOADA LOADB MUL STOREA WRITE HALT INT INT INT X Y X Y Z Z

Quindi: codici mnemonici per le operazioni nomi mnemonici (identificatori) al posto degli indirizzi RAM per i dati (e indirizzi RAM delle istruzioni usate nei salti) avanzate: tipi dei dati INT e FLOAT

La CPU non capisce l assembler Il programma assembler deve essere tradotto in un programma macchina assemblatore programma assembler macchina hardware

Programma in assembler Programma in linguaggio macchina (senza indirizzi) Assemblatore Programma in linguaggio macchina con indirizzi Caricatore RAM