Linux for CPU Architecture

CPUの原理

加算

基本的に、二進数の計算は、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つ。

  1. レジスタにメモリ・IOからデータを転送する
  2. レジスタのデータを演算する。
  3. レジスタからメモリ・IOにデータを転送する

どんなに複雑なプログラムでも、この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)を使うことで、ラベルを使うことができる。ジャンプをオフセットアドレスではなくラベルで使える。

Intel x86/IA-32 (i386)

(各ディストリビューションのスレッドをご利用下さい。)

Motorola/IBM PowerPC (ppc)

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/LinuxFedora CoreGentoo LinuxLinux/PPC for Nubus Power MacintoshMkLinuxopenSUSESourcemage GNU/LinuxUbuntu LinuxVine LinuxYellow Dog Linux

設定
Configurations for X on PowerPC machines

関連サイト
PowerPC 一般:PenguinPPCPowerPC Kernel Archives
ソフトウェア:Mac-on-Linux

玄人志向玄箱」特有情報
仕様
KURO-BOXKURO-BOX/HGKURO-BOX/PROKURO-NAS/X4KURO-BOX/T4
Kernel
Genbako kernel collection
公式サポートBBS
KURO-BOXKURO-BOX/HGKURO-BOX/PROKURO-NAS/X4KURO-BOX/T4
apt-line
Debian GNU/Linux の apt-line

Motorola/IBM PowerPC64 (ppc64)

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/LinuxGentoo LinuxYellow Dog Linux

AMD64 (x86_64)

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/

現在使用可能なディストリビューション:CentOSDebian GNU/LinuxFedora CoreGentoo LinuxMandriva LinuxopenSUSEScientific LinuxSlamd64(Slackware)Ubuntu LinuxWhite Box Linux

IA-64

Itaniumで64ビットLinuxだぁ!
http://pc11.2ch.net/test/read.cgi/linux/1020386747/l50 (現行スレッド)

現在使用可能なディストリビューション:Debian GNU/LinuxGentoo Linux

Sun SPARC

LINUXを搭載したSPARCマシンは欲しい?
http://pc11.2ch.net/test/read.cgi/linux/1013185274/l50 (現行スレッド)

現在使用可能なディストリビューション:Debian GNU/Linux

Sun SPARC64

LINUXを搭載したSPARCマシンは欲しい?
http://pc11.2ch.net/test/read.cgi/linux/1013185274/l50 (現行スレッド)

現在使用可能なディストリビューション:Debian GNU/LinuxGentoo Linux

Alpha

地味にLinux/Alpha
http://pc11.2ch.net/test/read.cgi/linux/1007830461/l50 (現行スレッド)

現在使用可能なディストリビューション:Debian GNU/LinuxGentoo Linux

SuperH

日立スレッド
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/LinuxGentoo Linux

Motorola 68k

Linux/M68k綜合スレ
http://pc.2ch.net/linux/kako/1019/10199/1019918243.html

現在使用可能なディストリビューション:Debian GNU/Linux

ARM (arm)

現在使用可能なディストリビューション:Debian GNU/Linux

ARM (armel)

【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/LinuxGentoo Linux

ARM (armeb)

Big エンディアン ARM、とりわけ Linksys NSLU2。

現在使用可能なディストリビューション:Debian GNU/Linux

MIPS (mips)

MIPS のビッグエンディアンマシン。別名 mipsbg。SGI 機他。

現在使用可能なディストリビューション:Debian GNU/Linux

MIPS (mipsel)

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

HP PA-RISC

Hewlett-Packard の PA-RISC アーキテクチャへの移植版です。

現在使用可能なディストリビューション:Debian GNU/LinuxGentoo Linux

S/390

IBM S/390 サーバへの移植版です。

現在使用可能なディストリビューション:Debian GNU/LinuxGentoo LinuxSlack/390(Slackware)

M32R

Renesas Technology (ルネサステクノロジ) の 32 ビット RISC マイクロプロセッサへの移植版です。

現在使用可能なディストリビューション:Debian GNU/Linux

Atmel AVR32

Atmel の 32 ビット RISC マイクロプロセッサへの移植版です。

現在使用可能なディストリビューション:Debian GNU/Linux

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2021年08月08日 23:41