[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [update] Documentation/kernel/elf-notes.html Documentation/kernel/index.listDocumentation/kernel/kgdb.list Documentation/kernel/lazyfpu.html



>Documentation/kernel/lazyfpu.html: 1.6 -> 1.15

なんかこれだけ意味の通らないところがあるのでいじってみました。
lazy → 遅延
(FP|MMU)インストラクション → 〜命令
としたい気もするけどとりあえず保留してます。

あと、The MMU is a ... で始まる一文の訳が明らかに変です。
意味はわかるけど…、対応する日本語が出てこない…。(のでだれかよろしく:-)


*** lazyfpu.html~	Thu Nov 18 01:38:46 2004
--- lazyfpu.html	Thu Nov 18 03:32:29 2004
***************
*** 37,43 ****
  <p><h3>
  <font>どのように lazy FPU コンテキストスイッチは動作するのか</font>
  </h3><dl><dt><dd>
! FPU ハードウェアは一般的に、 current FPU コンテキストを保持するための
  ハードウェアレジスター一式を持っています。各プロセスは、
  そのプロセスが実行されていない間、プロセスの状態を保持するために、
  プロセス毎の予約済みのメモリー領域 (NetBSD/mips では u_pcb の中にあります)
--- 37,43 ----
  <p><h3>
  <font>どのように lazy FPU コンテキストスイッチは動作するのか</font>
  </h3><dl><dt><dd>
! FPU ハードウェアは一般的に、現在の FPU コンテキストを保持するための
  ハードウェアレジスター一式を持っています。各プロセスは、
  そのプロセスが実行されていない間、プロセスの状態を保持するために、
  プロセス毎の予約済みのメモリー領域 (NetBSD/mips では u_pcb の中にあります)
***************
*** 45,59 ****
  コンテキストの保存と再ロードをすることは、著しい CPU サイクルを消費します。
  
  <p>
! 最近の CPU は、FP インストラクションを実行するために、この機能を
! 無効にできる方法を提供しています。 CPU が FP インストラクションを
! 実行しようとしている時、例外が投げられ、オペレーティングシステム
! は実行中のプロセスに「自分が使う事のできる FPU がない」という状況
! の処理を開始します。 OS は、プロセスが FPU を使う事ができるように
! チェック、準備をおこないます。そして、例外が投げられた時、FP イン
! ストラクションを実行するためにプロセスを再スタートさせます。今度は、
  FP インストラクションは通常通りに実行され、後で他のプロセスが、この
! プロセスから FPU を取得するまで、「FPU が使用不可能」という状況は
  発生しません。
  
  <p>
--- 45,59 ----
  コンテキストの保存と再ロードをすることは、著しい CPU サイクルを消費します。
  
  <p>
! 最近の CPU は、FP インストラクションを実行できなくする
! 方法を提供しています。 CPU が FP インストラクションを
! 実行しようとすると例外が投げられ、オペレーティングシステム
! は実行中のプロセスに「FPU がつかえないよ」ハンドラーの
! 処理を開始します。それは、プロセスが FPU を使えるように
! チェック、準備し、それからそのプロセスを
! 例外を発生させた FP インストラクションから再実行させます。今度は、
  FP インストラクションは通常通りに実行され、後で他のプロセスが、この
! プロセスから FPU を奪うまで、「FPU が使用不可能」という状況は
  発生しません。
  
  <p>
***************
*** 71,80 ****
  使用不可能ハンドラーは、 FPU ハードウェアコンテキストを fpcurproc
  の予約された領域へ保存します。そして、curproc の FPU コンテキストを
  FPU レジスターにロードします。プロセスの FPU コンテキストが最初
! にロードされると、すべての FPU はクリアーされます。このように、
  他のプロセスが FPU の使用を要求するまで、FPU コンテキストスイッチ
! は延期されます。なぜなら、大多数のプログラムは、 FP インストラクションを
! 一切実行しません。延期された lazy FPU コンテキストスイッチは、
  高コストな FPU の保存/ロードの回数を大幅に減らします。
  
  <p>
--- 71,80 ----
  使用不可能ハンドラーは、 FPU ハードウェアコンテキストを fpcurproc
  の予約された領域へ保存します。そして、curproc の FPU コンテキストを
  FPU レジスターにロードします。プロセスの FPU コンテキストが最初
! にロードされるときは、FPU 全体がクリアーされます。このように、
  他のプロセスが FPU の使用を要求するまで、FPU コンテキストスイッチ
! は延期されます。大多数のプログラムは、 FP インストラクションを
! 一切実行しないため、延期された lazy FPU コンテキストスイッチは、
  高コストな FPU の保存/ロードの回数を大幅に減らします。
  
  <p>
***************
*** 85,103 ****
  <p>
  この厄介な FPU コンテキストスイッチシンドロームは、MMU がプロセス
  コンテキストスイッチに直面した時の状況に似ています。
! MMU は、プロセスのアドレススペースを表現するための複雑な内部「状態」、
  あるいは、もっと奇妙な実行環境の「タスクディスクリプション」を持つ、
! より複雑なデバイスです。プロセスの本質と特徴(nature and feature)は、CPU 
! ハードウェアにより定義されます。いくつかの MMU は、プロセスのアドレス
! スペースを示すメモリー領域をさすレジスターを使います。このような場合、
! 複数のメモリー領域を持ち、特別な MMU インストラクションを実行して
! レジスターを更新することでメモリー領域を切り替えることにより、
  MMU コンテキストスイッチにかかるコストを下げることができます。
  ある種の CPU デザインは、MMU コンテキストスイッチ
  のためにさわがしい見せ物のような方式をおこなうことで有名です。おどろ
! くべき長さの CPU サイクルを消費して、ごく小数のレジスターの保存/ロード
  し、新しいプロセスの実行コンテキストを確立するためにメモリー領域をいった
! りきたりします。ハードウェアによるコンテキストスイッチのケーパビリティー
  のサポートは非常にコストが高く、実際問題めったに使われることはありません。
  そして、多くの人は、それは CISC 風、あるいはシリコンの浪費だと考えています。
  
--- 85,103 ----
  <p>
  この厄介な FPU コンテキストスイッチシンドロームは、MMU がプロセス
  コンテキストスイッチに直面した時の状況に似ています。
! MMU は、プロセスのアドレス空間を表現するための複雑な内部「状態」、
  あるいは、もっと奇妙な実行環境の「タスクディスクリプション」を持つ、
! かなり複雑なデバイスです。プロセスの本質と特徴(nature and feature)は、CPU 
! ハードウェアにより定義されます。いくつかの MMU には、プロセスのアドレス
! 空間を示すメモリー領域を指定する、専用のレジスターがあります。このような場合、
! 複数のメモリー領域を持ち、専用の MMU インストラクションを実行して
! そのレジスターを更新することでメモリー領域を切り替えることにより、
  MMU コンテキストスイッチにかかるコストを下げることができます。
  ある種の CPU デザインは、MMU コンテキストスイッチ
  のためにさわがしい見せ物のような方式をおこなうことで有名です。おどろ
! くべき長さの CPU サイクルを消費して、多数のレジスターを保存/ロード
  し、新しいプロセスの実行コンテキストを確立するためにメモリー領域をいった
! りきたりします。ハードウェアによるコンテキストスイッチ機能
  のサポートは非常にコストが高く、実際問題めったに使われることはありません。
  そして、多くの人は、それは CISC 風、あるいはシリコンの浪費だと考えています。