8086 vs. Z80 vs. 6809 vs. 6502 その2
952 :
ナイコンさん:2009/02/24(火) 20:11:41
無限のテープがチューリングマシンノの条件だったっけ?
ラップラウンドさせれば良いだけのような気がするが。
>>946 Z80もLDIRとかマイクロプログラムで実行してるんだろうか?
当時としては、驚異的なスピードが出てるから、
専用の回路が有りそうな気がする。
当時は全部ワイヤードロジックでしょ
>>953 > 当時としては、驚異的なスピードが出てる
カリカリチューンじゃなくちょいと工夫
しただけの'09にあっさり負けたわけだが。
>有限オートマトンなら実現できるけどチューリングマシンはできないよ。
普通にできるって。
1番地あたりのビット数が無限大×無限大番地の容量で。
ただ、チューリング機械のテープの長さがNだったら
これのサイズは2Nになりそうだけど。
史上最強命令LDIR
>>953 LDIRの立ち位置は高速転送命令というより、便利命令だと思うんだ
そんな命令使うよりDMA転送の方がいいなぁ。
>>956 >普通にできるって。
>1番地あたりのビット数が無限大×無限大番地の容量で。
それは RAM(ランダムアクセスマシン)だよ。
ただ(可算)無限番地があれば1番地に記録できる語は有限でいい。
逆に1番地あたりに無限を記録できるなら、番地は1個でいいはず。
これはレジスタマシン、カウンタマシンかな。
もし、無限ビット長のラッチと無限ビット入出力の ROM があれば
946 の言うとおりチューリングマシンは作れるね。
どうでもいいよそんなのスレと関係ないし
>>953 LDIR は当時としても驚異的に遅かったよ。
なにしろ LDI 命令を並べたほうが速かった。
何のための繰り返し命令なのやら、と思われていた。
プログラムは短くなったけどね。
繰り返しの度に 2 バイトの命令コードをフェッチするうえに 5 クロック
のアイドルサイクルまであって、計 21 クロックもかかってたんだよね。
それから、マイクロプログラムだと遅くなると思っているようだけど
そんなことはない。事実 64180 はマイクロプログラム方式で LDIR
の繰り返し1回あたり 14 クロックになっている。
ほんとは毎回命令フェッチしないで 6〜7 クロックで回してほしいと
ころなんだけどね。
速さなんかどうでもいいよいまさら
1バイトは一しずくの汗
1クロックは血の一滴
実際、トラ技の広告か何かで「プログラムの1行は、俺の血の一滴だ」
って文句があったような
>>962 > なにしろ LDI 命令を並べたほうが速かった。
LDI はループ終了判定しなくていいんだから速いのは当たり前なんだが...
ループアンローリングも知らんのか?
ローリングソバッドがなんだって?
>>960 最適化するとそうなるのかも。
ただ、
>無限番地があれば1番地に記録できる語は有限でいい。
>1番地あたりに無限を記録できるなら、番地は1個でいいはず。
こうすると内部に状態を記憶できなくなるんじゃない?
俺が言ってるのは、ラッチは1サイクル遅延させるためだけのディレイであって、
状態記憶はROMが行うイメージ。
>>962 まーでも、毎回フェッチしないと転送中に入る割り込みやらバスリクエストやらへの
反応が面倒になるし、リフレッシュも止まっちゃうから仕方ないところではある
>>969 ご丁寧に2バイトもフェッチしなくても、ダミーのフェッチサイクルを1回入れるだけでいいと思わないか?
てゆうか、
命令フェッチとDRAMリフレッシュは全く別次元の話として分離して欲しかった。
(後の日立のHD64180はそうした。)
RAMはSRAMオンリーでDRAMなんか存在しないシステムで
いちいち命令フェッチごとにリフレッシュサイクルが入ったらたまらん。
>>970 それだとCPU内にLDIR/LDDR用の特殊な状態遷移が必要になるからなあ
内部的に(LDI+自分自身へ条件分岐)にしておけば
転送中も普通の命令を実行しているのと全く変わらないので、追加回路は全く要らない
高速な転送が必須なシステムでは、DMAを使ってねという設計思想だったんだろう。
>>971 それには全く同意ではあるのだが
SRAMオンリーとかどこのお大尽だよwな時代の石には少々酷かと…。
Z80がそのまま高速版になって使われ続けるとは考えてなかったんだろうな。
ここZ80の人気高いな
>>971 それは、話が逆だ。
元々は「命令をデコードしている間はバスが遊んでいるから、DRAMリフレッシュに利用しよう」なんだから。
SRAMオンリーでリフレッシュが不要なら、あの期間はCPU内部動作オンリーになるだけのこと。
ブロック転送がRASだったかCASだったかを一回りする以上のサイズなら、命令フェッチなくても問題ない。
けど、それ以下とそれ以上の2種類のブロック転送命令を用意するか、
内部で判断する必要があるから、そんなのばかばかしいし。
そこまで気にする要件ならDMAC使ってね、っていう思想なんじゃないの?
System/360のMVC命令ってZ80のLDIRに似てるね
俺、レジスタファイルを豊富に具備して命令を単純化したCPUを思いついたよ
このアキテクチャで6HMzの壁を突破するぜ!
6HMz
そろそろ次スレの季節なんだが、8085の方がいいと思うんだけど?
>>979 俺もそう思う。8086に激しい違和感があるし6800がないのもおかしいよね。
そうなると長ったらしいので元祖の「Z80 vs 6809」で良いんじゃね?
以下
>>1テンプレサンプル作って見た。
スレタイの"宿命の対決" Z80 vs 6809 の他、
1974 i8080・MC6800
1975 MOS6502
1976 Z80・i8085・SC/MP
1977 SC/MP II
1978 i8086・SC/MP III
1979 i8088・MC6809・MC68000・Z8000
あたりでどのCPU(MPU)が優れているか議論するスレッドです。
皆様もういいトシなんだからもっとやれ。
※ 但しi8086/88,MC68000/08は主戦場にあらず。メインは8bitで行け。
前スレ
8086 vs. Z80 vs. 6809 vs. 6502 その2
http://gimpo.2ch.net/test/read.cgi/i4004/1213527504/
6800/6802は6809があるからいらない子
8088は8086があるからいらない子
8085は8080があるからいらない子
SC/MP・SC/MPUは売れてなかったから入らない子
>>980 > ※ 但しi8086/88,MC68000/08は主戦場にあらず。メインは8bitで行け。
まあ、ぶっちぎりでMC68000が優れすぎていて議論の余地ないしな。
MC68000の、奇数番地からのワードアクセスがなぁ。
Cコンパイラがキチンとやってくれればパーフェクツ!だったんだが。
スレタイ中では、腐っても16bitCPU、
8086がぶっちぎりだわな。
かと言って8080/8085では
相手にならないし。
じゃあ8088で
>>984 データテーブル作成時にバイトとワードのデータを分けとけば問題は発生しない。
x86からの移植で必要なときはバイトアクセス2回とシフトすれば。
Cコンパイラは奇数番地にワード置くなんて間抜けな事はしないと思うが。
回避できる問題のために速度低下を招く実装を望む?俺は望まない。
988 :
ナイコンさん:2009/03/01(日) 16:57:28
989 :
ナイコンさん:2009/03/01(日) 18:54:11
いまいち状況が判らんけどやらなくて良い事やって自爆したのかな。
素直にバイトアクセスすれば良かったんじゃないのかな。
ファイルフォーマットによっては、奇数オフセットから 32bit データが入っ
てたりするから、組み方によっては問題になるケースもある。
ただ、それをコンパイラでどうにかしようとするのはちょっと違う気がする。
>>981 > SC/MP・SC/MPUは売れてなかったから入らない子
っていうか、PCに搭載されてなかった時点で板違いだよな。
その意味では64180はぎりぎりセーフ、R800はOK。
Z280、Z380はNG。
HD63C09は、市販PCでは搭載されてないな。後付はあったが。
65816ってAppleIIIだっけ?
>>991 > PCに搭載されてなかった時点で板違い
Apple II のパチモンのアレとか知らない世代か。
> R800
> 65816
この辺って8か16か扱い微妙だよなあ。
例のブロック転送みたいにコード書いて
くんならいいんじゃないの?
逆にSC/MPも名前出して来るだけなら
要らないよね。
>>992 >Apple II のパチモンのアレとか知らない世代か。
そういや、そんなんあったね。
じゃSC/MPはOKって事で。
それから、65816は AppleIIIじゃなくてAppleIIGSだったね。訂正。
>この辺って8か16か扱い微妙だよなあ。
別に8に限定する必要ないと思う。
昔のPCに使われてたってのが基準でいいんじゃないの。
>別に8に限定する必要ないと思う。
そうすると8086は入れろってことになるじゃん。
だったら68000も入れなきゃだし、ぐだぐだになる。
68000入れたらZ80や8086が最強じゃなくなって発狂する人が出てくるだろ。
別に入れようが入れまいが好き好きでいいと思うけど
一番新しい奴が最強と言われても、うんそうだねとしか答えようがない…。
確かに68000は挙げられてる中じゃ最強だけど、最も面白味がない。
M
999
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。