From bfbd8269aa6bb86fb312d24396b65b309cb10df9 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Wed, 10 Dec 2025 17:51:33 +0800 Subject: [PATCH] mmt --- .DS_Store | Bin 0 -> 10244 bytes Computational Science/.DS_Store | Bin 0 -> 6148 bytes Computational Science/graduate/.DS_Store | Bin 0 -> 6148 bytes .../.DS_Store | Bin 0 -> 6148 bytes .../Hardcore/zh-CN/MainContent.md | 4 +++- keyword/.DS_Store | Bin 0 -> 6148 bytes keyword/2deg/.DS_Store | Bin 0 -> 6148 bytes keyword/2deg/Feynman/.DS_Store | Bin 0 -> 6148 bytes keyword/2deg/Feynman/zh-CN/MainContent.md | 4 +++- .../.DS_Store" | Bin 0 -> 6148 bytes .../\346\234\254\347\247\221@@619981/.DS_Store" | Bin 0 -> 6148 bytes .../.DS_Store" | Bin 0 -> 6148 bytes .../.DS_Store" | Bin 0 -> 6148 bytes .../.DS_Store" | Bin 0 -> 6148 bytes .../MainContent.md" | 5 ++++- 15 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 .DS_Store create mode 100644 Computational Science/.DS_Store create mode 100644 Computational Science/graduate/.DS_Store create mode 100644 Computational Science/graduate/Compressed Sensing and Sparse Optimization/.DS_Store create mode 100644 keyword/.DS_Store create mode 100644 keyword/2deg/.DS_Store create mode 100644 keyword/2deg/Feynman/.DS_Store create mode 100644 "\350\256\241\347\256\227\347\247\221\345\255\246@@619980/.DS_Store" create mode 100644 "\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/.DS_Store" create mode 100644 "\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/.DS_Store" create mode 100644 "\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/.DS_Store" create mode 100644 "\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/.DS_Store" diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d71b625023d51109a5a128d70143f351cb7ff3c2 GIT binary patch literal 10244 zcmeHMU2GIp6h3EK=v-T13T-JatBVB!w8HY=^1J;-{;aV52VG`&20CFnQ+8%|!3I-( zK}CrA;)4?9#Y7*7FGlpiCm#HX7?lu>KB$kz#1}NaD4u)oY_SVe4KYeHvzdG5p1I%5 zoNvE#@19uzz_y&R8XyJ$D(&2ARn**KZ5Rpma@HJzxOEpu|84r}HsBoNOYnypG~{5v z z#BraML1Hjbz^sy>Pye%s^U17ZyUr0p@hfVAE5QZv<%0()@(dG04sqm78;1Te&cDG+ zCvkFwG-MGk!_!1Lx8h||oF%+ez){l02`Es8Wx<#xER;l55_8q*^J6ca`0T)8TDudl z0ail`eVQRYO`^YTe72Wwm$PG8b#Zq5GMF7z#wsJdef2L1lgZ)?c9h%XR0&0oypN)v(>hf*5jr(;G4&Nel+B{S-)Kj9Iyz> zeJO1&$9IqVmg{(ZX4WIi*oCUv=mSd|qghlgn1b$sivWo8+x#-<)eA2F|Jb@S^N+#89=F*h*9s|@7Q*0G%BpU@gq zRo){KTf|iD?Slpdu-7&C6%BDF5{WHQ)dSq$o;9hJZWdX-f&hAtN5KS-xpEa_n%8rb z76%DsYuBkvGkR@3ZQ6mWxrJQ2`|~p5z&UTL$_6s-$Or}FNnfP3O;xoI9^*IOqkDe$ zsOd~RQfrs04tc|R*6c3O(o{t3QdRL4k)K044a;}4f{i_~NMw*-s?{(|gMzNFo3BOo zMUtxaIbk%*$y>A-(sv-&M71HYLas-G(S}4^_G+Y=X!+0K1<(ZBpbLg*;dN*Nc@ECN zSvUu;!v(kq@56`i5qu1n;S2Z%zK0*-8vF*=5fJenti&pujS*aoOK>T!!Oge@x8io} zz`gh|cH=(m!xSDu9W!WQ7CrPak5Aw!d>Ws@7x86$1<&EDcmdzRi})^H!cXurev04W z4|olK#$WKd0*a!PDRs(xC8jJ@DE6%qC)(My>X;hm@;+Ng!(Z;BzP|nHj%4nQvWt34&VAn<) znTD$DY-BA=E2rF&-7Rb((}2lNBH9+!c&4a#uG#bOCcH(Oy+oS53SYyw@DuzBzoSYT zt;2d;fD187I$eg#u@ReaJ#NHi+(fGFz%JZ@J8>5#v6nPEfPN0`j{i# zj^mT~6rRR2cov_>7leXe!#7GaxpT56@x7@uS+b~2hK9Y6fslcafxDW4GWql|{{Fx7 z_W%Fi)iH(-A2JX!Ff{{M-jVERqcO$b?xn*Oa>QsqL_6R3xN&I(gc?4C`^D>c>hRa` s%K~3eS5Z-O8Nhm@N3Oz1(Ef}$Air_CU%FPpl>vXUS6XzQ&HR^Q6)yy!CnYntra5X#Fg$iff*GOMtfEZY1psu?v zp8uEd%WQn)uclCs7$64z83VjA2nKy9%ABoh<>6T?pglrE!MG9?5YSgH0novHq@|qN cFHna#-(aZ`M?t$v2c(ODB7{D~z%MZH1$~T70ssI2 literal 0 HcmV?d00001 diff --git a/Computational Science/graduate/.DS_Store b/Computational Science/graduate/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2a10e1571fbc76a843597d592a1369e3266cf648 GIT binary patch literal 6148 zcmeHKQH#?+5T5N-+i(bdP`Jm1dy|3@552>e&^w<6bDR$I9}T)$VZ0_y8L$ARh|Cbneb)36vlcNk=x6xZ zwq){EGtX?&=ucG*m_#T%YoT3hE^JIk-C zay1>@KewjMDpM|8LRFLqdHcFDgCM{Qmxb zJ4t53fH3f1F`)Vv>BR((6wcP2hvTzWL*GMLIIi>fGX;h_iV@34@e$Ms{F)7560q|K Q4@5o$91SuE1AArQ2m8Ba@&Et; literal 0 HcmV?d00001 diff --git a/Computational Science/graduate/Compressed Sensing and Sparse Optimization/.DS_Store b/Computational Science/graduate/Compressed Sensing and Sparse Optimization/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6587ca13703eeecb653446cd7e3d0091352b646a GIT binary patch literal 6148 zcmeHK!Ab)$5S_Hub}2#+3OxqA7F@At#mmyxA8?BvRO+rRy0~six3z~-*t7nSU*h*T zlVrtGd+;JsW?=FrlbH>9SuzO#i1u`F2v7rn3Myg2!R7~{ancnjSP!Al-;mG)1tW;y zekGb6|B(UOyDD^W*Tyh}@B5dAvvd^3D#VEQa1=-B#C1PJp;+45E|;BhwS4P8s+m6t zCeySXjIXKJQz{N~I|whM;jCZV?WklDM9FZh6QaQoLvF63WT0kkHBAPo&h^cJ<5Zk} ztv;VOTc-_qbmA@=a^5<18}is~E*4H@Z~x%zqW=^>C+gKuD)8^qvSTraH#F9)?!_M` zu}U5=BG1mV7?}ZPfEn0y2JE?4sc!m0d40?PGw^E$=zNf5*%z?~v~psA82Et!+#duqM9*NUQEeU2;q@8g79tAh_?AEv20eqNMu>oLT?(j6 zxp`u6T@HR>@;rm3MqSRhni`fWCAI00Z}tmI~^)KppZtgQZ3s T1^ucVkS+p>5bB75Utr(^_h(7W literal 0 HcmV?d00001 diff --git a/keyword/2deg/.DS_Store b/keyword/2deg/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a98b4e623e6b0d85562b248ef9b76289f10e5e30 GIT binary patch literal 6148 zcmeHKOG^VW5T4lTb}2#+3OxqA7F@CTz{^srKfo0|sMK9rba9(V9~LQvJ?kIxm-u^} zNwQ$I2Tvk)29j?wk7VbA%>w{LYuw!dr~yC)8=)X&fslEjYsCc<3NuF^Vo=Fs_?To1 zCi;se`gRXap$E^P;M4c(1U+xbW0np_LGUhCO6Aox&-1;icN5*~Ni>Q_<6$cvT+!%U z>nthsIJroBlTK~pSgTQ-s@}jPq}?8dTwkWDt0yfzR^6e=jjY4>D}JX|pH7K)o%<5>DCLBa)k$Yx<8JK6FWQR36 z|4;CjS@_7GPvH?WzzqB|21L0XwOd$}J6pe%M`x|Xc8iUK;&M_@P@lU5;DGj#x^Y^+ bBpu^Ihq*S5Z<+|X(&Pt3Oz1(tr)Rri}>vk7bn3dFe5+KhY+IIX)vWtqB(q@JpUzUhKe@%xm6UN< z=>70I8fHCbwZCCA{Q=iY9t#(5kpSp{N zn77()L!7wH#lo)c?H`_9_MYPBM80VvIWVqd$6x{Ppe$AN5=@d>;Qk<>A$kULjcV(F4zJJXFC(IWj&BJ>VbC*}YXlDn z*QtOym76C9*XdvvCeAaMYt-qCtCe9MvvTox;c9iT3l+||r;&PMfEZY1prnTmp8x0Y z%dCCmucpw57$64z83VlB4Z1!QWzN=b<>6T?pgllC!MGe15YSgH0WiRQq^_LWFHna# Y&tR?*XF%b1j-0)KB{0FS)L1nIV%wlb1KO8a!J?lT@zv0Ed z$M=#{9GeF(g6_TY@=5aY8uIN(7RDI&CsCa-hcRY>BMUYZD-7f4OI9#FNUq+|WOdet zrv)VY3ku-3+ZxoK-k1l^m+u!&M-O2lLx{hI4@o>4yY4$L6iXYM<+5F_l&^zZISt0W z@nq!phL_knlQIeOdM`YW`_rzob1c(wFHZYIl@LdL7;<$Hr;(ica*{?Pl^f`QZCiHN zsm^ANR=Xw+4&8Z8%vx=?CYo+zKDVviz5S!p?p<=9%4aPwhu@yEZNnTdP+7UQ$6%Ny zG95rX&&_j)qyQ;E3ao#$f_BPl=%{73=Z9|SnkGt4yA)&WHUniwx3(V&iZ z38XOe3^PrLfN`A))T!KDF}O~LeqqLWhMA^LXI#w;?=drTb3@^3cIX#sIOCosm81YE zu&6*$Hyu3xPrkqZFD6lo6d(oul>)rf2|7M3$(*fAi^H>4fZu?l;kZomGX*N@D2B0k d6j#BOLBGHX&@;?5p$Clq2q+n-AO(I^fe(W&ON0Ob literal 0 HcmV?d00001 diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/.DS_Store" new file mode 100644 index 0000000000000000000000000000000000000000..7ca57829c940d538c1d42588341da134e9f1b47d GIT binary patch literal 6148 zcmeHK!A=4(5N!d04VrLJ!?B515*H;1@v=eu0oUk34en-%Zd|tn7C8{&p5-I_4S&On z-{VYMGz7VLFow(|(>I;YY%{N1S%{v!i;cAL+;vv>D3$;0V=pP$X@{&?8;Bk4oTo8OPZVPe}KJd@3BC> zP%7NG_j2qeUNRcCy}=dE&ZUg}x$XHEVQ<_mZ=c9G@xr(_PzhnsgOKaXFb?FnEk|)M zRJpERu&kohEmtO!db3p(he!6bDkjaAT@?+xKAl>{oxT0zv+hIm7|Rz;Du>^nk}ZRC zn1Qjfz9)AOM>4*Hn0fv@kB}H328e-mX29He#nL(#NwpCJ#K5l@!23afB02_Bjq2)v zAp=uf&mp3Kjc*A=VbC#{YJ?RKu2TVZDmPCIuG7IUOq^pd)u_`MS3ARZ%+B1rP`KJ1 z{6d8@?r5Zu7$61~8OZ8s8Ti7R*63vJKVqmQp;JJ?5X+ue-w=NZjy;gwUf}&tt ns_`oY4AqJu7F%%zR0;S68i0<$R3msm=#PM+fd*pWPZ{_G#m!ED literal 0 HcmV?d00001 diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/.DS_Store" new file mode 100644 index 0000000000000000000000000000000000000000..591d3855e5c808cb67882969fa9ad38ded7c2ad4 GIT binary patch literal 6148 zcmeHK%}xR_5N-iwH)z5^6OK*1lDH@!gv$o;>cKU7P=jnBx^dkSe&j$fd)5~qzJRab zlNcYznYL&Ma`9jcnMtPKbUL%md?g*q7~}O}yTDkMF=l}xCTtjf5L`!Hkc9Cda`g?D zxvb3gSbpIJ+4isaC+b8S7If9)bIMC^daWW?}kBt;5hF*kxZ?v zr_**ilfLq9<;WYf2E%^6)w{sisg$8Vvs?aI&>1zeTZb|lw1TM9Qwc%410k2^LDZI` zx*SIBzRLCVf^A!NGn*Tai>oIjyck!iPF|Fq;$&i5+dI3pljdD`AIT?8Du>^n zl1+m%cm`u>eGgtQ3T1QyF|+(x9w9M63=jjW%z(M`tjsDGNwpCJ#K5l@!23afBDw}+ zjq2)vApuidPa&d!jc*A=VbC=gYlIaLu2TVZDmPCIuG7IUOq^>l)~M4NS3ARZ%+B1r zP`KJ1{6d8@?rNlw7$64b8A$4B7W@Cv^7sFI63vJKVqm2h;Hie!s6$Dnw=NWiy;gu; rgQ8$utnn)a4AqJu7F%%+R0;S68i20BSR;5q=#PM+fd*pWPZ{_GoEuPb literal 0 HcmV?d00001 diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/.DS_Store" new file mode 100644 index 0000000000000000000000000000000000000000..d375e08a76ef8b2d18798df4ffd50d19b5daa0af GIT binary patch literal 6148 zcmeHK%}N6?5T4X(yNI%aN^b_d7F_?T#miFls^E$qRBD$NU0gS%KUOG(J?jhkB)))e z;mMgK6-pI6h)9`%$v2tIB;?yAlK_CIbnEK?E&$|F2{R5hUkHtpj!DLP2nEe?G=E$O zme1cGeelPk+3_D4pl`Qu^!6yaE1^5`{d_3F2CPFFwxJaE+RZRlAx6K1%{XdzJnvOx zrn1vBxtx=m&0Phzsuy%>oo>5QYh6(9RH--|+O_a3YV@k^;=W2cwJ2${bV5{bV94cp zl+;zPqPj`Ft#bo2;5d1w>K6L_t=)1_Zti%4qU`UMy`n66TZ4gX0PX5dd5_y919Rm%VX literal 0 HcmV?d00001 diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/.DS_Store" new file mode 100644 index 0000000000000000000000000000000000000000..21a3dd91972f80c00fb7595b9c950a8168a39d49 GIT binary patch literal 6148 zcmeH~%}N6?5XY0Y+Ac-dgF9XVK5jv&Kpl8 zQ)}z#w3W`Lue_d|c*FK^G^n@x7x;80W$4fAZNC|GCoOyPP)5Uc5Ow=1A?S1=#h^zjJWfx()9l`J~0> z@IO?xVK~P#RDN9N*y~53jBX%yKF&O!ND7bwq`)dEVD`97c9j-IYasL`X-Jc@JR%Aj3f1?U>an$QA99|B4SDoBApRp0}8)m8`q literal 0 HcmV?d00001 diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250\347\232\204\350\201\214\350\264\243@@621957/MainContent.md" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250\347\232\204\350\201\214\350\264\243@@621957/MainContent.md" index 93a13f25a9b..d7fa51eb422 100644 --- "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250\347\232\204\350\201\214\350\264\243@@621957/MainContent.md" +++ "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250\347\232\204\350\201\214\350\264\243@@621957/MainContent.md" @@ -1,4 +1,7 @@ ## 引言 + +喵了个咪的 + 软件的性能与效率,在很大程度上取决于一个默默无闻却至关重要的角色——编译器的[代码生成器](@entry_id:747435)。它负责将程序员编写的[抽象逻辑](@entry_id:635488),转化为特定处理器能够执行的具体指令,是连接高级语言与底层硬件的最后一道桥梁。然而,这个转化过程并非简单的“翻译”,而是一系列充满智慧与权衡的复杂决策。从选择哪条机器指令最快,到如何管理稀缺的寄存器资源,再到如何编排指令以发挥硬件的最大潜能,这些决策共同决定了程序的最终速度和安全性。 本文将系统地揭示[代码生成器](@entry_id:747435)的各项核心职责。在“原理与机制”一章中,我们将深入探讨其工作的基本法则和核心技术,如[指令选择](@entry_id:750687)、[寄存器分配](@entry_id:754199)和[指令调度](@entry_id:750686)。接着,在“应用与跨学科联系”一章中,我们将展示这些技术如何在机器学习、[密码学](@entry_id:139166)乃至软件安全等前沿领域发挥关键作用。最后,“动手实践”部分将提供具体的编码挑战,让你亲身体验[代码生成](@entry_id:747434)的精妙之处。 @@ -58,4 +61,4 @@ 最后,所有这一切都发生在一个由[代码生成器](@entry_id:747435)亲手搭建的“舞台”上——函数的**栈帧**(stack frame)。它负责在栈上为局部变量、保存的寄存器以及[溢出](@entry_id:172355)的值分配空间。这里还有一个至关重要的细节:**对齐**(alignment)。某些高级指令(如用于[并行计算](@entry_id:139241)的 SIMD 指令)非常“挑剔”,它们要求其操作的数据必须存放在 $16$ 字节对齐的内存地址上。如果数据没有对齐,它们要么直接罢工,要么执行效率大打[折扣](@entry_id:139170)。为此,[代码生成器](@entry_id:747435)必须一丝不苟地计算栈上每个元素的大小,并在必要时插入一些看似无用的**填充字节**(padding),以确保所有数据都完美地落在它们期望的地址边界上。这是一种为了满足硬件苛刻要求而进行的精密工程 [@problem_id:3628169]。 -总而言之,[代码生成器](@entry_id:747435)的各项职责并非孤立的任务,而是一张相互关联、充满权衡的决策网络。指令的选择会影响寄存器的需求,而寄存器的压力又反过来约束指令的调度。一个看似简单的 C 语言语句,在[代码生成器](@entry_id:747435)手中,会绽放为一段精心编排的机器指令之舞,其目的不仅是为了正确,更是为了从底层的硅晶片中榨取出每一滴性能。这便是[代码生成器](@entry_id:747435)隐藏的魅力:一个不知疲倦的智能代理,将我们的抽象思维,转化为触手可及、快如闪电的现实。 \ No newline at end of file +总而言之,[代码生成器](@entry_id:747435)的各项职责并非孤立的任务,而是一张相互关联、充满权衡的决策网络。指令的选择会影响寄存器的需求,而寄存器的压力又反过来约束指令的调度。一个看似简单的 C 语言语句,在[代码生成器](@entry_id:747435)手中,会绽放为一段精心编排的机器指令之舞,其目的不仅是为了正确,更是为了从底层的硅晶片中榨取出每一滴性能。这便是[代码生成器](@entry_id:747435)隐藏的魅力:一个不知疲倦的智能代理,将我们的抽象思维,转化为触手可及、快如闪电的现实。