Slide 1

Slide 1 text

むかしの RISC、むかしの むかしの RISC、むかしの Unix Unix orumin (@kotatsu_mi) 1

Slide 2

Slide 2 text

Self-introduction Self-introduction orumin (@kotatsu_mi) 去年度まで学生してました 2014 年くらいからずっと unikernel やってた 社会に魂を売った 2

Slide 3

Slide 3 text

RISC のお話 (1/n) RISC のお話 (1/n) 3 . 1

Slide 4

Slide 4 text

RISC のお話 (1/n) RISC のお話 (1/n) CPU の ISA の類型 命令セットアーキテクチャ;Instruction Set Architecture CISC v.s. RISC 3 . 1

Slide 5

Slide 5 text

RISC のお話 (1/n) RISC のお話 (1/n) CPU の ISA の類型 命令セットアーキテクチャ;Instruction Set Architecture CISC v.s. RISC 1981 年ごろ Berkley RISC-I ( Prof. David A. Patteson ら) MIPS ( Prof. John L. Hennesy ら) 3 . 1

Slide 6

Slide 6 text

RISC のお話 (1/n) RISC のお話 (1/n) CPU の ISA の類型 命令セットアーキテクチャ;Instruction Set Architecture CISC v.s. RISC 1981 年ごろ Berkley RISC-I ( Prof. David A. Patteson ら) MIPS ( Prof. John L. Hennesy ら) 3 . 1

Slide 7

Slide 7 text

RISC のお話 (1/n) RISC のお話 (1/n) CPU の ISA の類型 命令セットアーキテクチャ;Instruction Set Architecture CISC v.s. RISC 1981 年ごろ Berkley RISC-I ( Prof. David A. Patteson ら) MIPS ( Prof. John L. Hennesy ら) 3 . 1

Slide 8

Slide 8 text

RISC のお話 (1/n) RISC のお話 (1/n) CPU の ISA の類型 命令セットアーキテクチャ;Instruction Set Architecture CISC v.s. RISC 1981 年ごろ Berkley RISC-I ( Prof. David A. Patteson ら) MIPS ( Prof. John L. Hennesy ら) ACM A.M. Turing Awards, 2017 3 . 1

Slide 9

Slide 9 text

RISC のお話 (2/n) RISC のお話 (2/n) 3 . 2

Slide 10

Slide 10 text

RISC のお話 (2/n) RISC のお話 (2/n) 複雑なアドレッシング、可変長の命令、市場の要求に答え肥大化 していく命令の数々…… 回路が複雑化し、設計も困難に 3 . 2

Slide 11

Slide 11 text

RISC のお話 (2/n) RISC のお話 (2/n) 複雑なアドレッシング、可変長の命令、市場の要求に答え肥大化 していく命令の数々…… 回路が複雑化し、設計も困難に RISC は複雑な命令を用意せず命令長も固定長 レジスタも用途を固定しないレジスタを大量に用意 回路がシンプルにしやすい 3 . 2

Slide 12

Slide 12 text

RISC のお話 (2/n) RISC のお話 (2/n) 複雑なアドレッシング、可変長の命令、市場の要求に答え肥大化 していく命令の数々…… 回路が複雑化し、設計も困難に RISC は複雑な命令を用意せず命令長も固定長 レジスタも用途を固定しないレジスタを大量に用意 回路がシンプルにしやすい 各企業「もしかしてウチの用途に専用のプロセッサを自前で設計 できるのでは?」 3 . 2

Slide 13

Slide 13 text

RISC のお話 (3/n) RISC のお話 (3/n) int square(int num) { return num*num; } 3 . 3

Slide 14

Slide 14 text

RISC のお話 (3/n) RISC のお話 (3/n) x86_64 RISC-V push rbp mov rbp, rsp mov DWORD PTR [rbp-4], edi mov eax, DWORD PTR [rbp-4] imul eax, eax pop rbp ret addi sp,sp,-32 sd s0,24(sp) addi s0,sp,32 mv a5,a0 sw a5,-20(s0) lw a5,-20(s0) mulw a5,a5,a5 sext.w a5,a5 mv a0,a5 ld s0,24(sp) addi sp,sp,32 jr ra 3 . 4

Slide 15

Slide 15 text

マイクロプロセッサの増加 マイクロプロセッサの増加 MOS テクノロジー、ザイログ、インテル、モトローラ この他マイクロプロセッサを作って売るところが増える 4

Slide 16

Slide 16 text

マイクロプロセッサの増加 マイクロプロセッサの増加 MOS テクノロジー、ザイログ、インテル、モトローラ この他マイクロプロセッサを作って売るところが増える 4

Slide 17

Slide 17 text

例:Acorn 例:Acorn 英国で教育用コンピュータを製作 このために Acorn RISC Machine が生まれる 紆余曲折を経て現代の Arm® に 5

Slide 18

Slide 18 text

例:MIPS 例:MIPS 学術用途に留まらず、 ベンチャーが立ち上げられ一般に販売 SGI に買収され 64-bit 化やマルチコア化を達成 64-bit 化、SGI 買収、マルチコア化という順でした。ご指摘感謝します 3DCG のレンダリングファームになる UNIX® ワークステーションに トイストーリー、ジュラシックパーク…… ゲームコンソールなどでも採用 NINTENDO64、PlayStation® シリーズ 6

Slide 19

Slide 19 text

他の著名なもの 他の著名なもの Sun Microsystems, SPARC .. Sun がハードウェア参戦 IBM, POWER .. 高性能計算機など。後に Mac で PowerPC として採用 Intel, i860・i960 .. 複雑すぎて失敗した iAPX432 以来の新規 ISA 無事 失敗 AMD, Am29000 .. そこそこ売れてたけれど方針転換を受けて AMD K5 のマイクロアーキテクチャになったそうです Motorola, MC88000 .. m68k と違って売れなくて幻に 7

Slide 20

Slide 20 text

他の著名なもの 他の著名なもの Sun Microsystems, SPARC .. Sun がハードウェア参戦 IBM, POWER .. 高性能計算機など。後に Mac で PowerPC として採用 Intel, i860・i960 .. 複雑すぎて失敗した iAPX432 以来の新規 ISA 無事 失敗 AMD, Am29000 .. そこそこ売れてたけれど方針転換を受けて AMD K5 のマイクロアーキテクチャになったそうです Motorola, MC88000 .. m68k と違って売れなくて幻に 7

Slide 21

Slide 21 text

RISC RISC MPU に参戦︕ 8

Slide 22

Slide 22 text

今回の話題:ヒューレットパッカード 今回の話題:ヒューレットパッカード 元々は計測器などのメーカー 電卓でも独自のファンを作り根強い人気を獲得 Apple co-fonder の Mr. Stephen P. Wozniak は元々 HP の技術者だった 当時とても自由な社風で IBM と対比されていたそうです 今も? 9

Slide 23

Slide 23 text

HP と RISC HP と RISC 例に漏れず独自プロセッサ開発に乗り出した その名も PA-RISC HP は 90 年代には Intel、Microsoft と協力して Itanium® の開発へ動 き出すので PA-RISC は使われなくなった Itanium も無事失敗。 10 . 1

Slide 24

Slide 24 text

HP と RISC HP と RISC 例に漏れず独自プロセッサ開発に乗り出した その名も PA-RISC HP は 90 年代には Intel、Microsoft と協力して Itanium® の開発へ動 き出すので PA-RISC は使われなくなった Itanium も無事失敗。 10 . 1

Slide 25

Slide 25 text

PA-RISC (1/n) PA-RISC (1/n) ISA マニュアル さすが kernel.org (Linux) https://parisc.wiki.kernel.org/images-parisc/6/68/Pa11_acd.pdf 10 . 2

Slide 26

Slide 26 text

PA-RISC (2/n) PA-RISC (2/n) 32-bit 汎用レジスタ 32 本 (GR 0..31) シャドウレジスタ、スペースレジスタ、コントロールレジスタ、コプロセ ッサレジスタなども存在 スペースレジスタは仮想アドレス空間を identify するのに利用 BE/LE どっちも使える 権限レベルが 0, 1, 1.5, 2 と用意されている 10 . 3

Slide 27

Slide 27 text

PA-RISC (3/n) PA-RISC (3/n) .LEVEL 1.1 .SPACE $TEXT$,SORT=8 .SUBSPA $CODE$,QUAD=0,ALIGN=4,ACCESS=0x2c,CODE_ONLY,SORT=24 square .PROC .CALLINFO FRAME=0,ARGS_SAVED .ENTRY STW %r26, -36(%r30) LDW -36(%r30), %r26 LDW -36(%r30), %r26 LDIL L'$$mulI, %r31 .CALL BE,L R'$$mulI(%sr4,%r31), %r31 NOP 10 . 4

Slide 28

Slide 28 text

PA-RISC (3/n) PA-RISC (3/n) 10 . 5

Slide 29

Slide 29 text

あ、 あ、 あの 11

Slide 30

Slide 30 text

ところで…… ところで…… PA-RISC 触ってみたくない……? 12

Slide 31

Slide 31 text

HP HP 13

Slide 32

Slide 32 text

HP HP 計測器メーカー 13

Slide 33

Slide 33 text

HP HP 計測器メーカー オシロスコープやロジックアナライザや……。 13

Slide 34

Slide 34 text

HP HP 計測器メーカー オシロスコープやロジックアナライザや……。 ロジックアナライザに PA-RISC が載っているらしい……? 13

Slide 35

Slide 35 text

ということで ということで 手に入れちゃいました 14

Slide 36

Slide 36 text

邪魔 幅狭めだけど高さが 2U マシンかと思った…… 実測したら 425(w)x200(h)x500(d) [mm] でした 15

Slide 37

Slide 37 text

書斎の床がかなり埋まりました。 16

Slide 38

Slide 38 text

うるさい うるさい ラックサーバーみたいな音してる HP 16702A booting HP 16702A booting 17

Slide 39

Slide 39 text

ロジアナ ロジアナ PS/2 マウスを接続していると自動で X Window System の セッショ ンが起動 18 . 1

Slide 40

Slide 40 text

オシロ オシロ 18 . 2

Slide 41

Slide 41 text

つまり つまり X が起動しているのが気になりますが、普通に計測機器です しかしここで を押すと? 19

Slide 42

Slide 42 text

おまえ おまえ 20 . 1

Slide 43

Slide 43 text

おまえ… おまえ… 20 . 2

Slide 44

Slide 44 text

おまえ…… おまえ…… 20 . 3

Slide 45

Slide 45 text

おまえ…………! おまえ…………! 20 . 4

Slide 46

Slide 46 text

ブートシーケンス ブートシーケンス Processor Depend Code (PDC) がまず起動 ESC 連打してると ISL のプロンプトに落ちることができる Initial System Loader (ISL) が (デバイスパス)/stand/vmunix をロ ード、起動 デバイスパスはもちろん SCSI など (SATA?NVMe?ナニソレ) Unix が起動!!! 21

Slide 47

Slide 47 text

HP-UX HP-UX HP による SystemV Unix fork HP 16702A に載っているのは UNIX 98 規格相当っぽい 関数プロトタイプを ANSI 方式 で宣言したら怒られる cc の代わりに c89 使うと解決 ちゃんと tar(1) だけじゃなく て pax(1) 載っててえらい 22

Slide 48

Slide 48 text

ファイルシステム ファイルシステム LVM + HFS HFS は High-performance FS UFS fork 意外と現代的? Mac のアレは無関係 デフォルトで NFSd が起動してる (!!?!?!?!) 23

Slide 49

Slide 49 text

これって これって 計測機器じゃなくてただの Unix ワークステーションでは??? Ethernet も 10Base-T が生えてるよ! なんか知らんがネスケもおる 24

Slide 50

Slide 50 text

ライブラリ ライブラリ /usr/include をみてみる 25

Slide 51

Slide 51 text

タスクリスト タスクリスト PID 0 として swapper が鎮座 「あっこれ Lions 本で勉強した やつだ!」 26

Slide 52

Slide 52 text

まとめ まとめ ロジアナかとおもった?ワークステーションでした! PA-RISC も HP-UX も案外簡単に遊べる! たぶん vmunix 差し替えるだけで自作 OS も起動できる! 27

Slide 53

Slide 53 text

メモ メモ HP 16702A の root のデフォルトパスワードは「uh,uhuh」らしい。 ethernet の I/F name は lan0 28

Slide 54

Slide 54 text

参考資料 参考資料 ブートシーケンス PA-RISC on QEMU http://h10032.www1.hp.com/ctg/Manual/c00874643.pdf https://parisc.wiki.kernel.org/index.php/Qemu 29