Changeset 16 for trunk/src/processor.cpp
- Timestamp:
- Jun 24, 2009, 4:56:12 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/processor.cpp
r5 r16 1 1 #include "processor.h" 2 2 3 4 // Pilote du simulateur 5 // lit une addresse dans un fichier si il y a encore des addresses 6 // à lire et si la file d'attente n'est pas pleine 3 7 void Processor::driver() 4 8 { 9 out_activate = false; 10 5 11 // Si il y a encore des addresses à envoyer 6 12 if (!file.eof()) { 7 8 // On active le composant recepteur9 out_activate = true;10 13 11 14 // Et que la file n'est pas pleine, alors on les envoie … … 22 25 23 26 if (file.eof()){ 24 out_activate = false;25 27 return; 26 28 } … … 36 38 queue->insert(*addr); 37 39 40 // Lecture : 41 out_data = address; 42 out_activate = true; 38 43 read(*addr, &data); 44 39 45 } 46 // 40 47 // Si la file est pleine, il faudra attendre un cycle dans la même 41 48 // position 42 49 } 43 // Si il n'y a plus d'addresses à envoyer, on désactive la réception du44 // coté cache l1.45 else {46 // FIXME normalement, c'est superflu47 // on désactive la reception du coté du cache L148 out_activate = false;49 }50 50 } 51 51 52 // Est appelée lorsqu'une réponse depuis le cache L1 est envoyée. 52 53 void Processor::completed() 53 54 { 54 55 if (in_activate) { 56 cout << "processeur activé" << endl; 55 57 cout << sc_time_stamp() << " Processor : la donnée " << in_data << " est arrivée" << endl; 56 58 //queue->print(); 57 59 RawAddress address = in_data; 58 60 queue->remove(address); 61 cout << "--------------- processeur : état de la queue : " << endl; 62 queue->print(); 59 63 } 60 64 } … … 64 68 // ici, if ready 65 69 out_data = address; 70 out_activate = true; 66 71 } 67 72
Note: See TracChangeset
for help on using the changeset viewer.