Intel 80186

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
80186
KL Intel i186.jpg
生産時期 1982年から2007年9月まで
生産者 インテル
CPU周波数 6 MHz から 25 MHz
命令セット x86 (16ビット)
パッケージ 68ピン PLCC
100ピン PQFP
68ピン PGA
テンプレートを表示

Intel 80186(インテル 80186)は、インテル1982年6月に発表した、主として組み込みシステム向けのマイクロプロセッサ、ないしマイクロコントローラである。

特徴[編集]

同年2月に発表されていた80286や以後のチップとは異なり、8086に対して11個の命令が追加されたが、命令セットアーキテクチャの大幅は拡張はなかった。コアの拡張ではなく周辺IC(クロックジェネレータ、割り込みコントローラ、タイマ、DMAC、チップセレクタ)をオンダイに組み込んだ性格的にはマイクロコントローラに近いチップである。

一部の命令の実行クロック数の削減により、(プログラム内の命令に依るが)同一クロックで動作する8086と比較して1.3倍程度の性能がある。

Intel 80186 裏面

写真の独特なパッケージ形状は CLCC(セラミック・リードレス・チップ・キャリア)と称されるもので、専用のソケットを用いなければ基板に実装できない。のちに PLCC, QFP, PGA など他のパッケージも供給されるようになった。パッケージ形状はチップ名先頭で区別され、それぞれ R(CLCC), N(PLCC), S(QFP), A(PGA)となる。

もっとも、IBM PC等で使用されているDMAC等とは互換性が無いため、パーソナルコンピュータでは、部品点数削減が重要なブック型パソコンで使用された程度である。

8086互換プロセッサを展開していたNEC 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]

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

その他の80186シリーズ[編集]

80188
外部データバス幅が8ビットのCPU。8086に対する8088にあたる。
18677
16MBのメモリを扱えるように機能拡張したもの。富士通、インテルジャパン共同開発。
80C186XL/80C188XL
80186/80188をCMOS化し高クロック (16MHz) 低消費電力化したもの
80C186Ex/80C188Ex
シリアルインターフェイス等の周辺ICをさらに追加し、3V動作、パワーマネジメント機能を追加。

脚注[編集]

注釈

  1. ^ INS, OUTSはオペランドでバイトかワードを指定させる表記法で実際にはそれぞれINSBかINSWおよびOUTSBかOUTSWと同じものであるため実質9命令。
  2. ^ ただしSALとSHLは全く同じ動作なので、実質9命令。
  3. ^ PUSHAのオペコードは60hで、PUSH imm8は6Ah、PUSH imm16は68hとなっており、マシン語レベルでみるとこれらも新命令である。
  4. ^ 8086でも1ビットのシフト/ローテイト命令はある。複数ビットのシフト/ローテートを行うには8086では一度シフト・ローテートするビット数をレジスタに入れる必要があったが、80186,80286では命令の即値オペランドで指定できるようになった。

参考文献[編集]

  • 成田佳應、『80x86/x87ハンドブック』、ナツメ社、1995年。

関連項目[編集]