基本的に、二進数の計算は、0+0=0, 0+1=1, 1+0=1, 1+1=10の4通りしかない。
このうち最後の1+1だけは上への桁への繰上り(1+1=10)が起きる。
これらはスイッチングを使えば、繰上りの有無はAND回路、1桁目の加算後の数値はEXOR回路で実現できる。
実際は、下の桁からの繰上りを考慮しなければならないため、これは完全ではない。なので、これを半加算器と呼ぶ。
下の桁の繰上りを考慮した全加算器は、2つの半加算器をOR回路でつなぐことで実現できる。
減算は、二の補数(全ての数を反転させてその数に1を加えた数)で実現できる。
必ず桁あふれするのだけを考慮しなければ、元の数と二の補数を加えた数は必ず0になる。
乗算・除算については、小学校の算数で習う「筆算」のようにすれば実現可能。
パイプライン処理とは、CPUが実行するオペランドの解読などの段階的処理を、並列でひとつひとつずらしながら行う処理のこと。
特にRISC CPUでは、命令が単純化されているため、パイプライン処理の効率がよくなる。
キャッシュメモリは、主メモリよりも速度が速い代わりサイズが小さく値段も高価なメモリのこと。
キャッシュメモリに書き出す時に、必ず元のデータに同時に書き出して次の処理を行うライトスルー方式と、元のデータに書き出される前から次の処理を行うライトバック方式がある。
機械語命令の基本は、以下の3つ。
どんなに複雑なプログラムでも、この3つの組み合わせで動いている。
レジスタには、AX, BX, CX, DXなどの名前がついており、「CPUが一時的に記憶に使うための高速なメモリ」だと考えればよい。また上位8ビットにはAH, 下位8ビットにはALのような略号がつけられている。
たとえば、
ADD AL, 40h
でALに40を足す。
SUB AL, 20h
でALから40を引く。
MUL BL
でALとBLを掛けてAXにセット。
DIV BL
でAXをBLで割って商をALに、余りをAHにセット。
注意:このレジスタやオペランドの形式は16bit時代のものなので、64bit時代の今のCPUではレジスタ名などが変わっています。
また、これだけでは「実際の計算結果をどこかに保持しておく」ということができない。そのため、主記憶へのアクセスを行う。
データの転送は、
MOV 受け取る側, 送り出す側
とする。たとえば、
MOV AL, 0FFh
とすれば、FFをALにロードできる。
書き込む場合は、メモリアドレスを使って書き込むことができる。アドレスは[]を使って指定する。
MOV AL, [0201h]
ほかには、比較命令、ジャンプ命令、論理命令、スタックポインタ命令、入出力命令などが存在する。
JMP XX
で、オフセットアドレス「XX」に無条件ジャンプする。
このほかにもJZ(ALが0ならばジャンプ)のような条件付きジャンプ命令がある。
また、ファンクションコールといって、特にDOSのシステム命令などを実行したりできる。これは端末の入出力に使ったりする。
また、実際のアセンブリ言語で開発する場合は、マクロアセンブラ(MSAM)を使うことで、ラベルを使うことができる。ジャンプをオフセットアドレスではなくラベルで使える。
(各ディストリビューションのスレッドをご利用下さい。)
PowerPC (PPC) ユーザー、集え 3
http://pc11.2ch.net/test/read.cgi/linux/1213272324/
http://pc11.2ch.net/test/read.cgi/linux/1112237004/
http://pc8.2ch.net/test/read.cgi/linux/1041968296/
http://pc.2ch.net/linux/kako/980/980246074.html
玄人志向 玄箱11
http://pc11.2ch.net/test/read.cgi/linux/1229929071/l50 (現行スレッド)
http://pc11.2ch.net/test/read.cgi/linux/1204622262/
http://pc11.2ch.net/test/read.cgi/linux/1184511648/
http://pc11.2ch.net/test/read.cgi/linux/1174452305/
http://pc11.2ch.net/test/read.cgi/linux/1169064612/
http://pc10.2ch.net/test/read.cgi/linux/1157104753/
http://pc8.2ch.net/test/read.cgi/linux/1144684521/
http://pc8.2ch.net/test/read.cgi/linux/1133501897/
http://pc8.2ch.net/test/read.cgi/linux/1117575373/
http://pc8.2ch.net/test/read.cgi/linux/1102420851/
http://pc5.2ch.net/test/read.cgi/linux/1079186374/
マイクロサーバーすれっど
http://pc11.2ch.net/test/read.cgi/linux/1073047663/l50 (現行スレッド)
http://pc.2ch.net/test/read.cgi/linux/1003991032/
〜LinuxでMacOS*Mac-on-Linux〜
http://pc11.2ch.net/test/read.cgi/linux/1011270077/l50 (現行スレッド)
【黄犬】 Yellow Dog Linux 【PS3】
http://pc11.2ch.net/test/read.cgi/linux/1163783238/l50 (現行スレッド)
現在使用可能なディストリビューション:Debian GNU/Linux・Fedora Core・Gentoo Linux・Linux/PPC for Nubus Power Macintosh・MkLinux・openSUSE・Sourcemage GNU/Linux・Ubuntu Linux・Vine Linux・Yellow Dog Linux
設定
Configurations for X on PowerPC machines
関連サイト
PowerPC 一般:PenguinPPC・PowerPC Kernel Archives
ソフトウェア:Mac-on-Linux
玄人志向「玄箱」特有情報
仕様
KURO-BOX・KURO-BOX/HG・KURO-BOX/PRO・KURO-NAS/X4・KURO-BOX/T4
Kernel
Genbako kernel collection
公式サポートBBS
KURO-BOX・KURO-BOX/HG・KURO-BOX/PRO・KURO-NAS/X4・KURO-BOX/T4
apt-line
Debian GNU/Linux の apt-line
PowerPC (PPC) ユーザー、集え 3
http://pc11.2ch.net/test/read.cgi/linux/1213272324/
http://pc11.2ch.net/test/read.cgi/linux/1112237004/
http://pc8.2ch.net/test/read.cgi/linux/1041968296/
http://pc.2ch.net/linux/kako/980/980246074.html
【SPE】PS3 Linux Part 6【YDL】
http://pc11.2ch.net/test/read.cgi/linux/1235087677/l50 (現行スレッド)
http://pc11.2ch.net/test/read.cgi/linux/1175162637/
http://pc11.2ch.net/test/read.cgi/linux/1165413083/
http://pc8.2ch.net/test/read.cgi/linux/1163937810/
http://pc8.2ch.net/test/read.cgi/linux/1147167572/
http://pc8.2ch.net/test/read.cgi/linux/1118306981/
XboxでLinuxができる日が訪れる?
http://pc11.2ch.net/test/read.cgi/linux/1013947365/l50 (現行スレッド)
【黄犬】 Yellow Dog Linux 【PS3】
http://pc11.2ch.net/test/read.cgi/linux/1163783238/l50 (現行スレッド)
現在使用可能なディストリビューション:Debian GNU/Linux・Gentoo Linux・Yellow Dog Linux
x86_64総合
http://pc11.2ch.net/test/read.cgi/linux/1148478345/l50 (現行スレッド)
http://pc8.2ch.net/test/read.cgi/linux/1108137192/
http://pc5.2ch.net/test/read.cgi/linux/1082641986/
http://pc3.2ch.net/test/read.cgi/linux/1068566147/
現在使用可能なディストリビューション:CentOS・Debian GNU/Linux・Fedora Core・Gentoo Linux・Mandriva Linux・openSUSE・Scientific Linux・Slamd64(Slackware)・Ubuntu Linux・White Box Linux
Itaniumで64ビットLinuxだぁ!
http://pc11.2ch.net/test/read.cgi/linux/1020386747/l50 (現行スレッド)
現在使用可能なディストリビューション:Debian GNU/Linux・Gentoo Linux
LINUXを搭載したSPARCマシンは欲しい?
http://pc11.2ch.net/test/read.cgi/linux/1013185274/l50 (現行スレッド)
現在使用可能なディストリビューション:Debian GNU/Linux
LINUXを搭載したSPARCマシンは欲しい?
http://pc11.2ch.net/test/read.cgi/linux/1013185274/l50 (現行スレッド)
現在使用可能なディストリビューション:Debian GNU/Linux・Gentoo Linux
地味にLinux/Alpha
http://pc11.2ch.net/test/read.cgi/linux/1007830461/l50 (現行スレッド)
現在使用可能なディストリビューション:Debian GNU/Linux・Gentoo Linux
日立スレッド
http://pc11.2ch.net/test/read.cgi/linux/1026669271/l50 (現行スレッド)
[玄箱]LANTANK白箱[のようなもの]
http://pc8.2ch.net/test/read.cgi/linux/1112538036/
★ ドリームキャストにLinuxを入れてる奴
http://pc11.2ch.net/test/read.cgi/linux/1201938501/
現在使用可能なディストリビューション:Debian GNU/Linux・Gentoo Linux
Linux/M68k綜合スレ
http://pc.2ch.net/linux/kako/1019/10199/1019918243.html
現在使用可能なディストリビューション:Debian GNU/Linux
現在使用可能なディストリビューション:Debian GNU/Linux
【GBA】Linuxから目覚めるぼくらのゲームボーイ!
http://pc11.2ch.net/test/read.cgi/linux/1070983168/l50 (現行スレッド)
LinuxをニンテンドーDSで動かそう
http://pc11.2ch.net/test/read.cgi/linux/1099676905/l50 (現行スレッド)
Linux zaurus 10
http://pc11.2ch.net/test/read.cgi/linux/1189835559/l50 (現行スレッド)
http://pc11.2ch.net/test/read.cgi/linux/1147049264/
http://pc8.2ch.net/test/read.cgi/linux/1118133914/
http://pc8.2ch.net/test/read.cgi/linux/1103930000/
http://pc5.2ch.net/test/read.cgi/linux/1100131241/
http://pc5.2ch.net/test/read.cgi/linux/1097989566/
http://pc5.2ch.net/test/read.cgi/linux/1095683092/
http://pc5.2ch.net/test/read.cgi/linux/1077041558/
http://pc.2ch.net/test/read.cgi/linux/1070705181/
http://pc.2ch.net/test/read.cgi/linux/1065805664/
iPodLinux開発系
http://pc11.2ch.net/test/read.cgi/linux/1140859813/l50 (現行スレッド)
http://pc8.2ch.net/test/read.cgi/linux/1137735802/
http://pc8.2ch.net/test/read.cgi/linux/1104235131/
工科大ケータイってどうよ?
http://pc11.2ch.net/test/read.cgi/linux/1159372227/l50 (現行スレッド)
【ZERO3】リザぽん化プロジェクト 003【Linux】
http://pc11.2ch.net/test/read.cgi/linux/1216664473/l50 (現行スレッド)
http://pc11.2ch.net/test/read.cgi/linux/1185862665/
http://pc11.2ch.net/test/read.cgi/linux/1182779775/
chumby 3匹目
http://pc11.2ch.net/test/read.cgi/linux/1255013576/l50 (現行スレッド)
http://pc11.2ch.net/test/read.cgi/linux/1225537350/
http://pc11.2ch.net/test/read.cgi/linux/1205320490/
Ubuntu入りのSmartQ 5 MID 約1万2000円
http://pc11.2ch.net/test/read.cgi/linux/1238262887/l50 (現行スレッド)
SheevaPlug
http://pc11.2ch.net/test/read.cgi/linux/1250390080/l50 (現行スレッド)
【ubuntu】 NetWalker2 【ARM】
http://pc11.2ch.net/test/read.cgi/linux/1253353487/l50 (現行スレッド)
http://pc11.2ch.net/test/read.cgi/linux/1251435886/
現在使用可能なディストリビューション:Debian GNU/Linux・Gentoo Linux
Big エンディアン ARM、とりわけ Linksys NSLU2。
現在使用可能なディストリビューション:Debian GNU/Linux
MIPS のビッグエンディアンマシン。別名 mipsbg。SGI 機他。
現在使用可能なディストリビューション:Debian GNU/Linux
MIPS のリトルエンディアンマシン。対象マシン: PS2, DEC Station (古すぎて入手難), NEC のモバギなど、MIPS 使用の WinCE 機。
OpenMicroServer
http://pc11.2ch.net/test/read.cgi/linux/1138364976/l50 (現行スレッド)
PS2,GC,GBA,DSと来たら次はPSPでLinux
http://pc11.2ch.net/test/read.cgi/linux/1102490713/l50 (現行スレッド)
uClinux on PSP (Jackson Mo)
http://pc11.2ch.net/test/read.cgi/linux/1200072551/l50 (現行スレッド)
【DINGUX】Linux for the Dingoo A320【DualBoot】
http://pc11.2ch.net/test/read.cgi/linux/1247737377/l50 (現行スレッド)
PS2でLinux! Part5
http://pc.2ch.net/linux/kako/996/996170115.html
http://cocoa.2ch.net/linux/kako/993/993965253.html
http://cocoa.2ch.net/linux/kako/992/992958478.html
http://cocoa.2ch.net/linux/kako/989/989391252.html
http://cocoa.2ch.net/linux/kako/983/983681541.html
現在使用可能なディストリビューション:Debian GNU/Linux
Hewlett-Packard の PA-RISC アーキテクチャへの移植版です。
現在使用可能なディストリビューション:Debian GNU/Linux・Gentoo Linux
IBM S/390 サーバへの移植版です。
現在使用可能なディストリビューション:Debian GNU/Linux・Gentoo Linux・Slack/390(Slackware)
Renesas Technology (ルネサステクノロジ) の 32 ビット RISC マイクロプロセッサへの移植版です。
現在使用可能なディストリビューション:Debian GNU/Linux
Atmel の 32 ビット RISC マイクロプロセッサへの移植版です。
現在使用可能なディストリビューション:Debian GNU/Linux