Intel 80286
(80286 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/13 05:01 UTC 版)
Intel 80286(インテル 80286)はインテルの16ビットマイクロプロセッサ (CPU)。IBMのPC/AT(日本ではPC-9800シリーズ)およびその互換機によって広く普及した、DOS時代の代表的なパーソナルコンピュータ (PC) 用プロセッサであった。
- ^ 原文:iAPX 286 - 80286 CPU family
Each processor family consists of the CPU(e.g., 80286), processor extensions(80287 for the iAPX 286), and bus support circuits, such as the 82284 Clock Generator and 82288 Bus Controller. - ^ 通常この操作はI/O 0037hのコントロールポートを介して行う。I/O 0037hに0Ahを書き込めばI/O 0035hのbit5が0に、0Bhを書き込めば1になる。同様に0Eh・0Fhを書き込めばI/O 0035hのbit7がそれぞれ0・1に設定される。
- ^ 原文:If any real-mode program relies on address space wrap-around (e.g. FFF0:0400 = 0000:0300), then external hardware should be used to force the upper 4 addresses to zero during real mode.
- ^ 厳密には、8086/80186のフラグレジスタで未使用だった予約ビットの一部がV30では8080エミュレーションで使われるが、x86として動作している限りは8086/80186互換の挙動となる。
- ^ 特に80386以降では、条件ジャンプでnearジャンプ(-32768から+32767までの相対アドレス指定)を行うときのプリフィックスにも使われるようになった。80286およびそれ以前の条件ジャンプ命令はshortジャンプ(-128から+127までの相対アドレス指定)しか使えない。
- ^ 8086のPUSH SP命令でスタックポインタSPを退避させる場合、SPから2が減算された後のSP値が記録される。例えば、PUSH SPのあとPOP AXを実行するとAXにはSP-2がロードされる。80286以降ではPUSH SPの際に減算される前の元のSP値を退避するようになった。この挙動の違いはプログラムが8086で実行されているのか、80286で実行されているのかを判別することに使用できる。
- ^ 80286ではフラグレジスタの使われていなかった予約ビットのいくつかに新たな意味を持たせており、その値によって一部の既存命令の挙動に影響が出る。例えば既存の
POPF
命令はプロテクトモードにおいてIO特権レベルを示すIOPLフラグが変更できるようになっており、これによって既存の命令のうち特権レベルに依存するようになった命令(I/Oや、割り込みフラグの制御命令)が影響を受ける。また他のタスクから呼び出されたプログラムではそのためのNTフラグが立っており、IRET
の動作に影響する。 - ^ V30ではbit15が「エミュレーションモード・フラグ」に割り当てられており、8080エミュレーション機能に関係する。
- ^ PC-9801では初代機から2個目の8259Aをカスケード接続して入力を15本に拡張しており、割り込み8から23までの外部割り込みが定義されていた[17]。
- ^ 80286システムを486互換CPUに換えても起動時はCPUキャッシュが有効になっていない。一般にCPUはメモリに頻繁にアクセスしながら動作するため、CPUキャッシュが無効でメモリアクセスがまったく高速化していない状態ではCPU内部倍率に関係無くほとんど処理速度は向上しない。
- ^ EPSON PC-286シリーズの場合はロットによってCPUソケット形状が CLCC(セラミック・リードレス・チップ・キャリア)という特殊なものが混在しており、その場合は半田ごてを用いるか、業者に依頼してCPUソケットを交換する必要があった[19]。
- ^ 8086世代のx86CPUはNECのピン互換CPU V20やV30と交換することでCPU性能を向上できたことが知られるが、V30用としては主に拡張スロットに増設するタイプのCPUアクセラレータが製品が少数知られていた程度で、CPUを置き換えるタイプのCPUアクセラレータ製品が本格的に出回るようになったのは80286以降のプラットフォームからである。これは8086/V30はアドレスとデータを時分割で入出力していたり、8086/V30用の周辺チップとの接続性が良くなかったりなど、それ以降のCPUと単純に置き換えるには不向きだったこともある
- ^ 廉価版プロセッサであるi386SXではCPUソケットが省略されており、基本的に基板直付けとなっていた。CPUアクセラレータを動作させるには外部からCPUを無効にできる機能が必須であり、これに対応したi386SXはロットが限られていた。
- ^ i386DXを搭載するPC-98XL2を含む
- ^ PC-98XL2を除く
- ^ I/Oポート00F2hで制御する。このポートはi386以上のシステムにもある
- ^ EMSのページフレームとプロテクトメモリとをCPUがデータをコピーする方式のため。この方式は特別なハードウェアを必要とせず「ソフトウェアEMS」と呼ばれる
- ^ なおi386以上に換装していればDOS用途であっても専用プロテクトメモリで「仮想EMS」を使用したほうが高速になる。80286と同じ方式を使用すると遅くなる
- ^ メモリチェック時に設定されるワークエリアの値で機種を判別する。
- ^ 例えば前述のWindows 3.1をインストールできるようにするためのツールを利用するなど。
- ^ 具体的にはIO.SYS。
- ^ a b iAPX 286 Programmer's Reference Manual including the iAPX 286 Numeric Supplement
- ^ a b 『Microsoft Windows Operating System Version 3.1 お使いになる前に』Microsoft Corporation、1993年、2頁。KPN890076-9406。
- ^ a b 『日本語Microsoft WIndows バージョン 3.1 ライセンス情報』日本アイ・ビー・エム、1993年。66G5342/D42865。
- ^ a b NEC版Windows 3.1
- ^ Windows for Workgroups Version History
- ^ OS/2の歩みを振り返る
- ^ Protected Mode Basics by Robert Collins
- ^ トランジスタ技術 SPECIAL 特集 IBM PC & 80286のすべて ISBN 4-7898-3182-5
- ^ “システムポート” (プレーンテキスト). ウェブテクノロジ. 2018年1月6日閲覧。
- ^ “BIOSが使用するシステム共通域” (プレーンテキスト). ウェブテクノロジ. 2018年1月6日閲覧。
- ^ a b “CPU,CPU周辺が使用するI/O” (プレーンテキスト). ウェブテクノロジ. 2018年1月6日閲覧。
- ^ PC-9801VX
- ^ a b c Intel 64 and IA-32 Architectures Software Developer Manuals
- ^ 80386システムプログラム 吉田俊郎著 オーム社 p104 ISBN 4-274-07544-3
- ^ “インテル(R) プロセッサの識別とCPUID命令” (PDF). インテル. 2017年12月5日閲覧。
- ^ Jeff Prosise (1990). “Tutor: Distinguishing among CPUs”. PC Mag 9 (13): 426 2016年11月20日閲覧。.
- ^ 東工大電算機愛好会&小高輝真、「98ハードに強くなる本II」 (1988)、pp.25-30。
- ^ Int 50 - IRQ0 relocated by OS/2 v1.x
- ^ a b 「PC-98パワーアップ道場」 ソフトバンククリエイティブ ISBN 9784797305777
- ^ PK-X486S50-L
- ^ 別売の数値演算コプロセッサ HSC-40 ※このページは一部ブラウザでは文字化けする
- ^ Windows 3.1 Hardware Compatibility List - Microsoft
- ^ HRX-C12Qキャッシュコントロールユーティリティ
- 1 Intel 80286とは
- 2 Intel 80286の概要
- 3 HMAの活用
- 4 80286の判別
- 5 割り込み
- 6 ディスクリプターキャッシュ
- 7 脚注
- 80286のページへのリンク