Knowledge/Parts/IO
をテンプレートにして作成
[
ホーム
|
一覧
|
検索
|
最終更新
|
ヘルプ
] [
新規
]
開始行:
#include(Knowledge/Parts/Menu,notitle)
* I/O [#z591438a]
さて、メモリと CPU が最低限のコンピュータのセットだと説明...
そのあとに説明した部品(デバイス)というのは、ではどのよ...
CPU は基本的にメモリとアクセスすることしかできません。グ...
ではハードディスクはどうだったのでしょうか?&br;
ハードディスクに書き込むためのメモリがどこかにあるのでし...
でもそれだと、320 ギガバイトのハードディスクには 320 ギガ...
その秘密を解くのが I/O というものです。&br;
I/O とは Input Output の略で、これ自体が何か特別な意味を...
ただコンピュータ(パソコンとかなんでも)を設計するとき、...
また、CPU の中にはもう一つのアクセスできる空間を持ってい...
それが I/O ポートです。in と out という特別な命令を使って...
前者を、&ruby(メモリ・マップド・アイオー){Memory Mapped I...
パソコンでよく聞く、AGP、PCI、PCI-Express なんかはすべて...
もちろんハードディスクや光学ドライブをつなぐ IDE、S-ATA ...
じゃぁ 320 ギガバイトのハードディスクにアクセスするために...
たとえばハードディスクに今あるメモリの内容を書き込みたい...
ちなみにどの I/O がハードディスクなのかは、コンピュータを...
皆さんが使っている Windows 機の場合はそのアクセスする場所...
さて、CPU はハードディスクがつながっている I/O に「○○バイ...
ハードディスクが CPU が問い合わせた内容に合致すれば OK を...
書き込む準備ができたら、CPU は自分のメモリから、ハードデ...
これを繰り返して書き込みたいデータをすべてハードディスク...
読み出しも手順は似たようなものです。&br;
実際はもっと細かい作業が発生するのですが、まぁ大まかには...
これはハードディスクに限らず、およそほとんどのデバイスが...
すると CPU はプリンタに印刷したい内容を送り始めるわけです...
でもここでプリンタの処理を超えてデータを送ってはいけませ...
こうやってみると、なんだか CPU は待ってばかりに見えません...
そうなのです、I/O にアクセスするとき、CPU は極端に遅くな...
CPU にとって I/O につながっているデバイスはとてつもなく遅...
たとえばインクジェット・プリンターが紙を往復している間に...
それを考えると、CPU にとってこの待ち時間は著しく無駄な時...
ハードディスクにアクセスに言っているときも、Windows がす...
これを解決するには様々な方法があります。有名なのが割り込...
まず基本的に I/O デバイスというのは割り込みという機能を持...
これはどのようなものかというと、デバイスに何か起きたとき...
人間でたとえるなら、電話や玄関のブザーのようなものでしょ...
CPU はデバイスにデータを渡したあと、次のデータを渡すため...
すると CPU は送り途中だった所に戻り、また続きのデータを I...
こうすれば、I/O へデータを転送したいときだけ CPU は拘束さ...
次に I/O に渡したいデータがすでにそろっている場合、I/O に...
CPU は DMA に「メモリのここからここまでを、ここに転送して...
デバイスの速度が極端に遅い場合、もしくはリアルタイムに変...
CPU はキャッシュがいっぱいになるまでは、とにかくデバイス...
プリンタなんかが、1 ライン印刷するたびに CPU が待たなくて...
でもこれも、リアルタイムで逐一結果が変わっていくような処...
しかしながらこのような努力をしても、やっぱり遅延は発生し...
たとえば DMA 転送したい、CPU もメモリからデータを取り出し...
メモリは一度に一つの要求しか満たせません。CPU が CPU 内部...
もちろんメモリ空間が全く違う部分の場合は同時にアクセスで...
というわけで CPU とメモリ以外を結ぶ I/O 、これによってコ...
終了行:
#include(Knowledge/Parts/Menu,notitle)
* I/O [#z591438a]
さて、メモリと CPU が最低限のコンピュータのセットだと説明...
そのあとに説明した部品(デバイス)というのは、ではどのよ...
CPU は基本的にメモリとアクセスすることしかできません。グ...
ではハードディスクはどうだったのでしょうか?&br;
ハードディスクに書き込むためのメモリがどこかにあるのでし...
でもそれだと、320 ギガバイトのハードディスクには 320 ギガ...
その秘密を解くのが I/O というものです。&br;
I/O とは Input Output の略で、これ自体が何か特別な意味を...
ただコンピュータ(パソコンとかなんでも)を設計するとき、...
また、CPU の中にはもう一つのアクセスできる空間を持ってい...
それが I/O ポートです。in と out という特別な命令を使って...
前者を、&ruby(メモリ・マップド・アイオー){Memory Mapped I...
パソコンでよく聞く、AGP、PCI、PCI-Express なんかはすべて...
もちろんハードディスクや光学ドライブをつなぐ IDE、S-ATA ...
じゃぁ 320 ギガバイトのハードディスクにアクセスするために...
たとえばハードディスクに今あるメモリの内容を書き込みたい...
ちなみにどの I/O がハードディスクなのかは、コンピュータを...
皆さんが使っている Windows 機の場合はそのアクセスする場所...
さて、CPU はハードディスクがつながっている I/O に「○○バイ...
ハードディスクが CPU が問い合わせた内容に合致すれば OK を...
書き込む準備ができたら、CPU は自分のメモリから、ハードデ...
これを繰り返して書き込みたいデータをすべてハードディスク...
読み出しも手順は似たようなものです。&br;
実際はもっと細かい作業が発生するのですが、まぁ大まかには...
これはハードディスクに限らず、およそほとんどのデバイスが...
すると CPU はプリンタに印刷したい内容を送り始めるわけです...
でもここでプリンタの処理を超えてデータを送ってはいけませ...
こうやってみると、なんだか CPU は待ってばかりに見えません...
そうなのです、I/O にアクセスするとき、CPU は極端に遅くな...
CPU にとって I/O につながっているデバイスはとてつもなく遅...
たとえばインクジェット・プリンターが紙を往復している間に...
それを考えると、CPU にとってこの待ち時間は著しく無駄な時...
ハードディスクにアクセスに言っているときも、Windows がす...
これを解決するには様々な方法があります。有名なのが割り込...
まず基本的に I/O デバイスというのは割り込みという機能を持...
これはどのようなものかというと、デバイスに何か起きたとき...
人間でたとえるなら、電話や玄関のブザーのようなものでしょ...
CPU はデバイスにデータを渡したあと、次のデータを渡すため...
すると CPU は送り途中だった所に戻り、また続きのデータを I...
こうすれば、I/O へデータを転送したいときだけ CPU は拘束さ...
次に I/O に渡したいデータがすでにそろっている場合、I/O に...
CPU は DMA に「メモリのここからここまでを、ここに転送して...
デバイスの速度が極端に遅い場合、もしくはリアルタイムに変...
CPU はキャッシュがいっぱいになるまでは、とにかくデバイス...
プリンタなんかが、1 ライン印刷するたびに CPU が待たなくて...
でもこれも、リアルタイムで逐一結果が変わっていくような処...
しかしながらこのような努力をしても、やっぱり遅延は発生し...
たとえば DMA 転送したい、CPU もメモリからデータを取り出し...
メモリは一度に一つの要求しか満たせません。CPU が CPU 内部...
もちろんメモリ空間が全く違う部分の場合は同時にアクセスで...
というわけで CPU とメモリ以外を結ぶ I/O 、これによってコ...
ページ名: