パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

IntelがSDカードサイズのコンピュータ「Edison」を発表」記事へのコメント

  • by Anonymous Coward on 2014年01月08日 20時09分 (#2523995)

    処理性能に関して記事にないってことはIntelが発表で触れていないってことか?
    Intelが性能を発表しないってことはお察しってことだな。

    • 多分、以前発表のあったQuark SoC X1000とは別のチップかと思われます。X1000はsingle coreです。今回のチップはデュアルコアと明記されています。

      CPUコアはP54C互換というのは変わらないと思いますが、コアが増えているので消費電力面からクロックが下がっている(X1000はMax 400MHz)可能性もあります。

      --
      ほえほえ
      親コメント
    • by Anonymous Coward on 2014年01月09日 0時13分 (#2524117)

      Galileoの記事ですが、

      『Intel Galileoを試す - 超小型SoC「Quark X1000」搭載のArduino互換ボード』
      http://news.mynavi.jp/articles/2013/12/28/galileo/002.html [mynavi.jp]


      #define REPEAT 90000
      void setup()
      {
          pinMode(13, OUTPUT);
      }

      void loop()
      {
          unsigned long lpCnt1,lpCnt2,lpCnt3;
          unsigned long num;

          delay(1000);
          digitalWrite(13, HIGH);
          for(lpCnt1=0; lpCnt1<500; lpCnt1++)
          {
              for(lpCnt2=0; lpCnt2<REPEAT; lpCnt2++)
              {
                  for(lpCnt3=0; lpCnt3<REPEAT; lpCnt3++)
                  {
                      num+=lpCnt2+lpCnt3;
                  }
              }
          }
          if(num) digitalWrite(13, LOW);
          else digitalWrite(13, LOW);
          while(1);
      }

      「81億回の足し算を500回繰り返す」処理が「約1秒未満(一瞬)」で、「性能は猛烈に高い」だそうです(ってアホか)。

      親コメント
      • by Anonymous Coward on 2014年01月09日 2時05分 (#2524152)

        > 「81億回の足し算を500回繰り返す」処理が「約1秒未満(一瞬)」で、「性能は猛烈に高い」だそうです(ってアホか)。

        400MHz で、81億×500回の加算を実行できるとすると、instruction per clock
        は、10125以上! べらぼうに速い!…てなわけがなくて、何か勘違いしてますね、
        これきっと。
        実際は、これより10進で4桁以上少ない演算しかしてないはず。
        プログラムの字面は確かに90000*90000*500回のループなので、コンパイラが
        最適化してループを定数計算に直しちゃってる?

        親コメント
        • > 最適化してループを定数計算に直しちゃってる?

          多分そうですね
          例えば gcc-4.8 だと-O2 以上でループが定数計算になります.抜粋すると,こんな感じです

                          .globl loop
                          .type loop, @function
          loop:
          .LFB1:
                          .cfi_startproc
                          subl $28, %esp
                          .cfi_def_cfa_offset 32
                          movl $1000, (%esp)
                          call delay
                          movl $2, 4(%esp)
                          movl $13, (%esp)
                          call digitalWrite
                          movl $1, 4(%esp)
                          movl $13, (%esp)
                          call digitalWrite
          .L4:
                          jmp .L4
                          .cfi_endproc

          親コメント
      • by minet (45149) on 2014年01月09日 7時52分 (#2524198) 日記

        ですよねえ。
        えっこれ、コンパイラ最適化の効果を示すためのコード例ですよね。 って思った。

        親コメント
      • by Anonymous Coward

                    num+=lpCnt2+lpCnt3;

        てかこれだけで加算二回してるしね、
        「81億回の足し算を500回繰り返す」
        →162億回の加算を500回、= 8.1兆回の加算ですか、コンパイラの最適化もなくそのままなら。

      • by Anonymous Coward

            if(num) digitalWrite(13, LOW);

            else digitalWrite(13, LOW);

        numの値に関わらず処理が同じなら、numの値を算出するループ処理はバッサリ削除される可能性はフツーに考えられますね。

        • by Anonymous Coward

          numの値を算出するループ処理

          そもそもnumの初期化してないんで算出される値も不定では

      • by Anonymous Coward

        Galileo の開発環境である Arduino IDE 1.5.3 で同スケッチをビルドした際に生成された .o を objdump -d したところ、loop() のコードは


        Disassembly of section .text._Z4loopv:

        00000000 <_Z4loopv>:
              0: 55 push %ebp
              1: 89 e5 mov %esp,%ebp
              3: 83 ec 14 sub $0x14,%esp
              6: 68 e8 03 00 00 push $0x3e8
              b: e8 fc ff ff ff ca

    • by Anonymous Coward

      これで分散処理に特化してみたら面白いかも
      それかブレードサーバーより小さなニードルサーバーとか

    • by Anonymous Coward

      quarkは486コアでクロックなりの性能ですよ

身近な人の偉大さは半減する -- あるアレゲ人

処理中...