68k v.s. x86 Round 4 [無断転載禁止] [無断転載禁止]©2ch.net

1ナイコンさん 転載ダメ©2ch.net (ワッチョイ cf1d-Nx9W)2016/06/24(金) 09:45:30.740

16Bitパソコン時代のMPU/CPU 68kとx86を語るスレです。
68020,386以降の32BitやZ8kや658xxの話題もOKです。

過去スレッド

68k v.s. x86 Round 3
http://hanabi.2ch.net/test/read.cgi/i4004/1458450955/

68k v.s. x86 Round 2
http://hanabi.2ch.net/test/read.cgi/i4004/1455196631/

68K v.s. x86
http://hanabi.2ch.net/test/read.cgi/i4004/1220728356/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

395ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 04:28:19.120
95年はWindows 95の年とともにPentiumの年だった
Windows 95がプレインストールされたパソコンにはPentiumが搭載され
486パソコン用には486からPentium 83MHzに差し替えられる
Pentium Overdriveが3万5千円くらいの当時では低価格で販売された
PentiumマシンにはPCIバスが使われ、
それまでの486のバスの規格をそのまま使ったローカルバスは一気に廃れた

396ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 04:41:24.750
AMD64が出てなかったらx86の64bit化は3年以上遅れてただろうな
x86パソコンで64bit Windowsがプレインストールされ始めたのは2010年頃
Windows Serverは2008年に出たWindows Server 2008が最後の32bitのWindows Serverになった
AMD64が出てなかったらもっと遅れてただろうな
AMD64版のLinuxも安定しだしたのは00年代終わりごろ

IntelはIA-64を推進してて、x86の64bit対応は後回し
IA-64を推進してた手前、x86の64bit対応を進めるわけには行かなかった
AMDはIA-64に移行されてしまったら互換CPUを作れなくなるので
AMD64はAMDにとって背水の陣だったんだよな
結局、IA-64はHPのHP-UX搭載のサーバでしか相手にされなかったようだが

397ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 04:55:47.940
x86はARMのThumb-2のようにx86と似たような機能の命令をもっと効率よくデコードできるように
64bitでは命令フォーマットを変えるべきではあったな
x86の命令体系はプレフィックスバイトばかりで非常にデコードしにくくなってるからね
最初の1バイト目を見ただけで命令の長さやフォーマットが決定するようなものに変えるべきだった

ARMは64bitで命令を一新したが32bitと全く異なる命令というわけじゃなくて
32bitと64bitを同時に実装しても無理の出ない範囲での変更に留めて移行に成功した

AMD64はもしAMD64が普及しなかった場合、AMD64の実装コストが負担になることを恐れて
最小限の変更に留めたんだろうけどな

398ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 05:09:41.370
AMD64の設計者は元DECの人
Windows NTも元DECの人たちが中心になって開発された
元DECの人間同士で人脈もあったんだろうね
だからマイクロソフトはx86の64bit拡張としてAMD64を採用した

399ナイコンさん (ワッチョイ e914-nu9H)2017/10/29(日) 05:12:20.300
win64はシステムフォルダはSystem32、64bitバイナリにもxxxx32.dllという名前のままで手抜き極まりない設計。
AMDはMSの手抜きしたい衝動を旨く利用してamd64を設計し勝利したのだ。
x86が互換性重視で勝利し続けてたのを忘れて、市場が見えないRISC技術者の口車に乗って
インテルはIA64という愚行をしてしまったのだ。

400ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 06:40:39.810
>>399に同意

結局、μOPsに変換して実行し、
尚且つ内部でμOPsをキャッシュして再利用してる今のx86のようなマイクロアーキテクチャなら
よほどおかしな命令セットでなければどんな命令セットでも一緒だからね
重要なのは回路設計で如何にして設計費用を回収するかという方が重要
ある程度エコシステムが確立したものだと互換性維持が最重要視される

401ナイコンさん (ワッチョイ 99be-0QAE)2017/10/29(日) 08:36:48.270
>>390
>32bitネイティブな環境がほしいだけならTOWNS買うのが一番安かっただろうにね
1990年10月まではその通りだが同月末にKMC(京都マイクロコンピュータ)がPhar Lap
互換のDOS-EXTENDER EXE386評価版をリリースした時点で状況は変わってるよ。

この時期にはFM-Towns Userが中心になって開発された移植版GCC(通称Towns gcc)が
既に存在していたのでFM-Towns以外にも急速に広がるものと見られたが、1ヶ月後の11月末に
開発グループから自主企画のGNU CD-ROMが販売されるまでの『GCCのBBS間転載禁止』
宣言が行われ、PC-VANやASCII等では大炎上,反発が広がりNIFTY以外のBBSではUserが
離反する形になってしまった。

しかも皮肉なことにこの後91年2月にアメリカでDJGPPがリリースされ、それが国内に
入って来て4月末にはPC-9801に移植されBBS間で転載された。
(移植者は実はPC-VANでの炎上時の批判者の一人)

GNU CD-ROMは当初春頃の予定だったが夏までリリースがずれ込みその告知が
されたのとほぼ同時期にソフトバンクのCマガジン誌が2周年記念としてDJGPPの掲載を
発表、FDで配布して一般的な知名度を確立させ、両者はこの後93年ぐらいまでは並存状態になった。

まあTowns gccとDJGPPの関係を見ると結構どろどろした黒歴史を見ることが出来るよ。
(特にCマガが出た直後のNIFTYとか)

402ナイコンさん (ワッチョイ 89c5-20SA)2017/10/29(日) 11:36:38.610
>>389
さすがにPentium時代だとローエンド鯖での使用に耐えられる下限には入った程度じゃなかったか。
PentiumPro時代でも、互角に近い戦いができる性能を手に入れたとはいえ置き換えまではいかなかったし。

>>393
その頃のHPはすでに、次期CPUの独自開発を諦めてItanium開発に社運をかけてた時代のような?
その一環として他社より先駆けてWinNTのワークステーションを積極的に出したとかじゃないの?

Win95時代になってWindows対応ゲームが一斉に〜 とはいっても、本格移行は97から98年頃になってからでしょ。
当初はWin対応版も出すけどまだDOS版メインって感じで、よくて両対応、まだまだDOS専用も多かった。

Win95 OSR2からWin98あたりにかけての時期が本格的な転機で、Win95の初期は、まだまだだったと思うよ

>>395
486マザーボードでもVLじゃなくPCIを積むのが主流になってVLバスが消えた頃だったかな。
その直前までは、PentiumマザーボードでもVLバス搭載モデルが少なくなかったから、ホントに一気に変わったね。
(本来は486のCPUバスを単純延長しただけのようなVLだけど、PentiumにVLバスを使わせるための変換用チップセットが出回ってたんだよね)

403ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 11:39:13.970
32bitの環境がx86で身近になったのが1995年のWindows 95からなんだな、やっぱり
Visual C++ 4.0のStandard版は当時の開発環境としては高くなかったし
Win32が扱えない人でも32bitネイティブアプリをお手軽に開発できるDelphiの32bit版が1996年に出てる
Win32のアプリ開発も簡単なアプリ作るくらいならそれほど難しかったわけじゃないし
プリエンプティブなマルチタスクとスレッドが使えるようになったのでかなり便利になった

404ナイコンさん (ワッチョイ 89c5-20SA)2017/10/29(日) 11:42:13.260
>>399
IA64で失敗した頃までは、Intel自身も少なからぬ数の失敗作品を世に出してきたじゃん。
i860とかi432とか、いろいろとさ。

それに当時はまだ、RISCへの切り替えを進めないと負けるかもという懸念がIntel側にあってもおかしくなかった時代だ。
結果だけ見てIA64を貶すのは考えものだよ。

>>400
μOP変換を前提にするなら、内部アーキテクチャをIA64にして実名零セットはx64なんてのも可能と言えば可能だし、
逆に熱湯にIA64命令用デコーダ付けて両互換CPUとかも可能ではあっただろうな。
実際には出なかったけど。

405ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 11:48:23.500
Windows 3.1用のゲームは3×3EYES 吸精公主を買ったなぁ
Win GとVideo for Windowsで動作するやつ
Windows 3.1用のゲームは当時はめずらしかった

VMware上のWindows 98でも起動オプションを正しくしていして起動すれば動くw
当時、16bitの開発環境としてはBorland Cの3.1とDelphi
32bitの開発環境としてはVisual C++ 4.0 Standardを持ってた

406ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 12:00:13.600
Borland C++ 3.1はPC98用だったけど
試してみたらWindows 3.1用のアプリのコンパイルとIDEを使うだけならVMWareのWindows 98でもできる
TurboDebuggerは起動するとフリーズするけどw
簡単なWindows 3.1アプリを作ってコンパイルしてみたらWindows 98上で動いたw

407ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 12:32:30.790
X68000用のシャープが無料公開したCコンパイラのint型は32bitなんだよね
結局、Windows 95が出る前にお手軽に32bitプログラミングができたのはX68000だったんだな

408ナイコンさん (ワッチョイ 89c5-20SA)2017/10/29(日) 12:35:48.120
Win3.1の追加用のサブシステムWin32sつかってんでしょ、Win95との互換性は最初からあったはず

と思ったが違った、16bit用のか。
まあWin95自体が、できるだけWin3.1用アプリも修正ナシに動くよう努力して作られたと言うし、非互換部分をわざわざ使おうとしない一般アプリは動くものだったんだろうな

>>407
X68000はフリーウェアのGCC使ってたからXCについてはよく知らないんだよねぇ

410ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 12:42:40.150
>>409
>>401の発言見るとTOWNSがいまいち盛り上がらなくて
X68000が盛り上がってたのはコンパイラの問題もあったんだね

411ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 12:54:52.730
DOSエクステンダー使ってるのもハードを直接いじるようなプログラミングは大変そうだ

412ナイコンさん (ワッチョイ c18c-CTXj)2017/10/29(日) 15:02:28.320
アドレス・データーバスのbit数とか相応の性能とかいうのを差し引いてプログラミングスタイルだけ見れば
68000は扱いやすい32bit CPUって内容だったしね
性能は8086よりは良い位だしモトローラ自身16bit CPUとして売ってたから32bitだと強弁する気は無いけど

413ナイコンさん (ワッチョイ 89c5-20SA)2017/10/29(日) 16:14:40.000
モトローラが68020を出すときのソフトウェアアーキテクチャ拡張をもっと最小限に抑えつつ68000との互換性を可能な限りの範囲で維持しようと努力してたら、
もしかしたらもう少し違った展開もあったかもしれないよなあ

さすがに2010年代まで生き延びることはないにせよ。

414ナイコンさん (ワッチョイ 99be-0QAE)2017/10/29(日) 17:20:33.400
>>410
コンパイラの問題というより開発グループの方針の問題。

当時の状況は非UNIX環境で初めにgccの移植に成功したのがX68K版gccで
1989年にリリースされておりXCの置き換えとして使われていた。
Cマガ1991年3月(ソフトバンク)のRMS(Richard.M.Stallman)のインタビュー記事の掲載と一緒に数回に
亘って配布され、また活用研究として連載もされ、その後記事をまとめた物が書籍になっている。

FM-Townsでの移植はそれに追従するように試みられ、早くもTheBASIC90年1月号(技術評論社)には
gccの記事が確認されており、結構早い段階でフリーソフト配布団体JUG-CP/Mや
技術評論社関連企業のビレッジセンター直営店とかで販売配布されていた。
(これ以外にもgcc移植グループの記事は関連雑誌に掲載されるなどしている。)

このような状況下で突如の配布制限宣言が行われた。
(長文なのでUploaderを指定してくれたら当時のBBSログからの当該メッセージをUpするよ。)

415ナイコンさん (ワッチョイ 13ba-X7g4)2017/10/29(日) 17:47:02.650
>>389
> 21世紀に入ってもまだPenPro鯖が運用されていた組織は珍しくない程の名CPU。
Pentium Proは1995-1998に発売されてる
サーバー買っちゃったら5年程度は最低使うから21世紀でも使ってるのは当たり前
名CPUとかアホすぎる

416ナイコンさん (ワッチョイ cb3d-haA8)2017/10/29(日) 18:57:28.530
1997年後半に触ったWindows NT4.0の2CPUのサーバは既にPentium IIだったなぁ

417ナイコンさん (ワッチョイ e914-nu9H)2017/10/30(月) 04:21:05.130
面白い話だな。X68KとTOWNSは先を進んでた。

だが違うんだよ。過去を切り捨てただけなんだよ。だから誰もついて来なかったんだ。

先進的だったマイコンはAmigaだったよ。
プログラマのドリームマシン。

419ナイコンさん (ワッチョイ c18c-CTXj)2017/10/30(月) 12:19:30.150
憧れていただけで触ったことは無いけど
最近ネットとかで調べるとamiga凄いよね
あの時代にあの内容とかオーパーツじみてる

TOWNSではBSDの移植が頑張っていたな。
当時の学校系のコンピュータ部になら1台位は貸し出していたな。
大学だとニフティの課金は無料だったよ。

421ナイコンさん (ワッチョイ 89c5-20SA)2017/10/30(月) 19:56:01.750
BSDの移植はX68000にもあったことはあったが、やっぱりMMUナシってのはネックだったのかなあ?

freeBSDじゃなくnetBSDが移植されてた気がする

422ナイコンさん (ワッチョイ c18c-CTXj)2017/10/30(月) 20:18:48.790
X68030のCPUをMMU付きのやつに交換することで動きましたよ > NetBSD
X-Window systemを動かすためにピンを1本断絶させたり
書籍+CD-ROMの形で販売もされました

423ナイコンさん (ワッチョイ 99be-0QAE)2017/10/30(月) 20:31:03.770
>>414
ログの抽出が完了したのでUploaderに上げた。

配布制限告知文が
https://www.axfc.net/u/3858386

それで発生したPC-VAN炎上記録が
https://www.axfc.net/u/3858387

共にDLKeyはgccです。

あとこの炎上を受けて書かれたと思う開発者のコメント文が
TheBASIC 91年3月号に掲載されているのでPDFをUPすることも
考えたのですがさすがに書籍のUPはまずいと判断して見送っています。

この辺の一連のごたごたでTowns GCCは事実上NIFTY限定となってしまい、
その影響かとは思われるがDJGPPやEMX(OS/2ベースのDOS-EXTENDER,DOSでも使用可)
が現在でもVectorとかで入手できるのにTowns GCCは辛うじて個人HPで保存されている
という形で状態になっている。

>>420-421
Townsでの移植はBSDではなくLinuxだったと思うけど。
X68030のBSDはMPU交換必須。
まあMPU交換をしないですむMINIXの移植例もあったはず。

424ナイコンさん (ワッチョイ 413d-ix91)2017/11/03(金) 12:43:08.330
FreeBSDならPC98用もあったな
もう、その頃には日本では68000系のCPUは完全に勢いをなくしてたのでは?
PC98、DOS/Vでは完全な32bitのWindowsのWindows NT3.5が1994年に出たし
DOS/VやPC98では486が一般的になって68030のX68030では性能では太刀打ちできなかっただろうしね
MacintoshもPowerPCに移行したのもその頃だったはず

425ナイコンさん (ワッチョイ 413d-ix91)2017/11/03(金) 13:02:07.880
Power Macintosh 6100が1994年に出てる
DOSのゲームに興味がなく、尚且つ16bitのWindows3.1が嫌な人はMac買ってたんじゃないかな
Power Macintosh 6100は価格もMacintoshとしては手ごろで結構売れてたはず

>>424
1994〜1998年頃ってアマチュア界でX680x0めちゃくちゃ勢いがあったよ

427ナイコンさん (ワッチョイ 3dc5-lboT)2017/11/03(金) 13:57:34.330
freeBSD(98)の本格リリースって2.2.1あたりだっけ? 97年か98年あたりかな?
さすがにそのころにはX680x0はかなり末期だよなあ。Oh!Xのムック版移行よりあとか

PowerMacはNT3.5と同じく94年だよな
freeBSDの98移植じゃない本家が本格稼働したのも94年リリースの2からだっけ。(リリース1は93年だけどライセンス問題で配付できなくなったし)

428ナイコンさん (ワッチョイ 413d-ix91)2017/11/03(金) 17:30:32.960
DOS/V限定なら1993年に出たOS/2 2.11がそれなりに普及した32bitOSだったな

429ナイコンさん (ワッチョイ ed14-Q/5A)2017/11/04(土) 06:24:18.880
>>426
その勢いを100としたら、DOS〜Winの勢いは1億ぐらいなんだよ。

430ナイコンさん (ワッチョイ 413d-ix91)2017/11/04(土) 12:02:55.160
Windows 95が出て何もかもが変わった
それまでのx86の最大の欠点であった16bitモードのセグメントの64KBの壁が取り払われ
また、Windows 95の時代はPentiumが主流になり性能面でもRISCに対抗できるようになった
486ユーザー向けにもPentium Overdriveという486や486SXと差し替えできる
83MHzのPentiumが3万円くらいで販売された

プリエンプティブなマルチタスクとスレッドが使えるようになって
尚且つ、TCP/IPが標準装備になりLANが普及した
Windows 3.1までは多くの欠点を持ちながら仕方なく使ってた部分もあったが
そういう欠点がなくなりUNIXやMacintoshがあこがれの存在ではなくなったな

431ナイコンさん (ワッチョイ 3dc5-lboT)2017/11/04(土) 13:22:15.520
いちおうWin3.1でもWin32sというサブシステム使えばWin95互換の(どっちがどっちに互換かは知らんけど)32ビットアプリ作れたけど

432ナイコンさん (ワッチョイ ed14-Q/5A)2017/11/04(土) 13:56:01.930
別に憧れてないから。日本のソフト業界のほとんどはPC98、DOS向けにソフト開発されてたから。
むしろメモリ空間だのマウスだの、ハード環境だけが自慢でソフトがないX68K、Macがなんとも哀れで惨めに見えた。

433ナイコンさん (ワッチョイ 413d-ix91)2017/11/04(土) 15:26:46.050
Windows 95がDirectXをサポートしてWindows対応ゲームが増えたので
PC98のメリットがなくなってやっていけなくなりNECも98NXというDOS/V機に切り替えちゃったな
すべてがWindows 95で変わった

434ナイコンさん (ワッチョイ 413d-ix91)2017/11/04(土) 19:45:43.970
80年代後半から90年代前半、PC-98やDOS/Vが使いにくかったのは
286の設計の悪さが原因
286が68000のようにレジスタを32bitにして
16MBのメモリをリニアに使えるように設計してあれば何の問題もなかった
286はトランジスタを134,000個も使ってるのにあの状態
68000の倍くらいのトランジスタ数
386は32bitなのに275,000個しか使ってない

435ナイコンさん (ワッチョイ 3dc5-lboT)2017/11/04(土) 21:59:18.150
98NXが出たのも97年か98年あたりだったろ

436ナイコンさん (ワッチョイ ed14-Q/5A)2017/11/05(日) 09:02:51.110
>>434
市場はまだ速い8086を求めていた。386が出てもDOSソフト全盛時代が続いたから
32bit化してもほとんど使われなかった事実をそろそろ認めないとな。
あそこでIntelが過去を切り捨てて完全32bit化してたら
同じスタートラインで68Kにも勝機はあったかもしれないな。

437ナイコンさん (ワッチョイ 413d-ix91)2017/11/05(日) 18:53:53.090
>>436
386を搭載したパソコンは100万円くらいしたからな
普及するわけがない
そうではなくて、68000のような32bitもどきの16bit CPUに需要があったんだよ
だからX68000やAmigaなどが出たわけ
286が68000のようにレジスタを32bitにして16MBのメモリをリニアに扱えるような仕様だったらよかった
あくまで16bitCPUとしてね
PC-98の場合、PC9801VM2で既に640KBのメモリをフル実装してる
8086の1MBのメモリ空間では足りないから苦肉の策で
バンク切り替えメモリみたいなEMSメモリが出たわけだしね

438ナイコンさん (ワッチョイ 8d3d-VJWC)2018/01/24(水) 07:16:46.260
X68000のBASICのX-BASICのInteger型は32bit
C言語のXCのint型は32bit
68000そのものは16bitCPUだが
BASICやC言語を使うユーザから見ると32bitパソコンのように使えたわけだ

68000そのものもレジスタは32bitでメモリからのロード、ストアは32bitでもできたし
加算、減算、シフト、ローテートも32bitで演算できた
乗算、除算が16bitのみで32bitの乗算、減算が用意されてなかっただけ

439ナイコンさん (ワッチョイ 8d3d-VJWC)2018/01/24(水) 07:37:21.900
しかも、x86のリアルモードやプロテクトモードの16bitセグメントにあった68KBのセグメントの壁も無かった
x86で広く使われてたMS-DOSはリアルモード、
Windows 3.xはアプリ側はプロテクトモードの16bitセグメントで動作していたため
32bitの386や486が普及しても16bit由来の64KBの制限に苦しめられた

440ナイコンさん (ワッチョイ d5ba-GP+B)2018/01/24(水) 18:28:57.630
Win3.1には32bit拡張があってWin32s ってサブシステムを追加で入れたらWin95用のと同じバイナリを動かせた
(Win95でもそのまま動作させることが可能なWin32s用バイナリを作れたと言うべきか)
superPI benchがこのWin32sバイナリだな。いまでも広く使われてるけどさ、最初はWin3.1で動いてたはずだ

441ナイコンさん (ワッチョイ 25ba-9dyC)2018/01/24(水) 21:47:55.630
>>440
win32sはwin32のサブセットだから足りないapiが山ほど有って、win32s用に書かないとまず動かない。

442ナイコンさん (ワッチョイ 8b76-rgA5)2018/01/27(土) 04:46:59.460
今16bit環境でWin32s用に書いたものは今後Win32環境に持って行っても動きますよ、って話だから
ものの主客が逆だな

443ナイコンさん (ワッチョイ 13ba-rgA5)2018/01/27(土) 17:45:07.990
いや、440に書いたときにも
>(Win95でもそのまま動作させることが可能なWin32s用バイナリを作れたと言うべきか)
と訂正入りで出したじゃん

Win3.1時代のもふくめて16bitコードで書いたものはx64Windowsでは動かないけどWin32s用のなら(使ってるAPIしだいだけど)いまでも動く可能性があるってだけ

444ナイコンさん (ワッチョイ 8714-fPTX)2018/01/28(日) 03:11:46.550
hpのスキャナが3.1でも動きますと言われて買ったのにwin32s絡みのエラーで動かなかったな。

445ナイコンさん (ワッチョイ f784-T3WU)2018/02/17(土) 10:40:52.230
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
―――――――――――――――――――――――――♪

新着レスの表示
レスを投稿する