From ebd8dedc40e2990423bbeb278d5968f69dc02f58 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Wed, 28 Jan 2026 10:47:07 +0100 Subject: [PATCH] [SPCA] Fix another typo --- .../parts/03_hw/04_virtual-memory/03_x86.tex | 2 +- semester3/spca/spca-summary.pdf | Bin 792390 -> 792390 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/semester3/spca/parts/03_hw/04_virtual-memory/03_x86.tex b/semester3/spca/parts/03_hw/04_virtual-memory/03_x86.tex index 5cac78e..4259f0d 100644 --- a/semester3/spca/parts/03_hw/04_virtual-memory/03_x86.tex +++ b/semester3/spca/parts/03_hw/04_virtual-memory/03_x86.tex @@ -8,7 +8,7 @@ On the slides, they are again using (as far as we can tell) a Skylake CPU (Core On that architecture, the TLB contained the 40 bit PPN, a 32 bit TLB Tag, as well as \begin{itemize} \item a valid bit (\texttt{V}) - \item a global bit (\texttt{G}, coped from PDE / PTE and prevents eviction) + \item a global bit (\texttt{G}, copied from PDE / PTE and prevents eviction) \item a supervisor-only bit (\texttt{S}, i.e. only accessible to OS, copied from PDE / PTE) \item a writable bit (\texttt{W}, page is writable, copied from PDE / PTE) \item a dirty bit (\texttt{D}, PTE has been marked dirty (i.e. modified vs memory)) diff --git a/semester3/spca/spca-summary.pdf b/semester3/spca/spca-summary.pdf index 755c1ceae9eb39f86df4db773da52e99af3590f7..118360d7339cdc107367321673595a461c0a147a 100644 GIT binary patch delta 6416 zcmai$g;UgD)W+$hLsGg+a#^~U6r>xZq?TApkoLQ@igYX;A|XgG-TVZk1SBLRl?7pu z?(pS(|AF_;d}i*PdCqg^+?i+Q4AqJa)ruivuu(V>`p6Oy96^B5(`Q-pxD&uvHbx8{ zHiXmi`!*E(PLq0TQvC;eB%+u{hZmYE_;kb%xSR02O3{}8W9t`>y9tw(|G!gbyS%{A zav582NUf9B{vlm`j8UXptPyj7 z3ODU#*7l7)#V%eXZQCfB{56YqHoHG#Ip5e#Usjnn&P3o?JQl)otPX)N)m5QLUvp|> zB?e6YzHe&wJCFPr&TWC%**|t*{|Azfy=%EWTOJcW$n-ipswvq3OdAgFyp|&b_59;`|LTeNZs*%2&w) zH*Z*$gfzHX6sM{Qp2bI4$1s&~xtB9xJBn~It|0B`RkJZf-DNt6g-iIgt@9Fz0}`t81p>s@BzXzhBx;;fWh8S z?nEY2-a*2xDi`+z)$ZBmpdXtk7v22#Im%qxKx;{1nnb3ADlJoU`n-6dY1FHb#%HbW z9O;;K&^h~L*1)pca%+=hYx)YgT-ve%ex*~Y5T=BZPKKUw+3Y*_&+k%n3zTYI`b_m- zo?KOq3b!({R*$c&sF9uYJ@O~u2KEJZFuiW`UnEmSKr{*`$JZ9R%O_4uUh(GZARvc~ zz@7gG34!K9^CthR+izkUZG_*{J!c_UWGv4%uOful%N#2APYFWJX_gef3#*iCL2-5; z+mn5N4{HpS-JkuZ(Mj@6CH9}ue|swby&gCuCKotLs2h2OtXT6@>U7tia05Ck`S#r^ z3MxBOX<^xlN><(v~?;LGiWLc|xutHTjHswu-u>6u>s;JHxE zuKO`ABCG7E_-XIXy!9%+K;BpN{`I>MzHAychA~0iy^~*hjRy0dc-?=NVjkTdsFJ?4 zMgA7gdK|+ITHt^wk8`>dwrUpf-3H(3d!g{etZk1mx;|TEc(}^%M=pUGg~RY;&5PfQ z_&kioh<&K4u&eJmi>bh^6?dLr)SH!2$EevoR)HT~PxFk7$-(INO9_PqzAAcChKMx7 zMg;2)Y1Eb&F;VG{kF}IuvLDqUma>fZn6r8DS{-e$Qoy`gdf^4k0Bx<5O=W8Ft(m(o z3Wh&GMfgfxwb939%uLfg z)7pwDR5#wrl^6TyMED!cj#NZ4nc-++Yaw5l;qdYJ7DR=Li)O#$)y#=W5k&0E+Fl}_ z`oPX5O#DHYRDjKRlPaeo!b)KBX4`#x7-*vDzLqlR_h(?T`PL)Gr^u&E)uWySoqBUvvi-DudWD@EHi*stU` z-bwT4g+zZ0p*WLV*1U`0fu~YWd4HWtCOmOyO__b)qtDICeVPl{*pLv8sT<^@+Zmpz zZx!W6?EkHijsY={12pnC5{k~Ou+J| zoFdMWL4mv2t7*0U?`DFygy(DKW+-2Ctdr6{5Iv}8x5|4Jba?5JG5oR{*@?LvAR?Wb zBOy@qq`*v5N3-m$U`L59R-UE^i)-AX2RnfmM`w0b?sFW~Ru|hmw)Et)9>#Ri$s?Ri z#sZn1X~l86q-%{*JG1m22R?v4US+8CD>ZCEnsxgsnhUe}g!e^R|M?`3l)MzZj%(yO z*f~DSUPXYx)Un#M!rE~_7JJT78G81U-itboigssKgcI@J zX#M1t=T5dRMR2V@R3NHdx>5z=6(db+eal8A$rmI&s0)nBK;t>?Yba1K6wk}YSMr;V zqyE?BNV%)?=h#OX2I4A=dQzBnlUs-3Sv`csC5rGcjqHL{2egvk5uoBs{xoaPnS1B& z{o5Be8AM78xrZ;yQIB59RuhYZ7+ywfsjojVI$Kb(dH%9}gqT8` zbL)G9=nf}AL5fPYc;_~N+Tgm&_1ZSetpGj4e}~S`IcSt++JyQ$O+C875tedu88VJ7 zj3|}WT{5q_Vie0cG_czwiM8BLkLlf_6L4x6zo1b~`br7;umKZj3~QmK^Zm;2>K;UT z-5MM}di|^cTdBR@d0xDzBtjeC6R~-kRQbH5uO8KZV=16|nfe=e$3rdS{713XnZxmY zNDiq63->;m(+Wj4&5effj{(ivwGIweP|8nLC?k7cyk|0j1q?Jusa`@JSLNTE3K473 zimrA%Gm6ws+r*X>CEzFy51|+TV3vXz86BRm#>#d_& zn6%h;Kfb9T5-@VXD&iOk8tL8QsLA57{VQ;{^TrBKcJ~M1s{J1Ih|zyj>m&OdvrLtw z4b(nFDe||=x<1H?nvN&s+eBsT7S4YS zpgw(OtI@z^P+vf7G_s+GHl9Nk-4}@%mWEFHcljRb;2o)$96HjihnQ0eI{mdy{dLYZ z*Z+w?(ak0iE|=O82YV`7El$ zxHFn2mP9&Y{vW}mgK0CUsh5^ z9P&g=oKH-QPk>ld&&OHaF~EhLUtJC?29^>N2g`{4pQKfifK&qCSX>4yt1c@Gl@ynR zs;f#!LS$5>!D0{@FhoN_Qe90#iCy9UmDm!CK6CMQ3xKhMWuzhLj(Ge4Pqw=ki^b!( z?Y#Dcx*t!w4y2PVWRlWl^z+;F^S@ZJEVsXHlJR@7_NI*e(x}oj#(}@XY>xKrBbdMo z>Z+=H!c78Nb)#xQ<=mFyDvdHRsIBSjyR3UG7Hq*NvB|L_t?jVM_Lpwxn{PQ6%#$Y` z-dA>pN?7DkRwrF@lNVj@0XMt9hByb3v95)-W@FNm%5~=JA$I#Uc!BJAXRYHT9kY2l z1H1!4wB_mbl0+s3g5%tdT93+=E5!0*BA#Y1me+H--W0+JZmgrEnF-)qW zOXjG8n22IFIMWi|1{Q;Qp8B$?3|`#y`G-VmZyYYz%~T7uH$f>3G}S`ojqL;*o@#kS zygWrWJwzB7=?9?FVb>1}8qPlH5`T$zIQ`& zg#8zzGpmH6gD6&|b+Ofuz*7wI{VCxzdUft}%upt+Jw64}q+-3|KeTN4!&Bu`p+w2i zvZy=l#auStX zHc10Eo1SRHTQMvF)Cz38RE7);15Gm$HWlN*$rEK6wpDnRh)`!SW{8o$#IW(T>=9Op z#T77Mt^L(GIS2C>Cl^ZQ+SqA^vWDJKrLWkk&XfhDkF0=Vv1)P+DHfv4Bg>c9$p+yt zYiB{CkWN34HEu3z_1UzvW?+T{T3vnt*%xOMium;Z=m-v5kPHrvH zE2SmM!5qmjlIUo6e|dHuj02~GXQqs>9zf+|G;0PQD${NF}^3+4$MuX*?l zwqMITr3D<$jl(ZtRuHtyxO4LMbY=7*gd<(iPTfhIIA=yYT~VYs@B=O3oF8Kig`Qf# zv;^$g7vEGv=>T##b*@NVyp`rJHOg<)yBg2cA1=G|r;kKS1duOdbovCBNOM_rM@-Dq z18f#?35?OPW5j2iQo!^JkC^ZbD6xq1Thgnn*yVomdJ;odjzHR7-imRiyyMF?f!Z`| zT6VbIjqP=^P$iyOG2<-4+7JY-C;tpOE5?RI@lKIit2}|>K4c{zN@R-c*a3G3`ym-S zxOWa%q){AVq^F#keXe4}EeP>?S})w?ewhVq-ah?$l4nuCiUY+|SUcIXXxw%7Z2b5> zM_)W<{NX-7F_1nYq#lc||EVEXMW1^;-ZwN1X$3TT4Sm>ZCLH7$#1E3}KUv)CB-i79W!=Z? znDIO5xy~9I;c|R;+|g{6GF}>1S4~f!QG|V&uP_Ag0u0Qc`0=nyjl};(ekc2@T@Ml= z)JB|?k6)rAo>cphVBMrDQ|RYhlveLP#1y-n3&4I(FosqPF;??^9O9+%n#_O;KG)^R zRu!B4)n2@_G*0Y;DW{i821cwfM4K^_+6Y2r$If|UG~cytZ|pE@h^q%5RIYTjn#LIM6_az42CFlc zlA*hM%U2T-IByC1D0id}?5lUnb~)d13|MM$%QEV-p49D@F>uxtG*)+*q%p%KtMA+6 z324-GgKs=H0&wqz z=nRffj~>otugsK^XHgBOZT!C0?y8pV1fF*baV04hlnODQZ7yN&#VupWO|V{RM|Xyp z@)ndbFb}Q=1GU2#qiz$eX_^|a6egZA=2Rjyg)0i2b zr;Rhb&ixp4#i@l7DLcO!*%Zgv-HHg_~gAvLG=>(

8n>zjy-^k`&v5YMS*37;b3>_#y_<>cKq%TB2iHORf<((nfQ0Ei^cFbTem@U zYcz|BT?k)_S|Q%?U>M?Oy_ayjWbA(qL${yOYCiz!eu}R5I!IJ0TG_H<{;4ms5P}Om z2|!t1qSyXay4}xIg8`=w{&^IFURWsiUxFLtFHK(pod|;Gr06a|?pqXXF{vHoA3A=w z?TdW&)`t#%#H+zuWqp2#?#fk~wY$pbqp&}~slEGeW_gB;r(j;OK0Jc#J}hd63^fvC z`*{a&;vUIpAR4%paCc@*rg6Z*{cLaOjha0)J2S?45Z2KH8OuVF_ZopI5f}#q3u%2c z_Jhe8{uZn51i5>D&rOE{58}ZiI!kV*+D;Hhp5ehG+}4n_d3Nc??3gPtAHzBxZoUJ8 zn$$N6TVJg2AHECNb`}0<^4?C_Y0YFlA05Cud)J^r9@x1gV>IgmN1ie}cYLk^EsA>n z=l9MIP;5VE)Kz)X%$oT;tGQi<0#(Mo;sWQ^_P1J&A5+PTlT_I}0zOSORbBi;PlMNO zcK3>m7%X=;4k|MnXGM!lp1?mb>3X;bomD(;ZpR}_wfks=K zWrbh_nyZ9QR*S7Av+iz*nmvSX`jwh@KfgEv@SCC4ZSx=I<;Kc1XRUqO=gFIQg@4?1 zSd(Qjh1u0;jw#+VHRlRlT>QI`ve~ko^Juo*N=UAr^Dt9nn)7I?3R~4)?eAW{@1$0M zWUMpQ@di7C`&)tR_0Al;H8$PZ{CU@j?wzTTo3Pi{1WaGT z`zPSquWcWaPLps8dUyIXv@A$e;=|-7WOZVMJkJV| SEcB!tgp$NOJQ@a?#Qy`^Rp(y- delta 6431 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