Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
むかしの RISC、むかしの Unix
Search
orumin
July 10, 2021
Technology
7
3.4k
むかしの RISC、むかしの Unix
orumin
July 10, 2021
Tweet
Share
More Decks by orumin
See All by orumin
ヴィンテージマシンと付き合う - kernel/vm online 5
orumin
0
1k
Fundamental of architecture to implementing OS on AArch64
orumin
3
4.7k
Kernel/VM Kansai #9
orumin
0
890
Kernel/VM #14 発表資料
orumin
1
540
Unikernels report
orumin
2
430
第13回Kernel/VM勉強会発表資料
orumin
1
1.5k
第12回カーネル/VM探検隊
orumin
0
330
第11回 Kernel/VM探検隊 発表資料
orumin
1
520
KernelVM night! LT
orumin
0
420
Other Decks in Technology
See All in Technology
2024年にチャレンジしたことを振り返るぞ
mitchan
0
130
Qiita埋め込み用スライド
naoki_0531
0
1.3k
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
150
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.6k
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
MLOps の現場から
asei
6
630
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
We Have a Design System, Now What?
morganepeng
51
7.3k
Unsuck your backbone
ammeep
669
57k
Automating Front-end Workflow
addyosmani
1366
200k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Documentation Writing (for coders)
carmenintech
66
4.5k
Transcript
むかしの RISC、むかしの むかしの RISC、むかしの Unix Unix orumin (@kotatsu_mi) 1
Self-introduction Self-introduction orumin (@kotatsu_mi) 去年度まで学生してました 2014 年くらいからずっと unikernel やってた 社会に魂を売った
2
RISC のお話 (1/n) RISC のお話 (1/n) 3 . 1
RISC のお話 (1/n) RISC のお話 (1/n) CPU の ISA の類型
命令セットアーキテクチャ;Instruction Set Architecture CISC v.s. RISC 3 . 1
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
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
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
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
RISC のお話 (2/n) RISC のお話 (2/n) 3 . 2
RISC のお話 (2/n) RISC のお話 (2/n) 複雑なアドレッシング、可変長の命令、市場の要求に答え肥大化 していく命令の数々…… 回路が複雑化し、設計も困難に 3
. 2
RISC のお話 (2/n) RISC のお話 (2/n) 複雑なアドレッシング、可変長の命令、市場の要求に答え肥大化 していく命令の数々…… 回路が複雑化し、設計も困難に RISC
は複雑な命令を用意せず命令長も固定長 レジスタも用途を固定しないレジスタを大量に用意 回路がシンプルにしやすい 3 . 2
RISC のお話 (2/n) RISC のお話 (2/n) 複雑なアドレッシング、可変長の命令、市場の要求に答え肥大化 していく命令の数々…… 回路が複雑化し、設計も困難に RISC
は複雑な命令を用意せず命令長も固定長 レジスタも用途を固定しないレジスタを大量に用意 回路がシンプルにしやすい 各企業「もしかしてウチの用途に専用のプロセッサを自前で設計 できるのでは?」 3 . 2
RISC のお話 (3/n) RISC のお話 (3/n) int square(int num) {
return num*num; } 3 . 3
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
マイクロプロセッサの増加 マイクロプロセッサの増加 MOS テクノロジー、ザイログ、インテル、モトローラ この他マイクロプロセッサを作って売るところが増える 4
マイクロプロセッサの増加 マイクロプロセッサの増加 MOS テクノロジー、ザイログ、インテル、モトローラ この他マイクロプロセッサを作って売るところが増える 4
例:Acorn 例:Acorn 英国で教育用コンピュータを製作 このために Acorn RISC Machine が生まれる 紆余曲折を経て現代の Arm®
に 5
例:MIPS 例:MIPS 学術用途に留まらず、 ベンチャーが立ち上げられ一般に販売 SGI に買収され 64-bit 化やマルチコア化を達成 64-bit 化、SGI
買収、マルチコア化という順でした。ご指摘感謝します 3DCG のレンダリングファームになる UNIX® ワークステーションに トイストーリー、ジュラシックパーク…… ゲームコンソールなどでも採用 NINTENDO64、PlayStation® シリーズ 6
他の著名なもの 他の著名なもの Sun Microsystems, SPARC .. Sun がハードウェア参戦 IBM, POWER
.. 高性能計算機など。後に Mac で PowerPC として採用 Intel, i860・i960 .. 複雑すぎて失敗した iAPX432 以来の新規 ISA 無事 失敗 AMD, Am29000 .. そこそこ売れてたけれど方針転換を受けて AMD K5 のマイクロアーキテクチャになったそうです Motorola, MC88000 .. m68k と違って売れなくて幻に 7
他の著名なもの 他の著名なもの Sun Microsystems, SPARC .. Sun がハードウェア参戦 IBM, POWER
.. 高性能計算機など。後に Mac で PowerPC として採用 Intel, i860・i960 .. 複雑すぎて失敗した iAPX432 以来の新規 ISA 無事 失敗 AMD, Am29000 .. そこそこ売れてたけれど方針転換を受けて AMD K5 のマイクロアーキテクチャになったそうです Motorola, MC88000 .. m68k と違って売れなくて幻に 7
RISC RISC MPU に参戦︕ 8
今回の話題:ヒューレットパッカード 今回の話題:ヒューレットパッカード 元々は計測器などのメーカー 電卓でも独自のファンを作り根強い人気を獲得 Apple co-fonder の Mr. Stephen P.
Wozniak は元々 HP の技術者だった 当時とても自由な社風で IBM と対比されていたそうです 今も? 9
HP と RISC HP と RISC 例に漏れず独自プロセッサ開発に乗り出した その名も PA-RISC HP
は 90 年代には Intel、Microsoft と協力して Itanium® の開発へ動 き出すので PA-RISC は使われなくなった Itanium も無事失敗。 10 . 1
HP と RISC HP と RISC 例に漏れず独自プロセッサ開発に乗り出した その名も PA-RISC HP
は 90 年代には Intel、Microsoft と協力して Itanium® の開発へ動 き出すので PA-RISC は使われなくなった Itanium も無事失敗。 10 . 1
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
PA-RISC (2/n) PA-RISC (2/n) 32-bit 汎用レジスタ 32 本 (GR 0..31)
シャドウレジスタ、スペースレジスタ、コントロールレジスタ、コプロセ ッサレジスタなども存在 スペースレジスタは仮想アドレス空間を identify するのに利用 BE/LE どっちも使える 権限レベルが 0, 1, 1.5, 2 と用意されている 10 . 3
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
PA-RISC (3/n) PA-RISC (3/n) 10 . 5
あ、 あ、 あの 11
ところで…… ところで…… PA-RISC 触ってみたくない……? 12
HP HP 13
HP HP 計測器メーカー 13
HP HP 計測器メーカー オシロスコープやロジックアナライザや……。 13
HP HP 計測器メーカー オシロスコープやロジックアナライザや……。 ロジックアナライザに PA-RISC が載っているらしい……? 13
ということで ということで 手に入れちゃいました 14
邪魔 幅狭めだけど高さが 2U マシンかと思った…… 実測したら 425(w)x200(h)x500(d) [mm] でした 15
書斎の床がかなり埋まりました。 16
うるさい うるさい ラックサーバーみたいな音してる HP 16702A booting HP 16702A booting 17
ロジアナ ロジアナ PS/2 マウスを接続していると自動で X Window System の セッショ ンが起動
18 . 1
オシロ オシロ 18 . 2
つまり つまり X が起動しているのが気になりますが、普通に計測機器です しかしここで <Ctrl+Shift+Alt+F8> を押すと? 19
おまえ おまえ 20 . 1
おまえ… おまえ… 20 . 2
おまえ…… おまえ…… 20 . 3
おまえ…………! おまえ…………! 20 . 4
ブートシーケンス ブートシーケンス Processor Depend Code (PDC) がまず起動 ESC 連打してると ISL
のプロンプトに落ちることができる Initial System Loader (ISL) が (デバイスパス)/stand/vmunix をロ ード、起動 デバイスパスはもちろん SCSI など (SATA?NVMe?ナニソレ) Unix が起動!!! 21
HP-UX HP-UX HP による SystemV Unix fork HP 16702A に載っているのは
UNIX 98 規格相当っぽい 関数プロトタイプを ANSI 方式 で宣言したら怒られる cc の代わりに c89 使うと解決 ちゃんと tar(1) だけじゃなく て pax(1) 載っててえらい 22
ファイルシステム ファイルシステム LVM + HFS HFS は High-performance FS UFS
fork 意外と現代的? Mac のアレは無関係 デフォルトで NFSd が起動してる (!!?!?!?!) 23
これって これって 計測機器じゃなくてただの Unix ワークステーションでは??? Ethernet も 10Base-T が生えてるよ! なんか知らんがネスケもおる
24
ライブラリ ライブラリ /usr/include をみてみる 25
タスクリスト タスクリスト PID 0 として swapper が鎮座 「あっこれ Lions 本で勉強した
やつだ!」 26
まとめ まとめ ロジアナかとおもった?ワークステーションでした! PA-RISC も HP-UX も案外簡単に遊べる! たぶん vmunix 差し替えるだけで自作
OS も起動できる! 27
メモ メモ HP 16702A の root のデフォルトパスワードは「uh,uhuh」らしい。 ethernet の I/F
name は lan0 28
参考資料 参考資料 ブートシーケンス PA-RISC on QEMU http://h10032.www1.hp.com/ctg/Manual/c00874643.pdf https://parisc.wiki.kernel.org/index.php/Qemu 29