I vettore interruzioni

Slides:



Advertisements
Presentazioni simili
La struttura fisica e logica di un elaboratore
Advertisements

Procedure In assembler.
IL MICROCONTROLLORE ST6
Elaboratore e Sistemi Operativo
Architettura di un sistema informatico Hardware
CdL Ingegneria Informatica n.o. Anno Accademico 2007/08 Fondamenti di Informatica I – corso A Giacomo Piscitellipag. 1/30 Architettura dei calcolatori.
2. Architettura di un calcolatore
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Architettura di un calcolatore Ing. Simona Colucci.
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
Il Linguaggio Macchina
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Funzioni.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
CALCOLATORI ELETTRONICI Gestione delle subroutine.
Gestione delle subroutine
Il Linguaggio Macchina
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
L’Architettura del Sistema di Elaborazione
Microprocessore Intel 8086
L' ARCHITETTURA DI VON NEUMANN
Architettura degli elaboratori
Architettura del calcolatore
Sottoprogramma Un blocco di istruzioni, come ad esempio lanello di ritardo, può costituire un sottoprogramma (subroutine) a sé stante, richiamabile dal.
Introduzione al linguaggio assembly del microprocessore a parte
ARCHITETTURA DI UN ELABORATORE
LOGICA DI FUNZIONAMENTO
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo

Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
Architettura di una CPU
Architettura del calcolatore
Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
Architettura IA - 16 M. Mezzalama - M. Rebaudengo - M. Sonza Reorda
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Allievi Elettrici - AA Le funzioni ricorsive in C
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Gestione dei dispositivi di I/O:
Sistemi Elettronici Programmabili
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Architettura di un calcolatore e linguaggio macchina.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
I MICROPROCESSORI.
Vediamo com'è fatto internamente un microcontrollore PIC, quali dispositivi contiene e come interagiscono tra loro. Nella figura seguente viene riprodotto.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
1 System Call ancora Vediamo passo passo come funziona una SC.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Come esegue le istruzioni il microprocessore Un’istruzione è sempre composta da più operazioni elementari.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Università degli Studi di Roma – Tor Vergata Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica Azione delle istruzioni.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il modello di Von Neumann
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

I vettore interruzioni Registri della CPU Z80 Principali Alternativi generale A accumulatore F flag A’ F’ Uso B C B’ C’ 8 bit D E D’ E’ H L H’ L’ I vettore interruzioni R rinfresco memoria speciale IX registro indice Uso 16 IY registro indice bit SP stack pointer PC program counter Il Program Counter contiene l’indirizzo di memoria dell’istruzione che deve essere eseguita L’accumulatore contiene il risultato delle operazioni aritmetiche e logiche a 8 bit Il registro dei flag (o “di stato”) contiene 6 bit che segnalano condizioni particolari come: riporto, zero, segno meno, ecc...; i bit di questo registro, ad eccezione del bit di riporto (carry) non possono essere alterati da istruzioni di scrittura I registri H ed L, se accoppiati, contengono i risultati delle operazioni aritmetiche a 16 bit; inoltre, come le coppie BC e DE e i registri IX e IY, possono essere usati come puntatori di memoria o contatori a 16 bit; IX e IY consentono di elaborare con istruzioni dirette, dati presenti in una delle 256 celle di memoria situate intorno all’indirizzo puntato Lo stack pointer (puntatore area di stack) contiene un indirizzo di riferimento che delimita una zona di memoria riservata al salvataggio temporaneo di dati e indirizzi, tramite tecnica “a catasta” (l’ultimo dato entrato è il primo a uscire) Il registro interruzioni contiene la metà alta di un indirizzo, utile a gestire il “Modo 2” delle richieste d’interruzione dei periferici Il registro di rinfresco è usato per il ripristino, tramite apposite istruzioni, di eventuali memorie dinamiche collegate alla CPU I registri alternativi servono per salvare temporaneamente dati presenti nei corrispondenti registri principali Un 23° registro (“Registro Istruzioni”, 8 bit), integrato nella CPU, contiene il codice operativo, prelevato dalla memoria, dell’istruzione da eseguire; da qui è inviato al blocco di decodifica, controllo e temporizzazione, per realizzare le operazioni elementari per la sua esecuzione, salvate nella ROM Registro Istruzioni

Più in dettaglio, lo Z80 contiene 208 bit accessibili dal programmatore in lettura/scrittura (R/W). La figura illustra come questi bit siano organizzati in 18 registri a 8 bit e in 4 registri a 16 bit. Tutti i registri sono realizzati utilizzando memoria RAM statica. La CPU contiene due insiemi accoppiati di registri di uso generale. I due insiemi comprendono due gruppi di sei registri di uso generale che possono essere utilizzati singolarmente come registri a 8 bit, oppure in coppia come registri a 16 bit; un gruppo è́ formato dai registri BC, DE, HL e il gruppo alternativo da B’C’, D’E', H’L’. Oltre ai sei registri, in ogni gruppo è presente un accumulatore e un registro dei flag. Registri di uso generale Accumulatore (A) contiene il primo operando e il risultato di una operazione aritmetica o logica a 8 bit. Registro dei flag (F) indica condizioni specifiche per le operazioni effettuate (per esempio se il risultato di una operazione è́ o non è zero). Significato di ciascun bit del registro F: Il bit 0 (C). E' il flag di carry che in genere è settato a 1 quando si verifica un riporto sull'ultimo bit. Inoltre è alterato dalle operazioni di shift e dalle operazioni logiche. Il bit 1 (N). E' il flag di sottrazione che viene settato quando viene effettuata una sottrazione o un decremento. Non può essere testato mediante i salti condizionati, ma è sfruttato dalla operazione DAA. Il bit 2 (P/V). E' il flag di parità o di overflow. Quando lavora come flag di parità (in genere nelle operazioni logiche e negli shift) viene posto a uno quando il numero dei bit posti a 1 nel risultato è̀ pari. Se invece lavora come flag di overflow (in genere nelle operazioni aritmetiche) viene settato a 1 quando il segno del risultato è̀ errato. Supponiamo ad esempio di voler sommare -1 a -128. Le istruzioni sono: LD A,255 ; -1=255 in complemento a 2 ADD A,128 ; -128=128 in complemento a 2 Il risultato corretto sarebbe -129 ma invece nel registro A troviamo il valore 127. In questo caso il flag P/V sarà posto a 1. Il bit 3 e il bit 5 non sonò flag e non hanno significato. Il loro valore è̀ casuale. Il bit 4 (H). E' il flag di half-carry e indica il riporto che avviene dal bit 3 al bit 4 dell'accumulatore. Non può̀ essere testato con le istruzioni di salto condizionato, ma è sfruttato dall'operazione DAA. Il bit 6 (Z). E' il flag di zero: viene posto a 1 nel momento in cui il risultato di un'operazione è̀ 0. Il bit 7 (S). E' il flag di segno. Quando viene posto a 1 significa che il risultato dell'operazione è̀ negativo (il bit più significativo del risultato è̀ uguale a 1). Registri di uso speciale Contatore di programma ( Program Counter, PC ) Questo registro contiene l’indirizzo, a 16 bit, dell’istruzione in corso di lettura della memoria. Il PC é automaticamente incrementato ogni volta che il suo contenuto viene trasferito alle linee di indirizzamento. Quando si ha un salto nel programma, il nuovo valore dell’indirizzo viene posto nel PC, invece di eseguire l’operazione automatica di incremento. Puntatore della catasta ( Stack Pointer, SP ) Il puntatore contiene l’indirizzo a 16 bit, dell’attuale limite superiore di un’area detta “stack” posta in una qualunque zona della memoria esterna RAM. Lo stack é organizzato in modo LIFO ( Last-In-First-Out, ultimo ingresso-prima uscita). I dati possono essere inseriti od estratti dalla catasta (attraverso un generico registro, mediante istruzioni di PUSH (spingi) o di POP (estrai). L’uso della catasta semplifica la gestione delle interruzioni e dei sottoprogrammi. Registri indice ( Index Register, IX & IY ) Tali registri memorizzano un indirizzo di partenza, a 16 bit, che può essere utilizzato nei modi di indirizzamento indicizzato. Questo tipo di indirizzamento facilita grandemente la gestione di tabelle di dati. Nell’indirizzamento indicizzato il registro indice viene utilizzato come base per puntare ad una zona di memoria nella quale devono essere immagazzinati ( o recuperati ) dei dati. Un byte addizionale che specifica lo spostamento ( displacement ) dalla base é incluso nell’istruzione che utilizza questo tipo di indirizzamento. L’Indirizzo finale viene quindi ottenuto sommando all’indirizzo di partenza ( contenuto nel registro indice ) lo spostamento specificato. Lo spostamento é espresso come numero binario con segno in complemento a due. Registro dell’interruzione ( Interrupt Page Address Register, I ) La CPU Z80 può operare in un modo (Modo 2) in cui la risposta ad una interruzione può essere realizzata mediante una chiamata indiretta (call) ad una qualsiasi locazione di memoria. Il registro I viene usato per memorizzare gli 8 bit più significativi dell’indirizzo indiretto, mentre il dispositivo generante l’interruzione fornisce gli 8 bit meno significativi dell’indirizzo. Questa caratteristica permette che i programmi di gestione delle interruzioni siano posizionati in modo dinamico ovunque nella memoria, mentre il tempo di accesso ai suddetti programmi resta in ogni caso minimo. Registro di rinfresco della memoria ( Memory Refresh Register, R ) Lo Z80 contiene un contatore di rinfresco della memoria, per facilitare l’uso delle memorie dinamiche, Sette degli 8 bit di questo registro sono automaticamente incrementati dopo ogni lettura di un’istruzione. L’ottavo bit, mediante un’istruzione apposita, rimane invece come programmato.