コンテンツにスキップ

Intel 80286

Xuất điển: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
(80286から転 tống )
80286
Intel 80286 (PGA)
Sinh sản thời kỳ 1982 niên から1991 niên まで
Sinh sản giả Intel,IBM,AMD,Harris(インターシル),シーメンス,Phú sĩ thông
CPUChu ba sổ 5 MHz から 25 MHz
FSBChu ba sổ 5 MHz から 25 MHz
Mệnh lệnh セット x86(16ビット)
パッケージ 68ピンPLCC・LCC・PGA
Tiền thế đại プロセッサ Intel 80188
Thứ thế đại プロセッサ Intel 80386
トランジスタ 134000
コプロセッサ Intel 80287
テンプレートを biểu kỳ
Intel 80286 (PLCC)

Intel 80286( インテル 80286 ) はインテル16ビットマイクロプロセッサ(CPU).IBMPC/AT( nhật bổn ではPC-9800シリーズ) およびそのHỗ hoán cơによって quảng く phổ cập した,DOSThời đại の đại biểu đích なパーソナルコンピュータ(PC) dụng プロセッサであった.

Khái yếu

[Biên tập]

1982 niên2 nguyệt 1 nhậtに phát biểu,1984 niênから6MHz bản と8MHz bản が xuất hà された. 134,000 cá のトランジスタを tập tích した1.5μmのNMOSプロセス ( インテルの hô xưng だとHMOS-III ) で chế tạo され, tính năng を đại phúc に tăng gia させるパイプラインを cấu thành する4つの độc lập したユニット ( アドレスユニット, バスユニット, mệnh lệnh ユニットと thật hành ユニット ) を trì っていた. クロック chu ba sổ は6, 8, 10, 12MHz があった.パッケージには68ピンPLCC, LCC, PGAがあった.

8086ソフトウェアの thượng vịHỗ hoán tínhを trì ち, より cao tốc に mệnh lệnh thật hành khả năng ( đồng クロック8086 bỉ で ước 2.5 bội ). また, vật lýメモリKhông gian が16MBに拡 trương され, 1GBの仮 tưởng ký ứcマルチタスク処 lý に đối ứng している. また, インテルはこのモデルまではセカンドソースThôi tiến chiến lược を thải dụng したため,AMD,Phú sĩ thông,シーメンス,ハリス・コーポレーション(Anh ngữ bản)( dĩ hàng, ハリスと biểu ký ) からもセカンドソース phẩm が cung cấp された. Đặc にAMDとハリスは, ライセンスが thụ けられない80386に đối kháng するため, 16, 20MHz, ハリスは25MHz, といった, より cao クロックの80286を thị tràng に đầu nhập した.Hậu thuậtするようにDOSで động tác させる hạn り, đồng nhất クロックの80386よりも cao い thật hành tốc độ が đắc られたからである.

インテル xã のiAPX 286 Programmer's Reference Manual[1]では, CPUの80286と hậu thuật のChu biên LSIの tổ み hợp わせがiAPX 286であるとしている[Chú 1].

Đối ứng ソフトウェア

[Biên tập]

808680186に đối する thượng vị hỗ hoán tính を trì つリアルモードに gia えて, プロセスやメモリを bảo hộ するプロテクトモードを truy gia し, これをサポートする mệnh lệnh が truy gia された. また,マルチタスクオペレーティングシステムを thật trang する tế に tất yếu な sĩ tổ みや mệnh lệnh quần が拡 trương され, その hậu の32ビットCPUへ繋がる cơ sở ができあがった. 4 giai tằng の đặc 権レベル, 仮 tưởng ký ức cơ năng, メモリ bảo hộ cơ năng, TSS(Task state segment)を sử dụng したタスクスイッチ cơ năng などを trì つ.

PC DOSおよびMS-DOS
IBMが1984 niên にPC/XTの hậu kế cơ chủng PC/ATを phát biểu したとき, 8086/8088とリアルモード hỗ hoán tính を trì つ80286を thải dụng した. しかし, プロテクトモードを hoạt かして thiết kế されたオペレーティングシステムは nhất bàn hướng けに phổ cập しておらず, 80286はもっぱら cao tốc な8086としてPC-DOS (MS-DOS) thượng で lợi dụng されることが đa かった.
DOS/V
Tiền thuật の thông りPC/ATは80286 cơ であるため, AT hỗ hoán cơ dụng の nhật bổn ngữ OSであるDOS/Vは80286 dĩ thượng のシステムが tiền đề となっている.
Windows 3.x
Windows 3.0や anh ngữ bản Windows 3.1において, いずれもスタンダードモードでは, 80286のプロテクトモードが hoạt dụng された. Windows 3.0の phát mại は, IBM PC/ATの phát mại から6 niên hậu の1990 niên であった.
Nhật bổn ngữ bản Windows 3.1 dĩ hàng[2][3][4],およびWindows for Workgroups 3.11 dĩ hàng[5]は80286には đối ứng していない.
OS/2 1.x
PC DOSおよびMS-DOS hậu kế のプロテクトモード dụng オペレーティングシステムとしてIBMマイクロソフトが cộng đồng khai phát したが, パソコン dụng OSのひとつとしての địa vị を hoạch đắc するにとどまった. OS/2 1.0の phát mại は, IBM PC/ATの phát mại から3 niên hậu の1987 niên であった[6].
OS/2 2.0 dĩ hàng は80286には đối ứng していない.
XENIX
マイクロソフトによって khai phát されたUNIXである.

リアルモードへの phục quy

[Biên tập]

80286で, DOSやBIOSの tư sản を kế thừa しつつ, canh に仮 tưởng ký ức cơ năng を sinh かすためにはリアルモードとプロテクトモードの gian を vãng phục することが tất yếu だが, 80286にはプロテクトモードからリアルモードへの phục quy mệnh lệnh が vô く, phục quy にはCPUのリセット tín hào tuyến を hữu hiệu にするしかなかった. そのため, 80286 đáp tái cơ では đặc định のI/Oポートを thao tác することによりCPUのリセットパルスを phát sinh させるハードウェアを trì っており, ソフトウェアからCPUのみのリセットを hành うことができた. BIOSの sơ kỳ hóa プログラムの trung で thông thường のハードウェアリセット ( điện nguyên ONまたはリセットスイッチ áp hạ ) と tiền thuật のソフトウェアリセットを khu biệt し, sơ kỳ hóa phương pháp を thiết り thế えるという処 lý が tất yếu だった. これら nhất liên の処 lý はオーバーヘッドが đại きいため, kết quả đích に80286を dụng いたリアル/プロテクトモード gian のスイッチングは phi hiệu suất đích なものとなった.

なお hậu kế の80386 dĩ hàng では, lạng モード gian を nhậm ý に vãng phục できる cơ năng や仮 tưởng 86モードなどを bị えていた.

リアルモードへ lệ るための phương pháp はハードウェア độc tự のものとなっており, cụ thể đích な thủ thuận は dĩ hạ のようにハードウェアによって dị なる.

IBM PC/AT[7][8]
80286を đáp tái したIBMPC/ATではキーボードコントローラのI/Oにリセット cơ năng が đáp tái されていた. これはI/Oポート64hにあり, thông lệ はFEhを thư き込みそのbit0を0にすることでリセット động tác となる. これに tiên lập ち đương cai プログラムはリセット hậu に処 lý を tái khai するアドレスCS:IPをBIOS Data Areaの0040:0067hに bảo tồn する. それ dĩ ngoại のスタックの vị trí (SS:SP)などプログラムの động tác kế 続に tất yếu な tình báo は đương cai プログラム tự thân のデータ lĩnh vực などに bảo tồn する. Thứ にリセット hậu の động tác を quyết めるシャットダウンコードをRTCDụng bất huy phát tính CMOSメモリのオフセット0FhにI/Oポート70h, 71hを sử dụng して thư き込む. 5を thư き込めばリアルモードへの phục quy, 0を thư き込めば thông thường の điện nguyên ON, またはリセットスイッチ áp hạ である. プロテクトモードから lệ るとBIOSはBIOS Data Areaに bảo tồn したアドレスから đương cai プログラムの thật hành を tái khai させる. Đương cai プログラムはあらかじめ bảo tồn しておいたスタックの vị trí などの tình báo を lệ す.
NEC PC-9800シリーズ[9][10][11]
PC-9800シリーズでは1986 niên に đăng tràng したPC-9801VX[12]に80286とV30の lạng phương が đáp tái され, このとき80286とV30を thiết り thế えるためのリセット dụng I/Oポートが thiết けられている. Cai đương cơ ではI/O 00F0hに0を xuất lực することでCPUがV30に thiết り thế わらずにリセットされるが, これに tiên lập ちリセット hậu に処 lý を続 hành するか tái khởi động するかを sự tiền に thiết định しておく tất yếu がある. この thiết định はI/O 0035hのbit5,7にあり, tái khởi động の tràng hợp は lạng phương のbitを1に, 処 lý 続 hành の tràng hợp はbit7を0に thiết định する[Chú 2].処 lý を続 hành する tràng hợp は sự tiền に lệ りアドレスとなるCS:IPをスタックに bảo tồn (PUSH) したうえで, そのスタックの vị trí ( SS:SP ) をメモリアドレス0000:0404から0407までの4バイトに bảo tồn しておく tất yếu がある.

HMAの hoạt dụng

[Biên tập]

Thượng ký の thông り80286はリアルモードとプロテクトモードを bị えており, khởi động trực hậu やMS-DOSでは cơ bổn đích に8086や80186と hỗ hoán tính の cao いリアルモードで động tác する.

8086では1MiB(000000H - 0FFFFFH)のメモリ không gian を trì つが, bổn lai 16ビットのレジスタでは64KBまでのアドレス(00000H - 0FFFFH)しか biểu hiện できない. そこで16ビットレジスタを2つ dụng ý し, まず1MB trung のメモリ không gian からアドレスの “Nguyên điểm” を10Hバイト単 vị で đại tạp bả に chỉ định し, もう1つのレジスタでそこから thượng vị の64KBまでをアクセスできるようにしていた. したがって “Nguyên điểm” を kỳ すセグメントレジスタを tối đại の0FFFFHに thiết định すれば, 0FFFF0Hからさらに thượng vị の64KBすなわち1MBを siêu える10FFEFHまでアドレスを biểu hiện できることになる. しかし8086ではアドレス tuyến がA0 - A19の20 bổn しか dụng ý されていないため100000H - 10FFEFHのアドレスにはアクセスできず, hằng あふれした bộ phân は000000H - 0FFEFHにラップアラウンドしてアクセスすることになる.

80286ではこのようなラップアラウンドは khởi こらないため, インテル xã のiAPX 286 Programmer's Reference Manual[1]では “もしリアルモードのプログラムがアドレス không gian のラップアラウンドに y tồn している tràng hợp ( lệ えばFFF0:0400 = 0000:0300 ), thượng vị アドレス4ビットをゼロにするために ngoại bộ ハードウェアを sử dụng すべきである” としている[Chú 3].

アドレス tuyến を24 bổn trì つ80286を thải dụng したシステム(PC/ATなど)では, ラップアラウンドを tiền đề で tác られたソフトウェアとの hỗ hoán tính を duy trì しつつ100000H dĩ thượng のメモリにもアクセスできるように, 21 bổn mục のアドレス tuyến (A20) の vô hiệu / hữu hiệu を thiết り thế えるハードウェアを trì っていた. Đặc định のI/Oポート ( PC/ATではキーボードコントローラ ) からA20を hữu hiệu にするとリアルモードのままでも64Kバイト trình độ の thượng vị メモリを tham chiếu することが khả năng になり,HMAと hô ばれた.

HMAは64Kバイト trình độ であるが640Kバイトの ước 10%にも tương đương し, メモリ khô khát に khổ しむDOSユーザーにわずかな cứu いとなった. 80386 dĩ hàng のプロセッサでもHMAは sử dụng できる.

キャッシュを nội tàng した80486Dĩ hàng のCPUではA20を vô hiệu にする cơ năng を nội tàng し, CPUにA20M#というピンを truy gia した[13].これは ngoại bộ ハードウェアでA20を vô hiệu にしても80486がキャッシュに bảo tồn されたHMAにアクセスしてしまうためである. このA20M#を chế ngự するのは, PC/ATではキーボードコントローラで変 hóa していない.

なお, 80286は16Mバイトの hậu ろの ước 64Kバイトにアクセスした tràng hợp, tiên đầu の000000H phiên địa にラップアラウンドにするが80386ではこのラップアラウンドは khởi こらない. このことが vấn đề になる tràng hợp は, 80386のページング cơ năng を sử dụng して16Mバイトの hậu ろの64Kバイトの lĩnh vực を tiên đầu の000000Hにマッピングすることで hồi tị できる[14].

80286の phán biệt

[Biên tập]

80286にはCPUIDMệnh lệnh は vô く, インテルはフラグレジスタを sử ったCPUの phán biệt phương pháp を thiệu giới している[15].

PUSHF/POPFMệnh lệnh で đọc み thư きできる16ビット phân のフラグのうち, thượng vị 4ビットは8086 thế đại ( V30[Chú 4],80186などを hàm む ) では sử われていない dư ước ビットとなっていた. Thật tế はその bộ phân が1111bとして đọc み xuất せたものの, 変 canh はできなかった. 80286ではこの bộ phân がプロテクトモードで sử われるようになったため, リアルモードではゼロクリアされた trạng thái になった. さらに仮 tưởng 86モードを trì つ80386からはリアルモードにおいてもこのビットが変 canh khả năng な sĩ dạng になっている. すなわちリアルモードの thời điểm (BIOSやMS-DOS) において, フラグレジスタのbit15-12が1111bから変 canh できなければ8086 thế đại, 0000bから変 canh できなければ80286, そのどちらでもない, つまり nhất bộ でも変 canh khả năng であれば80386 dĩ hàng と phán đoạn できる.

Truy gia mệnh lệnh nhất lãm

[Biên tập]

8086から sử dụng できる cơ bổn mệnh lệnh セットに gia え, dĩ hạ の mệnh lệnh セットが truy gia された.

Nhất bàn mệnh lệnh

[Biên tập]

80286で tân たに truy gia された mệnh lệnh のうち11 cá の拡 trương mệnh lệnh セットは, hậu に phát biểu された80186にも thải dụng され, cộng thông で sử dụng できた. このほか kí tồn の mệnh lệnh ではIMULPUSHに tức trị ( イミディエイト ) が chỉ định できるようになり, シフト・ローテイト mệnh lệnh ではCLレジスタを giới さずに 1 dĩ ngoại の trị を trực tiếp chỉ định できるようになった. これらは80186でも đồng dạng である.

システム mệnh lệnh

[Biên tập]

80286で truy gia されたシステム chế ngự /プロセッサ chế ngự の mệnh lệnh はいずれもプロテクトモードないしは80287 quan liên の mệnh lệnh である. このほか kí tồn mệnh lệnh としてはI/O ( nhập xuất lực ) mệnh lệnh の loại もシステム chế ngự に sử われる mệnh lệnh であり, プロテクトモードでは đặc 権 mệnh lệnh の tráp いになった. HLTも đặc 権レベルに y tồn するシステム mệnh lệnh となった.

SGDT, SIDT, SLDT, STR, SMSWは đặc 権 mệnh lệnh ではなく, アプリケーションプログラムからも thật hành khả năng である. このことは30 niên dĩ thượng 続いている. インテルは, CPUIDでUMIP(User-Mode Instruction Prevention)ビットがセットされているCPUではこれらの mệnh lệnh を đặc 権 mệnh lệnh にする cơ năng を trì つとしている[13].

LGDT… Load Global Descriptor Table Register
SGDT… Store Global Descriptor Table Register
LIDT… Load Interrupt Descriptor Table Register
SIDT… Store Interrupt Descriptor Table Register
LLDT… Load Local Descriptor Table Register
SLDT… Store Local Descriptor Table Register
LAR… Load Access Right
LSL… Load Segment Limit
ARPL… Adjust Requested Privilege Level
VERR… Verify Read Access
VERW… Verify Write Access
LTR… Load Task Register
STR… Store Task Register
CLTS… Clear Task Switched Flag
LMSW… Load Machine Status Word
SMSW… Store Machine Status Word

廃 chỉ された mệnh lệnh

[Biên tập]

80286ではPOP CS mệnh lệnh (オペコード 0F)は廃 chỉ された. 80186/V30も đồng dạng である. このオペコードは, 80286 dĩ hàng, 拡 trương mệnh lệnh のプリフィックスとして sử dụng された. 80286で sử われている0Fプリフィックスは, thượng ký のシステム mệnh lệnh のうち, ARPL dĩ ngoại の15 mệnh lệnh が cai đương する[Chú 5].

Phi công khai mệnh lệnh

[Biên tập]

80286の phi công khai mệnh lệnh であるLOADALLを sử dụng するとリアルモードのままで, プロテクトメモリを hàm む16Mバイトのメモリにアクセス khả năng となる.

Kí tồn mệnh lệnh の sĩ dạng 変 canh

[Biên tập]

80286はリアルモードにおいて8086や80186と cao い hỗ hoán tính を trì つものの, hoàn toàn に đẳng 価というわけではない. Dị なる điểm としては, 80286 dĩ hàng ではPUSH SPMệnh lệnh の cử động が変 canh されている[Chú 6][16].また kí tồn mệnh lệnh の tổ み hợp わせであっても, プロテクトモード thượng では cử động の dị なる tràng hợp がある[Chú 7].

このほか変 canh điểm として, シフト・ローテイト mệnh lệnh で chỉ định できるCLレジスタの trị や tức trị が31 dĩ hạ に hạn định されるようになった. Chỉ định できる trị は8ビットだが, thật tế には hạ vị 5ビット phân しか sử われない. この変 canh は80186も đồng dạng だが, V30では thích dụng されておらず, 8086 tương đương の cử động となる. Lệ えばシフト mệnh lệnh で31 ( 16 tiến sổ で0x1F ) を siêu える trị を chỉ định した tràng hợp, 8086やV30では diễn toán kết quả が tất ずゼロになるが, 80186/286 dĩ hàng では32で cát った dư thặng の phân だけシフト diễn toán される.

Trừ toán エラー ( cát り込み0 ) が phát sinh した tràng hợp, スタックに bảo tồn されるCS:IPは8086では trừ toán エラーを phát sinh させた thứ の mệnh lệnh を chỉ しているが, 80286では trừ toán エラーを phát sinh させた mệnh lệnh tự thân を chỉ している.

8086ではFPU mệnh lệnh の thật hành trung はWAITMệnh lệnh でCPUを chỉ めておく tất yếu があったが, 80186 dĩ hàng ではその tất yếu が vô くなった. また,LOCKMệnh lệnh はもともとあらゆる mệnh lệnh においてバスをロックできる sĩ dạng だったが, 80286 dĩ hàng ではロックできる mệnh lệnh とできない mệnh lệnh が quyết められている.

Tân しいレジスタ

[Biên tập]

システムレジスタ

[Biên tập]

GDTR (Global Descriptor Table Regsister)

IDTR (Interrupt Descriptor Table Regsister)

LDTR (Local Descriptor Table Regsister)

TR (Task Register)

フラグレジスタ

[Biên tập]

16bitあるフラグレジスタのうち, bit0からbit11までの12ビットは8086と đồng dạng のものが dụng ý されている. Tiền thuật の thông り80186 dĩ tiền では thượng vị 4ビットが sử われていなかったが, 80286ではマルチタスクOSを tưởng định した tân たなフラグが truy gia されている.

IOPL (IO privilege level) フラグ
bit12・13を dụng いる2ビット phân のフラグで, 0から3までのフラグ trạng thái を trì ち, いわゆるIO đặc 権レベルを biểu す. Thông thường はPOPFMệnh lệnh でなければ変 canh できない.
NT (Nested task) フラグ
bit14. Lí のタスクが hữu hiệu であることを kỳ すフラグ. Cát り込みなどで hô び xuất された tràng hợp に1となり, これによりIRETMệnh lệnh でのリターン処 lý の động tác が変わる.

なおbit15は dư ước ビットになっており, 80286では bất định ( 80386 dĩ hàng は0 ) とされている[Chú 8].

80286ではMSW (Machine status word) レジスタが truy gia された. MSWを đọc み thư きするLMSW,SMSWという chuyên dụng の mệnh lệnh が dụng ý されている. MSWは16bit phân あるが, 80286で định nghĩa されているのは hạ vị 4ビット phân だけである. 80386 dĩ hàng では tân たに thiết けられたコントロールレジスタに thống hợp され, CR0レジスタの hạ vị 16ビットが cai đương するが, hỗ hoán tính のためMSWとしてもアクセスできる.

PE (Protection enable)
MSWのbit0. プロテクトモードであることを biểu す. このbitをセットすることでプロテクトモードになる.
MP (Math present)
MSWのbit1.FPUが tồn tại する tràng hợp にセットされる.
EM (Emulate math coprocessor)
MSWのbit2. このビットがセットされているとFPUが vô い tráp いになる.
TS (Task switched)
MSWのbit3. タスク thiết り thế え thời にセットされる.

Cát り込み

[Biên tập]

8086では cát り込みは, cát り込み4まで định nghĩa されており, 80286では cát り込み5 dĩ hàng が truy gia された. Cát り込み5から31まではインテル dư ước tế みであったが, IBM PCでは cát り込み8から15までを8259A kinh do の ngoại bộ cát 込みに cát り đương てていた[Chú 9].プロテクトモードのOS/2などは8259Aの cát り込み phiên hào を biệt の trị に変 canh する[18].

  • Cát り込み0: Trừ toán エラー
Trừ toán mệnh lệnh (DIV, IDIV)で0で cát ろうとした tràng hợp や thương が đại きすぎてレジスタに thâu まらない tràng hợp に phát sinh する.
  • Cát り込み1: シングルステップ cát り込み
  • Cát り込み2: NMI(マスク bất khả năng cát り込み )
  • Cát り込み3: ブレークポイント cát り込み
  • Cát り込み4: INTOオーバーフロー
  • Cát り込み5: バウンドチェック
BOUND mệnh lệnh に chỉ định されたオペランドが, phối liệt の phạm 囲 ngoại に xuất ていると phát sinh する.
  • Cát り込み6: Vô hiệu オペコード
  • Cát り込み7: コプロセッサ bất tại
タスクスイッチ hậu, または, 80287が trang trứ されていないときに80287の mệnh lệnh を thật hành すると phát sinh する.
  • Cát り込み8: ダブルフォルト
Lệ ngoại を処 lý しているときにさらに biệt の lệ ngoại が phát sinh し処 lý できなくなったときに phát sinh する.
  • Cát り込み9: コプロセッサ・セグメント・オーバーラン
  • Cát り込み10: Vô hiệu タスク・ステート・セグメント
  • Cát り込み11: セグメント bất tại
メモリ thượng に vô いスワップアウトされたセグメントにアクセスした tràng hợp に phát sinh する. この cát り込みは80286のプロテクトモードで仮 tưởng ký ức のために sử dụng される.
  • Cát り込み12: スタック・フォルト
  • Cát り込み13: Nhất bàn bảo hộ lệ ngoại
80286のリアルモードでは, オフセットFFFFにあるワードオペランドをアクセスしたり, オフセットFFFFから phục sổ バイトの mệnh lệnh を thật hành しようとすると phát sinh する. 8086ではオフセット0にラップアラウンドし lệ ngoại は phát sinh しない. 80286のプロテクトモードでは, データセグメント nội の mệnh lệnh の thật hành, コードセグメント nội のデータの thư き thế え, hiện tại の đặc 権レベルより cao い đặc 権レベルのセグメントへのアクセスなどでも nhất bàn bảo hộ lệ ngoại が phát sinh する.
  • Cát り込み14 - 15: インテル dư ước tế み
  • Cát り込み16: コプロセッサ・エラー
IBM PC/ATでは80287のERROR#ピンを80286に trực kết せず, cát り込みコントローラ8259Aに tiếp 続する thiết kế とした. コプロセッサ(FPU)を nội tàng した80486 dĩ hàng のCPUではIBM PC/ATとの hỗ hoán tính を duy trì するためにCPUにFERR#, IGNNE#というピンを truy gia したが, CR0レジスタのNEビットを1にすると8259A kinh do ではなく bổn lai の cát り込み16でコプロセッサのエラーを thông tri する[13].
  • Cát り込み17 - 31: インテル dư ước tế み

ディスクリプターキャッシュ

[Biên tập]

80286ではセグメントレジスタには khả thị bộ とディスクリプターキャッシュ bộ があり, プログラムから trực tiếp ディスクリプターキャッシュ bộ の変 canh はできない. プロテクトモードでは, セグメントレジスタの trị の変 canh thời に, グローバルディスクリプターテーブル, またはローカルディスクリプターテーブルからディスクリプターキャッシュ bộ にアクセス権, ベースアドレス, セグメントリミットが đọc み込まれ, thật tế のメモリアクセスはディスクプターキャッシュ bộ が sử われる.

リアルモードでは, セグメントレジスタの trị の変 canh thời に, セグメントレジスタの nội dung が16 bội されたものがディスクリプターキャッシュ bộ のベースアドレスにロードされ, thật tế のメモリアクセスはディスクプターキャッシュ bộ が sử われる. このためリアルモードからプロテクトモードに di hành した trực hậu, セグメントレジスタの trị がプロテクトモードでは bất chính な trị でもハングアップや lệ ngoại は phát sinh しない.

また, 80286は điện nguyên ONまたはリセット hậu, コードセグメントのディスクリプタキャッシュ bộ は, ベースアドレスがFF0000Hに thiết định され, IPはFFF0に thiết định されるので, FFFFF0Hから thật hành が khai thủy される đặc thù なリアルモードで thủy まる. この đặc thù な trạng thái はCALL FAR, JMP FAR mệnh lệnh などでセグメントレジスタが canh tân されるまで続く.

Khả thị bộ ディスクリプターキャッシュ bộ
セグメントレジスタ ベースアドレス(24ビット) アクセス権(8ビット) セグメントリミット(16ビット)

Chu biên LSI

[Biên tập]
80286 dụng のSổ trị diễn toán コプロセッサ.8086 dụng のコプロセッサである8087と dị なりI/Oポート ( 00F8H - 00FDH ) を dụng いてデータや mệnh lệnh のやり thủ りを hành う. パッケージは40ピンDIPである.
  • 82284 クロック sinh thành khí
  • 82288 バスコントローラ
  • 82289 バス điều đình khí
  • 8259A cát り込みコントローラ

CPUアクセラレータ

[Biên tập]

80286システムはCPUアクセラレータ chế phẩm により, より thượng vị のプロセッサが lợi dụng できる tràng hợp があった. その tế, 486 tương đương の chế phẩm は khởi động hậu にソフトウエアでCPUキャッシュを hữu hiệu にすることで cao tốc hóa させる tất yếu があった[Chú 10].80286システムは16ビットバスであるため, ngoại bộ 16ビットであるi386SXにピン hỗ hoán のCyrix Cx486SLCĐăng tràng hậu は, これを dụng いた80286 dụng のCPUアクセラレータ chế phẩm が các xã から đăng tràng した. Đặc に nhật bổn で chủ lưu だったPC-9800シリーズおよびEPSON PC-286シリーズ[Chú 11]では80286をソケット kinh do で thật trang した cơ chủng が đa く, CPU giao hoán が dung dịch だった. Kết quả đích にV30[Chú 12]や hậu のi386SX[Chú 13]と bỉ べてCPUのアップグレードパスに huệ まれ, dạng 々なバリエーションのCPUアクセラレータ chế phẩm を sinh んだ[19].

  • ABM 486GT-Xは tiền thuật のような486 hỗ hoán プロセッサを80286ピン hỗ hoán のワンチップサイズに phong nhập したもので, CPUアクセラレータと ngôn うより80286ピン hỗ hoán CPUに cận いものだった.
  • CPUアクセラレータ cơ bản thượng でCyrix Cx486DLCのような ngoại bộ 32ビットプロセッサを động かす chế phẩm も tồn tại した.
  • メルコはシステムバスのクロックに quan hệ vô く độc lập クロック động tác する chế phẩm も xuất していた.
  • Tối chung đích にメルコやアイ・オー・データ cơ khíから phát mại されていたIBM 486SLC2を dụng いた80286 hướng け chế phẩm では tối đại 4 bội tốc ( ước 50MHz)で động tác した[20].
Sổ trị diễn toán プロセッサ
Đa くの80286 dụng CPUアクセラレータはその cơ bản thượng に80387のソケットもしくはその hỗ hoán チップを trực phó けしており, 386/486 hỗ hoán CPU hoán trang thời に80387 tương đương の sổ trị diễn toán cơ năng が lợi dụng できるようになっていた[21].
HIMEM.SYSの vấn đề
PC-9800シリーズにおいては, 80286のシステム[Chú 14]とi386 dĩ thượng のシステム[Chú 15]ではA20ラインを chế ngự するI/Oポートが dị なり, tiền giả にi386 dĩ thượng のプロセッサを tái せた tràng hợp, そのシステムには hậu giả にあるI/Oポート00F6hが vô く[11][Chú 16],MS-DOS phó chúc のメモリマネージャ(HIMEM.SYS)がA20ラインを chính thường にコントロールできない chỉ の cảnh cáo を xuất す vấn đề が tri られている. その đối sách として, いくつかのCPUアクセラレータではCPUキャッシュドライバとは biệt に độc tự のメモリマネージャを thiêm phó, もしくは chuyên dụng メモリマネージャにCPUキャッシュドライバを thống hợp していた.
Nhật bổn ngữ bản Windows 3.1への đối ứng
Thượng ký の thông り, anh ngữ bản Windows 3.1は80286プロテクトモードをサポートしたが[22],マイクロソフト bản やNEC bản の nhật bổn ngữ bản Windows 3.1では80286をサポートしなかった[2][3][4].CPUをi386 dĩ thượng にアップグレードした tràng hợp でもマザーボードが80286 dụng であることをWindows 3.1のインストーラが cảm tri してセットアップを trung đoạn してしまう tràng hợp があり, これを phòng chỉ するために80286 dụng CPUアクセラレータ chế phẩm のいくつかはWindows 3.1をインストールできるようにするためのツールが dụng ý されていた[23].
ただし80286システムはCPUを386 dĩ thượng に変えてもメモリまわりに chế ước が tàn るケースが đa く, khoái thích にWindowsを lợi dụng できるケースは hạn られていた. もともと80286 toàn thịnh thời đại の cơ chủng にはプロテクトモード dụng の1MBを siêu えるアドレスのメモリ ( プロテクトメモリ ) に chuyên dụng の cao tốc スロットが vô いか, あっても tăng thiết できる dung lượng が thiếu ないケースがあった. そのうえ bổn lai のDOS dụng đồ ではプロテクトメモリをEMSに転 dụng すると80286 cơ では hiệu suất が ác く đê tốc になる[Chú 17]ことが tri られていた[Chú 18].Kết quả đích に80286 cơ ではWindows dụng đồ に hướng いた chuyên dụng プロテクトメモリが phổ cập せず,DOS dụng đồ のメモリとしてPhiếm dụng 拡 trương スロットDụng メモリが chủ に sử われていた. その trung にはプロテクトメモリに転 dụng できるものもあったが, プロテクトメモリ dụng đồ としては chuyên dụng スロットに tăng thiết するよりも đê tốc であるため, メモリに phụ đam をかけるWindows dụng đồ ではそれによる tốc độ đê hạ が hiển trứ に hiện れた.
なおWindows 9598はOS tự thể が tảo い đoạn giai で80286 dĩ hạ のマザーを cảm tri して khởi động を chỉ めてしまう sĩ dạng[Chú 19]のため, sự tiền にDOSを khởi động するなどしてCPU tình báo を tái thiết định[Chú 20]したうえで cao tốc tái khởi động ツールなどでその “Tảo い đoạn giai” をパスできるように công diện するか, もしくはOSの khởi động プログラム[Chú 21]を cải tạo して cơ chủng phán biệt ルーチンをつぶさない hạn り, たとえCPUを hoán えても80286マザー thượng でWindows 95を động かすことはできない.

Cước chú

[Biên tập]

Chú 釈

  1. ^Nguyên văn: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.
  2. ^Thông thường この thao tác はI/O 0037hのコントロールポートを giới して hành う. I/O 0037hに0Ahを thư き込めばI/O 0035hのbit5が0に, 0Bhを thư き込めば1になる. Đồng dạng に0Eh・0Fhを thư き込めばI/O 0035hのbit7がそれぞれ0・1に thiết định される.
  3. ^Nguyên văn: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.
  4. ^Nghiêm mật には, 8086/80186のフラグレジスタで vị sử dụng だった dư ước ビットの nhất bộ がV30では8080エミュレーションで sử われるが, x86として động tác している hạn りは8086/80186 hỗ hoán の cử động となる.
  5. ^Đặc に80386 dĩ hàng では, điều kiện ジャンプでnearジャンプ ( -32768から+32767までの tương đối アドレス chỉ định ) を hành うときのプリフィックスにも sử われるようになった. 80286およびそれ dĩ tiền の điều kiện ジャンプ mệnh lệnh はshortジャンプ ( -128から+127までの tương đối アドレス chỉ định ) しか sử えない.
  6. ^8086のPUSH SP mệnh lệnh でスタックポインタSPを thối tị させる tràng hợp, SPから2が giảm toán された hậu のSP trị が ký lục される. Lệ えば, PUSH SPのあとPOP AXを thật hành するとAXにはSP-2がロードされる. 80286 dĩ hàng ではPUSH SPの tế に giảm toán される tiền の nguyên のSP trị を thối tị するようになった. この cử động の vi いはプログラムが8086で thật hành されているのか, 80286で thật hành されているのかを phán biệt することに sử dụng できる.
  7. ^80286ではフラグレジスタの sử われていなかった dư ước ビットのいくつかに tân たな ý vị を trì たせており, その trị によって nhất bộ の kí tồn mệnh lệnh の cử động に ảnh hưởng が xuất る. Lệ えば kí tồn のPOPFMệnh lệnh はプロテクトモードにおいてIO đặc 権レベルを kỳ すIOPLフラグが変 canh できるようになっており, これによって kí tồn の mệnh lệnh のうち đặc 権レベルに y tồn するようになった mệnh lệnh ( I/Oや, cát り込みフラグの chế ngự mệnh lệnh ) が ảnh hưởng を thụ ける. また tha のタスクから hô び xuất されたプログラムではそのためのNTフラグが lập っており,IRETの động tác に ảnh hưởng する.
  8. ^V30ではbit15が “エミュレーションモード・フラグ” に cát り đương てられており, 8080エミュレーション cơ năng に quan hệ する.
  9. ^PC-9801では sơ đại cơ から2 cá mục の8259Aをカスケード tiếp 続して nhập lực を15 bổn に拡 trương しており, cát り込み8から23までの ngoại bộ cát り込みが định nghĩa されていた[17].
  10. ^80286システムを486 hỗ hoán CPUに hoán えても khởi động thời はCPUキャッシュが hữu hiệu になっていない. Nhất bàn にCPUはメモリに tần phồn にアクセスしながら động tác するため, CPUキャッシュが vô hiệu でメモリアクセスがまったく cao tốc hóa していない trạng thái ではCPU nội bộ bội suất に quan hệ vô くほとんど処 lý tốc độ は hướng thượng しない.
  11. ^EPSON PC-286シリーズの tràng hợp はロットによってCPUソケット hình trạng がCLCC ( セラミック・リードレス・チップ・キャリア )という đặc thù なものが hỗn tại しており, その tràng hợp は bán điền ごてを dụng いるか, nghiệp giả に y lại してCPUソケットを giao hoán する tất yếu があった[19].
  12. ^8086Thế đại のx86CPUはNECのピン hỗ hoán CPU V20やV30と giao hoán することでCPU tính năng を hướng thượng できたことが tri られるが, V30 dụng としては chủ に拡 trương スロットに tăng thiết するタイプのCPUアクセラレータが chế phẩm が thiếu sổ tri られていた trình độ で, CPUを trí き hoán えるタイプのCPUアクセラレータ chế phẩm が bổn cách đích に xuất hồi るようになったのは80286 dĩ hàng のプラットフォームからである. これは8086/V30はアドレスとデータを thời phân cát で nhập xuất lực していたり, 8086/V30 dụng の chu biên チップとの tiếp 続 tính が lương くなかったりなど, それ dĩ hàng のCPUと単 thuần に trí き hoán えるには bất hướng きだったこともある
  13. ^Liêm 価 bản プロセッサであるi386SXではCPUソケットが tỉnh lược されており, cơ bổn đích に cơ bản trực phó けとなっていた. CPUアクセラレータを động tác させるには ngoại bộ からCPUを vô hiệu にできる cơ năng が tất tu であり, これに đối ứng したi386SXはロットが hạn られていた.
  14. ^i386DXを đáp tái するPC-98XL2を hàm む
  15. ^PC-98XL2を trừ く
  16. ^I/Oポート00F2hで chế ngự する. このポートはi386 dĩ thượng のシステムにもある
  17. ^EMSのページフレームとプロテクトメモリとをCPUがデータをコピーする phương thức のため. この phương thức は đặc biệt なハードウェアを tất yếu とせず “ソフトウェアEMS”と hô ばれる
  18. ^なおi386 dĩ thượng に hoán trang していればDOS dụng đồ であっても chuyên dụng プロテクトメモリで “仮 tưởng EMS”を sử dụng したほうが cao tốc になる.80286と đồng じ phương thứcを sử dụng すると trì くなる
  19. ^メモリチェック thời に thiết định されるワークエリアの trị で cơ chủng を phán biệt する.
  20. ^Lệ えば tiền thuật のWindows 3.1をインストールできるようにするためのツールを lợi dụng するなど.
  21. ^Cụ thể đích にはIO.SYS.

Xuất điển

  1. ^abiAPX 286 Programmer's Reference Manual including the iAPX 286 Numeric Supplement
  2. ^ab『Microsoft Windows Operating System Version 3.1 お sử いになる tiền に』Microsoft Corporation, 1993 niên, 2 hiệt. KPN890076-9406.
  3. ^ab『 nhật bổn ngữ Microsoft WIndows バージョン 3.1 ライセンス tình báo 』Nhật bổn アイ・ビー・エム,1993 niên. 66G5342/D42865.
  4. ^abNEC bản Windows 3.1
  5. ^Windows for Workgroups Version History
  6. ^OS/2の bộ みを chấn り phản る
  7. ^Protected Mode Basics by Robert Collins
  8. ^トランジスタ kỹ thuật SPECIAL đặc tập IBM PC & 80286のすべてISBN 4-7898-3182-5
  9. ^システムポート”(プレーンテキスト).ウェブテクノロジ.2018 niên 1 nguyệt 6 nhậtDuyệt lãm.
  10. ^BIOSが sử dụng するシステム cộng thông vực”(プレーンテキスト).ウェブテクノロジ.2018 niên 1 nguyệt 6 nhậtDuyệt lãm.
  11. ^abCPU,CPU chu biên が sử dụng するI/O”(プレーンテキスト).ウェブテクノロジ.2018 niên 1 nguyệt 6 nhậtDuyệt lãm.
  12. ^PC-9801VX
  13. ^abcIntel 64 and IA-32 Architectures Software Developer Manuals
  14. ^80386システムプログラム cát điền tuấn lang trứ オーム xã p104ISBN4-274-07544-3
  15. ^インテル(R) プロセッサの thức biệt とCPUID mệnh lệnh”(PDF). インテル.2017 niên 12 nguyệt 5 nhậtDuyệt lãm.
  16. ^Jeff Prosise (1990).“Tutor: Distinguishing among CPUs”.PC Mag9(13): 426.https://books.google.co.jp/books?id=ofXGcGVTvoEC&lpg=PT433&pg=PT4332016 niên 11 nguyệt 20 nhậtDuyệt lãm..
  17. ^Đông công đại điện toán cơ ái hảo hội & tiểu cao huy chân, “98ハードに cường くなる bổn II” (1988), pp.25-30.
  18. ^Int 50 - IRQ0 relocated by OS/2 v1.x
  19. ^ab“PC-98パワーアップ đạo tràng” ソフトバンククリエイティブISBN 9784797305777
  20. ^PK-X486S50-L
  21. ^Biệt mại の sổ trị diễn toán コプロセッサ HSC-40 ※このページは nhất bộ ブラウザでは văn tự hóa けする
  22. ^Windows 3.1 Hardware Compatibility List - Microsoft
  23. ^HRX-C12Qキャッシュコントロールユーティリティ

Tham khảo văn hiến

[Biên tập]
  • インテルジャパン, CQ xuất bản xã 1984 80286プログラマーズ・リファレンス・マニュアルISBN 4-87185-605-4
  • Đại quán quảng hạnh, điền trung huệ giới, thoa nguyên long “80286ハンドブック” アスキー xuất bản cục ( 1985 niên ).ISBN 4871481832
  • Thành điền giai ứng “80x86/x87 ハンドブック” ナツメ xã ( 1995 niên ).ISBN 9784816318344
  • Robert L.Hummel trứ chùy điền hạo nhất 訳 80x86/80x87ファミリー・テクニカルハンドブック kỹ thuật bình luận xãISBN 4-87408-588-1

Quan liên hạng mục

[Biên tập]