MIPSはこの先生きのこれる事が出来るか [無断転載禁止]©2ch.net
90年代後半にゲーム機で席巻するも00年代後半に猛烈なARMの巻き返しを受け
風前の灯のMIPSアーキテクチャを語るスレ ))())(()))))(())()((((()))()(())(((((()))()()))()))()())(((()((()))))(()((((
()())()(()())((()(((((((())))))))()))))))))(()(()()()(()(((()()(())))(((())(
(((()))))))())())()(((()())())())((((()))))(()((())(()()())(()))(()))((((()(
)())))(()))()(())(()))(((())())(())())()((())())(((()())(())((()(()(()((()))
)))())(()(())(()((()())((()(((()()()())(((()())))))))))()((())())(()((()))((
)())())(())(((((()()()))))))()((())()()()(()((())()()))))()))(()(()(((((())(
)()(()()()())(()((((()(())())())))()()()()()((())())())(())()))(()))()(((()(
((()))())(()()())(((()(())(()((()))(())(())()))()))(()(()(()))())())()(((())
((()())())((()(()))))))))(()()((())()(()())))())(((((())())(((((((()()()))))
()(()))(((()))())())(()))((())()(()()()()))))())))(((()(((((()))((()(()))()(
((())))))(()()))))((()()()(((()(()()))()())(()))()((((())(()())()((())()(())
)()(()())(()(()((()()))))()())())((((()()((()()()())))))(()()())((()()((()))
((())(()(((())(()(())))()))(((())())))())()()()))()(()(()))((()))())(((()()(
((()()()())))(((())()()(()()((((())(()()))((())))(())))))))())()()((((((()))
()())(()())()()((((((((()(())(()())))(())()()))((())(()())()(())))())()()())
(())())(()))(((()())())(((()()()(())))((()))())(())))((()))()()(()((()))(()(
)())))))))()()(()(((()))()))))((()))((())(()()(()))(()(()()((((()()(()(())((
))()(())(())(())(((())))))))))()))(((((()())))((())))(()(()(((())((()((()()(
))(())()))())(())())))())(()(())))())((((((()()(((((())()(()()(()(())))(()()
))(((())))())(()()(((())()))()))(((()()))((())(())(())(())(())((()()((()()))
()))()()))(()(()))()(())((((()()(())))))())(())((()())))())((()()()(((())(((
()(((()())()())())()((()()(()()(()()))))(()())()()))()())((()(((()()()()))()
((()))))))((()())((()(())(()()))(()())((()))))())(((()()()()()(((()()(()))()
)())((())(()))()()(())())(()))()()))(((()(())(((())((()))(()()))()((((()()))
())))()())(())(())(())))())()(()()(((()()(()(()())(((()((())())()(()()(())))
(()))))))(())())(())(()())())()())()()()(()())((((())()(()())()(((())(((())(
()))()()))((()))))))())(((()(()()())(((()(()((())))))(()(((()()()())))((()((
()()()()()))))()()())(((())(())())()))((())())())(()())((())()((())(((())(((
()(()()))))()()()(((((()()))())())((())))))((()))()))()(()))(()(((())(()((((
)(()()()((())))((((((())()()()()(()))(()((()())())()()())))(((((()))))())())
)))(())(()((()((()((()(((()(()())))(()))))))()(()())())(()()(()())())))((()(
((()((((((()()()(()())))())(())(()))((()())()((())))))()((()))()(()))))(())(
)()())()()((()(()()))()))))(()()())()))))()((()))((()())(())()(((()())((((((
()()())((())())(((())))(()(()(())))()()())()(())(((()((()()))))(())))()()(((
((()))((()()))))())))((()))()()()(((((())()))(())()(((((())((()(())(()()))))
()()(())()(()()(()())(())())())()(()))())(((())(())))()()()()(()((()()))()((
())((()()()())()(())((()())()(()))()(()()()))(()))())()(()(((())((((())())))
()()()(()()((()(())())())()())()((())()()()()())((()()))()(()(()(()))(()()))
())())()())())((((((()((())()(()())))))()())(()))())()()()(()(())))(((())(((
(()()))((())(())())))))(()()()())(()((((())(()())()())))))(())((()(()()()(((
())())(()(()()((((())())((()((((())()())))))((()))))))(((())()())(()(()())()
))()()))((((()()())())(((()()(()())))((((())((()))(()(()())))()())((()())())
)()(()))))()()))(()))())(((())((()())))()()())(()()()))))((((()((()(())(((((
(())(())))(()))())((()))))(())((())((()(())()())()(())))()()()()((((()((())(
(())()))()(())((()()())(()())())())(()(())(()()(()))(())()((((()()()())))(()
)())()()((())))())))(()()))((()(()((())(((((((()(((()())())((())()))()()))))
)()()))(((())(()()((())()))(()()(()(())((()((((()))))((()((()())))))()(())))
))()()()(((((()((()))()()()())()())))))))()()()(())))))(((()))(((((()(())(((
)))()()(())))(())))))((((()()))))))(()(((()())()(()(()))()((((())((((()()()(
(())))))((()))()())((()(((())(()())(()))(()()))()((()()()()((()(())(()())))( 安物ルーターはまだMIPSだろ。onion-omegaもMIPSだ ARMはオプソないけど
MIPSはあったような希ガス
あるいは来世巣やすいとか >>6
PIC32もMIPS
小規模な構成ならMIPS の方がシンプルで向いてると思う。 >>8
秋月のPIC32MXのページだが、どのPIC32MXも
AAAのマークが付いてる
秋月では人気商品の一つなのだろうな
http://akizukidenshi.com/catalog/c/cpic32/ PIC32MXはM4Kコア
PIC32MZ、PIC32MMはmicroAptivコアでMIPS32の他にmicroMIPS命令にも対応
PIC32MZ EFはM5150コアでFPU付きでMIPS32の他にmicroMIPS命令にも対応
microMIPSは16bit長の命令と32bit長の命令混在の命令セットでコード密度が高いのが特徴 MIPS、新プロセッサコア「Aptiv」ファミリーを発表
http://pc.watch.impress.co.jp/docs/news/535532.html
M-Class M51xxコアファミリ
http://jp.imgtec.com/mips/warrior/mclass.asp
Imagination、初のMIPS Series 5プロセッサ“Warrior”を製品化
http://pc.watch.impress.co.jp/docs/news/619415.html
Imagination、6コア/24スレッド対応の64bit MIPS CPU
http://pc.watch.impress.co.jp/docs/news/665222.html
イマジネーション・テクノロジーズ、MIPS製品ファミリの新製品「M6200、M6250、P6600」を発表
高性能組み込みアプリケーション向け32ビットCPUと、
最上位の64ビット・プロセッサを追加し、さらに充実したCPU IPポートフォリオへ
http://jp.imgtec.com/news/detail.asp?ID=636 Cavium Networks、最大32コアとなるOCTEON IIを発表
http://news.mynavi.jp/news/2010/05/19/008/
64ビットMIPSアーキテクチャが、Caviumの新OCTEONR IIIプロセッサで低消費電力・高スループット処理を実現
http://jp.imgtec.com/news/detail.asp?ID=625 >>9
基準が秋月www
趣味の電子工作で売れる分なんて誤差だよ >>14
Microchip社、8ビットマイクロコントローラの 売り上げランキングで再びトップに
http://news.infoseek.co.jp/article/dreamnews_0000111737/
>また、32ビットMCUでは42.3%の成長を達成し、
>32ビットMCUサプライヤ トップ10入りを果たしました。 他のメーカーは16bitに移ってるから
トップ10てwww
つまりダメダメってことだ ルネサスはRL78に統合したからな
PICの8bitとじゃパフォーマンスは大違い >>19
作っているところを見ると趣味で収まらない用途があるんだろうね。
片面基板にフロー半田で32ビットってどれぐらいの用途があるんだろう。
モーター制御あたりなのかな。 他のメーカーが作ってないんで、ごく限られた用途しかないのは確か 低密度の安い基板を使う用途だろうけど、大型家電とか? デンソーはMIPSで行くらしい
デンソーはトヨタのグループ企業でルネサスの大株主の中の一社でルネサスの顧客企業の一つでもある
日本電産がルネサスを買収しようとしたのをトヨタと一緒に横槍を入れて止めさせたくらいの影響力はある
モノが出てないのでまだどうなるかわからないけど
デンソー、自動運転に向けたCPUのマルチスレッド技術で英企業と共同研究
https://japan.cnet.com/article/35092144/
デンソーが自動運転でMIPSコアを選んだ理由
http://techon.nikkeibp.co.jp/atcl/news/16/110704910/?rt=nocnt MIPS Release 6はCodescape MIPS SDK Essentialsで試せる
Codescape MIPS SDK Essentialsといってもgcc、g++、gfortran
それとqemuも付いてるからコンパイルしたプログラムをqemu上で実行することも可能
Download Codescape MIPS SDK Essentials
https://community.imgtec.com/developers/mips/tools/codescape-mips-sdk/download-codescape-mips-sdk-essentials/
Codescape GNU Tools for MIPS IMGはMIPS Release 6用
Codescape GNU Tools for MIPS MTIはMIPS Release 5とそれ以前用
LinuxでのCodescapeのインストールの仕方は
http://codescape-mips-sdk.imgtec.com/installer/essentials/release/CodescapeMIPSSDK-1.4.1.07/CodescapeMIPSSDK-1.4.1.07-linux-x64-installer.run
をダウンロードして
chmod u+x CodescapeMIPSSDK-1.4.1.07-linux-x64-installer.run
sudo ./CodescapeMIPSSDK-1.4.1.07-linux-x64-installer.run
これでインストーラーが走る
コンパイル方法
export PATH=/opt/imgtec/Toolchains/mips-img-linux-gnu/2016.05-03/bin:$PATH
mips-img-linux-gnu-gcc -EL -march=mips64r6 -mabi=64 -O2 -o hogehoge hogehoge.c
mips-img-linux-gnu-g++ -EL -march=mips64r6 -mabi=64 -O2 -o hogehoge hogehoge.cpp
mips-img-linux-gnu-gfortran -EL -march=mips64r6 -mabi=64 -O2 -o hogehoge hogehoge.f
注意:-ELはリトルエンディアンの指定、ビッグエンディアンなら-EB
qemuでの実行方法
こんな感じのシェルスクリプトを書いて実行
qemu-mips64el.sh
#!/bin/bash
export LD_LIBRARY_PATH=/opt/imgtec/Toolchains/mips-img-linux-gnu/2016.05-03/mips-img-linux-gnu/lib/mipsel-r6-hard/lib64
/opt/imgtec/Simulators/qemu/2.5.0.2.0/bin/qemu-mips64el -cpu MIPS64R6-generic -L /opt/imgtec/Toolchains/mips-img-linux-gnu/2016.05-03/sysroot/mipsel-r6-hard $1
注意:ビッグエンディアンならqemu-mips64を使用する
実行権の付加
chmod u+x qemu-mips64el.sh
実行
./qemu-mips64el.sh hogehoge
32bitなら
コンパイル
export PATH=/opt/imgtec/Toolchains/mips-img-linux-gnu/2016.05-03/bin:$PATH
mips-img-linux-gnu-gcc -EL -march=mips32r6 -mabi=32 -O2 -o hogehoge hogehoge.c
mips-img-linux-gnu-g++ -EL -march=mips32r6 -mabi=32 -O2 -o hogehoge hogehoge.cpp
mips-img-linux-gnu-gfortran -EL -march=mips64r6 -mabi=32 -O2 -o hogehoge hogehoge.f
qemu-mipsel.sh
#!/bin/bash
export LD_LIBRARY_PATH=/opt/imgtec/Toolchains/mips-img-linux-gnu/2016.05-03/mips-img-linux-gnu/lib/mipsel-r6-hard/lib
/opt/imgtec/Simulators/qemu/2.5.0.2.0/bin/qemu-mipsel -cpu mips32r6-generic -L /opt/imgtec/Toolchains/mips-img-linux-gnu/2016.05-03/sysroot/mipsel-r6-hard $1 MIPS Relase2の場合
コンパイル方法
export PATH=/opt/imgtec/Toolchains/mips-mti-linux-gnu/2016.05-03/bin:$PATH
mips-mti-linux-gnu-gcc -EL -march=mips64r2 -mabi=64 -O2 -o hogehoge hogehoge.c
mips-mti-linux-gnu-g++ -EL -march=mips64r2 -mabi=64 -O2 -o hogehoge hogehoge.cpp
mips-mti-linux-gnu-gfortran -EL -march=mips64r2 -mabi=64 -O2 -o hogehoge hogehoge.f
注意:-ELはリトルエンディアンの指定、ビッグエンディアンなら-EB
qemuでの実行方法
こんな感じのシェルスクリプトを書いて実行
qemu-mips64el.sh
#!/bin/bash
export LD_LIBRARY_PATH=/opt/imgtec/Toolchains/mips-mti-linux-gnu/2016.05-03/mips-mti-linux-gnu/lib/mipsel-r2-hard/lib64
/opt/imgtec/Simulators/qemu/2.5.0.2.0/bin/qemu-mips64el -cpu MIPS64R2-generic -L /opt/imgtec/Toolchains/mips-mti-linux-gnu/2016.05-03/sysroot/mipsel-r2-hard $1
注意:ビッグエンディアンならqemu-mips64を使い、ライブラリ指定のmipsel-r2-hardのところをmips-r2-hardに変更
実行権の付加
chmod u+x qemu-mips64el.sh
実行
./qemu-mips64el.sh hogehoge
32bitなら
コンパイル
export PATH=/opt/imgtec/Toolchains/mips-mti-linux-gnu/2016.05-03/bin:$PATH
mips-mti-linux-gnu-gcc -EL -march=mips32r2 -mabi=32 -O2 -o hogehoge hogehoge.c
mips-mti-linux-gnu-g++ -EL -march=mips32r2 -mabi=32 -O2 -o hogehoge hogehoge.cpp
mips-mti-linux-gnu-gfortran -EL -march=mips64r2 -mabi=32 -O2 -o hogehoge hogehoge.f
qemu-mipsel.sh
#!/bin/bash
export LD_LIBRARY_PATH=/opt/imgtec/Toolchains/mips-mti-linux-gnu/2016.05-03/mips-mti-linux-gnu/lib/mipsel-r2-hard/lib
/opt/imgtec/Simulators/qemu/2.5.0.2.0/bin/qemu-mipsel -cpu 24Kf -L /opt/imgtec/Toolchains/mips-mti-linux-gnu/2016.05-03/sysroot/mipsel-r2-hard $1
補足:最新の命令を試したければ24KfのところをP5600に変更
microMIPSを試したければ24Kfのところをm14kcを指定(ライブラリの指定はmipsel-r2-hardのところをmicromipsel-r2-softに変更)
コンパイル時に-mmicromips -msoft-floatの指定を追加する(m14kcはFPUを持ってないのでsoft-floatにしないとエラーになる)
/opt/imgtec/Simulators/qemu/2.5.0.2.0/bin/qemu-mipsel -cpu ?
こうするとQEMUが対応してるCPUの一覧が表示される ちなみにCodescape MIPS SDK Essentialsは全部入れると8GBくらいになります アセンブラソースとリスティングファイルも出したいときはこんな感じ
mips64r6の場合
mips-img-linux-gnu-gcc -EL -march=mips64r6 -mabi=64 -O2 -S -o hogehoge.s hogehoge.c
mips-img-linux-gnu-as -a=hogehoge.lst -EL -march=mips64r6 -mabi=64 -o hogehoge.o hogehoge.s
mips-img-linux-gnu-gcc -EL -march=mips64r6 -mabi=64 -o hogehoge hogehoge.o
mips32r6の場合
mips-img-linux-gnu-gcc -EL -march=mips32r6 -mabi=32 -S -o hogehoge.s hogehoge.c
mips-img-linux-gnu-as -a=hogehoge.lst -EL -march=mips32r6 -mabi=32 -o hogehoge.o hogehoge.s
mips-img-linux-gnu-gcc -EL -march=mips32r6 -mabi=32 -o hogehoge hogehoge.o
mips64r2の場合
mips-mti-linux-gnu-gcc -EL -march=mips64r2 -mabi=64 -O2 -S -o hogehoge.s hogehoge.c
mips-mti-linux-gnu-as -a=hogehoge.lst -EL -march=mips64r2 -mabi=64 -o hogehoge.o hogehoge.s
mips-mti-linux-gnu-gcc -EL -march=mips64r2 -mabi=64 -o hogehoge hogehoge.o
mips32r2の場合
mips-mti-linux-gnu-gcc -EL -march=mips32r2 -mabi=32 -S -o hogehoge.s hogehoge.c
mips-mti-linux-gnu-as -a=hogehoge.lst -EL -march=mips32r2 -mabi=32 -o hogehoge.o hogehoge.s
mips-mti-linux-gnu-gcc -EL -march=mips32r2 -mabi=32 -o hogehoge hogehoge.o ちなみに上記方法でQEMUで実行できるのはLinuxのみです
Windows版のCodescape MIPS SDK EssentialsはMIPSのLinuxで実行できるプログラムは作成できますが
WindowsではQEMUのユーザモードは使えません 補足
Ubuntuの16.04のapt-get installで入れたqemuでも動作するが
mips32r6の場合、ダイナミックリンクライブラリが正常に読み込まれなくて実行できなかった
mips64r6、mips64r2、mips32r2は正常に実行できた
Ubuntu16.04のapt-get installで入れたgcc-mipsel-linux-gnuやgcc-mips-linux-gnuでは
mips32r6やmips64r6のコンパイルはできない
MIPS Release 6のコンパイルには上記のようにCodescape MIPS SDK Essentialsを使うべき Creator Ci20 Linux/Android Computer Bd
http://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1253305/
¥11,208(税抜き)
単価: 購入単位は1個
MIPSアーキテクチャーCPUとグラフィックボードで3Dゲームもそのまま動く高性能
KitKatも動くハイスペックシングルボードコンピューター、出荷開始
http://ascii.jp/elem/000/000/975/975289/
高性能開発ボード「MIPS Creator CI20」を使ってみた--「Raspberry Pi」への新たな挑戦者
https://japan.cnet.com/article/35058718/
Creator Ci20ボードの仕様
MIPS CPU
Ingenic JZ4780 SoC
MIPSベースのXBurst 1.2 GHz CPU x 2
GPU
PowerVR SGX540 GPU
最大1080pビデオに対応
メモリ
1 GB DDR3 SDRAM
マルチメディア
HDMIポート
カメラインターフェイス
オーディオI/O
IO拡張
拡張ヘッダ、赤外線
Raspberry Pi B I/O
保管場所
8 GB NANDフラッシュ
接続
イーサネットポート x 1
802.11 n
Bluetooth 4.0 Creator Ci40 IoT Kit with Clicker Boards
http://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1253307/
¥24,698(税抜き)
単価: 購入単位は1個
Creator Ci40 IoTキットの内容
Creator Ci40開発ボード(RS 125-3306)
MikroElektronika 6LoWPANクリッカボード x 2
MikroElektronikaクリックボード x 3 (Relay Click (RS 820-9858)、Motion Click (RS 882-9008)、Thermo3 Click (RS 923-6012)
マイクロUSBケーブル x 1
Ci40スタンドオフマウント x 4
オプションでmikroProg又はPICkitデバッガをクリッカボードに接続するための5ピンヘッダ x 2
Creator Ci40開発ボード
Imagination TechnologiesのCreator Ci40ボードは、
IoT用途向けに、高性能・低電力のマイクロコントローラに最適化されています。
クロック周波数550 MHzのデュアルコア、デュアルスレッドのMIPS CPUを搭載するcXT200 SoCを使用しています。
Ensigma接続エンジンにより、超高速WiFiと低電力Bluetoothによる接続が可能です。
Creator Ci40は、OpenWrt、Debian、Brillo (GoogleのIoTに最適化された新オペレーティングシステム)など、
幅広いGNU/Linuxディストリビューションに対応しています。
このボードは、多くの既存のRaspberry Pi HAT及びMikroBus クリックに対応しており、
コンセプトをすばやくプロトタイプに進めることができます。
MIPS CPU
550 MHzデュアルコア、デュアルスレッドinterAptiv
32/32 KB L1キャッシュ x 2
512 KB L2キャッシュ x 1
浮動小数点演算ユニット
OpenWRT Linux OS
IO拡張
MikroElektronikaクリックインターフェイス x 2
Raspberry Piインターフェイス x 1 (40ピンヘッダ)
接続
802.11 AC 2 x 2 WiFi
802.15.4 6LoWPAN
Bluetooth (LE及びクラシック)
RJ45イーサネットポート x 1
1 x USB
セキュリティ
TPMチップ
メモリ
2 MBブートNORフラッシュ
512 MB NANDフラッシュ
256 MB DDR3 SDRAM
SDカードスロット 32bit MIPSだとしても昔のIndyより高性能なのか… Halley IoT Module
http://shimafuji.co.jp/HalleyIoTModule/index.html
http://www.ingenic.com/~editor/eweditor/uploadfile/20130116103727965.png
・ Powered by Ingenic M150, up to 1.0GHz, embedded 128MB LPDDR
・ Support Wi-Fi IEEE 802.11 b/g/n
・ Support Bluetooth 4.1
・ External interfaces to LCD, audio, SD card, USB, UART, I2C, SPI, ADC, PWM, GPIO etc.
・ Support 8MB SPI Flash
・ Open source Linux 3.10 operating system
Ingenic M150
http://www.ingenic.com/en/?product/id/12.html
http://www.ingenic.com/en/~editor/eweditor/uploadfile/20160612093224514.png
CPU
XBurst core, 1.0GHz (MIPS-based). 32KB L1 cache, 256KB L2 cache.
GPU
X2D: Resizing, Rotating, Mirror, Color Convention and OSD etc.
VPU
Video encoder: H.264, D1@30fps.
Video decoder: H.264, MPEG-1/2/4, VC-1, VP8, RV9, 720P@30fps.
Memory
On-chip 128MB LPDDR, up to 320Mbps.
64-bit ECC NAND flash, 512B/2KB/4KB/8KB/16KB page size.
Conventional and toggle NAND flash.
XBurst CPU
http://www.ingenic.com/en/?xburst.html
XBurst CPU Specification:
Architecture
MIPS32 Release 2
XBurst SIMD
Pipeline
9-stage, single issue
Dhrystone
2.0 DMIPS/MHz
MMU
32 dual-entry full associative joint TLB
4 entry ITLB
4 entry DTLB
Cache
32KB/64KB L1 cache
256KB/512KB L2 cache
Debug
EJTAG
Process
0.18um, 90nm, 65nm, 40nm
Performance andPower consumption
(1.0GHz, 0.09mW/MHz) @65nmLP
(1.2GHz, 0.07mW/MHz) @40nmLP, performance optimized
(500MHz, 0.05mW/MHz) @40nmLP, power optimized かといってPIC32がMIPSの代表みたいに言われるのも違うと感じる 繰り返し書いて何か宣伝なのか?
安いのほしいならLinkIt Smart 7688 DuoなりOmega2なりを
買えば良い話だよな 懐かしい名前が
10年以上前の中国公安版OLPCプロジェクトの時からここはMIPS押しだったな
まだやってたのか
ただ、バイナリ変換なんて歴史的に上手くいった例がないからなー
Crusoe&Efficeonを思い出してしまう
どうせ性能出ないのなら、
MacのPPC→x86のRosetta
みたいに完全ソフト実装のほうが色々融通利きそうに思う x86_64のUbuntu 16.04および16.10でMIPS32R2クロスコンパイル環境を構築
注:mips32r6やIEEE754R-2008を使う場合はこの方法ではできません
>>26,>>27の方法でやってください
$ sudo apt-get install qemu
$ sudo apt-get install g++-mipsel-linux-gnu
これで終わり
コンパイル方法
$ mipsel-linux-gnu-gcc -o test01 test01.c
数学ライブラリを使った場合は
$ mipsel-linux-gnu-gcc -o test01 test01.c -lm
アセンブル方法(アセンブルソースはtest01.s)
$ mipsel-linux-gnu-as -a=test01.lst -o test01.o test01.s
$ mipsel-linux-gnu-ld -o test01 test01.o
gccでアセンブルソースを出力させてアセンブルする方法
$ mipsel-linux-gnu-gcc -S -o test01.s test01.c
$ mipsel-linux-gnu-as -a=test01.lst -o test01.o test01.s
$ mipsel-linux-gnu-gcc -o test01 test01.o
qemuでの実行方法
$ qemu-mipsel -cpu 24kf -L /usr/mipsel-linux-gnu test01
これを実行すれば直接コマンドラインから実行できるようになる
export QEMU_LD_PREFIX=/usr/mipsel-linux-gnu x86_64のUbuntu 16.04および16.10でMIPS64R2クロスコンパイル環境を構築
注:mips64r6やIEEE754R-2008を使う場合はこの方法ではできません
>>26,>>27の方法でやってください
$ sudo apt-get install qemu
$ sudo apt-get install g++-mips64el-linux-gnuabi64
これで終わり
コンパイル方法
$ mips64el-linux-gnuabi64-gcc -o test01 test01.c
数学ライブラリを使った場合は
$ mips64el-linux-gnuabi64-gcc -o test01 test01.c -lm
アセンブル方法(アセンブルソースはtest01.s)
$ mips64el-linux-gnuabi64-as -a=test01.lst -o test01.o test01.s
$ mips64el-linux-gnuabi64-ld -o test01 test01.o
gccでアセンブルソースを出力させてアセンブルする方法
$ mips64el-linux-gnuabi64-gcc -S -o test01.s test01.c
$ mips64el-linux-gnuabi64-as -a=test01.lst -o test01.o test01.s
$ mips64el-linux-gnuabi64-gcc -o test01 test01.o
qemuでの実行方法
$ qemu-mips64el -cpu MIPS64R2-generic -L /usr/mips64el-linux-gnuabi64 test01
これを実行すれば直接コマンドラインから実行できるようになる
export QEMU_LD_PREFIX=/usr/mips64el-linux-gnuabi64 QEMUが対応してるCPUの種類はこれで調べられる
$ qemu-mipsel -cpu ?
$ qemu-mips64el -cpu ? MIPSの%hi()や%lo()は癖があるね
%hi(value01)
32bitの値の上位16bitを取り出す
%lo(value01)
32bitの値の下位16bitを取り出す
ここで注意が必要なのは
・value01の15bit目が1の場合、
%hi(value01)の値はvalue01の上位16bitの値に1を加えたものになる
このように使うことで$4にvalue01の正しい値が入る模様
lui $4, %hi(value01)
addiu $4, $4, %lo(value01)
addiu $4, $4, imm16はimm16が符号拡張されて$4に加算されるので
そのための%hi()の値が調整されてる模様
なぜかMIPSは符号拡張が好きみたい 64bitの場合は
%highest(value01)
64bitの値のbit48からbit63までの16bitを取り出す
%higher(value01)
64bitの値のbit32からbit47までの16bitを取り出す
%hi(value01)
64bitの値のbit16からbit31までの16bitを取り出す
%lo(value01)
64bitの値のbit0からbit15までの16bitを取り出す
ここでも注意が必要で
・value01の47bit目が1の場合、
%highest(value01)はvalue01のbit48-63の16bit値に1を加えたものになる
・value01の31bit目が1の場合、
%higher(value01)はvalue01のbit32-47の16bit値に1を加えたものになる
・value01の15bit目が1の場合、
%hi(value01)はvalue01のbit16-31の16bit値に1を加えたものになる
64bitイミディエイトのロードは下記のようになる模様
lui $4, %highest(value01)
daddiu $4, $4, %higher(value01)
dsll $4, $4, 16
daddiu $4, $4, %hi(value01)
dsll $4, $4, 16
daddiu $4, $4, %lo(value01) mips64r6では新しくdahi、datiが追加され下記のように
64bitイミディエイト値を読み込める模様
%highest()、%higher()、%hi()、%lo()の仕様はmips64r2と同じ
lui $4, %hi(value01)
dahi $4, %higher(value01)
dati $4, %highest(value01)
daddui $4, $4, %lo(value01)
注意:MIPS64R6はあまり使われない命令を削除し、新しい命令を追加したもので
MIPS64R5、MIPS64R3、MIPS64R2などとはバイナリ互換性はありません。 >>55
dadduiじゃなくてdaddiuですよ
dahiとdatiのオペランドも違ってます
lui $4,%hi(value01)
dahi $4,$4,%higher(value01)
dati $4,$4,%highest(value01)
daddiu $4,$4,%lo(value01)
>>50
mipsel-linux-gnu-asに-march=mips32r2をつけないとエラーがでますね
$ mipsel-linux-gnu-gcc -S -o test01.s test01.c
$ mipsel-linux-gnu-as -march=mips64r2 -a=test01.lst -o test01.o test01.s
$ mipsel-linux-gnu-gcc -o test01 test01.o ミス
こうです
$ mipsel-linux-gnu-gcc -S -o test01.s test01.c
$ mipsel-linux-gnu-as -march=mips32r2 -a=test01.lst -o test01.o test01.s
$ mipsel-linux-gnu-gcc -o test01 test01.o MIPS64R2のCコンパイラだと倍精度浮動小数点の値はこういう感じで読み込んでる
ld $2,%got_page(.LC1)($28)
ldc1 $f1,%got_ofst(.LC1)($2)
$28にはGOT(Global Offset Table)のアドレスを関数の冒頭で読み込んでる
MIPS64R2にはPC相対ロード命令がないから面倒になるね
あらかじめリテラルプールの先頭のアドレスをレジスタに読み込んでおいて
そこからのオフセットで読み込めばもっと効率よくなるね
MIPS32R6、MIPS64R6ではPC相対ロード命令が追加されてる >>59
MIPS64R2のコンパイラで通常のコンパイルをすると
グローバル変数は下記のように1命令で読み込んでるぞ
ld $4,%got_disp(test01)($28)
ただ、1つのオブジェクトファイルで参照できるグローバル変数の個数に制限があるようだ
int型だと約8000個まででそれを超えるとコンパイルは通るがリンク時にエラーが出る
あくまで1つのオブジェクトファイルから参照できるグローバル変数の数で
グローバル変数の宣言はもっと多くの数を宣言できるようだ あくまで一つのオブジェクトファイルから参照できる数の制限で
たとえば2つのC言語のソースa.cとb.cにわけてコンパイルして
a.o、b.oに分かれるようにしておけば
a.c、b.cはそれぞれ約8000個のグローバル変数を参照できるようだ あと、あくまで
ld $4,%got_disp(test01)($28)
で読み込んでるのはグローバル変数のアドレスだね 新MIPSコア、Mobileyeの「EyeQ5」に搭載へ
http://eetimes.jp/ee/articles/1706/20/news034.html
MobileyeのEyeQ 5に搭載のCPUコア、Imaginationが発表
http://techon.nikkeibp.co.jp/atcl/news/16/061607990/?ST=print
英Imagination Technologies社は、機能安全規格の対応に向けた64ビットCPUコア「MIPS I6500-F」を発表した。
同社の既存64ビットCPUコア「MIPS I6500」に、機能安全を確保するための各種仕様を追加したものである。 ☆ 日本人の婚姻数と出生数を増やしましょう。そのためには、☆
@ 公的年金と生活保護を段階的に廃止して、満18歳以上の日本人に、
ベーシックインカムの導入は必須です。月額約60000円位ならば、廃止すれば
財源的には可能です。ベーシックインカム、でぜひググってみてください。
A 人工子宮は、既に完成しています。独身でも自分の赤ちゃんが欲しい方々へ。
人工子宮、でぜひググってみてください。日本のために、お願い致します。☆☆ 家で不労所得的に稼げる方法など
参考までに、
⇒ 『武藤のムロイエウレ』 というHPで見ることができるらしいです。
グーグル検索⇒『武藤のムロイエウレ』"
OCF1RPKZWQ >>43
Linux 動かすレベルならARM で良いだろ。 MIPS64R6のgcc-7.2.0をビルドする時のメモ
どんなオプションを与えてもうまくコンパイルできないので
下のようにconfig.gccを書き換えてgccコンパイル時に実行するconfigureに与えるオプションに
--target=mipsisa64r6el-linux-gnuabi64を指定することでうまくコンパイルできた
gcc-6.4.0も同様にしてうまくコンパイルできた
gcc-7.2.0/gcc/config.gcc改変(gcc-7.2.0/gcc/config.gccの2103行目の
mipsisa64r6*-*-linux*)
の前に下の部分を追加)
mipsisa64r6*-*-linux-gnuabi64)
default_mips_abi=64
default_mips_arch=mips64r6
enable_mips_multilibs="yes"
;; 上記でコンパイルしてできたMIPS64R6のgccでは-mnan=2008を指定する必要があるようだ
こんな感じ
mipsisa64r6el-linux-gnuabi64-gcc -mnan=2008 -o test01 test01.c -lm アセンブラでのコーディングは
ARMよりMIPSの方が好き
条件実行はいまいち使う率が少なくて
それよりもレジスタが多い方が使いやすい
分岐もディレイスロットでペナルティが少ないってのもある
32bitの話 レジスタはMIPSの方が多いな
ARMのThumb-2と同じような高コード密度の命令セットのmicroMIPSなんてのもあるし いまポピュラーなMIPSって
Microchipの奴かな?他にある? MIPS32R6系のM-Classのチップはまだないようだな
MIPS32R6では命令が一新されててあまり使われない命令が削除されてたりするようで
MIPS32R5以前とバイナリ互換性がないからね
Microchipが採用するかどうかもわからない nanoMIPS32の48bit命令
addiu rt, s32 レジスタと32bitイミディエイトの加算(ソースとディスティネーションが同じレジスタ)
addiu rt, gp, s32 グローバルポインタと32bitイミディエイトとの加算
addiupc rt, s32 PCとイミディエイトの加算
li rt, s32 32bitイミディエイトのロード
lwpc rt, addr PC相対アドレス指定の32bitロード
swpc rt, addr PC相対アドレス指定の32bitストア
lapc rt, addr PC相対アドレスのロード(addiupcのエイリアス) ユニークで個性的な確実稼げるガイダンス
暇な人は見てみるといいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
WCSBV https://matsuri.5ch.net/test/read.cgi/i4004/1528299072/165n
> 165ナイコンさん2018/06/17(日) 19:14:30.45
> >>142
> MIPSはフラグレジスタがないという致命的な欠陥がある。キャリーフラグがないために桁あふれで例外を投げるため、
> PSのソフトのいくつかはこの致命的な欠陥仕様のためにフリーズするものがあることがソフト解析で分かっている。
> MIPSの仕様を知らず、Cの知識だけでコードを書くとこのようなバグを埋め込んでしまうのである。MIPSはCに向いてないと言えよう。 MIPS信者が昔のPC板の8bitCPUスレで暴れてます。
引き取りにきてください。 あっちのスレ見てきた。惨いな。
誰だよ。キャリーフラグがないと速くなるとか嘘かまして逃げてる奴は。CPU設計したことないのかよ。 こいつみんな大好き74283ディスりやがった。ゆるさねぇ。 >>91
おまえさ。いいかげん8bitスレで暴れるの辞めろよ。
MIPSは腐っても32bitCPUだぞ。なんで相手が8bitCPUなんだよ。32bitCPUのプライドないのかよ?
もうMIPSは生き残れないかもしれないって生まれたこのスレだけがMIPSスレで唯一生き残ってる。この現実を受け止めろよ。 ごく普通の数やアドレスも1個のレジスタで表せない8bitCPUは欠陥
レジスタが少ないのは欠陥
リードモディファイライト命令が無いのは欠陥
非破壊演算が出来ない2オペランドアーキテクチャは欠陥
インオーダーでしか処理出来ないCPUは欠陥
SIMD命令が無いCPUは欠陥
単純な命令でも数クロックかかるCPUは欠陥
除算命令がないCPUは欠陥
固定長命令は欠陥
可変長命令は欠陥
アドレス変換機能がないCPUは欠陥
>>92に言わせると欠陥の無いCPUなんて無さそうだな では、一体誰があちらこちらの8bitスレでMIPSの普及活動してんだろうか。
MIPS屋=荒らし、になってるぞ。 8bitとMIPSを比べちゃかわいそうだよな
回路規模を極端にケチって性能は二の次のマイコンと
アーキテクチャーで商売してるところ
MIPS命令は非常にきれい
ARMはもうちょっと実用寄り
x86はつぎはぎでぐちゃぐちゃだが性能は良い
PICはおもちゃ
AVRはきれいだけど所詮8bit マーケティング的にはMIPSは負け
ARMとx86の勝ち x86への開発リソース、あのぐちゃぐちゃを保守改良する努力は
人類挙げての無駄だったねと
振り返る日が来るだろうか Intelの莫大な利益の再投資のおかげでセミコン産業は微細化を続けることができた。
その結果、消費電力は下がり、クロックは上昇を続け、4GHzを超えるCPUがたった2万円で買える時代になった。
その恩恵は人類社会システムのIT化を加速させとても便利になった。パソコンは普及し、ネットへの投資も加速。
さらには、ARM等も微細化タダ乗りして容易に高速化でき普及することに成功した。スマホの爆発的普及も忘れてはないだろう。
一方、MIPS信者は実現不可能な妄想ばかりで嘘をつき、
投資家を騙し、実装に何度も失敗し、IT界においてお荷物でしかなかった。
今更謝っても許してもらえるとは思わないがほんとに申し訳ない。
私たちはこのスレを最後に消えてなくなるので許してほしい。 米AIスタートアップのWave ComputingがMIPSを買収
〜非ノイマン型プロセッサを開発
https://pc.watch.impress.co.jp/docs/news/1128108.html
> Wave Computingは2018年3月に、
> MIPSの64bitマルチスレッドコアを同社の次世代「Dataflow Processing Unit (DPU)」に
> 採用することを発表(英文リリース)していた。
>
> 同社は非ノイマン型の「データフロー型コンピュートアーキテクチャ」を開発し、
> DPUと称するプロセッサを搭載した、機械学習の学習/推論処理に特化したシステムを販売している。
> 同社では、CPUやGPU、FPGAと比較して1,000倍高速な機械学習性能を謳う。
>
> 今回の買収により、MIPSの抱える350件以上の特許および
> 200件のライセンス供与をWave Computingが取得するかたちとなり、
> 買収後は、MIPSはIP事業部門として名前が残り、MIPS IPソリューションのライセンス事業は継続される。
>
> Wave ComputingのCEOであるDerek Meyer氏は、
> 両社の技術を組み合わせることで、AIや深層学習に理想的な、
> 単一の「データセンター・ツー・エッジ」なプラットフォーム製品を開発/提供するとしている。 >>99
高性能MIPSがキャンセルされた最大の理由って
SGIがIntelのあ痛にうむ幻想に引っかかった事じゃね? 今はトランジスタが少ない代替コアはいくらでもある。組み込みはCPUコアを自由に選べる時代。
ICカードの中には6502が選ばれてるものすらある。PCではx86が使われ続けた理由は莫大なソフト資産を継承するため。
組み込みでは技術者は使い慣れたコアを使う傾向があるが、ARMと違って幸運なことにMIPSのソフト資産はほとんどないし、
MIPSしか使えない技術者もいない。つまり選ぶ理由が別にないのだ。
中には大学でMIPSを研究した輩が就職してMIPS採用する場合があるくらいだろう。
AIで別に向いてるわけでもないのにPythonが使われる理由と同じだ。
だが彼らは実務での開発経験がないためにたいてい納期は送れ、コストが莫大になる傾向がある。 今はMIPS無くてもRISC-Vがあるから…(震え声 只といってもさ…
投機実行とか浮動少数演算回路とか揃ってるコアIPが只で使えるって意味じゃないからね! オープンソースになるのはMIPS32R6やMIPS64R6だけの模様
MIPS32R6やMIPS64R6はそれまでのMIPS32R5やMIPS64R5までとはバイナリ互換性がない新しい命令セット
https://wavecomp.ai/mipsopen
MIPS Open™ Community Components
Once the MIPS Open Community is launched, registered members will have access to the following IP and technology resources:
The open source version of the 32 and 64-bit MIPS Instruction Set Architecture (ISA), Release 6
MIPS SIMD Extensions
MIPS DSP Extensions
MIPS Multi-Threading (MT)
MIPS MCU
microMIPS Architecture
MIPS Virtualization (VZ)
https://pc.watch.impress.co.jp/docs/news/1159305.html
Wave Computingは17日(米国時間)、同社が保有している
MIPS命令セットアーキテクチャ(ISA)のオープンソース化プログラム「MIPS Open」を発表した。
これに伴い、MIPSを次世代SoCを使う開発者、半導体企業、大学などは、
32bitおよび64bitのMIPS ISAをライセンス費用なしで利用できる。
さらに、MIPS Openプログラムの参加者は、何百もの特許とともにライセンス供与される予定。
同プログラムは具体的には、以下の技術やリソースが含まれている。
・オープンソース版の32bit/64bit MIPS ISA Release 6
・MIPS SIMD拡張
・MIPS DSP拡張
・MIPS Multi-Threading技術
・MIPS MCU
・microMIPSアーキテクチャ
・MIPS仮想化 https://wavecomp.ai/mipsopen
What happens if I’m using an earlier version (i.e. R5 or lower) of the MIPS ISA?
MIPS Open focuses on promoting and proliferating the latest version of the MIPS ISA, Release 6.
If existing customers using earlier MIPS ISA versions would like to take advantage of the latest MIPS architecture advancements,
they may do so under the MIPS Open license.
However, earlier MIPS customers and other MIPS Open licensees must follow the terms and conditions of the MIPS Open license
and cannot “mix” their licenses or earlier-licensed deliverables with the MIPS Open license. オープンといっても普通はある程度バイナリ互換の方針をとるよな。
ソフト資産も無駄になるのだから。
これでは消えていったISAと同じ道を歩む事になりそうだが。 ARMが薄利多売している以上、
オープンソースにしたところでMIPSの存在意義がないんだよな。 画像処理とかならサーバー側だからまだしも小規模エッジ側だとセンサーの誤差補正
とかだから64bit性能は要らないんじゃないかな。 32bitでも十分使えるよ
64bitになっても速度が速いわけではない
内蔵されてるペリフェラルによって速度が決まることも多い
何事も総合的にみる能力がないと性能を発揮できないものだよ・・ Ubuntuではi386が廃止されたからな
RHELも今は64bitだけ
CentOSも公式で出てるのは64bitのみ
PCやサーバー上で動作するLinuxで32bitはもう、オワコン エッジAI市場をターゲットとしてるといってもワンチップマイコンでなく、SoCの形だからな
この分野だと2GBや4GBのメモリを搭載するのも出てくるはず
x86と違って32bitのMIPSはもともと2GBのメモリ空間までしか想定してない
32bitのMIPSで2GB以上のメモリをアクセスする場合、
EVAを使わないといけなくてユーザモードでは通常のロードストア命令ではアクセスできないから32bitは不利 こんな安いボードですらメモリ4GB搭載してる
GTC 2019】NVIDIA、価格99ドルのAIコンピュータ「Jetson Nano」。472GFLOPSの演算性能でカメラ入力も装備
日本でも予約注文開始、1万1400円(税別)
https://car.watch.impress.co.jp/docs/event_repo/gtc2019/1175604.html MIPSを買収したWave ComputingがAIチップのメーカー
AIが絡んでくるのはしょうがない >>119のJetsonだとGPUを利用するタイプで機械学習まで含めているだろうけど、エッジ側
だと学習なんて必要ないだろう。低コスト低消費電力を必要とするからフラッシュメモリのように
あらかじめ作った学習データを書き込みするだけで良いはずだから64bitとか4Gメモリは必要
ないのではないかと思う。
WaveComputingのだと小さなDPEを繋げる方式だからそのエレメントの数とつなげ方
で出来ることが決まってくるんじゃないかな。DPEの方を単にフラッシュのように書き込み
出来ればよくてMIPSのコアはただ入出力とか周辺コントローラーとして動作するだけだろう。 32bitで十分も何も64bitコアを使ったのしか発表してないのに何言ってんだ? そもそもMIPSのR6ではワンチップマイコン向けのM-Classを除けばMIPSは64bitコアしか出してない
nanoMIPSを使ったI-7200は32bitだが今回発表したチップには使われないようだ
nanoMIPSはWaveComputingに買収される前の発表だし
WaveComputingがオープンソース化を発表して普及を図ってるのはMIPSのR6だぞ また8bitスレでMIPS信者が暴れてるんだがいいかげんにしてくれないか。 8bitスレって何かと思ったら昔のPC板の究極の8ビット機を妄想するスレ Part 7か
AVR信者とRISC信者がやりあってるようだけど
8bitだからMIPSはスレチだが
昔のPC板というだけでAVRもスレチだろ AVR信者ってここでも暴れてるのか
PICのスレでもウザいくらい暴れてるよな
AVRを使ったパソコンってるのか?
ここは昔のPC板だぞ MIPS君がまたAVRスレで暴れてますw
RISCのMIPSがいかに多くの命令が追加されたか自慢して止まりませんw RISCなのにw やっぱり彼はアホです。 またMIPS君が他の板で暴れて論破された模様TT
フラグで遅くなる例を出せと言われて一つも出せなかったらしい。 全く関係ないスレでRISC-Vのコピペ荒らしして普及活動してる人いるよね。あれがMIPS君? デジモン(デジタルモンスター)シリーズのアニメの次期作を放送しろよな
デジモン(デジタルモンスター)シリーズのアニメの次回作を放送しろよな
デジモン(デジタルモンスター)シリーズのアニメの続編を放送しろよな
デジモン(デジタルモンスター)シリーズのアニメの続きを放送しろよな
デジモン(デジタルモンスター)シリーズのアニメの新作を放送しろよな
デジモン(デジタルモンスター)シリーズのアニメの最新作を放送しろよな
デジモン(デジタルモンスター)シリーズのアニメの完全新作を放送しろよな
デジモンセイバーズはネ申アニメだよ
デジモンセイバーズは神アニメだよ
デジモンセイバーズは意欲作だよ
デジモンセイバーズは話題作だよ
デジモンセイバーズは超大作だよ
デジモンセイバーズは良作だよ
デジモンセイバーズは名作だよ
デジモンセイバーズは秀作だよ
デジモンセイバーズは傑作だよ
デたジモンセイバーズは上作だよ
デジモンセイバーズは佳作だよ
バステモンの勝ち、バステモンの勝利、バステモンの大勝利、バステモンの完全勝利、バステモンの圧勝、バステモンの楽勝
バステモンの戦勝、バステモンの制勝、バステモンの連勝、バステモンの優勝、バステモンの健勝、バステモンの形勝、バステモンの形勝
バステモンの最勝、バステモンの再勝、バステモンの済勝、バステモンの快勝、バステモンの常勝、バステモンの先勝、バステモンの祝勝
バステモンの清勝、バステモンの複勝、バステモンの名勝、バステモンの絶勝、バステモンの陳勝、バステモンの探勝、バステモンの丸勝ち
カイザーレオモンは強いよ、カイザーレオモンは強力だよ、カイザーレオモンは強大だよ、カイザーレオモンは強者だよ、カイザーレオモンは強豪だよ、カイザーレオモンは強剛だよ
カイザーレオモンは強烈だよ、カイザーレオモンは強固だよ、カイザーレオモンは屈強だよ、カイザーレオモンは頑強だよ、カイザーレオモンは強腰だよ、カイザーレオモンは強肩だよ
カイザーレオモンは強将だよ、カイザーレオモンは強腰だよ、カイザーレオモンは強気だよ、カイザーレオモンは強堅だよ、カイザーレオモンは義強だよ、カイザーレオモンは根強いよ 将来的に不況になりそうだからARMやRISCVでも新規開発は難しいだろう。
スマホのような分野を狙わずに無難な市場で、古典的とか古いといわれているような
知的財産を再利用するほうが現状ではMIPS浮上の鍵にはなりそうではある。 MIPS系のcpuて特許料払わないといけないの?
USBは特許料は無しだったけどね >>122
JetsonNanoのcpuはTEGRA(arm系)だよね >>112
Armに払う特許料てcpu1個あたりいくらですか? また8bitスレで自演しながら暴れてるってよ、RISC君。 RISC連呼君は粘着野郎だから触らないほうがいい。
下手にスレチだと注意するとキチガイのように発狂して荒しまくるから。 8086 vs. Z80 vs. 6809 vs. 6502 その15
https://matsuri.5ch.net/test/read.cgi/i4004/1624078918/
また盛大にキチガイRISC君が自演して暴れてるな。
毎度8bitスレで暴れやがって、32bitスレでやれよな。 鬱病だけど、刺身のタンポポを乳首に乗せてたら元気出てきた