タグ

2014年1月19日のブックマーク (6件)

  • ビットを数える・探すアルゴリズム

    作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを

    ryochack
    ryochack 2014/01/19
    x86でのビットを数える命令は“POPCNT”
  • x86x64 SSE4.2 POPCNT

    2. ビットを数える例題ここにいるバイナリアンの数は何人か?机 1 0 0 1 = 0x0A (ビット2個)机 1 1 1 1 = 0x0F (ビット4個)机 1 1 1 0 = 0x0E (ビット3個)机 1 1 1 1 = 0x0F (ビット4個)机 1 1 1 1 = 0x0F (ビット4個)合計 17人 4. (1) popCount 8bit If1 byte あたり 8回条件分岐して bit を数える for (int i = 0; i < n; i++) { if (*x & 0x01) c++; if (*x & 0x02) c++; if (*x & 0x04) c++; if (*x & 0x08) c++; if (*x & 0x10) c++; if (*x & 0x20) c++; if (*x & 0x40) c++; if (*x & 0x80) c++; x

    x86x64 SSE4.2 POPCNT
    ryochack
    ryochack 2014/01/19
    ビットサーチ、ビットを数える
  • Make: Japan | How-To:BeagleBoneをはじめよう

    Linux搭載のボードがずっと気になってたけど、どこから始めればいいかわからなかった。しかし、Maker ShedがBeagleBoneの販売を開始したときに、試供品をひとつもらうことにした。ボードに付属の解説書はちょっと威圧的で、初心者向けとは思えない(便利な情報が満載なのだが)。ネットで少し調べてみると、BeagleBoneのGPIOピンの読み出しとコントロールをLinuxのバーチャルファイルシステム、sysfsで行う方法がわかってきた。同時に、Pythonでスクリプトを書く勉強もした。基のdigitalReadとdigitalWriteに加えて、このボードでクールなプロジェクトを作るためのたくさんのツールも覚えた。 長い時間をかけてボードと解説書とスクリプトの間を行ったり来たりしながらLEDの点滅とボタンの回路を作り上げていったのだが、ヘッダの物理的なピンと、スクリプトで参照するピ

  • QEMUで開発用仮想環境構築(Mac編)

    はじめに Raspberry Pi を立ち上げた後、以下の作業を行った。 初期設定 SSH越しにstartxでGUIが起動するのを確認 aptを用いてzsh、vim、git、mercurialをインストール bitbucket.orgから、普段使っているzshとvimの設定ファイルをダウンロード ここまで済ませたところで、vimの速度がえらく遅いことに気づいた。これでは実機でvimを用いて開発するのは気が進まない。 というわけで、開発用の仮想環境を構築することにした。 実施した作業 仮想化といえば今までずっとVirtualBoxを使ってきたが、Raspberry PiのCPUはARMのため、この方法は使えない。というわけで調べてみると、QEMUを用いた先行事例を複数確認した。というわけで先人に倣い、QEMUを利用することにした。 QEMUのインストール QEMUはMacPortsに入ってい

    QEMUで開発用仮想環境構築(Mac編)
  • Home

    5000円以下で買え、ほしいと思ったら翌日には届く高性能ボードは、壊してナンボってことで、いろいろ挑戦してみましょう。 作業環境は、Ubuntu 12.04を想定しています。 BeagleBone Blackで、こんなことやってるよって方がいたら、紹介してね! ご意見、ご要望、ミスの指摘は、twitter:@kinnekoか、kinneko@gmail.comまで。 なぜBeagleBone Blackを使うのか BeagleBone Blackの概要(予定) 箱から出してみる とりあえず単体で使ってみる USBマスストレージとしてマウント USBをEthernetとして認識させる START.htmを開く sshでリモート接続する BeagleBone Black内臓のWebページ Amazonで買える周辺デバイス 体 ケース micro HDMIケーブル ACアダプタ シリアル変換ユ

    Home
  • カーネル/VM式 ARMマイコン入門

    カーネル/VM式 ARMマイコン入門 Presentation Transcript カーネル/VM式 ARMマイコン入門 Naomasa Matsubayashi @fadis_ Naomasa Matsubayashi BeagleBoardって知ってる? スマートフォンとかに載ってるARMプロセッサ DVI-D $150 USB Ethernet BeagleBoard $125 RaspberryPi $25 超特価 BeagleBone 89 $ RaspberryPi $25 BeagleBoneBlack 5 $4 RaspberryPi $25 USB OTG microHDMI どうやって起動すれば良いの? eMMC eMMCとは マルチメディアカードの ガワを無くして 基板に直接ハンダ付け できるようにしたもの BeagleBoneBlackのeMMCには 最初からÅn