Programmazione di un dispositivo 1to4INTGEN



Похожие документы
Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

DMA Accesso Diretto alla Memoria

Sottosistema di Ingresso/Uscita (I/O)

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Laboratorio di Informatica

Struttura del calcolatore

Sistemi operativi. Esempi di sistemi operativi

Architettura di un calcolatore

Architettura di un calcolatore: introduzione

Corso di Sistemi di Elaborazione delle informazioni

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Il Processore: i registri

Ing. Paolo Domenici PREFAZIONE

Schedulazione in RTAI

Architettura del calcolatore

Il Sistema Operativo (1)

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

FONDAMENTI di INFORMATICA L. Mezzalira

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Architettura del PIC 18F452

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

ASSEMBLER 68K parte 1

Architettura di un sistema di calcolo

Architettura hardware

Sistema operativo: Gestione della memoria

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

Corso di Informatica

CAP. 4: Aspetti generali del Sistema Operativo Linux. l

Il sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O.

Sistema operativo: Gestione dei processi

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

Software di base. Corso di Fondamenti di Informatica

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

Architettura dei calcolatori I parte Introduzione, CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

I componenti di un Sistema di elaborazione. CPU (central process unit)

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Esercizi per il recupero del debito formativo:

Vari tipi di computer

Organizzazione Monolitica

Introduzione ai Sistemi Operativi

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Parte II.2 Elaboratore

Assemblaggio per il processore Motorola 68000

ASSEMBLER 68K parte 2

STRUTTURE DEI SISTEMI DI CALCOLO

ARCHITETTURA DEL CALCOLATORE

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Il Sistema Operativo

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

LABORATORIO DI SISTEMI

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

GESTIONE DEI PROCESSI

Lezione 3: Architettura del calcolatore

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Programmazione modulare

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

P2-11: BOOTP e DHCP (Capitolo 23)

Corso di Sistemi di Elaborazione A.A. 2008/2009

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Architettura dei calcolatori II parte Memorie

Processi. Laboratorio Software C. Brandolese

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Organizzazione della memoria

Gestione della memoria centrale

CPU. Maurizio Palesi

FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI INFORMATICA E SISTEMISTICA. Presentazione

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Funzioni del Sistema Operativo

Comunicazione. Prof. Antonino Mazzeo. Corso di Laurea Specialistica in Ingegneria Informatica

Esempio di moltiplicazione come somma e spostamento

introduzione I MICROCONTROLLORI

Processo - generalità

Università degli studi di Pisa Facoltà di Scienze Matematiche, Fisiche, Naturali Dipartimento di Informatica

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il memory manager. Gestione della memoria centrale

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo

Scheduling della CPU Simulazione in linguaggio Java

CALCOLATORI ELETTRONICI

Calcolo numerico e programmazione. Sistemi operativi

Транскрипт:

Programmazione di un dispositivo 1to4INTGEN Realizzazione di un sistema timesharing Materiale didattico a cura di: Prof. A. Mazzeo Ing. L. Romano Ing. L. Coppolino Ing. A. Cilardo Dipartimento di Informatica e Sistemistica Università Degli Studi di Napoli Federico II Name» 1to4INTGEN Type» Identificativo assoluto nella configurazione Address1» Valore iniziale dello spazio indirizzi gestito dall'oggetto Address2» Valore finale dello spazio indirizzi gestito Indirizzo 1 + 13 BUS» Identificatore del BUS esterno a cui è collegato il dispositivo 1

TIMER 1 COM1» Identificatore dei dispositivi in grado di gestire le interruzioni, se 0 la linea è n.c. COM2» Identificatore dei dispositivi in grado di gestire le interruzioni, se 0 la linea è n.c. COM3» Identificatore dei dispositivi in grado di gestire le interruzioni, se 0 la linea è n.c. COM4» Identificatore dei dispositivi in grado di gestire le interruzioni, se 0 la linea è n.c. Il dispositivo mette a disposizione dell'utente un generatore di interruzioni programmabile e quattro timer Ha dieci registri a sedici bit» Due sono dedicati al generatore di interruzioni» Otto, a due a due, ai 4 timer I C 2

1to4INTGEN può essere connesso fino a 4 dispositivi in grado di gestire interruzioni (processori o PIC) Inviare un'interruzione (da un processore ad un altro o ad esso stesso):» Tipo di interruzione nel registro I (indirizzo relativo 00): XXYZ (XX=#vettore, Y=livello priorità, Z=linea di interruzione)» Nel registro C (indirizzo relativo 02) sono utilizzati solo i quattro bit meno significativi. Per inviare un'interruzione allo n-esimo dispositivo (n da 0 a 3) il bit n-esimo di C deve essere 1 4 timer con la stessa funzione ma su linee differenti:» TR1 è connesso alla linea 1, TR2 alla linea 2 e così via Per ogni timer due word:» La meno significativa codifica l'interruzione (come nel registro I)» La più significativa inizializzata col valore iniziale del contatore Il contatore è decrementato ad ogni unità di tempo (default 1clock) Quando si azzera il contatore l'interruzione specificata viene inviata al gestore di interruzioni connesso ed il contatore cessa di decrementarsi 3

L esempio proposto simula un semplice meccanismo di multitasking in timesharing Il dispositivo 1to4INTGEN è utilizzato come contatore Allo scadere della slice di tempo associata ad una routine il contatore attiva (mediante interruzione) la routine di scheduling che procederà al cambio di contesto attivando il processo inattivo 01 01 -- Motorola 68000 02 02 -- MEM/BUS ROM: ROM: 8k 8k da da $0 $0 RAM: RAM: 10k 10k da da $8000 $8000 03 03-1to4INTGEN Canale Canale 1 collegato a 01 01 4

!" CHIP Name: M68000 Type: CPU. Identif: 01. BUS: 0002. Addres 1: 00009000. Address 2: 00009100. Com1: 0000. Com2: 0000. Com3: 0000. Com4: 0000. CHIP Name: MEMORY Type: MMU/BUS. Identif: 02. BUS: 0000. Addres 1: 00008000. Address 2: 00000000. Com1: 0000. Com2: 0010. Com3: 0008. Com4: 0000. CHIP Name: 1TO4INTGEN Type: Device. Identif: 03. BUS: 0002. Addres 1: 00002100. Address 2: 00002113. Com1: 0001. Com2: 0000. Com3: 0000. Com4: 0000.!" La memoria» Al contatore 1 è associata una interruzione di livello 1 inviata sul canale 1 (al processore): livello 1, autovettore 25, mappata a $64 della ROM, ISR a $8300 5

!" 1to4INTGEN» Il contatore del timer 1 è inizializzato col valore associato a SLICE» L interruzione generata è di livello 1 MOVE.W #$0100,COUNT1INT ; al termine del ; conteggio sarà ; generata un ; interruzione di ; livello 1 MOVE.W #SLICE,COUNT1N ; inizializzazione della ; slice # 2 Processi da eseguire» Il primo incrementa il valore in D0» Il secondo decrementa il valore in D0 *****************ROUTINE 1****************** ORG $8100 ROUT1 ADDQ #1,D0 BRA ROUT1 *****************ROUTINE 2****************** ORG $8200 ROUT2 SUBQ #1,D0 BRA ROUT2 6

# Lo scheduler:» È una ISR che scambia i contesti dei processi e ripristina il valore della slice di tempo * Scambio dei contesti MOVE.L D0,SYSD ; valore attuale del registro D0 MOVE.W (A7)+,SYSS ; status register MOVE.L (A7)+,SYSP ; program counter MOVE.L NEXTP,-(A7) MOVE.W NEXTS,-(A7) MOVE.L NEXTD,D0 MOVE.L SYSD,NEXTD MOVE.L SYSP,NEXTP MOVE.W SYSS,NEXTS * Reinizializzazione del timer al valore della slice MOVE.W #SLICE,COUNT1N Caricare il file di configurazione» scheduler.cfg Caricare l immagine di memoria» scheduler.mem Caricare il codice» scheduler.lis 7

8