Mais conteúdo relacionado Semelhante a 20110611 v7unix-b (14) 20110611 v7unix-b2. コンセプト
• 講座のコンセプト
– 現在のUNIX系実装の源流となるV7~近代のカーネルコードを読
み解き進化の系譜を知る
• この資料のコンセプト
– 出来るだけQuickに(1ヶ月放置の反省)
• 実は2回目まであと*時間という
– 他受講生の絶賛資料と同じことを書いてもナンセンス
• B面的役割に回る
– 今回に限ってはA面の補足的に
• Blog化予定、そこでは同じ内容も含めてまとめ予定
• 組込みCPU/Kernelとの比較もやっていきたい
3. パイプライン処理について1
• CPUを構成する回路において、制御装置と演算装置に適用される
– 本講座では制御装置の先回り制御 (advanced control) に該当
– 命令はマイクロ操作列に分解でき、命令取り出し段階も含めて高速化を図れる
• メモリーアクセスの動作順序
– IF(Instruction Fetch)
• PCの示すアドレスから命令語を取り出しIRに格納する
– D(Decode)
• IRに格納された命令語のオペコードを制御装置で解読する
– A(Address Translate)
• IRのアドレス、インデクスレジスタ等からデータアドレスを計算
– OF(Operand Fetch)
• オペランドのデータをメモリーから読み出す
– E(Execute)
• オペコードで指定された処理の実行
4. パイプライン処理について2
t(時間)
命令1 IF D A OF E
命令2 IF D A OF E
命令3 IF D A OF E
命令4 IF D A OF E
命令5 IF D A OF E
命令6 IF D A OF E
・
・
・
τ
プログラム
T(=Nτ')
各処理の時間がすべて等しくτの理想的な場合は処理速度N倍
6. user.h (struct u_exdata)
• セクション情報の構造体
– text, data, bss, entry locationなど
• メモリの配置位地(領域)に関する情報
– text,data ROMに置かれる定数や固定値が配置される
– bss : Block Started by Symbol
• シンボル名で示された番地から始まるメモリブロック
• 初期化されない変数が置かれる領域
• ELF (Executable and Linkable Format) での定義
– このセクションには、プログラムが使うメモリのうち、初期化されていないデー
タ(変数)が入っている。定義では、システムはプログラムを走らせる前、ゼロ
で初期化される必要がある。このセクションはSHT_NOBITSなるセクション種
別が示すとおり、ファイル内に初期化値を持たない。