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
340
第11回 Kernel/VM探検隊 発表資料
orumin
1
530
KernelVM night! LT
orumin
0
420
Other Decks in Technology
See All in Technology
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
150
My small contributions - Fujiwara Tech Conference 2025
ijin
0
1.4k
20250116_自部署内でAmazon Nova体験会をやってみた話
riz3f7
1
100
今年一年で頑張ること / What I will do my best this year
pauli
1
220
DMMブックスへのTipKit導入
ttyi2
1
110
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
13
2.2k
2025年に挑戦したいこと
molmolken
0
160
JuliaTokaiとJuliaLangJaの紹介 for NGK2025S
antimon2
1
120
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
5
1.2k
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
180
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
1
140
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
120
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
9k
How to Ace a Technical Interview
jacobian
276
23k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Making the Leap to Tech Lead
cromwellryan
133
9k
Faster Mobile Websites
deanohume
305
30k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Adopting Sorbet at Scale
ufuk
74
9.2k
How STYLIGHT went responsive
nonsquared
96
5.3k
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