Segnali ed esecuzione concorrente. Introduzione I segnali simulano i collegamenti fisici tra blocchi Servono a sincronizzare o scambiare dati tra processi.

Slides:



Advertisements
Presentazioni simili
Meccanismi di IPC Problemi classici di IPC
Advertisements

DTD Document Type Definition per XML
Cassaforte asincrona SR
POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:
Relatore: Prof. Fabrizio Ferrandi
Prof.ssa Fatima Macera 1 marzo 2013
2/11/2004Laboratorio di Programmazione - Luca Tesei1 Punto della situazione Da dove veniamo, dove andiamo.
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Java: programmazione concorrente con condivisione di memoria
Algoritmi e Programmazione
1 Semantica Operazionale di un frammento di Java: lo stato.
1 Strutture dati nel supporto a run time. 2 Entità presenti quando un programma va in esecuzione §programmi dutente (compilati) §routines del supporto.
1 Variabili Globali Le variabili globali sono variabili che possono venire usate da tutte le funzioni intendiamo definire e dal programma principale stesso.
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Relatore:. Prof. Fabrizio FERRANDI Correlatore:. Ing. Marco D
Sincronizzazione di processi
1 La Corporate Governance: lOrgano Amministrativo.
1 12. Progettare Sistemi Real-Time Progettare sistemi software il cui comportamento è condizionato da vincoli di tempo Mostreremo perché i sistemi real-time.
Modello di simulazione
Analisi dettagliata e design B. Pernici. Sommario Analisi dettagliata –Separazione interfaccia, controllo, entita Design –Logical view –Progettazione.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 20/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 19/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Interpolazione ed estrapolazione
Disegni organizzati gerarchicamente Ciascun elemento del disegno ha: –Uninterfaccia ben definita –Una precisa specifica del comportamento usando o: Una.
INTRODUZIONE AD OMNET++
nome: sequenza di caratteri usata per denotare un oggetto
Esercitazione del Corso di Interazione Uomo-Macchina
Capitolo 1: Introduzione ai computer e a Java
Sistemi Operativi GESTIONE DEI PROCESSI.
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Progetto Rete Sequenziale Sincrona
1 Premessa In questo progetto sono stati implementati tutti gli esercizi di Complementi di esercizi di Reti logiche. Elenco degli esercizi svolti: 1.Registro.
Una macchina sequenziale asincrona ha due ingressi x1, x2 e un'uscita z. Gli ingressi non cambiano mai di valore contemporaneamente. L'uscita assume il.
Una rete sequenziale asincrona e' caratterizzata da due segnali di ingresso X1, X2 (i quali non cambiano mai contemporaneamente) e da un segnale di uscita.
Concorrenza e Sincronizzazione di Thread e Processi
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Le unità di input/output Il dispositivo di interfaccia viene attivato ogni volta si vuole compiere un operazione di input/output e comprende : Un buffer.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
TECNICHE DI INPUT/OUTPUT
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
Introduzione alla programmazione Object Oriented
La schedulazione dei processi
Threads.
UN DIAGRAMMA DELL’OPERAZIONE TOTALE NON DESCRIVE IL COMPORTAMENTO DI UN SISTEMAMICROISTRUZIONE: LA DESCRIZIONE DELLE FUNZIONI CHE DEVONO ESSERE ESEGUITE.
Complessità di un algoritmo
Corso di Programmazione Grafica e Laboratorio Introduzione a OpenGL Prof. Daniele Marini.
VHDL per FPGA Courtesy of S. Mattoccia.
A. Barbero - I.I.S. «Vallauri» – Fossano (CN)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
- prof. V. Riboldi - SOTTOPROGRAMMI IN TPASCAL METODO TOP DOWN.
I processi.
FUNZIONI Dichiarazione: Definizione:
Elettronica Digitale (II Parte) 10-11_5 1 ELETTRONICA DIGITALE II (5) 6/12 Il processo di assemblaggio.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
Sottoprogrammi e funzioni
Architettura dei Sistemi Operativi
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Processi e Thread Processi Thread
1 Processi e Thread Processi e thread in Windows 2000.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
RETI DI INTERCONNESSIONE OTTICHE Prof. Ing. Carla Raffaelli DEIS - Universita’di Bologna.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
Documenti XML ben formati Entità– Sezioni condizionali.
4.2.3 Valutazione delle prestazioni del livello MAC adattativo per reti veicolari Speaker Giacomo Verticale Politecnico di Milano Gruppo reti di telecomunicazioni.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
LA LEGGE ELETTORALE 1 1.
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Transcript della presentazione:

Segnali ed esecuzione concorrente

Introduzione I segnali simulano i collegamenti fisici tra blocchi Servono a sincronizzare o scambiare dati tra processi Lassegnazione di un segnale avviene in base al tempo di simulazione e non alla posizione nel listato Devono venir dichiarati opportunamente allinterno di: – Packages (segnali globali) – Entita (segnali comuni fra varie erchitetture) – Architecture (segnali locali) I segnali vengono dichiarti anche nella dichiarazione port di una entity – sono di 4 tipi: In, Out, Inout, Buffer (I/O ma con 1 solo driver)

Process begin x <= 1 after 4 ns; y <= 2 after 10 ns; x <= 3 after 4 ns; wait... Assegnazione dei segnali in un processo Nellassegnazione di un segnale viene definito – Il segnale in questione – Il driver del segnale (un altro segnale, una variabile, una costante …) – Listante (tempo di simulazione) in cui avviene lassegnazione – Lassegnazione dei segnali e sequenziale allinterno del processo e concorrente al di fuori del processo stesso – Allinterno del processo lassegna- zione in pratica viene ritardata fino a che non inizia un ciclo di simulazione (di solito coincide con listruzione wait)

Segnali ritardati Lassegnazione di un segnale avviene in un preciso istante di simulazione Il ritardo viene spesso usato per descizioni comportamentali di un processo Il ritardo NON puo essere sintetizzato Puo essere adottato per descrivere il funzionamento di una porta logica fisica NON puo essere sintetizzato!!! La porta logica non deve ritardare ne ns ne ns x <= a and b after 10 ns;

Esempio X <= 1; wait...;la vera assegnazione di x avviene qui x <= y;x assume il valore di y y <= x;y assume il valore di x wait...;in questo punto i segnali si scambiano v:=1;v assume IMMEDIATAMENTE il valore 1 s<=v;s assumera il valore di v al WAIT a:=s;a assume il vecchio valore di s wait... ; x <= 1; x <= 2; wait... ; x assume il valore 2

WAIT Allinterno di un processo ci saranno una o piu istruzioni WAIT – WAIT ON(es. wait on a,b) – WAIT UNTIL(es. wait until a >10;) – WAIT FOR(es wait for 10 ns;) – WAIT(es.wait;) - (esecuzione sospesa) La sensitivity List corrisponde ad una istruzione wait on in coda al processo

PROCESS – Un PROCESS contiene una serie di operazioni sequenziali – Al suo interno la metodologia di programmazione e di tipo sequenziale e pertanto familiare ai programmatori – Tutte le operazioni racchiuse in un PROCESS avvengono in un tempo (tempo di simulazione) NULLO – I PROCESS sono tra loro concorrenti (operano in parallelo) – Un PROCESS e un loop infinito e non esce mai – Un PROCESS deve contenere unistruzione WAIT o una SENSITIVITY LIST (per la sincronizzazione) – In pratica il simulatore esegue le istruzioni allinterno di un processo fino a che non trova listruzione WAIT, poi passa agli altri processi.

Assegnazione concorrente Fuori dai processi per snellire la stesura si usa lassegnazione concorrente Lassegnazione concorrente in pratica e un processo con una sola istruzione La sensitivity list coincide con i segnali a destra dellassegnazione Come tutti i processi, anche le assegnazioni concorrenti vengono eseguite in parallelo process (a,b) begin c <= a and b; end process c <= a and b

Assegnazione condizionata z 3) else b when (x < 3) else c; Questo tipo di assegnazione non puo essere effettuata allinterno di un processo

Assegnazione con segnale di selezione Deve esserci un solo target Deve esserci una sola espressione con with with MYSIG select z <= a when 15, b when 22, c when others;

Rappresentazione Strutturale – Rappresenta larchitettura come interconnessione di componenti – Spesso e il risultato di un processo di sintesi – E costituita da: componenti – dichiarazione (viene dichiarato il componente e le sue porte) – istanziazione (viene richiamato il componente in una o piu posizioni) – librerie (solitamente larchitettura del componente e descritta in una opportuna libreria) segnali di interconnessione, opportunamente dichiarati – come entity port – dichiarati nella entity – dichiarati nellarchitettura – dichiarati in un pakage

Esempio (Flip-Flop) res set q qneg U1 U2 architecture netlist of flipflop is component nor2 port (a,b: in bit; c: out bit); end component; begin U1: nor2 port map (res,qneg,q); U2: nor2 port map (q, set, qneg); end netlist; dichiarazione istanziazione

Associazione porta - segnale Puo essere di tipo posizionale (il primo al primo, il secondo al secondo e cosi via) Oppure si puo dichiarare espressamente quale segnale deve essere associato alla singola porta U1: nor2 port map (res, qneg,q); U1: nor2 port map (a => res, c => q, b=> qneg);

Struttura gerarchica Una architettura strutturale puo essere – di tipo gerarchico (a piu livelli) – ad un singolo livello (flat) Per associare ad ogni component una determinata architettura (spesso residente in una libreria) si utilizza la CONFIGURATION Configuration uno of flipflop for netlist for U1: nor2 use entity work.NOR2(fast); end for; for U2: nor2 use entity ASIC.NO2(fast); end for; end uno;

CONCLUSIONI – Con questa serie di lezioni Si e voluto dare allo studente uninfarinatura sul VHDL, e portarlo a comprendere un listato Molti argomenti vi sarebbero ancora da trattare: – GENERATE – BLOCK – PROCEDURE – FUNCTIONS –... Per ulteriori approfondimenti si rimanda il lettore a testi specifici Solitamente si usa il VHDL per descrivere un circuito SINTETIZZABILE, pertanto solo poche delle possibilita offerte dal linguaggio vengono sfruttate in pratica