Università di Roma "La Sapienza" - Facoltà di Ingegneria
Laurea Specialistica in Ingegneria Informatica - Corso di Reti Logiche

Q & A (9)

[ Precedente ][ Indice ][ Successivo ]

 


Date: Tue, 16 Jan 2007 10:09:49 +0100 (CET)
Subject: Domanda D2 dell'appello del 2007-01-09
Vorrei domandarLe delucidazioni in merito alla domanda D2 dell'appello d'esame di Reti Logiche tenutosi il giorno 9 gennaio 2007...in particolare,circa lo svolgimento della domanda e la determinazione dei coefficenti (a,b,c,d) in funzione di f(x,y) potrebbe illustrarmi una corretta e completa risposta?
Puo' trovare la risposta nel PDF in allegato.

pdf32.jpg (977 bytes)
0702032148-1.pdf

 


Date: Sat, 20 Jan 2007 11:18:31 +0100 (GMT+01:00)
Subject: Domande D2 e D4 dell'appello del 2007-01-09
In merito all'appello di gennaio potrebbe, se possibile, potrebbe mettere una spiegazione della domanda d2?

Per quanto riguarda la domanda d5, in esercizi di questo tipo è corretto fissare lo stato presente dei FF ( quindi in questo caso 4 stati presenti), ed in corrispondenza di ogni possibile combinazione delle eccitazioni in ingresso( in questo caso 2 x=0, e x=1) scrivere lo stato futuro?

Sto preparando anche le soluzioni alle domande di teoria, anche se credo cominceranno ad essere pubblicate a partire da quelle dell'appello di dicembre. Nel frattempo, le invio la soluzione alla domanda D2 che un suo collega mi aveva gia' chiesto qualche giorno fa.

pdf32.jpg (977 bytes)
0702032148-1.pdf

Quanto alla domanda D4 (non D5) il suo approccio e' corretto: elenchiamo tutti i possibili stati presenti (nel caso specifico 4, essendo 2 i flip-flop; diversi compiti hanno invece riportato 8 stati!) e per ciascuno di essi, in corrispondenza ad ogni combinazione di ingresso, calcoliamo lo stato futuro; essendo poi evidentemente una macchina di Moore (e non di Mealy, come in molti compiti stava scritto) per ogni stato presente calcoliamo anche l'uscita. Alla fine deve venir fuori: uno stato transiente (00), uno stato ricorrente (01), uno stato persistente (10) e uno stato isolato (11).

 


Date: Fri, 26 Jan 2007
Subject: Lettera aperta al docente
In data 2007-01-26 uno studente, che preferisce restare anonimo, scrive la seguente

Lettera aperta al docente

Stimato docente,

le scrivo questa lettera in merito ai primi due appelli di reti logiche.

Innanzitutto i risultati: nel primo appello si sono iscritti – facendo una stima molto conservativa, basata sul numero di aule impiegate e sulle persone che hanno consegnato – 150 studenti; di questi, 59 si sono ritirati, 67 sono risultati "n.s." o "q.n.s.", 24 hanno avuto un voto compreso tra il 18 e il 24 e nessuno è andato oltre la soglia del 24. Al secondo appello non c’è ragione di pensare che gli iscritti siano stati meno, visti i risultati del primo e l’assenza di esclusività degli appelli. Ebbene, poniamo ancora a 150 il numero di iscritti; questa volta abbiamo 36 ritiri, 52 studenti con una votazione "n.s." o "q.n.s.", 49 tra il 18 e il 24 e 13 tra il 25 ed il 30. Di uno (per comodità il centocinquantunesimo) non si conosce il risultato finale.

Se aggreghiamo i risultati dei due appelli abbiamo 95 ritiri, 119 "n.s." o "q.n.s.", 73 tra il 18 ed il 24 e 13 oltre il 24. In altri termini, su 300 iscritti ai due appelli oltre due terzi si sono ritirati o sono risultati insufficienti (la quasi non sufficienza è in un limbo tra la non sufficienza e la sufficienza a stento, il che non mi sembra molto edificante). E’ evidente che qualcosa non va.

L’università, oggi, è organizzata in questo modo: si fanno tantissimi esami (alla fine dei 5 anni io avrò collezionato la sfavillante cifra di 54 esami!!) in tempi ultrarapidi, stringendo poco più di 9 settimane. Questa organizzazione non ci piace, anzi – e mi permetto di interpretare un pensiero comune - fa schifo. Tradisce il vero spirito universitario, fatto di sacrifici ma anche di tempo libero per riflettere, assimilare, apprezzare. In questo momento, però, è l’organizzazione vigente e questo implica per i docenti, abituati probabilmente ad altre modalità di insegnamento, un cambiamento radicale nell’approcciare ai corsi. Anche se il sapere non si può racchiudere in compartimenti stagni, non è più pensabile svolgere un corso (o il relativo esame finale) con le stesse modalità del vecchio ordinamento. Il suo è un corso da 5 crediti. Anche se il solo pensiero di misurare quanto sforzo richiede una materia mi fa rabbrividire, date per esempio le differenze attitudinali individuali, il suo corso dovrebbe richiedere la stessa applicazione degli altri corsi da 5 crediti. Invece ne richiede almeno il triplo. Questo sarebbe del tutto normale in un contesto diverso da quello attuale ma in questo ordinamento – in cui il suo è uno dei 54 esami sopraccitati - produce i risultati visti. Riguardo la struttura dell’esame di reti logiche, credo che abbia fatto la sua parte nel produrre questo disastro. Imparare a svolgere i progetti richiede tempo, come si può pensare di insegnare agli studenti a progettare i circuiti presentati all’esame in due lezioni?! Le due lezioni di recupero non le possiamo considerare, visto che si sovrapponevano con appelli d’esame e quindi non è stato possibile seguirle per la maggior parte degli studenti. Un corso del genere – per essere svolto decentemente – avrebbe necessitato di almeno un semestre in cui in due mesi si apprendeva la teoria e nei restanti due (un semestre sono più o meno quattro mesi di lezioni) si svolgevano soltanto progetti. In quel modo, alla fine del corso, si sarebbe potuto dire che il corso di reti logiche aveva insegnato agli studenti a fare i progetti. Non si possono, a mio modesto avviso, gettare le basi teoriche e poi dire: “ok ragazzi, il tempo è finito da qui in poi ve la cavate da soli”. Purtroppo, per affrontare un progetto non basta conoscere la teoria. Poiché non esiste una ricetta universale, una procedura unica, l’unico modo di imparare a progettare è svolgere – insieme al docente – una grande quantità di esercitazioni in cui pian piano si apprendono le sfumature, si chiariscono i dubbi, si fissano le metodologie.

Lei – questo va riconosciuto – ha cercato di fornire il maggior supporto possibile dopo la fine dei corsi ma converrà con me che vedere stralci di progetti di altri studenti con le sue correzioni descritte in poche righe non è esattamente il modo migliore di imparare a progettare i circuiti. E’ un metodo a tentativi: questo non si può fare, quello si. Allora io mi chiedo: come si può verificare se io so fare progetti, se non mi è stato insegnato a farli? Io credo che – in ultima analisi – la domanda fondamentale sia: che cosa ho imparato dal corso di reti logiche? Cosa mi rimane? Ed è a questo che i docenti dovrebbero pensare quando tengono un corso. Il tempo è limitato a 9 settimane? Benissimo, si organizza un corso in cui – poiché tutto non si può fare – si fissa un obiettivo che è ciò che rimarrà nella testa dello studente dopo il corso. Dato l’ordinamento vigente, ci saranno altri corsi che approfondiranno quello che non si è potuto fare in questo. Troppo spesso ho visto corsi (e relativi docenti) “bulimici”, in cui si butta dentro un po’ di tutto e alla fine non rimane niente. Questo non è un invito all’ignoranza, è semplicemente un monito affinché si prenda atto di come è organizzata l’università oggi e si impartiscano le lezioni di conseguenza. Tornando più concretamente al suo esame, al di là delle considerazioni esposte sopra riguardo il progetto, credo ci sia anche un problema di dimensionamento temporale: per (tentare di) svolgere il progetto ci vogliono almeno tre ore; di conseguenza non rimane abbastanza tempo per pensare alle quattro domande di teoria, che spesso sono molto lunghe da sviluppare. Questo spiega anche i moltissimi casi di votazioni sufficienti sulle domande e scarse sul progetto o viceversa.

Poiché sono convinto che il rapporto studente-docente sia fondamentale per migliorare la qualità dell’università, le sarei veramente grato se volesse rispondere alla presente, meglio se in forma pubblica. La ringrazio per il tempo che mi ha concesso.

Uno studente

Risposta del docente

Aggiungo qualche altro numero, che lei non ha ritenuto opportuno ricordare. Al secondo appello, si sono ripresentati 49 studenti che avevano già sostenuto il primo; di questi:

  • 18 sono stati classificati come "n.s." sia al primo che al secondo appello;
  • 2 sono stati classificati come "n.s." al primo appello e come "q.n.s." al secondo appello;
  • 1 è stato classificato come "q.n.s." al primo appello e come "n.s." al secondo appello;
  • 3 hanno superato l'esame sia al primo che al secondo appello;
  • 25 sono stati classificati come "n.s." o "q.n.s." al primo appello e hanno superato l'esame al secondo appello.

(Non voglio essere maligno, ma mi piacerebbe sapere se questi ultimi 25, qualora gli appelli fossero stati "esclusivi", si sarebbero mai presentati al primo appello.) Eviti peraltro di darmi numeri sui prenotati: in ogni appello, dal 15 al 20% dei prenotati non si fanno neanche vedere in aula al momento dell'esame.

Tuttavia non è sui numeri che voglio basare la mia risposta, anche se su di essi lei basa la sua lettera aperta (che invia a titolo personale, ma voglio credere che rispecchi le sensazioni di molti suoi colleghi.) Non ho neanche intenzione di discutere in questa sede la sua valutazione sullo stato dell'università (che peraltro mi trova pienamente d'accordo in molte sue parti, se non in tutte), né altre sue opinabili considerazioni (le lezioni di recupero, ad esempio, che lei ha giudicato irrilevanti e poco seguite ma nelle quali abbiamo tutti visto le aule stracolme, con parecchi studenti perfino in piedi). Intendo qui discutere solo un punto della sua lettera, e in particolare una sua domanda – che vorrebbe essere retorica ma non lo è per niente: Cosa mi rimane, del corso di Reti Logiche?

La risposta è semplice (e devo dire che diversi suoi colleghi ho l'impressione l'abbiano capita): per come ho inteso impostare non solo il corso ma anche l'esame e la relativa valutazione, ciò che voglio le rimanga non è tanto la capacità di mandare a memoria nozioni, quanto la capacità di utilizzarle per uno scopo concreto una volta che le abbia apprese. Se ci pensa bene, non sono molti altri i corsi che hanno questa ambizione, o si pongono questo obiettivo. Il "progetto" (che è attività tipicamente e squisitamente ingegneristica, se mai l'avessimo dimenticato) ha precisamente questa finalità, che personamente considero essenziale e fondamentale per un corso di laurea in Ingegneria. Vero, occorre molta esercitazione per fare un buon progetto; vero, il tempo è poco, e non si riescono a fare molte esercitazioni in aula; vero, le correzioni via email non sono granché utili (potremmo allora abolirle, mi ritaglierei molto tempo libero in più – ma d'altra parte non ho visto molta gente venire ai ricevimenti ad personam a chiedere lumi...) Tutto vero, naturalmente – salvo entrare un po' più a fondo nel merito della questione. Chi ha verificato le correzioni sui propri compiti, sa benissimo che non mi sono mai appigliato ai dettagli del progetto (cosa crede, che non sappia perfettamente che due o tre ore non bastano a fare un progetto, buono o mediocre che sia?) ma sa altrettanto bene che ciò che mi interessa è soltanto l'impostazione, la verifica di una forma mentale che consiste (1) nel conoscere e padroneggiare i building blocks che si hanno a disposizione, (2) nel sapere quali, come, dove e quando utilizzarli per ottenere che cosa. (Dopo di che, se trovo un AND al posto di un NAND, non è  certamente quello che sposta, di neanche un punto, la votazione finale.)

Ora, questa capacità prescinde in larga parte dall'algebra di Boole o dagli addizionatori; è un po' come, dopo aver imparato quali sono le componenti del motore di un'automobile, si riesce a guidare abbastanza tranquillamente qualunque modello di vettura; è una forma mentis che una volta acquisita può operare abbastanza indifferentemente su circuiti digitali o su componenti software o su protocolli di rete, è una forma di thinking big che la trasporta dal livello di esecutore al livello di "creatore". (E, se devo essere sincero, l'unica cosa che mi meraviglia, e in un certo senso mi preoccupa, della sua lettera è che, invece di pretendere che questa capacità le venga istillata e coltivata anche da altri corsi, lei voglia soltanto abolirla dal mio!) Questa, e non altre, sono le capacità che si richiedono a un ingegnere: nel mondo del lavoro, come lei avrà modo di verificare con mano nel più breve tempo possibile (le auguro), nessuno verrà a chiederle come funziona il flip-flop JK (o quali sono le proprietà dei puntatori C o delle classi astratte o del protocollo HTTP, la cosa non cambia di molto), ma le porranno un problema e vorranno risposte sensate, convincenti e plausibili in un tempo che di norma sarà molto inferiore alle quattro ore dell'esame di Reti Logiche – spesso anzi queste risposte le dovrà dare all'istante, e la qualità di queste risposte potrà plasmare, nel bene e nel male, la sua carriera. Purtroppo, vedo ogni giorno, nell'azienda dove lavoro e in molte altre, cosiddetti "ingegneri" che messi di fronte a un problema non riescono a cavare un ragno dal buco, e passano le giornate vivacchiando e annaspando e arrabattandosi qua e là aspettando che qualcuno di buon cuore venga a dirgli come fare per andare avanti. Ecco, quel che cerco di fare – nei limiti del mio possibile e per quanto mi compete, s'intende – è di risparmiarvi quella fine.

Cordiali saluti

P. Marincola

In data 2007-02-02 Daniela Zanini chiede la pubblicazione della seguente

Risposta (2)

Caro collega,

sono una studentessa di ingegneria, V.O., che ha letto con interesse la tua lettera, e che da questa è rimasta molto colpita. Innanzi tutto perché resto stupita dal vedere come ti lasci perplesso il numero di bocciati nei due appelli di reti logiche e questo mi porta a pensare due cose :

1) non hai mai visto, nei precedenti anni, i risultati degli esami del corso, una vera e propria carneficina che purtroppo non si fermava solo al voto dell'esame e all'essere bocciati, ma alla correzione-gogna a cui venivi sottoposto!! (ah dimenticavo... basta dare anche una rapida occhiata all'andamento degli esami del biennio, purtroppo per limiti di età mi riferisco a quelli V.O. ovviamente, in cui analisi 1 e 2 e fisica 1 e 2 rappresentavano un vero e proprio fuoco di sbarramento!!)

2) nella tua statistica dovresti tenere conto di chi all'esame si prenota, ma poi non va, di chi ci va pensando che il buon Dio lo illumini, di chi spera nell'aiuto del compagno, di chi pur non avendo finito di studiare tutto il programma ci prova, non si sa mai (su non neghiamolo, lo abbiamo fatto tutti), di chi va senza aver studiato, di chi purtroppo proprio durante il compito va in tilt impanicandosi, etc etc, insomma mancano un po' di voci e quindi mi sembra un po' forzato dire in base a tale statistica fondata su un campione poco rappresentativo, che il corso non va!!!

Queste due premesse però sono solo di contorno, piccole precisazioni, perché invece su molte cose, caro collega, sono pienamente d'accordo con te!

Hai ragione, l'università così come è organizzata oggi non va. Le varie riforme hanno fatto solo danni, portando oggi i professori e gli studenti a confrontarsi con corsi sempre più compressi, smembrati, deturpati, corsi che invece avevano solo bisogno di essere un po' svecchiati e affiancati da una maggiore dose di pratica, pur lasciando quasi inalterata la teoria. Corsi che hanno portato tanto lustro alla nostra università, salvo poi veder volare via tale lustro verso altri paesi, verso altre università, ma lasciamo stare, purtroppo si può solo sperare nel futuro. Hai ragione caro collega, vi ritrovate a fare 2 esami per ognuno dei nostri, con programmi che alla fine vengono ovviamente ridotti o poco approfonditi, snaturati, privati spesso di nozioni fondamentali e che ovviamente vi lasciano l'amaro in bocca, perché proprio come dici tu, "il vero spirito universitario è fatto di sacrifici e tempo libero per riflettere e assimilare". Ma come si può assimilare se poi molte nozioni vengono eliminate dai programmi per mancanza di tempo, come si può riflettere se molti esami sono diventati a risposta multipla con crocette...Cartesio diceva "COGITO ERGO SUM", ma se non danno il materiale, su cui pensare e riflettere, come si fa? E pensare che ci sono ancora alcuni professori che si prodigano, che fanno ricevimento, che mettono lezioni supplementari, pur di mantenere aulico il livello del corso, che magari sforano sull'orario delle lezioni per finire un concetto importante, ma si devono arrendere... purtroppo oltre a combattere con il vigente ordinamento devono mettersi una mano sulla coscienza e cercare di capire che gli studenti non possono andare il sabato mattina ai ricevimenti, perchè si studia tutta la settimana e almeno il sabato mattina bisogna riposare, che se lo studente dietro si lamenta gridando che è finita l'ora lo fa solo perchè troppo stanco, schiacciato da questa facoltà che è così difficile, in finale si sta parlando di ingegneria, mica di bazzecole!!

Hai ragione collega, questo ordinamento così com'è non va!! E' ovvio che poi di fronte ad esami come Reti Logiche, ma potrei citarti altri esami come robotica, elettronica, controlli automatici (ovviamente parlo del mio indirizzo), se una persona non ha il materiale e il tempo come fa? Se in aula non vengono svolti abbastanza progetti, visto che il tempo è poco anche per la teoria, come fa? E' ovvio che è impensabile immaginare di cominciare a fare progetti prima che il corso sia terminato, perchè come dici tu siete sopraffatti da un numero così elevato di corsi che non potreste mai trovare il tempo per andare in copisteria a prendere i temi svolti (anche se volendo si può limitare il tempo perso consultando il sito del corso... si può ottimizzare!! Ringrazio il prof del corso di ottimizzazione, evidentemente mi ha aiutato a eliminare un problema che affligge molti colleghi e non lo sapevo!!) e magari cominciare a dare delle bozze di soluzione, magari teoriche e portarle al ricevimento... (oh no, scusa, dimenticavo il ricevimento è sabato mattina...) al professore dopo lezione, purtroppo bisognerà accontentarsi di fare ricevimento per le scale, sulle panche, lo so è difficile così, con i corridoi pieni... anche se volendo c'è il chiostro (all'aperto è meglio, il prof ama fumare!!)... Lo so collega, una bozza di soluzione non è la soluzione ottima, ma quella fortunatamente il prof non la richiede... infatti gli basta una bozza all'inizio, ma tu mi dirai giustamente che se uno non conosce i componenti come fa? se non sa quale flip flop usare, come disegnare il sommatore, il registro, come fa? Eh già, sembra un problema senza soluzione, in finale se uno non li conosce come fa? non se li può mica inventare... il sapere è ben altro. Aspetta, c'è una tua frase in merito che ho trovato molto bella, quando dici: "il sapere non si può racchiudere in compartimenti stagni". Hai ragione. In finale quello che uno ha studiato nei corsi passati non lo si dimentica, cioè se uno ha fatto il corso che equivale al vecchio "Calcolatori Elettronici" mica se lo dimentica come funziona in linea di principio una porta OR o una AND, o come funziona un flip flop, certo magari si complicano un po' le cose se si parla di PD32... però le linee guida ti rimangono... hai ragione!! Certo va considerato che magari c'è chi quest'esame non lo ha nel piano di studi perchè non è informatico... e lo so... .purtroppop queste si traducono in difficoltà oggettive, che si possono colmare solo con una buona dose di notti in bianco sui libri... ma mi rendo conto che è difficile... ti posso assicurare che so cosa vuol dire!!

I progetti sono difficili e sembra che il tempo non basti mai... 3 ore al compito poi sono poche... ma vediamolo come un allenamento... per quando lavoreremo e ci chiederanno di svolgere un progetto e quando gli chiederemo per quando dovrà essere pronto ci risponderanno che doveva esserlo 3 ore fa!! In finale questa facoltà ci deve formare per essere ingegneri no? E pensa che strano, fuori sono molto precisi, proprio come piace a noi, al punto che vorranno un progetto pronto e funzionante e ovviamente non si accontenteranno di un prototipo, di un progetto che funziona in linea di principio, che ha della metodica, del ragionamento dietro, insomma non si accontenteranno di capire che hai saputo unire nel modo migliore i blocchetti a disposizione, ma alla fine è giusto... siamo ingegneri no?

Purtroppo però, collega, nonostante queste cose che condivido con te, mi trovo in disaccordo su due punti.

1) Metodo a tentativi... perchè lo disprezzi tanto? Certo bisogna vedere cosa intendi, cioè se con questa definizione intendi: tento di buttare giù qualcosa a caso, beh hai ragione, non si può lavorare così; se però intendi, quello che in Controlli Automatici si chiama Sintesi per tentativi, beh funziona ed è anche un ottimo modo di procedere. Tu hai un progetto che deve soddisfare delle specifiche, bene, allora studi, leggi le specifiche, vedi di cosa disponi, usi le tue conoscenze e gli strumenti a tua disposizione per assolvere tali specifiche. Se ci riesci al primo passo: ok. Altrimenti incominci a modificare un po' di cose, tipo il guadagno etc... ovviamente nel caso di reti modifichi un f/f, metti un registro tampone o altro... insomma funziona anche in reti logiche!!

2) Cosa mi ha lasciato il corso di reti logiche?? Premetto che io questo corso, con l'attuale docente non lo ho seguito, ma è con lui che ho sostenuto l'esame e ho avuto bisogno di due appelli per superarlo. Questo esame, come pochi altri in questa facoltà, mi ha lasciato una gran soddisfazione, e premetto ho preso un 22, non un 30!! Soddisfazione innanzi tutto perchè fare il progetto è una sorta di sfida con se stessi e le proprie capacità, più che con l'esame stesso. Riuscire a manipolare, unire strutture che avevo visto solo singolarmente, per creare qualcosa di più complesso e magari funzionante, E' BELLISSIMO!! e soprattutto è INGEGNERISTICO!!!!! Finalmente un esame concreto, da ingegneria, non solo nozionistico!! Un esame difficile, sì, certo, tosto davvero, come pochi altri, insomma uno delle bestie nere, di quelli da ripetere un paio di volte almeno, ma lo sai già prima, ti metti l'anima in pace, perchè in questo esame ti metti in gioco tu, non la tua memoria, in cui testi la tua capacità di tirare fuori conoscenze acquisite anche in altri corsi e metterle finalmente a frutto. Un esame in cui ci si avvicina a quello che un ingegnere in un modo o nell'altro deve saper fare, cioè non ricordarsi formule a memoria, per quelle esistono formulari, libri, manuali, bensì trovare una soluzione al problema sfruttando ciò che ha a disposizone e magari farlo nel modo migliore possibile. Inoltre questo esame mi ha lasciato anche il ricordo di un professore che, assieme a pochi altri che si contano sulle dita di una mano, non si negano ai ricevimenti, che anche se mancano 5 minuti all'orario di ricevimento ti fanno entrare e iniziano a vedere gli esercizi e non aspettano leggendo il giornale che quei 5 minuti passino, che fanno correzioni puntigliose durante i colloqui per farti capire come il progetto sarebbe dovuto essere per essere quasi perfetto, ma che non chiedono tale precisione all'esame, che ti ricevono magari in orari e luoghi esterni alla facoltà, spiegandoti per filo e per segno, con tanto di cartina come raggiungere l'ufficio di Acilia, che non limitano i giudizi sulle correzioni ai ricevimenti ad una giornata negativa di uno studente, che tengono diari delle lezioni, che tengono lezioni straordinarie, che pubblicano lettere di critiche degli studenti, che si confrontano con loro. Questo mi ha lasciato questo corso, e con lui pochi altri, e posso assicurarti che quando arrivi alla fine del cammino universitario ti rendi conto che di corsi così ne avresti voluti di più.

Saluti

D. Z.

 

 


Date: Sun, 15 Apr 2007 23:09:01 +0200 (CEST)
Subject: Due domande
volevo gentilmente chiederle due cose:

1) A un compito di CEII vi era un esercizio in cui si doveva trasformare un BCD in decimale. Lei ha usato questo algoritmo: 10*Accumulatore + BCD.
E' giusto oppure ho sbagliato a scrivere io? Perché mi sembra che non funziona.

2) Vi era una domanda su un tema d'esame che chiedeva il numero di funzioni booleane f(k pedice) di 4 variabili f(0,0,0,0)=3D0 e f(1,1,1,1)=3D1, per ogni k

1) A un compito di CEII vi era un esercizio in cui si doveva trasformare un BCD in decimale. Lei ha usato questo algoritmo: 10*Accumulatore + BCD.

Ha letto male il testo: c'era una sequenza di cfre BCD che andavano convertite in binario. Supponga che le arrivino in sequenza le seguenti cifre: 2, 3, 4, a partire dalla piu' significativa. Come trasforma il numero corrispondente in binario? Inizializza l'accumulatore a 0, e ad ogni cifra che arriva esegue l'operazione:

10 * Acc + cifra

(naturalmente le operazioni vanno eseguite nella "base di destinazione", come sempre -- nel nostro caso, in binario). Posto che la notazione (X)B significa "la configurazione X in base B, allora:

(10)10 * 0 + (2)10 = (1010)2 * (0)2 + (10)2 = (10)2 = (2)10
(10)10 * (2)10 + (3)10 = (1010)2 * (10)2 + (11)2 = (10111)2 = (23)10
(10)10 * (23)10 + (4)10 = (1010)2 * (10111)2 + (100)2 = (11101010)2 = (234)10

e l'accumulatore alla fine contiene 11101010 che e' la rappresentazione binaria di 234, come appunto deve essere.

2) Vi era una domanda su un tema d'esame che chiedeva il numero di funzioni booleane f(k pedice) di 4 variabili f(0,0,0,0)=0 e f(1,1,1,1)=1, per ogni k

Anche qui ha riportato male il testo (domanda D1 del 28-06-2001) che invece recita: "Determinare il numero delle possibili funzioni booleane f(x0,x1,...,xN-1) vincolate da f(0,0,...,0)=1 e f(1,1,...,1)=0". (Puo' trovare il file corrispondente sul sito del corso al link http://www.pmar.it/retilogiche/prove/temi_chiari_9902.pdf) La risposta, corredata di spiegazione, sta nello stesso file, e gliela anticipo qui: 2^(2^N-2).

 


Sat, 16 Jun 2007 17:38:34 +0200
Subject: Domanda D3 dell'appello del 2006-11-06
Stiamo svolgendo le prove degli esami passati. Volevamo chiederle se gentilmente potrebbe controllare l'esercizio che abbiamo svolto e che le alleghiamo. Si tratta della domanda D3 del compito del 6 novembre 2006.

pdf32.jpg (977 bytes)
0801191158-1.pdf

La vostra soluzione va abbastanza bene; ma potrebbe essere migliorata (e di molto) solo osservando che le funzioni della colonna di destra sono esattamente il complemento delle funzioni della colonna di sinistra. Posso anche darvi la soluzione finale, ma a questo punto preferirei che ci arrivaste da sole!
In effetti non siamo state molto attente nell'osservare la tabella di verità, per cui non avevamo notato che la funzione y per s2=1 assume esattamente i valori invertiti rispetto a quelli presenti per s2=0.

In questo modo abbiamo potuto sostituire il mux 8/1 con uno più piccolo, 4/1, ed eliminare circa la metà delle porte logiche che usavamo a monte del mux per la computazione dei mintermini, semplicemente aggiungendo un ulteriore livello di uscita costituito da un mux 2/1 ai cui ingressi presentiamo l'uscita del mux 4/1 diretta o invertita, a seconda che s2 valga 0 oppure 1.

Le alleghiamo ancora una copia del circuito in modo che possa verificare più facilmente lo svolgimento dell'esercizio.

pdf32.jpg (977 bytes)
0801191158-2.pdf

E infatti, adesso va proprio bene. Il multiplexer finale puo' anche essere sostituito con uno Xor, che riceve su un ingresso l'uscita del primo multiplexer e sull'altro l'ingresso di controllo S2.

 


Date: Mon, 25 Jun 2007 18:30:14 +-100
Subject: Interfacciamento periferica-CPU
Sto affrontando i progetti e avrei bisogno di un chiarimento: nell'interfacciamento periferica-CPU quali sono i segnali di controllo che devo sempre mettere in gioco per non compiere errori gravi nella realizzazione del SCO? Il testo sul PD32 riporta un elenco di tali segnali. Tra questi alcuni mi sembrano strettamente necessari nei nostri progetti, ma altri mi pare non siano mai comparsi negli esempi svolti.
Chiaramente, per poter scrivere (leggere) dati sulle (dalle) porte di I/O sono indispensabili i seguenti segnali:

* IOAB[0-7] - I/O Address Bus
* IODB[0-31] - I/O Data Bus
* IOWR (IORD) - I/O Write (I/O Read)

Per poter segnalare qualcosa (tipicamente, la fine di un'operazione) alla CPU, possiamo optare per due distinte soluzioni:

(a) interrupt, nel qual caso vanno utilizzate le linee IRQ, IACK (oltre a IODB[0-7] per emettere l'Interrupt Vector Number IVN nel momento in cui la CPU genera IACK);

(b) busy-waiting, nel qual caso va utilizzata la linea READY (oltre a IOAB[0-7] per emettere l'indirizzo di device corrispondente).

Quando invece e' la CPU a voler segnalare qualcosa all'interfaccia (tipicamente, l'inizio di un'operazione), allora

(a) usiamo la linea START (oltre a IOAB[0-7] per emettere l'indirizzo di device corrispondente), OPPURE

(b) usiamo come segnale di partenza la decodifica di un I/O Write o di un I/O Read gia' esistente oppure generata appositamente.

Un esempio tipico di quest'ultimo caso e' quando la CPU deve prima inviare dei dati all'interfaccia e poi dare l'avvio alle operazioni: useremo in tal caso un numero adeguato di decodifiche di I/O Write, e l'ultimo di questi (corrispondente alla scrittura dell'ultimo dato tra quelli richiesti) funge anche da segnale di Start per lo SCO.

Altri segnali del bus di I/O, come ad esempio i segnali legati all'Interrupt Mask, non ci interesseranno quasi mai. Tutt'al piu', in rari casi potremo aver bisogno del segnale di System Reset -- ma l'uso di questo e' in generale considerato una "finezza", almeno nella tipologia di progetti con cui noi abbiamo a che fare.

 


Date: Tue, 9 Oct 2007 21:03:08 +0200
Subject: Connessioni tra porte logiche
Sto facendo karnaugh di un priority encoder a 4 ingressi (che diventano 5 considerando GI). VIsto che le uscite sono 3 (y1 y2 e GO) gli implicanti comuni li assegno ad entrambi? Cioè nel circuito metto una sola porta logica per entrambi? Ma poi non son costretto , ad esempio da un AND comune, a far uscire due "fili" che portano alle rispettive funzioni che hanno l'AND in comune? È permesso? Spero di essermi spiegato.
Si e' spiegato benissimo. Certo che si puo' fare. Per ogni famiglia logica (TTL, ECL, CMOS, etc.) esiste un parametro, detto "fan-out", che indica proprio il massimo numero di ingressi che l'uscita di una singola porta logica e' in grado di pilotare senza che le caratteristiche statico-dinamiche della porta vengano a degradare in maniera significativa. Per la famiglia TTL, ad esempio, il fan-out e' 10 (in altri termini, l'uscita di una porta TTL puo' essere tranquillamente connessa a 10 ingressi di porte TTL), per la famiglia CMOS il fan-out e' molto maggiore, ed e' limitato in pratica non gia' dal carico resistivo sulla singola uscita (che e' del tutto irrilevante) bensi' dal carico capacitivo, che quando aumenta limita la velocita' di commutazione.

 


Date: Tue, 9 Oct 2007 22:51:22 +0200
Subject: Espansione del priority encoder
Ho appena finito le mappe per i priority encoder e ora ne sto costruendo il circuito per farne un modulo e fare qualche test. Ma per 4 priority encoder in cascata (a lezione lei ha fatto un esempio con 2) è necessario aggiungere un livello intermedio con un altro encoder (come avveniva per le espansioni dei mux) o non è necessario (e va quindi inserito il circuito intermedio fatto di and or eccetera)?
Si puo' fare anche col circuito intermedio con And, Or, ecc.; ma all'aumentare del numero di moduli, e se ci pensa un attimo, scoprira' che diventa sempre piu' conveniente inserire un altro encoder su un secondo livello, che accetta sostanzialmente come ingressi le uscite GO dai moduli del primo livello. In pratica, cosi' come abbiamo visto per i multiplexer, superata una certa quantita' di moduli, e' conveniente trasformare una struttura lineare in una struttura ad albero (qualcosa di analogo vedremo piu' avanti quando affronteremo le reti iterative).

 


Date: Sat, 20 Oct 2007 12:01:06 +0200
Subject: Tempi di propagazione dell'addizionatore con carry lookahead
Vorrei un chiarimento sui tempi di calcolo del carry out e del risultato della somma nell'addizonatore CLA da 4 bit e da 16 bit. Vorrei capire qual è il ragionamento generale da fare nel caso di n bit
C'e' una domanda di teoria (D4) sull'argomento, apparsa all'esame del 18 dicembre 2006, con relativa soluzione pubblicata sul sito:

http://www.pmar.it/retilogiche/prove/061218-X_sol.pdf

Dia prima un'occhiata a quest'ultima, dove dovrebbe essere abbastanza bene indicato come fare a calcolare i vari ritardi.

 

[ Precedente ][ Indice ][ Successivo ]


Last update 2008-01-19 12:45