2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

PC-9821/9801スレッド Part74

1 :ナイコンさん:2015/08/08(土) 18:01:34.60 .net
NEC PC-9801 PC-9821 PC-H98 など PC-9800 シリーズ全般を語るスレッドです。

▼前スレ
PC-9821/9801スレッド Part72 (73)
http://hello.2ch.net/test/read.cgi/i4004/1430620572/

129 :ナイコンさん:2015/09/08(火) 20:14:25.93 .net
DOSエクステンダ
https://ja.wikipedia.org/wiki/DOS%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%86%E3%83%B3%E3%83%80

^ 80286では、非公開のLOADALL命令を使用しても、プロテクトモードからリアルモードへ戻ることはできない。

130 :ナイコンさん:2015/09/08(火) 20:16:49.54 .net
LOADALL
https://ja.wikipedia.org/wiki/LOADALL

LOADALLは、インテル社のCPU 80286, 80386/80486にあった非公開命令
のひとつである。

概要
LOADALL命令は、その名前が示すように1命令でCPUのすべての
内部レジスタをロードする。LOADALLは、セグメントレジスタの
可視部(visible part)に加えて、デスクリプターキャッシュ部
(cached part)もロードする。そのため、公開されたx86命令では
できないことが可能である。 LOADALL命令の有用な使用例は、
リアルモードのままで、1Mバイト以上のメモリ領域をアクセス
することである。MS-DOSのRAMDRIVE.SYSやHIMEM.SYS、
Windows/386 2.1, OS/2などがLOADALLを使用している。

80286版LOADALL
オペコードは、0Fh 05h。80286版LOADALLは、セグメントレジスタの
値に関係なく、00800h–00866hのアドレスからデータを読み込む。
80286では、LOADALL命令を使用しても、プロテクトモードから
リアルモードに戻ることはできない。すなわち、MSWのPEビットは
クリアできない。しかし、LOADALL命令があれば、1MB以上のメモリに
アクセスするために、プロテクトモードに入る必要はなくなる。

131 :ナイコンさん:2015/09/08(火) 20:27:17.28 .net
ftp厨ってまだ息してんの?

132 :ナイコンさん:2015/09/08(火) 20:33:32.67 .net
プロテクトモード
https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%83%86%E3%82%AF%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89#286_2

386がリリースされる以前は、プロテクトモードにいったん入った後、
リアルモードに戻る直接的方法が提供されていなかった。IBMはその対処
として、キーボードコントローラからCPUをリセットする技法を考案し、
その際にシステムレジスタ群、スタックポインタ、割り込みマスクを
リアルタイムクロックのチップにあるRAMにセーブするようにした。
これによりBIOSがCPUをほぼ同じ状態に復旧することが可能となり、
リセット前のコードの実行を続行できる。その後、トリプルフォールト
を発生させて286CPUをリセットするという手段がとられた。こちらの
方がキーボードコントローラを使うよりも高速できれいだった。

133 :ナイコンさん:2015/09/08(火) 20:35:38.53 .net
Triple fault
https://en.wikipedia.org/wiki/Triple_fault

The Intel 80286 processor was the first x86 processor to introduce
the now-ubiquitous protected mode. However, the 286 could not revert to
the basic 8086-compatible "real mode" without resetting the processor,
which can only be done using hardware external to the CPU. On the IBM
AT and compatibles, the documented method of doing this was to use a
special function on the Intel 8042 keyboard controller, which would
assert the RESET pin of the processor. However, intentionally
triple-faulting the CPU was found to cause the transition to occur
much faster and more cleanly, permitting multitasking operating
systems to switch back and forth at high speed.[1]

134 :ナイコンさん:2015/09/08(火) 20:40:07.55 .net
OS/2 1.xでリアルモードとプロテクトモード切替はわざとトリプルフォールト
を発生させて切り替えたみたいだね。

Faster Syscall Trap redux
http://blogs.msdn.com/b/larryosterman/archive/2005/02/08/369243.aspx

総レス数 1001
182 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200