Transcript CS2-3

計算機システムⅡ
コンピュータの歴史−3
近代
和田俊和
講義計画
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
コンピュータの歴史1
コンピュータの歴史2
コンピュータの歴史3 (←本日)
演習問題
論理回路と記憶,計算:レジスタとALU
主記憶装置とALU,レジスタの制御
命令セットアーキテクチャ
演習問題
パイプライン処理
メモリ階層:キャッシュと仮想記憶
命令レベル並列処理
命令実行順序の変更
入出力と周辺装置:DMA,割り込み処理
演習問題
現代的な計算機アーキテクチャの解説と試験
•
教科書:坂井修一著:電子情報通信学会レクチャーシリーズC−9,コンピュータアー
キテクチャ,コロナ社
•
最終回の試験によって成績評価を行う.5回以上欠席で不合格とする.
計算機アーキテクチャ
命令の実行過程
コンピュータを「作る」から「使う」へ
• コンピュータはできてしまった.
• では,他にどんな課題が残っていたのか?
– 速いコンピュータ
– 小さいコンピュータ
– メモリの大きいコンピュータ
– 安いコンピュータ
– 便利なコンピュータ
– 壊れにくいコンピュータ
– 並列コンピュータ
日本のコンピュータと互換性の指向
• MUSASINO-1(電電公社1957年)
• TAC(東京大学・東芝1959年)
• 大阪大学のコンピュータ(未完
成)
これらは,EDSACと全く同じ命
令体系を採用.プログラムライ
ブラリをそのまま利用することが
目的.
• PC-1(東大1958年)
当時大学院生の後藤英一が発明したパラメトロンを使
用.EDSAC-1の命令体系を設計し直す.PC-2の後,富
士通から商品化される.真空管やトランジスタよりも
動作が安定していたため.
パラメトロンとは
• 1954年に東京大学高橋秀俊研究室の大学院生
であった後藤英一によって発明された論理素子.
• LC共振回路を,共振周波数のほぼ2倍の周波数
2fで変動させると,周波数fの振動を励起するこ
とができる.後藤はこの発振に0かπの2つの位
相があり,2進数をその
位相で表示できることに
気づき,最初の研究報告
を1954年に発表している.
構成要素の変遷
• メモリ:水銀遅延管,磁気ドラム,ウイリアムズ・キ
ルバーン管,Selectron
⇒コアメモリ(1950前半から)⇒SRAM,DRAM
• Switching素子:リレー
⇒真空管,パラメトロン(1950後半まで)
⇒トランジスタ(1957)⇒IC⇒LSI⇒VLSI
試験機から商用機へ
• 意外なことに商用機は古くからある.
1948年に発売されたIBM 604 Electronic
Calculating Punch (ENIACが1946年完成)
– 1400本の真空管,50KHzのクロックで動作.
– パッチボードの配線で40ステップ(後に60ステップ
に増加)のプログラムを作ることができた。
コメント:これは計算機というよりはパ
ンチカードシステム.国勢調査等の
集計作業等に用いられた.その後
の,計算機の民需は主に集計作業
に関連するものが多かった.
パンチカードシステム(PCS)とは?
IBMのPCS
1935年末のシェア:
作表・会計機85.7%、分類機86.1%、窄孔機81.3%
窄孔カード年間販売高約30億枚
IBMの戦略
• IBM-701(1952) ,650,702(1953)真
空管式の発表
• パンチカードの計数作業をするタビュ
レーティング(表集計)マシンのユーザ
にコンピュータを浸透させていった.
• ソフトウエア(FORTRAN等の高級言語
のコンパイラをつけた)
• 浮動小数点演算も行えた.
• 何よりもの強みは,パンチカードリーダ
である.
• 但し,この段階でOSはなかった.
• IBM650は1954年の初出荷から生産
終了の1962年までに2000システム以
上が製造された。
IBM650の競合相手UNIVAC-1103
• 海軍は Engineering Research Associates 社に高
性能な暗号解読用マシンの設計を依頼した. プ
ロジェクト名は Task 29、コンピュータ名は Atlas II
• 1952年、Atlas IIは特別な命令をいくつか削除す
るという条件で商用化が許可された.商用バー
ジョンが UNIVAC 1103 となった. 機密保持のた
め、レミントン・ランド社はこのマシンの来歴を知
らずにいたという
• 高性能&高価格 → 売り上げたった数十台
コメント
• IBMはシステム650によって,コンピュータ利用者
の裾野を広げ,マーケットを開拓していった.
• 1955年,GEとノースアメリカン航空社がFORTRANモ
ニタを作成.これは,FORTRANで書かれたプログラ
ムを機械語のプログラムにコンパイルし,実行する
までを連続的に処理するプログラムであり,現在の
オペレーティング・システム(OS)の最初と見なされ
ている.
• この時期以降,ソフトウエアの重要性が強く意識さ
れ始める.
高
級
言
語
プログラムの作成から実行まで
コンパイラ
実行プログラム
プログラムテキスト
ア
program example(output);
セ
ン
var i, sum : integer; main:
ブ
.globl PASCALMAIN
begin
ラ
.type PASCALMAIN,@function
PASCALMAIN:
sum := 0;
.globl program_init
for i :=1 to 100 do sum
:=
sum
+i;
.type
program_init,@function
program_init:
writeln(sum)
pushl %ebp
movl %esp,%ebp
end.
subl $4,%esp
call FPC_INITIALIZEUNITS
movw $0,_SUM
movw $1,_I
.balign 4,144
.L7:
movswl _SUM,%eax
movswl _I,%edx
addl %eax,%edx
movw %dx,_SUM
cmpw $100,_I
jge .L6
incw _I
jmp .L7
リ
ン
カ
457f 464c 0101 0001 0000 0000 0000 0000
0002 0003 0001 0000 8080 0804 0034 0000
b43c 0000 0000 0000 0034 0020 0002 0028
0005 0004 0001 0000 0000 0000 8000 0804
8000 0804 ab00 0000 ab00 0000 0005 0000
1000 0000 0001 0000 b000 0000 3000 0805
3000 0805 0420 0000 0e00 0004 0006 0000
1000 0000 0000 0000 0000 0000 0000 0000
8959 89e3 40c8 e0c1 0102 83e0 f8e4 f8a3
053d 8908 3c0d 0534 8908 481d 0534 9b08
e3db d99b 002d 0530 3108 e8ed a9d0 0000
...
0000 0000 000b 0000 0001 0000 0006 0000
8080 0804 0080 0000 aa80 0000 0000 0000
0000 0000 0010 0000 0000 0000 0011 0000
0001 0000 0003 0000 3000 0805 b000 0000
0420 0000 0000 0000 0000 0000 0004 0000
0000 0000 0017 0000 0008 0000 0003 0000
3420 0805 b420 0000 09e0 0004 0000 0000
0000 0000 0010 0000 0000 0000 0001 0000
0003 0000 0000 0000 0000 0000 b420 0000
001c 0000 0000 0000 0000 0000 0001 0000
0000 0000
オペレーティングシステム
通常のOSはこの部分
の機能を提供する。
OSが無ければ、コン
ピュータは非常に扱
いづらいものになる。
トランジスタの発明
•
1947年 点接触型トランジスタ:ベル研,バーデーン,ブラッデン
•
1948年 接合型トランジスタ:ベル研,ショックレー
•
1952年 テキサス・インスツルメンツ (TI) 社が半導体ビジネスを開始
•
1952年 モトローラ社 がSolid State Electronics研究所を設立
•
1954年 トランジスタラジオの開発(テキサス・インスツルメンツ社)
•
1955年 IBM608トランジスタを用いた計算機
トランジスタラジオの発売(東京通信工業(現ソニー))
•
1956年 Solid State Silicon スイッチの開発(ゼネラル・エレクトリック社)
•
1957年 トランジスタ式電子計算機の開発(電気試験所) ETL MARCⅣ
トランジスタの発明
• 1947年に米国AT&Tベル研究所
のバーデンとブラッデンが点接
触型トランジスタで音声信号を増
幅する実験に成功した.
• 1948年に同じくベル研究所の
ショックレーが接合型トランジス
タを発明した.
• 1948年にトランジスタの発明を公
表し、1956年にはこの発明によ
り3名がノーベル物理学賞を受
賞した.
トランジスタとスイッチング機能
• 点接触型
• 接合型
電流が
流れると
++ ーー ++
++ ー ++
++ ーー ++
E
• 電界効果
トランジスタ
(FET)
導
通
す
る
B
C
電圧が
かかると
導
通
す
る
論理ゲート
V
V
X
A
V
X
X
A
B
A
B
論理ゲートの種類
NOT
NAND
NORの別表現
AND
OR
NOR
NANDの別表現
NAND,もしくはNORがあれば、他の
素子はすべて実現できる。
スイッチング素子によるメモリ
RSフリップフロップ(反転入力)
S R Q Q
S
R
Q
Q
0
0
1
1
R=1,S=1のときの状態は、その
直前の Q Q によって決まる。
0
1
0
1
1
1
0
?
1
0
1
?
禁止状態
1957あたりまでが,第1世代と呼
ばれている
第2世代(1958~)は,半導体型コンピュータの世代,
プログラミング言語そしてOSの開発も進む
IC(Integrated Circuit)の発明(1958)
但し,ICを使ったコンピュータの開発が行わ
れたのは,第3世代,この6年後であった.
• 1958年にテキサス・インスツルメンツ社に入社したキルビー
は,抵抗,トランジスタ,コンデンサなどの部品を1つずつハ
ンダで取り付けて回路を構成するのではなく,それらの部品
が果たす機能を全部まとめて一緒に一つの電気回路として
製造する研究を行っていた.
• キルビーの発明とほぼ同時期に、フェアチャイルド社のロ
バート・ノイスも「プレーナー特許」と呼ばれるICに関わる発
明をした.ただし特許出願は、ノイスの方が半年ほど遅れた.
キルビーとノイスのどちらがICの基本特許であるかをめぐっ
て裁判が何年にもわたっておこなわれたが,現在では両者
をあわせてICの基本特許とされている.
IBM 7070,7090(1958)
• トランジスタの全面採用.
• OSは,プログラムの読み込みからコンパイ
ル,実行,結果の印字までの一連の操作
が自動化できるIBSYS.但し,言語は
FORTRAN,COBOL,SORT/MERGE, MAPアセン
ブラなど.
• 周辺機器はDMA方式の先駆けとなるデー
タチャネル方式を採用.磁気テープ,カード
リーダ,プリンタ,等を接続可能
国産計算機(ETL MARK III-V)
• MARK IIIは点接触型トランジスタであったため故障が多かった.
• MARK IVは故障を抑えるために接合型トランジスタが用いられた.
• MARK IVをベースに国産計算機が多数作られた.
– 日本電気 NEAC-2201 (1958年), NEAC-2202 (1959年), NEAC2203 (1959年)
– 日立製作所 HITAC 301 (1959年), HITAC 501 (1960年)
– 北辰電機製作所 HOC 100 (1958年), HOC 200 (1960年)
– 松下通信工業 MADIC-1 (1959年)
• MARK V:電気試験所での業務用計算機→日立に製作を依頼
– 日立製HITAC102のプロトタイプ
• やまと:ETL内での機械翻訳の専用機
文例:“I like music.” → “ワレガ オンガクヲ コノム”
国産計算機(ETL MARK IVから)
• 日本のコンピュータは,計算機本体のトランジス
タ化という点では先んじていた.
• しかし,各社から発表された商用コンピュータは,
操作性を軽視した試作機的なものという評判で
あったらしい.
• 主には,ソフトウエアの不備,周辺機器が少ない
などの問題点があり,市場での競争力はあまり
なかった.
私見
• 技術の問題というよりは,コンピュータ市場の開拓
を他社に任せていたことの問題.
ソフトウエアの開発(1960前後)
• プログラミング言語
– ALGOL 研究用
ハードウェアの特性とは独立に抽象的
なアルゴリズムを記述する事を目指す.構造化プログラミン
グ,再帰呼び出し,引数の参照渡し,等. Pascal等,多くの
派生言語が生まれた.
– COBOL 事務計算用 今でも一部で使われる.帳票の作成が
行いやすいように設計されていた.
– LISP 人工知能用 MITのジョンマッカーシーによるλ計算用
の言語.後に人工知能研究に使用され,専用計算機も登場.
• OS
– CHIEF UNIVAC III用: 時分割によるマルチプログラミングOS,
ジョブコントロールも可能.但し使いにくい.
第3世代へ
ICの利用(1964~)
IBM-360
IBM-360の影響力
• System/360 は様々なソフトウェアを入れ替える事
により,多種多様の業務に対応できるのが特徴(汎
用機).「360度,様々な業務に対応できる」という事
で,360 と付けられた.
• System/360は,IBM をメインフレームの巨人メー
カーへと育て上げた.
– 当時のメインフレーム市場における IBM の強さを「白雪
姫と7人の小人」とたとえているものもある.1967年頃に
は、大型コンピュータにおける米国メーカーの出荷高の
7割以上を IBM が占め,他社を圧倒してメインフレーム
市場をほぼ独占する.他の7社は,UNIVAC,Honeywell,
GE,CDC,RCA,NCR,バロースで,数%ずつのシェアを分
け合った.
ハードウエア
• 発明されたばかりの集積回路は信頼性や可
用性に不安があったため,IBMはハイブリッド
集積回路を使用した.
• 個々のトランジスタやダイオードと基板に
プリントされた抵抗などで回路を構成し,
プラスチックか金属でカバーを施した.こ
れをモジュールとして実装を行った.
• メモリはコアメモリ
• 360/85には,はじめてキャッシュメモリが積ま
れる
• セグメント方式とページング方式によるメモリ
管理
ソフトウエア
• ファームウエア
– マイクロプログラム方式の初の商用化
→過去の計算機との互換性の確保
• OS(CP-67)
– 時分割(TSS)方式による複数プログラムの同時実行
– 仮想機械による,複数OSの同時実行
互換性の意義
• System/360のアーキテクチャやアプリケーション・プログラムの互換
性は、2009年現在のSystem zまで引き継がれている.IBMはこの時
から,自社コンピュータ全てで同じ命令セットが動作するようにした.
これによって顧客は小さなシステムから、必要に応じて上位機種に
アップグレードすることが可能となった.
• さらに多くの機種では以前の機種をエミュレーションするオプション
も提供していた。これにより従来のプログラムもそのまま新しいマシ
ンで動作させることができた。
• これらの柔軟性により、導入にあたっての障害が小さくなった。
• ゼネラル・エレクトリック以外の競合他社は機種間の互換性がなく,
顧客の要望に応えるために個々の機種が高性能過ぎて高価になり,
導入できないことが多かった.
• System/360はこの市場の成り立ちを全く変えてしまい、企業は低価
格で安心して下位機種からリースすることができた.
IBMの勝因整理
PCS時代から続く販売方法
• ①レンタル販売中心
– 中古市場を形成させない。
– 継続的売上
– 継続的な顧客とのコミュニケーション
• ②中央処理装置と周辺装置、ソフトなどのバンドル販売
• ③すべて自社で提供
– インタフェースを公開するが、たびたび変更することで周辺機器
メーカーの参入を阻止
• ④処理量が増えればレンタル料が増える。
– 初期費用はかからない。
• ⑤ソフトウェア・ロックイン
– 一度つかんだ顧客は離さない。
ミニコンの登場:PDP-8
• 汎用計算機,初期版は1万6千ドル,
トランジスタ.
• ソフトウエアの互換性を保ちつつ,
ハードウエアの異なる変種を多数リ
リースし,30万台と最も普及した.
• 初期のPDP-8の入出力は、フロント
パネル、紙テープリーダー、テレタイ
ププリンタ、そしてオプションの紙
テープパンチャーで構成されていた.
その後、磁気テープ、RS-232Cなどに
よるダム(dumb)端末、パンチカード
リーダー、固定ヘッド式磁気ディスク
装置などが追加されていった.最終
的にはフロッピーディスクやハード
ディスクが一般化した.
電卓の登場(大学新卒初任給2万)
• 1964 シャープ
• 1964 キャノン
CS-10A (53.5万円)
キャノーラ 130 (39.5万円)
電卓の登場
• 1965 カシオ
001 (38万円)
• 1966 ビジコン社 161 (29.8万円)
• 1969 シャープ QT-8D (9.98万円) 米国
ロックウエル社製LSI使用
第4世代(1970~)
LSI,マイコンの時代へ
ビジコンとインテルが開いた
マイクロプロセッサの時代
• 日本のビジコン社からの要請により、同
社の嶋正利とインテルの共同による電卓
用演算装置の開発が始まった.元々のビ
ジコンの設計では、専用の12種類の半導
体チップが必要とされたが、インテルの
技術者テッド・ホフ は、「複数桁の演算を、
1桁の演算の反復で置き換える事、外部
機器の制御回路を、ソフトウェアによる制
御に置き換える」という汎用計算用素子 嶋はその後INTEL社に移り
を提案、これがマイクロプロセッサの原点 8008の開発も担当するこ
とになる
となった。
広がるマイクロプロセッサ
• 当初の契約では、このチップはビジコ
ンに対する専売となっていたが、チッ
プの汎用性に気付いたインテルが他
への販売を希望し、ビジコン側に契
約金の一部を支払うことで,チップの
販売権を得て、 1971年11月15日に
4004として出荷が開始された。
• 最高動作周波数 741KHz。ただし、命
令アドレス出力に3クロック、命令読
み出しに2クロック、命令実行に3ク
ロックの計8クロックを要する。
Intel 4004を使った電卓
• 4004を使った電卓ビジコン141pf
価格は159800円
ROMを変えると
機能が追加でき
る.
ポケット電卓へ
• ビジコン社は4004の開発と並行して米国の新
興企業モステック社とワンチップ電卓用チップ
MK6010の共同開発を行った.
• これを用いた電卓:LE-120A
が開発され,89800円で販売さ
れた.
電卓はどうなったか?
• 1973年までに,下記のメーカが参入.
シャープ,キヤノン,カシオ,東芝,ビジコン (日本計算
機),鳥取三洋電機,ソニー,日立,リコー(大井電気),
内田洋行,日本コロンビア,栄光ビジネスマシン,立石
電機,松下通信工業,コクヨ,ブラザー,シチズン,タイ
ガー計算機,SEIKO,日本通信工業,ゼネラル,YHP,
MONROE,ダイエー,シルバーリード
• 1973年には,1万~2万程度にまで価格が下落.
• 安いものであれば1万未満の電卓も登場
• ビジコンも倒産
ビジコンの倒産
• 同社は主要取引先である
三菱電機がコンピュータ
事業から撤退したことや、
電卓の価格の激烈な低下
が同社の収益基盤であっ
た手動式計算機部門を直
撃したこと、ニクソンショッ
クによる円高で輸出が激
減したことなどによりビジ
コン社は1974年2月に倒
産した。インテルに4004の
販売権を渡さなければ...
1974年3月1日朝日
360の後継機IBM-370の話
• 互換性を保ったまま,高速化.
– System/360から24ビットアドレッシングを引き継
ぎ上位互換性を保ち、System/360と同様に互換
性のある複数モデルを提供し,ユーザーの資産
(プログラム、周辺機器など)を保護した.
• 主記憶は半導体メモリ
• キャッシュメモリの標準的使用
• 仮想記憶の完全サポート
(サイズは16MB)
• 128bit浮動小数点演算
IBM-370の影響(小人が7人から5人に)
• System/370の成功により、GEは撤退した.
• System/360の互換機を製造していたRCAも撤
退,しかし 日立製作所はSystem/370の互換
機を開発した。
• また1975年にはIBMから退職したアムダール
が富士通と提携してプラグコンパチブル型
(IBMのオペレーティングシステムを稼働させ
る)のSystem/370互換機を発表した。
マイクロプロセッサブームの到来
•
•
•
•
•
•
1973 インテル社 i-8080 8bit MPU
1973 NEC社
μCOM-4 4bit MPU
1974 モトローラ社 MC6800 8bit MPU
1975 ザイログ社 Z-80
8bit MPU
1978 インテル社 8086
16bitMPU
1979 モトローラ社 MC68000 16bitMPU
パソコンやソフトもそろい始める
•
•
•
•
•
1975 イムサイ社
1975 MITS社
1975 ビル・ゲーツ
1976 アップル社
1976 NEC社
i-8080使用パソコン発売
ALTAIR
i-8080用 BASIC
APPLE-I
TK-80
他社OS上で動作する
パソコンビジネス
• 1977 アップル社 APPLE-II
•
コモドール社 PET2001
•
タンディラジオシャック社 TRS-80
• 1978 シャープ
MZ80K
• 1979 NEC社
PC8001
• 1976 CP/M 8bit OS
• 1980 CP/M-86 16bit OS
• 1981 MSDOS 16bit OS
8bit時代のOS:CP/M
• 1972年、ワシントン大学 より計算機科
学の博士号を受けたゲイリー・キル
ドールは,海軍大学院大学の教授を
務めその間にインテル4004、8008用
の高級言語PL/Iを実装し,これをPL/M
と名付けた。その開発環境の研究も
行い、それがCP/MというOSになった。
• 1976年、CP/Mをインテル社に持ち込
んだが相手にされず、同年、開発の
継続と販売のためデジタルリサーチ
社を設立した。
16bitOS
CP/M→CP/M-86 (ゲイリー・キルドール)
• IBM
QDOS(ティム・パターソン)
MSDOS(ビル・ゲイツ)
(Quick-Dirty OS)
$50,000で売却
レポート課題
これまでに提案されてきた主記憶装置
を列挙し,それらの動作原理を分かる範
囲で簡潔に述べなさい.