インテル8080などのマニュアル表紙

ホームページへ戻る
NEC μCOM−4、4ビットCPU モトローラ6800、8ビットCPU  Z80、8ビットCPU CP/Mとフロッピーディスク 写真は準備中
6809、8ビットCPU 写真は準備中 インテル8086、16ビットCPU  68000、16ビットCPU CRTコントローラ HD46505
68020、32ビットCPU ザイログZ8000、32ビットCPU  NS32032、32ビットCPU 80386、32ビットCPU
68030、32ビットCPU 68040、32ビットCPU PowerPC603e、32ビットRISC MPC7457、32ビットRISC
FPGA内臓PowerPC

インテル8080のマニュアルの表紙
マニュアルの全部全ページはこちら

インテル8080

インテルが最初にマイクロプロセッサーを出したのは、i4004 というもので、日本の手回し計算機械のメーカーがICを発注したときに、共同で開発した電卓用ICを元にして発展させたものです。その後、この8080の前身となる、i8008が出て間もなく8080になりました。8080Aは、電気的な仕様で改良されて(標準TTL1個分の駆動能力で、1.9mA)より使いやすくなったものです。8080Aに関しては、日本のNEC、三菱などが、機能的に同じものを作り、セカンドソースとして出してきました。ただNECの8080Aは、インテルオリジナルより少し改良されており、つまり回路的バグ(減算後の十進補正が異常)と思われる部分を修正したものだったので、インテルの8080Aソフトがそのまま動作しないことがまれに発生したため、8080AFCというICを後から出しました。FCとは、フルコンパチという意味だそうです。
右の写真は、8080Aが出てきたころ、インテルの8702Aという2kビットの紫外線消去EPROMの、三菱のセカンドソースで、書き込む時に高い電圧と電流が必要で、かなり発熱するので、途中で書き込みを休むか、ゆっくりしたインターバルで書き込みます。この発熱が、「ROMを焼く」という呼称の元になったと思われます。あまり早いインターバルで書くと、ICが壊れることもありました。



マニュアル2ページ目、入出力ピンの説明 全ページはこちら





NEC μCOM−4のマニュアルの表紙

日本電気 4ビットCPU μPD751

世界で初めてのNMOSプロセスのマイコン。インテルのi8008は、PMOSと呼ばれ、1命令20μ秒かかりましたが、μCOM−4は5μ秒で実行しました。時期的には8080より先に出ています。このマイコンは、当時のキャッシュレジスターなどに使われました。このICのシリーズに、μPD454というNMOSのエレクトリック・イレーザブル・プログラマブル・リードオンリー・メモリ(EEPROM)も出ましたが、書いた内容が途中で消えるという不具合が頻発し、多数の在庫が発生したため、(実際は、取り扱い不注意のため、書いた後に静電気などで消えた)メーカーがマイコン入門キットにこのEEPROMを使いました。そのキットを、TK−80と呼び、かなりヒットしました。リンク先の写真は、μPD454を使ったものではなく(やはり途中で消えるクレームがでたらしい。これは、ユーザーが不注意に取り外したりすると静電気で消えるらしい)マスクROM版です。
右の写真は、μCOM−4のファミリーで、上からCPU、EEPROM、RAM、I/Oです。いづれも4ビットで、μPD751のバスに直結できます。μPD454は、取り扱いに注意しないと内容が変わってしまうため、動作しなかったら取り外すという前提で基板を作ります。











モトローラ6800のマニュアルの表紙

モトローラ6800 8ビットCPU

インテルが8080Aを出した後、モトローラが8ビットCPUを出しました。この頃、他にも6502という8ビットCPUも出てきており、アップルUに使われました。6800は、8080と比べ命令体系が整然としており、8080より短く、少しですが高速な処理ができました。また、5V単一電源で動作しました。
上からCPU、I/O、SIO、右下はテキサス・インスツルメンツのEPROM2708(8kビット)。いづれも小豆色のセラミックなので並べてみました。EPROMには、TK−80のようなヘキサキーで操作する、モニタプログラムが入ってます。現在でも実働するバラックセットです。







Z80 

8080を開発したインテル社のメンバーが、スピンアウトして作ったZilog社の、8080上位互換のCPU。8080の未定義命令を拡張して複雑な命令体系となりましたが、8080には無かったインデックスレジスタを2個追加して、アドレス指定が豊富になりました。8ビットCPUの標準と呼ばれるまで普及し、マイクロプロセッサと言えば、Z80という地位を築きました。このZ80を使ったパーソナルコンピュータが各社かだ出され、NECからは、PC−8001が出ました (アップルUに似た形状)
PC−8001では、NECがセカンドソースとして自社のものを使っていましたが、Z80のオリジナルより高速に動作しました。オリジナルでは、5MHzの水晶を付けて2.5MHzで動作し、8080の2.048MHzよりすこし早いという状況でしたが、PC−8001のZ80は、8MHzの水晶で4MHzで動作しました。
右の写真は、上がSHARPのセカンドソース、下が、日立の周辺回路入りのZ80。こちらはかなり後のものです。Z80は、最初は40ピンの互換ICが主流でしたが、次第に周辺回路をまとめてワンチップICにしたものになり、QFPタイプのものまで現れました。どちらも、”B”という名称があり、6MHzで動作することを示しています。下側はやや大きいですが、64ピンあるにもかかわらず、それほど大きくありません。ピンの間隔が狭く、上側の2.54mmピッチの0.7倍(1.778mm)になっているためです。HD64180は物理メモリを2MBまで接続でき、MMU(と言ってもバンク切り替えのようなもの)内臓でした。このICはかなりヒットして、本家のZilogがセカンドソースを出しました。




右の基板に実装した写真は、東芝の周辺回路入り、CMOSのZ80です。ICの捺印から、1994年製と思われます。CMOSなので、ほとんど発熱がなく、密閉した小さなケースに入れても冷却に悩むことはありませんでした。











CP/Mとフロッピーディスク 写真は準備中

インテル8080用に作られたフロッピーディスク操作ソフト。Control Program for Microcomputers の略。セルフアセンブラ(アブソリュート形式のみ)を含み、8080のプログラム開発ができるようにしたもの。ディジタルリサーチ社が開発し、インテルに提案しましたが、採用されなかったため、自社で販売を始めました。移植は簡単で、シリアル入出力、フロッピーディスクのリードライトができれば自作できました。このころのフロッピーは8インチで、片面単密度で、1セクタ128バイト単位のものしかありませんでした。また、ディスケットもIBMフォーマットと呼び、IBMが自社で、大型機のブートローダに使っていたものでした。PC−8001が出たころには、5インチのものもあり、片面単密160kB−−−>両面単密320kB(片面倍密)−−−>両面倍密640kB −−−>両面倍密1MBと容量が増していきます。8インチでは、両面倍蜜で、約1MBが最大、最終でした。5インチでは、NEC機と、IBM互換機で別のものができ、NECで1MB、IBMで1.2MBが最大、最終でした。現在では、8インチ、5インチともに市販されていません。入手もほとんど不可能ですが、5インチではプレミア価格で入手可能なようです。最終的には3.5インチになり、こちらも320kとか640kとか、720kとか、1.2M、1.44Mと容量が増していき、現在では1.44MBのものが生き残っています。NECの98シリーズの3.5インチでは、1.2MBですが、1.44MBのものを、1.2MBでフォーマットすると使えました。
CP/Mには、CP/M−80、CP/M−86、CP/M−68k、CP/M−8000(Z8000用)、などほか、MP/M、MP/M−86など、バリエーションがありますが、よく使われたのは、CP/M−80、CP/M−86、CP/M−68kです。Z8000にもありましたが、ほとんど使われていなかったようです。いずれもMS−DOSがV2.xになるころに、次第に使われなくなりました。







6809 写真は準備中

モトローラがZ80に対抗してだした、新しい8ビットCPU。究極の8ビットマシンと呼ばれましたが、Z80ほどには普及しませんでした。そのため、8ビットで初の本格的マルチタスクOSと呼ばれたOS9も、CP/Mほどには普及しませんでした。というのも、6809が出たころには、インテルが16ビットの8086(8088)をすでに出しており、MSDOSの初期バージョンもでていましたから、「8ビットでは物足りない」という意識の方が先行しました。富士通のFM−8というパーソナルコンピュータが6809を採用し、その後FM−11ではOS9も標準で搭載されましたが、市場の流れはすっかりN88BASICベースのNEC9801になっていました。











インテル8086のマニュアルの表紙

インテル8086 16ビットCPU





モトローラ68000のマニュアルの表紙

モトローラ68000 16ビットCPU

右は、68000を使ったCP/M−68Kが走る試作CPU基板。この基板ともう一枚のメモリ基板でCPU部分を構成し、さらに、8インチフロッピーディスクドライブと、FDC基板でCP/M−68Kの装置になります。基板の下の2個の黒いコネクタが、メモリ基板への接続になり、左上の黒いコネクタが、FDC基板への接続になります。いわゆるCRT表示はなく、シリアルのCRTターミナルを接続して操作します。CRTターミナルはPC9801か、PC8801を使っていました。CRTターミナルは、VT100というのDECのCRTターミナルが定番でしたが、確かPC9801より高かったと思います。

右上が、モニタROMで、2764。その左がSRAMで、4KBあります。68000は電源ONで0番地に書いてある、スタック常数と、プログラムカウンタ値をROMから読み出して走ります。その後ROMのモニタが走り、そこでの操作でフロッピーから、CP/Mのシステムを読み出すローダーを直接読み出して実行すると、CP/M−68Kのプロンプトになります。 CP/Mは、0番地からRAMが実装されていることを想定しているので、電源ONで走るROM領域は、モニタ起動後は、0xFF8000番地がROMの先頭番地に切り替わるような回路になっています。







CRTコントローラ HD46505 ほか

日立が出した、CRTコントローラ。写真の一番上は、改良版のHD46505S。機能はいたってシンプルで、カウンタのかたまりのようなもの。当時、CRTにキャラクタを表示するには、カウンタ用IC、74161などを多数並べる必要がありました。また、一行64文字ならカウンタを直列に並べるだけでよかったのですが、CRTターミナルの一行の文字数は80文字なので、128までのカウンタを途中でクリアする機能などが追加になり、かなりのTTL回路になりました。なぜ80文字なのか、その起源は、どうやらパンチカードの1行の文字数が80文字だったからのようです。

中央の64ピンが、あまり使われなかった高機能のCRTC。1番下は、これもあまり使われなかったインテルのグラフィックアクセラレータ。CRTCとしては、おそらく初めて内部にプロセッサを搭載し、GPUと呼んでもよいCRTCでした。あまり使われなかった理由としては、最大16個のオーバーラップウインドウ機能をハードウエアで実現したものの、内部アーキテクチャーに関して、AMDの特許を侵害しているか否かでAMDとの係争があって、いくつかあったバグがフィックスされるのが遅れたのと、ウインドウ機能がハードウエアによって固定され、自由度が少なかったことがあるようです。グラフィックアクセラレータには必ずある、矩形領域のコピーや、直線描画、円弧描画、楕円描画、ポリゴンの塗りつぶし、など、CPUからのレジスタ設定で実行するのではなく、内部のGPUが、GPUに接続したメモリ(表示メモリと共用)から定数を読み出して、自立的にかつ条件判断しながら描画を実行するという機能がありました。CPUから設定するGPUのレジスタは少なく、その代わり、GPU用のプログラムにほとんどを書いておくという方法で操作しました。GPU用のプログラムをCPUで作ってそれを共有メモリに書き、あとは、GPUに対して、所定番地から実行という手順で操作します。

インテル 82786のマニュアル









モトローラ68020のマニュアルの表紙

モトローラ68020 32ビットCPU

MC68020RC16の表と裏、浮動小数点コプロセッサMC68882RC25。インテルのi80386は、キャッシュを搭載していませんでしたが、MC68020は、わずかですが256バイトの命令キャッシュを内臓し、短いプログラムの繰り返しでは、高速に動作しました。実際、短いプログラムの代表として、「エラトステネスのふるい、SIEVE.C 100回」では、同一クロックのi80386の約3倍の速度が出ました。(80386搭載PC9801RAの16MHzと、MC68020搭載産業用ボードでのテストで、i386では17秒かかったものが、68020では6秒で実行できました)

i80386は、すでにソフト資産では、68020をはるかに上回っており、スピードの追求より、マルチタスク、マルチユーザーの対応でメモリの保護機構のほうが優先され、MMU搭載の方が重要だったようです。キャッシュの搭載は見送られました。このため、セカンドソースメーカーが、キャッシュを搭載した80386を出してきます。当時有名になったのは、Cyrixの486DLCです。Cyrix互換のIC 486と言っても、i386とピン互換なのですが、インテルがすでに486を発表していて、インテルより先にキャッシュを搭載しているというICのネーミングでした。

この頃、ワークステーションメーカーは(SUN、アポロコンピュータ、ヒューレットパッカードなど)、こぞって68020を採用していました。68020はMMUが無かったため、独自にMMU回路を外に付けていました。当時、インテル系はC言語と相性がよくないと思われていたようで、UNIX系のOSは、ほとんどが68020に搭載されました。







ザイログZ8000のマニュアルの表紙

ザイログZ8000 32ビットCPU









NS 32ビットCPU MMU


ナショナルセミコンダクタの32ビットCPUの完全32ビット版。外部バスが16ビットのもの(NS16032、後にNS32016)が先に出荷され、いわゆるマイクロプロセッサの32ビットCPUとしては最初のものと言われています。MMUを搭載していたので、UNIXを搭載したワークステーションに使われたようですが、日本ではあまり見かけませんでした。写真のものは、6MHzで動作しましたが、処理速度はあまり速くありませんでした。外部バスが16ビットのものが、8MHzの68000より遅かったと記憶しています。写真の外部バス32ビット版は、試作基板も作りませんでした。



NS 32ビットCPUのデータシート





インテル80386のマニュアルの表紙

インテル80386 32ビットCPU MMU

右は、インテルi80386と、内部にキャッシュを1kb搭載のCyrix486DLC互換のテキサスのTX486DLC。 ピン互換なので、そのまま置き換え可能ですが、キャッシュはドライバを追加しないと有効になりません。いづれもPC9801RAで使っていたもの。いまでも動作しますが、MS−DOSを使ってみると、その操作性の貧弱さにうんざりします。この386から、インテル系のCPU基板の設計はしなくなりました。
写真のi386は、20MHzで動作しますが、チップには倍の40MHzを供給するので、実際には40MHzのはずです。このチップに供給する実際のクロックと、CPUクロック数との違いは、インテルとモトローラで時々違っており、32ビットが出始めたころでは、インテルでは、供給クロックの半分をCPUクロックと呼び、モトローラでは(68020、68030)チップに供給するクロックそのままを、CPUクロックと呼んでいました。ところが、486と、68040の時代になると、逆転し、25MHzの68040には、50MHzのクロックを供給し、33MHz80486SXには、33MHzそのままのクロックを供給しました。さらに、インテルの486DX2では、クロックの供給は33MHzで、CPUは66MHzと、内部でクロックを2倍にして高速化して行きます。モトローラでは、68060が出ましたが、ほとんど使われなかったようで、ずっとモトローラのCPUを使ってきたマッキントッシュは、68系を見限り、PowerPCへ移行しました。

i486DX2。いわゆるDOS/Vと呼ばれたIBM互換機として最初に買ったもの。Windows3.1がインストールされていました。メモリは8MB実装されていましたが、マザーボードとしては64MBまで可能だったので、最終的には64MBになり、Windows95も動作しましたが、マウスの動きがやや鈍くなりました。386以後CPU基板としてインテル系は設計していないので、マニュアルは持っていません。



モトローラ68030のマニュアルの表紙

モトローラ68030 32ビットCPU MMU

68030はスピード的にいまいちだったので、また、組み込み用途としてはMMUは必要なかったので、サンプルを購入したものの、使うことがありませんでした。写真は入賞品として獲得したワークステーションの、SONYのNWS−1750に使われていた25MHzと、サンプル品の裏側です。NWS−1750は、HDDがほとんど読めなくなり、今ではNEWS−OSは起動しません。

SONYのNWS−1750のHDDは、コントロールデータ製の5インチHDDで、286MBありましたが、4年前はかろうじてNEWS−OSが動作していたのですが、2008年3月に再度電源をいれてみると、起動しませんでした。なんとか、マシンを使える状態にしたいと思い、NWS−1750で検索すると、NetBSDのインストールデータを入手できることがわかりました。68030を使ったSONYのNWSなら、たいてい動作するようでしたので、早速ダウンロードして入れてみました。ところが、NetBSD4.0のインストールフロッピーでは、起動ができず、NetBSD3.1.1に変更すると、インストールできるようでした。NetBSD4.0でインストールできない現象は、メーリングリストにあって、対策されているようなので、最新版を株式会社ドリーム・トレイン・インターネット、東京からダウンロードすると、NetBSD4.0をインストールできました。NWS−1750は、モノクロのビットマップ表示ができ、Xウインドウ対応ですが、NetBSD4.0では、まだ対応してないようです。現在のところ、RS232Cポートを使っての、シリアルターミナルでのみ動作可能です。HDDを換装したのがこれで、中央にあった、磁気テープもすっかり動作しなくなっていたので、取り外しています。モノクロのピットマップは、この基板で表示しており、数個のLSIはあるものの、ほとんどがTTLの回路でした。現在では、これを使って表示できるのは、電源ON後すぐにコントロールCで出てくる、ROMモニタだけです。


NWS−1750




モトローラ68040のマニュアルの表紙

モトローラ68040 32ビットCPU MMU

マニュアルは、MC68040となっていますが、写真のICは、XC68040となっています。XCというのは、通常の使用では問題なく動作しますが、マニュアルのスペックと完全に同一でないという意味で、プログラム的に、パッチをあてる必要があるということらしい。ある特殊な条件で不具合が発生するかもしれませんが、そういう場面に遭遇したことはありません。このICは、浮動小数点を内臓していますが、内蔵していない、68LC040は、LCという名前をそのままパソコンの型名の一部に使われました。 LC-475

68040を使った基板は試作したものの、売り物にはならず、次のPowerPCへと設計変更になりました。無論、完成には1年以上かかったと思います。まずいままでのPGAではなく、QFPという、0.5mmピッチの細いピンがICから出ているので、取り扱いに細心の注意が必要になりました。動作しないとき(基板回路の不具合なのか、ICを壊してしまったのか不明なとき)取り外すと、物理的に足を切ってしまうので、2度と使えなくなりました。



モトローラMPC603eのマニュアルの表紙

モトローラMPC603e 32ビットRISC MMU

試作基板上のPowerPC 603e。セラミックパッケージに、240本の細いピンが四方に出ています。133MHzで動作します。供給するクロックは最大で66MHzまで可能ですが、試作基板では33.3MHzにして、内部で4倍になるようにしています。RISCなので、同じ処理をするのに命令数は増えますが、1クロックで1命令実行するので、キャッシュがヒットすると、68040などと比較するとかなり早くなります。25MHzの68040の2〜3倍にはなったと思います。



















モトローラMPC7450のマニュアルの表紙

モトローラMPCMPC7450 32ビットRISC MMU

右のMPC7457は、7450シリーズ最後?の最速(1.267GHz)のICとなるようです。このICは、外部にL3キャッシュを増設するようになっており、言わば一世代前のアーキテクチャーで、外部キャッシュではスピードに限界があります。このICの内臓L2キャッシュは512KBしかありません。現在では、容量の大きいL2キャッシュを内臓するというトレンドになっており、フリースケールでも、7448(最高で1.7GHz、L2が1MB)とか、メインメモリコントローラも内蔵するタイプの、MPC8641D(Dual Core 1.5GHz)に移行しつつありあます。それでもスピード的には、インテルに完全に引き離された感を否めません。

PowerPC系のCPUチップは、ゲーム機には多用されていますが、L2キャッシュが小さいので、一般的な処理では、Core2Duoなどよりスピードは劣ります。ちなみに、SONYのPS3に使われているPowerPCは、単体ではMPC7457より少し早いかなって感じです。Cellと呼ばれる並列処理機構は、表示画像の演算には適していますが、一般用途では同じようなスピードアップは、ほとんど無理と言っていいでしょう。PS3は、SONYのサイトからLinux対応のサポートファイルをダウンロードでき、比較的容易にLinuxをインストールできますが、このLinuxは、Cellを使ってるのではなく、マスターCPUとして存在する汎用PowerPCをメインに使ってるだけです。Cellを使うには、IBMから無償で開発環境をインストールできるようですが、性能を引き出すプログラミングはかなり大変なようです。性能を引き出すには、アセンブラ類似の関数を呼び出し、Cellのキャッシュにデータを転送するのも、自前でDMAコントローラを制御しないといけないようです。確かにCellは6個まで使えるのですが、ネイティブなPowerPCのコードは、並列処理機構でエミュレートでしか実行できないからです。いわゆる、フリースケールの Altivec 機能搭載のPowerPCが6個使えるわけではありません。
このMPC7457を使ったCPUボードのブロック図です。IBMパソコンのように、いわゆるノースブリッジと、サウスブリッジを、FPGAで設計しました。今までのCPUボードの開発で、一番時間がかかりました。使ったFPGAが少し古いタイプだったので、十分な性能を引き出せませんでしたが、Pentium4の2.5GHzぐらいの性能を出せました。


FPGAに内臓されたPowerPC

ハイエンドのマイクロプロセッサのボード設計では、メモリコントローラにFPGAを使わないと、性能を引き出せません。最新のマイクロプロセッサではメモリコントローラを内臓しているものが出てきていますが、CPUボード設計では、CPU+FPGAという組み合わせになることが多いので、CPU一体型のFPGAが登場してきました。PowerPCを内臓した、XilinxのVirtex2proとか、Virtex4FXなどです。このようなFPGAを使うと、使いたいメモリを自由に選択できますし、CPUを別に載せる必要が無くなり、実装面積を小さくできます。その代わり、CPUの性能はFPGAのグレード内でしかバリエーションが無く、Virtex4では、開発環境EDKのデフォルトで300MHz、最高性能でも450MHzとなってしまいます。写真のものは、最高周波数が、350MHzですから、ハイエンドのPowerPCの性能と比較すると、数分の1ぐらいしか期待できません。








小型デジタル出力カラーカメラを撮り込む回路の製作



ホームページへ戻る

inserted by FC2 system