Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Discutiamo gli esercizi proposti per gli addizionatori


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 53 risposta/e

#41
aRbok

aRbok

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1517 Messaggi:
Caro root credo che non servino "formule" ma capire il ragionamento. Peccato che l'esame l'ho fatto due anni or sono e ricordo poco, soprattutto perchè sono molto impegnato in questo periodo. Qui sul forum potete trovare un quaderno scannerizzato nel quale trovi spiegato anche come effettuare i calcoli per questi tipi di esercizi.

Molte persone si confondono perchè non capiscono bene la differenza che c'è tra le porte della rete C.L.A e quelle interne ai Full ADDER. Il fan-in che ti dà il prof si riferisce a quello delle porte del CLA non del FA !!!!!

Vi ricordo che il fan-in è il numero massimo di ingressi che può avere una singola porta. Se si deve fare per esempio una AND tra 12 operandi booleani e si hanno porte con fan-in 6 occorre utilizzare 3 porte logiche: 2 per realizzare le AND tra i due gruppi di 6 operandi e un altra per fare la ANd tra i risultati. In questo caso ci vuole 2T perchè in un T fai le prime due and (contemporaneamente) e in un T l'ultima.

Sono cose facili e forse credete pure che vi abbia preso per scemi ma ve l'ho spiegate perchè dovete sapere che sono stato massacrato in passato da diverse persone che mi hanno chieste di spiegare a loro calcolatori e per esempio gli adder forse li avrò spiegati a una decina di persone almeno, e molte di loro avevano dubbi del genere!!

Io credo che se avete capito questo con un pò di ragionamento potete farli tranquillamente . In bocca al lupo x l'esame
Fai ciò che vuoi : sarà tutta la Legge. Amore è la Legge, Amore sotto la Volontà.

#42
r00t

r00t

    Advanced Member

  • Utente
  • StellaStellaStella
  • 850 Messaggi:

Caro root credo che non servino "formule" ma capire il ragionamento. Peccato che l'esame l'ho fatto due anni or sono e ricordo poco, soprattutto perchè sono molto impegnato in questo periodo. Qui sul forum potete trovare un quaderno scannerizzato nel quale trovi spiegato anche come effettuare i calcoli per questi tipi di esercizi.

Molte persone si confondono perchè non capiscono bene la differenza che c'è tra le porte della rete C.L.A e quelle interne ai Full ADDER. Il fan-in che ti dà il prof si riferisce a quello delle porte del CLA non del FA !!!!!

Vi ricordo che il fan-in è il numero massimo di ingressi che può avere una singola porta. Se si deve fare per esempio una AND tra 12 operandi booleani e si hanno porte con fan-in 6 occorre utilizzare 3 porte logiche: 2 per realizzare le AND tra i due gruppi di 6 operandi e un altra per fare la ANd tra i risultati. In questo caso ci vuole 2T perchè in un T fai le prime due and (contemporaneamente) e in un T l'ultima.

Sono cose facili e forse credete pure che vi abbia preso per scemi ma ve l'ho spiegate perchè dovete sapere che sono stato massacrato in passato da diverse persone che mi hanno chieste di spiegare a loro calcolatori e per esempio gli adder forse li avrò spiegati a una decina di persone almeno, e molte di loro avevano dubbi del genere!!

Io credo che se avete capito questo con un pò di ragionamento potete farli tranquillamente . In bocca al lupo x l'esame

Guarda le cose che hai detto mi erano già note anche perchè il forum l'ho letto in lungo e in largo ma ti ringrazio ugualmente per la disponibilità. Anche io, come te, credo che una cosa va capita.. tuttavia su questo tipo di calcolo ho dei dubbi perchè guardando in un thread dicono di calcolarlo in un certo modo, guardando in un altro ancora in un altro modo e ragionandoci da solo mi viene ancora in un altro modo(ed è l'unico che si trova nell'esercizio proposto XD...).. essendo precisi in questo thread viene detto che per calcolare il tempo di computazione:
- Si calcolano contemporaneamnte tutte le P e G(di tutti i fast adder in parallelo) in un livello di logica 1T;
- Il primo CLA impiega nT per calcolare il riporto. Questo riporto viene passato al secondo CLA che può a sua volta calcolare il riporto in un tempo pari a nT
- Infine i FA calcolano contemporaneamente il bit di somma in 2T
Invece il mio metodo consisteva in:
- Si calcolano P e G del primo fast adder;
- Il primo CLA impiega nT per calcolare il riporto. Dunque dall'istante (1+n)T il secondo fast adder inizia a lavorare calcolando la P e G etc etc ma nel frattempo il primo fast adder continua il suo lavoro calcolando il bit di somma in 2T

vorrei dunque capire qual è la strada migliore da seguire (ammesso che siano entrambe corrette)... la mia domanda non era mirata ad imparare la formuletta a memoria e applicarla negli esercizi.. non è cosa da me anche perchè di memoria ne ho poca :asd: Ciaoo spero che qualcuno possa aiutarmi :D

#43
aRbok

aRbok

    Advanced Member

  • Utente
  • StellaStellaStella
  • 1517 Messaggi:
Vedi sul quaderno che ti ho detto, lì troverai il modo corretto.

Prima di tutto occorre capire che non esistono il primo o il secondo Fast Adder ma l'intero dispositivo, qualunque sia il numero di bit, si chiama Fast Adder ossia addizionatore veloce, che si suddividono in due tipi:
-fast adder con propagazione del riporto
-fast adder con anticipo del riporto ( con Carry Look Ahead).

In entrambi i casi i dispositivi che eseguono l'addizione si chiamano FULL ADDER , il dispositivo base che esegue l'addizione binaria tra due bit con eventuale riporto. Considerando il caso di un addizione tra due parole binarie ( di n bit) , se realizzi l'adder come nel primo caso devi comincaire ad eseguire l'addizione a a partire dalla cifra meno significativa e prima di sommare le cifre via via più significative devi attendere il calcolo del riporto dell'addizione precedente.
Se realizzi un Adder con CLA non devi attendere i riporti perchè vengono calcolati in anticipo da un apposita rete che si chiama CLA, sigla che sta ad indicare la rete esterna, quella che calcola in anticipo i riporti, mentre le addizioni vengono sempre eseguite dai FULL ADDER, ma in questo caso non devi attendere il riporto !

Per il calcolo , inizialmente, è opportuno separare il tempo della rete CLA appena citata dal tempo dei FA, perchè così dice il libro delle Sacre Strutture ( scritto su ispirazione dell'arcangelo marcelli ). Scherzi a parte me lo disse il prof a ricevimento. Chiamerai T il ritardo delle porte della reta CLA mentre chiamerai TFA il tempo del singolo FUll Adder.

Nel caso in cui devi sommare due parole di n bit il tempo richiesto per il primo sarà nTFA.
Nel secondo caso invece avrai 1T necessario per ottenere i termini Pi e Gi più il tempo necessario a calcolare i riporti (dipendente dal fan-in che ho già accennato e che dopo tutte queste spiegazioni non avrai alcun dubbio se guardi il mio quaderno scannerizzato sul forum!). A questi tempi va aggiunto 1TFA, perchè i Full Adder sommano tutti in parallelo.il tempo quindi sarà x*T + TFA.

Passiamo poi a valutare TFA. Il full adder si può realizzare in due modi : uno richiede 3 livelli l'altro due. E' opportuno fare il disegno di quello che richiede 2 livelli e poi dire che nell'ipotesi in cui il ritardo delle porte interne sia pari a quello delle porte CLA allora TFA = 2T e quindi il tempo sarà 2nT per il primo caso , mentre sarà (x+2) * T nel caso Cla. Ovviamente bisogna considerare anche un terzo caso, che è quello misto in cui due sommatoria con Cla sono posti in cascata.

Il professore mi disse che è opportuno mantenere separati i due tipi di tempi perchè per motivi progettuali il Full Adder è già pronto e lo usiamo come black-box mentre la rete esterna no, dobbiamo realizzarla. Alla fine numericamente non cambia nulla ma il prof riteneva più corretto procedere nel modo in cui ho detto.
Ovviamente chiedete prima conferma a lui perchè per esempio ultimamente ho visto persone prendere 30 senza fare questa precisazione ma nel mio anno dava errore se non si faceva così ! Provate a chiedere al Divino in persona. Spero di essere stato d'aiuto. Buono studio e in bocca al lupo!
Fai ciò che vuoi : sarà tutta la Legge. Amore è la Legge, Amore sotto la Volontà.

#44
marcos

marcos

    Advanced Member

  • Utente
  • StellaStellaStella
  • 126 Messaggi:

Per quanto riguarda il FA si, abbiamo sempre considerato 2 T, perchè comunque una XOR a 3 ingressi risulta difficile da implementare in un solo T di ritardo...

Se la XOR non può essere implementata in un solo T di ritardo e quindi consideriamo 2T per il FA, allora perché per il livello in cui calcoliamo Propagazione e Generazione consideriamo tempo 1T anche se c'è la XOR per calcolare la Propagazione?

Grazie

#45
r00t

r00t

    Advanced Member

  • Utente
  • StellaStellaStella
  • 850 Messaggi:

Per quanto riguarda il FA si, abbiamo sempre considerato 2 T, perchè comunque una XOR a 3 ingressi risulta difficile da implementare in un solo T di ritardo...

Se la XOR non può essere implementata in un solo T di ritardo e quindi consideriamo 2T per il FA, allora perché per il livello in cui calcoliamo Propagazione e Generazione consideriamo tempo 1T anche se c'è la XOR per calcolare la Propagazione?

Grazie

La generazione è una semplice AND mentre la propagazione è una semplice OR

#46
marcos

marcos

    Advanced Member

  • Utente
  • StellaStellaStella
  • 126 Messaggi:
Quindi noi utilizziamo per la propagazione l'implementazione che fa uso della OR e non della XOR, perfetto.

Un'altra cosa che vorrei sapere è che si intende nella traccia per disegnare l'architettura di un addizionatore ........cioè dobbiamo disegnare a livello di porte logiche oppure semplicemente fare lo schema a blocchi con i FA e la LCA viste come black-box inserendo semplicemente gli ingressi e le uscite?
Grazie

#47
r00t

r00t

    Advanced Member

  • Utente
  • StellaStellaStella
  • 850 Messaggi:

Quindi noi utilizziamo per la propagazione l'implementazione che fa uso della OR e non della XOR, perfetto.

Un'altra cosa che vorrei sapere è che si intende nella traccia per disegnare l'architettura di un addizionatore ........cioè dobbiamo disegnare a livello di porte logiche oppure semplicemente fare lo schema a blocchi con i FA e la LCA viste come black-box inserendo semplicemente gli ingressi e le uscite?
Grazie

L'architettura con le black box

#48
DomenicoAngri

DomenicoAngri

    Advanced Member

  • Utente
  • StellaStellaStella
  • 198 Messaggi:
Ciao ragazzi, volevo chiedere se qualcuno fosse così gentile da aiutarmi a capire come svolgere l'esercizio che il professore ha messo nell'appello di giugno.

La traccia è la seguente:

Supponendo di avere a disposizione addizionatori ad 1 bit e solo porte logiche a 6 ingressi, qual è l'architettura di addizionatore più veloce per eseguire la somma su 16 bit?

Allora, anzitutto, l'esercizio, cosa effettivamente vuole? Il disegno dell'architettura con le black box?
Per porte logiche a sei ingressi, vuole dire ovviamente con fan-in 6?
In tal caso, come potrei progettare una cosa del genere? Io prima ero solito vedere i bit degli (o dell'addizionatore) e fare +1 diviso poi il fan in delle porte, mi dava il numero di porte da usare e di conseguenza da li ricavavo i livelli calcolando il tempo ecc.. Ma in questo caso, è un assurdità, perchè dovrei fare in pratica fare 1+1 = 2 /6 = 0,qualcosa ovvero per ogni addizionatore, devo usare una porta? A quanti ingressi? E che vuole dire la somma su 16 bit, devo per forza collegare diversi addizionatori insieme visto che essendo ad 1 bit non arrivano a 16, quindi 16 addizionatori?

Preventivamente grazie per una risposta da parte di qualcuno anche se conoscendo il professor Marcelli sicuro non ripeterà un esercizio del genere, è giusto per capirlo, anzi, penso passerà direttamente sui divisori o i moltiplicatori, inventandosi qualche nuova diavoleria...! :ciao:

#49
r00t

r00t

    Advanced Member

  • Utente
  • StellaStellaStella
  • 850 Messaggi:

Ciao ragazzi, volevo chiedere se qualcuno fosse così gentile da aiutarmi a capire come svolgere l'esercizio che il professore ha messo nell'appello di giugno.

La traccia è la seguente:

Supponendo di avere a disposizione addizionatori ad 1 bit e solo porte logiche a 6 ingressi, qual è l'architettura di addizionatore più veloce per eseguire la somma su 16 bit?

Allora, anzitutto, l'esercizio, cosa effettivamente vuole? Il disegno dell'architettura con le black box?
Per porte logiche a sei ingressi, vuole dire ovviamente con fan-in 6?
In tal caso, come potrei progettare una cosa del genere? Io prima ero solito vedere i bit degli (o dell'addizionatore) e fare +1 diviso poi il fan in delle porte, mi dava il numero di porte da usare e di conseguenza da li ricavavo i livelli calcolando il tempo ecc.. Ma in questo caso, è un assurdità, perchè dovrei fare in pratica fare 1+1 = 2 /6 = 0,qualcosa ovvero per ogni addizionatore, devo usare una porta? A quanti ingressi? E che vuole dire la somma su 16 bit, devo per forza collegare diversi addizionatori insieme visto che essendo ad 1 bit non arrivano a 16, quindi 16 addizionatori?

Preventivamente grazie per una risposta da parte di qualcuno anche se conoscendo il professor Marcelli sicuro non ripeterà un esercizio del genere, è giusto per capirlo, anzi, penso passerà direttamente sui divisori o i moltiplicatori, inventandosi qualche nuova diavoleria...! :ciao:

Ciao Domenico.. la traccia richiedeva la architettura di addizionatore più veloce (nel senso di adder CLA oppure full-adder o anche half-adder) .. in pratica per quanto riguarda gli addizionatori veloci, come hai già detto, bisogna considerare il numero N+1 di ingressi necessari alle porte AND e OR per effettuare il calcolo dell'ultimo riporto, dove N è il numero di bit. Il perchè servano N+1 bit ce lo dice la formula del calcolo del riporto applicata ricorsivamente dal r0 al rN-1.. cmq un addizionatore veloce ha tre reti: una prima rete che è quella di Generazione/Propagazione che impiega sempre un tempo pari a 1T, dove T è il ritardo delle porte AND e OR.. poi abbiamo una rete CLA che è quella che effettivamente calcola il riporto il cui tempo è in stretta dipendenza dal fan-in delle porte e dal numero di bit della somma... se ad esempio vogliamo fare la somma su 16 bit avendo fan-in pari a 6 sappiamo che per calcolare l'ultimo riporto 16+1=17 abbiamo bisogno di porte AND e OR a 17 bit.. tuttavia il fan-in delle porte è pari a 6.. dunque applichi la proprietà associativa nel modo seguente:

x1 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 * x10 * x11 * x12 * x13 * x14 *x 15 * x16 * x17 = (x1 * x2 * x3 * x4 * x5 * x6) * (x7 * x8 * x9 * x10 * x11 * x12) * (x13 * x14 *x 15 * x16 * x17 )

x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 + x14 + x15 + x16 + x17 = (x1 + x2 + x3 + x4 + x5 + x6) + (x7 + x8 + x9 + x10 + x11 + x12) + ( x13 + x14 + x15 + x16 + x17 )

dove, a livello di circuito,entrambi sono costruiti su due livelli di conseguenza il tempo di tale rete CLA è pari a 4T, con T ritardo delle porte.. infine abbiamo la rete dei full-adder che impiegano sempre 2T.. quindi facendo la somma abbiamo: 1T(Gen/Prop) + 4T(rete CLA) + 2T(rete full adder) = 7T... quindi un adder CLA a 16 bit con fan-in delle porte pari a 6 impiega un tempo di 7T per effettuare la somma... nel caso di un ripple carry adder invece avremo semplicemente: 16 * 2T(tempo singolo full adder) = 32T .. notiamo dunque che l'addizionatore veloce è quello più performante in termini di tempo.. scusa per l'italiano schifoso ma vado un pò di fretta.. ciaooo

#50
DomenicoAngri

DomenicoAngri

    Advanced Member

  • Utente
  • StellaStellaStella
  • 198 Messaggi:
Ottimo grazie Angiolè, ci avrei quasi scommesso che mi avresti risposto tu! In ogni modo fin quì... Cioè mi era tutto chiaro, io due cose non avevo capito dell'esercizio, ovvero:

1. Cosa voleva? E questo me lo hai chiarito, ovvero voleva sapere quale architettura era la più veloce fra CLA ecc..

2. COSA DIAVOLO (cit. D'Acierno :D) SIGNIFICA N ADDIZIONATORI AD 1 BIT?!?!?! Non dobbiamo prenderli in considerazione? Cioè, dobbiamo solo partire da 17 perchè vuole fare la somma su 16 bit, non significa nulla che gli addizionatori sono ad 1 bit?

edit: da dove lo hai preso il tempo delle altre architetture? Cioè perchè è 16*2?
riedit xD: ho capito 16 ogni full-adder x 2 :D okok!

E c'è solo questa in più da calcolare oltre al CLA!?

strariedit hahahaah: forse ho capito, in pratica è un addizionatore a 16 bit (perchè vuole effettuare una somma di 16 bit) composto da tanti piccoli N addizionatori veloci da 1 bit, nel nostro caso 16 attaccati insomma? Per il resto, l'esercizio si svolge come siamo soliti fare, ovvero come tu hai suddetto? Giusto? :scratch:

#51
r00t

r00t

    Advanced Member

  • Utente
  • StellaStellaStella
  • 850 Messaggi:

Ottimo grazie Angiolè, ci avrei quasi scommesso che mi avresti risposto tu! In ogni modo fin quì... Cioè mi era tutto chiaro, io due cose non avevo capito dell'esercizio, ovvero:

1. Cosa voleva? E questo me lo hai chiarito, ovvero voleva sapere quale architettura era la più veloce fra CLA ecc..

2. COSA DIAVOLO (cit. D'Acierno :D) SIGNIFICA N ADDIZIONATORI AD 1 BIT?!?!?! Non dobbiamo prenderli in considerazione? Cioè, dobbiamo solo partire da 17 perchè vuole fare la somma su 16 bit, non significa nulla che gli addizionatori sono ad 1 bit?

edit: da dove lo hai preso il tempo delle altre architetture? Cioè perchè è 16*2?
riedit xD: ho capito 16 ogni full-adder x 2 :D okok!

E c'è solo questa in più da calcolare oltre al CLA!?

strariedit hahahaah: forse ho capito, in pratica è un addizionatore a 16 bit (perchè vuole effettuare una somma di 16 bit) composto da tanti piccoli N addizionatori veloci da 1 bit, nel nostro caso 16 attaccati insomma? Per il resto, l'esercizio si svolge come siamo soliti fare, ovvero come tu hai suddetto? Giusto? :scratch:

Purtroppo allo scritto anche io avevo capito di fare un addizionatore CLA a 16 bit con 16 piccoli addizionatori CLA a 1 bit.. però la scelta si è rivelata fallimentare anche perchè addizionatori CLA a 1 bit non hanno senso (impiegherebbero un tempo, nel caso migliore, di 5T contro i 2T del semplice full-adder).. quel "disponendo di soli addizionatori a 1 bit" si riferiva ai full adder a 1 bit.. quindi dovevi fare l'addizionatore CLA in cui nella rete dei full adder utilizzavi full adder a 1 bit(cosa che facciamo sempre).. e calcolare il tempo del ripple carry adder considerando sempre full adder a 1 bit.. per ottenere il max punteggio a tale esercizio bastava confrontare queste due architetture.. inoltre potevi pensare di costruire un'altra architettura di addizioantore veloce però tramite due adder CLA a 8 bit.. oppure un'altra architettura con 4 adder CLA a 4 bit....

#52
DomenicoAngri

DomenicoAngri

    Advanced Member

  • Utente
  • StellaStellaStella
  • 198 Messaggi:
Oddio... Avevo intuito una mezza cosa... Bhà, in pratica è un addizionatore CLA a 16 bit, formato da full-adder a 1 bit, tutto quì? Co pozzn a Marcelli.. xD

#53
wip

wip

    Member

  • Utente
  • StellaStella
  • 12 Messaggi:
perchè non riesco a vedere quello che scrivete???vedo solo gli spazi vuoti o al max gli smile...

#54
shark66

shark66

    Advanced Member

  • Utente
  • StellaStellaStella
  • 42 Messaggi:
Vai nelle impostazioni del tuo browser, Strumenti e togli la spunta alla voce "Visualizzazione Compatibilita'".




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi