Solution Quiz automne 2009 - Moodle - Ãcole Polytechnique de ...
Solution Quiz automne 2009 - Moodle - Ãcole Polytechnique de ...
Solution Quiz automne 2009 - Moodle - Ãcole Polytechnique de ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
INF8500 - Intra - Automne <strong>2009</strong>Question 1 (4 points)SystemC et raffinement <strong>de</strong>s communicationsa) (.5 pt) Pourquoi est-il toujours préférable, lorsque cela est possible, d’utiliser leSC_METHOD plutôt que le SC_THREAD ou même le SC_CTHREAD ?C’est d’abord et avant tout une question <strong>de</strong> performance (vitesse d’exécution). En effet unSC_METHOD c’est comme une fonction C/C++ alors qu’un SC_THREAD ouSC_CTHREAD c’est implémenté à partir d’une librairie <strong>de</strong> thread POSIX (Linux) ou encoreFIBERS pour Windows. Or à cause <strong>de</strong> son implémentation dans le noyau du OS, le threa<strong>de</strong>st beaucoup moins rapi<strong>de</strong> que la fonction en temps d’exécution.b) (.5 pt) Pour quel type <strong>de</strong> lecture n’a-t-on pas le choix que d’utiliser le SC_THREAD ?Expliquez.Lecture bloquantec) (1 pt) Quelle(s) différence(s) existe-t-il entre les 2 modèles suivants (Fig. 1.1) du point <strong>de</strong>vue comportement ? Expliquez.#inclu<strong>de</strong> "systemc.h"SC_MODULE (co<strong>de</strong>1) {sc_in data, clk, reset ;sc_out q;};bool q_l ;void tff () {if (reset.read()) {q_l = 0;} else if (data.read()) {q_l = !q_l;}q.write(q_l);}SC_CTOR(co<strong>de</strong>1) {SC_METHOD (tff);sensitive