Manualetto. Aggiornato al 31/07/2014
|
|
- Niccolina Fortunato
- 7 anni fa
- Visualizzazioni
Transcript
1 Sistema emulato Periferiche 8086 Manualetto studenti.polito.it Aggiornato al 31/07/2014
2 Canali del sistema emulato Routine Descrizione Canale Indice IVT ISR_PA_IN L 8086 riceve un dato dalla porta parallela A.* 7 39 ISR_PA_OUT La porta parallela A riceve un dato dall 8086.** 6 38 ISR_PB_IN L 8086 riceve un dato dalla porta parallela B.* 5 37 ISR_PB_OUT La porta parallela B riceve un dato dall 8086.** 4 36 ISR_COUNT0 Il contatore 0 termina il suo conteggio ISR_COUNT12 Il contatore 1+2 termina il suo conteggio Struttura di un programma Assembler DIM EQU 50 DATI DB 10 (?) INIT_IVT INIT_IVT INIT_MIO INIT_MIO INIT_TUO INIT_TUO ISR_PIPPO I ISR_PIPPO ISR_PLUTO I ISR_PLUTO ; All esame te la puoi risparmiare ; Occhio agli indirizzi dei registri!.startup CLI CALL INIT_IVT CALL INIT_MIO CALL INIT_TUO STI BLOCK: ; HLT JMP BLOCK.EXIT END
3 Utilizzo dello stack Nota: il seguente esempio non è precisissimo. Si consiglia di far riferimento all apposita sezione delle slide presenti sul Portale della Didattica. EDURA MOV BP, SP PUSH SI PUSH CX PUSH AX PUSH DX MOV SI, [BP+6] ; Parametro in ingresso #1 MOV CX, [BP+4] ; Parametro in ingresso #2 MOV BX, [BP+2] ; Parametro in uscita #1 POP DX POP AX POP CX POP SI EDURA.STARTUP LEA AX, VARIABILE PUSH AX ; Parametro in ingresso #1 MOV AX, DIM PUSH AX ; Parametro in ingresso #2 SUB SP, 2 ; Parametro in uscita #1 CALL EDURA POP AX MOV RITORNO, AL ADD SP, 4.EXIT END ; Recupero il parametro in uscita ; "Riavvolgo" lo stack (4 = 2*n) con n = # parametri in ; ingresso passati (non di ritorno!)
4 8253 Contatore all interno del sistema. Dopo un/ogni conteggio si lancia una INT ; === Parola di controllo === ; [SC1 SC0 RL1 RL0 M2 M1 M0 BCD] ; * SC1 - SC0 : Contatore da programmare ; # 00: Contatore 0 ; # 01: Contatore 1 ; # 10: Contatore 2 ; * RL1 - RL0: Modalità di lettura / carica ; # 01: Solo il byte meno significativo LSB ; # 10: Solo il byte più significativo MSB ; # 11: Entrambi, prima LSB poi MSB ; * M2 - M1 - M0: Modo di funzionamento ; # 000: Modo 0 (dopo tot. ms scatena INT) ; # X10: Modo 2 (ogni tot. ms scatena INT) ; Se devo usare due contatori in cascata, il contatore 1 va sempre ; in modo 2 (in modo da dividere il clock) e il contatore 2 va in ; modo 0 o 2 a seconda della specifica complessiva del testo ; (dopo: 0, ogni: 2). ; * BCD: Conteggio binario o BCD? ; # 0: Binario ; Contatore 0 MOV AL, 00XXXXX0B ; Contatore 1 MOV AL, 01XXXXX0B ; Contatore 2 MOV AL, 10XXXXX0B ; === Valori === ; * Se programmo N conto N INT ; * Se mi servono 16 bit (RL = 11) devo usare tutte e quattro le ; istruzioni relative a un contatore, altrimenti solo le prime ; due. ; Contatore 0 MOV AX, 0BEACH ; 0BEACH è da sostituire! :) ; Contatore 1 MOV AX, 0BEACH OUT 061H, AL OUT 061H, AL ; Contatore 2 MOV AX, 0BEACH OUT 062H, AL OUT 062H, AL
5 ; Esempio di gestione contatore Videolezione 26 ; Si vuole scatenare una richiesta di interruzione ogni 4 secondi, disponendo di ; un clock di 2 MHz. Il periodo di clock è 0,5 us, quindi per arrivare a 4 sec. ; devo contare fino a Il valore è troppo grande da rappresentare su ; 16 bit, quindi uso i contatori 1 e 2 in cascata. Ogni volta che termino un ; conteggio si scatena un interruzione che porta alla chiamata di ISR_COUNT12. ISR_COUNT12 INC BX I ISR_COUNT12 ; Il contatore 1 verrà programmato con 16 bit e ogni tot. ms scatena ; un interruzione MOV AL, B ; Il contatore 2 verrà programmato con 16 bit e ogni tot. ms scatena ; un interruzione MOV AL, B ; è ad esempio scomponibile in 4000*2000. Entrambi questi ; valori possono essere memorizzati su 16 bit. MOV AX, 4000D OUT 061H, AL OUT 061H, AL MOV AX, 2000D OUT 062H, AL OUT 062H, AL
6 8255 Permette a un dispositivo esterno di comunicare col µp, ricevendo N bit contemporaneamente. L INT è scatenata dalla ricezione di un dato. ; === Parola di controllo # 1 === ; [1 D6 D5 D4 D3] [D2 D1 D0] ; ; Configurazione del gruppo A ; * D6 D5: Modo ; # 00: Modo 0 (no handshaking) ; # 01: Modo 1 (gestione dell'interrupt) ; * D4: Uso la porta A (080H) in ; # 0: Output ; # 1: Input ; * D3: Uso la parte alta della porta C (082H) in ; # 0: Output ; # 1: Input ; ; Configurazione del gruppo B ; * D2: Modo ; # 0: Modo 0 (no handshaking) ; # 1: Modo 1 (gestione dell'interrupt) ; * D1: Uso la porta B (081H) in ; # 0: Output ; # 1: Input ; * D0: Uso la parte bassa della porta C in ; # 0: Output ; # 1: Input MOV AL, 1XXXXXXXB ; === Parola di controllo #2 === ; Se ho bisogno di una combinazione di comportamenti posso inviare ; più di una parola di controllo all indirizzo 083H. ; ; * INT in caso di input sulla porta A (STB) MOV AL, B ; * INT in caso di output sulla porta A (ACK) MOV AL, B ; * INT in caso di input o output sulla porta B (ACK) MOV AL, B
7 ; Esempio di gestione porta parallela Videolezione 30 ; Il sistema riceve dati su 8 bit sulla porta A dell'8255, ogni volta che questi ; sono disponibili. Una volta ricevuti 3 valori, comincia a inviarli sulla porta ; B nell'ordine in cui li ha ricevuti. DATI DB 10 (?) ; Questa routine è chiamata ogni volta che faccio STB (= dato + conferma su A). ; Si noti che in questo caso particolare, tale routine funge anche da avviamento ; per il successivo output dei dati sulla porta B: attenzione che ISR_PB_OUT non ; parte fin quando non si manda il primo ACK di ricezione. ISR_PA_IN ISR_PA_IN IN AL, 080H MOV DATI[DI], AL INC DI CMP DI, 3 JNE FINE_PA_IN XOR DI, DI MOV AL, DATI[DI] OUT 081H, AL FINE_PA_IN: I ; Questa routine è chiamata ogni volta che faccio ACK (= dato + conferma su B). ; Si noti che in questa routine c è sicuramente un qualche meccanismo che mi fa ; tornare alla testa del buffer e un meccanismo che salti al bisogno OUT 081H, ; AL e dunque non consenta altri ACK. In questo caso i meccanismi sono uguali. ISR_PB_OUT ISR_PB_OUT INC DI CMP DI, 3 JE FINE_PB_OUT MOV AL, DATI[DI] OUT 081H, AL JMP FINE_I FINE_PB_OUT: FINE_I: XOR DI, DI I ; Gruppo A: modo 1, porta A in input. Gruppo B: modo 1, porta B in output. ; Scateno interrupt in caso di input sulla porta A e output sulla porta B. MOV AL, B MOV AL, B MOV AL, B
8 8259 Gestore delle interruzioni. INIT_8259 INIT_8259 ; === ICW1 === ; [ LTIM 0 SNGL IC4] ; * LTIM: Level Triggered Mode ; # 0: Edge Triggered Mode ; * SNGL: Modo Single o Cascade ; # 1: Modo Single ; * IC4: Presenza della parola ICW4 ; # 1: Sì MOV AL, B ; === ICW2 === ; T7 T6 T5 T4 T ; * T7-T3: bit alti indirizzo vettore INT ; # 00100: vettore INT a indirizzo 32 MOV AL, B ; === ICW4 === ; [0 0 0 SFNM BUF M/S AEOI upm] ; * SFNM: Special Fully Nested Mode ; # 0: No ; * BUF - M/S: Modo bufferizzato ; # 00: No ; * AEOI: Automatic End Of Interrupt ; # 1: Auto EOI ; # 0: Normal EOI ; Se ho priorità fissa e non ho vincoli di priorità rispetto al ; normale posso usare AEOI. Altre richieste di INT, anche meno ; prioritarie, possono interrompere quella vecchia a patto di ; sproteggere la ISR con STI/CLI (vedi esempio 1). ; Se invece uso EOI, la nuova INT che arriva resta pendente: ogni ; volta che arriva un INT non si fa niente fino a quando non ; specifico con la OCW2 che ho terminato di servire un certo INT. ; Una volta servito, si ritorna al main e si vede chi è il più ; prioritario che ha richiesto di essere servito: solo a questo ; punto scatterà la nuova INT (vedi esempio 2). ; La cosa vale anche se le richieste arrivano contemporaneamente: ; si serve prima il dispositivo più prioritario, e poi a seguire ; tutti gli altri. ; * upm: Processore ; # 1: 8086 MOV AL, X1B ; === OCW1 === ; [M7 M6 M5 M4 M3 M2 M1 M0] ; * My: disabilita il canale INT y ; # 1: canale y disabilitato MOV AL, XXXXXXXXB ISR_PIPPO ; In caso di gestione EOI MOV AL, B ; === OCW2 === I ISR_PIPPO
9 ; Esempio 1 - Uso gestore delle interruzioni Videolezione 34 ; Esempio in AEOI. Ho un timer che ogni volta che conta 1000 incrementa AX. ; Contemporaneamente posso avere degli input dalla porta A del mio sistema. ; Dato che il contatore è sul CH3 mentre la porta parallela è sul CH7, quando mi ; arriva una INT dal contatore mentre è in servizio la routine di gestione della ; porta parallela questa viene interrotta (occhio, senza STI/CLI non funziona!), ; viene eseguita la routine che gestisce il contatore e infine viene terminata ; la routine della porta parallela. ISR_PA_IN ISR_PA_IN STI IN AL, 080H CLI I ISR_COUNT0 INC AX I ISR_COUNT0 MOV AL, B MOV AL, B MOV AL, B MOV AX, 1000D ; Uso AEOI. Abilito CH7 e CH3. INIT_8259 MOV AL, B MOV AL, B MOV AL, B MOV AL, B INIT_8259
10 ; Esempio 2 - Uso gestore delle interruzioni Videolezione 34 ; Esempio in EOI. Specifiche analoghe al precedente, ma questa volta l arrivo di ; una INT per il CH3 quando è in servizio il CH7 non interrompe la routine di ; gestione della porta parallela. Solo quando un INT qualsiasi è completamente ; servito si passa a rianalizzare l Interrupt Request Register, selezionando la ; richiesta più prioritaria. Le istruzioni sottolineate evidenziano l invio di ; OCW2 per specificare l EOI. ISR_PA_IN ISR_PA_IN IN AL, 080H MOV BL, AL NOP MOV AL, B I ISR_COUNT0 INC BX NOP MOV AL, B I ISR_COUNT0 ; Uso EOI. INIT_8259 INIT_8259 MOV AL, B MOV AL, B MOV AL, B MOV AX, 1000D MOV AL, B MOV AL, B MOV AL, B MOV AL, B
Sistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda
8259 (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'8259 è stato progettato
DettagliIl problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano
Il problema dello I/O e gli Interrupt Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il Calcolatore e le periferiche Periferica Decodifica Indirizzi Circuiti di Controllo Registri
DettagliSistemi di Elaborazione a Microprocessore (interfaccia parallela) M. Rebaudengo - M. Sonza Reorda
8255 (interfaccia parallela) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'Intel 8255 implementa un interfaccia di
DettagliCALCOLATORI ELETTRONICI II
CALCOLATORI ELETTRONICI II L INTERFACCIA PARALLELA Argomenti della lezione Le interfacce parallele Il dispositivo Intel 855 Architettura Funzionamento Le interfacce parallele Esempio Le interfacce parallele
DettagliUNITA PERIFERICA DI TIPO PARALLELO - PIA MC 6821
UNITA PERIFERICA DI TIPO PARALLELO - PIA MC 6821 Indirizzamento interno dei registri: Registro di controllo CRA: Bit 7 Bit 6 Bit 5,4,3 Bit 2 Bit 1,0 IRQA1 IRQA2 CA2 DDRA CA1 Significato dei singoli bit:
DettagliComponenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
DettagliProcessore Danilo Dessì. Architettura degli Elaboratori.
Processore 8088 Architettura degli Elaboratori Danilo Dessì danilo_dessi@unica.it Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine
DettagliSistemi Elettronici #6. Subroutine
Subroutine Una subroutine è un insieme di istruzioni che si adoperano più volte insieme e nella stessa sequenza. Se usiamo l espressione RJMP per chiamare una subroutine all uscita di essa non ho un ritorno
DettagliIl sistema delle interruzioni nel processore MC68000 (cenni)
Corso di Calcolatori Elettronici I A.A. 2011-2012 Il sistema delle interruzioni nel processore MC68000 (cenni) Lezione 33 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria
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
DettagliComponenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
DettagliCONTATORE/TIMER PROGRAMMABILE CTC Z80 1. Piedinatura 2. Struttura interna 4. Modo timer 5. Modo Counter 8. Programmazione del CTC 13
CONTATORE/TIMER PROGRAMMABILE CTC Z80 1 Piedinatura 2 Struttura interna 4 Modo timer 5 Modo Counter 8 Programmazione del CTC 13 Gerarchia di priorità delle interruzioni 17 Interfacciamento 17 Contatore/Timer
DettagliProgrammazione Assembly per 8088: Esercizi svolti
Programmazione Assembly per 8088: Esercizi svolti Marco Di Felice 13 dicembre 2006 1 Esercizio 1 (esercizio 1 del Tanenbaum, Appendice C) TESTO. Dopo l esecuzione dell istruzione MOV AX, 702 qual è il
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
DettagliInterazione con il DOS e il BIOS
Interazione con il DOS e il BIOS ARGOMENTI PRESENTATI IN QUESTI LUCIDI Routine di BIOS e DOS Due modalità diverse di restituire il controllo al DOS L interazione con le routine del DOS: l interrupt 21H
DettagliInterfacciamento di periferiche I/O al μp 8088
Interfacciamento di periferiche I/O al μp 8088 5.1 Principali segnali della CPU 8086 5.2 Periferiche di I/O e loro gestione 5.3 Collegamento di periferiche di input 5.4 Collegamento di periferiche di output
DettagliL Assembler 8086. Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica
L Assembler 8086 M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Si suddividono in: istruzioni per il calcolo binario istruzioni
DettagliPeriferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus
Periferiche Interface Interface Interface Interface CPU SREG CREG DREG Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data
DettagliSistema Operativo - Gestione della Memoria lista argomenti di studio
Sistema Operativo - Gestione della Memoria lista argomenti di studio Istruzioni assembly salti assoluti salti relativi Linking Rilocazione Statica Istruzioni rilocabili (salti relativi) Istruzioni Non
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
DettagliInformatica Generale 07 - Sistemi Operativi:Gestione dei processi
Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei
DettagliDOLLAR EQU '$' ; nome e cognome possono avere al max questa lunghezza. ; N.B. ogni stringa deve terminare con '$'
TITLE CodiceFiscale: per esame 1/7/2009 comment * Costruzione della prima parte (11 caratteri) del codice fiscale. N.B. Anziche' nello stack (come richiesto nel compito), qui i caratteri calcolati sono
DettagliLivelli del sottosistema di I/O
Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente
DettagliEsercizi per il recupero del debito formativo:
ANNO SCOLASTICO 2005/2006 CLASSE 4 ISC Esercizi per il recupero del debito formativo: Facendo esclusivamente uso delle istruzioni del linguaggio macchina mnemonico del microprocessore INTEL 8086 viste
DettagliIl microprocessore 8086
1 Il microprocessore 8086 LA CPU 8086 Il microprocessore 8086 fa parte della famiglia 80xxx della INTEL. Il capostipite di questa famiglia è stato l 8080, un microprocessore ad 8 bit che ha riscosso un
DettagliPrincipali periferiche
Principali periferiche Timer Periferica per il conteggio esatto del tempo Esempio: 8254 3 contatori "indietro" da 16 bit: si può impostare un valore iniziale fino a 0xFFFF in ciascuno dei tre contatori;
DettagliCalcolatori Elettronici Lezione A2 Architettura i8086
Calcolatori Elettronici Lezione A2 Architettura i8086 Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Architettura i8086 Sommario: L i8086 Registri Accesso alla memoria: indirizzi
DettagliConsegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione.
Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione. Facendo esclusivamente uso delle istruzioni del linguaggio macchina
DettagliLezione XII: La gestione delle eccezioni in MINIX
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 4 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
Dettagliper(il(corso(di(architetture(dei(sistemi(di(elaborazione(
Esercizi(Assembler(8086(e(ARM( per(il(corso(di(architetture(dei(sistemi(di(elaborazione( Prof.(Mezzalama,(Ing.(Bernardi( v1.0marzo2013 Autore:MaggioLuigi E6mail:luis_may86@libero.it Portfolio:http://www.luigimaggio.altervista.org
DettagliIstruzioni di modifica della sequenza di elaborazione
Istruzioni di modifica della sequenza di elaborazione Permettono di modificare la sequenza di esecuzione delle istruzioni di un programma, normalmente controllata dal meccanismo automatico di avanzamento
DettagliL Assembler 80x86 Concetti Generali. M. Rebaudengo M. Sonza Reorda P. Bernardi
L Assembler 80x86 Concetti Generali M. Rebaudengo M. Sonza Reorda P. Bernardi Sommario Introduzione Pseudo-Istruzioni Operatori Modi di Indirizzamento Istruzioni Sommario Introduzione Pseudo-Istruzioni
DettagliOrologio Digitale. Obiettivo. Analisi Hardware. Il TIC
Orologio Digitale Obiettivo Il nostro intento è creare un programma ed implementarlo in linguaggio Assembly 8086, che stampi a schermo un orologio digitale. Inizialmente il valore sarà sincronizzato con
DettagliCalcolatori Elettronici Parte X: l'assemblatore as88
Anno Accademico 2013/2014 Calcolatori Elettronici Parte X: l'assemblatore as88 Prof. Riccardo Torlone Università Roma Tre L'assemblatore as88 Disponibile presso: CD-ROM allegato al libro di testo del corso
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
DettagliUniversità degli Studi di Cassino
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliModi di esecuzione user / kernel
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliSET/CLEAR LOAD DATA FROM STRING
SET/CLEAR STD CLD AZIONE: Imposta ad 1 (STD) o a zero (CLD) il valore del flag DF. Sono istruzioni senza parametri. Vanno sempre messi!! FLAG di cui viene modificato il contenuto: Nessuno (a parte DF).
DettagliUno sguardo al codice chiarificherà i dettagli. La tabella di invio interrupt intmap è definita nel file io.h.
CAPITOLO 9 - ELABORAZIONE DEGLI INTERRUPT L interrupt hardware è un meccanismo potente per fornire il supporto di molti servizi del sistema operativo. Come descritto nel capitolo 2, una richiesta di interrupt
DettagliI.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi. Elementi di Assembly 8086
I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi Elementi di Assembly 8086 1 Assembly 8086 I registri Per poter elaborare le informazioni ricevute dall esterno,
DettagliFormato tipico delle istruzioni nelle architetture R-R (Es. DLX)
Formato tipico delle istruzioni nelle architetture R-R (Es. DLX) 6 bit 5 bit 5 bit 5 bit bit R Codice operativo RS RS2 Rd Estensione al Cod. op ( bit) Istruzioni aritmetiche e logiche del tipo Rd Rs op
DettagliLaboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e
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
DettagliElementi di Architettura
Elementi di Architettura Fondamenti di Informatica Roberto BASILI Marzo, 2007 Classi di Istruzioni Istruzioni di assegnamento/modifica Istruzioni di controllo delle sequenze Istruzioni di I/O Classi di
DettagliCALCOLATORI ELETTRONICI II
CALCOLATORI ELETTRONICI II L ASSEMBLATORE Microsoft MASM MASM Argomenti della lezione Faremo riferimento al linguaggio sorgente accettato dall assemblatore Microsoft MASM nelle versioni successive alla
Dettagli)21'$0(17,',,1)250$7,&$,,
)21'$0(17,',,1)250$7,&$,, (6(5&,7$=,21(Qƒ,//,1*8$**,2$66(0%/(5 Indicare (in binario) lo stato dei flag C, O, S, Z, P e del registro AH dopo l esecuzione delle due MOV AH, 70 ADD AH, 70 La prima istruzione
DettagliIl sottosistema di I/O. Input Output digitale
Il sottosistema di I/O Il sottosistema di I/O consente la comunicazione fra il calcolatore ed il mondo esterno. Fanno parte del sottosistema i dispositivi (Unità di I/O) per la comunicazione uomo/macchina
DettagliEsercizi per il corso di Architettura dei Calcolatori. Anno accademico 2008/09. Si prevede l utilizzo dell emulatore Eniac ( presentato a lezione )
Esercizi per il corso di Architettura dei Calcolatori Anno accademico 2008/09 Si prevede l utilizzo dell emulatore Eniac ( presentato a lezione ) 1) Caricare nel registro accumulatore AX il contenuto della
DettagliInfluenza dell' I/O sulle prestazioni (globali) di un sistema
Influenza dell' I/O sulle prestazioni (globali) di un sistema Tempo totale per l'esecuzione di un programma = tempo di CPU + tempo di I/O Supponiamo di avere un programma che viene eseguito in 100 secondi
DettagliIl linguaggio assembly 8086
Il linguaggio assembly 8086 Introduzione Il linguaggio macchina Il linguaggio naturale di un microprocessore è il linguaggio macchina. Nel linguaggio macchina non esistono riferimenti astratti o simbolici
DettagliIl sistema di Input/Output
Corso di Calcolatori Elettronici I A.A. 2010-2011 Il sistema di Input/Output Lezione 35 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria
DettagliPASSI DI SVILUPPO DI UN PROGRAMMA: ESEMPIO
PASSI DI SVILUPPO DI UN PROGRAMMA: ESEMPIO Programma diviso in due moduli: MA.ASM: programma pricipale e funzioni di utilità MB.ASM: sottoprogramma di elaborazione Primo modulo: MA.ASM EXTRN alfa: BYTE
DettagliIl processore Pentium
Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in
DettagliMemoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliISA Input / Output (I/O) Data register Controller
ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),
DettagliMacchina di von Neumann/Turing
Macchina di von Neumann/Turing Concetto di programma memorizzato Memoria principale per dati e istruzioni ALU opera su dati in formato binario Unità di controllo che interpreta le istruzioni in memoria
DettagliINGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori
DettagliIl sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O.
Il sistema di I/O Calcolatori Elettronici 1 Architettura a bus singolo Memoria CPU Interfaccia Unità di I/O Interfaccia Unità di I/O Calcolatori Elettronici 2 1 Interfaccia Svolge la funzione di adattamento
DettagliSpecifiche del protocollo di comunicazione semplificato per il modulo seriale di I/O
Specifiche del protocollo di comunicazione semplificato per il modulo seriale di I/O Architettura del frame di comunicazione Il frame di comunicazione è lungo 13 bytes ed ha questo formato nell ordine
DettagliBreve guida AL LINGUAGGIO ASSEMBLY (emulatore EMU8086)
PROF. CARMELO CALARCO Breve guida AL LINGUAGGIO ASSEMBLY (emulatore EMU8086) 1 IL LINGUAGGIO ASSEMBLY Il linguaggio assembly è un linguaggio di programmazione a basso livello. Per linguaggi di basso livello
DettagliIl ciclo del processore semplificato BOOTSTRAP FETCH EXECUTE
Roadmap Inquadramento del problema La fase di interrupt nel ciclo del processore Le cause di interruzione Le fasi di uninterruzione Ripristino del programma Latenza Identificazione di dispositivi: soluzioni
DettagliTutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086.
I processori Intel Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. L'8086 e' un processore a 16 bit quindi i suoi registri potranno
Dettagli5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche
Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con
DettagliCorso Sistemi Operativi
Corso Sistemi Operativi Ing. Pierfrancesco Bellini pierfrancesco.bellini@unifi.it Laboratorio DISIT Dip. Ingegneria dell Informazione Via S. Marta, 3 Programma a.a. 2016/17 Introduzione Struttura di un
DettagliI Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.
I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo
DettagliArchitettura di un sistema di calcolo
Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un
DettagliSistemi Operativi. La gestione delle risorse
Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi
DettagliChapter 7 Registers and Register Transfers
Logic and Computer Design Fundamentals Chapter 7 Registers and Register Transfers Part 1 Registers, Microoperations and Implementations Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks
DettagliSystem call per la gestione di processi
System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:
DettagliCalcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti
Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti Compito Num. 1 COGNOME:...NOME:... 1) (20%) Si vuole realizzare una CPU
DettagliEsercizi Logica Digitale,Circuiti e Bus
Esercizi Logica Digitale,Circuiti e Bus Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 214/214 1 2 Esercizio 1 Si consideri la funzione booleana di 3 variabili G(a,b, c) espressa dall equazione seguente:
DettagliCalcolatori Elettronici T. Input/Ouput
Calcolatori Elettronici T Input/Ouput 1 Il sottosistema di I/O Il sottosistema di I/O consente la comunicazione fra il calcolatore ed il mondo esterno. Fanno parte del sottosistema i dispositivi (Unità
DettagliStruttura interna del sistema operativo Linux
Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04
DettagliCorso di Calcolatori Elettronici I
Corso di Calcolatori Elettronici I Il sistema di Input-Output Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2014-2015 Roberto Canonico Corso di Calcolatori Elettronici I A.A. 2014-2015
DettagliInput/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
DettagliINTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED
1 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED ROUND ROBIN ROUND ROBIN CON INTERRUPT FUNCTION QUEUE SCHEDULING REAL TIME OPERATING SYSTEMS (RTOS) INTERRUPT PROGRAMMATI: TIMER INTRODUZIONE 2 In relazione
DettagliSistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliLA GESTIONE DELLA I/O
LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Corso di Laurea Triennale in Informatica Università degli Studi di Bari Anno Accademico 2009-2010 Laboratorio lez1: il processore 8086/88 Prof. S.Pizzutilo I processori Intel
DettagliCorso di programmazione Arduino DI MALVEZZI DAVIDE
Corso di programmazione Arduino DI MALVEZZI DAVIDE Argomenti Pin digitali e pin analogici Gestione di timer e bottoni Utilizzo della porta seriale Oggetto String Controllo di schermi LCD Utilizzo dell
DettagliDavide Gennaretti, Matteo Nicolini
Seminario sui Microcontrollori Davide Gennaretti, Matteo Nicolini AA 2003-04 II Facoltà di Ingegneria Elettronica Cesena Cosa sono i microcontrollori? Piccoli computer concentrati in un chip Un Datapath
DettagliCAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm
Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema
DettagliIntroduzione agli interrupt
Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi Introduzione agli interrupt Le interruzioni (interrupt) I sistemi operativi attuali si basano sugli interrupt
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
DettagliReti e Sistemi per l Automazione LADDER LOGIC. Stefano Panzieri Ladder Logic - 1
LADDER LOGIC Stefano Panzieri Ladder Logic - 1 Linguaggi di Programmazione IEC 1131 Linguaggio a contatti (Ladder Diagram) Diagramma a blocchi funzionali (FBD) Diagramma sequenziale funzionale (SFC) Lista
DettagliEsercizio 1. Progettare la PO a partire dal microprogramma eseguibile e successivamente:
Architettura degli Elaboratori Prima prova di verifica intermedia - A.A. 2014-2015 Riportare Nome, Cognome, Numero di matricola e Corso di appartenenza su tutti i fogli consegnati. I risultati saranno
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:
DettagliLe procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I)
Le procedure L insieme delle istruzioni (4) Architetture dei Calcolatori (lettere A-I) In ogni linguaggio di programmazione si struttura il proprio codice usando procedure (funzioni, metodi, ) L utilizzo
Dettagli4b. Esercizi sul livello di Rete Inoltro in IP
4b. sul livello di Rete Inoltro in IP 4b-1 o Un router riceve sull interfaccia eth1 una serie di pacchetti. L interfaccia ha come indirizzo MAC bbbb:6c3c:5656:3b34 e l indirizzo IP: 131.175.21.254. Il
DettagliSistema Operativo - Gestione della Memoria per moderne CPU. Address Binding Dinamico in esecuzione mediante Segmentazione, Paginazione e Memoria
Sistema Operativo - Gestione della Memoria per moderne CPU. Address Binding Dinamico in esecuzione mediante Segmentazione, Paginazione e Memoria Virtuale (Swap su Disco Lista Argomenti Concetto di Address
DettagliAssembler 8086/8088: Concetti Generali
L Assembler 8086 Concetti Generali M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Sommario Introduzione Pseudo-Istruzioni Operatori
DettagliSono tipicamente causati da dispositivi hardware. normale flusso di esecuzione viene interrotto, e la CPU passa a gestire l interrupt
Interruzioni in MIPS 32 Input/Output Interrupt Sono tipicamente causati da dispositivi hardware esterni, e collegati al processore attraverso delle linee di controllo di bus, come ad esempio le periferiche
DettagliEsercizi su Programmazione in Assembler i386. Prof. Riccardo Torlone Università Roma Tre
Esercizi su Programmazione in Assembler i386 Prof. Riccardo Torlone Università Roma Tre Esercizio I Scrivere un programma in linguaggio assemblativo 8088 che, presi due dati a e b in memoria, calcola l
DettagliStrutture di controllo in C++
Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni
Dettagli1 Esercizi con architettura a 1 bus
1 Esercizi con architettura a 1 bus 1.1 Fetch dell istruzione NOTA: l istruzione ClearY azzera il registro Y mentre l istruzione CB imposta a 1 il bit di riporto/prestito in modo da sommare/sottrarre 1.
DettagliNumeri Reali. Sottoinsieme discreto dei Numeri Razionali. Sequenze di bit. Underflow. Densità che dipende dal numero di bit usati
Numeri Reali Sottoinsieme discreto dei Numeri Razionali Sequenze di bit Overflow Underflow Overflow 0 Densità che dipende dal numero di bit usati 1 Numeri Reali Virgola fissa (1/5) Si usa un numero fisso
DettagliSistemi di Elaborazione: esercizio con il D12
Sistemi di Elaborazione: esercizio con il D12 Un sistema basato su PIC18F8720 a 24 MHz è dotato di 32 KB di EPROM agli indirizzi alti e 64 KB di RAM statica agli indirizzi bassi. Il sistema è dotato inoltre
DettagliARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088
ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: 1. motivi didattici: l architettura dei processori
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
DettagliAttuatore 4 canali 10A Easy DIN GW 90 835. Manuale tecnico
Attuatore 4 canali 10A Easy DIN GW 90 835 Manuale tecnico 1 Sommario 1 Introduzione... 3 2 Applicazione... 3 2.1 Limiti delle associazioni... 3 2.2 Priorità tra le funzioni... 3 3 Menù Impostazioni...
Dettagli