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
550
0
Share
直接メモリアクセス
Kernel/VM探検隊@北陸 Part 8 で発表した内容です。
KOBA789
December 06, 2025
More Decks by KOBA789
See All by KOBA789
メモリが足らない2026
koba789
4
1.9k
人工衛星のファームウェアをRustで書く理由
koba789
16
9.8k
令和最新版手のひらコンピュータ
koba789
14
9.2k
時の流れが許せない
koba789
0
270
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.7k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.5k
Z80をRustで動かすまで年が越せない
koba789
0
400
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.3k
音をアレする
koba789
0
1.1k
Other Decks in Technology
See All in Technology
【関西電力KOI×VOLTMIND 生成AIハッカソン】空間AIブレイン ~⼤阪おばちゃんフィジカルAIに続く道~
tanakaseiya
0
150
マルチモーダル非構造データとの闘い
shibuiwilliam
1
180
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
230
Data Intelligence Engineering Unit 部門と各ポジション紹介
sansantech
PRO
0
110
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
仕様通り動くの先へ。Claude Codeで「使える」を検証する
gotalab555
5
1.8k
推し活エージェント
yuntan_t
1
790
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
310
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
100
Databricks Lakebaseを用いたAIエージェント連携
daiki_akimoto_nttd
0
140
BIツール「Omni」の紹介 @Snowflake中部UG
sagara
0
170
OPENLOGI Company Profile for engineer
hr01
1
62k
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
So, you think you're a good person
axbom
PRO
2
2k
Making Projects Easy
brettharned
120
6.6k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Designing for Performance
lara
611
70k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
220
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
Joys of Absence: A Defence of Solitary Play
codingconduct
1
330
The SEO identity crisis: Don't let AI make you average
varn
0
430
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Limits of Empathy - UXLibs8
cassininazir
1
280
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 ༧֎ͷ͜ͱ͕Ͱ͖ͯ͠·͏͔Β੬ऑੑʹͳΔ