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
直接メモリアクセス
Search
KOBA789
December 06, 2025
Technology
580
0
Share
直接メモリアクセス
Kernel/VM探検隊@北陸 Part 8 で発表した内容です。
KOBA789
December 06, 2025
More Decks by KOBA789
See All by KOBA789
メモリが足らない2026
koba789
4
2.4k
人工衛星のファームウェアをRustで書く理由
koba789
16
9.9k
令和最新版手のひらコンピュータ
koba789
14
9.4k
時の流れが許せない
koba789
0
280
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.7k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.5k
Z80をRustで動かすまで年が越せない
koba789
0
420
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.4k
音をアレする
koba789
0
1.1k
Other Decks in Technology
See All in Technology
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
3
290
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
3
530
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
3
2.3k
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
1
180
M&Aで増え続けるプロダクトに少数QAはどう立ち向かうか─GENDAが挑む、全員で取り組む品質標準化戦略 / GENDA Tech Talk #4
genda
0
320
データ基盤構築・運用の現場から 〜 Snowflake Intelligence 導入で変わった、データ活用の未来 〜
wonohe
0
130
なぜ、IAMロールのプリンシパルに*による部分マッチングが使えないのか? / 20260518-ssmjp-iam-role-principal
opelab
2
150
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
450
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
180
ANDPAD Ruby sponsor session in RubyKaigi 2026
andpad
0
110
Slack MCPでインシデント対応とFAQ生成を加速する:社内ワークショップの実践
lycorptech_jp
PRO
0
200
[4] Power BI Deep Dive [2026-05]
ohata_bi
0
110
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
450
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Accessibility Awareness
sabderemane
1
120
WENDY [Excerpt]
tessaabrams
10
37k
Fireside Chat
paigeccino
42
3.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
For a Future-Friendly Web
brad_frost
183
10k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
150
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
230
KATA
mclloyd
PRO
35
15k
Documentation Writing (for coders)
carmenintech
77
5.3k
Transcript
KOBA789 ϝϞϦΞΫηε ,FSOFM7.୳ݕୂ!1BSU
KOBA789 εϥΠυ͕Ͱ͖͍ͯͳ͍ͷͰσϞͰ͝·͔͠·͢ ‣ ࣄ ‣ 3VTUͰਓӴͷϑϥΠτιϑτΣΞΛॻ͍ͨΓ ‣ ਓӴͷϢʔβʔൃ۷ͷͨΊʹೆถߦͬͨΓ ‣ झຯ
‣ ࣗ࡞%#.4Λ࡞ͬͨΓ ‣ ϒϥβͰಈ͘ి࣓ϦϨʔճ࿏$"% γϛϡϨʔλΛ࡞ͬͨΓ ‣ :PV5VCFS׆ಈΛͬͨΓΒͳ͔ͬͨΓ IUUQTZPVUVCFDPN!LPCB IUUQTNJTTLFZJP!LPCB
%JSFDU.FNPSZ"DDFTT
%JSFDU.FNPSZ"DDFTT ͱ͍͑
64#ܦ༝Ͱ1$ͷϝϞϦΛ࿐ग़ͤ͞Δ ζϧʁɹ͍͍͑ɺ3%."Ͱ͢ʢॾઆʣ RP2040༻ͷۭؒ Z80༻ͷۭؒ Z80 όε 4FSJBM1PSU 3%."ʢաݴʣ όϯΫΩϟογϡ
64Byte BIG MEMORY PC RV32IMA Emulator
-JOVYPO;ແࣄىಈ͠·ͨ͠ MTʹ͔͔Γ·͢
εϥΠυͰ͖ͯͳ͍͔Β ͷσϞͬͯईՔ͙ͧ
ىಈʹؙ͔͔ΔͷͰμϝͰ͢
ΞϦΤΫങ͍γϦʔζ w ຕઍԁʙઍԁ͘Β͍ w )6#ͱ͍͏ϓϩτίϧ w ن֨Խ͞Ε͍ͯΔΑ͏Ͱ ͞Ε͍ͯͳ͍͕ΈΜͳίϨ -&%σΟεϓϨΠ https://ja.aliexpress.com/item/1005009526448143.html
)6# ͱͯݡ͍͕͘͢͝ϙϯίπ w ߦͷγϑτϨδελͱ ߦͷϥονͱ ߦͷϚϧνϓϨΫα͔ΒͳΔ w 3(#֤৭Ϗοτ w ಉ࣌ʹ౮Ͱ͖Δͷߦ͚ͩ
w ؾ߹ͰμΠφϛοΫ౮ w ίϯτϩʔϥ͕ؤுΕ http://www.moonbaseotago.com/hub75/
)6# ͱͯݡ͍͕͘͢͝ϙϯίπ w ߦΛγϑτϨδελʹૹΔ w 0&ΛσΞαʔτͯ͠ফ౮ w -"5ΛΞαʔτͯ͠ϥον w ߦΞυϨεΛΓସ͑
w 0&ΛΞαʔτͯ͠౮ w ҎԼ܁Γฦ͠ w ͜ΕͰ৭ग़ͤΔ http://www.moonbaseotago.com/hub75/
͍ͭ͜ΛͲ͏ʹ͔ޫΒ͍ͤͨ
·ͣͲ͏ͬͯ ϑϧΧϥʔΛग़͔͢
RGB=0xFFFFFF
R=0xFF
R=0b11111111 ࠨͷܻ ӈͷܻΑΓഒ໌Δ͍ Y Y Y Y Y Y Y
R=0b11111111 1T 2T 4T 8T 16T 32T 64T 128T #JOBSZ
$PEF .PEVMBUJPO ֤ϏοτʹO5ͷ౮࣌ؒΛ ׂΓͯΔ
CJUΧϥʔ)[Λ ग़ͦ͏ͱ͢Δͱ
5 ʹTʸ QYʷQYʷ)[ʷ5 ˺OT ϐΫηϧϨʔτ͕.)[ʂ
͜ΜͳΜιϑτΣΞ͡Ό ແཧͩΑʙʙ
%."͕มଶͰ͋Δ͜ͱͰ༗໊ w %."ͷνΣʔϯ͕Ͱ͖Δ w %."Ͱ%."ͷίϯϑΟά ϨδελΛॻ͚Δ w ͦΕΛఆ༷͕ͨ͋͠Δ w σʔλγʔτʹ༻ྫ͕
ࡌ͍ͬͯΔ w ࣮νϡʔϦϯάશ 31 https://www.raspberrypi.com/products/raspberry-pi-pico/
%."ίϯτϩʔϧϨδελ ॱংͷҟͳΔΤΠϦΞε͕ఆٛ͞Ε͍ͯΔ ͍ͣΕ͔ͷ5SJHHFSϨδελʹॻ͘ͱసૹ͕։࢝ʢॏཁʣ 5SJHHFSϨδελΛૂͬͯ%."Ͱॻ͍ͯΕ%."͔Β%."͕ऽΕΔ
தུ தུ https://pip-assets.raspberrypi.com/categories/814-rp2040/documents/RP-008371-DS-1-rp2040-datasheet.pdf ެࣜσʔλγʔτʹ͋Δ 4DBUUFS(BUIFSͷྫ
Ptr(8) Ptr(8) Ptr(8) Ptr(8) Ptr(8) Ptr(8) Ptr(8) Ptr(8) Ptr(4) Ptr(4)
Ptr(4) Ptr(4) Ptr(2) Ptr(2) Ptr(1) 8 4 2 1 ϏοτϓϨʔϯ ίϯτϩʔϧϒϩοΫ %."Ϩδελ Read Address Trigger %."Ͱసૹ 1*0'*'0 FIFO TX %."Ͱసૹ Α͘Θ͔Βͳ͍ਤ
σϞ
Α͔ͬͨͰ͢Ͷ ࠓޙΞχϝʔγϣϯΓ͍ͨ
KOBA789 ϝϞϦΞΫηε ,FSOFM7.୳ݕୂ!1BSU
%JSFDU.FNPSZ"DDFTT
ΞϦΤΫങ͍γϦʔζ w "SUJY 5 1$*F '5 w ۃ·ͬͨਓʑ͜ΕͰήʔϜͷ νʔτΛ͢ΔΒ͍͠ w
Ͳ͏͍͏ੈքͩΑ w ධՁϘʔυങ͏ΑΓ͍҆ w εϐʔυάϨʔυͱ γϦΞϧ൪߸͕ফ͞Εͨੴ w ҋ ϝϞϦΞΫηεΧʔυ https://ja.aliexpress.com/item/1005008778820516.htm
1$*Fʹ͓͚Δ%." 1$*FͰ୭͕ओʢόεϚελʣʹͳΕΔ w 1$*F5-1 5SBOTBDUJPO-BZFS1BDLFU Λ͛߹ͬͯ௨৴͢Δϓϩτίϧ w SPPUDPNQMFY ϚβϘʹ͍Δͭ ʹ
.FNPSZ8SJUF5-1.FNPSZ3FBE5-1Λ͛ΔͱΞΫηεͰ͖Δ w *0..6ͱ͔͍ͳ͚Ε ϝϞϦΞΫηεଞͷσόΠε੍ޚΓ์ʂ w (16͕44%͔ΒσʔλಡΉͭͰΘΕ͍ͯΔ w %JSFDU4UPSBHFςΫενϟΛ44%͔Βϩʔυ w (16Ͱ42-Λ࣮ߦ͢Δ1(4USPNͱ͔ͰͬͯΔ
1$*-FFDI %."ΧʔυΛͬͯରϗετʹׯবͰ͖Δπʔϧ w વ͍Ζ͍Ζո͍͜͠ͱ͕Ͱ͖Δ w ϑΝΠϧΛDPQZUP DPQZGSPN w ϓϩηεͷҰཡΛऔಘ w
ೝূແ͠ʹγΣϧΛऔಘ w IUUQTHJUIVCDPNVGSJTLQDJMFFDI
σϞ
1$*-FFDI-JOVYλʔήοτͷ߹ͷΈ 8JOEPXTίʔυಡΊͳ͍͠ৄ͘͠ͳ͍ͷͰʜʜ w ϝϞϦεΩϟϯͯ͠LBMMTZNTͷςʔϒϧΛݟ͚ͭΔ w LBMMTZNT͔ΒಘΒΕͨΧʔωϧͷศརؔΛͬͯ ո͍͠ΧʔωϧϞδϡʔϧΛϩʔυ w ո͍͠ΧʔωϧϞδϡʔϧΛ͕͔Γʹ͍Ζ͍ΖΔ w
Χʔωϧσόοάʹศརͦ͏ʢʁʣ
ͱ͜ΖͰ
64#ʹ1$*F͕௨ΔΜͰ͢Α
ຊͷ#BE64#͕ʂʁ ͋Δ͍1$*XBSVJ ରࡦਐΜͰ͍·͕͢ؾΛ͚ͭ·͠ΐ͏ w NBD04 w ը໘ϩοΫঢ়ଶͰ5IVOEFSCPMU 64# ͷ%."෧͡ΒΕ͍ͯΔ w
*0..6͕༗ޮͳͷͰΞΫηεൣғ͕ݶఆ͞Ε͍ͯΔ w 8JOEPXT w ʮԾԽϕʔεͷηΩϡϦςΟ 7#4 ʯ͕༗ޮͩͱ*0..6ͰकΒΕΔ w -JOVY w JOUFM@JPNNVPOͳΒकΒΕΔؾ͕͢Δ͕ɺઍࠩສผͳͷͰ֤Ґؤுͬͯ w ͜ͷձ-JOVYϥοϓτοϓଟͦ͏
%.""UUBDLWJB'JSF8JSF BLB*&&& J-*/, %7ࢠ w ࣮'JSF8JSFʹ%."͕͋Δ w ͳΜͯເͷ͋ΔΈʂɹ64#ΊΑ͏ʂ w 'JSF8JSFΛͬͨ3%."ͰࢄίϯϐϡʔςΟϯάɺΈ͍ͨͳݚڀ͋Δ
w Վతͳ͋ͷ࣌ʹ͜Μͳͷ͕͋ͬͨΒͲ͏ͳΔ͔ w વϊʔΨʔυͰ͑Β͍͜ͱʹ w NBD04ͷରࡦ͕ਐΜͰ͍Δͷɺ౷తʹ'JSF8JSFϙʔτ͕ඪ४ࡌͰɺ ৗʹ%.""UUBDLͷϦεΫ͕͔͋ͬͨΒͬΆ͍
%."ָ͍͠ʂʂʂʂʂ ;ͷճͰ%."ϐϯΛશ෦ະଓʹͨͭ͠ͷݴ͏͜ͱͰͳ͍ w $16Ҏ֎͕όεϚελʹͳΕΔͱΈͳ͞Μͷ༧ΛཪΕΔ w ༧֎ͷ͜ͱ͕Ͱ͖Δ͔Β͓͠Ζ͍ w ༧֎ͷ͜ͱ͕Ͱ͖ͯ͠·͏͔Β੬ऑੑʹͳΔ