Changeset 119 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_transition.cpp
- Timestamp:
- May 25, 2009, 7:40:26 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_transition.cpp
r118 r119 255 255 else 256 256 { 257 // load_queue_push if speculative_access_queue have access at the dcache, or they have an event 258 bool load_queue_push = (_speculative_access_queue [internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._state == SPECULATIVE_ACCESS_QUEUE_WAIT_LOAD_QUEUE); 259 257 260 //================================================================ 258 261 // Interface "MEMORY_OUT" … … 898 901 899 902 _speculative_access_queue [index]._exception = exception; 900 901 log_printf(TRACE,Load_store_unit,FUNCTION," * index : %d",index);902 903 } 903 904 } … … 906 907 // Interface "DCACHE_REQ" 907 908 //================================================================ 908 bool load_queue_push = (_speculative_access_queue [internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._state == SPECULATIVE_ACCESS_QUEUE_WAIT_LOAD_QUEUE);909 910 909 if (( internal_DCACHE_REQ_VAL == 1) and 911 910 (PORT_READ(in_DCACHE_REQ_ACK[0]) == 1)) … … 948 947 if (load_queue_push) 949 948 { 949 log_printf(TRACE,Load_store_unit,FUNCTION," * load_queue_push"); 950 950 951 Tlsq_ptr_t ptr_write = _speculative_access_queue[internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._load_queue_ptr_write; 951 952 Toperation_t operation = _speculative_access_queue[internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._operation; 952 953 Texception_t exception = _speculative_access_queue[internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._exception; 953 954 bool have_exception = (exception != EXCEPTION_MEMORY_NONE); 955 bool need_check= false; 954 956 955 957 if (have_exception) … … 963 965 { 964 966 // load 967 need_check = true; 965 968 _load_queue [ptr_write]._state = LOAD_QUEUE_WAIT_CHECK; 966 969 } … … 1020 1023 1021 1024 // Only load need check 1022 if (is_operation_memory_load(_load_queue [ptr_write]._operation)) 1025 if (need_check) 1026 // if (is_operation_memory_load(_load_queue [ptr_write]._operation)) 1023 1027 { 1024 1028 log_printf(TRACE,Load_store_unit,FUNCTION," * update nb_check");
Note: See TracChangeset
for help on using the changeset viewer.