Skip to content
Snippets Groups Projects
  • Sophie Coudert's avatar
    eec22a69
    Definitions.h · eec22a69
    Sophie Coudert authored
    --------------
    Ajout de constantes pour les types de transaction:
    
    // length has not been computed
    // length has been computed
    
    Transaction.h
    --------------
    Ajout d'un nouveau protected attribut et de ses accès:
    unsigned int _transType
    inline void setTransType(byte i) {_transType=i;}
    inline byte getTransType() {return _transType;}
    Rectification du calcul de endTime pour les transactions bus
    !!WARNING: nonsens si _transtype est BUS_TRANS_NoLength
    
    SingleCoreCPU.cpp
    ----------------
    Mise à jour de _nexttransaction->transType dans calcStartTimeLength
    Révision du starttime des transactions bus
    Restriction de truncateAndAddNextTrans aux nonComm transactions
    Ajout du calcul de longueur des transactions bus dans getNextTrans.
    Rectification des calculs de longueur virtuelle à un arrondi supérieur plutôt
    qu'inférieur.
    ajout du nouvel algorithme (protected):
    void truncateNextTrans(TMLTime iTime);
    
    MultiCoreCPU.cpp
    -----------------
    Report des modifs de SingleCore.cpp, à l'identique.
    
    BusMaster.h:
    ------------
    ajout de l'export:
    	//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    	inline SchedulableCommDevice* getNextBus() {return _nextBus;}
    pour le rendre accessible au nouveaux (truncateNextTrans, CPU::addtrans)
    
    Bus.h:
    ------
    sorti des protected:
    	void calcStartTimeLength(TMLTime iTimeSlice) const;
    pour le rendre accessible au nouvel algo (truncateNextTrans)
    ajout de calcLength() dans les exportés
    
    Bus.cpp:
    --------
    correction de la mise à jour du StartTime dans calcStartTimeLength
    deplacement du calcul de longueur de calcStartTimeLength vers nouvelle
    méthode calcLength.
    déplacement de la prise en compte du burstsize de schedule vers
    calcStartTimeLength
    
    SchedulableCommDevice.h:
    ------------------------
    ajout de l'export:
    	virtual void calcStartTimeLength(TMLTime iTimeSlice) const=0;
    pour le rendre accessible aux nouveaux algos
    (truncateNextTrans, xxxCPU:addtrans)
    
    TMLChannel.h/.cpp
    ------------------
    ajout d'une methode isLastMaster qui teste sans faire avancer le master courrant.
    
    Simulator.cpp
    --------------
    ligne 1101, remplacement de depNextTrans=depCPU->getNextTransaction();
    par depNextTrans=depCPU->SchedulableDevice::getNextTransaction();
    pour ne pas rater les transactions bus not granted...
    eec22a69
    History
    Definitions.h
    Sophie Coudert authored
    --------------
    Ajout de constantes pour les types de transaction:
    
    // length has not been computed
    // length has been computed
    
    Transaction.h
    --------------
    Ajout d'un nouveau protected attribut et de ses accès:
    unsigned int _transType
    inline void setTransType(byte i) {_transType=i;}
    inline byte getTransType() {return _transType;}
    Rectification du calcul de endTime pour les transactions bus
    !!WARNING: nonsens si _transtype est BUS_TRANS_NoLength
    
    SingleCoreCPU.cpp
    ----------------
    Mise à jour de _nexttransaction->transType dans calcStartTimeLength
    Révision du starttime des transactions bus
    Restriction de truncateAndAddNextTrans aux nonComm transactions
    Ajout du calcul de longueur des transactions bus dans getNextTrans.
    Rectification des calculs de longueur virtuelle à un arrondi supérieur plutôt
    qu'inférieur.
    ajout du nouvel algorithme (protected):
    void truncateNextTrans(TMLTime iTime);
    
    MultiCoreCPU.cpp
    -----------------
    Report des modifs de SingleCore.cpp, à l'identique.
    
    BusMaster.h:
    ------------
    ajout de l'export:
    	//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    	inline SchedulableCommDevice* getNextBus() {return _nextBus;}
    pour le rendre accessible au nouveaux (truncateNextTrans, CPU::addtrans)
    
    Bus.h:
    ------
    sorti des protected:
    	void calcStartTimeLength(TMLTime iTimeSlice) const;
    pour le rendre accessible au nouvel algo (truncateNextTrans)
    ajout de calcLength() dans les exportés
    
    Bus.cpp:
    --------
    correction de la mise à jour du StartTime dans calcStartTimeLength
    deplacement du calcul de longueur de calcStartTimeLength vers nouvelle
    méthode calcLength.
    déplacement de la prise en compte du burstsize de schedule vers
    calcStartTimeLength
    
    SchedulableCommDevice.h:
    ------------------------
    ajout de l'export:
    	virtual void calcStartTimeLength(TMLTime iTimeSlice) const=0;
    pour le rendre accessible aux nouveaux algos
    (truncateNextTrans, xxxCPU:addtrans)
    
    TMLChannel.h/.cpp
    ------------------
    ajout d'une methode isLastMaster qui teste sans faire avancer le master courrant.
    
    Simulator.cpp
    --------------
    ligne 1101, remplacement de depNextTrans=depCPU->getNextTransaction();
    par depNextTrans=depCPU->SchedulableDevice::getNextTransaction();
    pour ne pas rater les transactions bus not granted...