FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

Coremark-Proのバイナリをシミュレータで動作させてみる(失敗)

github.com

Coremark-Proのコンパイルができるようになったので、シミュレータで動作させてみた。

swimmer -h builds/linux/gcc-mips/bin/zip-test.srec -o zip-test.sw.log -c 1000000

終了までの命令数を見てみると、

==========================================================
                      Simulation Stop
              PC = 8002b5ac, InstCount = 17420
==========================================================

うーん、速すぎない?こんなときのために、コンパイル時に、システムコールでread/writeが読み出されたときはUARTに出すようにしており、 さらにUARTからの読み書きを行うとシミュレータにログが残るようにしている。

_READ_WRITE_RETURN_TYPE _EXFUN(write, (int __fd, const void *__buf, size_t __nbyte ))
{
    int todo;

    unsigned int *buf = (unsigned int *)__buf;

    for (todo = 0; todo < __nbyte; todo++) {
        UART_DR(UART0_ADDR) = *buf++;
    }
    return __nbyte;
}
grep SimIO zip-test.sw.log
SimIO => Mall(6c6c614d)
SimIO => oc F(4620636f)
SimIO => aile(656c6961)
SimIO => d fr(72662064)
SimIO => om /(2f206d6f)
SimIO => home(656d6f68)
SimIO => /vag(6761762f)
SimIO => rant(746e6172)
SimIO => /ben(6e65622f)
SimIO => chma(616d6863)
SimIO => rks/(2f736b72)
SimIO => core(65726f63)
SimIO => mark(6b72616d)
SimIO => -pro(6f72702d)
SimIO => _1.1(312e315f)
SimIO => .244(3434322e)
SimIO => 6/be(65622f36)
SimIO => nchm(6d68636e)
SimIO => arks(736b7261)
SimIO => /dar(7261642f)
SimIO => kmar(72616d6b)
SimIO => k/zi(697a2f6b)
SimIO => p/zi(697a2f70)
SimIO => p_da(61645f70)
SimIO => rkma(616d6b72)
SimIO => rk.c(632e6b72)
SimIO => :92!(2132393a)
...
Malloc Failed from /home/vagrant/benchmarks/coremark-pro_1.1.2446/benchmarks/darkmark/zip/zip_darkmark.c:92!

うわああん、調査する。