Hi Max,

Please see if the problem persists with the dev branch. There is a bug
with recvRetry() which is causing applu, gcc, and perlbmk to fail
(ref.  inorder test status page through the inorder documentation
page: http://www.m5sim.org/wiki/index.php/InOrder) even in the default
configuration (i.e. L1 hit latency 2 cycles, etc.). Korey has a patch
to fix it but it is currently untested.

Btw, a best case L1 hit latency of 2 cycles is not unrealistic for
high perf. processors (e.g. PowerPC MPC7450 family). Perhaps, somebody
else can comment on this for inorder processors.

regards,
Soumyaroop

On Tue, Jan 19, 2010 at 8:08 AM, Maximilien Breughe
<[email protected]> wrote:
> Hello,
>
> I'm having a problem to use the InOrderCPU core with an L2 cache when
> adjusting the I-L1-latency.
> Is there anyone else who countered the same problem?
> I use ALPHA_SE and the latest stable M5-version.
>
> Description:
> -----------------
> I configured my CPU to run at 2GHz. The default value of the Instruction
> L1-latency is 1 ns. This means that it would take 2 clock-cycles of the
> CPU to get something from the instruction L1 cache, which is unrealistic.
> Therefore I can either adjust the CPU's clock frequency to 1GHz or
> adjust the latency of the L1 cache to 0.5ns. When using the second
> option I get the following error when I also add an L2-cache:
>
> 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
> m5.opt: build/ALPHA_SE/cpu/inorder/resources/cache_unit.cc:722: void
> CacheUnit::recvRetry(): Assertion `cacheBlocked' failed.
> Program aborted at cycle 39145001
>
>
> ./run-max.sh: line 48:  1406 Aborted                 ./${binary} -d
> "${outputdir}" --trace-flags="Exec" --trace-file="tracedmp" "${script}"
> --output "${benchout}" --bench "${1}" ${cpumodel} --caches --l2cache
>
> When I only use an L1 cache no error occurs. Also for other L1-latencies
> everything works fine when I do attach an L2 cache.
>
> Example:
> ------------
> Unfortunately I do not get this error for the hello-benchmark, but I do
> get it for simple code-fragments like this one:
>
> #include <iostream>
> using namespace std;
>
> int main(){
>         double result=1;
>         double x;
>         while(cin>>x){
>                 result*=x;
>         }
>         cout<<"The result of the multiplication session is "<<result<<endl;
> }
>
> To run this program you need to provide an inputfile that contains
> numbers seperated by spaces:
> ./a.out < inputfile
>
>
> Thank you!
>
>
> Max
>
> _______________________________________________
> m5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>



-- 
Soumyaroop Roy
Ph.D. Candidate
Department of Computer Science and Engineering
University of South Florida, Tampa
http://www.csee.usf.edu/~sroy
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to