スレッド作成 : 石頭さん
(1999/3/17 17:08:14)
なぜこのスレッドがないのかフシギだ。
世界初の4ビットCPU、4004から
目下開発中の64ビットCPU、Mercedに
至るまで、好き勝手に議論をどうぞ。
あ、もちろん、68系やPowerPCもOKよ。
素人として
よいこ さんのコメント
(1999/3/17 23:28:49 - E-Mail)
えーっと、ウチは未だに9821を2台、現役で活用しています。1台はペンティアムを銅線で倍率変更した150MHZ、もう一台は外部クロック60MHZのIDT ウィンチップ2 240MHZです。
このCPUはクロックアップ耐性が非常に弱く、外部クロック66MHZでも安定動作しません。
CPUの換装をして感じた事は、CPUよりもメモリーやグラフィックボードの方が重用だってコトでした。今度は安くてはやいDOS/V機に挑戦します。
今時のCPU
てぃーろく さんのコメント
(1999/3/18 02:20:39)
メーカー製のパソコンでも最低ラインはセレロン366MHz。
あいや、恐ろしい時代になったもんですなぁ。
SONYなんかVAIOの新機種にさっそくペンティアムIII500MHz
のっけて30万ちょいで出すという・・・。
速けりゃいいか?CPU
風来坊 さんのコメント
(1999/3/18 11:52:30)
速いことはいいことだ。
もちろん、ワープロや表計算なら、
Pentiumどころか486いや386
あたりでも良さそうだ。(^^;)
しかしそれはワープロや表計算が
基本的にはシンボル操作だからで
あるからである。
計算機が扱う仕事は計算からより
一般的なシンボル操作へ、そして
今や画像や音声や映像の領域に
どしどし進出しようとしている。
これこそCPUのスピードやメモリの
容量という「量」が生む「質」の転換だ。
「量」の増大はただそれだけでメデタイ
のみならず、新たな「仕事」を生む点
でより重大な意義を持つ。
#ところで、ネットの転送速度は
#もっと早くならないものか。
#インターネットで動画を楽しむ
#時代はいつのことやら。(^^;)
CPUのパワー
β さんのコメント
(1999/3/18 13:43:08)
最近のインテル系CPUのパフォーマンス向上は凄まじい様に
思えますが、PIIにしろPIIIにしろOSやアプリがP5時代のもの
であるかぎり、クロック上昇分程度しか実働パフォーマンスが
上がっていない様ですね。
80年代後期のターボF1がエンジンパワーほどにタイヤがもた
なかったように、やはりメモリ速度が足枷なのでしょうか?
僕のマシンは非MMXのP5-166・32Mなのですが、HDDを交換
しただけでずいぶんと速くなった気がしました。今度はメモリー
を増やそうと思ったのですが72PのSIMMが安くないので悩みま
す。ビデオも未だ2Dだし
CPUの不満を感じるのはまだまだ先のような気がします。一番
重いソフトがフォトショップなのですが、それでもまぁ満足してます。
みんなPCに何をさせているのでしょうか。3Dゲームのためだけに
パワーアップさせているとしたら空しいですが。
もはや「計算」機ではない
風来坊 さんのコメント
(1999/3/18 18:15:16)
>みんなPCに何をさせているのでしょうか。
エヘへ・・・一番多いのがVIDEO−CDの再生だったりしますね(^^;)
最近新しいノートマシンにしました。DVDがついているって奴です。ソフトデコードでVIDEOを見ましたが、セレロンの300ならまあグーですね。266だと多少カクカクするようですよ。
もちろん、ハードデコードのボードを入れれば、もっと遅いマシンでもなんとかなります。N社のボードはMMXの166からいけるようなこといってます。
ま、邪道といえば邪道ですが、今やインターネットで画像をかき集めるなんていう使い方はザラですよ(通信&画像表示機)。
そのうち、転送速度がMbpsになれば、ムービーだっていけるでしょう。(映像表示機)
ますます「計算機」じゃなくなりますね。いやはや。(^^;)
なるほど
β さんのコメント
(1999/3/19 13:55:53)
なるほど、ムービー等のデコードやエンコードには確かにCPUパワーを
使いますね。
最近のCPUは連続したデータやメモリの演算能力を重視しているみたい
なので、そのうちDSPと区別が無くなるのでしょうね。
re;もはや「計算」機ではない
[たけ] さんのコメント
(1999/3/23 18:20:09 - E-Mail Web)
インターネットで楽しんだり、 DVD で映画を見る、
なんて使っていると、実は CPU というものが 足し算やら比較しながらセッセと働いているなんて、
まるで想像できませんよね。
この先、どこまで進化するんでしょうねぇ。
どんなに進化しても、結局プログラマレベルでは機械語を見てデバッグするんですよね。(^ー^;
結局、機械語?
風来坊 さんのコメント
(1999/3/24 11:10:05)
>どんなに進化しても、結局プログラマレベルでは機械語を見てデバッグするんですよね。(^ー^;
ああそういえば、世間一般の人はWindowsより下の話はあまり御存知ないでしょうが、ちょっと詳しい人になれば、その下にはまだMS-DOSなんぞがあって、さらにその下にはBIOSなんてのがあるのを知ってます。あのBIOSってのは、今でも機械語(アセンブラ)でガシガシ書いてるんですか?。
Re.機械語
いーないーな さんのコメント
(1999/3/24 13:35:05 - E-Mail)
MS-DOSからWINを起動したとき、Windowsの下にあるのはVxDでその下にはデバイスドライバがあるというのが本筋か?但し、ファイル操作関連においてはDOSのサービスルーチンを使用していたような...。でもWindowsつったっていろいろあるし、バージョンもまちまちなので断定はできませんが。ただしメモリのテーブルなどは(IDTやGDTなど)MS-DOSが作成してからWinを起動しているので、まあ、IPLじゃないけどローダみたいなもんか?
>BIOSってのは、今でも機械語(アセンブラ)でガシガシ書いてるんですか?。
VxDなどはアセンブラで書かれているとおもいます。BIOSはROMの容量が十分で速度的に問題がなければCでもアセンブラでもよいのでは。ただCだと関数間でジャンプができないですね。ちなみに僕はアセンブラで書いてました。BIOS。
>どんなに進化しても、結局プログラマレベルでは機械語を見てデバッグするんですよね。
VCもバージョンが若かった頃はかなりコンパイルにバグがあって、混合モードやリスティングファイルでアセンブラコードを調べたものです。その時の癖で、いまでも変な動きをすると(落ちたりとか)すぐにMAPとアセンブラコードを調べてしまいます。でもそれが一般的かどうかはわかりませんが(^^;
機械語でばぐ
[たけ] さんのコメント
(1999/3/24 15:59:10 - E-Mail Web)
>その時の癖で、いまでも変な動きをすると(落ちたりとか)すぐにMAPとアセンブラコードを調
>べてしまいます。でもそれが一般的かどうかはわかりませんが(^^;
いや、そういうもんです。
とりあえず、Cソースレベルでデバッグが楽チンなのでやってみてから、
結局 Asm モードでデバッグしたり。
>MS-DOSが作成してからWinを起動しているので、まあ、IPLじゃないけどローダみたいなもんか?
Win98 では確認してませんが、(同じだとおもうけど) Win95 のファイル処理を高速にするには、
MS-DOS の CONFIG.SYS にある FILES を増やせば早くなります。(ディスクバッファね)
結局、DOS で動いているのね。(^ー^;
結局、フォン=ノイマン?
風来坊 さんのコメント
(1999/3/24 16:00:10)
>ただCだと関数間でジャンプができないですね。
そんなことしちゃダメですよ。(^^;)
ありゃどうせスタックに積んでるんでしょ。
勝手にポンポン別の関数の中に飛ばれちゃ元に戻れないよ。
ワタシは大学時代はPrologやLISPをいじくり、職場ではじめてCを覚え、出向で何の因果か機械語を勉強したというコマッタ経歴の持ち主です。昔は書き易いから繰り返しより再帰を愛好しましたが、よく考えるとあれはスタックをベラボウに消費してるのよね。見かけだけ良くしても、フォン=ノイマン型の呪縛から逃れられないのね(^^;)
君はビジコン社を知っているか?
石頭 さんのコメント
(1999/3/24 16:30:19)
・・・ってほどのこともないけど
一応見つけたのでお知らせします。
4004に関するページもあります。
re;4004
[たけ] さんのコメント
(1999/3/24 17:37:52)
トップページにある CPU ダイの画像、4004なんですよね。たぶん。
>職場ではじめてCを覚え、出向で何の因果か機械語を勉強したとい
>うコマッタ経歴の持ち主です。
別スレッドでも書きましたが、
68000 を覚えてから、のちに PDP-11 に触ったとき、「おなじジャーン!」とか思いました。
PDP-11 の思想が 68000 に受け継がれているんですけどね。本当は。(^ー^;
おなじジャーン!その2
いーないーな さんのコメント
(1999/3/24 18:42:40 - E-Mail)
ぜんぜん違う話ですが、JR-100を使用後、FM-7,8801やMSXなどさまざまな8ビット機を経て9801を所有したとき、TEXT-VRAMのアクセスが「同じジャーン!」って思いました。
要するに、IOポートアクセスして、コントローラに頼んだり、BIOSに頼んだりしなくてもメモリにST(MOV)でバイトデータかけば画面に字がでるという...。当時、print文で表示するよりpoke文で表示するほうが速かったし、テキストスクロールのROMルーチンなんてなかったから、32バイト前(JR-100はテキスト画面が横半角32文字)のデータをロードしてストアする方法で縦スクロールさせてました。
98で同じことができて感動したのですが、BIOSコールを知って「おやまあ」てなことに..。
ゼンゼン違う話2
風来坊 さんのコメント
(1999/3/25 09:44:34)
>要するに、IOポートアクセスして、コントローラに頼んだり、BIOSに頼んだりしなくてもメモリにST(MOV)でバイトデータかけば画面に字がでるという...。
え〜と、ビデオアクセラレータ改めビデオカードになってから、昔の原始的な方法が駆逐されちゃったわけですか?。
(ゼンゼン分かっていなかった奴^^;)
Re.ゼンゼン違う話2
いーないーな さんのコメント
(1999/3/25 13:19:43 - E-Mail)
いまは(というか80286以降プロテクトモードでCPUが動作しているとき...Windows95起動中で16ビットアプリケーションが動いてないときはそうですね)I/Oポートそのものがアプリケーションでは直接アクセスできないのでどうしても、APIに頼らざるを得ないというわけです。コールゲートといわれるとこからVxDを呼び出して、I/Oをアクセスしてもらうという、結構手間のかかることをしているわけですが、I/Oの排他制御等をするためには仕方のないことですね。
で、ビデオアクセラレータなどはアプリからAPIに、APIからVxDにVxDからデバイスドライバに(またはBIOSに)と司令が渡っていき、そこで初めてカード類のチップに指示を出す...と認識しています。昔の原始的な方法(I/OポートからVDPを操作する)等はできるけどそのルーチンはCPUの動作モードが特権モードのときじゃないと動かず(I/Oアクセス不可のため。たしかアクセスすると例外割り込みが発生すると思います)、そのためにはWindows起動前に(DOS起動状態のときに)いろいろ(IDTと呼ばれる昔の割り込みベクタみたいなのとか、セレクタと呼ばれるレジスタの初期化など)準備しなければならなかったりします。
いろいろ面倒な世の中になりましたねぇ。
モード
風来坊 さんのコメント
(1999/3/25 16:50:05)
ん、話しが回りまわってCPUに戻ってきたぞ。(^^;)
要するに、CPUのモードの問題ですな。
これはインテル系に特有なことですか?
(Macとかいじったことないからなあ^^;)
特権モード
[たけ] さんのコメント
(1999/3/26 00:54:07 - E-Mail Web)
特権モードで仮想 86 マシンが構築できるおかげで、DOS を残したまま Windows 95 が動いているん
ですよね。 きっと。
いーないーなさんが詳しそうですね。
68000 系も 80386 系にならって、仮想 68000 モードとか持てたらとても楽しかったのにな〜。
X68030 もあんな半端なマシンで終わらなかっただろうに。
特権?仮想?
風来坊 さんのコメント
(1999/3/26 13:06:09)
ん、なんかタノしそうだな。(^^;)
ところで、68系でWindowsって
実現できないんでしょうかねえ?
Re.仮想86モード
いーないーな さんのコメント
(1999/3/26 21:30:03 - E-Mail)
仮想86モードはCPUのi386以降のCPUの動作モードのひとつで、I/Oやメモリ管理はプロテクトモードと同じ、アドレスの表現方法はリアルモード(8086)と同じ、というモードです。従来のDOSプログラムで、セグメント:オフセットという表現をしている部分が仮想86モードでもそのまま使用できるのでDOS窓でもDOSアプリが動くのですが、I/O管理はプロテクトモードと同じなのでI/O操作をすると落ちます(^^;
そのため、ゲームみたいにバシバシI/Oを叩いたりとかしてるのはDOS窓じゃ動かないので「MSDOSモードで再起動する」でリアルモードでDOSを立ちあげなきゃならないわけですね。
で、Win95の場合はWin95が立ち上がった時点で「リアルモードでなければ動かないプログラム」が存在しない場合はもうDOSとは「おさらばよー」という事みたいです。但し、古いデバイスドライバ等を使用している場合は(WindowsではなくDOSがドライバを持っている場合)DOSを仮想86モードで動かして、DOSにBIOSを呼び出させる、という方法を取っています。
このBIOS呼び出しは例のint命令ですが、これをWinがキャッチして(というか必然的にIDTという割り来みテーブルからWindowsのVxdが呼び出される)そこから本当のBIOSルーチンが呼び出されます。Windowsは特権モードで動いてるので、I/Oを操作しても全然平気なわけです。
ところで、68系のWindowsって、Human68Kってのはダメ?個人的に好きなんですけど(^^;
re;68系でWindows
[たけ] さんのコメント
(1999/3/27 01:51:57 - E-Mail Web)
ごく簡単な実装であれば、UNIX 系で API トランスレーターが実在しますね。
X-Window 上の VINE とか、あと、SunOS も何か持ってませんでしたっけ。
この方法だと、行儀の良い、限られたアプリケーションしか動きません。
限られた 386 CPU エミュレーションと、Windows API を X に変換する作業ですね。
デバイスドライバまでとなると、Mac の SoftWindows のようにハードをエミュレート
しなければなりません。
こちらは、完全な 386 CPU エミュレーション+周辺ハードのエミュレーションですね。
↑VINEって、
[たけ] さんのコメント
(1999/3/27 01:55:53)
Linux intel版 とか、マシンそのものが 386 マシンの為の物ですね。
CPU エミュレーションじゃないですね。(^ー^;
Windows for 680x0
Saiey さんのコメント
(1999/3/29 09:53:21)
やっぱりSX-Window!・・・ってのはだめでしょうか?(^^;
それはとりあえずおいといて、PowerPCやAlphaにWinNTってありますよね。だから同じように68000にもWinNTを移植することはできるはずですけど、移植したところでIntel版のバイナリは動かないですから、ソフトがなくて悲しい状態になりそうです。
FX!32も移植すればいいのか・・・。(^^;
結局、機械語2
風来坊 さんのコメント
(1999/3/29 10:37:52)
>PowerPCやAlphaにWinNTってありますよね。
あ、あるんだ。やっぱり。(^^;)
>移植したところでIntel版のバイナリは動かないですから、
ところで、Intelが今度出すとかいうMercedは今迄の86系アーキテクチャ
から脱却するようなこといってますが
これってバイナリ互換でないってこと?
どうなるんでしょうねえ、一体。
やっぱりエミュレーションでしょう
いーないーな さんのコメント
(1999/3/29 13:11:49 - E-Mail)
今までのはみーんなエミュレーションで動かすのではないでしょうか?チップが飛躍的に早くなればエミュレーションのためのオーバーヘッド分を相殺できるはず。過去のコードは過去の環境で動いていたものなので、32ビットまでのパフォーマンスが維持できていればとりあえずOKだと思います。
確かNTの乗っているALPHAチップのサーバなんかも86コードのアプリをエミュレーションで動かしていたのではなかったでしたっけ?非常にあいまいな記憶なんですけど。
Alphaマシン
[たけ] さんのコメント
(1999/3/29 15:50:21 - E-Mail Web)
たしか、BIOS レベルでも x86 エミュレーションしていますね。
そのココロは、 WindowsNT が起動する前に、ビデオカード等を初期化するのに、カードに乗っている
ROM が x86 コードで書かれているからです。
かっこいいですね。
NT for Alpha
Saiey さんのコメント
(1999/3/30 09:25:54)
BIOSでもエミュレート!!それは知りませんでした。すごいですねぇ。
で、IntelバイナリのNT用アプリをAlphaマシンで動かした場合の話ですが、AlphaのNTでは、FX!32ってソフトが裏でAlphaネイティブにコンパイルしながら実行してくれて、なおかつ、そのコンパイル結果をディスクに保存してくれます。次に実行したときはそのAlphaネイティブになった物を実行するので、使っていくうちにだんだん処理速度が上がっていくとか、なんとか。という話を聞いたことがあります。
エミュレーション、とはちょっと違うのかな?
FX!32?
風来坊 さんのコメント
(1999/3/30 11:03:08)
エミュレーションは、なんか「チカラワザ」って感じだけど、実行しつつ裏でコンパイルってのは、ヒネリがあるね(^^;)。でも一気に全部コンパイルしないのはなんで?
そうそう
いーないーな さんのコメント
(1999/3/30 13:01:46 - E-Mail)
>コンパイル結果をディスクに保存してくれます。次に実行したときはそのAlphaネイティブになった物を実行するので、使っていくうちにだんだん処理速度が上がっていく
そうそう、その記事呼んだ記憶があります。2年くらい前のアスキーじゃなかったでしたっけ?あれ、日経バイトかな?ALPHAチップがx86をエミュレートするってのは、x86命令(機械語)をALPHAの機械語に翻訳して実行することだと思うので、どんなプログラムでも実行出来るんですね。(I/Oに依存しなければ)
Windows2000
ma3 さんのコメント
(1999/11/19 19:18:58)
インテル専用のOSになってしまいましたね。>NT
Re:FX!32?
MZK さんのコメント
(2001/03/31 02:55:34 - Web)
初めまして。
#うわっ、丁度年前の記事への超亀レスっ!
>エミュレーションは、なんか「チカラワザ」って感じだけど、実行しつつ裏でコンパイルっ
>てのは、ヒネリがあるね(^^;)。でも一気に全部コンパイルしないのはなんで?
えと、どこかで読んだ事を記憶を頼りに書きます。
まず、コンパイルにはそれなりに時間がかかるので、全てをコンパイルしようとすると大量に
時間を消費してしまい、また、コンパイル結果を保存する場所も大量に消費してしまいます。
そこで、最初は完全にエミュレーションのみで実行し、同時に裏でソフトウェアのコードの
どの辺りがどれぐらいの回数実行されているのかを計測(プロファイリング)して、裏で
何回も使われているコードから順にコンパイルしてその結果を使用します。(コンパイル結果
はディスクに保存される。)
大抵のソフトは何回も使用されるコードは全体の20%ぐらいなので、このような事を行なう
事で全部コンパイルすること無しに全部コンパイルするのと同レベルの性能が出るわけです。
あと、使っているとだんだん速くなっていくのは、プロファイリングの結果を積算していく
ので何回も使っていると、良く使う機能などのコードがコンパイルされるので、
早くなるのだと思います。
パソコン歴7年ですが・・・
CYAN さんのコメント
(2001/11/24 23:44:34 - E-Mail Web)
はじめましてです。
パソコンはじめて7年もたっちゃいました・・・
いやぁ・・・パソコンの進化・・・・特にCPUのクロックの進化って凄いですね・・・・。一年でクロック2倍になってるんですから・・・。
いまPen4の1.7GHzCPU使ってますけど・・・
一年経ったらPen4の3,4ギガ出るらしく、しかもクロックあたりの計算速度も上がってるとか。
40万もかかったこのバイオも一年したらどうなってるでしょ〜ね・・・(RX-72KV9)
自作パソコンは友達に頼まれて作った時以来、まったく作っていません。(Pen3現役時代)
ちなみにPC98-FXも健在!!!!(←覚えてる人はどのくらいいるかなぁ?)
「CPU (1)」へ続く。