HelloWorld本 第9章
最適化 最適化とデバッグは背反の関係にある。 書籍のコードでは-O0は45バイト、-O1は44バイト、-O2は41バイト、-Osは44バイトである。 -Osは-O2の内、サイズを増大しないオプシ...
10 search resultsShowing 1~10 results
You need to log-in
最適化 最適化とデバッグは背反の関係にある。 書籍のコードでは-O0は45バイト、-O1は44バイト、-O2は41バイト、-Osは44バイトである。 -Osは-O2の内、サイズを増大しないオプシ...
ELF Linuxはexecveシステムコールを用いて、ELFの実行ファイルを起動する。 セクションはリンク、セグメントはロードの単位である。 セクションヘッダは追加と削除の為、ファイルの終端付...
組み込みOSと汎用OS 組み込みOSには、主に最適化されたLinuxが利用される。 汎用OSはカーネルと必須アプリケーションから構成され、Windows・macOS・Ubuntu等が存在する。 ...
printf() glibc/stdio-common/printf.cに定義される。 int __printf(const char *format, ...) { va_list arg; ...
プログラム実行の流れ _start() __libc_start_main() exit(main()) _start() glibc/sysdeps/i386/start.Sに定義される。 #...
glibc GNUの標準Cライブラリ実装であり、スタートアップ・システムコールラッパー・ライブラリ関数を提供する。 アセンブラと最適化に詳しい場合、自作することもできる。 アセンブラが必要な機能...
パイプライン 複数の命令をオーバーラップ実行し、高速化を図るCPUの仕組み。 命令を読み出す (命令フェッチ) 制御信号を生成し、レジスタを決定する (命令デコード) レジスタを参照し、命令を実...
システムコールの流れ アプリケーションはシステムコールラッパーを呼び出す システムコールラッパーはレジスタに引数を設定し、システムコール命令を実行する SAVE_ALLでレジスタを保存し、*sy...
キャッシュの更新 次のシステムのメモリアクセスを考える。 1次キャッシュ (命令キャッシュとデータキャッシュ) 2次キャッシュ (命令とデータの区別無し) 外部メモリ 1次データキャッシュに存在...
バッテリー容量の限界 1998年の携帯電話のRAMは64KB、フラッシュメモリは1MB、バッテリー容量は900mAh。 2015年のスマートフォンのRAMは3GB、フラッシュメモリは128GB、...
10 search resultsShowing 1~10 results
Qiita is a knowledge sharing service for engineers.