« ELECOMのWDC-150SU2MをZYNQのLinuxから使う | トップページ | Cosmo-ZのMCAでK-40の効果を確認 »

2019.10.02

ZYNQのXC7Z007Sにすれば消費電力は減るか?

ZYNQにはシングルコアのXC7Z007Sというのがあります。

CPUが1個しか入っていないし、PLも小さいはずだから、これを使うと消費電力が削減できるかと思ったのですが、どうでしょうか?

 

実験してみました。

使ったボードは、ZynqberryのTE0726-03MとTE0726-S。型番の末尾が-03MのほうはXC7Z010が、-Sのほうは007Sが搭載されています。

Zb3ms

Zynqberryでは同じ基板でZYNQのサイズだけが違うので、消費電力の比較が容易にできます。

今回はUSBのバスパワーではなくて、ピンを立てて安定化電源から給電し、安定化電源の表示から電流を読み取ります。

その結果は以下のとおり

  • リセット中・・・007S=200mA、010=200mA
  • SPI ROMにboot.binがなく起動しない状態・・・007S=230mA、010=230mA
  • U-Bootが起動した状態・・・007S=380mA、010=380mA
  • Ubuntu 18.04起動中・・・007S=最大500mA、010=最大560mA ※常に変動
  • 起動完了・・・007S=470mA、010=470mA
  • LAN接続・・・007S=520mA、010=520mA

と、消費電流に全く差はありませんでした

起動時のメッセージを見ると確かに7SのほうはCPU1が存在していないのですが、それでも消費電力の差には表れてこないようです。

BitStreamのサイズも007Sと010でほとんど違いがないので、ひょっとしたら007Sは010と同じダイを使っていて、何かのヒューズを切っているだけなのかもしれませんね。

では、処理速度はどうでしょうか。

Unixbenchというのを走らせてみました。Unixbenchの各測定項目の意味は、https://blog.idcf.jp/entry/cloud/unixbench/ のページが詳しく書かれています。

まずは、シングルコアの007Sの結果です。

Benchmark Run: Wed Oct 02 2019 03:02:57 - 03:31:48
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 3431135.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 519.8 MWIPS (10.0 s, 7 samples)
Execl Throughput 493.7 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 70046.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 20825.9 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 168673.4 KBps (30.0 s, 2 samples)
Pipe Throughput 180698.7 lps (10.0 s, 7 samples)
Pipe-based Context Switching 38948.6 lps (10.0 s, 7 samples)
Process Creation 1415.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 953.3 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 122.6 lpm (60.2 s, 2 samples)
System Call Overhead 299745.8 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 3431135.0 294.0
Double-Precision Whetstone 55.0 519.8 94.5
Execl Throughput 43.0 493.7 114.8
File Copy 1024 bufsize 2000 maxblocks 3960.0 70046.9 176.9
File Copy 256 bufsize 500 maxblocks 1655.0 20825.9 125.8
File Copy 4096 bufsize 8000 maxblocks 5800.0 168673.4 290.8
Pipe Throughput 12440.0 180698.7 145.3
Pipe-based Context Switching 4000.0 38948.6 97.4
Process Creation 126.0 1415.2 112.3
Shell Scripts (1 concurrent) 42.4 953.3 224.8
Shell Scripts (8 concurrent) 6.0 122.6 204.3
System Call Overhead 15000.0 299745.8 199.8
========
System Benchmarks Index Score 160.9

トータルスコア160.9という値でした。

次に普通のZYNQの010ですが、Unixbenchは、CPUコアが複数ある場合は1個、2個と順にスレッドを増やしていって実力を測ってくれます。

最初の結果はコアを1個だけ使った場合の値です。

Benchmark Run: Wed Oct 02 2019 03:36:57 - 04:05:40
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 3433203.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 519.7 MWIPS (10.0 s, 7 samples)
Execl Throughput 474.6 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 70368.4 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 20844.5 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 170183.5 KBps (30.0 s, 2 samples)
Pipe Throughput 179739.3 lps (10.0 s, 7 samples)
Pipe-based Context Switching 25262.2 lps (10.0 s, 7 samples)
Process Creation 1372.7 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1202.7 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 215.8 lpm (60.1 s, 2 samples)
System Call Overhead 295821.1 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 3433203.0 294.2
Double-Precision Whetstone 55.0 519.7 94.5
Execl Throughput 43.0 474.6 110.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 70368.4 177.7
File Copy 256 bufsize 500 maxblocks 1655.0 20844.5 125.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 170183.5 293.4
Pipe Throughput 12440.0 179739.3 144.5
Pipe-based Context Switching 4000.0 25262.2 63.2
Process Creation 126.0 1372.7 108.9
Shell Scripts (1 concurrent) 42.4 1202.7 283.6
Shell Scripts (8 concurrent) 6.0 215.8 359.6
System Call Overhead 15000.0 295821.1 197.2
========
System Benchmarks Index Score 164.9

結果は164.9と、ほぼシングルコアのZYNQと同じ値でした。わずかに高い値が出ているのはシステムのバックグラウンドなプロセスにCPUパワーを割かなくていいからではないかと思います。

 

最後は010のPSのCPUを2コア使った場合です。

Benchmark Run: Wed Oct 02 2019 04:05:40 - 04:34:42
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables 6865760.4 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1040.0 MWIPS (10.0 s, 7 samples)
Execl Throughput 850.3 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 126927.2 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 34896.2 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 312419.7 KBps (30.0 s, 2 samples)
Pipe Throughput 359498.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 75371.8 lps (10.0 s, 7 samples)
Process Creation 2314.4 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1659.5 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 214.6 lpm (60.2 s, 2 samples)
System Call Overhead 582074.3 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 6865760.4 588.3
Double-Precision Whetstone 55.0 1040.0 189.1
Execl Throughput 43.0 850.3 197.7
File Copy 1024 bufsize 2000 maxblocks 3960.0 126927.2 320.5
File Copy 256 bufsize 500 maxblocks 1655.0 34896.2 210.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 312419.7 538.7
Pipe Throughput 12440.0 359498.4 289.0
Pipe-based Context Switching 4000.0 75371.8 188.4
Process Creation 126.0 2314.4 183.7
Shell Scripts (1 concurrent) 42.4 1659.5 391.4
Shell Scripts (8 concurrent) 6.0 214.6 357.7
System Call Overhead 15000.0 582074.3 388.0
========
System Benchmarks Index Score 295.0

だいたい2倍弱の性能が出ました。

Unixbench_20191003005101

この結果からわかることは、複数スレッドを同時に走らせればシングルコアの7Sよりも010のほうが2倍ほど速いという当然の結果ですが、逆に今まで動かしていたZYNQのLinuxは間違いなく2コア同時に動いていたのだと安心できる結果でした。

007Sと010の消費電力は変わらないことと、複数スレッドの時には010は2倍のパワーが出るということが確認できました。

 

 

|

« ELECOMのWDC-150SU2MをZYNQのLinuxから使う | トップページ | Cosmo-ZのMCAでK-40の効果を確認 »

コメント

複数スレッドを同時に走らせた場合の消費電流はどうなのでしょうか?

投稿: | 2019.10.18 11:53

>複数スレッドを同時に走らせた場合の消費電流
ほとんど変わりません。

投稿: なひたふ | 2019.10.21 16:35

コメントを書く



(ウェブ上には掲載しません)




« ELECOMのWDC-150SU2MをZYNQのLinuxから使う | トップページ | Cosmo-ZのMCAでK-40の効果を確認 »