stanford-oval/wikipedia huggingface dataset:
MIPSアーキテクチャ
歴史 > アーキテクチャのライセンス供与

1990年初頭、ミップス・テクノロジーズ社は、プロセッサの設計をサードパーティーにライセンス供与しはじめた。プロセッサ・コア、つまり主要な演算部分の単純さによって、これは「MIPSコア」として成功を収め、従来は同等のゲート数と価格のCISCプロセッサが占めていた様々な分野でMIPSコアが使われるようになった。ゲート数と価格は密接な関係があり、CPUの価格はキャッシュメモリ領域を除けば、ゲート数とピン数でほぼ決まっていた。サン・マイクロシステムズも追随してSPARCコアのライセンス供与を開始したが、成功したとは言い難い。1990年代後半にはMIPSは機器組み込み用プロセッサ分野の勝者となっていた。1997年、4800万個目のMIPSベースのチップが出荷され、MIPS CPUファミリはモトローラのMC68000ファミリを出荷個数で抜いた。この成功により、SGI社はミップス・テクノロジーズを1998年にスピンオフさせた。ミップス・テクノロジーズの収入の半分はライセンス料であり、残りはサードパーティーが生産するコアの設計から来ている。
1999年、ミップス・テクノロジーズ社はライセンス体系を整理し、32ビットのMIPS32（MIPS II にそれ以降の新規機能を追加したものだが、後に遅延分岐系のbranch likely は強い非推奨となり、将来の削除が予告された）と64ビットのMIPS64（MIPS V ベース）に分けた。このアナウンスと同時に、NEC、東芝、SiByte（後にブロードコムが買収）がMIPS64のライセンス供与を受けた。フィリップス、LSIロジック、IDTもすでに参加している。成功に成功が続き、MIPSはコンピュータに近い機器（ハンドヘルドコンピュータやセットトップボックスなど）の市場で最も使われているヘビー級CPUコアとなっている。モトローラ社もセットトップボックスに自社のPowerPCではなくMIPSコアを採用した。
いくつかのベンチャー企業もミップス・テクノロジーズ社よりアーキテクチャ・ライセンスの供与を受けて参入してきた。最初にMIPSプロセッサを設計したベンチャー企業はQuantum Effect Devicesだった。MIPS社でR4300iを設計したチームはSandCraft（英語版）社を設立し、NEC向けにR5432を設計し、後にSR7100を作った。これは、組み込み分野向けの最初のアウト・オブ・オーダー実行プロセッサである。DECで最初にStrongARMを設計したチームはふたつのMIPS関連ベンチャーを設立した。ひとつはSiByteでSB-1250というMIPSベースで最初のSystem-on-a-chip (SOC) を実現した製品を作った。もうひとつのAlchemy SemiconductorはAu-1000という低電力のSOCを作った。SiByteはブロードコムに買収された。AlchemyはAMDに買収されたが、後にAMDはAlchemyをRaza Microelectronics (RMI) に売却した。LexraはMIPSに似たアーキテクチャをベースにDSP機能を付加したチップをオーディオ機器市場向けに、マルチスレッド機能を付加したチップをネットワーク機器市場向けに出している。LexraはMIPSからライセンス供与を受けていなかったため、MIPSとの間で2件の訴訟となった。1件はLexraがMIPS互換であることを宣伝しないという条件ですぐさま解決した。2件目は長引き、両社を疲弊させた。結局、ミップス・テクノロジーズがLexraに対してフリーライセンスと賠償金を払うことで決着した。
MIPSアーキテクチャを使ったマルチコアデバイスを構築することに特化した企業も2社登場している。Raza Microelectronics, Inc. は低迷していたSandCraftから製品ラインを買い取り、通信およびネットワーク市場向けに8コアの製品を提供した。Cavium Networks は元々はセキュリティ・プロセッサのベンダーだったが、こちらも同じ市場向けに8CPUコアを集積したデバイスを開発し、後に最大32コア版を開発している。両社ともに社内でコアを設計しており、MIPSからコア設計を買うのではなくアーキテクチャのライセンス供与だけを受けている。
歴史 > デスクトップ市場を失う

MIPSプロセッサを使ったワークステーションシステムを製造していた企業として、SGI、ミップス・コンピュータシステムズ、Whitechapel Workstations、オリベッティ、Siemens-Nixdorf、エイサー、DEC、NEC、ソニー、DeskStation があった。またMIPSアーキテクチャ上に移植されたオペレーティングシステムとして、SGIのIRIX、マイクロソフトのWindows NT（v4.0まで）、Windows CE、Linux、BSD、UNIX System V、QNX、ミップス自身のRISC/osなどがある。
1990年代初頭、インテルプロセッサベースのPCに対抗してMIPSプロセッサベースのコンピューティング環境を作るために、コンパック他多数の企業によって Advanced Computing Environment (ACE) というコンソーシアムが設立された。当時、MIPSなどの強力なRISCプロセッサがインテルのIA-32アーキテクチャに取って代わるだろうという予測がなされていた。マイクロソフトの Windows NT が当初、Alpha、MIPS、PowerPCなどのRISCアーキテクチャに対応したこともその予測を裏付ける形となった。しかしインテルがPentiumクラスのCPUをリリースすると、マイクロソフトの Windows NT v4.0 では対応するアーキテクチャをIA-32とAlphaのみに絞った。後にSGIがItaniumやIA-32アーキテクチャへの移行を決定すると、デスクトップ市場ではMIPSプロセッサはほぼ完全に姿を消した。
歴史 > 組み込み市場

1990年代を通して、MIPSアーキテクチャはコンピュータネットワーク、電気通信、アーケードゲーム、ゲーム機、プリンター、デジタルセットトップボックス、デジタルテレビ、DSLモデムやケーブルモデム、携帯情報端末といった組み込み市場で広く採用された。
MIPSの組み込み向け実装は低消費電力と低発熱を特徴とし、組み込み向けの開発ツールも充実しており、知識の蓄積もあることから、今も組み込み市場で人気を保っている。
歴史 > 組み込み市場向けの合成可能なコア

最近ではMIPSアーキテクチャはIPコアとして、組み込み用プロセッサの設計に使える形で利用されることが多い。1999年の時点で、32ビットと64ビットの基本コアが提供されており、それぞれ MIPS32 4K と MIPS64 5K と呼ばれている。それらのコアとFPU、SIMDシステム、各種I/Oデバイスなどを組み合わせてチップを設計できる。
MIPSコアは商業的に成功を収め、様々な機器で利用されている。例えば、シスコシステムズやリンクシスなどのルーター、ケーブルモデム、ADSLモデム、ICカード、レーザープリンター、セットトップボックス、ロボット、ソニー・コンピュータエンタテインメントのPlayStation 2やPlayStation Portableなどで使われている。携帯電話やPDAの分野では競合するARMアーキテクチャの座を奪うことはできなかった。
MIPSアーキテクチャの組み込み用プロセッサとして
IDT RC32438
ATI Xilleon
Alchemy Au1000/1100/1200
Broadcom Sentry5
RMI XLR7xx
Cavium Octeon CN30xx/CN31xx/CN36xx/CN38xx/CN5xxx
インフィニオン・テクノロジーズ EasyPort/Amazon/Danube/ADM5120/WildPass/INCA-IP/INCA-IP2
Microchip Technology PIC32
NEC EMMA/EMMA2/VR4181A/VR4121/VR4122/VR4181A/VR5432/VR5500
Oak Technologies Generation
PMC-Sierra RM11200
QuickLogic QuickMIPS ESP
東芝 Donau/TMPR492x/TX4925/TX9956/TX7901
などがある。
歴史 > 映像組み込みでの利用

2008年の時点で、MIPSはデジタルテレビで68%、DVDレコーダーで72%、Blu-Rayレコーダーで77%、ケーブルテレビのセットトップボックスで70%、IPテレビのセットトップボックスで77%のシェアがあり、動画のデコーダ・エンコーダを必要とする映像関係で広く使われている。
歴史 > MIPSベースのスーパーコンピュータ

MIPSアーキテクチャは超並列型のスーパーコンピュータにも採用された。シリコングラフィックス (SGI) は1990年代前半からデスクトップ型のグラフィックス・ワークステーションだけでなく高性能計算市場にも注力するようになった。R4400やR8000を使った Challenge シリーズというサーバシステムで成功を収め、後にR10000も採用している。その後SGIはさらに強力なシステムの開発に注力するようになる。R10000を採用した Origin 2000 はNUMA型で最大1024個のプロセッサを相互接続するものだった。さらにそこからR14000やR16000を最大1024個構成できる Origin 3000 を開発。しかし、SGIは2005年にIA-64アーキテクチャへの移行を決定し、MIPSベースのスーパーコンピュータの開発をやめた。
高性能計算のベンチャー企業SiCortexは、2007年にMIPSベースの超並列マシンを発表した。MIPS64アーキテクチャをベースとし、カウツグラフのトポロジーを使って高性能インターコネクトでノードを相互接続する。消費電力が小さく計算能力が高い。計算ノードはMIPS64コアを8個集積したマルチコアであり、メモリコントローラ、DMAエンジン、ギガビット・イーサネット、PCI Express コントローラなどがシングルチップに集積されていて、消費電力はわずか10ワットでありながら、浮動小数点演算性能はピークで6GFLOPSとされている。最大構成のSC5832はそのようなノードチップ972個で構成されており、MIPS64コアが5832個ある。ピーク性能は8.2テラFLOPSとされている。
歴史 > 龍芯

→詳細は「龍芯」を参照
龍芯は中国科学院が設計したMIPS互換のマイクロプロセッサであるが、当初はミップス・テクノロジーよりライセンスを受けていなかった。そのマイクロアーキテクチャは中国が独自に設計したもので、初期の設計ではMIPSアーキテクチャにある4つの命令が実装されていなかった。2009年6月、中国科学院はミップス・テクノロジーズから直接、MIPS32およびMIPS64アーキテクチャのライセンス供与を受けた。
2006年から各社が龍芯をベースとしたコンピュータをリリースしており、低消費電力のネットブックやネットトップもある。
MIPS IV

MIPS IV は4番目のアーキテクチャである。MIPS III のスーパーセットであり、それまでの全てのアーキテクチャと互換性がある。MIPS IV は1994年のR8000で初めて実装された。MIPS IV で追加された点は次の通りである。
浮動小数点数のロード/ストア命令で「レジスタ + レジスタ」形式（インデックスつき）のアドレス指定を追加
単精度および倍精度の浮動小数点数の積和演算命令を追加
条件転送命令（整数レジスタと浮動小数点レジスタ）を追加
FPUの制御/ステータスレジスタに新たな条件ビットを追加し、全部で8ビットとした。
MIPS V

MIPS V は5番目のアーキテクチャで、1996年10月21日の Microprocessor Forum 1996 で発表された。主に3次元グラフィックスの性能向上を目的としている。1990年代中ごろ、組み込み用途以外では主にSGIがグラフィックス・ワークステーションにMIPSマイクロプロセッサを使っていたためである。MIPS V と同時にそれを補完する MIPS Digital Media Extensions (MDMX) というマルチメディア拡張（整数のみ）も発表された。
MIPS V を実装した製品は結局登場しなかった。1997年、SGIはコード名 "H1" または "Beast" と、"H2" または "Capitan" というマイクロプロセッサを発表した。前者は最初の MIPS V 実装で、1999年に出荷予定とされた。"H1" と "H2" のプロジェクトは後に統合され、最終的に1998年に中止となった。
MIPS V は pair-single (PS) と呼ばれる新たなデータ型を追加していた。これは単精度（32ビット）浮動小数点数のペアを64ビットのFPUレジスタに格納するものである。算術演算命令、比較命令、条件転送命令ではPSデータをSIMD風に扱う。またPSデータのロード、配置変更、変換などの命令が追加されている。既存リソースで浮動小数点SIMDを実現しようという試みだった。
MIPS CPU ファミリ > MIPS マイクロプロセッサの仕様

| モデル | 動作周波数[MHz] | 登場年 | プロセス[μm] | トランジスタ[百万] | ダイサイズ[mm2] | ピン数 | 電力[W] | 電圧[V] | データキャッシュ[kB] | 命令キャッシュ[kB] | 2次キャッシュ | 3次キャッシュ |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| R2000 | 8 - 16.67 | 1985 | 2.0 | 0.11 | -- | -- | -- | -- | 32 | 64 | none | none |
| R3000 | 12 - 40 | 1988 | 1.2 | 0.11 | 66.12 | 145 | 4 | -- | 64 | 64 | 0-256KB （外付） | none |
| R4000 | 100 | 1991 | 0.8 | 1.35 | 213 | 179 | 15 | 5 | 8 | 8 | 1MB （外付） | none |
| R4400 | 100-250 | 1992 | 0.6 | 2.3 | 186 | 179 | 15 | 5 | 16 | 16 | 1-4MB （外付） | none |
| R4600 | 100-133 | 1994 | 0.64 | 2.2 | 77 | 179 | 4.6 | 5 | 16 | 16 | 512KB （外付） | none |
| R4650 | 133-180 | 1994 | 0.64 | 2.2? | 77? | 179? | 4.6? | 5 | 16 | 16 | 512KB （外付） | none |
| R4700 | 100-200 | 1996 | 0.5 | 2.2? | -- | 179 | -- | -- | 16 | 16 | 外付 | none |
| R5000 | 150-200 | 1996 | 0.35 | 3.7 | 84 | 223 | 10 | 3.3 | 32 | 32 | 1MB （外付） | none |
| R8000 | 75-90 | 1994 | 0.7 | 2.6 | 299 | 591+591 | 30 | 3.3 | 16 | 16 | 4MB （外付） | none |
| R10000 | 150-200 | 1996 | 0.35, 0.25 | 6.7 | 299 | 599 | 30 | 3.3 | 32 | 32 | 512KB-16MB （外付） | none |
| R12000 | 270-400 | 1998 | 0.25, 0.18 | 6.9 | 204 | 600 | 20 | 4 | 32 | 32 | 512KB-16MB （外付） | none |
| RM7000 | 250-600 | 1998 | 0.25, 0.18, 0.13 | 18 | 91 | 304 | 10, 6, 3 | 3.3, 2.5, 1.5 | 16 | 16 | 256KB （内蔵） | 1MB （外付） |
| MIPS32 4K | 138 | 1999 | 0.18 |  |  |  |  |  |  |  |  |  |
| MIPS64 5K |  | 1999 |  |  |  |  |  |  |  |  |  |  |
| MIPS64 20K |  | 2000 |  |  |  |  |  |  |  |  |  |  |
| R14000 | 500-600 | 2001 | 0.13 | 7.2 | 204 | 527 | 17 | -- | 32 | 32 | 512KB-16MB （外付） | none |
| R16000 | 700-1000 | 2002 | 0.11 | -- | -- | -- | 20 | -- | 64 | 64 | 512KB-16MB （外付） | none |
| MIPS32 24K | 400(130nm) 750(65nm) 1468(40nm) | 2003 | 40nm 〜 130nm | -- | 0.83 （コアのみ） | -- | -- | -- | 64 | 64 | 4-16MB （外付） | none |
| MIPS32 34K | 500(90nm) 1454(40nm) | 2006 | 90nm 65nm 40nm |  |  |  |  |  |  |  |  |  |
| MIPS32 74K | 1080 | 2007 | 65nm |  |  |  |  |  |  |  |  |  |
| MIPS32 1004K | 1.1GHz | 2008 | 65nm |  |  |  |  |  |  |  |  |  |
| MIPS32 1074K | 1.5GHz | 2010 | 40nm |  |  |  |  |  |  |  |  |  |
| microAptiv |  | 2012 | 90nm～65nm |  |  |  |  |  |  |  |  |  |
| interAptiv |  | 2012 | 65nm～40nm |  |  |  |  |  |  |  |  |  |
| proAptiv |  | 2012 | 40nm～22nm |  |  |  |  |  |  |  |  |  |
注意：主なプロセッサの仕様のみ掲載。
MIPS I の命令形式

命令は R、I、Jの3種類に分類される。どの命令も先頭に6ビットのオペコードがある。Rタイプではオペコードの次に3本のレジスタを指定するフィールドがあり、シフト量を指定するフィールド、機能を指定するフィールドが続く。Iタイプでは2つのレジスタを指定するフィールドと16ビットの即値のフィールドがある。
Jタイプでは、オペコードに続いて26ビットで分岐先アドレスを指定する。
次表は主要な命令セットの3種類の形式を示したものである。
| タイプ | -31-                                 フォーマット (ビット数)                                 -0- | -31-                                 フォーマット (ビット数)                                 -0- | -31-                                 フォーマット (ビット数)                                 -0- | -31-                                 フォーマット (ビット数)                                 -0- | -31-                                 フォーマット (ビット数)                                 -0- | -31-                                 フォーマット (ビット数)                                 -0- |
| --- | --- | --- | --- | --- | --- | --- |
| R | オペコード (6) | rs (5) | rt (5) | rd (5) | シフト量 (5) | 機能 (6) |
| I | オペコード (6) | rs (5) | rt (5) | 即値 (16) | 即値 (16) | 即値 (16) |
| J | オペコード (6) | アドレス (26) | アドレス (26) | アドレス (26) | アドレス (26) | アドレス (26) |
MIPS アセンブリ言語

アセンブリ言語には、直接ハードウェア実装に対応した命令以外に複数命令の列に変換される「擬似命令」が存在する。
以下の表で、d、t、s といった文字はレジスタの番号や名前のためのプレースホルダーとなっている。
C は定数（即値）を示す。
オペコード及び機能のコードは16進数である。
MIPS32命令セットでは Add や Subtract 命令で使われる unsigned という用語が誤解を生みやすいとしている。それらの命令の signed と unsigned の違いはオペランドを符号拡張をするかしないかではなく、オーバーフロー発生時にトラップを起こすか (e.g. Add) 無視するか (Add unsigned) である。それらの命令の即値オペランド CONST は常に符号拡張される。
MIPS アセンブリ言語 > 浮動小数点数

MIPSアーキテクチャには32本の浮動小数点レジスタがある。2本のレジスタで倍精度の数値を表す。奇数番目のレジスタで倍精度の数値を指定することはできない。
| 種類 | 名称 | 構文 | 意味 | 形式/オペコード/機能 | 形式/オペコード/機能 | 形式/オペコード/機能 | 注記/エンコーディング |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 算術 | FP add single | add.s $x,$y,$z | $x = $y + $z |  |  |  | 単精度加算 |
| 算術 | FP subtract single | sub.s $x,$y,$z | $x = $y - $z |  |  |  | 単精度減算 |
| 算術 | FP multiply single | mul.s $x,$y,$z | $x = $y * $z |  |  |  | 単精度乗算 |
| 算術 | FP divide single | div.s $x,$y,$z | $x = $y / $z |  |  |  | 単精度除算 |
| 算術 | FP add double | add.d $x,$y,$z | $x = $y + $z |  |  |  | 倍精度加算 |
| 算術 | FP subtract double | sub.d $x,$y,$z | $x = $y - $z |  |  |  | 倍精度減算 |
| 算術 | FP multiply double | mul.d $x,$y,$z | $x = $y * $z |  |  |  | 倍精度乗算 |
| 算術 | FP divide double | div.d $x,$y,$z | $x = $y / $z |  |  |  | 倍精度除算 |
| データ転送 | Load word coprocessor | lwcZ $x,CONST ($y) | Coprocessor[Z].DataRegister[$x] = Memory[$y + CONST] | I |  |  | $2+CONST の位置から4バイトをコプロセッサのデータレジスタにロード。符号拡張する。 |
| データ転送 | Store word coprocessor | swcZ $x,CONST ($y) | Memory[$y + CONST] = Coprocessor[Z].DataRegister[$x] | I |  |  | コプロセッサのデータレジスタの内容を $2+CONST から4バイト連続でストアする。符号拡張する。 |
| 論理（比較） | FP compare single (eq,ne,lt,le,gt,ge) | c.lt.s $f2,$f4 | if ($f2 < $f4) cond=1; else cond=0 |  |  |  | 2つのレジスタの内容を単精度浮動小数点数として大小比較し、$f2の方が小さければFPUのステータスレジスタの条件ビットを1に、そうでなければ0にセットする。 |
| 論理（比較） | FP compare double (eq,ne,lt,le,gt,ge) | c.lt.d $f2,$f4 | if ($f2 < $f4) cond=1; else cond=0 |  |  |  | 2つ（正確には4つ）のレジスタの内容を倍精度浮動小数点数として大小比較し、$f2の方が小さければFPUのステータスレジスタの条件ビットを1に、そうでなければ0にセットする。 |
| 分岐 | branch on FP true | bc1t 100 | if (cond == 1) go to PC+4+100 |  |  |  | 浮動小数点条件ビットが1ならPC相対（即値）で分岐 |
| 分岐 | branch on FP false | bc1f 100 | if (cond == 0) go to PC+4+100 |  |  |  | 浮動小数点条件ビットが0ならPC相対（即値）で分岐 |
MIPS アセンブリ言語 > 擬似命令

MIPSアセンブラは以下の命令を受け付けるが、これらは実際にはMIPSの命令セットに存在しない。アセンブラが同等の命令列に変換し、その際に $1 ($at) レジスタを一時的に使用することがある。
| 名称 | 構文 | 実際の命令列 | 意味 |
| --- | --- | --- | --- |
| Move | move  $rt,$rs | addi  $rt,$rs,0 | R[rt]=R[rs] |
| Load Address | la $at, LabelAddr | lui $at, LabelAddr[31:16]; ori $at,$at, LabelAddr[15:0] | $at = Label Address リンカがアドレスを決定した際に命令を書き換える。 |
| Load Immediate | li $at, IMMED[31:0] | lui $at, IMMED[31:16]; ori $at,$at, IMMED[15:0] | $at = 32ビット即値 |
| Branch if greater than | bgt  $rs,$rt,Label | slt $at,$rt,$rs; bne $at,$zero,Label | if(R[rs]>R[rt]) PC=Label |
| Branch if less than | blt  $rs,$rt,Label | slt $at,$rs,$rt; bne $at,$zero,Label | if(R[rs]<R[rt]) PC=Label |
| Branch if greater than or equal | bge  $rs,$rt,Label | slt $at,$rs,$rt; beq $at,$zero,Label | if(R[rs]>=R[rt]) PC=Label |
| Branch if less than or equal | ble  $rs,$rt,Label | slt $at,$rt,$rs; beq $at,$zero,Label | if(R[rs]<=R[rt]) PC=Label |
| Branch if greater than unsigned | bgtu  $rs,$rt,Label |  | if(R[rs]=>R[rt]) PC=Label |
| Branch if greater than zero | bgtz  $rs,$rt,Label |  | if(R[rs]>0) PC=Label |
| Multiplies and returns only first 32 bits | mul  $1, $2, $3 | mult  $2, $3; mflo $1 | $1 = $2 * $3 |
MIPS アセンブリ言語 > その他の命令

NOP命令。通常 sll $0,$0,0 という命令を使い、その機械語コードは 0x00000000 となる。
break命令。デバッガでのブレークポイント設定で使用する。
syscall命令。オペレーティングシステムのシステムコールに使われ、ユーザーモードからカーネルモードに移行する。
コンパイラのレジスタ使用規則

ハードウェアのアーキテクチャにより、以下のことが定められている。
汎用レジスタ $0 は常に 0 という値を返す。このレジスタに値を書いても変化はしないし、書いた値は消失する。
汎用レジスタ $31 は jal (jump and link) 命令でリンクレジスタとして使われる。
HIおよびLOレジスタは乗除算の結果へのアクセスに使われ、mfhi (move from high) 命令と mflo 命令がそのためにある。
汎用レジスタを使う際のハードウェア上の制限はこれだけである。
各種MIPSツールチェーンでは、レジスタをどのように使うかについて呼出規約を定めている。これはツールチェーンのソフトウェアが定めているもので、ハードウェアにそのような制限があるわけではない。
| 名称 | 番号 | 用途 | 呼び出された側が内容を保存する必要があるか? |
| --- | --- | --- | --- |
| $zero | $0 | 常に 0 | N/A |
| $at | $1 | アセンブラが一時的に使用 | No |
| $v0–$v1 | $2–$3 | 関数の戻り値や式を評価した結果 | No |
| $a0–$a3 | $4–$7 | 関数の引数 | No |
| $t0–$t7 | $8–$15 | 一時変数 | No |
| $s0–$s7 | $16–$23 | 一時変数だがセーブされる | Yes |
| $t8–$t9 | $24–$25 | 一時変数 | No |
| $k0–$k1 | $26–$27 | OSのカーネル用に予約 | No |
| $gp | $28 | 広域（グローバル）ポインタ | Yes |
| $sp | $29 | スタックポインタ | Yes |
| $fp($s8) | $30 | フレームポインタ | Yes |
| $ra | $31 | リターンアドレス | N/A |
呼び出された側が保存すると定められているレジスタは、サブルーチンや関数の呼び出しやシステムコールでも保持される。例えば、$s-レジスタをルーチン内で使うときは、その内容をスタックに一時的に退避させなければならない。$sp と $fp はルーチンに入ってきたときにセーブされ、それぞれルーチン固有の固定値でインクリメントされる。そして、そのルーチンから戻るときに元の値に戻す。一方 $ra は jal 命令でルーチンに飛び込むときに自動的に変更される。$t-レジスタはサブルーチンを呼び出すと内容が破壊されるので、必要なら呼び出す側がセーブしておかなければならない。
シミュレータ

Open Virtual Platforms (OVP) では、非商用利用に限って無料で使えるシミュレータ OVPsim、プロセッサや周辺機器やプラットフォームのモデルのライブラリ、ユーザーが独自のモデルを開発できるAPIなどを提供している。ライブラリに含まれるモデルはオープンソースでC言語で書かれており、MIPSの 4K, 24K, 34K, 74K, 1004K, 1074K, M14K といったコアが揃っている。それらのモデルの開発と保守は Imperas が行っており、ミップス・テクノロジーズの協力の下で評価し MIPS-Verified (tm) というマークをもらっている。MIPSベースのプラットフォームのモデルとしては、非常に単純なものとLinuxのバイナリイメージをブートできるものが用意されている。それらのプラットフォーム・エミュレータはソースとバイナリの形で提供されており、高速で使いやすい。
また、教育向けのMIPS32（当初はR2000/R3000をシミュレートしていた）のフリーなシミュレータ SPIM がある。EduMIPS64 は、GPLライセンスのグラフィカルなMIPS64シミュレータで、Java/Swingで書かれている。MIPS64 ISA の大部分をカバーするサブセットをサポートしており、アセンブリ言語で書かれたプログラムを実行したときCPU内のパイプラインで何が起きているかをグラフィカルに表示する。こちらも教育向けで、世界各地の大学で利用されている。
MARS もGUIベースのMIPSエミュレータで教育向けに作られており、特にヘネシーの『コンピュータの構成と設計』を教科書として使う際に役立つよう設計されている。
より実用的なフリーなエミュレータとしてGXemulやQEMUプロジェクトのものがある。MIPS III および IV のプロセッサをエミュレートでき、コンピュータシステム全体のエミュレートも可能である。
商用のシミュレータは主に組み込み用MIPSプロセッサを対象としたものが存在する。例えば、Virtutech Simics (MIPS 4Kc and 5Kc, PMC RM9000, QED RM7000)、VaST Systems (R3000, R4000)、CoWare (MIPS4KE, MIPS24K, MIPS25Kf, MIPS34K) がある。
Ingenic JZ4725 は、MIPSベースのSoCの一例である。
初期のMIPSのパイプライン概念図。5段パイプラインである（命令フェッチ、命令デコード、実行、メモリアクセス、ライトバック）
R4700 Orion の底面のカバーを外してチップ本体が見えるようにしたもの。Quantum Effect Devices が設計し、IDTが製造した。
R4700 Orion の上面
おぼっちゃまくん

| おぼっちゃまくん |
| --- | --- |
ジャンル: ギャグ漫画、少年漫画、コメディ
漫画
作者: 小林よしのり
出版社: 小学館
掲載誌: 月刊コロコロコミック
レーベル: てんとう虫コミックス
発表号: 1986年5月号 - 1994年9月号
巻数: 全24巻
その他: 第34回小学館漫画賞（児童向け）
アニメ
監督: やすみ哲夫
脚本: 桶谷顕、桜井正明、真保裕一ほか
キャラクターデザイン: 藤田宗克
音楽: 宮原恵太
アニメーション制作: シンエイ動画
製作: テレビ朝日・シンエイ動画
放送局: テレビ朝日系列
放送期間: 1989年1月14日 - 1992年9月26日
話数: 全164話
テンプレート - ノート
プロジェクト: 漫画・アニメ
ポータル: 漫画・アニメ
『おぼっちゃまくん』は、小林よしのりによる日本の漫画作品。およびそれを原作としたテレビアニメ。コミックスは全24巻。幻冬舎から文庫版全8巻が刊行されている。
概要

御坊財閥の跡取り（999代目）息子である御坊茶魔を主人公にしたギャグ漫画。漫画雑誌『月刊コロコロコミック』で1986年5月号から1994年9月号までの間に連載。人気絶頂期には特別読み切りとして『週刊少年サンデー』にも数回登場のほか『ちゃお』、『小学三年生』にも掲載。1989年に第34回小学館漫画賞児童向けを受賞。2016年4月時点で単行本の累計発行部数は約630万部を記録しており、『東大一直線』、『ゴーマニズム宣言』と並ぶ小林よしのりの代表的作品の一つである。1989年から1992年までアニメ放映もされた（詳細情報は後述）。
男性器や大便（アニメ版では一応、蛍光色にして表現を和らげてはいる。しかし、放送開始当初はこういう配慮をしていなかったため茶色であった）が多く登場するなど下ネタギャグがたっぷり含まれていたため、アニメ版は日本PTA全国協議会の「子供に見せたくない番組」では、常に上位だった。
このように、現在では放送禁止になってしまったシーンなどが数多くあったため、地上波で再放送された際は放送されない回も数話あった（詳細は後述）。
基本的には1話完結式だが、1991年以降は前後編の大長編シリーズを描くことも多くなった。
『コロコロ』での連載終了後は、2004年から2006年にかけて『わしズム』Vol.13・14・18にて新作掲載。2016年には『コロコロアニキ』第6号および単行本「傑作選1」に新作を1本ずつ掲載。その後、幻冬舎『小説幻冬』2018年4月号より新作を連載中。
本作の生まれたきっかけ

小林は福岡県出身で、プロデビュー後何年かしてから上京したが、東京では地方出身者に対する差別が激しいことを体験し、見返してやることを決心。収入が増えるたびに転居を繰り返し、1986年には日本有数の高級住宅街である世田谷区成城に住居と仕事場を構えた（詳細は「小林よしのり」参照）。
『週刊少年ジャンプ』との専属契約を解消して数年、漫画家として安定期に入った頃、『コロコロコミック』からの執筆依頼が来る。小林は自分の作風はこの雑誌には合わない、と一度は断るも、編集者の熱意に負け、読み切りを2作寄稿する。どちらもアンケート結果は悪かったが、子供を舐めてはいけないと逆に小林は奮起した。その熱意を編集者に認められ、連載が決まる。喫茶店で連載のアイデアを練っている時、金持ちの若いカップルが後から店に入ってくると、男が「今度俺のクルーザーに乗せてやるよ」と女に自慢した。この嫌味な金持ち感覚に強い憤りを覚えた小林が、そのような上流階級がさらに呆れるような金持ちを創作してやろうと奮起して生まれたのが本作である。小林の意図に反して、そういった上流階級からも人気は高かったという。
なお、このエピソードは漫画化されコミックに掲載されている。また、のむらしんぼの『コロコロ創刊伝説』にも詳細に描かれた。
茶魔語

本作の主人公「御坊茶魔」が発する特有の言語。初期の頃は、「でしゅ」「ぶぁい」のような博多弁を幼く崩した言葉遣いや、「ともだちんこ」「いいなけつ」「ぜっこうもん」のような下ネタのかばん語を指していたが、連載していた雑誌『月刊コロコロコミック』で読者に新しい茶魔語を募集して選ばれた「おっ…おはヨーグルト」が作者・読者ともに評判が良く、その後、「こんにチワワ」「こんばんワイン」「そんなバナナ」「頭に北半球」「さいならっきょ」「ちが宇っ宙（うっちゅう）に」など、多彩な言葉遊びへと発展していった。このうち「ともだちんこ」は秋本治の『こちら葛飾区亀有公園前派出所』で、「なんて骨体」は沢田ユキオの『スーパーマリオくん』で、「すいま千円」は浜岡賢次の『浦安鉄筋家族』などでも使われたこともある。「そんなバナナ」は単なる通行人を含め茶魔以外のキャラクターも使うことがたびたびある。
上記の言葉遊びとは異なり、「へぽーん」「むんな気持ち」「みんな感じ」など、自らの感情表現をボディランゲージ的に表す『おちゃま語』というのも存在する。
またこれまでの小林が描いた漫画からの流用も「すぺぺっ」「ぐぴぴっ」「パーペキ」「パープリン」（東大一直線）「うんにゃのっと」（世紀末研究所）「（どんどど）どぼちて?」（いろはにほう作）などが存在する。
エッセイスト・江國滋が『日本語八ツ当り』でこき下ろし、小林とテレビ番組で対決する事態までになったこともある。もっとも出演時には江國の態度は豹変しており、小林は拍子抜けしたという。
登場人物

→「おぼっちゃまくんの登場人物一覧」を参照
御坊家の所有物

御坊家はアメリカ合衆国大統領や旧ソ連の指導者にも影響力が強く、世界でも有数の大財閥ということで、庶民には思いつかない多くの物を所有している。その一部をここに記す。
その他、茶魔の勉強部屋も通常の小学生とは異なり、水族館・ミニ動物園・ピンボールゲームなどが備え付けてある。ただし、真面目に勉強するには不向きであり、無意味に広い畳敷きの和式トイレでやるのが最適のようである。
書誌情報

小林よしのり 『おぼっちゃまくん』 集英社〈てんとう虫コミックス〉、全24巻
1987年2月発行、ISBN 4-09-141161-4
1987年6月発行、ISBN 4-09-141162-2
1987年11月発行、ISBN 4-09-141163-0
1988年3月25日発行、ISBN 4-09-141164-9
1988年8月25日発行、ISBN 4-09-141165-7
1988年12月25日発行、ISBN 4-09-141166-5
1989年2月25日発行、ISBN 4-09-141167-3
1989年7月25日発行、ISBN 4-09-141168-1
1989年10月25日発行、ISBN 4-09-141169-X
1990年1月25日発行、ISBN 4-09-141170-3
1990年4月25日発行、ISBN 4-09-141591-1
1990年8月25日発行、ISBN 4-09-141592-X
1991年1月25日発行、ISBN 4-09-141593-8
1991年8月25日発行、ISBN 4-09-141594-6
1991年10月25日発行、ISBN 4-09-141595-4
1992年1月25日発行、ISBN 4-09-141596-2
1992年4月25日発行、ISBN 4-09-141597-0
1992年8月25日発行、ISBN 4-09-141598-9
1992年10月25日発行、ISBN 4-09-141599-7
1993年1月25日発行、ISBN 4-09-141600-4
1993年9月25日発行、ISBN 4-09-142121-0
1994年4月25日発行、ISBN 4-09-142122-9
1994年8月25日発行、ISBN 4-09-142123-7
1994年11月25日発行、ISBN 4-09-142124-5
アニメ

本作のアニメ版は1989年1月14日から1992年9月26日まで、テレビ朝日系列にて毎週土曜日19:30 - 20:00（1991年4月より19:58までに短縮）に放送された。全164話。平成で最初に放送されたアニメである。フジテレビ系列のアニメ枠を廃枠に追い込み、当時大人気だった裏番組のクイズダービーと互角の争いを繰り広げ、回によっては視聴率を上回ることもあった。その一方で下ネタギャグが多かったせいかスポンサーが付き辛く、中期以降は事実上のPT番組として放送された。しかし1991年10月から『たけし・逸見の平成教育委員会』（フジテレビ）が開始すると視聴率を奪われるようになり、放送終了に追い込まれた。
なお、『ウンチ』には青い透過光がかけられていたり、金色に光らせたりしていた。『ちんこ』はほぼ修正なしで放送されている。そのため、現在は再放送やソフト化が困難なエピソードが少なくない。
開始10日前の1989年（当時：昭和64年）1月4日には、直前スペシャル『おぼっちゃまくん 合言葉はともだちんこ!』を18:00 - 18:30で放送した。
2013年4月5日・4月6日にはDVD発売記念におぼっちゃまくん傑作選が放送された。放送時間は1時間（4:10 - 5:10、関東ローカル）。
2024年9月24日、テレビ朝日とシンエイ動画はインド市場向けに本アニメの新作を制作することを発表した。2025年春頃の放送開始を予定している。10月21日）にワールドプレミア上映を実施された。
アニメ > スタッフ

原作：小林よしのり
監督補：鳥羽厚
美術監督：内田建彦
音楽：宮原恵太
録音監督：小林克良
撮影監督：金子仁、小沢次雄→岡本英一郎
プロデューサー：木村純一（テレビ朝日）、増子相二郎（シンエイ動画）
監督：やすみ哲夫
文芸：真保裕一
キャラクターデザイン：藤田宗克
タイトル：道川昭
効果：横山正和
整音：中戸川次男
制作デスク：大地丙太郎→村竹保則→東道泰→神村篤
制作：テレビ朝日、シンエイ動画
アニメ > ネット局

| 放送対象地域 | 放送局 | 系列 | ネット形態 | 備考 |
| --- | --- | --- | --- | --- |
| 関東広域圏 | テレビ朝日 | テレビ朝日系列 | 制作局 |  |
| 北海道 | 北海道テレビ | テレビ朝日系列 | 同時ネット |  |
| 青森県 | 青森朝日放送 | テレビ朝日系列 | 同時ネット | 1991年10月開局から |
| 岩手県 | 岩手放送 | TBS系列 | 遅れネット |  |
| 宮城県 | 東日本放送 | テレビ朝日系列 | 同時ネット |  |
| 秋田県 | 秋田放送 | 日本テレビ系列 | 遅れネット | 1992年9月28日まで放送 |
| 山形県 | 山形放送 | 日本テレビ系列 | 遅れネット |  |
| 福島県 | 福島放送 | テレビ朝日系列 | 同時ネット |  |
| 新潟県 | 新潟テレビ21 | テレビ朝日系列 | 同時ネット |  |
| 長野県 | テレビ信州 | 日本テレビ系列 | 遅れネット | 1991年3月まで |
| 長野県 | 長野朝日放送 | テレビ朝日系列 | 同時ネット | 1991年4月開局から |
| 山梨県 | テレビ山梨 | TBS系列 | 遅れネット |  |
| 富山県 | 富山テレビ | フジテレビ系列 | 遅れネット | 本放送終了後の1994年4月1日以降に、月曜 - 金曜 16:30 - 17:00にて一部話数のみ放送された。 |
| 石川県 | 北陸放送 | TBS系列 | 遅れネット | 1991年9月まで、一部話数のみ放送 |
| 石川県 | 北陸朝日放送 | テレビ朝日系列 | 同時ネット | 1991年10月開局から |
| 福井県 | 福井テレビ | フジテレビ系列 | 遅れネット | 月曜 19:30 - 20:00にて放送。1992年6月8日を以て打ち切り。 |
| 静岡県 | 静岡朝日テレビ | テレビ朝日系列 | 同時ネット |  |
| 中京広域圏 | 名古屋テレビ | テレビ朝日系列 | 同時ネット |  |
| 近畿広域圏 | 朝日放送 | テレビ朝日系列 | 先行放送 |  |
| 島根県 鳥取県 | 山陰放送 | TBS系列 | 遅れネット |  |
| 香川県 岡山県 | 瀬戸内海放送 | テレビ朝日系列 | 同時ネット |  |
| 広島県 | 広島ホームテレビ | テレビ朝日系列 | 同時ネット |  |
| 山口県 | 山口放送 | 日本テレビ系列 | 遅れネット | 一部話数のみ放送 |
| 愛媛県 | 南海放送 | 日本テレビ系列 | 遅れネット |  |
| 高知県 | 高知放送 | 日本テレビ系列 | 遅れネット |  |
| 福岡県 | 九州朝日放送 | テレビ朝日系列 | 同時ネット |  |
| 長崎県 | 長崎文化放送 | テレビ朝日系列 | 同時ネット | 1990年4月開局から |
| 熊本県 | 熊本朝日放送 | テレビ朝日系列 | 同時ネット | 1989年10月開局から。のちに自局で全話放送した。 |
| 大分県 | テレビ大分 | フジテレビ系列 日本テレビ系列 | 遅れネット | 9話まで放送され打ち切りとなった。 |
| 宮崎県 | 宮崎放送 | TBS系列 | 遅れネット |  |
| 鹿児島県 | 鹿児島放送 | テレビ朝日系列 | 同時ネット |  |
アニメ > 最終回

アニメについては、漫画の連載後期に何本か執筆されていた「前後編合計100頁シリーズ」の「地球王の秘宝」を前後編形式でオンエアし、締めくくっている。
漫画についてはいつも通りの一話完結だったものが、突如「第一部完」という、ほとんど打ち切りのような形で終了している。
アニメ > 再放送

放送終了後、制作局であるテレビ朝日や地方局（IBC岩手放送、東京MXテレビなど）を中心に再放送が行われたが、上述のように過激な性描写や現在では放送規制にかかってしまうシーンが数多くあったため、再放送されなかった放送回もあった。一方、DVD版では現在では好ましくない表現が含まれていることを前置きした上で原版通りに収録されており、全話視聴が可能となっている。
2017年現在 AbemaTVの家族アニメチャンネルにて再放送が行われている。
アニメ > 映像ソフト化 > DVD・Blu-ray

2013年より第1回から第85回まで収録された「おはヨーグルトBOX」（全17巻）と第86回から第164回（最終回）まで収録された「こんばんワインBOX」（全16巻）の2種類のDVD-BOXがそれぞれポニーキャニオンから発売。同年10月16日より全巻のレンタルが開始（レンタルは1枚単位から可能）。
2021年現在、Blu-ray版はリリースされていない。
アニメ > 映像ソフト化 > VHS

1990年に一部の話のみ収録したVHS全9巻が東宝から発売された。現在は全巻廃盤となっている。
備考

小林が『宝島』に連載していたエッセイ漫画『おこっちゃまくん』によると、同じ小学館の『らんま1/2』とアニメ化の時間帯が同じになり、結局『らんま』が半年で撤退・放送枠の移動をすると、小林の許に高橋ファンを名乗る者から剃刀が送られるなど、抗議の手紙が殺到したという。小林はそのような行動を取る高橋ファンを「高橋（留美子）自身はまじめに漫画を考えているが、高橋ファンはマザコンでタチが悪い」と批判した。その後『週刊少年サンデー』1990年42号で本作の特別読み切りが掲載された際、表紙で『らんま』の主人公と茶魔が共演を果たし、小林は『おこっちゃまくん』で「思う存分カッカしてね（笑）」と皮肉っている。
『クイズ!いち2の三枝』では、神代知衣がナレーションを担当。明確に名乗ってはいないが、語尾に「ぶぁい」とつけていた。
『トリビアの泉 〜素晴らしきムダ知識〜』では、神代知衣が御坊茶魔として影（副音声）のナレーターを担当。定期的に他の「影ナレ」と交代で出演している。
当作品がテレビアニメ化される前の1988年に、TBSテレビ系『クイズダービー』にて「歩く身代金と言われている、漫画・おぼっちゃまくんの主人公が鼻の穴の中に入れている宝石は何？」という問題が出題されたことがある。その後アニメは前述の通り奇しくも「クイズダービー」の裏番組として競合することとなった。
フジテレビ系『クイズ!年の差なんて』でも、ヤング問題として、茶魔語の1つである「シンクロナイズド睡眠不足」の「睡眠不足」を当てる穴埋め問題が出題されたことがある。
小学館のパーティーで小林は晩年の藤子・F・不二雄（藤本弘）と話をした際、「『おぼっちゃまくん』は何年続いてますか?」「8年です」「読者が入れ替わっているから、15年は続けられるね」と指摘され、衝撃を受けたと『ゴーマニズム宣言』で述べている。
2022年頃にテレビアニメ吹替版（ヒンディー語、タミル語、テリグ語）がインドで視聴率1位になるほどの人気になっており、インド現地での新作アニメを作る企画が出ている。
ゲーム・パチンコ

「ドラ・茶魔・四駆郎のスロットゲーム」（PCエンジン）1989年開催の第5回ハドソン全国キャラバン内で使用されたイベント用ソフト『ハイテク王国』に収録されたミニゲームのひとつ。ドラえもん、四駆郎と共演したスロットマシンゲーム。
「おぼっちゃまくん」（PCエンジン）1991年3月15日ナムコから発売、制作はパック・イン・ビデオ（実質的な開発はアークシステムワークス）。アクションゲーム。
「おぼっちゃまくん」（ファミリーコンピュータ）1991年4月5日テクモから発売。テーブルゲーム。
「おぼっちゃまくん・友だちんこゲーム」（携帯型液晶ゲーム機）1991年パック・イン・ビデオから発売。価格不明。珍しく単三乾電池2本で駆動。
「CRぱちんこおぼっちゃまくん」
→詳細は「CRぱちんこおぼっちゃまくん」を参照
IPad Air (第1世代)

| --- | --- |
 
 
製造元:  Apple
種別:  タブレット型メディアプレーヤー/コンピュータ
世代:  第1世代
OS:  iOS 7.0（初期搭載） → 12.5.7  （iOS 12系でバージョンアップ終了。なおiOS 12系はiPadOS 13に対応しない機種にのみサポート中。）
SoC:  Apple A7 system-on-a-chip 2コア 1.4GHz　64ビットアーキテクチャ
メモリ:  1GB (LPDDR3)
ストレージ:  フラッシュメモリ 16, 32, 64, & 128 GB
ディスプレイ:  9.7インチ (250 mm) 4:3 アスペクト比 画面解像度: QXGA (2048x1536 px) (264 ppi), 4:3 アスペクト比, LEDバックライト IPS LCD display
グラフィック:  PowerVR G6430 4コア
入力機器:  マルチタッチタッチスクリーンディスプレイ, ヘッドセットコントロール, 近接センサーとローキー照明センサー, 3軸加速度計, デジタルコンパス
デジタルカメラ:  バックカメラ:HDビデオ撮影（1080p、最大30fps、オーディオ入り）静止画（5倍デジタルズーム、画素数は500万画素） フロントカメラ：HDビデオ撮影（720p、最大30fps、オーディオ入り）静止画（120万画素）
外部接続:  Wi-Fi (802.11a/b/g/n、MIMO対応), Bluetooth 4.0+HS, USB 2.0/lightningコネクタ Wi-Fi + Cellular モデルは以下も含む: UMTS (W-CDMA)/HSPA/HSPA+/DC-HSDPA (850、900、1,700/2,100、1,900、2,100MHz) GSM/EDGE (850, 900, 1800, 1900 MHz) CDMA EV-DO Rev. A/Rev. B(800, 1900 MHz) A1475:LTE (Bands 1,2,3,4,5,7,8,13,17,18,19,20,25,26) A1476:LTE (Bands 1,2,3,5,7,8,18,19,20,38,39,40) ※データのみ
電源:  3.75V,32.4Whリチャージャブルリチウムポリマーバッテリー 最長10時間のバッテリー駆動
オンラインサービス:  iTunes Store, App Store, Apple Books ブックストア, iCloud, Game Center, Safari
サイズ:  240mm (h) 169.5mm (w) 7.5mm (d)
重量:  Wi-Fiモデル: 469g Wi-Fi + Cellularモデル: 478g
次世代ハード:  iPad Air 2
関連商品:  iPod touch, iPhone
ウェブサイト:  www.apple.com/jp/ipad
iPad Air（アイパッドエアー）は、Appleが開発、販売していたタブレット型コンピュータで、iPad Airシリーズとしては第1世代にあたる機種。発売当初はiPadの第5世代モデルとしてニュースやWebサイトで扱われていた。