[Suzaku:01151] Re: microblazeのキャッシュ動作の検証について
kawaoka
email@hidden
2008年 4月 3日 (木) 10:30:46 JST
川岡と申します。
古いカーネルは、Dataサイドのキャッシュが有効にされておりませんでした。
もし、古いものだとすると、DRAMにアクセスするのに、またはOPBにアクセスするのに
2つのCPUで競合が起きていた可能性があります。
お手数ですが、最新のカーネルやDist、開発環境で
動作検証を試してみていただけますでしょうか。
Yasuhiro Omori さんは書きました:
> お世話になります、三菱電機 大森です。
>
> 現在、SUZAKU-SZ130にて、CPUコアが2つで動作する
> システムを作成しております。
>
> この2つのCPUにキャッシュを持たせて動作させているのですが、
> 動作結果から、2つのCPUでキャッシュが共有されているような
> 結果が得られています。
>
> 作成した構成のイメージは以下のような形です。
>
> +-----------+
> | Block RAM |
> +-----------+
> | |
> iLMB dLMB
> | |
> +------------+ +------------+
> | Microblaze | | Microblaze |
> | +-----+ | | +-----+ |
> | |cache| | | |cache| |
> | +-----+ | | +-----+ |
> | | | |
> iOPB dOPB iOPB dOPB
> | | | |
> +---------------------------+
> | DRAM |
> +---------------------------+
>
> 片方のMicroblazeについているBRAMは、
> Linuxを立ち上げるためのBBoot用です。
>
> この構成で、Linuxを立ち上げ、Linux上でベンチマークを動作させ、
> その実行時間の結果を調べています。
>
> 2つのCPUには、同じベンチマークを実行させています。
>
> 各々のCPUが持つ、キャッシュ領域が独立しているならば、
> CPUが1つの時でも、CPUが2つの時でも、実行時間はほぼ同じになると思います。
>
> ですが、実際にはCPUが1つの時の実行時間に比べ、
> CPUが2つの場合の方が、1.5倍程度遅い結果
> (CPU1つの時が7.4秒、CPU2つの時が13.3秒)となり、
> 2つのCPUが同じキャッシュを使用しており、
> バス上での競合などが起きているのでは、という考えに至りました。
>
> イメージとしては、以下のような形になっていると思っています。
>
> +-----------+
> | Block RAM |
> +-----------+
> | |
> iLMB dLMB
> | |
> +------------+ +------------+
> | Microblaze | | Microblaze |
> +------------+ +------------+
> | +------+ |
> |------- |cache| --------|
> +------+
> | |
> iOPB dOPB
> | |
> +-------------------------------+
> | DRAM |
> +-------------------------------+
>
>
> 本当に上記の図のような構成になっているのかを検証したい場合、
> どのような調べ方をしたら良いのか、わかる方がいらっしゃいましたら、
> ご教授お願いいたします。
>
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku
>
suzaku メーリングリストの案内