Changes between Version 2 and Version 3 of AtomicOperations
- Timestamp:
- Jun 30, 2009, 8:02:52 PM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AtomicOperations
v2 v3 25 25 26 26 {{{ 27 _itmask# enter critical section27 _itmask # enter critical section 28 28 # lock acquisition 29 29 loop LL Reg1 @ # Reg1 <= M[@] … … 48 48 49 49 The actions done by the memory cache controller for the various commands are described below : 50 50 51 51 '''LL(SRCID, X)''' 52 52 {{{ … … 103 103 If (RESERVED = true & ADDRESS = X) { // local spin-lock 104 104 return the read data to the processor 105 } else { 105 } else { // first LL access 106 106 RESERVED <= true 107 107 ADDRESS <= X … … 117 117 and return the Boolean response to the processor 118 118 RESERVED <= false 119 } else { 119 } else { // failure 120 120 return a false value to the processor 121 121 RESERVED <= false … … 125 125 '''INVAL(L) or UPDATE(L) from memory controller''' 126 126 {{{ 127 If (ADDRESS = L) { 127 If (ADDRESS = L) { // invalidate reservation 128 128 RESERVED <= false 129 129 }