見出し画像

トランスピュータ - 並列処理への道のり

CPUの高性能化は、ムーアの法則に則って集積度が上がることに頼っているところが大きいのですが、いずれ設計上の困難も増大し、その限界が訪れることが予想されました。そこで1980年代に単一のプロセッサではなく複数のプロセッサを組みわせることで性能を上げていこうと、並列コンピュータに特化したトランスピュータというCPUが作られました。

トランスピュータ

トランスピュータは、ひとつのトランスピュータでの処理としてはシンプルな命令を高速(当時としては高速な20MHz)に実行することに特化しており、4つのトランスピュータと接続するためのシリアルリンクを持っています。開発したインモス社としてはCPUとしての用途は当然として、ハードウェアのコントローラなどにも広く使われることを期待し、1984年には最初の製品をリリースしました。

Inmos

この独自のアーキテクチャを活かすために並列処理に適したOccamというプログラミング言語を用意しました。この言語はCSPと呼ばれるプロセス間でメッセージをやりとりすることで処理を進める手続き型言語です。

occam (programming language)

Communicating Sequential Processes

発売された当初は大きな反響を呼び、少なくとも並列性の高い課題を処理する場合は、このような拡張できるCPUの構造と、並列処理に向いた言語が使われるようになるだろうと期待されました。

人知れず消えていったマイナーCPUを語ろう(第8回):並列CGレンダリングの夢を抱かせたINMOS Transputer

インモス社としてはマイクロコントローラとして使われれば非常に多くのチップが売れるので、よりコストが下がりたくさん使われるだろうと目論んでいたのですが、残念ながら殆どのデバイスはトランスピュータのような高い能力を必要としておらず、コスト的に見合わないということで採用されず、もっぱら特定の課題を処理する特別な装置としての使われ方に留まりました。とはいえ既存のPCに拡張基板として接続する製品はそれなりに多く作られたようです。

T80xトランスピュータ関連製品 - まだ価格表がありますね。さすがにもう在庫は無いんでしょうけど。

トランスピュータを用いた倒立振子制御装置

https://jopss.jaea.go.jp/pdfdata/JAERI-M-93-119.pdf

Occamもトランスピュータに限らず、並列性の高い処理を書くための言語として覚え始めた人も多かったように思います。

Transputer and occam -- a personal history

http://www.csp-consortium.org/apps/Transputer%20and%20occam%20--%20a%20personal%20history.pdf

トランスピュータは画期的すぎたアーキテクチャであったために、結局、広く使われることは無かったのですが、その考え方はその後のCPUの開発に大きな影響を与え、クラスタ・コンピューティングの概念を産み出しました。

コンピュータ・クラスター

スーパーコンピューターの系譜 INMOSから独立したMeiko Scientific

ひとつのCPUで行う処理に関しても並列性の高いアーキテクチャが必要になったことを認識させました。またOccamで採用されたメッセージのやり取りという方法が、多くのライブラリであるとか言語の機能に影響を与えました。ところでトランスピュータで使われたCPU間の接続方式もDS-Linkというプロトコルとして生き残り、その後も発展しているようです。

DS Link方式

このチップ、まだ手に入れることが出来なくはないようで、自作基板に挑戦されている方がいるようです。いやあスゴイですねぇ。

2枚目着工

ヘッダ画像は、以下のものを使わせていただきました。
https://commons.wikimedia.org/wiki/File:Tranputer_83.jpg
I, NobbiP, CC 表示-継承 3.0, https://commons.wikimedia.org/w/index.php?curid=3956303による

#CPU #トランスピュータ #インモス #Occam #並列処理 #CSP  

この記事が気に入ったらサポートをしてみませんか?