[Suzaku:01156] Re: microblazeのキャッシュ動作の検証について

Yasuhiro Omori email@hidden
2008年 4月 8日 (火) 16:01:06 JST


お世話になっております、三菱電機大森です。

> 古いカーネルは、Dataサイドのキャッシュが有効にされておりませんでした。
> もし、古いものだとすると、DRAMにアクセスするのに、またはOPBにアクセスするのに
> 2つのCPUで競合が起きていた可能性があります。
> お手数ですが、最新のカーネルやDist、開発環境で
> 動作検証を試してみていただけますでしょうか。

カーネルを最新版に変更したところ、
 2つのCPUで競合が起きているような動作はしなくなりました。

古いカーネルの時に、2つのCPUでベンチマークを動作させた時の実行時間は、
13.13秒(命令キャッシュ4K、データキャッシュ4K)で、
新しいカーネルに変えたところ、同じ構成で、実行時間は3.18秒となりました。

CPUが1つ(命令キャッシュ4K、データキャッシュ4K)の時も、
実行時間は3.18秒となり、CPUが1つでも2つでも同じ結果となり、
CPUでの競合は起きていないと思われます。

ちなみに、古いカーネルの場合、データキャッシュにアクセスするところを、
OPBやDRAMにアクセスしていたために、頻繁に競合処理が起きていた
ということでしょうか?

----- Original Message ----- 
From: "kawaoka" <email@hidden>
To: "SUZAKU general discussion list" <email@hidden>
Sent: Thursday, April 03, 2008 10:30 AM
Subject: [Suzaku:01151] Re: microblazeのキャッシュ動作の検証について


> 川岡と申します。
>
>
> 古いカーネルは、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 mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku 




suzaku メーリングリストの案内