FONDAMENTI DI INFORMATICA Lezione n. 11
|
|
|
- Damiano Ruggeri
- 9 anni fa
- Visualizzazioni
Transcript
1 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 base relativi alla architettura interna di una CPU e al linguaggio macchina (o linguaggio assembler). Fondamenti di Informatica/11 Gianni Conte 1 / 18 ARCHITETTURA INTERNA E ESTERNA ARCHITETTURA INTERNA: Struttura interna della CPU. Migliore compromesso possibile fra le prestazioni e i costi avendo come vincolo la tecnologia. ARCHITETTURA ESTERNA: Come il processore è visto da chi lo deve programmare. Insieme delle istruzioni, dei registri, dei modi di indirizzamento e dei tipi di dato ammessi dalle istruzioni. Attraverso livelli di interpretazione si realizzano le funzioni definite all'esterno: Linguaggio macchina (o assembler). Linguaggio di microprogramma. Comandi alla parte operativa. Fondamenti di Informatica/11 Gianni Conte 2 / 18 1
2 LINGUAGGIO MACCHINA Il linguaggio macchina o assembler di una CPU definisce: Le operazioni possibili. Le risorse possibili e la loro utilizzazione. La maggior parte delle istruzioni è del tipo: X 1 f(x 1,X 2,, X n ) con n eguale a 1, 2 o (raramente) 3. Funzioni complesse sono realizzate sfruttando i livelli di interpretazione senza modificare l'architettura interna. L'architettura interna è direttamente influenzata dalle caratteristiche sintattiche dell'architettura esterna (tipi di dato,...). Fondamenti di Informatica/11 Gianni Conte 3 / 18 LINGUAGGIO MACCHINA Ogni istruzione è definita da: Codice macchina: Codice mnemonico: MOV A,B A B Corrispondenza 1 a 1 tra i due codici. Ogni istruzione in linguaggio macchina deve definire: Operazione da svolgere. Operandi coinvolti. Posizione dell'istruzione successiva. Fondamenti di Informatica/11 Gianni Conte 4 / 18 2
3 LINGUAGGIO MACCHINA ISTRUZIONE SUCCESSIVA Le istruzioni sono eseguite in sequenza. L'indicazione relativa all'istruzione successiva è spesso implicita. Il PC (Program Counter) memorizza l'indirizzo della istruzione da eseguire. Per alterare la sequenza sono introdotte istruzioni di salto: (PC X). Fondamenti di Informatica/11 Gianni Conte 5 / 18 LINGUAGGIO MACCHINA CODICE MACCHINA In generale il codice macchina è suddiviso in campi: CODICE MNEMONICO Il codice mnemonico rispecchia la struttura del codice macchina. Fondamenti di Informatica/11 Gianni Conte 6 / 18 3
4 MODI DI INDIRIZZAMENTO Ogni operando è associato a un dato di cui occorre conoscere la localizzazione attraverso il suo INDIRIZZO. Modi diversi per indicare la posizione: IMMEDIATO DIRETTO INDIRETTO MODO IMMEDIATO Il dato è contenuto nel codice macchina. MOVI A,99 o MOV A,#99 Fondamenti di Informatica/11 Gianni Conte 7 / 18 MODI DI INDIRIZZAMENTO MODO DIRETTO Il codice macchina contiene l'indirizzo del dato. MOV A,X X può essere: Indirizzo della cella di memoria contenente il dato. Codice registro interno. Fondamenti di Informatica/11 Gianni Conte 8 / 18 4
5 MODI DI INDIRIZZAMENTO INDIRETTO Il codice macchina contiene l'indirizzo della locazione di memoria che contiene l indirizzo del dato: MOV A,(X) X può essere: Indirizzo della cella di memoria contenente l indirizzo del dato. Codice registro interno contenente l indirizzo del dato. Fondamenti di Informatica/11 Gianni Conte 9 / 18 TIPI DI INDIRIZZO Il valore dell'indirizzo può essere espresso in modo: ASSOLUTO: L'indirizzo completo compare nel campo operando. Svantaggio: la lunghezza del campo indirizzo genera codice di dimensione elevata. RELATIVO: Nel campo operando compare solo lo spiazzamento (scostamento) relativo (differenza rispetto al valore contenuto) al PC. Lo spiazzamento può essere: contenuto in un byte, un valore negativo. Fondamenti di Informatica/11 Gianni Conte 10 / 18 5
6 TIPI DI INDIRIZZO INDIRIZZO COMPOSTO Estendendo il concetto di indirizzo relativo, al posto del PC, si utilizza: Registro Base. Registro Indice. Fondamenti di Informatica/11 Gianni Conte 11 / 18 REGISTRO BASE Nel codice operativo compare solo lo spiazzamento rispetto a un valore contenuto nel registro base. L indirizzo effettivo si ottiene sommando lo spiazzamento al contenuto del registro base. Permette al processore di accedere ad una nuova zona di memoria solo cambiando il contenuto del registro base. Vettore in Reg. Base memoria + Scostamento = Indirizzo Fondamenti di Informatica/11 Gianni Conte 12 / 18 6
7 REGISTRO INDICE Nel codice compare l'indirizzo iniziale di un blocco, la posizione all'interno del blocco è individuata mediante un registro. Il vettore X 0, X 1,..., X N è memorizzato in locazioni consecutive. Il codice operativo contiene l'indirizzo di X 0. Il registro R contiene l'indice i. Fondamenti di Informatica/11 Gianni Conte 13 / 18 STACK POINTER MODIFICA PUNTATORI Un altro modo di indirizzamento: MOV A,(X)+ X è un registro che al termine dell'esecuzione dell'istruzione viene incrementato. ALTRI CASI: (X)+ : post-increment (X)- : post-decrement +(X) : pre-increment -(X) : pre-decrement Fondamenti di Informatica/11 Gianni Conte 14 / 18 7
8 STACK POINTER PUSH POP Fondamenti di Informatica/11 Gianni Conte 15 / 18 REGISTRO DI STATO Un caso molto semplice PDP11 (1970) PR - livello di priorità del processore. T - modo passo-passo. Z,N,C,V - risultato zero, negativo, con riporto, overflow. Fondamenti di Informatica/11 Gianni Conte 16 / 18 8
9 ARCHITETTURA INTERNA La gestione efficace di operazioni particolari svolte frequentemente richiede la presenza di funzioni specializzate: Registri dedicati: Registro indice Registri base Registro di stato Stack Pointer Gestione sottoprogrammi e interruzioni. Fondamenti di Informatica/11 Gianni Conte 17 / 18 ARCHITETTURA ESTESA Fondamenti di Informatica/11 Gianni Conte 18 / 18 9
Linguaggio 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
Modi di indirizzamento
Vari modi di specificare l indirizzo degli operandi Modi di indirizzamento Capitolo 11 Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 2 Indirizzamento immediato L operando
Architettura 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
Accesso 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
Metodi di indirizzamento
Testo di rif.to: [Congiu] 4.3 (pg. 138 148) 02.b Metodi di indirizzamento Indirizzamento immediato Indirizzamento di registro Indirizzamenti in memoria Metodi di indirizzamento 1 Gli indirizzi degli operandi
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: [email protected]
Il 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
Il 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
Architettura 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
Architettura 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
Esercitazione di Calcolatori Elettronici Prof. Fabio Roli. Corso di Laurea in Ingegneria Elettronica. Esercitazione 3 (Capitolo 4) Set di istruzioni
Esercitazione di Calcolatori Elettronici Prof. Fabio Roli Corso di Laurea in Ingegneria Elettronica Esercitazione 3 (Capitolo 4) Set di istruzioni Outline Set di istruzioni di macchina Metodi di indirizzamento
Corso di Laurea in Informatica Architetture degli Elaboratori
Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 7 luglio 2005 Esercizio 1 (punti 2) Considerare la rappresentazione dei numeri relativi su 10 bit in complemento a
Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:
Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema
Modi 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
Un esempio di ciclo macchina
Un esempio di ciclo macchina La CPU deve eseguire le seguenti istruzioni:. Somma dei due valori contenuti agli indirizzi di memoria e ponendo il risultato all indirizzo. Differenza tra i due valori contenuti
L insieme delle istruzioni (6)
L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso
Istruzioni 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:
Nel 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
ARCHITETTURA 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
Processore Danilo Dessì. Architettura degli Elaboratori.
Processore 888 Architettura degli Elaboratori Danilo Dessì [email protected] 888 L 888 è un processore che è stato progettato dalla Intel nel periodo 1978/1979 La sua architettura è simile a quella
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 15
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 15 Prof. Rosario Cerbone [email protected] http://digilander.libero.it/rosario.cerbone a.a. 2005-2006 L'INDIRIZZAMENTO NEL PROCESSORE MC 68000
Istruzioni 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
Il 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
Il 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
Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Marzo 2014
Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Marzo 2014 Pseudo direttive assembly Per scrivere un programma in assembly sono necessarie alcune pseudo direttive
CPU 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!
Architettura 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
Modi 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
Istruzioni 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
Corso di Laurea in Informatica Architetture degli Elaboratori
Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 3 aprile 2006 Esercizio 1 (punti 3) Considerare una codifica su 8 bit in complemento a due e rappresentare i seguenti
Il Processore. Informatica di Base -- R.Gaeta 27
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
A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante
A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,
Architettura 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
Il linguaggio assembly
Il linguaggio assembly PH 2.3 (continua) 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Istruzioni logiche 2 1 La memoria del MIPS I contenuti delle locazioni di memoria
Assembly. 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
Il 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
Il 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
Architettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input/output 1 Fornisce la capacità di
ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088
ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: motivi didattici: l architettura dei processori Intel
