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
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
170
AI時代のシステム開発者の仕事_20260328
sengtor
0
330
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
570
2026-04-02 IBM Bobオンボーディング入門
yutanonaka
0
200
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
670
Goビルドを理解し、 CI/CDの高速化に挑む
satoshin
0
120
AWS DevOps Agent or Kiro の使いどころを考える_20260402
masakiokuda
0
170
OpenClaw初心者向けセミナー / OpenClaw Beginner Seminar
cmhiranofumio
0
310
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
200
Babylon.js Japan Activities (2026/4)
limes2018
0
170
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
380
スクラムを支える内部品質の話
iij_pr
0
250
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Accessibility Awareness
sabderemane
0
92
[SF Ruby Conf 2025] Rails X
palkan
2
910
GitHub's CSS Performance
jonrohan
1032
470k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Typedesign – Prime Four
hannesfritz
42
3k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
A better future with KSS
kneath
240
18k
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 ༧֎ͷ͜ͱ͕Ͱ͖ͯ͠·͏͔Β੬ऑੑʹͳΔ