|
Message
From: zhang_lsv@y...<zhang_lsv@y...>
Date: Mon Dec 20 19:10:08 CET 2004
Subject: [openrisc] OpenRisc Benchmarking
Hi, I am working on the or1k benchmarking. What I did is using the same application C programs, compiling them and runing them on various core simulators. The number I got with the or1k is much larger than other avaiable processor cores, which seems to me is not reasonable.
Here is an example, I have the following FIR C program ================== for (i=128;i<2048;i++) { dout = 0; for (j=0;j<128;j++) dout = dout + datain[i-j]*coeff[j]; } ==================
I firstly use the gcc compiler and ld to get the objective code. Then I use the "or32-uclinux-sim --enable-profiler ..". After that I use "or32- uclinux-sim profiler -c". The report shows that the above code require 72 Million cycles ! It is so high than it almost equals to 100 times of others' number. Looking at the code, it actually only has 2048*128*2 = 500K operations. Are the overhead too large ?
Is something wrong in using the toolchain ? or the simulator didnot give a correct result ?
thanks
|
 |