石黒/日誌/2013-09-27
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[石黒/日誌]]
*古典電脳物語 読書メモ(2) [#hd48ded2]
今日は本の内容からは脱線。
**intelのCPUの名前の意味 [#gd6b4136]
-4004: 最初のマイクロプロセッサの原型
--4bit
--4001: ROM
--4002: RAM
--4003: シフトレジスタ(周辺装置のインターフェイス)
--4004: CPU
-8008: 8bit化および機能強化
--8bit
--単純に4004の2倍。8001から8007は無い
-8080: DMAおよび割り込みの追加。はじめてのマイクロプロセッサ
--8bit
--[命令セットは8008上位互換]
--名前の由来は不明
-8085: 8080の改良
--8bit
--[命令セットは8080上位互換]
--電源端子が5Vのみになったので末尾が5
-8086: 16bit化された
--16bit
--命令セットに互換性は無いが、再アセンブルするだけで8080のコードが使えた
--8087: 数値演算コプロセッサ
--8088: 8bitの廉価版。IBM PCで採用された
--8089: I/Oプロセッサ
-80186: 8086の改良版。周辺回路、I/Oを統合して組込み向けにした
--16bit
--[命令セットは8086上位互換]
--80188: 廉価版。8088に対応するラインナップ
-80286: 8086の後継。こちらは仮想記憶などをサポートして汎用コンピュータ向けにした。IBM PC/ATで採用された
--16bit
--[命令セットは8086上位互換]
-80386: 32bit拡張とレジスタ強化。IA-32として多くの互換CPUが出た。
--32bit
--[命令セットは80286上位互換]
--80386SX(P9): 80286と換装可能
--80386SL: システムマネジメントモード搭載。モバイル向け
--80376: 組込み向け
-80486(486DX): 数値演算コプロセッサ、キャッシュメモリ統合
--32bit
--[命令セットは80386互換]
--486SX: 廉価版
--486SL: 省電力版
-Pentium(P5): 多くの機能拡張
--32bit
--[命令セットは80486上位互換]
--80586でない理由は商標として認可を通すため
--これ以降、64bitCPUの普及まではPentiumブランドが続く
***AMD64 [#y4d11ccc]
64bitアーキテクチャを設計するにあたって各社は古いx86の上位互換を無理に目指さず、新規の命令セットを模索していた。
一方、IA-32互換の64bit拡張をしたアーキテクチャをAMDが先行して開発、普及させた。これがAMD64。
Intelは互換性を排したIA-64アーキテクチャの開発をしていたが普及せず、結局はAMD64を採用した。
考察: つまり現在のCPUまで、8086の命令が残っていることになる?
**ワイアードロジックとマイクロプログラム [#r3364ca4]
命令の実現方法
-ワイアードロジック
--高いCPI(Clock per Instruction)
--回路規模が大きくなり、複雑な命令の実装は困難
--RISCはすべてワイアードロジック
-マイクロプログラム: CPUのごく基本的な命令を組み合わせて実現する小さなプログラムのROM(RAM?)を用意する。書き換えは基本的にメーカーが行う
--ファームウェアのように不具合を後から書き換えることができる
--ワイアードロジックにくらべて数クロック分遅れる
--CISCで多く採用される
考察: マイクロプログラムが担う部分は今や、コンパイラでどうにでもできそう。最小の命令セットを前提にRISCで設計して、あとはコンパイラが最適化すればいいのではないか? どうしてCISCあるいはCISC/RISCハイブリッドな設計が未だ主流なのだろう。
**より良い設計はどこへ? [#k4203a08]
よりシンプルで美しい設計がたくさん考えられる。もう少し読み進んだら、市場で生き残れなかったが良い設計であった製品をメモしていく。
-6809
--6800からハードウェア仕様をほとんど変えず、機械語を振りなおした。命令の直交性に優れている
--UNIXを動かすことを念頭に置いた。6809向けに作られたUNIX-like OSとしてOS9がある
--すでに16bitの8086が登場していたので、孤高のCPUになってしまった
*TTLでコンピュータを作る人々 [#qa862dab]
TTL(論理回路のIC)のみで作られたコンピュータたち。4004のようなマイクロプロセッサ登場以前のコンピュータ(PDPシリーズとかも)ではTTLが主流だった。
:DIODE MATRIX http://diode.matrix.jp/|RETROFの制作日誌。一番新しい?
:TTLでCPUをつくろう! http://www.alles.or.jp/~thisida/index.htm|全部で822回にも分けられた記録。組立キットの販売までしていた。
:TTL でCPUを作成、16bitの手作りコンピューター TANACOM-1 誕生http://tanacom.jpn.org/|1978年から制作。資料は読みやすくまとまって、当時の熱狂も伝ってくる。
*ハードウェア記述言語による、既成CPUの実装 [#dcb33315]
-http://opencores.org/project,cpu8080,overview
-https://github.com/begoon/i8080-core/
-http://www.ip-arch.jp/ PDP11互換CPUがある。回路上で初期UNIXを動作させられる?
--http://web.kyoto-inet.or.jp/people/m-ito/simh/simh.html こちらにUNIX version 7のエミュレータ上の動作例がある
終了行:
[[石黒/日誌]]
*古典電脳物語 読書メモ(2) [#hd48ded2]
今日は本の内容からは脱線。
**intelのCPUの名前の意味 [#gd6b4136]
-4004: 最初のマイクロプロセッサの原型
--4bit
--4001: ROM
--4002: RAM
--4003: シフトレジスタ(周辺装置のインターフェイス)
--4004: CPU
-8008: 8bit化および機能強化
--8bit
--単純に4004の2倍。8001から8007は無い
-8080: DMAおよび割り込みの追加。はじめてのマイクロプロセッサ
--8bit
--[命令セットは8008上位互換]
--名前の由来は不明
-8085: 8080の改良
--8bit
--[命令セットは8080上位互換]
--電源端子が5Vのみになったので末尾が5
-8086: 16bit化された
--16bit
--命令セットに互換性は無いが、再アセンブルするだけで8080のコードが使えた
--8087: 数値演算コプロセッサ
--8088: 8bitの廉価版。IBM PCで採用された
--8089: I/Oプロセッサ
-80186: 8086の改良版。周辺回路、I/Oを統合して組込み向けにした
--16bit
--[命令セットは8086上位互換]
--80188: 廉価版。8088に対応するラインナップ
-80286: 8086の後継。こちらは仮想記憶などをサポートして汎用コンピュータ向けにした。IBM PC/ATで採用された
--16bit
--[命令セットは8086上位互換]
-80386: 32bit拡張とレジスタ強化。IA-32として多くの互換CPUが出た。
--32bit
--[命令セットは80286上位互換]
--80386SX(P9): 80286と換装可能
--80386SL: システムマネジメントモード搭載。モバイル向け
--80376: 組込み向け
-80486(486DX): 数値演算コプロセッサ、キャッシュメモリ統合
--32bit
--[命令セットは80386互換]
--486SX: 廉価版
--486SL: 省電力版
-Pentium(P5): 多くの機能拡張
--32bit
--[命令セットは80486上位互換]
--80586でない理由は商標として認可を通すため
--これ以降、64bitCPUの普及まではPentiumブランドが続く
***AMD64 [#y4d11ccc]
64bitアーキテクチャを設計するにあたって各社は古いx86の上位互換を無理に目指さず、新規の命令セットを模索していた。
一方、IA-32互換の64bit拡張をしたアーキテクチャをAMDが先行して開発、普及させた。これがAMD64。
Intelは互換性を排したIA-64アーキテクチャの開発をしていたが普及せず、結局はAMD64を採用した。
考察: つまり現在のCPUまで、8086の命令が残っていることになる?
**ワイアードロジックとマイクロプログラム [#r3364ca4]
命令の実現方法
-ワイアードロジック
--高いCPI(Clock per Instruction)
--回路規模が大きくなり、複雑な命令の実装は困難
--RISCはすべてワイアードロジック
-マイクロプログラム: CPUのごく基本的な命令を組み合わせて実現する小さなプログラムのROM(RAM?)を用意する。書き換えは基本的にメーカーが行う
--ファームウェアのように不具合を後から書き換えることができる
--ワイアードロジックにくらべて数クロック分遅れる
--CISCで多く採用される
考察: マイクロプログラムが担う部分は今や、コンパイラでどうにでもできそう。最小の命令セットを前提にRISCで設計して、あとはコンパイラが最適化すればいいのではないか? どうしてCISCあるいはCISC/RISCハイブリッドな設計が未だ主流なのだろう。
**より良い設計はどこへ? [#k4203a08]
よりシンプルで美しい設計がたくさん考えられる。もう少し読み進んだら、市場で生き残れなかったが良い設計であった製品をメモしていく。
-6809
--6800からハードウェア仕様をほとんど変えず、機械語を振りなおした。命令の直交性に優れている
--UNIXを動かすことを念頭に置いた。6809向けに作られたUNIX-like OSとしてOS9がある
--すでに16bitの8086が登場していたので、孤高のCPUになってしまった
*TTLでコンピュータを作る人々 [#qa862dab]
TTL(論理回路のIC)のみで作られたコンピュータたち。4004のようなマイクロプロセッサ登場以前のコンピュータ(PDPシリーズとかも)ではTTLが主流だった。
:DIODE MATRIX http://diode.matrix.jp/|RETROFの制作日誌。一番新しい?
:TTLでCPUをつくろう! http://www.alles.or.jp/~thisida/index.htm|全部で822回にも分けられた記録。組立キットの販売までしていた。
:TTL でCPUを作成、16bitの手作りコンピューター TANACOM-1 誕生http://tanacom.jpn.org/|1978年から制作。資料は読みやすくまとまって、当時の熱狂も伝ってくる。
*ハードウェア記述言語による、既成CPUの実装 [#dcb33315]
-http://opencores.org/project,cpu8080,overview
-https://github.com/begoon/i8080-core/
-http://www.ip-arch.jp/ PDP11互換CPUがある。回路上で初期UNIXを動作させられる?
--http://web.kyoto-inet.or.jp/people/m-ito/simh/simh.html こちらにUNIX version 7のエミュレータ上の動作例がある
ページ名: