2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

究極の8ビット機を妄想するスレ Part 10

1 :ナイコンさん :2019/09/16(月) 18:12:30.62 ID:Gf8A6Cti0.net
できるだけ実在するデバイスのみで、究極の8ビット機を妄想してみよう。
現実的であればマルチプロセッサも全SRAMも高速I/Oもok
ただし現状のPC界を見てもわかるとおり数値的なスペック追求のみでは無意味と知れ。
お前らの妄想力&創造力に期待する!

前スレ
究極の8ビット機を妄想するスレ Part 9
http://matsuri.5ch.net/test/read.cgi/i4004/1564217758/
究極の8ビット機を妄想するスレ Part 8
https://matsuri.5ch.net/test/read.cgi/i4004/1562275959/ VIPQ2_EXTDAT: none:vvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

29 :ナイコンさん (スッップ Sda2-I4Of):2020/03/11(水) 12:07:04 ID:vBXHEhAsd.net
さてCPUの再設計からスタートするか

30 :ナイコンさん (アウアウカー Saf1-dPrc):2020/04/02(木) 09:04:41 ID:0HkSNSiRa.net
FM-77はなんで最後までクロック上げなかったんやろうな
3MHz版を投入して高速モードを設定してれば性能がかなり変わったろうに…

31 :ナイコンさん (アウアウオー Sa93-CuPJ):2020/04/02(木) 10:55:20 ID:wB83MJN+a.net
>>30
キャッシュのない時代だからCPUだけ高速にするってわけにもいかないから難しいんだよ。

32 :ナイコンさん (ワッチョイ 2366-GbUr):2020/04/02(木) 23:29:38 ID:NzLIqO4T0.net
77AV40EX/SXが究極の8ビット機の一端だからな

33 :ナイコンさん :2020/04/03(金) 01:42:20.96 ID:ILLR1smha.net
>>32
その頃になると1ドット横スクロールができてスプライトもあるMSX2+が登場するからなぁ

34 :ナイコンさん (アウアウカー Saf1-dPrc):2020/04/03(金) 08:41:46 ID:ROE/I7hZa.net
>>31
でも、PC-88は途中から倍速化しましたやん

35 :ナイコンさん (アウアウオー Sa93-CuPJ):2020/04/03(金) 11:55:46 ID:wGj2biDCa.net
>>34
PC-88はメモリもVRAMも少なかったからね
なんとかメモリ速度やバス速度を上げられた
あとは自前でCPU作れるNECの技術力

贅沢に沢山メモリやVRAMを搭載したマシンではCPU速度やバス速度に合わせて
DRAMを高速品に変更すると莫大なコストがかかりすぎて断念

36 :ナイコンさん (ワッチョイ f56a-trDy):2020/04/03(金) 16:15:29 ID:BCC3esIC0.net
スーファミのようにアドレスエリアごとにCPUクロックを変えれば良いだけでさ
64KBくらいSRAM積んで10MHz動作くらいさせりゃ良かったのに
CPUから作れるメーカーだったんだし

37 :ナイコンさん (ワッチョイ f56a-trDy):2020/04/03(金) 16:18:03 ID:BCC3esIC0.net
ちなみに価格の話なら、1983年で既にバンダイ RX-78 GUNDAMがSRAM30KBでも59800円だ

38 :ナイコンさん :2020/04/04(土) 03:02:19.54 ID:7mTOrzpd0.net
6809ってメモリの特定の256バイトには高速にアクセスできて、プログラムはそれ多用する思想だったよね?
てことは、CPU内に256バイトをSRAMで作って、DPレジスタで指定したメモリ番地へのアクセスだった場合には
メモリの代わりにSRAMにアクセスするようにすると、内部倍速化とか3倍速化がけっこう意味を持ったりするんだろうか。
(読み込みはともかく書き込みはDRAMへのライトバックが必要だろうから、けっこう複雑な動作になるけど)

ただ、モトローラはそんなの作らないだろうし、日立のライセンスも仕様の改変が禁止されてたらしいから、
実際にその仕様で販売できるかと言われると難しそうだが

39 :ナイコンさん :2020/04/04(土) 05:19:36.31 ID:57UfXun90.net
>>6809ってメモリの特定の256バイトには高速にアクセスできて、プログラムはそれ多用する思想だったよね?
それは6502じゃね?

40 :ナイコンさん :2020/04/04(土) 05:24:55.07 ID:PlEicVwz0.net
6809じゃDPレジスタのアドレスバス出力転送に1クロックかかって遅いからねえ
内部16bitバス化すれば有効だったろうが8bitでは理想追及で実害有り過ぎ

41 :ナイコンさん (ワッチョイ a343-S0KY):2020/04/04(土) 05:49:49 ID:RbUIt4V10.net
DPレジスタ使ったからって5クロックかかるところが4クロックになるだけ
たいして早くならない
6809自体はインデックスドアドレッシングやPC相対アドレッシングなど
豊富なアドレッシングモードがあることが利点なのだからDP多用なんてしないんじゃないの?

42 :ナイコンさん :2020/04/04(土) 07:45:11.92 ID:5hFKys860.net
メモリ全部SRAMにすればいいじゃん

43 :ナイコンさん :2020/04/04(土) 09:03:06.08 ID:Fm7Qf4aIM.net
680xのダイレクトページアクセスは速度より省メモリーだろ
当時のメモリーの値段を知らん奴が何語ってるんだか

44 :ナイコンさん :2020/04/04(土) 10:34:32.34 ID:RbUIt4V10.net
当時って6809は8bitとしてはかなりの後発じゃん

45 :ナイコンさん :2020/04/04(土) 10:41:01.80 ID:Ar7Pj2rra.net
6809より先にシャープのSC62015を知って「なにこれ究極の8bitCPUじゃん!?」と思っていたが、
あとから6809を知って、ああ、これが元ネタだったのかと妙に納得したのを覚えてる

46 :ナイコンさん :2020/04/04(土) 10:42:09.13 ID:RbUIt4V10.net
FM-8もFM-7もRAMは64KBだったようだぞ

47 :ナイコンさん :2020/04/04(土) 10:45:20.06 ID:RbUIt4V10.net
FM-8はRAMを64KBも搭載、ビデオ用に48KBのRAMだったようだ
最初からかなり贅沢にRAMを使ってるね
http://animaka.sakura.ne.jp/MZ2000/picture2/catalog_Fujitsu_FM-8_P06.jpg

48 :ナイコンさん :2020/04/04(土) 10:46:58.17 ID:aaGtlTDeM.net
>>44
Direct addressing modeは6800からある
6809で語ってる奴が俄なだけ

49 :ナイコンさん :2020/04/04(土) 10:48:54.94 ID:RbUIt4V10.net
だから互換性のためにあっただけでしょ?
アセンブラレベルでは互換性があったわけだから。
6809で積極的にDP使ってたわけでもない

50 :ナイコンさん :2020/04/04(土) 10:51:02.12 ID:RbUIt4V10.net
そもそも>>38
>6809ってメモリの特定の256バイトには高速にアクセスできて、プログラムはそれ多用する思想だったよね?

これ事体が6502と勘違いしてると思われる

51 :ナイコンさん :2020/04/04(土) 10:56:56.37 ID:Ar7Pj2rra.net
>>50
6800とか6502は先頭256バイト固定じゃなかったか?
DPレジスタ使ってどこに割り当てるか指定できるようになったのは6809からだったような

52 :ナイコンさん :2020/04/04(土) 11:01:02.95 ID:RbUIt4V10.net
6809はOS-9みたいにプログラム自体にリロケータブルを要求するOSもあったわけだしな
6809はインデックストアドレッシングやPC相対アドレッシングに16bitのオフセットを指定できるわけで
それが6809が高機能なアドレッシングモードを持ってる理由になってる
だから完全なリロケータブルのプログラムを8bitCPUで実現できた
DPとは全く逆の思想

53 :ナイコンさん (ドコグロ MM93-5poS):2020/04/04(土) 11:41:23 ID:EDA/X/hdM.net
>>49
だからDirect addressing modeは高速化と言うより省メモリーが主目的だったって話な
6809ガーとか言ってる奴は時代背景を理解してないだけ
6502はゼロページをレジスタ代わりに使うという思想

54 :ナイコンさん :2020/04/04(土) 11:53:56.54 ID:RbUIt4V10.net
>>53
時代背景を理解してないってFM-8でさえ64KBフルにRAMを搭載してるのに何、言ってんの?
FM-8のスペック見る限り高スペックが売りだったと思うのだが
8bitマイコンと勘違いしてるんじゃないか?
この板の8bit関連のスレでは
当時のこと全く知らないくせに8bitマイコン好きなヤツが適当なこと言ってたりするからな

55 :ナイコンさん :2020/04/04(土) 11:56:54.68 ID:RbUIt4V10.net
そもそもZ80にはDPもゼロページもないが普及してたわけだが

56 :ナイコンさん (ドコグロ MM93-5poS):2020/04/04(土) 12:38:27 ID:EUvQbKvSM.net
>>54
だから6809の時代で語られてもなって話
知らないなら恥かくだけだから黙っとけ

57 :ナイコンさん (アウアウオー Sa93-CuPJ):2020/04/04(土) 13:13:48 ID:dZuLP5tRa.net
>>34
あの時代はCPUとバスのクロックを一致させるのが基本中の基本だからバス速度を上げても周辺チップがその速度についてこれるようにしないといけないから大変

58 :ナイコンさん (ワッチョイ a343-S0KY):2020/04/04(土) 15:12:58 ID:RbUIt4V10.net
>>56
日本で6800時代のパソコン知ってるやつがどれだけいるんだよ?

59 :ナイコンさん (ワッチョイ a343-S0KY):2020/04/04(土) 15:27:47 ID:RbUIt4V10.net
6809の話をしてたら割り込んできて6809の時代で語られてもなとか意味不明

60 :ナイコンさん (ドコグロ MM71-5poS):2020/04/04(土) 16:13:38 ID:KOoYEDOWM.net
>>50が言う様に6502の勘違いだろ
6809と6502じゃ時代が違うのに6809ガーとか言い続けるバカ乙

61 :ナイコンさん (アウアウカー Saf1-dPrc):2020/04/04(土) 16:19:37 ID:JhVZfYfya.net
>>60
6502の話だと思ってたら周りがみんな6809の話をしていて、混乱してしまったということか

62 :ナイコンさん (ワッチョイ 2316-5poS):2020/04/04(土) 16:39:08 ID:GE4r/soz0.net
>>61
>>41とかが6809で語っちゃったから引っ込みつかなくなってるだけだろ
そもそも>>38は新たにDirect addressing modeなら内部RAMにアクセスする機能を付けたらいいんじゃね
って話だからオリジナルの6809のタイミングで語るやつがアホすぎるってこと

63 :ナイコンさん :2020/04/05(日) 04:40:11.50 ID:s0fawVgA0.net
今の技術でという話ならFlash、RAMを1チップ化して512KBの高速SRAM積んで
クロックも500MHzでパイプライン化して1000倍くらい速いの作れるんじゃないの?

64 :ナイコンさん (ドコグロ MM89-5poS):2020/04/05(日) 08:02:18 ID:nPauGQRcM.net
できると思うよ
>>1にも
> 現実的であればマルチプロセッサも全SRAMも高速I/Oもok
ってあるからRAM内蔵もありだしSpartan 6あたりなら512KB程度のRAMは持てるから現実的にも実装可能だし
> ただし現状のPC界を見てもわかるとおり数値的なスペック追求のみでは無意味と知れ。
> お前らの妄想力&創造力に期待する!
問題はこれな

65 :ナイコンさん (ワッチョイ f56a-trDy):2020/04/05(日) 08:44:21 ID:zbDrTz4p0.net
FPGAで8bit CPUや16bit CPUは作られてるんだから、
16bit CPUバイナリ互換な8bit CPUをFPGAで組んで1チップパソコンを作るってなのができるはず
それこそ内部バスまで8bitな80288相当品とかを

66 :ナイコンさん :2020/04/14(火) 21:17:39.58 ID:WB5mWR/T0.net
個人で設計するならば6502か8080が小規模で良い。Z80や6809ですら命令数多くなる。
エミュレーターですら16bit並に製作工数とテスト工数が増えるので難しいだろう。
個人の暇な時間で行う範囲を超える。フルタイムで数人係りでなら可能だが。
ゲーム機のように既存のソフトをテストコードとして再利用するとテストが楽になるが
命令数が増えるとテストするだけでもかなりの工数になるので何もないと厳しい。

>>63,64
難しいと思う。キャッシュとかCPUバスの分離とか。パイプライン化するとなると8bit
世代のCISC命令セットが足を引っ張る。CISC命令セットはそもそもパイプライン化を
前提としていないし、一部はマイクロコードで実装されているから。
強引に進めると結局Intelのように複雑で巨大になる。
Z80のRISC化・パイプライン化でよく改良していたのが川崎のKC80,ASCIIのR800
そしてZilogのeZ80系。
これらは日立や東芝の互換品よりパフォーマンス的に優れていた(中身の設計は見えないが)。

動作クロック上限はバス設計や製造プロセスの問題も絡む。
一例としてHD64180がZ80のバスタイミングを改善したものだが、これは元々Z80が
簡易的にDRAMコントローラを含んでいたため、分離するために64180で再設計した。
Z80ではそこを分離しないとクロックサイクル中に無駄なDRAMリフレッシュが入り
バス効率を下げるだけでなく、単にクロック上げるだけだとDRAMリフレッシュタイ
ミングまで早くなりメモリアクセス速度的に問題が出る。
だから64180ではDRAMコントローラ分離し、命令あたりのクロック数も違う。
同様に再設計するなら高速で動くCPUバス周りとI/Oローカルに分離しないといけない。
ちょっと古いPCですらノース・サウスブリッジで分離してるしARMもバス分離してる。
そこまで出来る人は個人にはいない。

67 :ナイコンさん :2020/04/14(火) 21:34:21.72 ID:WB5mWR/T0.net
川崎のKC80/KC180のZ80互換の一部の製品は高速クロックをサポートするためにCPU
内部に高速のメモリ(スクラッチパッドメモリ)を数十〜百バイト程度だけ搭載していた。
この領域はノーウエイトで動作するため、クロックが高速化してもメモリアクセスに
ウエイトが発生しない。アセンブラ命令のロードストア部にウエイトが発生しないので
スタックポインタなどで使用すると効率が良くなる。
(Cのコンパイラが出力するコードはジャンプ以外に引数などでもスタックフレームを
用いるので一時変数などの処理が改善される)
DRAMは当時遅かったので、SRAMで遅延のない高速スクラッチパッドメモリがあると
ウエイトがないのでクロック動作を改良することができる。
6502だとゼロページ領域を高速メモリに改善する試みはAppleIIのキャッシュの改良
と実装にも見られる。
クロックを高速にする事はメモリ速度も絡むので難しい挑戦になるのではないかと思う。

68 :ナイコンさん :2020/04/14(火) 21:50:03.01 ID:828mRF2O0.net
個人で回路まで設計したCPUだと8080が最後になるんかねえ
Z80だと島もトランジスタの構成を全部見るような状況ではないだろうし

69 :ナイコンさん :2020/04/14(火) 22:21:40.11 ID:nOgG7AJQM.net
別に回路まで設計する必要は無いだろ
個人でVHDL使えばいいだけだろ
FPGAで16core Z80とか作ってる人もいる時代に>>66-67は何を言ってるんだろう…

70 :ナイコンさん (ワッチョイ 067a-AglQ):2020/04/14(火) 22:55:37 ID:jJmbwjnZ0.net
こっちのカススレはバス幅もALU幅も関係ないんだから
8bit命令なんてバイトコード扱いにでもして内部で好きに処理すればいいだろうに
メモリだってゼロページだのスクラッチパッドだのセコイ事言ってないで64KBフルSRAMとか
それこそ数百K〜数MBの内蔵RAMぜんぶノーウェイト化できるだろ
ただおれ個人はそんなものには夢もロマンも感じない

71 :ナイコンさん :2020/04/17(金) 10:19:38.00 ID:Ims/EYl50.net
>>70
お前は何と戦ってるんだ?

72 :ナイコンさん (ササクッテロラ Sp8b-F/E8):2020/04/20(月) 22:18:18 ID:COo1xodVp.net
まだ...やってたの?

73 :ナイコンさん (ワッチョイ de16-0pHp):2020/04/22(水) 01:03:42 ID:UaX2nHBM0.net
コロナで仕事が休みで外出自粛なもんで
SNESにDOS/65が載るかエミュでチマチマいじってて
C64のフォントやパレットを喰わせのハロワ済ませてBDOSベタに乗せて移植開始
って時にふと気になって6502互換モード切り替えのこと調べてたら
セグメントページ0でしか6502互換にならないんだとさ
ページ0はI/Oポートでそこらじゅうメモリーマップが歯抜けなんだよね
物理的に詰んでます 糸冬

74 :ナイコンさん :2020/04/27(月) 10:00:34.44 ID:My1Q1lWw0.net
割込み用ルーチンを置けるのは、ってだけじゃないかな?
>最後に、割り込みがない限り、エミュレーションモードコードはバンク0にある必要はありません。
>セクション6.3.1、6.3.1.1、および6.3.2で述べたように、割り込みはスタックのバンクバイトをプッシュしません(RTIはプルしません)。
>ただし、割り込みが発生しないことが保証されている限り、ゼロ以外のバンク(RESETを除く、それからは戻らないため)の場合、
>ゼロ以外のバンクは、データだけでなくコードにも使用できます。

http://6502.org/tutorials/65c816opcodes.html
Finally, emulation mode code does not have to be in bank 0, as long as there are no interrupts.
As noted in sections 6.3.1, 6.3.1.1, and 6.3.2, interrupts do not push (and RTI does not pull) the bank byte on the stack,
but as long as you can guarantee that interrupts will not occur when in a nonzero bank (other than RESET, since you wouldn't return from that), then nonzero banks can be used for code as well as data.

75 :ナイコンさん (ワッチョイ de16-V+nI):2020/04/27(月) 17:32:11 ID:ygKkR1bX0.net
割り込みを受けるとセグメントページ0に飛ぶrteでメイン処理に戻る予定がページ0から切り替わらない元のバンクに帰らない
って感じっぽいですね(パッと見) 割り込み時点でページ0から帰れない=暴走
てっきり6502モード=セグメント0固定かと 成果物が粗方出来るまで発表しない主義だったのに思いっきりつまずいたので醜態晒して
しまったwヒントありがとうございます>>74

無理やり割り込み使う場合(ページ$7fがOSです
割り込み処理ページ0:
メイン復帰アドレスをバックアップしておくメイン復帰アドレスをページ0割り込み復帰処理に差し替える
65816に切り替えページ7fの割り込み前段処理に飛ぶ
割り込み前段処理:
6502に切り替えOS所定の割り込みフックを呼ぶ(デフォルトrteになってる)
ページ0割り込み復帰処理:
65816に切り替えメイン復帰アドレスをスタックに積む 終了処理にjp
ページ7fの割り込み終了処理:
6502に切り替え ret 割り込み終了

割り込みrteと比較して重いが一応使えないよりマシか
DOS/65自体やアプリが割り込み使わないのであれば禁止したまま走らせてもいいし

76 :ナイコンさん :2020/06/22(月) 01:34:50.87 ID:x+HLKQHe0.net
VHDL勉強中

77 :ナイコンさん :2021/03/09(火) 20:54:35.50 ID:LAAVoeXW0.net
もうちょっと枠を狭めて
CPUはZ80H(8MHz),メモリは64KB(メイン)+64KB(I/O)
の範囲内で「究極のZ80ゲーミングPC」を妄想してもいいかと思う。

78 :ナイコンさん :2022/07/09(土) 21:59:51.58 ID:O78IPSpB0.net
いいね

23 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★