タグ

ブックマーク / milkpot.sakura.ne.jp (2)

  • Android のための SMP 入門

    [このドキュメントは SMP Primer for Android を翻訳したものです。] Android 3.0 およびそれ以降のプラットフォームバージョンは、 マルチプロセッサアーキテクチャをサポートするために最適化されています。 このドキュメントでは C、 C++ および Java プログラミング言語 (以降、簡潔に済ませるため単に Java と呼びます) で対称型マルチプロセッサシステム向けのコードを書く際に起き得る問題を紹介しています。 これはこの問題に対して完全に論じているわけではなく、 Android アプリ開発者のための入門書としての役割を意図しています。 主に ARM CPU アーキテクチャに焦点を当てています。 もし急いでいるのであれば、 理論 の節を飛ばして直接 実践 に行っても構いませんが、推奨されません。 目次 導入 理論 メモリ一貫性モデル プロセッサ一貫性 C

  • プログラミングノート - x86

    movl 3(%esi,%ebx,2), %eax 整数演算 ロード/ストア mov eax, [4] mov eax, [ebx] mov eax, [ebx+4] mov eax, [ecx*2+4] mov eax, [ebx+ecx] mov eax, [ebx+ecx+4] mov eax, [ebx+ecx*2] mov eax, [ebx+ecx*2+4] mov eax, [rip+4] レジスタ (eax, ebx, ecx の部分) は汎用レジスタどれでも指定できる。 シフト (*2 の部分) は 2, 4, 8 のいずれか。 オフセット (+4 の部分) は符号付き 8 ビットまたは 32 ビット。 64 ビットでは rip 相対アドレッシングが可能。 ただし単純にオフセット (符号付き 32 ビット) を加算する形式のみ。 32 ビットでは eip 相対は不可。 c

    s_ryuuki
    s_ryuuki 2020/05/08
  • 1