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.3k
むかしの 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
880
Kernel/VM #14 発表資料
orumin
1
530
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
410
Other Decks in Technology
See All in Technology
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
500
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
強いチームと開発生産性
onk
PRO
35
11k
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
200
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
890
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
690
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
327
21k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Automating Front-end Workflow
addyosmani
1366
200k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Facilitating Awesome Meetings
lara
50
6.1k
GitHub's CSS Performance
jonrohan
1030
460k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
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