# 閱讀清單 ## 系統程式 ### 程式語言技巧 - [ ] [C Traps and Pitfalls](http://www.literateprogramming.com/ctraps.pdf) ### Tutorial - [ ] [Writing an OS in Rust](https://os.phil-opp.com/) - [ ] [Operating System in 1,000 Lines](https://operating-system-in-1000-lines.vercel.app/en/) - [ ] [Hypervisor in 1,000 Lines](https://1000hv.seiya.me/en/) - [ ] [Linux from scratch](https://www.linuxfromscratch.org/) ### Process - [ ] [UNIX 作業系統 fork/exec 系統呼叫的前世今生](https://hackmd.io/@sysprog/unix-fork-exec) ### Memory - [ ] [What Every Programmer Should Know About Memory](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf) - [ ] [A Malloc Tutorial](https://wiki-prog.infoprepa.epita.fr/images/0/04/Malloc_tutorial.pdf) - [ ] [The Lost Art of Structure Packing](http://www.catb.org/esr/structure-packing/) - [x] [What’s the difference between an integer and a pointer? ](https://blog.regehr.org/archives/1621) - [ ] [Dynamic Memory Allocation](https://www.cs.cmu.edu/afs/cs/academic/class/15213-s20/www/lectures/15-malloc-basic.pdf) - [ ] [Linker Scripts](https://sourceware.org/binutils/docs/ld/Scripts.html#Scripts) ### Data Structure - [ ] [解析 Hash Table](https://hackmd.io/@ChialiangKuo/quiz6B-hash-table) ### Synchronization - [x] [Accurate mental model for Rust's reference types](https://docs.rs/dtolnay/0.0.6/dtolnay/macro._02__reference_types.html#accurate-mental-model-for-rusts-reference-types) ### Compiler - [ ] [Nine ways to break your systems code using volatile](https://blog.regehr.org/archives/28) - [x] [WRITE_ONCE in linux kernel lists](https://stackoverflow.com/questions/34988277/write-once-in-linux-kernel-lists) ### Cache - [ ] [CPU Cache](https://lwn.net/Articles/252125/) - [ ] [Cache 原理和實際影響](https://hackmd.io/@SIlbVPlXR26vjqUoZDgZzA/HkyscQn2z) - [ ] [A Primer on Memory Consistency and Cache Coherence](https://pages.cs.wisc.edu/~markhill/papers/primer2020_2nd_edition.pdf) ## SoC 設計 ### RISC-V - [ ] [Introduction to the RISC-V Vector Extension](https://eupilot.eu/wp-content/uploads/2022/11/RISC-V-VectorExtension-1-1.pdf) - [ ] [RISC-V Vector Extension Tutorial](https://riscv.org/wp-content/uploads/2024/12/15.20-15.55-18.05.06.VEXT-bcn-v1.pdf) - [ ] [RISC-V V 1.0 Vector Processor Design](https://arxiv.org/pdf/2210.08882) ### Debug Port - [ ] [JTAG Architecture](https://vlsitutorials.com/jtag-architecture-overview/) ### Data Interface - [x] [Introduction to SPI Interface](https://www.analog.com/en/resources/analog-dialogue/articles/introduction-to-spi-interface.html) ### GPU Architecture - [ ] [Understanding Tiling](https://developer.samsung.com/galaxy-gamedev/resources/articles/gpu-framebuffer.html) - [ ] [A Parallel Algorithm for Polygon Rasterization](https://www.cs.drexel.edu/~deb39/Classes/Papers/comp175-06-pineda.pdf) - [ ] [A Trip through the Graphics Pipeline](https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/) - [ ] [Beginning FPGA Graphics](https://projectf.io/posts/fpga-graphics/) - [ ] [Framebuffers](https://projectf.io/posts/framebuffers/) - [ ] [Real-Time DXT Compression](https://www.researchgate.net/publication/259000525_Real-Time_DXT_Compression) ### HDMI - [ ] [FPGA HDMI](https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/TUTORIALS/HDMI.md) - [ ] [Lattice HDMI/DVI Interface](https://www.latticesemi.com/products/designsoftwareandip/intellectualproperty/referencedesigns/referencedesigns02/hdmidvivideointerface)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up