究極の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
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者