Upgrade to Pro — share decks privately, control downloads, hide ads and more …

むかしの RISC、むかしの Unix

F28abade40c3fa0565f578f7dbae6560?s=47 orumin
July 10, 2021

むかしの RISC、むかしの Unix

F28abade40c3fa0565f578f7dbae6560?s=128

orumin

July 10, 2021
Tweet

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