$30 off During Our Annual Pro Sale. View Details »

むかしの RISC、むかしの Unix

orumin
July 10, 2021

むかしの RISC、むかしの Unix

orumin

July 10, 2021
Tweet

More Decks by orumin

Other Decks in Technology

Transcript

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

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

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

  4. RISC のお話 (1/n) RISC のお話 (1/n) CPU の ISA の類型

    命令セットアーキテクチャ;Instruction Set Architecture CISC v.s. RISC 3 . 1
  5. 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
  6. 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
  7. 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
  8. 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
  9. RISC のお話 (2/n) RISC のお話 (2/n) 3 . 2

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

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

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

    は複雑な命令を用意せず命令長も固定長 レジスタも用途を固定しないレジスタを大量に用意 回路がシンプルにしやすい 各企業「もしかしてウチの用途に専用のプロセッサを自前で設計 できるのでは?」 3 . 2
  13. RISC のお話 (3/n) RISC のお話 (3/n) int square(int num) {

    return num*num; } 3 . 3
  14. 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
  15. マイクロプロセッサの増加 マイクロプロセッサの増加 MOS テクノロジー、ザイログ、インテル、モトローラ この他マイクロプロセッサを作って売るところが増える 4

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

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

    に 5
  18. 例:MIPS 例:MIPS 学術用途に留まらず、 ベンチャーが立ち上げられ一般に販売 SGI に買収され 64-bit 化やマルチコア化を達成 64-bit 化、SGI

    買収、マルチコア化という順でした。ご指摘感謝します 3DCG のレンダリングファームになる UNIX® ワークステーションに トイストーリー、ジュラシックパーク…… ゲームコンソールなどでも採用 NINTENDO64、PlayStation® シリーズ 6
  19. 他の著名なもの 他の著名なもの Sun Microsystems, SPARC .. Sun がハードウェア参戦 IBM, POWER

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

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

  22. 今回の話題:ヒューレットパッカード 今回の話題:ヒューレットパッカード 元々は計測器などのメーカー 電卓でも独自のファンを作り根強い人気を獲得 Apple co-fonder の Mr. Stephen P.

    Wozniak は元々 HP の技術者だった 当時とても自由な社風で IBM と対比されていたそうです 今も? 9
  23. HP と RISC HP と RISC 例に漏れず独自プロセッサ開発に乗り出した その名も PA-RISC HP

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

    は 90 年代には Intel、Microsoft と協力して Itanium® の開発へ動 き出すので PA-RISC は使われなくなった Itanium も無事失敗。 10 . 1
  25. 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
  26. PA-RISC (2/n) PA-RISC (2/n) 32-bit 汎用レジスタ 32 本 (GR 0..31)

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

  29. あ、 あ、 あの 11

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

  31. HP HP 13

  32. HP HP 計測器メーカー 13

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

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

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

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

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

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

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

    18 . 1
  40. オシロ オシロ 18 . 2

  41. つまり つまり X が起動しているのが気になりますが、普通に計測機器です しかしここで <Ctrl+Shift+Alt+F8> を押すと? 19

  42. おまえ おまえ 20 . 1

  43. おまえ… おまえ… 20 . 2

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

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

  46. ブートシーケンス ブートシーケンス Processor Depend Code (PDC) がまず起動 ESC 連打してると ISL

    のプロンプトに落ちることができる Initial System Loader (ISL) が (デバイスパス)/stand/vmunix をロ ード、起動 デバイスパスはもちろん SCSI など (SATA?NVMe?ナニソレ) Unix が起動!!! 21
  47. HP-UX HP-UX HP による SystemV Unix fork HP 16702A に載っているのは

    UNIX 98 規格相当っぽい 関数プロトタイプを ANSI 方式 で宣言したら怒られる cc の代わりに c89 使うと解決 ちゃんと tar(1) だけじゃなく て pax(1) 載っててえらい 22
  48. ファイルシステム ファイルシステム LVM + HFS HFS は High-performance FS UFS

    fork 意外と現代的? Mac のアレは無関係 デフォルトで NFSd が起動してる (!!?!?!?!) 23
  49. これって これって 計測機器じゃなくてただの Unix ワークステーションでは??? Ethernet も 10Base-T が生えてるよ! なんか知らんがネスケもおる

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

  51. タスクリスト タスクリスト PID 0 として swapper が鎮座 「あっこれ Lions 本で勉強した

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

    OS も起動できる! 27
  53. メモ メモ HP 16702A の root のデフォルトパスワードは「uh,uhuh」らしい。 ethernet の I/F

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