|
Appunti informatica |
|
Visite: 1469 | Gradito: | [ Picolo appunti ] |
Leggi anche appunti:UnixUNIX Verso la fine degli anni '60 è in corso presso il MIT l'implementazione Memorie flashMemorie flash Le memorie flash sono di tipo EEprom. Presentano una griglia con Architettura 68000dArchitettura 68000d Il 68000 possiede i tipi binari Byte, Word, Longword |
ASIM (Ambiente SImulazione Microprocessori) è un ambiente didattico per la simulazione di sistemi a microprocessore.
L'ambiente è stato sviluppato e si è evoluto a partire dal 1984, in seno al corso di Calcolatori elettronici II, con la collaborazione degli studenti del corso e con il lavoro prezioso di numerosi tesisti di cui voglio ricordare soltanto l'ing. L. Impagliazzo che ha dato un notevole contributo nel portare, ridisegnandolo strutturalmente, il simulatore nell'ambiente Windows.
I sistemi da simulare sono caratterizzati da configurazioni di architetture hardware composte dall'interconnessione di oggetti (CPU, memorie, bus, device e nodi) supportati in ASIM e su cui poter eseguire uno o più programmi.
ASIM è un ambiente di simulazione che consente all'utente sia di definire proprie configurazioni sia di aggiungere all'insieme originario di oggetti presenti nuovi componenti.
Poiché ASIM consente di specificare architetture di vario tipo (mono, multi processore, data flow, shared memory, message passing, etc.) è possibile utilizzare l'ambiente oltre che come un laboratorio per lo studio di sistemi a microprocessore, con l'impiego di programmazione in assembler, anche come un laboratorio per lo studio dei livelli architetturali superiori di sistemi (S.O., multiprogrammazione di basso livello, ecc.). Ad esempio i processori possono essere connessi con bus locali, globali e crossbar, oppure possono formare, insieme ad una memoria, dei nodi di elaborazione; questi possono poi essere connessi tra loro con link per formare strutture ad ipercubo o mesh.
Il limite alla complessità dei sistemi simulabili, in termini di componenti impiegati in una configurazione, è imposto non dal programma, ma dalle capacità di memoria e velocità dell'elaboratore in uso.
Gli elementi non devono essere necessariamente processori, memorie o device, ma possono essere dispositivi comunque complessi. Ad esempio, è possibile definire un elemento che simuli il comportamento di un robot e presenti, per la parte che deve essere connessa al bus, dei registri in ingresso ed in uscita; se questi registri rappresentano gli ingressi dei convertitori D/A verso gli attuatori e le uscite dei convertitori A/D dai sensori, è possibile realizzare un controllo a microprocessore per il robot . I metodi per 'costruire' una macchina o, più propriamente, definire una configurazione, saranno presentati via via in questo capitolo quando saranno note le funzioni e le caratteristiche degli elementi attualmente disponibili; l'aggiunta di nuovi elementi all'ambiente sarà oggetto del successivo capitolo, richiedendo la conoscenza della struttura interna.
Il simulatore ASIM è scitto in C++, opera in ambiente Microsoft Windows di cui riflette l'organizzazione a finestre e utilizza pienamente le classi offerte da MFC (Microsoft Foundation Classes) per l'interazione con Windows stesso. Esso è organizzato come applicazione di tipo MDI (Multiple Document Interface) cioè un'applicazione con documenti e viste multiple. L'applicazione MFC è caratterizzata da quattro classi principali:
CasimApp CwinApp
CasimDoc Cdocument
CasimFrame CMDIChildWnd
CasimView Cview
A destra della freccia sono indicate le classi di MFC da cui sono ereditate le quattro classi di ASIM. Per i dettagli sull'architettura di ASIM di consulti il documento 'ASIM Internal Design'.
La finestra principale (Fig.
1) delimita l'area di lavoro e presenta il menù da cui
è possibile accedere a tutti i comandi; la barra di fondo (barra di stato)
indica il numero di eventi (clock) schedulati nella simulazione e il punto di
'break', relativamente al numero di clock da eseguire, cioè l'evento
che determina l'arresto momentaneo della simulazione. In ASIM, infatti, la
simulazione viene scandita dai segnali di 'clock' o 'passi'
inviati dallo schedulatore a tutti gli elementi; l'intervallo minimo di
simulazione è, quindi, il clock; il numero di azioni che ogni dispositivo
compie in un colpo di clock dipende dalle caratteristiche del dispositivo
stesso.
Fig. 1-La finestra principale di ASIM
Ad ogni oggetto componente una configurazione da simulare è associata una finestra in cui vengono presentati i dati caratteristici che lo caratterizzano, coincidenti in linea di massima con il modello di programmazione del componente generico (ad es. il contenuto dei vari byte per una memoria o dei registri per un processore). Una sola finestra alla volta è attiva, quella in evidenza, ed il menù sulla barra di controllo ad essa associato viene specializzato per le specifiche funzioni dell'oggetto associato. La finestra corrente può essere ridimensionata, spostata in ogni punto dell'area di lavoro e ridotta a icona. Quest'ultima possibilità va sempre sfruttata, nel corso di una simulazione, quando non si è interessati alla visualizzazione dei dati di un particolare elemento; ciò non solo perché si libera l'area di lavoro da finestre non utili, ma soprattutto perché si aumenta la velocità della simulazione.
In ASIM tutti i numeri sono rappresentati in notazione esadecimale, uniche eccezioni sono le rappresentazioni in binario per quei registri in cui i singoli bit assumono un particolare significato (si pensi al registro di stato di un processore).
Le versioni 3.0 o superiori del programma ASIM offrono:
la gestione di configurazioni multiple;
l'accesso rapido alle configurazioni usate più di recente;
il lancio del programma con la configurazione desiderata già aperta chiamando il relativo file *.cfg dal 'FileManager' di Windows;
la creazione di una configurazione mediante il meccanismo di 'taglia e incolla' tipico di Windows;
la visualizzazione completa dei dati relativi a ciascuna configurazione;
la stampa di detti dati con font di caratteri, intestazione e piè di pagina selezionabili; numerazione automatica delle pagine;
l'anteprima di stampa delle pagine da inviare alla stampante;
l'esecuzione veloce di una simulazione;
la simulazione contemporanea di due configurazioni;
la simulazione in background mentre si lavora su un'altra configurazione;
l'accesso rapido ai comandi mediante ToolBar;
l'help in linea su barra di stato;
l'help da indice o dipendente dal contesto;
l'accesso alla 'Guida alla Guida' in Windows;
la protezione da errori d'uso mediante il meccanismo di mascheramento dei comandi.
Appunti su: |
|