《脳みそを入れ替えるようなもの》
■クリエイター手抜きプロジェクト[641]
IoT IchigoJam編
最新版はRISC-V搭載
古籏一浩
━━━━━━━━━━━━━━━━━
■クリエイター手抜きプロジェクト[641]
IoT IchigoJam編
最新版はRISC-V搭載
古籏一浩
https://bn.dgcr.com/archives/20210201110100.html
─────────────────
今回は、久々にIchigoJamについてです。
昨年末、突如新しいIchigoJamが発表、発売されました。製品名はIchigoJam R。Rは新しく搭載されたCPUの名称RISC-Vから取ったものでしょう。
RISC-Vは特定の営利企業に依存しない、オープンソースなCPUです。このため、特定の企業に思惑に振り回されない、ライセンス料金がかからないというメリットがあります。
昨年と言えば、MacのCPUがIntelからApple製に変更になりました。
私も新しくなったMacBook Air(M1)を購入しました。コンピューターのCPUが変わるということは、けっこう大変なことです。人間で言えば、脳みそを入れ替えるようなものだからです。
他のCPUの方が性能がよくても、なかなか乗り換えができないのは、過去のソフトウェア資産やハードウェア設計のノウハウ・動作検証・実績などの資産を、簡単には切り捨てられないからです。
特に、複雑なハードウェアやソフトウェアが動作している場合は、なおさらです。(人間なら、日本で生活し日本語を話していたのに、明日から米国に移住し、英語で話し生活せよというようなものです)
切り捨てたくはないけど、高性能のCPUを使いたいというニーズもあります。この場合、すでにあるCPUと互換性を持ったCPUを作成する方法があります。
互換性のあるCPUを販売している、代表的なメーカーはAMDでしょう。Intel CPU(x86系)と互換性を持ち、より高性能なCPUを発売しています。
・AMD
https://www.amd.com/ja
ちなみに、CPUの命令セット自体には権利は発生しないので、頑張って自作しても構いません。
ここらへん、検索したらASCII.jpに詳しく書かれていました。
つまり、CPUのエミュレーターを作成したりしても、問題はないということです。実際、Z80、6502、80x86など、多くのCPUエミュレーターが存在しています。
・SoC技術論 プロセッサー製作のライセンス料とロイヤリティー
https://ascii.jp/elem/000/000/844/844489/
自分で勝手に設計した、オリジナルのCPUの命令セットを作って公開し、誰かに作ってもらうという方法もあります。ARMやRISC-Vがこれに近いと言ったところでしょうか。
古いところではJavaも似たようなものですが、こちらはCPUだけでなく、仮想マシンとのセットになっています。
https://ja.wikipedia.org/wiki/Java仮想マシン
1995年から2010年くらいまでは、Windows+Intel=Wintelと呼ばれるくらい、Intel CPUが多く使われていましたが、どのジャンルでもIntel CPUが使われていたわけではありません。
パチンコ台などは、8bit CPUのZ80が長い間使用されていたりしましたし(これは割り込みモード2の機能によるところが大きいと思いますが)、スマートフォンでは低消費電力のARMチップが使用されています。
PlayStation 2やNintendo 64などのゲーム機では、MIPSベースのCPUが使用されていました。組み込み系では、Arduinoで使用されているAVRというのもあります。
・Z80割り込み処理について
https://w.atwiki.jp/msx-sdcc/pages/41.html
・Emotion Engine
https://ja.wikipedia.org/wiki/Emotion_Engine
・MIPS
https://ja.wikipedia.org/wiki/MIPSアーキテクチャ
・AVR
https://ja.wikipedia.org/wiki/Atmel_AVR
お隣の中国では、MIPSベースのCPUが開発されています。中国オリジナルの高速なCPUが、設計・量産できれば他国に依存せずに済みます。これは、中国にとっては非常に重要でしょう。
すべて内製化できれば、Appleのような高性能パソコンなどを、超低価格で提供できるからです。また、チップ内に、極秘情報を処理する回路を組み込むこともできます。軍事利用にも好都合でしょう。
https://toyokeizai.net/articles/-/402328
https://business.nikkei.com/atcl/gen/19/00113/062600025/
ちなみに、日本で開発されたCPUもいくつかあり、日立のSHシリーズはわりと有名ではないかと思います。が、ここらへんは、CPUに興味がない人にとっては初めて聞く名前かもしれません。
https://ja.wikipedia.org/wiki/SuperH
国産CPUで、違った意味で有名なものとしては、Gmicroがあります。
これはTRONプロジェクトによるものですが、TRONプロジェクトのほとんどが、アメリカの圧力により消え去ったので、実質、CPUもほとんど生産されず終了しています(iTRONは、その後生き残りましたが)。
ちなみに、Gmicroの本が出ていて、命令セットが掲載された本は買った記憶があります。まだ、家のどこかにあるとは思いますが……。
OS(高レイヤー)も考慮したCPU設計はなかなか面白いのですが、Appleシリコンもそういう側面はあるかもしれません。どのみち、Gmicroの設計思想だと早々に行き詰まる感じはします。
https://ja.wikipedia.org/wiki/TRONCHIP
http://umdb.um.u-tokyo.ac.jp/DKankoub/Publish_db/1997DM/DM_CD/DM_TECH/BTRON/PROJ/CHIP.HTM
スーパーコンピューター(スパコン)なら、さぞかし凄いCPUが使われていると思われそうですが、15年くらい前からパソコンと同じCPUが使われています。
現状ではCPUパワー(演算速度)にかかる時間よりも、それぞれのCPUなどとやりとりする方が時間がかかるようになってしまっています(以下のインターコネクトのURL参照)。
CPUだけ速くても、全体の処理を高速化できません。ここらへん、AppleのM1チップが高速なのは、ネックとなる相互接続を高速化したせいではないかと思います。
・スーパーコンピューター「京」のインターコネクトTofu
https://www.fujitsu.com/downloads/JP/archive/imgjp/jmag/vol63-3/paper05.pdf
https://www.fujitsu.com/jp/about/businesspolicy/tech/k/whatis/network/
ちなみに日本のスパコン富岳では、スマートフォンと同じARM系のCPUが使われています。
https://ja.wikipedia.org/wiki/富岳_(スーパーコンピュータ)
このARM系のCPUを開発・設計したのは富士通です。富士通といえば、長年SPARCチップを作ってきた会社です。
SPARCチップは、今はなきサンマイクロシステムズが開発・設計した、RISCチップ(CPU)です。このSPARCチップ(と多分MIPSも…)の成功により、CPU設計はRISCへと向かっていくことになります。
https://ja.wikipedia.org/wiki/SPARC
https://ja.wikipedia.org/wiki/MIPSアーキテクチャ
SPARCチップには、レジスタウィンドウという面白い仕組みもあります。高級プログラミング言語(C言語など)での呼び出し時に、スタックにデータ&戻り先アドレスを積む処理があります(CPUには積まれたデータのアドレスを示す、スタックポインタというレジスタがあります)。
通常関数を読み出す場合、パラメーターなどの値はメモリにデータを格納(スタック)します。しかし、メモリにデータを格納すると、遅くなってしまいます。
メモリではなく、CPU内にあるレジスタを使えば、非常に高速に処理できます。レジスタが数多くあれば、より高速化できることになります。
しかし、単にレジスタが多いだけでは、関数呼び出しを高速化できません。そこで、データをレジスタに入れて参照するレジスタアドレスをずらして、高速化するという技がレジスタウィンドウです。
つまり、呼び出す関数に渡すデータのレジスタを呼び出された側の関数では引数となります。(どのレジスタが見えるかをずらすので、こうなります)
・レジスタウィンドウ
https://ja.wikipedia.org/wiki/レジスタ・ウィンドウ
スタックによる処理は長年使われていて、便利な部分もあるのですが、困った部分もあります。
特にスタックがあふれるスタックオーバーフローにより、プログラムが停止したり、セキュリティ問題を発生させるフックになったりします(呼び出し元に戻るアドレスをスタックに積んでおくことで、任意のプログラムに移動し実行させることができます)。
ちなみに、データ処理的にはスタックではなくキューにした方が、データがあふれにくくなります。
・スタック
https://ja.wikipedia.org/wiki/スタック
・キュー
https://ja.wikipedia.org/wiki/キュー_(コンピュータ)
長くなったので、今回はここまで。
【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/
コロナが長野県にもかなり広がったので、会議はZoomでやることに。離れていても簡単に会議ができるのは便利! のはずが、皆さん初めてのZoom会議ということで、あれやこれやと接続に手間取っている間に、40分の時間制限が来るというオチ……。
使用している環境(デバイス)がバラバラだけど、とりあえず全員接続できて会議は無事に行われました。が、いざとなったら電話しかない、というのが現実解……。
・創って学ぼうプログラミング
https://news.mynavi.jp/series/makeprogram
・8K/4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/
・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/
━━━━━━━━━━━━━━━━━
編集後記(02/01)
●偏屈BOOK案内:「タイムマシンって実現できる? 理系脳をきたえる はじめての相対性理論と量子論」
二間瀬敏史/監修 誠文堂新光社 2019
https://www.amazon.co.jp/exec/obidos/ASIN/4416619340/dgcrcom-22/
「子供の科学」は中学校の部活・科学部、高校の部活・生物部の頃に読んでいたが、それから長い長い歳月が過ぎて、つい先日、図書館で出会った「子供の科学★ミライサイエンス」の一冊をいま読んでいる。
すべてに読み仮名付きの、間違いなく子供向けの本で、非常にわかりやすいはずなのに、わたしにはわからない方が多いという、信じられないほど残念無念な事態に陥っている。
「タイムマシンって実現できる? 理系脳をきたえる! はじめての相対性理論と量子論」というA5判/160ページの本である。
案内・進行役は、みんなの好奇心をくすぐるミライネコと、なんでも知りたいチュータ(ネズミ)。
「時間旅行ってホントにできると思う? アインシュタインもホーキングも悩ませたこの難問に最新科学で迫ってみよう!」ってお気楽に始まったが……。
ドラえもんの世界では、2008年にタイムマシンが発明された。でも、現実世界の2020年の今もタイムマシンは存在しない。
タイムマシンは時間だけでなく、空間にも何らかの操作をしなければならないことが分かっている。
時間と空間は「時空」という一体のものの別の姿だという。その科学理論が、アインシュタインが作った相対性理論である。言葉だけは知っていますがね。
実際にタイムマシンをつくるときは、ミクロの世界の物理法則である量子論(量子力学)という理論も必要である。
タイムマシンで過去に行って、過去の世界を変えると、いろいろ困ったことが起きる。それを「タイムパラドックス」という。SFではおなじみの言葉で、なんとなく分かる。
「バック・トゥ・ザ・フューチャー」で“親殺しのパラドックス”を面白楽しく見たおかげである。
超高速の宇宙船に乗れば未来の世界に行ける(かもしれない)。ワームホールを通れば過去の世界や、25光年先の星に行ける(かもしれない)。
タイムマシンをつくるためには、二つの科学理論を理解する必要がある。それは「相対性理論」と「量子論」だ。この本ではそれをわかりやすく説明している(らしい)。
「我々が未来からのタイムトラベラーに出会ったことがないという事実が、過去への旅が不可能であることの証拠だ」とホーキングが言った。
その通りだと思ったら、反論が出た。タイムマシンは「発明された時点よりも前の時代には行けない」という。
だから、タイムマシンが発明されていない現代には、未来からの訪問者がいないのは当然なのだという。そんなルールがあったのか。タイムパラドックス云々か。
今まで見た古いタイムマシン映画では、原始時代と現在を平気で往復していたのもあった。
「原因」は必ず「過去」にあり、「結果」は必ず「未来」にある。
この「因果律」が破られては矛盾が起こる。過去には決して戻れない、過去行きのタイムマシンは作れないと考えるのが正しい。このへんは実にめんどうくさい話が続く。
ところが、タイムパラドックスを回避して、過去に戻るタイムマシンは「量子重力理論」という未完成の理論で、なんとかなるとかならないとか、子供向けの科学本で語っている。
この本のターゲットであるよい子たちみんなが、スッキリ分かる話ではないと思うが、充分理解できる子もいるんだろう。中学生の孫2号に解読してもらおうか。(柴田)
・映画史に残る「タイムトラベル」を扱ったSF名作おすすめ30選
https://www.esquire.com/jp/entertainment/movies/g30349217/sf-10-best-time-travel-movies-harry-potter-planet-apes-back-to-the-future/
●夏に書いていたネタ。マイボトルを持ち歩く人は多い。ぱっと出されたボトル(タンブラー)に見覚えがあって、あっ! と思った。百均で売られている透明ボトル。私も違う文字入りのを持ってる、と。
買ったきっかけは、リプトンのフルーツ・イン・ティー。その名の通り、フルーツの入った水出し紅茶。リプトンが期間限定で、カスタマイズできるショップをオープンしている。
数年前、通りかかった時、人間の胴ぐらいはありそうな透明で大きな容器の中に、水出し紅茶の透明な黄・オレンジと、フルーツの赤や黄・緑・青という色が見えた。それが数種類あり、キラキラしていて、その美しさに目が釘付けになった。とても美味しそうに見えた。続く。(hammer.mule)
Fruits in Tea
https://brand.lipton.jp/leaf/fruits_in_tea/store/
リプトン オリジナルタンブラー
https://www.amazon.co.jp/exec/obidos/ASIN/B07DFFM4KF/dgcrcom-22/