Intel 80186
From Wikipedia, the free encyclopedia
Intel 80186(インテル 80186)は、インテルが1982年6月に発表した、主として組み込みシステム向けのマイクロプロセッサ、ないしマイクロコントローラである。
|
| |
| 生産時期 | 1982年から2007年9月28日まで |
|---|---|
| 生産者 | インテル、AMD、富士通、シーメンス |
| CPU周波数 | 6 MHz から 25 MHz |
| FSB周波数 | 6 MHz から 25 MHz |
| 命令セット | x86 (16ビット) |
| パッケージ | 68ピン PGA |
| 前世代プロセッサ | Intel 8086 |
| 次世代プロセッサ | Intel 80286 |
| トランジスタ | 55000 |
| コプロセッサ | Intel 8087, Intel 80187 |
特徴
同年2月に発表されていた80286のリアルモードと同様に、11個の命令が追加されている。しかし、80286以降のチップとは異なり、命令セットアーキテクチャの大幅な拡張はなく、8086と同世代のアーキテクチャである。にもかかわらず、80286よりも遅れて発表されたことについては、それだけ開発が難航した関係と言われている[1]。
コアの拡張ではなく、周辺IC(クロックジェネレータ、割り込みコントローラ、タイマ、DMAC、チップセレクタ)をオンダイに組み込んでいることから、性格的にはマイクロコントローラに近く、組み込みシステム向けの特徴を備える。
一部命令の実行クロック数が削減されることにより、同一クロックで動作するi8086と比較して、約1.3倍程度の性能があるとされる(命令による)。
写真の独特なパッケージ形状は CLCC(セラミック・リードレス・チップ・キャリア)と称されるもので、専用のソケットを用いなければ基板に実装できない。後にPLCC・QFP・PGAなど他のパッケージも供給されるに伴い、パッケージ形状がそれぞれ R (CLCC)・N (PLCC)・S (QFP)・A (PGA) とチップ名の先頭で区別された。
もっとも、IBM PC等で使用されているDMAC等とは互換性が無いため、パーソナルコンピュータ (PC) では、部品点数削減が重要なブック型パソコンで使用された程度である。
なお、同時期にNECが8086互換プロセッサとして展開していたVシリーズの中では、V35/V25が機能的に酷似している。
追加または仕様変更された命令
先行する80286に追加されていた新たな命令のうち、プロテクトモードや80287に関連しない汎用の命令11個[注 1]が80186にも採用された。これらはもともと286命令の一部であるが、数字的に186より大きい数字のプロセッサで使用できるようになったことから、結果的に「186命令」などとされることもある。
ENTER … Make stack frame for procedure LEAVE … High level procedure exit PUSHA … Push all general registers POPA … Pop all general registers BOUND … Check array index against bounds INS … Input string INSB … Input string byte INSW … Input string word OUTS … Output string OUTSB … Output string byte OUTSW … Output string word
このほか80186/80286では以下の10命令[注 2][注 3]に対しても、既存の命令に対してアドレッシングモードが追加されている。いずれもオペランドにイミディエイト(即値)が使えるようになった[注 4]。なお、シフト/ローテイト命令ではビット数として指定できる有効な値が31以下に変更されており、それより大きな値を指定しても下位5ビット分しか認識されなくなった[注 5]。
IMUL Integer multiplication PUSH Push word onto stack RCL Rotate left through carry RCR Rotate right through carry ROL Rotate left ROR Rotate right SAL Shift arithmetic left SHL Shift left logical SAR Shift arithmetic right SHR Shift right logical
また、8086では8087命令の使用中はWAIT命令でCPUを止めておかなければならなかった[注 6]が、80186では自動的にタイミングが調整されるようになり、8087命令の前に必ずしもWAIT命令を入れる必要はなくなった。