MC6805 Instruction Set and Program Control
|
|
- Vanessa Basso
- 5 anni fa
- Visualizzazioni
Transcript
1 MC6805 Instruction Set and Program Control prof. Svetoslav Nikolov TECHNICHAL UNIVERSITY OF DENMARK Traduzione e Adattamenti: prof. Cleto Azzani IPSIA MORETTO BRESCIA
2 In Questa Puntata Introduzione alla architettura del Set di Istruzioni I registri interni del M6805 I modi di indirizzamento Le istruzioni di salto e le chiamate alle Procedure (sottoprogrammi) La Programmazione in linguaggio Assembler 2
3 Introduzione Com è noto la CPU rappresenta il cuore del microcontrollore Il funzionamento della CPU è caratterizzato da una grande quantità di operazioni elementari ciascuno eseguito in un singolo ciclo. Si parla convenzionalmente di RTL register transfer level. Ad ogni ciclo macchina i segnali di controllo ed il registro di stato interno vengono opportunamente settati. Al programmatore non interessa molto il livello RTL; interessa maggiormente conoscere quali registri interni sono disponibili e quale set di istruzioni ha a disposizione. 3
4 Introduzione L architettura della famiglia M6805 è basata sul modello Von Neumann nel quale i dati, il programma e i canali di I/O vengono collocati nella medesima area di indirizzamento. Il set di istruzioni è regolare e simmetrico; ciò significa che per la maggior parte delle istruzioni esiste una versione complementare: LDA STA Carica e Scarica INC DEC Incrementa e Decrementa BEQ BNE Salta se è Uguale e Salta se NON è Uguale ADD SUB Addiziona e Sottrai AND ORA Operatore logico AND e Operatore logico OR BCLR BSET Azzera Bit porta a 1 Bit ROR ROL Ruota i bit verso Destra o verso Sinistra JSR RTS Salta e ritorna da un sottoprogramma 4
5 MPU: Registri Interni 5
6 Accumulatore (A) L accumulatore (A) è un registro general purpose ad 8 bit che viene utilizzato dal programmatore per eseguire operazioni aritmetiche, operazioni logiche, operazioni di manipolazione dei dati. L intero set di istruzioni opera sul registro A. B6 50 LDA $50 ;Carica A con il contenuto presente ;nella zona memoria $50 BB 87 ADD $87 ; Somma il contenuto della zona ;mem. $87 all accumulatore B7 3C STA $3C ; Scarica il contenuto dell acc. ;nella zona mem. $3C 6
7 Registro Indice (X) Il registro indice viene usato dalle istruzioni che utilizzano il modo di indirizzamento indicizzato oppure viene impiegato come registro accumulatore ausiliario. Il registro può venire caricato o scaricato e il suo contenuto può essere confrontato con il dato presente in una determinara area di memoria. LDX #BCNT REPEAT LDA SOURCE, X STA DESTIN, X DECX BNE REPEAT ; Recupera la lunghezza ; Recupera il dato ; memorizza il dato ; al successivo ; Ripeti fino alla fine 7
8 Program Counter (PC) Il registro PC contiene l indirizzo di memoria della successiva istruzione che deve essere recuperata. Normalmente PC punta alla successiva locazione di memoria.. Il contenuto del PC può essere alterato dagli interrupts, o dalle istruzioni di salto. Durante un interrupt il PC viene caricato con un indirizzo corrispondente al tipo di interrupt che si è verificato (interrupt vector). Le istruzioni di salto jump e branch modificano il contenuto del PC in modo tale che la successiva istruzione ad essere eseguita non è quella successiva presente in memoria. L ampiezza del PC (il numero di bit utilizzabili) dipende dal particolare tipo di MCU. 8
9 Stack Pointer (SP)... L area di Stack (stack) è una zona memoria RAM utilizzata per porre in salvo informazioni di tipo temporaneo. E un insieme di locazioni di memoria consecutive gestite in modo LIFO (last-in-first-out). Un registro apposito denominato Stack Pointer SP viene utilizzato per specificare dov è collocato l ultimo dato nel caso di una operazione POP (recupero dati dallo stack) e dove collocare un dato da inserire nello stack nel caso di una operazione PUSH (inserimento dati nello stack) Sia gli Interrupts che le subroutines fanno ampio utilizzo dell area di Stack; il valore del PC viene automaticamente memorizzato durante una chiamata ad un sottoprogramma; infatti esso non è altro che l indirizzo di ritorno per proseguire. Tutti i registri (A,X, PC, CC) vengono memorizzati automaticamente nello Stack durante l esecuzione di un interrupt. 9
10 ... Stack Pointer 10
11 Registro di Stato o Condition Code Register (CC) H usato nelle operazioni aritmetiche BCD; viene modificato dalla ADD e dalla ADC. I quando vale 1 disabilita tutti gli interrupt mascherabili. Durante la esecuzione di un interrupt viene automaticamente portato a 1 dopo che i registri sono stati collocati nello stack. N viene portato a 1 da quelle operazioni aritmetiche logiche o di manipolazione dei dati che producono un risultato negativo (nella rappresentazione in complemento a 2). Z viene portato a 1 da quelle operazioni aritmetiche logiche o di manipolazione dei dati che producono un risultato nullo. C segnala la presenza di un riporto positivo carry dopo una addizione o un riporto negativo borrow dopo una sottrazione. 11
12 Esempio AB 02 ADD #2 ;ADD 2 TO ACCUMULATOR H Viene portato ad 1 perché si è verificato un riporto fra il bit 3 ed il bit 4 I Nessun cambiamento N Viene portato ad 0 perché il risultato non è di segno negativo Z Viene portato ad 0 perché il risultato non è nullo C Viene portato ad 1 perché si è verificato un riporto dal bit 7 dell accumulatore 12
13 Modi di Indirizzamento... I modi di indirizzamento definiscono le modalità con cui le istruzioni recuperano il dato richiesto durante l esecuzione. Una istruzione può accedere ad un dato in uno dei 5 diversi modi di indirizzamento previsti. Il numero di istruzioni nel caso della MPU MC6805 si aggira attorno a 60 ma il numero complessivo di codici operativi (machine codes) sale a 207 tenendo conto che una istruzione utilizza in genere più modi di indirizzamento. Con il termine Effective Address/Indirizzo Effettivo si denota la locazione di memoria dalla quale il dato è letto o nella quale il dato è memorizzato. 13
14 Modi di Indirizzamento... Inerente Immediato Diretto Esteso Indicizzato Relativo Manipolazione dei Bit 14
15 Modo di Indirizzamento Inerente In questo modo di indirizzamento non esiste alcun Effective Address. La informazione richiesta è già nella CPU. L istruzione occupa solamente un byte in memoria. 05B9 4F CLEAR CLRA ; Cancella l accumulatore 05BA 97 TAX ; Trasferisci A in X 05BB 98 CLC ; Cancella il Carry Bit del CC 05BC 81 RTS ; Ritorna da un sottoprogramma 15
16 Indirizzamento Immediato L indirizzo effettivo EA di una istruzione immediata è l indirizzo della locazione che immediatamente segue il codice operativo. Questo modo viene utilizzato con valori costanti e note fin dal momento in cui il programma viene scritto. Queste istruzioni sono composte da due bytes. PC punta alla istruzione PC PC + 1 EA PC PC PC
17 Esempio [1] PC = $05BC La CPU estrae dalla memoria il codice A6 La CPU riconosce che il codice A6 prevede indirizzamento immediato. PC = PC+1 [2] EA = PC = $05BC La CPU legge il dato immediato dalla locazione di indirizzo $05BD. PC = PC+1 Avanza e passa alla istruzione successiva 05BC A6 02 LDA #2 ; Carica in A il valore 2 05BE A0 05 SUB #5 ; Sottrae 5 dal contenuto di A 05C0 A1 A0 CMP #10 ; Confronta A con il valore 10 17
18 Indirizzamento Esteso Il dato su cui opera una istruzione è individuato dall indirizzo completo a 16 bit ed è contenuto nei due byte che seguono il codice operativo. L indirizzamento esteso consente di individuare qualsiasi locazione di memoria appartenente allo spazio degli indirizzi della CPU M6805. Tutte le istruzioni che operano sui registri interni e sulle locazioni di memoria esterna possono utilizzare il modo di indirizzamento esteso. PC punta alla istruzione PC PC + 1 EA (PC) : (PC+1) PC PC
19 Esempio [1] La CPU legge, all indirizzo $0409, il codice operativo $CE carica il registro X utilizzando il modo di indirizzamento esteso. [2] La CPU legge la quantità $08 dalla locazione $040A. Questo valore Rappresenta il byte più significativo MSB dell indirizzo del dato. [3] La CPU legge poi $00 dalla locazione $040B. Questo valore rappresenta il byte meno significativo LSB dell indirizzo del dato. [4] La CPU internamente compone EA = $0800 e successivamente legge il dato ad 8 bit presente alla locazione di indirizzo $ COUNT EQU $ DELAY EQU $ CE 0800 LDX COUNT ;Carica X con il contenuto della locazione di memoria $ C CD 1200 JSR DELAY ;Salta al sottoprogramma che inizia all indirizzo $
20 Indirizzamento Diretto (o in pagina 0) Il modo di indirizzamento diretto è simile all indirizzamento esteso. Nel modo diretto l indirizzo del dato EA è costituito da un unico byte; si parla convenzionalmente di indirizzo abbreviato. L indirizzamento diretto consente ad una istruzione di accedere a informazioni collocate nella cosiddetta pagina 0 ($00-$FF). Può venire usato con qualsiasi istruzione sia di tipo read-modify-write sia di tipo register/memory o bit manipulation. PC punta alla istruzione PC PC + 1 EA 00 : (PC) PC PC
21 Esempio I seguenti esempi addizionano due numeri a 16 bit. Il primo numero è collocato nelle zone memoria $10:$11 (MSB:LSB) e il secondo numero è collocato nelle zone memoria $12:$13 (MSB:LSB). NUM1 NUM2 ORG $10 ; Stabilisce l origine RMB 2 ; Riserva 2 bytes RMB 2 ; Riserva 2 bytes 0527 B6 11 LDA NUM1+1 ; Carica A con il contenuto della locazione $ BB 13 ADD NUM2+1 ; Aggiungi il contenuto della locazione $0013 ad A 052B B7 11 STA NUM1+1 ;Memorizza il risultato nella locazione $ D B6 10 LDA NUM1 ; Carica A con il contenuto della locazione $ F B9 12 ADC NUM2 ; Aggiungi il contenuto della locazione $0012 ad A 0531 B7 10 STA NUM1 ; Memorizza il risultato nella locazione $
22 Indirizzamento Indicizzato Nel modo di indirizzamento indicizzato l indirizzo effettivo EA è una variabile che dipende da due fattori: (1) il valore corrente di X e (2) l offset eventuale contenuto nel byte o nei bytes che seguono la istruzione. L offset può essere : nullo, un dato a 8 bit, un dato a 16 bit. EA = (X) + Offset 22
23 Indicizzato senza Offset In questo modo il contenuto del registro X rappresenta l indirizzo effettivo EA su cui lavora l istruzione; perciò l istruzione è costituita da un solo byte. Questo modo di indirizzamento viene utilizzato nei casi in cui l indirizzo EA punta ai primi 256 bytes (da $00 a $FF, lo spazio di memoria degli I/O). PC punta alla istruzione EA 00 : X PC PC + 1 AE 45 LDX #$45 ; X = $45 A6 20 LDA #$20 ; A = $30 F7 STA,X ;memorizza A nella zona $45 23
24 Indicizzato con Offset a 8 Bit Per determinare l indirizzo effettivo EA in questo modo di indirizzamento, il contenuto del registro indice X viene sommato al byte che segue il codice operativo. Questo modo è utile nel selezionare il k-esimo elemento di una tabella di n elementi; la tabella deve però iniziare nei primi 255 bytes della mappa (da $00 a $FF), e non deve eccedere le prime 511 locazioni di memoria della mappa. L indirizzamento indicizzato con offset a 8-bit può venire utilizzato per ROM, RAM, e I/O. PC punta alla istruzione PC PC + 1 EA X + (PC) + $0000 PC PC
25 Indicizzato con Offset a 16 Bit Funziona in modo analogo all indirizzamento indicizzato con offset a 8 bit. L istruzione completa ha una lunghezza di 3 bytes. Ogni locazione di memoria può essere raggiunta da questo modo di indirizzamento. PC punta alla istruzione PC PC + 1 EA (PC):(PC+1) + X PC PC + 2 SOURCE EQU $200 DESTIN EQU $ AE 04 LDX #$ D BLKMOV LDA SOURCE, X ; Carica in A il contenuto della locazione SOURCE + X 0695 E7 40 STA DESTIN,X ; Scarica A nella locazione DESTIN + X A DECX ; Passa alla successiva locazione A 0692 BPL BLKMOV ; Ripeti fino alla fine 25
26 Modo di Indirizzamento Relativo Il Modo di Indirizzamento Relativo è usato solamente per le istruzioni di salto di tipo Branch ; esso specifica una locazione relativa al valore corrente del PC (Program Counter). Il range dell offset è contenuto nei valori: (PC+2) <= R <= (PC+2) Se la destinazione del salto richiede di andare oltre al range R indicato, si passa ad utilizzare istruzioni JMP (salto incondizionato) o JSR (salto ad un sottoprogramma). PC punta alla istruzione PC PC + 1 TEMP (PC) PC PC + 1 EA PC+TEMP se il salto ha luogo 26
27 Esempio 04A1 AE 50 LDX #$50 04A3 CD 04C0 REP JSR WORK 04A6 5A 04A7 26 FA DECX BNE REP $FA è la rappresentazione binaria in complemento a 2 del valore 6 In questo esempio il sottoprogramma WORK viene chiamato 80 volte. 27
28 Istruzioni di Bit Test e Istruzioni Branch Queste istruzioni utilizzano il modo di indirizzamento diretto per specificare la locazione di memoria sotto test e l indirizzamento relativo per specificare la destinazione del salto branch. La documentazione Motorola più recente considera queste istruzioni appartenenti al modo di indirizzamento Diretto; la vecchia documentazione Motorola le cataloga come istruzioni BTB (BTB Bit Test and Branch). Il bit che è sottoposto a test o che viene settato (portato a 1) oppure resettato (portat a 0) è contenuto nel semibyte meno significativo del codice Oprativo che caratterizza l istruzione. (vedi esempio nella slide seguente) 28
29 Esempio 0001 PORTB EQU $01 ; Definisco indirizzo del Port B 0009 TIMER EQU $09 ; Definisco indirizzo TCR (Timer) 058F BCLR 2, PORTB ; Spengo LED F 09 FC REPT BRCLR 7, TIMER, REPT ; Verifico lo stato del Timer e ; ripeto se tempo non scaduto BSET 2, PORTB ; Accendo LED AGAIN LDA TIMER ; Recupero stato del Timer BIT #$80 ; Maschero il Bit 7 BNE AGAIN ; Se Bit 7 <> 0 ritorno in ciclo LDA PORTB ; Recupero dato presente sul Port B AND #$FB ; Maschera AND sul bit 2 STA PORTB ; Salvo Dato Modificato (spengo LED) BRA REPT ; Ritorno in ciclo 29
30 Riepilogo del Set di Istruzioni Register/Memory (ADC, ADD, AND, BIT, CMP, CPX, JMP) Immediato, Diretto, Esteso, Indicizzato (tutti tipi) Read/Modify/Write (ASL, ASR, CLR, COM, DEC, INC, LSL, LSR,... ) Diretto, Inerente, Indicizzato senza offset o con offset ad 8 bit Control Instructions (CLC, CLI, NOP, RSP, RTI, RTS, SEC, SEI, TAX...) Solo indirizzamento Inerente (1 solo byte) Bit Manipulation (BCLR n, BRCLR n, BRSET n, BSET n) Diretto, Relativo Branch Instructions (BCC, BCS, BEQ, BHCC, BHCS,... BRA, BRN) Relativo 30
31 Approfondimenti consigliati M6805 Hardware Features (Peripherals) Reading Material - Bind I, Del 2 "M6805 Users Manual", Chapter 4 "Hardware Features", pages Alternatively you can read Chapters "The Paced Loop" and "On-Chip Peripheral Systems" from MC68HC05 Family - Understanding small microcontrollers, pages Corso Introduttivo sul Microprocessore Motorola MC
Programmazione in linguaggio assembly per architetture Intel 8088
Programmazione in linguaggio assembly per architetture Intel 8088 Marco Di Felice 1 Università of Bologna Dipartimento di Scienze dell Informazione Corso di Architettura degli Elaboratori mail: difelice@cs.unibo.it
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
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
DettagliFondamenti di Informatica B
Fondamenti di Informatica B Lezione n. 11 Alberto Broggi Gianni Conte A.A. 2005-2006 Fondamenti di Informatica B Lezione n.11n ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO
DettagliArchitettura dei Calcolatori elettronici
Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore
DettagliIl linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio
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
DettagliIl linguaggio assembly
Il linguaggio assembly Introduzione al linguaggio macchina Indice Che cos è l assembly Elementi del linguaggio Memoria di programma Registri interni e di I/O Registri particolari Rappresentazione dell
DettagliAssembly. Modello x86
Assembly Modello x86 1 Il microprocessore Un MICROPROCESSORE è un circuito integrato dotato di una struttura circuitale in grado di attuare un prefissato SET di ISTRUZIONI 2 Caratteristiche del microprocessore
DettagliLinguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio
DettagliArchitetture dei Sistemi Elettronici
Architetture dei Sistemi Elettronici Roberto Roncella 15. Introduzione al linguaggio assembly Il linguaggio assembly È lo strumento di programmazione più vicino alla realtà fisicaelettronica di un elaboratore
DettagliIstruzioni di trasferimento dati
Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:
DettagliFetch Decode Execute Program Counter controllare esegue prossima
Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo
DettagliArchitettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
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
DettagliSet di istruzioni Z80 (quarta parte) Pagina 1 di 9 ISTRUZIONI DI SALTO
Set di istruzioni Z80 (quarta parte) Pagina 1 di 9 ISTRUZIONI DI SALTO JP pq E un istruzione di salto assoluto incondizionato. Per salto assoluto si intende il fatto che grazie a quest istruzione, il contenuto
DettagliArchitettura di un calcolatore: Introduzione parte 2
Corso di Calcolatori Elettronici I Architettura di un calcolatore: Introduzione parte 2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle
DettagliL'INDIRIZZAMENTO NEL PROCESSORE MC PARTE 1 -
L'INDIRIZZAMENTO NEL PROCESSORE MC 68000 - PARTE 1 - CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Modi di indirizzamento Tecniche di indirizzamento:
DettagliPag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.
DettagliModi di indirizzamento del processore MC68000 (parte prima)
Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 (parte prima) Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea
DettagliModi di indirizzamento del processore MC68000 (parte prima)
Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 (parte prima) Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Modello di programmazione
DettagliArchitettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H
Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello
DettagliLezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
DettagliModi di indirizzamento parte 1. Modello di programmazione del processore MC68000
Corso di Calcolatori Elettronici I A.A. 2010-2011 Modi di indirizzamento parte 1 Lezione 21 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in
DettagliFUNZIONAMENTO MACCHINA DI VON NEUMANN
FUNZIONAMENTO MACCHINA DI VON NEUMANN A cura di Marco Sechi PROGRAMMA NULL 0 TAKE 0 ADD 00 SAVE 0 DEC 0 TST 0 JMP 00 HLT 000 In figura viene visualizzato il contenuto della RAM. La parte in alto contiene
DettagliArchitettura di un calcolatore: introduzione. Calcolatore: sottosistemi
Corso di Calcolatori Elettronici I A.A. 2012-2013 Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e
DettagliARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
DettagliModi di indirizzamento
Architettura degli elaboratori Modi di indirizzamento ARGOMENTI DELLA LEZIONE Definizione Indirizzamenti diretti: immediato, assoluto, a registro Indirizzamenti indiretti: indiretto con registro, con spiazzamento,
DettagliLinguaggio macchina e register file
Linguaggio macchina e register file Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4,
DettagliUn altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando
Un altro tipo di indirizzamento L insieme delle istruzioni (3) Architetture dei Calcolatori (lettere A-I) Tipi di indirizzamento visti finora Indirizzamento di un registro Indirizzamento con registro base
DettagliModi di indirizzamento del processore MC68000 parte 1
Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 parte 1 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle
DettagliIstruzioni di controllo del flusso
Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal
DettagliLezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
DettagliIl processore minimo MU0. S. Salvatori - Microelettronica marzo 2019 (50)
Il processore minimo S. Salvatori - Microelettronica marzo 209 (50) Il processore minimo Il tipo più semplice di processore prevederà: un, Program Counter, per puntare all istruzione da eseguire un, Instruction
DettagliLA CPU INTEL Vantaggi dei programmi Assembly
1 LA CPU INTEL 8086 Vantaggi dei programmi Assembly L utilizzo del linguaggio Assembly anzichè di un linguaggio ad alto livello (tipo C o Pascal) è talvolta giustificato dalla maggiore efficienza del codice;
DettagliArchitettura di un calcolatore: introduzione. Calcolatore: sottosistemi
Corso di Calcolatori Elettronici I A.A. 2010-2011 Architettura di un calcolatore: introduzione Lezione 18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso
DettagliRichiami sull architettura del processore MIPS a 32 bit
Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC
DettagliESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione
ESERCITAZIONE 8 Sommario Unità centrale di elaborazione Meccanismo di interruzione CPU-Memoria Architettura di una CPU Linguaggio macchina Modi di indirizzamento 1. Unità centrale di elaborazione L unità
DettagliIl Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003
Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program
DettagliMemoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina
Architettura considerata in CPUSim Linguaggio macchina -- esempio in CPUSim Manuale di CPU Sim Memoria con 128 celle Indirizzi da 12 bit Registri usuali per un architettura di Von Neumann (, IR,, ) Un
DettagliISA (Instruction Set Architecture) della CPU MIPS
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina
DettagliArchitettura di un calcolatore: introduzione. Calcolatore: sottosistemi
Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie
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
DettagliISA (Instruction Set Architecture) della CPU MIPS32
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS32 Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina
DettagliIntroduzione a ISA. Il Livello ISA Instruction Set Level Architecture. Livello ISA e Motorola 68000: introduzione. Che cosa descrive ISA
Introduzione a ISA Il Livello ISA Instruction Set Level Architecture Livello ISA e Motorola 68000: introduzione Livello ISA (Instruction Level Architecture): insieme delle istruzioni (instruction set)
DettagliIl linguaggio macchina
Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
DettagliAssembly (3): le procedure
Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:
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
DettagliIntroduzione al linguaggio macchina. Istruzione l/m
Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
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
DettagliRappresentazione dell informazione
Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione
DettagliArchitettura e funzionamento del calcolatore
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Università degli Studi di Udine Architettura e funzionamento del calcolatore Modello di calcolatore Si farà uso di un modello semplificato di elaboratore
DettagliL'architettura del processore MIPS
L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento
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):
DettagliLinguaggio macchina e linguaggio assembly
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Linguaggio macchina e linguaggio assembly Formato delle istruzioni 15 8 7 0 gruppo modo di indirizzamento codice dell
DettagliCorso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo
Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Istruzioni del processore Abbiamo visto in precedenza alcuni esempi di istruzioni
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
DettagliOgni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale.
Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Campo Codice Operativo Campo Operandi K bit n-k bit n bit 1 Istruzione
DettagliGestione delle subroutine. Appunti di Sistemi per la cl. IV Dinf A cura del prof. Ing. Mario Catalano
Gestione delle subroutine Appunti di Sistemi per la cl. IV Dinf A cura del prof. Ing. Mario Catalano Vantaggi delle subroutines In maniera analoga alle funzioni/metodi dei linguaggi di alto livello, anche
DettagliNel microprocessore 8086 abbiamo una gran quantità di registri
I registri del microprocessore 8086 Nel microprocessore 8086 abbiamo una gran quantità di registri AH AL AX 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 B H B L BX 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 C H C L CX 1 0 1 1
DettagliScopo della lezione. Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato
Scopo della lezione Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato Little endian e big endian Indirizzamento logico e fisico Comprendere la struttura del micro Von Neumann architecture
Dettaglislt $t1,$t2,$t3 if ($t2<$t3) $t1=1; Confronto tra registri slti $t1,$t2,100 if ($t2<100)$t1=1; Cfr. registro-costante
Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if ($t2
DettagliAssembly IV Le procedure
rchitettura degli Elaboratori e delle Reti Lezione 14 ssembly IV Le procedure Proff.. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:
DettagliArchitettura di un calcolatore: introduzione
Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie
DettagliAssembly (3): le procedure
Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 13 1/23 Chiamata
DettagliArchitettura del set di istruzioni (ISA)
Architettura del set di istruzioni (ISA) Calcolatori Elettronici-Ingegneria Telematica 1 Instruction Set Architecture Software Hardware Application (Netscape) Compiler Assembler Processor Memory Digital
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
DettagliAlcuni programmi assembly MC68000
Corso di Calcolatori Elettronici I Alcuni programmi assembly MC68000 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliIstruzioni e linguaggio macchina
Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare
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
DettagliArchitettura del calcolatore (Seconda parte)
Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly
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
DettagliCPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore
CPU CPU e programmazione (Parte 1) La CPU (Central Processing Unit) e` in grado di eseguire dei programmi, cioe` sequenze di istruzioni elementari ( istruzioni macchina ) Idea fondamentale dell'architettura
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
DettagliModi di indirizzamento del processore MC68000 (parte prima)
Corso di Calcolatori Elettronici I A.A. 2011-2012 Modi di indirizzamento del processore MC68000 (parte prima) Lezione 21 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Andrea Torsello, Marta Simeoni " Architettura degli Elaboratori 1 1 Istruzioni
DettagliIstruzioni e linguaggio macchina
Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare
DettagliA.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be
A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be Docenti Disciplina Cinzia Brunetto, Antonino Cacopardo SAE Sistemi Automatici Elettronici Competenze disciplinari di riferimento Il percorso formativo
DettagliESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI
ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI Progettare una unità centrale di elaborazione microprogrammata, dotata di registri ad uso generale di bit, che sia in grado di indirizzare una memoria di 64k
DettagliCalcolatore: sottosistemi
Calcolatore: sottosistemi Processore o CPU (Central Processing Unit) Memoria centrale Sottosistema di input/output (I/O) CPU I/O Memoria Calcolatore: organizzazione a bus Il processore o CPU Unità di controllo
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
DettagliLABORATORIO DI SISTEMI
ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 2 LABORATORIO DI SISTEMI OGGETTO: 1) Scrivere un programma, in linguaggio Assembly, per una CPU Intel 8086, che sommi due numeri (var_1,
DettagliARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A
ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A *** indicano le affermazioni corrette. 1. Con riferimento alle architetture dei calcolatori ed alla valutazione
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
DettagliL unità di controllo di CPU a singolo ciclo. Sommario
L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2,
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
DettagliVari modi di specificare l indirizzo degli operandi
Modi di indirizzamento Capitolo 11 Vari modi di specificare l indirizzo degli operandi Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 Indirizzamento immediato L operando è
DettagliProgetto CPU a singolo ciclo
Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/50 Sommario! La CPU! Sintesi di
DettagliSistemi a microprocessore
Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione
DettagliDEC PDP8, III Generazione, '65-'75
Parte I DEC PDP8, III Generazione, '65-'75 PDP8 Architettura (Livello Registri) 12 bit Program Counter PC 12 bit Memory Address Register MAR Random Access Memory RAM 4096 x 16 1 bit I 3 bit Operation Code
DettagliStrutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register
Corso di Calcolatori Elettronici I A.A. 2010-2011 Strutture di controllo del flusso di esecuzione in assembler Lezione 25 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di
DettagliCPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti
Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!
DettagliEsempio di moltiplicazione come somma e spostamento
Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35
DettagliProgrammi per la macchina di Mano addizione di due numeri
Programmi per la macchina di Mano addizione di due numeri Indi Codici simbolici esadecimale binario rizzo 000 LDA 004 2004 0010 0000 0000 0100 001 ADD 005 1005 0001 0000 0000 0101 002 STA 006 3006 0011
DettagliCPUSim. Laboratorio 30/11/2016
CPUSim Laboratorio 30/11/2016 Tommaso Padoan e-mail: padoan@math.unipd.it CPUsim Scaricare il simulatore: www.math.unipd.it/~sperduti/architettura1.html scorrere fino a sezione Simulatori, aprire la pagina
DettagliUn quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto
Un quadro della situazione Lezione 15 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
Dettagli