L insieme delle istruzioni
|
|
- Marta Gentile
- 7 anni fa
- Visualizzazioni
Transcript
1 L insieme delle istruzioni Architetture dei Calcolatori (lettere A-I) La programmazione dei calcolatori Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente comprensibile dal calcolatore Attività di programmazione lunga e noiosa Facile commettere errori Linguaggio assembler (o assembly) Rappresentazione simbolica del linguaggio macchina Più comprensibile del linguaggio macchina (simboli anziché sequenze di bit) Tradotto dall assemblatore in linguaggio macchina Dalla forma simbolica dell istruzione macchina al corrispondente formato binario Linguaggi ad alto livello Tradotti dal compilatore in assembler Valeria Cardellini 1
2 Benefici dei linguaggi ad alto livello Notazione vicina al linguaggio corrente ed alla notazione algebrica (maggiore espressività e leggibilità) Incremento di produttività Facilitano la programmazione, svincolandola dalla conoscenza dei dettagli architetturali della macchina utilizzata Indipendenza dalle caratteristiche peculiari dell architettura (processore) su cui il programma va eseguito (portabilità) Ideati non per essere compresi direttamente da macchine reali, ma da macchine astratte, in grado di effettuare operazioni più di alto livello rispetto alle operazioni elementari dei processori reali Permettono l uso di librerie di funzionalità già scritte (riusabilità del codice) Valeria Cardellini 2 Vantaggi e svantaggi dell assembler Vantaggio: la dipendenza dall architettura del calcolatore permette Ottimizzazione delle prestazioni (maggiore efficienza) Programmi (potenzialmente) più compatti Massimo sfruttamento delle potenzialità dell hardware sottostante Importante per Programmare controller di processi e macchinari (anche real-time) Programmazione di apparati limitati (embedded computer, dispositivi portatili, telefonini cellulari, ) Principali svantaggi della programmazione Strutture di controllo in forme limitate (minore espressività) Necessario conoscere i dettagli dell architettura Mancanza di portabilità su architetture diverse Difficoltà di comprensione, possibile lunghezza maggiore, facilità di errore rispetto a programmi scritti in linguaggio ad alto livello (minore produttività del programmatore) Valeria Cardellini 3
3 Compilazione Nella prima fase, il programma ad alto livello viene tradotto nel linguaggio assembler utilizzando un apposito programma detto compilatore Dopo la fase di compilazione, il programma scritto il linguaggio assembler viene tradotto in linguaggio macchina utilizzando un apposito programma detto assemblatore (assembler) Spesso con il termine compilazione si indica l intero processo di traduzione da linguaggio ad alto livello a linguaggio macchina (essendo l assemblatore spesso integrato con il compilatore) Valeria Cardellini 4 Il processo di compilazione Programma sorgente compilatore hello.c Il programma sorgente è scritto in un linguaggio ad alto livello (ad es., C) Programma in linguaggio assembler assemblatore Programma in linguaggio macchina (codice oggetto) hello.s hello.out Il codice oggetto, scritto in linguaggio macchina, viene memorizzato su disco Il caricatore (loader) carica il programma in memoria principale per l esecuzione caricatore Programma in memoria Valeria Cardellini 5
4 Il linker Il linker (link editor o collegatore) ha il compito di collegare tra loro vari moduli che compongono lo stesso programma Programma sorgente suddiviso in più file che vengono compilati separatamente creando diversi file oggetto Utilizzo di funzioni di libreria Il linker collega tra loro i file contenenti il codice oggetto dei vari moduli che costituiscono il programma, unendovi anche il codice delle funzioni di libreria utilizzate, producendo un file contenente il codice eseguibile, memorizzato su disco Valeria Cardellini 6 Il processo di compilazione (2) Programma sorgente compilatore Programma in linguaggio assembler assemblatore Oggetto: modulo in linguaggio macchina Oggetto: libreria di funzioni linker caricatore Eseguibile: programma in linguaggio macchina Programma in memoria Valeria Cardellini 7
5 Alcuni principi progettuali Le istruzioni sono codificate in forma binaria I programmi vengono immagazzinati in memoria insieme ai dati Concetto di programma memorizzato In memoria istruzioni e operandi, che devono essere entrambi trasferiti dalla memoria al processore Le istruzioni non sono di per sé distinguibili rispetto agli altri tipi di informazione in memoria Solo l interpretazione da parte del processore stabilisce se una data configurazione di bit è da considerarsi come un dato o un istruzione Storicamente Architettura introdotta nel 1946 da Von Neumann Opposta alla architettura Hardware, in cui lo spazio di memoria è separato per dati e programmi (impiegata in calcolatori destinati a specifici campi applicativi, ad es. elaborazione dei segnali) Valeria Cardellini 8 I principi della progettazione L obiettivo è avere un set di istruzioni che Faciliti la costruzione della macchina Semplicità per il progettista Faciliti la costruzione dei compilatori Ottimizzi i costi di produzione Permetta prestazioni elevate Competitività sul mercato Principio della semplicità della realizzazione: semplice significa economico (semplicità = regolarità) affidabile di facile apprendimento ed uso (per i programmatori) di facile traduzione (per i compilatori) Valeria Cardellini 9
6 Architettura MIPS Sviluppata e progettata a Stanford (USA) Progettata nei primi anni 80 Prodotta e sviluppata da MIPS Technologies negli anni 90 ( Tecnologia attualmente utilizzata da Sony (Playstation, Playstation 2, AIBO) Nintendo 64 Router CISCO Stampanti, macchine fotografiche digitali, palmtop Set-top box, DVD TV al plasma Rappresenta un buon modello architetturale per la didattica, perché è un architettura semplice da comprendere Valeria Cardellini 10 Operazioni aritmetiche Le informazioni sono codificate in dati I dati sono rappresentati da numeri Esempio Per effettuare a=b+c e a=b-c add a, b, c sub a, b, c Ogni istruzioni aritmetica in MIPS esegue solo una operazione e deve avere sempre 3 operandi Principio progettuale: la semplicità favorisce la regolarità Il prezzo della semplicità Per effettuare f = (g+h)-(i+j) add t0, g, h add t1, i, j sub f, t0, t1 # calcolo t0=g+h # calcolo t1=i+j # calcolo f=t0-t1 NB: gli operandi non sono ancora quelli reali Commento su ogni linea preceduto da # Valeria Cardellini 11
7 Gli operandi A differenza dei linguaggi ad alto livello, gli operandi devono provenire da speciali locazioni di memoria all interno del processore, dette registri Nei linguaggi ad alto livello non ci si preoccupa di dover portare i dati dalla memoria ai registri e dai registri alla memoria E compito del compilatore inserire le istruzioni necessarie Caratteristiche dei registri Elevata velocità di accesso In numero limitato Altro principio progettuale: piccolo = veloce Usando i registri Si riduce il traffico con la memoria L esecuzione del programma è più veloce Migliora la densità del codice Valeria Cardellini 12 I registri Il livello ISA dell architettura MIPS richiede che Gli operandi delle istruzioni provengano dai registri Architettura di tipo load-store (o registro-registro) Il processore possiede un numero limitato di registri Il processore MIPS possiede 32 registri di tipo general-purpose (GPR), ciascuno dei quali è composto da 32 bit (parola) Il processore MIPS possiede ulteriori 32 registri da 32 bit per le operazioni in virgola mobile (floating point), detti FPR Per convenzione, per denotare i registri si usano nomi simbolici preceduti da $ Convenzione MIPS per rappresentare i registri: $s0, $s1, per i registri che contengono variabili $t0, $t1, per i registri di uso temporaneo I registri possono anche essere indicati direttamente mediante il loro numero (0,, 31) preceduto da $ (quindi $0,, $31) Valeria Cardellini 13
8 Il ruolo del compilatore Consideriamo il seguente segmento di programma C che utilizza 5 variabili f = (g+h)-(i+j) Il compilatore associa alle variabili presenti nel programma i registri presenti nel processore Ad esempio, alle variabili f, g, h, i e j sono associati i registri $s0, $s1, $s2, $s3 e $s4 Il compilatore introduce due variabili temporanee (t0 e t1) che associa a due registri temporanei $t0 e $t1 add $t0, $s1, $s2 add $t1, $s3, $s4 sub $s0, $t0, $t1 # g+h # i+j # f = (g+h)-(i+j) Valeria Cardellini 14 Le operazioni e gli operandi Le istruzioni MIPS consentono operazioni di tipo diverso classificabili nelle quattro categorie Istruzioni aritmetiche-logiche (es., somma, moltiplicazione, AND) Istruzioni di trasferimento da/verso memoria Istruzioni per il controllo del flusso del programma Istruzioni di supporto alle procedure Gli operandi Accesso ai registri del processore Accesso alla memoria Necessarie due modalità di trasferimento tra memoria e registri del processore Load (caricamento) o read (lettura) Store (memorizzazione) o write (scrittura) Uso di costanti Valeria Cardellini 15
9 Istruzioni aritmetiche-logiche In MIPS un istruzione aritmetico-logica possiede tre operandi: i due registri contenenti i valori da elaborare (registri sorgente) ed il registro contenente il risultato (registro destinazione) L ordine degli operandi è fisso: prima il registro contenente il risultato dell operazione e poi i due operandi Esempio: istruzione add Serve per sommare il contenuto di due registri sorgente rs e rt e porre in rd la somma del contenuto di rs e rt add rd, rs, rt Esempio: istruzione sub Serve per sottrarre il contenuto di due registri sorgente rs e rt e porre in rd la differenza del contenuto di rs e rt sub rd, rs, rt Valeria Cardellini Indirizzamento della memoria nel MIPS. Memoria $0 $1 $31. Processore Memoria come un array monodimensionale, le cui locazioni sono indicizzate tramite indirizzi Dimensione della parola pari a 32 bit (4 byte) L indirizzamento di una parola è legato a 4 byte (vincolo dell allineamento) Quindi gli indirizzi delle parole differiscono di 4 Memoria formata da 2 30 parole Per motivi di efficienza, è possibile l indirizzamento a livello dei singoli byte che compongono una parola Valeria Cardellini 17
10 Ordinamento dei byte L accesso è generalmente con indirizzamento del byte L indirizzo di una parola corrisponde all indirizzo di uno dei byte all interno della parola Esistono due convenzioni per ordinare i byte all interno di una parola (endianess) Big Endian: il byte il cui indirizzo è x 00 è nella posizione più significativa della parola (big end) Little Endian: il byte il cui indirizzo è x 00 è nella posizione meno significativa della parola (little end) Esempio: parola di 32 bit Little Endian Word Byte Indirizzo Word Byte Intel 80x06 è Little Endian, MIPS può essere sia Big Endian sia Little Endian in dipendenza del valore logico su di un pin Big Endian Valeria Cardellini 18 Allineamento dei byte e terminologia L allineamento richiede che la parola inizi ad un indirizzo multiplo della sua dimensione Allineato Non allineato In MIPS, allineamento della parola ad un indirizzo multiplo di 4 (equivale a indirizzo mod 4 = 0) Half word (16 bit) allineata ai multipli di 2 La mancanza di allineamento causa un incremento della complessità dell hardware ed un numero maggiore di accessi in memoria Terminologia delle sequenze di bit di particolare lunghezza 4 bit: nibble 8 bit: byte 16 bit: half-word 32 bit: word 64 bit: double-word Valeria Cardellini 19
11 Istruzione di trasferimento dati MIPS fornisce due istruzioni di base per il trasferimento di dati tra registri del processore e memoria lw (load word): per trasferire una parola di memoria in un registro del processore sw (store word): per trasferire il contenuto di un registro del processore in una parola di memoria Le istruzioni lw e sw richiedono come argomento l indirizzo della locazione di memoria sulla quale devono operare Valeria Cardellini 20 Istruzioni load e store L istruzione di load trasferisce una copia dei dati contenuti in una specifica locazione di memoria ai registri del processore, lasciando inalterata la parola di memoria Il processore invia l indirizzo della locazione desiderata alla memoria e richiede un operazione di lettura del suo contenuto La memoria effettua la lettura dei dati memorizzati all indirizzo specificato e li invia al processore L istruzione di store trasferisce il contenuto di un registro del processore in una specifica locazione di memoria, sovrascrivendo il contenuto precedente di quella locazione Il processore invia l indirizzo della locazione desiderata alla memoria insieme ai dati che vi devono essere scritti, e richiede un operazione di scrittura La memoria effettua la scrittura dei dati all indirizzo specificato Valeria Cardellini 21
12 Istruzione lw In MIPS, l istruzione lw ha tre argomenti Il registro destinazione in cui caricare la parola letta dalla memoria Una costante o spiazzamento (offset) Un registro base (base register) che contiene il valore dell indirizzo base (base address) da sommare all offset Indirizzamento registro base (o con spiazzamento) L indirizzo della parola di memoria da caricare nel registro è ottenuto sommando il contenuto del registro base alla costante Esempio lw $s1, 100($s2) # $s1 = M[$s2+100] Al registro destinazione $s1 è assegnato il valore contenuto all indirizzo di memoria ($s2+100) Valeria Cardellini 22 Istruzione sw In MIPS, l istruzione sw ha tre argomenti, analogamente all istruzione lw Il registro sorgente, il cui contenuto deve essere scritto in memoria Una costante o spiazzamento (offset) Un registro base (base register) che contiene il valore dell indirizzo base (base address) da sommare all offset Indirizzamento registro base (o con spiazzamento) L indirizzo della parola di memoria da sovrascrivere è ottenuto sommando il contenuto del registro base alla costante Esempio sw $s1, 100($s2) # M[$s2+100] = $s1 Alla locazione di memoria di indirizzo ($s2+100) è assegnato il valore contenuto nel registro sorgente $s1 Valeria Cardellini 23
13 Istruzioni lw e sw: esempio di compilazione Codice C: A[12] = h+a[8]; Supponiamo che: La variabile h è associata al registro $s2 L indirizzo del primo elemento dell array (base address) è contenuto nel registro $s3 Strutture dati (ad es. array) sono allocate in memoria Codice MIPS: lw $t0, 32($s3) add $t0, $s2, $t0 sw $t0, 48($s3) # $t0=m[$s3+32] # $t0=$s2+$t0 # M[$s3+48]=$t0 Valeria Cardellini 24 Array: esempio Codice C: g = h+a[i]; Supponiamo che: A è un array di 100 word Le variabili g, h e i sono associate rispettivamente ai registri $s1, $s2 e $s4 L indirizzo del primo elemento dell array (base address) è contenuto nel registro $s3 L elemento i-esimo dell array sarà nella locazione di memoria di indirizzo ($s3 + 4*i) i è l indice dell array ad alto livello Il fattore 4 dipende dall indirizzamento della memoria nel MIPS A[0] $s3 A[1] $s3+4 A[2] $s3+8. Valeria Cardellini 25
14 Array: esempio (2) Codice MIPS: Caricamento dell indirizzo di A[i] nel registro temporaneo $t1 add $t1, $s4, $s4 add $t1, $t1, $t1 add $t1, $t1, $s3 # $t1=2*i # $t1=4*i # $t1=ind di A[i] Trasferimento di A[i] nel registro temporaneo $t0 lw $t0, 0($t1) # $t0=a[i] Somma tra h e A[i] e risultato in g add $s1, $s2, $t0 # g=h+a[i] Valeria Cardellini 26 Register spilling In genere i programmi usano più variabili di quanti sono i registri del processore Il compilatore cerca di mantenere le variabili usate più frequentemente nei registri e le altre variabili in memoria, usando istruzioni di load/store per trasferire le variabili tra registri e memoria Il tempo di accesso ai registri è minore del tempo di accesso alla memoria La tecnica di mettere le variabili meno usate (o usate successivamente) in memoria viene detta register spilling Valeria Cardellini 27
15 Rappresentazione dei registri Una convenzione per assegnare nomi dei registri e numeri corrispondenti I registri $s0, $s1,, $s7 (detti registri saved) Corrispondono ai registri $16, $17,, $23 I registri $t0, $t1,, $t7 (detti registri temporaries) Corrispondono ai registri $8, $9,, $15 Il registro $zero Corrisponde al registro $0 Contiene sempre il valore 0 Valeria Cardellini 28 Formato istruzioni aritmetiche La rappresentazione binaria di un istruzione assembler è composta da 32 bit (stessa dimensione della parola di memoria) Essa segue il formato di tipo R (istruzione register) per un istruzione logico-aritmetica tra registri Formato istruzioni di tipo R op rs rt rd shamt funct 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit Ai vari campi sono assegnati dei nomi mnemonici op: opcode (codice operativo), indica il tipo di istruzione rs: registro contenente il primo operando sorgente rt: registro contenente il secondo operando sorgente rd: registro destinazione contenente il risultato shamt: shift amount (scorrimento) funct: function, la variante specifica dell operazione indicata nel campo op Valeria Cardellini 29
16 Istruzioni di tipo R: esempio op rs rt rd shamt funct 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit add $t0, $s1, $s2 non usato bit 5 bit 5 bit 5 bit 5 bit 6 bit bit 5 bit 5 bit 5 bit 5 bit 6 bit Valeria Cardellini 30 Formato istruzioni di tipo I Il formato di tipo R non è adatto a rappresentare istruzioni di tipo load/store All offset sarebbe riservato un campo di 5 bit (al massimo costanti di dimensione pari a 32) Si usa un formato diverso, detto di tipo I (istruzione immediate), sempre di 32 bit Formato istruzioni di tipo I op rs rt address 6 bit 5 bit 5 bit 16 bit Significato dei campi op: opcode, indica il tipo di istruzione rs: registro base rt: registro destinazione (load) o sorgente (store) address: spiazzamento (±2 15 byte o 2 13 parole rispetto all indirizzo indicato dal registro base) Valeria Cardellini 31
17 Istruzioni di tipo I: esempio op rs rt address 6 bit 5 bit 5 bit 16 bit lw $t0, 1000($s3) bit 5 bit 5 bit 16 bit bit 5 bit 5 bit 16 bit Valeria Cardellini 32 La memorizzazione del programma: esempio Codice C: A[300] = h+a[300]; Codice MIPS: lw $t0, 1200($t1) add $t0, $s2, $t0 sw $t0, 1200($t1) Assumendo che: $t1 è il registro base $s2 corrisponde a h Traducendo da decimale a binario si ottiene la rappresentazione binaria del programma Valeria Cardellini 33
18 Uso alternativo dell indirizzamento con spiazzamento L indirizzamento con spiazzamento prevede l uso di Indirizzo base contenuto nel registro base Spiazzamento specificato nell istruzione tramite una costante Esempio: lw $t0, 16($s0) Se $s0=100, in $t0 viene caricata la parola di memoria di indirizzo 116 In alternativa, si può invertire l uso del registro e della costante Indirizzo base specificato nell istruzione tramite una costante Spiazzamento contenuto nel registro indice (detto in precedenza registro base) Detto indirizzamento indicizzato o indicizzazione Esempio: lw $t0, 100($s0) Se $s0=16, in $t0 viene caricata la parola di memoria di indirizzo 116 I due usi dell indirizzamento con spiazzamento sono equivalenti? Valeria Cardellini 34 Uso alternativo dell indirizzamento con spiazzamento (2) La scelta di porre l indirizzo base nel registro (anziché nella costante) Permette di utilizzare 32 bit per indicare la locazione di inizio Quindi di accedere a tutta la memoria Viceversa, ponendo l indirizzo base nella costante Si possono utilizzare solo 16 bit per indicare la locazione di inizio (vedi formato delle istruzioni di tipo I) La scelta di porre lo spiazzamento nel registro Permette di scorrere l array incrementando l indice Da qui il nome di indirizzamento indicizzato e registro indice Valeria Cardellini 35
La programmazione dei calcolatori. L insieme delle istruzioni. Vantaggi e svantaggi dell assembler. Benefici dei linguaggi ad alto livello
La programmazione dei calcolatori L insieme delle istruzioni Architetture dei Calcolatori (lettere A-I) Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente comprensibile dal calcolatore
DettagliCorso di Architettura (Prof. Scarano) 09/04/2002
Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliRichiami sull architettura del processore MIPS a 32 bit
Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
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):
DettagliIl set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
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
DettagliLinguaggi, compilatori e interpreti
Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011
DettagliIl linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliDAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di
DettagliLecture 2: Prime Istruzioni
[http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 2: Prime Istruzioni
DettagliUniversità degli Studi di Cassino
Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if
DettagliCorso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.
di Cassino e del Lazio Meridionale Corso di MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 201/201 Francesco Tortorella Istruzioni di confronto Istruzione
DettagliLezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly
Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
DettagliIl Linguaggio Assembly: Gestione della memoria e controllo
Il Linguaggio Assembly: Gestione della memoria e controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/42 Sommario L organizzazione
DettagliCalcolatori Elettronici Parte VIII: linguaggi assemblativi
Anno Accademico 2013/2014 Calcolatori Elettronici Parte VIII: linguaggi assemblativi Prof. Riccardo Torlone Universita di Roma Tre Linguaggi di Programmazione Linguaggi ad alto livello Maggiore espressività
DettagliAccesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.
< < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte
DettagliArchitettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H
Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
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
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
DettagliLa programmazione dei calcolatori. Architetture dei Calcolatori (Lettere. Benefici dei linguaggi ad alto livello. Vantaggi e svantaggi dell assembler
La programmazione dei calcolatori Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Prof. Francesco Lo Presti Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliMIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie
MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it
DettagliDal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione
Dal sorgente all eseguibile I programmi Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Riferimenti sul Patterson: Cap. 2.10 + Appendice B, tranne B.7
DettagliIstruzioni assembler Istruzione N Registri
Istruzioni assembler Istruzione N Registri Aritmetica add a, b, c a = b+c addi a, b, num a = b + sub a, b, c a = b - c mul a, b, c a = b*c div a, b, c a = b/c utilizzati Descrizione 3 Somma. Somma b e
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliLinguaggi e moduli. Dott. Franco Liberati
(canale A-D) A Linguaggi e moduli Dott. Franco Liberati Linguaggi di programmazione Compilatore Assemblatore Linker (collegatore) LINKER COMPILATORE ASSEMBLATORE LINGUAGGI DI PROGRAMMAZIONE Linguaggio
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
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
DettagliConcetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri
Concetti di Base sulla Programmazione Prof.Ing.S.Cavalieri 1 La Programmazione Dato un problema INFORMATICO, programmare significa: Definire i dati in ingresso e il risultato che si vuole raggiungere Definire
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
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
DettagliArchitettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando
Dettagli; programma MOV AX, DATO_1. ; somma al contenuto dell' accumulatore il contenuto del registro B
Linguaggi di programmazione Il linguaggio base di un elaboratore è il linguaggio macchina. Linguaggio macchina: insieme di istruzioni espresse nel formato numerico (binario) di un particolare processore.
DettagliUniversità degli Studi di Cassino
Corso di MIPS: modello di programmazione Anno Accademico 2007/2008 Francesco Tortorella CPU Compito della CPU: eseguire istruzioni Le istruzioni costituiscono le operazioni primitiva eseguibili dalla CPU
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
DettagliLezione 16. Il Software di base
Lezione 16 Software di base Il Software di base Con il termine software di base si intende l insieme dei programmai che consentono ad un utente di eseguire operazioni base come costruire e mandare in esecuzione
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
DettagliLezione 15. L elaboratore Elettronico
Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente
DettagliArchitettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare
DettagliEsercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS
Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS Claudia Raibulet raibulet@disco.unimib.it Codifica e Rappresentazione dell Informazione Informazioni Generali (I)
DettagliLezione4: MIPS e Istruzioni (1 Parte)
Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi mnappi@unisa.it http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA
DettagliArchitettura dei calcolatori
Architettura dei calcolatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Architettura dei calcolatori 2 Cos'è un computer?
DettagliValutazione delle prestazioni
Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Valutazione delle prestazioni Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di
DettagliArchitettura di tipo registro-registro (load/store)
Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche
DettagliImplementazione semplificata
Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento
DettagliElementi base per la realizzazione dell unità di calcolo
Elementi base per la realizzazione dell unità di calcolo Memoria istruzioni elemento di stato dove le istruzioni vengono memorizzate e recuperate tramite un indirizzo. ind. istruzione Memoria istruzioni
DettagliRiassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div
MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div
DettagliAlgoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema
Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina
DettagliCalcolo numerico e programmazione Rappresentazione dei numeri
Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori
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
DettagliSomma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliLa codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
DettagliArchitettura di Von Neumann
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 un elaboratore: memorizzare i
DettagliLaboratorio di Calcolo Linguaggi di programmazione
Laboratorio di Calcolo Linguaggi di programmazione Software Insieme di istruzioni e dati trattati dal computer Le istruzioni possono essere a diversi livelli Istruzioni macchina: insieme limitato di funzioni
DettagliIntroduzione. Indice. Linguaggio macchina. Linguaggio assembler
Indice Linguaggio ad alto livello, linguagio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni aritmetiche, di trasferimento dati e di salto Conversione linguaggio assembler in linguaggio
DettagliSottosistemi ed Architetture Memorie
Sottosistemi ed Architetture Memorie CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II La memoria centrale Memoria centrale: array di
DettagliIl linguaggio Assembly
Il linguaggio Assembly Linguaggio macchina Linguaggio definito da un insieme di istruzioni, codificate come stringhe di bit, che il processore può interpretare ed eseguire direttamente Linguaggio Assembly
DettagliLinguaggi di programmazione
Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input
DettagliLINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
DettagliAMBIENTI DI PROGRAMMAZIONE
AMBIENTI DI PROGRAMMAZIONE È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo) Sviluppo di un programma Affinché un programma scritto
DettagliI formati delle istruzioni
Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...
DettagliIl Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
DettagliSystem Calls, Register Spilling
System Calls, Register Spilling Ultimo aggiornamento: 8/4/2016 UNIVERSITÀ DEGLI STUDI DI MILANO nicola.basilico@unimi.it http://basilico.di.unimi.it/ Esercizio 3.1 Eseguire il seguente codice assembly
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
DettagliUniversità degli Studi di Roma La Sapienza
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Introduzione ai concetti ed al simulatore SPIM Indice degli argomenti Introduzione Assembler, compilatore, linker, programma
DettagliFondamenti di Informatica T. Il Software
Il Software TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze
DettagliAnalogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale
Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliLaboratorio di Architettura lezione 5. Massimo Marchiori W3C/MIT/UNIVE
Laboratorio di Architettura lezione 5 Massimo Marchiori W3C/MIT/UNIVE Da Alto a Basso livello: compilazione Come si passa da un linguaggio di alto livello a uno di basso livello? Cioe a dire, come lavora
DettagliIl Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
DettagliArchitetture degli Elaboratori I I Compito di Esonero (A) - 14/11/1996
1 Architetture degli Elaboratori I I Compito di Esonero (A) - 14/11/1996 Riportare le soluzioni su questi fogli utilizzando eventualmente il retro come brutta. Non è ammessa la consultazione di nessun
DettagliMateriale didattico. Materiale didattico. Architettura MIPS. Il linguaggio Assembly parte I. Architettura degli Elaboratori e delle Reti
Materiale didattico Il linguaggio Assembly parte I Architettura degli Elaboratori e delle Reti Capitolo 3, 8 + Appendice A del testo: Struttura, organizzazione e progetto dei calcolatori: interdipendenza
DettagliArchitettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
DettagliCodifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
DettagliFONDAMENTI DI INFORMATICA Lezione n. 11
FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di
Dettagli10: I LINGUAGGI di PROGRAMMAZIONE PARTE 1
Data: 12-10-2016 Pag: 8 10: I LINGUAGGI di PROGRAMMAZIONE PARTE 1 1. Definizioni a) Linguaggi Naturali = i linguaggi degli esseri umani Lessico = le parole che si usano Sintassi = le regole con cui si
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 10 Giovedì 7-11-2013 1 Gestione della memoria La memoria principale è
DettagliUnità Didattica 2 I Linguaggi di Programmazione
Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche
DettagliLinguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA
Lezione n.11 n.11 Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di base relativi
DettagliCalcolatori Elettronici Lezione A4 Programmazione a Moduli
Calcolatori Elettronici Lezione A4 Programmazione a Moduli Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Sommario Programmazione a moduli Programmi con linguaggi misti Tempo
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliCalcolatori Elettronici
Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliHardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
DettagliProcessore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)
Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
DettagliAddizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754
Addizionatori: metodo Carry-Lookahead Costruzione di circuiti combinatori Standard IEEE754 Addizionatori Il circuito combinatorio che implementa l addizionatore a n bit si basa su 1-bit adder collegati
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliIntroduzione al funzionamento di un calcolatore elettronico
1 / 21 Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 2 / 21 Sommario Che cos è un calcolatore? 1 Che cos è un calcolatore? Definizioni preliminari Il calcolatore
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche
DettagliIl calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
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
Dettagli