Principali linee di ingresso e di uscita dei vari moduli
Nell’architettura di Von Neuman i moduli basilari sono il processore, o CPU, la memoria e i dispositivi di I/O, ognuno dei quali presenta delle linee di ingresso e delle linee di uscita sulle quali può passare o un solo bit, nel caso in cui si consideri un segnale di controllo, oppure più bit se si ha un’informazione di tipo diverso. Analizziamo singolarmente ognuno di questi moduli.
La CPU riceve dall’esterno linee sui viaggiano istruzioni, linee dati e segnali di interruzione e manda verso l’esterno linee dati, dirette alla memoria oppure a delle periferiche, segnali di controllo, per esempio un segnale per l’attivazione della lettura da memoria, e linee indirizzo, su cui si muovono, per esempio, gli indirizzi per prelevare il contenuto di alcune locazioni dalla memoria. Tutte le linee che entrano ed escono dalla CPU, vista come un blocco unitario, sono linee su cui viaggiano più bit. Non rientrano nello studio particolare che stiamo facendo ora i segnali interni alla CPU relativi all’unità di controllo.
Per quanto riguarda la memoria, ricordiamo che quest’ultima è costituita da n parole i cui indirizzi vanno da 0 ad n-1. Le linee di ingresso alla memoria sono: le linee di controllo per la lettura, le linee di controllo per la scrittura, le linee indirizzo e le linee dati, mentre per quanto riguarda le linee in uscita si hanno solo linee dati. Fra quelle indicate, soltanto le due prime linee, ossia quelle di controllo, sono ad un solo bit, bit che rappresenta l’autorizzazione data o meno a lettere oppure scrivere da/sulla memoria.
Infine si hanno i moduli di I/O, questo tipo di moduli sono un’interfaccia hardware o software che permettono di gestire le varie periferiche comprese nel sistema e di connetterle ad esso, proprio per raggiungere questo scopo un modulo di I/O presenta un certo numero di porte a cui collegare le precedenti periferiche. Le linee di ingresso ad un modulo di I/O sono: linee di controllo per la lettura, linee di controllo per la scrittura, di eventuali dati locali al modulo, linee indirizzo, attraverso le quali è possibile specificare la porta relativa alla periferica voluta, linee per dati interni, ossia dati che provengono dalla CPU, ed infine linee di dati esterni, che provengono da una delle periferiche. Per quanto riguarda le linee di uscita, queste sono :linee dati per l’esterno, dirette alle periferiche, linee dati per l’interno, dirette alla CPU, e linee per segnali di interruzione. Tra le linee relative ai moduli di I/O soltanto quelle relative al controllo per la scrittura e la lettura sono linee su cui viaggia un solo bit, su tutte le altre viaggiano più bit insieme.
I vari moduli che sono stati elencati sono collegati tra loro all’interno di un’architettura in modo tale che le linee di uscita di un modulo rappresentino le linee di ingresso di un altro e quindi sia possibile la comunicazione tra gli unti e gli altri, in particolare si osserva come ci sia passaggio di informazioni: Bus rispetto alle funzioni svolte
Il bus è il mezzo attraverso cui avviene la comunicazione tra il processore, la memoria e gli altri dispositivi dell’architettura. Il bus si presenta come un’insieme di linee su cui le informazioni si muovono in parallelo, in particolare su ogni linea viaggia un singolo bit e nel loro insieme questi bit si muovono opportunamente sincronizzati. Ci sono due tipologie di bus, il tipo dedicato ed il tipo generico.
Nel tipo dedicato le varie linee sono suddivise in sottogruppi ognuno avente un proprio scopo, in particolare si avrà un insieme di linee dedicato ai dati, un insieme dedicato agli indirizzi ed un insieme dedicato ai segnali di controllo; nel tipo generico, invece, non si ha questa differenziazione per cui ogni tipo di informazione sfrutta tutte le linee di cui è costituito il bus. In particolare si osserva come non essendoci una specifica organizzazione interna al bus generico, è necessario aggiungere alle normali linee presenti delle altre linee di controllo che indichino che tipo di informazione sta viaggiando sul bus e chi ve l’ha posta.
Ritornando al bus dedicato, abbiamo detto che si possono distinguere: Bus rispetto ai moduli
Ogni modulo, in un calcolatore, è realizzato con delle schede collegate al bus attraverso opportuni connettori detti SLOT, il tutto è collocato in un contenitore detto CHASSIS. Il calcolatore è impostato sulla separazione in moduli, o schede, per avere sia la possibilità successiva di poter ampliare la struttura sia la possibilità di individuare i guasti relativi ad un modulo specifico. Da questo tipo di suddivisione seghe anche una specializzazione del bus che si differenzia in: Metodi di arbritaggio
Un metodo di arbritaggio ha lo scopo di designare un modulo master assegnandogli il potere di cominciare un trasferimento e un modulo slave che fornirà i dati richiesti dal master oppure riceverà i dati sempre dal master, a seconda che sia stata espressa una richiesta di lettura oppure di scrittura.
Si possono distinguere due tipi di metodi di arbritaggio, il metodo centralizzato e il metodo distribuito. Se l’architettura prevede un metodo centralizzato, allora è presente un modulo hardware a cui compete l’assegnazione del bus e la designazione del modulo slave, questo modulo è un dispositivo detto controllore o arbitratore del bus che può far parte o meno del processore e in cui confluiscono le linee di controllo del bus. Su queste linee legge le richieste di utilizzo del bus e fornisce i segnali di accettazione nonché quelli di designazione su di un’ulteriore linea di uscita. Con il metodo distribuito, invece, ogni dispositivo presente nell’architettura dispone dell’opportuna logica, hardware o software, per l’accesso al controllo del bus.
Temporizzazione
Strettamente collegata ai metodi di arbritaggio è la temporizzazione attraverso cui ogni modulo riesce a porre nel momento opportuno le informazioni sul bus. Si ha temporizzazione sincrona oppure temporizzazione asincrona.
Con la temporizzazione sincrona gli eventi sono coordinati rispetto ad un segnale orologio che alternerà un segnale alto ad un o basso mentre con la temporizzazione asincrona manca il segnale orologio ma sono presenti due altri segnali, quello del master e quello dello slave tali per cui il primo rappresenta il motivo di reazione del secondo, e un “evento” innesca il primo e di conseguenza tutto il resto.
Esempio: lettura sincrona.
Supponiamo che gli eventi si verifichino sul fronte di salita dell’onda.
Il segnale orologio è rappresentato dal segnale di clock, per cui ogni altro segnale coinvolto nel processo di lettura sincrona rimane alto, quindi attivo, per un intero ciclo di clock. Quando è necessaria una lettura sincrona il processore abilita tre segnali, il segnale di lettura, con cui si fa richiesta di uso del bus, il segnale inizio, con cui si indica l’inizio dell’operazione, ed un segnale indirizzo, attraverso cui si specifica l’indirizzo della locazione da cui si vuole leggere. Questi segnali rimangono attivi per un ciclo di clock e durante questo ciclo vengono riconosciuti da un modulo opportuno il quale, dopo un ciclo di clock di attesa in cui permette ai successivi segnali di stabilizzarsi, pone sul bus i dati richiesti oltre al segnale di avvenuta operazione.
Esempio: lettura asincrona.
In questo caso non è presente un segnale orologio, ma c’è un evento che scatena il processo. In questo caso l’evento è l’azione con cui il processore pone sul bus la richiesta relativa all’utilizzo del bus per poter eseguire una lettura nonché l’indirizzo da cui prelevare l’informazione, a questo punto viene sincronizzato il master con il segnale M_SYN (il master è colui che vuole leggere) e questo provoca la sincronizzazione dello slave con il segnale S_SYN (lo slave è colui che deve fornire i dati) per cui i loro segnali diventano alti. Ogni dispositivo, all’invio del segnale di sincronizzazione, lo legge per capire che deve fare la parte del master e chi dello slave, stabilito chi è lo slave questo porrà i segnali sul bus. Nel momento in cui viene a mancare il segnale del master, perché l’operazione di lettura si è conclusa, il segnale dello slave diventa basso, ciò provoca anche la conclusione del flusso dei dati. A questo punto il segnale indirizzo diviene a sua volta basso e questo provoca la terminazione dell’ultimo segnale attivo, ossia quello di lettura.
Parametri di valutazione per la progettazione
Riepilogando quanto detto finora i parametri rispetto al quale valutare contemporaneamente il bus sono:
![]() |
![]() |
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica ![]() |
|
![]() |
![]() |