[{"data":1,"prerenderedAt":41606},["ShallowReactive",2],{"series:index":3,"content:\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl8-9-memory":972,"surround:\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl8-9-memory":41603},[4,15,25,35,45,54,64,74,82,91,101,110,120,129,138,147,152,162,172,181,189,194,203,213,223,233,243,253,263,273,283,293,303,313,323,333,339,348,357,366,372,381,391,401,410,420,429,439,448,457,467,476,485,494,504,513,522,531,540,549,559,569,578,587,596,605,610,620,629,638,644,649,658,666,674,679,687,692,700,708,716,724,732,740,749,758,766,774,779,787,796,805,814,823,831,836,845,850,855,863,871,879,887,895,900,905,914,923,931,939,947,955,963],{"stem":5,"path":6,"title":7,"date":8,"collapsed":9,"readingTime":10},"posts\u002F2024\u002FXZZD-Aquire-Score","\u002F2024\u002F10\u002F23\u002FXZZD-Aquire-Score","XZZD_Aquire_Score","2024-10-23 15:08:30",false,{"text":11,"minutes":12,"time":13,"words":14},"3 min read",2.955,177300,591,{"stem":16,"path":17,"title":18,"date":19,"collapsed":9,"readingTime":20},"posts\u002F2024\u002Felec-design-contest-2024","\u002F2024\u002F07\u002F07\u002Felec-design-contest-2024","东四——隐秘的角落","2024-07-07 11:44:32",{"text":21,"minutes":22,"time":23,"words":24},"2 min read",1.74,104400,348,{"stem":26,"path":27,"title":28,"date":29,"collapsed":9,"readingTime":30},"posts\u002F2024\u002Fmechanics","\u002F2024\u002F07\u002F08\u002Fmechanics","about力学","2024-07-08 14:14:07",{"text":31,"minutes":32,"time":33,"words":34},"9 min read",8.54,512400,1708,{"stem":36,"path":37,"title":38,"date":39,"collapsed":9,"readingTime":40},"posts\u002F2025\u002F25GElecDesignContest","\u002F2025\u002F08\u002F26\u002F25GElecDesignContest","纪念最好的大二五组 - Soleil 的 电赛回忆录","2025-08-26 11:06:33",{"text":41,"minutes":42,"time":43,"words":44},"30 min read",29.99,1799400,5998,{"stem":46,"path":47,"title":48,"date":49,"collapsed":9,"readingTime":50},"posts\u002F2025\u002FEngineering-Innovation","\u002F2025\u002F01\u002F20\u002FEngineering-Innovation","工程实践与创新能力大赛","2025-01-20 22:20:59",{"text":21,"minutes":51,"time":52,"words":53},1.365,81900,273,{"stem":55,"path":56,"title":57,"date":58,"collapsed":9,"readingTime":59},"posts\u002F2025\u002FTOP","\u002F2025\u002F01\u002F20\u002FTOP","置顶","3025-01-20 21:53:36",{"text":60,"minutes":61,"time":62,"words":63},"1 min read",0.285,17100,57,{"stem":65,"path":66,"title":67,"date":68,"collapsed":9,"readingTime":69},"posts\u002FUGCourses\u002F1.freshman-spring\u002Fengineering-drawing-notes","\u002F2024\u002F06\u002F30\u002Fengineering-drawing-notes","工程图学期末复习","2024-06-30 21:02:09",{"text":70,"minutes":71,"time":72,"words":73},"15 min read",14.78,886800,2956,{"stem":75,"path":76,"title":77,"date":78,"collapsed":9,"readingTime":79},"posts\u002FUGCourses\u002F1.freshman-spring\u002Findex","\u002Fugcourses\u002Ffreshman-spring","大一春夏","2024-06-30 19:15:28",{"text":80,"minutes":81,"time":81,"words":81},"0 min read",0,{"stem":83,"path":84,"title":85,"date":86,"collapsed":9,"readingTime":87},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FComplex-Analysis","\u002F2025\u002F01\u002F21\u002FComplex-Analysis","复变函数与积分变换","2025-01-21 13:23:59",{"text":11,"minutes":88,"time":89,"words":90},2.855,171300,571,{"stem":92,"path":93,"title":94,"date":95,"collapsed":9,"readingTime":96},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FFundamentalsMarxism","\u002F2025\u002F06\u002F06\u002FFundamentalsMarxism","马克思主义基本原理","2025-06-06 00:22:45",{"text":97,"minutes":98,"time":99,"words":100},"6 min read",5.54,332400,1108,{"stem":102,"path":103,"title":104,"date":105,"collapsed":9,"readingTime":106},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMathematical-Modeling","\u002F2024\u002F09\u002F22\u002FMathematical-Modeling","数学建模（课程）","2024-09-22 19:07:42",{"text":11,"minutes":107,"time":108,"words":109},2.475,148500,495,{"stem":111,"path":112,"title":113,"date":114,"collapsed":9,"readingTime":115},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMicroelectronic-Circuits","\u002F2025\u002F01\u002F20\u002FMicroelectronic-Circuits","电基小子","2025-01-20 23:02:49",{"text":116,"minutes":117,"time":118,"words":119},"5 min read",4.225,253500,845,{"stem":121,"path":122,"title":123,"date":124,"collapsed":9,"readingTime":125},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMumerical-Analysis","\u002F2024\u002F09\u002F19\u002FMumerical-Analysis","数值分析方法","2024-09-19 17:12:56",{"text":11,"minutes":126,"time":127,"words":128},2.1,126000,420,{"stem":130,"path":131,"title":132,"date":133,"collapsed":9,"readingTime":134},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FProbability-Theory","\u002F2025\u002F01\u002F21\u002FProbability-Theory","概率论与数理统计","2025-01-21 12:52:11",{"text":11,"minutes":135,"time":136,"words":137},2.205,132300,441,{"stem":139,"path":140,"title":141,"date":142,"collapsed":9,"readingTime":143},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Fengineering-training","\u002F2024\u002F09\u002F17\u002Fengineering-training","工程训练","2024-09-17 21:40:26",{"text":11,"minutes":144,"time":145,"words":146},2.385,143100,477,{"stem":148,"path":149,"title":150,"date":78,"collapsed":9,"readingTime":151},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Findex","\u002Fugcourses\u002Fsophomore-autumn","大二秋冬",{"text":80,"minutes":81,"time":81,"words":81},{"stem":153,"path":154,"title":155,"date":156,"collapsed":9,"readingTime":157},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Fsolid-state-physics","\u002F2024\u002F09\u002F11\u002Fsolid-state-physics","固体物理基础","2024-09-11 19:15:26",{"text":158,"minutes":159,"time":160,"words":161},"4 min read",3.21,192600,642,{"stem":163,"path":164,"title":165,"date":166,"collapsed":9,"readingTime":167},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FAIFrontier","\u002Fugcourses\u002Fsophomore-spring\u002Faifrontier","人工智能前沿","2025-06-12 14:58:16",{"text":168,"minutes":169,"time":170,"words":171},"25 min read",24.02,1441200,4804,{"stem":173,"path":174,"title":175,"date":166,"collapsed":9,"readingTime":176},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FDigitalSys","\u002Fugcourses\u002Fsophomore-spring\u002Fdigitalsys","数字系统设计",{"text":177,"minutes":178,"time":179,"words":180},"45 min read",44.87,2692200,8974,{"stem":182,"path":183,"title":184,"date":166,"collapsed":9,"readingTime":185},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FMaoTheory","\u002F2025\u002F06\u002F12\u002FMaoTheory","毛概",{"text":70,"minutes":186,"time":187,"words":188},14.63,877800,2926,{"stem":190,"path":191,"title":192,"date":78,"collapsed":9,"readingTime":193},"posts\u002FUGCourses\u002F3.sophomore-spring\u002Findex","\u002Fugcourses\u002Fsophomore-spring","大二春夏",{"text":80,"minutes":81,"time":81,"words":81},{"stem":195,"path":196,"title":197,"date":198,"collapsed":9,"readingTime":199},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture1","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture1","Lecture 1：摩尔定律与 CMOS","2026-09-09 19:39:00",{"text":60,"minutes":200,"time":201,"words":202},0.535,32100,107,{"stem":204,"path":205,"title":206,"date":207,"collapsed":9,"readingTime":208},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture10","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture10","Lecture 10：从 MOS 电容到 MOSFET","2026-09-10 00:10:00",{"text":209,"minutes":210,"time":211,"words":212},"18 min read",17.615,1056900,3523,{"stem":214,"path":215,"title":216,"date":217,"collapsed":9,"readingTime":218},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture11","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture11","Lecture 11：亚阈值效应与 MOSFET 尺寸缩放","2026-09-10 00:20:00",{"text":219,"minutes":220,"time":221,"words":222},"23 min read",22.35,1341000,4470,{"stem":224,"path":225,"title":226,"date":227,"collapsed":9,"readingTime":228},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture12","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture12","Lecture 12：MOSFET 尺寸缩微","2026-09-10 00:30:00",{"text":229,"minutes":230,"time":231,"words":232},"35 min read",34.225,2053500,6845,{"stem":234,"path":235,"title":236,"date":237,"collapsed":9,"readingTime":238},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture13","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture13","Lecture 13：MOS 新范式","2026-09-10 00:40:00",{"text":239,"minutes":240,"time":241,"words":242},"24 min read",23.25,1395000,4650,{"stem":244,"path":245,"title":246,"date":247,"collapsed":9,"readingTime":248},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture2","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture2","Lecture 2：半导体基础","2026-09-09 19:39:31",{"text":249,"minutes":250,"time":251,"words":252},"7 min read",6.02,361200,1204,{"stem":254,"path":255,"title":256,"date":257,"collapsed":9,"readingTime":258},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture3","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture3","Lecture 3：费米能级、载流子散射与迁移率","2026-09-09 21:00:00",{"text":259,"minutes":260,"time":261,"words":262},"13 min read",12.565,753900,2513,{"stem":264,"path":265,"title":266,"date":267,"collapsed":9,"readingTime":268},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture4","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture4","Lecture 4：漂移电流、扩散电流与产生复合","2026-09-09 23:00:00",{"text":269,"minutes":270,"time":271,"words":272},"10 min read",9.22,553200,1844,{"stem":274,"path":275,"title":276,"date":277,"collapsed":9,"readingTime":278},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture5","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture5","Lecture 5：PN 结与耗尽区","2026-09-09 23:10:00",{"text":279,"minutes":280,"time":281,"words":282},"14 min read",13.515,810900,2703,{"stem":284,"path":285,"title":286,"date":287,"collapsed":9,"readingTime":288},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture6","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture6","Lecture 6：正向偏置 PN 结与理想二极管方程","2026-09-09 23:20:00",{"text":289,"minutes":290,"time":291,"words":292},"20 min read",19.095,1145700,3819,{"stem":294,"path":295,"title":296,"date":297,"collapsed":9,"readingTime":298},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture7","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture7","Lecture 7：金半接触","2026-09-09 23:40:00",{"text":299,"minutes":300,"time":301,"words":302},"16 min read",15.195,911700,3039,{"stem":304,"path":305,"title":306,"date":307,"collapsed":9,"readingTime":308},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture8","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture8","Lecture 8：PN 结在光电领域的应用","2026-09-09 23:50:00",{"text":309,"minutes":310,"time":311,"words":312},"54 min read",53.955,3237300,10791,{"stem":314,"path":315,"title":316,"date":317,"collapsed":9,"readingTime":318},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture9","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture9","Lecture 9：MOS 电容","2026-09-10 00:00:00",{"text":319,"minutes":320,"time":321,"words":322},"21 min read",20.355,1221300,4071,{"stem":324,"path":325,"title":326,"date":327,"collapsed":9,"readingTime":328},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FMidtermExam","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Fmidtermexam","期中复习题","2026-09-09 23:30:00",{"text":329,"minutes":330,"time":331,"words":332},"8 min read",7.595,455700,1519,{"stem":334,"path":335,"title":336,"date":337,"collapsed":9,"readingTime":338},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FMockExam","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Fmockexam","押题密卷","2026-09-10 00:50:00",{"text":21,"minutes":51,"time":52,"words":53},{"stem":340,"path":341,"title":342,"date":198,"collapsed":343,"readingTime":344},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices","微电子器件",true,{"text":158,"minutes":345,"time":346,"words":347},3.055,183300,611,{"stem":349,"path":350,"title":351,"date":352,"collapsed":9,"readingTime":353},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F1.HistoryMetaCharacters","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fhistorymetacharacters","History & Meta Characters","2026-09-10 20:25:44",{"text":269,"minutes":354,"time":355,"words":356},9.36,561600,1872,{"stem":358,"path":359,"title":360,"date":361,"collapsed":9,"readingTime":362},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F1.ExamAutumn2223","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamautumn2223","22-23 秋冬历年卷","2026-09-10 20:26:49",{"text":319,"minutes":363,"time":364,"words":365},20.295,1217700,4059,{"stem":367,"path":368,"title":369,"date":370,"collapsed":9,"readingTime":371},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F2.Exam2021","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexam2021","20-21 历年卷","2026-09-10 20:26:50",{"text":289,"minutes":290,"time":291,"words":292},{"stem":373,"path":374,"title":375,"date":376,"collapsed":9,"readingTime":377},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F3.ExamRecall1","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamrecall1","不知名回忆卷 1","2026-09-10 20:26:51",{"text":116,"minutes":378,"time":379,"words":380},4.215,252900,843,{"stem":382,"path":383,"title":384,"date":385,"collapsed":9,"readingTime":386},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F4.ExamRecall23","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamrecall23","不知名回忆卷 2\u002F3","2026-09-10 20:26:52",{"text":387,"minutes":388,"time":389,"words":390},"12 min read",11.235,674100,2247,{"stem":392,"path":393,"title":394,"date":395,"collapsed":9,"readingTime":396},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F1.Chapter1-Introduction","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter1-introduction","Chapter 1：Introduction","2026-09-10 20:27:26",{"text":397,"minutes":398,"time":399,"words":400},"19 min read",18.435,1106100,3687,{"stem":402,"path":403,"title":404,"date":405,"collapsed":9,"readingTime":406},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F2.Chapter2-IntroductionToUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter2-introductiontounix","Chapter 2：Introduction to Unix","2026-09-10 20:27:40",{"text":168,"minutes":407,"time":408,"words":409},24.895,1493700,4979,{"stem":411,"path":412,"title":413,"date":414,"collapsed":9,"readingTime":415},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F3.Chapter3-ViAndShell","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter3-viandshell","Chapter 3：Vi and Shell","2026-09-10 20:27:41",{"text":416,"minutes":417,"time":418,"words":419},"32 min read",31.035,1862100,6207,{"stem":421,"path":422,"title":423,"date":424,"collapsed":9,"readingTime":425},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F4.Chapter4-Network","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter4-network","Chapter 4：Network","2026-09-10 20:27:49",{"text":239,"minutes":426,"time":427,"words":428},23.975,1438500,4795,{"stem":430,"path":431,"title":432,"date":433,"collapsed":9,"readingTime":434},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F5.Chapter5-Administration","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter5-administration","Chapter 5：Administration","2026-09-10 20:27:51",{"text":435,"minutes":436,"time":437,"words":438},"36 min read",35.41,2124600,7082,{"stem":440,"path":441,"title":442,"date":443,"collapsed":9,"readingTime":444},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F6.Chapter6-Xwindow","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter6-xwindow","Chapter 6：Xwindow","2026-09-10 20:27:53",{"text":319,"minutes":445,"time":446,"words":447},20.235,1214100,4047,{"stem":449,"path":450,"title":451,"date":452,"collapsed":9,"readingTime":453},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F7.Chapter7-SoftwareDevelopmentTools","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter7-softwaredevelopmenttools","Chapter 7：Software Development Tools","2026-09-10 20:27:54",{"text":209,"minutes":454,"time":455,"words":456},17.85,1071000,3570,{"stem":458,"path":459,"title":460,"date":461,"collapsed":9,"readingTime":462},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F8.Chapter8-CProgrammingInUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter8-cprogramminginunix","Chapter 8：C Programming in Unix","2026-09-10 20:27:57",{"text":463,"minutes":464,"time":465,"words":466},"17 min read",16.855,1011300,3371,{"stem":468,"path":469,"title":470,"date":471,"collapsed":9,"readingTime":472},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F2.LinuxUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Flinuxunix","Linux & Unix","2026-09-10 20:25:46",{"text":41,"minutes":473,"time":474,"words":475},29.33,1759800,5866,{"stem":477,"path":478,"title":479,"date":480,"collapsed":9,"readingTime":481},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F3.Vi","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fvi","Vi","2026-09-10 20:25:47",{"text":329,"minutes":482,"time":483,"words":484},7.95,477000,1590,{"stem":486,"path":487,"title":488,"date":489,"collapsed":9,"readingTime":490},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F4.ViCopy","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fvicopy","Vi（详细版）","2026-09-10 20:25:49",{"text":279,"minutes":491,"time":492,"words":493},13.785,827100,2757,{"stem":495,"path":496,"title":497,"date":498,"collapsed":9,"readingTime":499},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F5.Shells","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fshells","Shells","2026-09-10 20:25:51",{"text":500,"minutes":501,"time":502,"words":503},"22 min read",21.21,1272600,4242,{"stem":505,"path":506,"title":507,"date":508,"collapsed":9,"readingTime":509},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F6.Network","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fnetwork","Network","2026-09-10 20:25:54",{"text":319,"minutes":510,"time":511,"words":512},20.595,1235700,4119,{"stem":514,"path":515,"title":516,"date":517,"collapsed":9,"readingTime":518},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F7.SystemAdministration","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fsystemadministration","System Administration","2026-09-10 20:26:44",{"text":329,"minutes":519,"time":520,"words":521},7.12,427200,1424,{"stem":523,"path":524,"title":525,"date":526,"collapsed":9,"readingTime":527},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F8.XWindow","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fxwindow","XWindow","2026-09-10 20:26:45",{"text":97,"minutes":528,"time":529,"words":530},5.105,306300,1021,{"stem":532,"path":533,"title":534,"date":535,"collapsed":9,"readingTime":536},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F9.SystemDevelopmentTools","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fsystemdevelopmenttools","System Development Tools","2026-09-10 20:26:47",{"text":387,"minutes":537,"time":538,"words":539},11.35,681000,2270,{"stem":541,"path":542,"title":543,"date":544,"collapsed":343,"readingTime":545},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad","面向 ICCAD 的软件基础技术","2026-09-10 12:37:00",{"text":60,"minutes":546,"time":547,"words":548},0.185,11100,37,{"stem":550,"path":551,"title":552,"date":553,"collapsed":9,"readingTime":554},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai1","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai1","飞起来1.0","2026-09-10 12:51:49",{"text":555,"minutes":556,"time":557,"words":558},"105 min read",104.655,6279300,20931,{"stem":560,"path":561,"title":562,"date":563,"collapsed":9,"readingTime":564},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai2","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai2","飞起来2.0","2026-09-10 12:52:06",{"text":565,"minutes":566,"time":567,"words":568},"29 min read",28.755,1725300,5751,{"stem":570,"path":571,"title":572,"date":573,"collapsed":9,"readingTime":574},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai3","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai3","飞起来3.0","2026-09-10 12:52:12",{"text":116,"minutes":575,"time":576,"words":577},4.49,269400,898,{"stem":579,"path":580,"title":581,"date":582,"collapsed":9,"readingTime":583},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FLecture13","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Flecture13","Lecture 13：浮点数标准","2026-09-10 12:51:27",{"text":11,"minutes":584,"time":585,"words":586},2.575,154500,515,{"stem":588,"path":589,"title":590,"date":591,"collapsed":9,"readingTime":592},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FLecture6","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Flecture6","Lecture 6：Behavioral Modeling，非阻塞赋值","2026-09-10 12:51:12",{"text":97,"minutes":593,"time":594,"words":595},5.34,320400,1068,{"stem":597,"path":598,"title":599,"date":600,"collapsed":9,"readingTime":601},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FPPTCorrespondence","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Fpptcorrespondence","与PPT的对应","2026-09-10 12:52:18",{"text":269,"minutes":602,"time":603,"words":604},9.275,556500,1855,{"stem":606,"path":607,"title":608,"date":544,"collapsed":343,"readingTime":609},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl","硬件描述语言原理与应用",{"text":60,"minutes":61,"time":62,"words":63},{"stem":611,"path":612,"title":613,"date":614,"collapsed":9,"readingTime":615},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F1.BeforeMidterm","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Fbeforemidterm","期中前","2026-09-10 20:28:52",{"text":616,"minutes":617,"time":618,"words":619},"11 min read",10.835,650100,2167,{"stem":621,"path":622,"title":623,"date":624,"collapsed":9,"readingTime":625},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F2.MidtermExam2425","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Fmidtermexam2425","24-25 期中","2026-09-10 20:29:00",{"text":21,"minutes":626,"time":627,"words":628},1.22,73200,244,{"stem":630,"path":631,"title":632,"date":633,"collapsed":9,"readingTime":634},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F3.FinalExamReview","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Ffinalexamreview","期末考试整理","2026-09-10 20:29:09",{"text":387,"minutes":635,"time":636,"words":637},11.36,681600,2272,{"stem":639,"path":640,"title":641,"date":642,"collapsed":343,"readingTime":643},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign","模拟集成电路设计","2026-09-10 20:00:00",{"text":80,"minutes":81,"time":81,"words":81},{"stem":645,"path":646,"title":647,"date":78,"collapsed":9,"readingTime":648},"posts\u002FUGCourses\u002F4.junior-autumn\u002Findex","\u002Fugcourses\u002Fjunior-autumn","大三秋冬",{"text":80,"minutes":81,"time":81,"words":81},{"stem":650,"path":651,"title":652,"date":653,"collapsed":9,"readingTime":654},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F1.Chapter3-Device","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter3-device","Chapter 3：器件 Device","2026-09-10 21:14:41",{"text":249,"minutes":655,"time":656,"words":657},6.055,363300,1211,{"stem":659,"path":660,"title":661,"date":653,"collapsed":9,"readingTime":662},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F10.Chapter12-Arithmetic","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter12-arithmetic","Chapter 12：算术运算电路 Arithmetic",{"text":168,"minutes":663,"time":664,"words":665},24.245,1454700,4849,{"stem":667,"path":668,"title":669,"date":653,"collapsed":9,"readingTime":670},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F11.Chapter13-Memory","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter13-memory","Chapter 13：存储器 Memory",{"text":229,"minutes":671,"time":672,"words":673},34.235,2054100,6847,{"stem":675,"path":676,"title":677,"date":653,"collapsed":9,"readingTime":678},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F12.Chapter14","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter14","Chapter 14",{"text":80,"minutes":81,"time":81,"words":81},{"stem":680,"path":681,"title":682,"date":653,"collapsed":9,"readingTime":683},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F1.Midterm2022","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Fmidterm2022","2022 期中试题",{"text":60,"minutes":684,"time":685,"words":686},0.075,4500,15,{"stem":688,"path":689,"title":690,"date":653,"collapsed":9,"readingTime":691},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F2.Midterm2023","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Fmidterm2023","2023 期中试题",{"text":80,"minutes":81,"time":81,"words":81},{"stem":693,"path":694,"title":695,"date":653,"collapsed":9,"readingTime":696},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F3.FinalPolished","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Ffinalpolished","期末历年卷（AI 润色版）",{"text":21,"minutes":697,"time":698,"words":699},1.575,94500,315,{"stem":701,"path":702,"title":703,"date":653,"collapsed":9,"readingTime":704},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F14.ExamRecall2026","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fexamrecall2026","数字集成电路回忆 2026",{"text":60,"minutes":705,"time":706,"words":707},0.49,29400,98,{"stem":709,"path":710,"title":711,"date":653,"collapsed":9,"readingTime":712},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F2.Chapter4-Wire","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter4-wire","Chapter 4：导线 Wire",{"text":397,"minutes":713,"time":714,"words":715},18.65,1119000,3730,{"stem":717,"path":718,"title":719,"date":653,"collapsed":9,"readingTime":720},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F3.Chapter5-Inverter","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter5-inverter","Chapter 5：CMOS 反相器 Inverter",{"text":269,"minutes":721,"time":722,"words":723},9.385,563100,1877,{"stem":725,"path":726,"title":727,"date":653,"collapsed":9,"readingTime":728},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F4.Chapter6-LogicGate","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter6-logicgate","Chapter 6：逻辑门 Logic Gate",{"text":31,"minutes":729,"time":730,"words":731},8.635,518100,1727,{"stem":733,"path":734,"title":735,"date":653,"collapsed":9,"readingTime":736},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F5.Chapter7-SequentialLogic","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter7-sequentiallogic","Chapter 7：时序逻辑 Sequential Logic",{"text":463,"minutes":737,"time":738,"words":739},16.645,998700,3329,{"stem":741,"path":742,"title":743,"date":653,"collapsed":9,"readingTime":744},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F6.Chapter8-Speed","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter8-speed","Chapter 8：延迟与速度 Speed",{"text":745,"minutes":746,"time":747,"words":748},"33 min read",32.885,1973100,6577,{"stem":750,"path":751,"title":752,"date":653,"collapsed":9,"readingTime":753},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F7.Chapter9-Power","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter9-power","Chapter 9：功耗 Power",{"text":754,"minutes":755,"time":756,"words":757},"31 min read",31.005,1860300,6201,{"stem":759,"path":760,"title":761,"date":653,"collapsed":9,"readingTime":762},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F8.Chapter10-Interconnect","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter10-interconnect","Chapter 10：互连 Interconnect",{"text":463,"minutes":763,"time":764,"words":765},16.32,979200,3264,{"stem":767,"path":768,"title":769,"date":653,"collapsed":9,"readingTime":770},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F9.Chapter11-Timing","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter11-timing","Chapter 11：时序 Timing",{"text":289,"minutes":771,"time":772,"words":773},19.68,1180800,3936,{"stem":775,"path":776,"title":777,"date":653,"collapsed":343,"readingTime":778},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002Findex","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign","数字集成电路设计",{"text":80,"minutes":81,"time":81,"words":81},{"stem":780,"path":781,"title":782,"date":653,"collapsed":9,"readingTime":783},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F1.L1-Intro","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl1-intro","L1：计算机发展史与体系结构导论",{"text":397,"minutes":784,"time":785,"words":786},18.695,1121700,3739,{"stem":788,"path":789,"title":790,"date":653,"collapsed":9,"readingTime":791},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F10.L8-9-Memory","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl8-9-memory","L8-9：存储器层次结构",{"text":792,"minutes":793,"time":794,"words":795},"128 min read",127.1,7626000,25420,{"stem":797,"path":798,"title":799,"date":653,"collapsed":9,"readingTime":800},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F11.L10-11-Parallelism","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl10-11-parallelism","L10-11：并行性",{"text":801,"minutes":802,"time":803,"words":804},"159 min read",158.86,9531600,31772,{"stem":806,"path":807,"title":808,"date":653,"collapsed":9,"readingTime":809},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F12.L12-CacheCoherence","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl12-cachecoherence","L12：缓存一致性 Cache Coherence",{"text":810,"minutes":811,"time":812,"words":813},"76 min read",75.395,4523700,15079,{"stem":815,"path":816,"title":817,"date":653,"collapsed":9,"readingTime":818},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F13.L13-14-ComplexPipeline","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl13-14-complexpipeline","L13-14：复杂流水线（衔接 L7）",{"text":819,"minutes":820,"time":821,"words":822},"44 min read",43.985,2639100,8797,{"stem":824,"path":825,"title":826,"date":653,"collapsed":9,"readingTime":827},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F14.L15","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl15","L15：期末复习问答",{"text":269,"minutes":828,"time":829,"words":830},9.105,546300,1821,{"stem":832,"path":833,"title":834,"date":653,"collapsed":9,"readingTime":835},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F2.L2-Binary","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl2-binary","L2：二进制数制",{"text":80,"minutes":81,"time":81,"words":81},{"stem":837,"path":838,"title":839,"date":653,"collapsed":9,"readingTime":840},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F3.L3-CMemory","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl3-cmemory","L3：C 语言与内存模型",{"text":841,"minutes":842,"time":843,"words":844},"98 min read",97.32,5839200,19464,{"stem":846,"path":847,"title":848,"date":653,"collapsed":9,"readingTime":849},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F4.L4a-wbx","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl4a-wbx","L4a：wbx",{"text":80,"minutes":81,"time":81,"words":81},{"stem":851,"path":852,"title":853,"date":653,"collapsed":9,"readingTime":854},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F5.L4b-MachineCode","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl4b-machinecode","L4b：机器码 Machine Code",{"text":80,"minutes":81,"time":81,"words":81},{"stem":856,"path":857,"title":858,"date":653,"collapsed":9,"readingTime":859},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F6.L5-DSD","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl5-dsd","L5：数字系统设计 Digital System Design",{"text":269,"minutes":860,"time":861,"words":862},9.955,597300,1991,{"stem":864,"path":865,"title":866,"date":653,"collapsed":9,"readingTime":867},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F7.L6a-SingleCycle","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl6a-singlecycle","L6a：单周期处理器设计",{"text":219,"minutes":868,"time":869,"words":870},22.125,1327500,4425,{"stem":872,"path":873,"title":874,"date":653,"collapsed":9,"readingTime":875},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F8.L6b-Microcode","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl6b-microcode","L6b：微码处理器架构",{"text":387,"minutes":876,"time":877,"words":878},11.86,711600,2372,{"stem":880,"path":881,"title":882,"date":653,"collapsed":9,"readingTime":883},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F9.L7-Pipeline","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl7-pipeline","L7：流水线处理器",{"text":177,"minutes":884,"time":885,"words":886},44.505,2670300,8901,{"stem":888,"path":889,"title":890,"date":653,"collapsed":343,"readingTime":891},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002Findex","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization","计算机组成与系统结构",{"text":60,"minutes":892,"time":893,"words":894},0.12,7200,24,{"stem":896,"path":897,"title":898,"date":78,"collapsed":9,"readingTime":899},"posts\u002FUGCourses\u002F5.junior-spring\u002Findex","\u002Fugcourses\u002Fjunior-spring","大三春夏",{"text":80,"minutes":81,"time":81,"words":81},{"stem":901,"path":902,"title":903,"date":78,"collapsed":9,"readingTime":904},"posts\u002FUGCourses\u002Findex","\u002Fugcourses","本科课程",{"text":80,"minutes":81,"time":81,"words":81},{"stem":906,"path":907,"title":908,"date":909,"collapsed":9,"readingTime":910},"posts\u002Fubuntu\u002F1.config","\u002Fubuntu\u002Fconfig","ubuntu 系统配置","2025-08-26 19:38:06",{"text":158,"minutes":911,"time":912,"words":913},3.815,228900,763,{"stem":915,"path":916,"title":917,"date":918,"collapsed":9,"readingTime":919},"posts\u002Fubuntu\u002F2.cadence\u002F1.mmsim","\u002Fubuntu\u002Fcadence\u002Fmmsim","在 Ubuntu 24.04 上安装 Cadence MMSIM 15.1 的兼容性问题","2026-09-09 14:06:40",{"text":158,"minutes":920,"time":921,"words":922},3.5,210000,700,{"stem":924,"path":925,"title":926,"date":918,"collapsed":9,"readingTime":927},"posts\u002Fubuntu\u002F2.cadence\u002F2.innovus","\u002Fubuntu\u002Fcadence\u002Finnovus","Innovus安装",{"text":11,"minutes":928,"time":929,"words":930},2.08,124800,416,{"stem":932,"path":933,"title":934,"date":918,"collapsed":9,"readingTime":935},"posts\u002Fubuntu\u002F2.cadence\u002Findex","\u002Fubuntu\u002Fcadence","Ubuntu24.04安装Cadence 系列软件",{"text":269,"minutes":936,"time":937,"words":938},9.98,598800,1996,{"stem":940,"path":941,"title":942,"date":918,"collapsed":9,"readingTime":943},"posts\u002Fubuntu\u002F3.synopsys","\u002Fubuntu\u002Fsynopsys","Ubuntu 24.04 安装 Synopsys",{"text":269,"minutes":944,"time":945,"words":946},9.555,573300,1911,{"stem":948,"path":949,"title":950,"date":918,"collapsed":9,"readingTime":951},"posts\u002Fubuntu\u002F4.vivado","\u002Fubuntu\u002Fvivado","Ubuntu 24.04 安装 Vivado 2020.1",{"text":60,"minutes":952,"time":953,"words":954},0.62,37200,124,{"stem":956,"path":957,"title":958,"date":918,"collapsed":9,"readingTime":959},"posts\u002Fubuntu\u002F5.migrate","\u002Fubuntu\u002Fmigrate","硬盘迁移系统",{"text":60,"minutes":960,"time":961,"words":962},0.64,38400,128,{"stem":964,"path":965,"title":966,"date":967,"collapsed":9,"readingTime":968},"posts\u002Fubuntu\u002Findex","\u002Fubuntu","Ubuntu装进移动硬盘","2025-08-25 19:38:06",{"text":269,"minutes":969,"time":970,"words":971},9.26,555600,1852,{"id":973,"title":790,"body":974,"categories":41462,"collapsed":9,"date":653,"description":41463,"draft":9,"extension":41464,"hideInArchive":343,"hideInList":343,"image":41465,"meta":41466,"navigation":343,"path":789,"permalink":41465,"published":41465,"readingTime":41468,"recommend":41465,"references":41465,"seo":41469,"sitemap":41470,"stem":788,"tags":41598,"type":41601,"updated":653,"__hash__":41602},"content\u002Fposts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F10.L8-9-Memory.md",{"type":975,"value":976,"toc":41142},"minimark",[977,985,989,995,1000,1003,1008,1011,1014,1019,1024,1027,1031,1036,1040,1045,1048,1052,1057,1065,1070,1073,1077,1080,1085,1089,1093,1099,1104,1106,1110,1283,1286,1293,1338,1343,1361,1365,1371,1376,1400,1404,1407,1415,1428,1432,1437,1474,1490,1494,1499,1502,1531,1537,1541,1552,1580,1585,1588,1685,1812,1816,1838,1841,1848,1856,1859,1864,1867,1892,1895,1905,1908,2016,2020,2025,2028,2545,2554,2558,2563,2566,2570,2607,2611,2638,2642,2664,2667,2678,2682,2688,2693,2817,2821,2824,2843,2847,2851,2865,2869,2872,2877,2881,2888,2892,2897,3143,3151,3155,3160,3183,3187,3190,3212,3216,3236,3315,3321,3324,3327,3347,3365,3370,3397,3401,3406,3414,3419,3427,3803,3840,4313,4333,4408,4412,4417,4428,4445,4449,4453,4458,4480,4662,4679,4684,4930,4933,4938,4942,4947,4950,4965,4969,4974,5039,5157,5162,5166,5171,5253,5368,5371,5516,5519,5524,5836,5916,5919,5922,5933,5936,5997,6003,6007,6010,6030,6037,6045,6054,6077,6081,6088,6102,6106,6113,6118,6121,6127,6207,6267,6667,6673,6677,6682,6958,6961,6975,6982,6986,6989,6994,6997,7001,7023,7033,7038,7044,7047,7054,7214,7218,7240,7246,7695,7698,7704,7707,7712,7726,7729,7735,7741,7744,7750,7752,7758,7764,7771,7774,7777,7783,7787,7792,7798,7801,7807,7810,7816,7819,7825,7828,7834,7837,7924,8034,8037,8041,8066,8069,8075,8078,8084,8087,8093,8096,8116,8119,8122,8128,8131,8134,8137,8143,8146,8152,8155,8161,8173,8185,8187,8191,8197,8217,8220,8226,8232,8235,8243,8249,8358,8361,8367,8370,8373,8375,8378,8384,8386,8392,8395,8400,8403,8409,8412,8415,8421,8424,8428,8433,8439,8445,8451,8454,8460,8463,8469,8471,8488,8491,8498,8503,8507,8512,8521,8524,8530,8533,8550,8553,8559,8561,8565,8568,8573,8577,8583,8586,8590,8596,8599,8603,8609,8783,8786,8954,8958,8964,8984,9084,9087,9093,9096,9102,9220,9222,9226,9231,9234,9334,9336,9350,9356,9359,9475,9478,9590,9702,9704,9918,10223,10225,10229,10232,10237,10243,10247,10250,10255,10258,10260,10264,10269,10272,10278,10281,10388,10488,10490,10780,10782,10786,10789,10795,10797,10855,10990,10992,11117,11120,11126,11128,11132,11198,11282,11284,11564,11567,11624,11681,11805,11807,11813,11815,11819,11822,11879,11935,12059,12061,12067,12069,12073,12078,12085,12092,12098,12101,12107,12112,12205,12286,12394,12397,12403,12424,12428,12434,12454,12459,12470,12474,12477,12480,12486,12489,12492,12499,12502,12509,12513,12518,12526,12533,12541,12544,12550,12552,12556,12562,12567,12571,12574,12635,12638,12704,12711,12715,12726,12733,12736,12741,12908,12911,12913,12917,12924,12929,12938,12941,12945,12948,12951,12954,12958,12961,12964,12967,12970,12973,12977,12980,12986,12989,12994,12998,13001,13008,13015,13021,13033,13047,13050,13053,13059,13069,13097,13106,13110,13115,13125,13139,13216,13219,13233,13236,13242,13248,13414,13494,13517,13553,13555,13559,13564,13569,13572,13575,13578,13581,13584,13588,13591,13594,13743,13746,13851,13858,13861,13863,13868,13871,13874,13877,13880,13980,13983,13986,13989,14299,14303,14328,14333,14590,14592,14694,14697,15466,15769,16045,16049,16053,16058,16062,16065,16112,16117,16121,16128,16131,16134,16145,16149,16152,16155,16160,16163,16168,16172,16177,16180,16185,16191,16194,16394,16400,16403,16718,16724,16727,16989,16993,16998,17003,17006,17011,17014,17021,17026,17029,17040,17286,17452,17458,17462,17465,17470,17473,17497,17503,17506,17509,17512,17515,17519,17524,17527,17530,17535,17538,17541,17546,17549,17552,17557,17560,17563,17568,17571,17576,17579,17584,17587,17590,17595,17605,17607,17645,17649,17654,17661,17669,17675,17678,17681,17689,17693,17698,17701,17707,17713,17719,17725,17729,17734,17737,17740,17743,17746,17749,17752,17755,17761,17765,17770,17775,17778,17795,17799,17804,17808,17813,17816,17819,17824,17828,17833,17836,17840,17845,17848,17851,17854,17860,17863,17866,17869,17877,17880,17883,17888,17891,17897,17900,17903,17906,18137,18140,18154,18156,18160,18166,18169,18400,18407,18413,18416,18436,18439,18678,18681,18818,18824,18831,18833,18837,18843,18846,18849,18853,18860,18863,18866,18869,18872,18875,18996,18999,19003,19009,19016,19019,19025,19028,19031,19338,19341,19351,19355,19358,19361,19364,19757,19759,19763,19769,19772,19775,19781,19784,19787,19911,19915,19918,19935,19938,19944,19947,19951,19954,19971,19974,19979,19981,19985,19988,19991,20084,20087,20090,20092,20098,20101,20104,20107,20208,20211,20292,20295,20298,20387,20390,20393,20398,20400,20404,20407,20414,20417,20647,20651,20654,20773,20776,20779,20787,20790,20795,20799,20802,20879,20882,20885,20888,20963,20967,20970,21059,21062,21065,21111,21117,21119,21123,21128,21131,21134,21144,21148,21159,21162,21264,21268,21271,21274,21548,21551,21554,21556,21653,21657,21660,21663,21666,21668,21765,21768,21812,21815,21820,21822,21826,21831,21834,21837,21854,21860,21863,21866,22041,22044,22217,22220,22372,22375,22381,22384,22569,22572,22814,22817,23023,23025,23029,23032,23097,23100,23237,23240,23382,23385,23486,23489,23495,23498,23500,23504,23506,23581,23584,23722,23724,23866,23868,23969,23972,23977,23980,23982,23986,23988,24053,24055,24192,24194,24268,24270,24334,24337,24340,24346,24349,24351,24355,24357,24432,24434,24571,24573,24714,24716,24815,24818,24821,24826,24828,24832,24929,24932,24938,24941,24944,24946,24950,24955,24961,24964,24970,24973,24976,24979,24984,24987,24991,24994,24997,25000,25002,25192,25198,25201,25204,25207,25210,25396,25399,25402,25405,25410,25412,25416,25421,25427,25430,25433,25497,25500,25503,25511,25514,25517,25520,25525,25528,25534,25537,25540,25604,25606,25893,25898,25900,25904,25909,25912,25918,25921,25924,25927,25930,25933,26013,26018,26021,26200,26203,26528,26531,26960,26963,27523,27526,27531,27534,27593,27597,27602,27605,27609,27612,27886,27889,28197,28203,28207,28210,28213,28516,28519,28819,28822,28825,28831,28834,28836,28840,28843,29271,29274,29285,29288,29290,29294,29299,29302,29305,29311,29314,29896,29899,30122,30125,30224,30227,30326,30329,30428,30430,30529,30532,30696,30699,30867,30873,30875,30879,30884,30887,30891,30894,30897,30995,30998,31015,31018,31020,31024,31027,31030,31047,31050,31374,31377,31379,31382,31385,31391,31394,31397,31399,31403,31408,31411,31417,31420,31424,31427,31435,31438,31441,31444,31482,31488,31490,31494,31497,31500,31503,31505,31519,31522,31524,31528,31531,31534,31551,31554,31560,31563,31566,31569,31572,31575,31837,31840,32119,32122,32484,32490,32492,32496,32501,32507,32510,32513,32516,32522,32524,32530,32533,32535,32539,32542,32545,32548,32551,32697,32700,32702,32706,32709,32712,32715,32721,32724,32727,32730,32737,32739,32743,32748,32751,32754,32760,32763,32766,32770,32773,32779,32782,32788,32791,32793,32797,32800,32806,32809,32812,32826,32829,32835,32838,32840,32844,32849,32852,32858,32861,32867,32870,32873,32875,32879,32882,32888,32891,32897,32900,32903,32905,32909,32912,32915,32921,32924,32927,32929,33029,33031,33035,33038,33041,33047,33050,33052,33056,33061,33064,33068,33071,33077,33079,33290,33292,33296,33299,33305,33308,33319,33321,33595,33597,33601,33604,33610,33612,33616,33619,33627,33630,33633,33798,33801,34095,34098,34100,34104,34109,34112,34116,34119,34133,34136,34147,34150,34156,34158,34162,34164,34175,34177,34194,34196,34202,34204,34207,34210,34216,34219,34222,34224,34228,34233,34236,34240,34244,34247,34253,34256,34262,34266,34268,34274,34276,34282,34284,34288,34291,34294,34300,34303,34306,34308,34311,34314,34320,34323,34326,34328,34331,34334,34340,34343,34373,34378,34380,34384,34389,34392,34396,34399,34405,34408,34410,34503,34506,34509,34512,34515,34518,34520,34524,34527,34533,34536,34539,34542,34545,34548,34551,34553,34556,34562,34565,34568,34570,34574,34579,34582,34585,34591,34594,34597,34600,34603,34609,34612,34615,34621,34624,34627,34630,34632,34636,34641,34644,34647,34650,34658,34661,34664,34667,34769,34771,34775,34778,34781,34784,34786,34790,34793,34796,34799,34801,34805,34808,34811,34813,34819,34822,34824,34827,34830,34836,34839,34841,34845,34850,34853,34856,34862,34865,34868,34874,34877,34879,34883,34886,34892,34895,34898,34900,34904,34907,34909,34915,34918,34921,34924,34926,34929,34932,35045,35048,35054,35056,35060,35065,35068,35071,35077,35080,35083,35086,35089,35092,35095,35334,35336,35340,35343,35346,35349,35556,35559,35565,35568,35574,35576,35579,35582,35585,35588,35594,35596,35600,35605,35608,35612,35615,35618,35621,35624,35711,35714,35806,35809,35913,35916,35919,36195,36197,36201,36204,36207,36210,36212,36218,36221,36223,36227,36230,36247,36250,36253,36255,36258,36261,36267,36269,36273,36278,36281,36284,36315,36321,36324,36327,36330,36336,36339,36342,36770,36773,36776,36779,36781,36785,36790,36793,36799,36803,36806,36809,36812,36900,36903,36905,36909,36912,36915,36917,36923,36926,36928,36932,36935,36943,36946,37132,37135,37138,37140,37143,37146,37152,37155,37157,37161,37166,37169,37175,37179,37182,37185,37188,37190,37194,37197,37200,37202,37219,37221,37225,37228,37231,37234,37237,37325,37328,37417,37419,37422,37425,37431,37434,37436,37440,37445,37447,37453,37457,37460,37463,37526,37529,37617,37620,37622,37626,37629,37635,37638,37641,37644,37650,37653,37656,37662,37665,37668,37674,37677,37679,37682,37685,37691,37693,37704,37706,37710,37715,37718,37721,37729,37732,37738,37740,37748,37750,37754,37757,37760,37763,37766,37829,37832,37926,37928,37931,37934,37937,37943,37945,37949,37954,37957,37960,37966,37969,37975,37978,37980,37984,37987,37989,37995,37998,38000,38003,38006,38009,38015,38018,38021,38177,38180,38183,38185,38188,38191,38193,38198,38201,38204,38304,38307,38309,38312,38315,38318,38324,38326,38330,38335,38338,38344,38347,38353,38356,38362,38364,38366,38369,38374,38379,38385,38391,38393,38396,38398,38404,38410,38413,38416,38522,38528,38540,38542,38545,38548,38554,38557,38563,38565,38569,38574,38577,38580,38586,38589,38591,38595,38602,38607,38610,38616,38618,38622,38625,38631,38633,38636,38641,38644,38647,38649,38653,38655,38661,38663,38669,38824,38827,38830,38832,38835,38838,38844,38847,38850,38852,38856,38861,38864,38870,38873,38879,38881,38885,38888,38891,38894,39083,39086,39317,39320,39322,39326,39330,39333,39336,39338,39452,39454,39458,39461,39464,39466,39575,39577,39581,39584,39587,39590,39593,39599,39601,39607,39609,39612,39615,39618,39624,39627,39732,39734,39834,39837,39840,39842,39846,39860,39862,39866,39869,40297,40300,40306,40309,40389,40391,40395,40401,40404,40406,40410,40413,40419,40422,40428,40431,40437,40440,40445,40447,40451,40454,40457,40585,40588,40772,40775,40777,40781,40784,40845,40847,40851,40854,40890,40892,40898,40900,40903,40909,40912],[978,979,981],"h2",{"id":980},"introduction-to-dram-存储器dram简介",[982,983,984],"strong",{},"Introduction to DRAM | 存储器\u002FDRAM简介",[986,987,988],"p",{},"我们说，对于计算机的结构而言，存储器的用途是——存储程序和数据，那么这里面使用的存储器是什么类型的呢——",[986,990,991],{},[992,993],"img",{"alt":992,"src":994},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-01.png",[996,997,999],"h3",{"id":998},"memory-array-存储器阵列","Memory Array ｜ 存储器阵列",[986,1001,1002],{},"这个就是以恶搞简单的存储器分类，和《数字集成电路设计》这门课讲的差不多，简单看一下",[986,1004,1005],{},[992,1006],{"alt":992,"src":1007},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-02.png",[996,1009,1010],{"id":1010},"存储器历史",[986,1012,1013],{},"这部分其实没什么要记住的，都是很了解性的知识",[1015,1016,1018],"h4",{"id":1017},"early-rom-technologies-早期只读存储器技术","Early ROM Technologies ｜ 早期只读存储器技术",[986,1020,1021],{},[992,1022],{"alt":992,"src":1023},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-03.png",[986,1025,1026],{},"了解，应该不用记",[1015,1028,1030],{"id":1029},"early-rw-memory-早期读写主存技术","Early R\u002FW Memory ｜ 早期读\u002F写主存技术",[986,1032,1033],{},[992,1034],{"alt":992,"src":1035},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-04.png",[1015,1037,1039],{"id":1038},"core-memory-核心存储器","Core Memory ｜ 核心存储器",[986,1041,1042],{},[992,1043],{"alt":992,"src":1044},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-05.png",[986,1046,1047],{},"依旧了解，这个总不至于考的吧",[1015,1049,1051],{"id":1050},"semiconductor-memory-半导体存储器","Semiconductor memory ｜ 半导体存储器",[986,1053,1054],{},[992,1055],{"alt":992,"src":1056},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-06.png",[1015,1058,1060,1061],{"id":1059},"_1t-1c-单晶体管动态ram-dennard-ibm","1T-1C | 单晶体管动态RAM ",[1062,1063,1064],"span",{},"Dennard, IBM",[986,1066,1067],{},[992,1068],{"alt":992,"src":1069},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-07.png",[986,1071,1072],{},"采用\"1T-1C\"的这种DRAM结构来进行存储，这个数集也有讲过",[1015,1074,1076],{"id":1075},"modern-dram-structure-现代dram的结构","Modern DRAM Structure ｜ 现代DRAM的结构",[986,1078,1079],{},"到了现在，DRAM的结构又发生了变化——",[986,1081,1082],{},[992,1083],{"alt":992,"src":1084},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-08.png",[996,1086,1088],{"id":1087},"dram架构","DRAM架构",[1015,1090,1092],{"id":1091},"dram-cell-结构","DRAM Cell 结构",[1094,1095,1060,1097],"h5",{"id":1096},"_1t-1c-单晶体管动态ram-dennard-ibm-1",[1062,1098,1064],{},[986,1100,1101],{},[992,1102],{"alt":992,"src":1103},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-09.png",[986,1105,1072],{},[1015,1107,1109],{"id":1108},"dram-内部二维阵列","DRAM 内部二维阵列",[986,1111,1112,1282],{},[1062,1113,1116,1164],{"className":1114},[1115],"katex",[1062,1117,1120],{"className":1118},[1119],"katex-mathml",[1121,1122,1124],"math",{"xmlns":1123},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML",[1125,1126,1127,1159],"semantics",{},[1128,1129,1130,1141,1145,1149,1156],"mrow",{},[1131,1132,1133,1137],"msup",{},[1134,1135,1136],"mn",{},"2",[1138,1139,1140],"mi",{},"N",[1142,1143,1144],"mtext",{}," rows",[1146,1147,1148],"mo",{},"×",[1131,1150,1151,1153],{},[1134,1152,1136],{},[1138,1154,1155],{},"M",[1142,1157,1158],{}," columns",[1160,1161,1163],"annotation",{"encoding":1162},"application\u002Fx-tex","2^N\\text{ rows} \\times 2^M\\text{ columns}",[1062,1165,1169,1241],{"className":1166,"ariaHidden":1168},[1167],"katex-html","true",[1062,1170,1173,1178,1222,1229,1234,1238],{"className":1171},[1172],"base",[1062,1174],{"className":1175,"style":1177},[1176],"strut","height:0.9247em;vertical-align:-0.0833em;",[1062,1179,1182,1185],{"className":1180},[1181],"mord",[1062,1183,1136],{"className":1184},[1181],[1062,1186,1189],{"className":1187},[1188],"msupsub",[1062,1190,1193],{"className":1191},[1192],"vlist-t",[1062,1194,1197],{"className":1195},[1196],"vlist-r",[1062,1198,1202],{"className":1199,"style":1201},[1200],"vlist","height:0.8413em;",[1062,1203,1205,1210],{"style":1204},"top:-3.063em;margin-right:0.05em;",[1062,1206],{"className":1207,"style":1209},[1208],"pstrut","height:2.7em;",[1062,1211,1217],{"className":1212},[1213,1214,1215,1216],"sizing","reset-size6","size3","mtight",[1062,1218,1140],{"className":1219,"style":1221},[1181,1220,1216],"mathnormal","margin-right:0.109em;",[1062,1223,1226],{"className":1224},[1181,1225],"text",[1062,1227,1144],{"className":1228},[1181],[1062,1230],{"className":1231,"style":1233},[1232],"mspace","margin-right:0.2222em;",[1062,1235,1148],{"className":1236},[1237],"mbin",[1062,1239],{"className":1240,"style":1233},[1232],[1062,1242,1244,1247,1276],{"className":1243},[1172],[1062,1245],{"className":1246,"style":1201},[1176],[1062,1248,1250,1253],{"className":1249},[1181],[1062,1251,1136],{"className":1252},[1181],[1062,1254,1256],{"className":1255},[1188],[1062,1257,1259],{"className":1258},[1192],[1062,1260,1262],{"className":1261},[1196],[1062,1263,1265],{"className":1264,"style":1201},[1200],[1062,1266,1267,1270],{"style":1204},[1062,1268],{"className":1269,"style":1209},[1208],[1062,1271,1273],{"className":1272},[1213,1214,1215,1216],[1062,1274,1155],{"className":1275,"style":1221},[1181,1220,1216],[1062,1277,1279],{"className":1278},[1181,1225],[1062,1280,1158],{"className":1281},[1181],"，每个交叉点是一个 memory cell，存 1 bit。",[986,1284,1285],{},"打开某一行时，row decoder 会让对应的 word line 有效。于是这一行上的所有 cell 都连接到对应 bit line 上。",[986,1287,1288,1289,1292],{},"这一整行的数据会被 sense amplifier 检测并锁存。sense amplifier 其实就形成了一个 ",[982,1290,1291],{},"row buffer","，也就是“当前已经打开的行”。",[1294,1295,1296,1312],"table",{},[1297,1298,1299],"thead",{},[1300,1301,1302,1306,1309],"tr",{},[1303,1304,1305],"th",{},"名称",[1303,1307,1308],{},"图中方向",[1303,1310,1311],{},"作用",[1313,1314,1315,1327],"tbody",{},[1300,1316,1317,1321,1324],{},[1318,1319,1320],"td",{},"word line",[1318,1322,1323],{},"横向红线",[1318,1325,1326],{},"选择某一整行",[1300,1328,1329,1332,1335],{},[1318,1330,1331],{},"bit line",[1318,1333,1334],{},"纵向绿线",[1318,1336,1337],{},"连接一列上的存储单元，把电荷变化送到 sense amplifier",[986,1339,1340],{},[992,1341],{"alt":992,"src":1342},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-10.png",[1344,1345,1346],"ul",{},[1347,1348,1349,1350],"li",{},"Logical Banks\n",[1344,1351,1352,1358],{},[1347,1353,1354,1355],{},"bank 可以理解成：",[982,1356,1357],{},"DRAM 芯片内部相对独立的小阵列，每个 bank 有自己的行缓冲区。",[1347,1359,1360],{},"多个 bank 的意义是提高并行性。比如一个 bank 正在预充电，另一个 bank 可以准备访问；或者不同请求分散到不同 bank，减少等待。",[1094,1362,1364],{"id":1363},"dram-操作","DRAM 操作",[986,1366,1367,1368],{},"DRAM 访问是三步：",[982,1369,1370],{},"Row Access → Column Access → Precharge",[1372,1373,1375],"h6",{"id":1374},"row-access行访问-ras","Row Access：行访问 \u002F RAS",[1377,1378,1379,1382,1385,1388,1391,1394,1397],"ol",{},[1347,1380,1381],{},"Step1： 解码 row address；",[1347,1383,1384],{},"Step2：打开对应的wordline",[1347,1386,1387],{},"Step3：该行所有 cell 连接到 bit lines；",[1347,1389,1390],{},"Step4：cell 中的电荷和 bit line 共享，造成很小的电压变化；",[1347,1392,1393],{},"Step5：sense amplifier 检测这个微小变化；",[1347,1395,1396],{},"Step6：sense amplifier 把结果放大到完整的 0 或 1，并锁存整行；",[1347,1398,1399],{},"Step7：同时把数据重新写回 cell，恢复电荷。",[1372,1401,1403],{"id":1402},"column-access列访问-cas","Column Access：列访问 \u002F CAS",[986,1405,1406],{},"当一整行已经打开后，column address 决定从 row buffer 中选择哪几列。",[1344,1408,1409,1412],{},[1347,1410,1411],{},"读操作：从 sense amplifier 选出对应列，把数据送到芯片引脚。",[1347,1413,1414],{},"写操作：修改 sense amplifier 中对应列的值，再把这个值写回 DRAM cell。",[986,1416,1417,1423],{},[1418,1419,1420],"mark",{},[982,1421,1422],{},"这就是为什么对同一行连续访问会比较快",[1418,1424,1425],{},[982,1426,1427],{},"，后续只做列选择，不再重复行激活、感测和恢复。",[1015,1429,1431],{"id":1430},"dram-芯片与-dimm","DRAM 芯片与 DIMM",[986,1433,1434],{},[992,1435],{"alt":992,"src":1436},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-11.png",[1294,1438,1439,1448],{},[1297,1440,1441],{},[1300,1442,1443,1446],{},[1303,1444,1445],{},"信号",[1303,1447,1311],{},[1313,1449,1450,1458,1466],{},[1300,1451,1452,1455],{},[1318,1453,1454],{},"时钟和控制信号",[1318,1456,1457],{},"告诉 DRAM 当前执行什么操作，比如激活行、读、写、预充电",[1300,1459,1460,1463],{},[1318,1461,1462],{},"地址线",[1318,1464,1465],{},"传输 row address 和 column address",[1300,1467,1468,1471],{},[1318,1469,1470],{},"数据总线",[1318,1472,1473],{},"读写真正的数据，比如 x4、x8、x16、x32 位",[1344,1475,1476],{},[1347,1477,1478,1481,1482],{},[982,1479,1480],{},"DIMM = Dual Inline Memory Module","，也就是我们常说的内存条。\n",[1344,1483,1484,1487],{},[1347,1485,1486],{},"DIMM 的容量来自多个 DRAM chip，DIMM 的数据宽度来自多个芯片的数据引脚并联",[1347,1488,1489],{},"多个芯片共享地址\u002F控制线时，负载电容很大，所以有些内存条会加缓冲器或寄存器，把信号更稳定地驱动到所有芯片。",[996,1491,1493],{"id":1492},"sx-aurora-high-bandwidth-memory-hbm","SX-Aurora High-Bandwidth Memory (HBM)",[986,1495,1496],{},[992,1497],{"alt":992,"src":1498},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-12.png",[986,1500,1501],{},"传统 DDR 内存总线可能是 64 bit 级别，而 HBM 可以做到每个通道上千 bit 级别",[1344,1503,1504,1509,1514],{},[1347,1505,1506],{},[982,1507,1508],{},"DRAM dies 堆叠",[1347,1510,1511],{},[982,1512,1513],{},"硅中介层 silicon interposer（TSV等）",[1347,1515,1516,1517],{},"HBM 的优势是：\n",[1344,1518,1519,1522,1525,1528],{},[1347,1520,1521],{},"数据总线非常宽；",[1347,1523,1524],{},"单 pin 频率不一定特别高；",[1347,1526,1527],{},"总带宽极高；",[1347,1529,1530],{},"单位 bit 传输能耗较低。",[978,1532,1534],{"id":1533},"memory-hierarchy-存储器层级结构",[982,1535,1536],{},"Memory Hierarchy ｜ 存储器层级结构",[996,1538,1540],{"id":1539},"memory-bottleneck-cpu-内存瓶颈","Memory Bottleneck ｜ CPU 内存瓶颈",[986,1542,1543,1544,1547,1548,1551],{},"高速计算机的性能通常受到",[982,1545,1546],{},"内存带宽(bandwidth)","和",[982,1549,1550],{},"延迟(latency)","的限制",[1377,1553,1554,1567],{},[1347,1555,1556,1559],{},[982,1557,1558],{},"Latency 延迟",[1377,1560,1561,1564],{},[1347,1562,1563],{},"指单次内存访问需要的时间。",[1347,1565,1566],{},"主存访问时间通常远大于 CPU 周期时间，所以一次 load\u002Fstore 可能让 CPU 等很多周期。",[1347,1568,1569,1572],{},[982,1570,1571],{},"Bandwidth 带宽",[1377,1573,1574,1577],{},[1347,1575,1576],{},"指单位时间内内存能完成多少访问或传输多少数据。",[1347,1578,1579],{},"即使单次访问不算特别慢，如果每周期请求太多，内存也可能处理不过来。",[986,1581,1582],{},[992,1583],{"alt":992,"src":1584},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-13.png",[986,1586,1587],{},"对于 RISC-V 这类 load-store 架构：",[1344,1589,1590,1593,1627],{},[1347,1591,1592],{},"每条指令都要取指，因此至少有 1 次 instruction memory access；",[1347,1594,1595,1596,1626],{},"若比例为 ",[1062,1597,1599,1613],{"className":1598},[1115],[1062,1600,1602],{"className":1601},[1119],[1121,1603,1604],{"xmlns":1123},[1125,1605,1606,1611],{},[1128,1607,1608],{},[1138,1609,1610],{},"m",[1160,1612,1610],{"encoding":1162},[1062,1614,1616],{"className":1615,"ariaHidden":1168},[1167],[1062,1617,1619,1623],{"className":1618},[1172],[1062,1620],{"className":1621,"style":1622},[1176],"height:0.4306em;",[1062,1624,1610],{"className":1625},[1181,1220]," 的指令是 load\u002Fstore，还会额外访问 data memory；",[1347,1628,1629,1630,1684],{},"所以平均每条指令需要 ",[1062,1631,1633,1653],{"className":1632},[1115],[1062,1634,1636],{"className":1635},[1119],[1121,1637,1638],{"xmlns":1123},[1125,1639,1640,1650],{},[1128,1641,1642,1645,1648],{},[1134,1643,1644],{},"1",[1146,1646,1647],{},"+",[1138,1649,1610],{},[1160,1651,1652],{"encoding":1162},"1+m",[1062,1654,1656,1675],{"className":1655,"ariaHidden":1168},[1167],[1062,1657,1659,1663,1666,1669,1672],{"className":1658},[1172],[1062,1660],{"className":1661,"style":1662},[1176],"height:0.7278em;vertical-align:-0.0833em;",[1062,1664,1644],{"className":1665},[1181],[1062,1667],{"className":1668,"style":1233},[1232],[1062,1670,1647],{"className":1671},[1237],[1062,1673],{"className":1674,"style":1233},[1232],[1062,1676,1678,1681],{"className":1677},[1172],[1062,1679],{"className":1680,"style":1622},[1176],[1062,1682,1610],{"className":1683},[1181,1220]," 次内存访问。",[986,1686,1687,1688,1760,1761,1811],{},"若希望处理器达到 ",[1062,1689,1691,1717],{"className":1690},[1115],[1062,1692,1694],{"className":1693},[1119],[1121,1695,1696],{"xmlns":1123},[1125,1697,1698,1714],{},[1128,1699,1700,1703,1706,1709,1712],{},[1138,1701,1702],{},"C",[1138,1704,1705],{},"P",[1138,1707,1708],{},"I",[1146,1710,1711],{},"=",[1134,1713,1644],{},[1160,1715,1716],{"encoding":1162},"CPI=1",[1062,1718,1720,1750],{"className":1719,"ariaHidden":1168},[1167],[1062,1721,1723,1727,1731,1735,1739,1743,1747],{"className":1722},[1172],[1062,1724],{"className":1725,"style":1726},[1176],"height:0.6833em;",[1062,1728,1702],{"className":1729,"style":1730},[1181,1220],"margin-right:0.0715em;",[1062,1732,1705],{"className":1733,"style":1734},[1181,1220],"margin-right:0.1389em;",[1062,1736,1708],{"className":1737,"style":1738},[1181,1220],"margin-right:0.0785em;",[1062,1740],{"className":1741,"style":1742},[1232],"margin-right:0.2778em;",[1062,1744,1711],{"className":1745},[1746],"mrel",[1062,1748],{"className":1749,"style":1742},[1232],[1062,1751,1753,1757],{"className":1752},[1172],[1062,1754],{"className":1755,"style":1756},[1176],"height:0.6444em;",[1062,1758,1644],{"className":1759},[1181],"，即每周期完成 1 条指令，则内存系统平均也要支持 ",[1062,1762,1764,1781],{"className":1763},[1115],[1062,1765,1767],{"className":1766},[1119],[1121,1768,1769],{"xmlns":1123},[1125,1770,1771,1779],{},[1128,1772,1773,1775,1777],{},[1134,1774,1644],{},[1146,1776,1647],{},[1138,1778,1610],{},[1160,1780,1652],{"encoding":1162},[1062,1782,1784,1802],{"className":1783,"ariaHidden":1168},[1167],[1062,1785,1787,1790,1793,1796,1799],{"className":1786},[1172],[1062,1788],{"className":1789,"style":1662},[1176],[1062,1791,1644],{"className":1792},[1181],[1062,1794],{"className":1795,"style":1233},[1232],[1062,1797,1647],{"className":1798},[1237],[1062,1800],{"className":1801,"style":1233},[1232],[1062,1803,1805,1808],{"className":1804},[1172],[1062,1806],{"className":1807,"style":1622},[1176],[1062,1809,1610],{"className":1810},[1181,1220]," 次访问\u002F周期。若内存带宽不足或延迟过高，CPU 就会停等内存，整体性能下降。",[996,1813,1815],{"id":1814},"memory-hierarchy-内存层次结构","Memory Hierarchy  ｜ 内存层次结构",[986,1817,1818,1819,1822,1823,1826,1827,1830,1835],{},"CPU 访问内存受到 ",[982,1820,1821],{},"latency"," 和 ",[982,1824,1825],{},"bandwidth"," 限制。",[1418,1828,1829],{},"大存储器虽然容量大、成本低，但",[1418,1831,1832],{},[982,1833,1834],{},"物理尺寸大",[1418,1836,1837],{},"，信号传播距离远，字线 \u002F 位线负载大，所以访问延迟高。",[986,1839,1840],{},"为了兼顾“快”和“大”，系统不能只使用一种存储器。SRAM 很快但面积大、价格高，适合做 cache；DRAM 容量大、成本低，但访问慢，适合做主存；磁盘 \u002F Flash 更大更便宜，但速度更慢。",[986,1842,1843,1844,1847],{},"因此计算机采用 ",[982,1845,1846],{},"内存层次结构","：",[1849,1850,1851],"blockquote",{},[986,1852,1853],{},[982,1854,1855],{},"靠近 CPU 的存储器小而快，远离 CPU 的存储器大而慢。",[986,1857,1858],{},"Cache 就像图书馆里的桌子，把近期可能会用到的书先放在桌上，避免每次都跑到巨大书库里找。这个设计依赖程序的局部性：刚访问过的数据可能很快再次访问，附近的数据也可能很快访问。",[986,1860,1861],{},[992,1862],{"alt":992,"src":1863},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-14.png",[1094,1865,1866],{"id":1866},"典型存储器层次结构",[1294,1868,1870],{"style":1869},"width: 100%; border: 0; border-collapse: collapse; border-spacing: 0;",[1313,1871,1872],{},[1300,1873,1875,1876,1875,1884],{"style":1874},"border: none;","\n  ",[1318,1877,1879,1875],{"style":1878},"width: 57.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,1880,1881],{},[992,1882],{"alt":992,"src":1883},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-15.png",[1318,1885,1887,1875],{"style":1886},"width: 42.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,1888,1889],{},[992,1890],{"alt":992,"src":1891},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-16.png",[986,1893,1894],{},"从靠近 CPU 到远离 CPU，大致是：",[1896,1897,1901],"pre",{"className":1898,"code":1900,"language":1225},[1899],"language-text","Register File 寄存器\n→ L1 I-Cache \u002F D-Cache 一级指令\u002F数据缓存\n→ L2 Cache 二级缓存\n→ L3 Cache 三级缓存\n→ Main Memory \u002F DRAM 主存 DRAM\n→ Secondary Memory \u002F Disk or Flash 磁盘或 Flash 等二级存储\n",[1902,1903,1900],"code",{"__ignoreMap":1904},"",[986,1906,1907],{},"越靠近 CPU，速度越快但容量越小；越远离 CPU，容量越大但速度越慢。",[1294,1909,1910,1929],{},[1297,1911,1912],{},[1300,1913,1914,1917,1920,1923,1926],{},[1303,1915,1916],{},"层级",[1303,1918,1919],{},"典型实现",[1303,1921,1922],{},"速度",[1303,1924,1925],{},"容量",[1303,1927,1928],{},"每 bit 成本",[1313,1930,1931,1948,1965,1982,1999],{},[1300,1932,1933,1936,1939,1942,1945],{},[1318,1934,1935],{},"Register File",[1318,1937,1938],{},"寄存器堆",[1318,1940,1941],{},"最快，约亚周期 \u002F 1 周期内",[1318,1943,1944],{},"几百字节",[1318,1946,1947],{},"最高",[1300,1949,1950,1953,1956,1959,1962],{},[1318,1951,1952],{},"L1 Cache",[1318,1954,1955],{},"SRAM分 I-Cache \u002F D-Cache",[1318,1957,1958],{},"约 1 cycle",[1318,1960,1961],{},"数十 KB",[1318,1963,1964],{},"很高",[1300,1966,1967,1970,1973,1976,1979],{},[1318,1968,1969],{},"L2 \u002F L3 Cache",[1318,1971,1972],{},"SRAM",[1318,1974,1975],{},"约 10 cycles",[1318,1977,1978],{},"MB 级",[1318,1980,1981],{},"较高",[1300,1983,1984,1987,1990,1993,1996],{},[1318,1985,1986],{},"Main Memory",[1318,1988,1989],{},"DRAM",[1318,1991,1992],{},"数百到上千 cycles",[1318,1994,1995],{},"GB 级",[1318,1997,1998],{},"较低",[1300,2000,2001,2004,2007,2010,2013],{},[1318,2002,2003],{},"Secondary Memory",[1318,2005,2006],{},"SSD \u002F Disk \u002F Flash",[1318,2008,2009],{},"约百万 cycles",[1318,2011,2012],{},"TB 级",[1318,2014,2015],{},"最低",[1015,2017,2019],{"id":2018},"management-of-memory-hierarchy-内存层次管理","Management of Memory Hierarchy ｜ 内存层次管理",[986,2021,2022],{},[992,2023],{"alt":992,"src":2024},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-17.png",[986,2026,2027],{},"不同层级的存储器有不同的管理方式。",[1377,2029,2030,2160,2331],{},[1347,2031,2032,2033,2038,2044],{},"小而快的存储器：Registers",[1377,2034,2035],{},[1347,2036,2037],{},"寄存器容量小、速度快，通常由指令直接指定。例如：",[1896,2039,2042],{"className":2040,"code":2041,"language":1225},[1899],"add x3, x1, x2\n",[1902,2043,2041],{"__ignoreMap":1904},[1377,2045,2047,2157],{"start":2046},2,[1347,2048,2049,2050,2085,2086,2120,2121,2156],{},"指令直接说明读 ",[1062,2051,2053,2070],{"className":2052},[1115],[1062,2054,2056],{"className":2055},[1119],[1121,2057,2058],{"xmlns":1123},[1125,2059,2060,2067],{},[1128,2061,2062,2065],{},[1138,2063,2064],{},"x",[1134,2066,1644],{},[1160,2068,2069],{"encoding":1162},"x1",[1062,2071,2073],{"className":2072,"ariaHidden":1168},[1167],[1062,2074,2076,2079,2082],{"className":2075},[1172],[1062,2077],{"className":2078,"style":1756},[1176],[1062,2080,2064],{"className":2081},[1181,1220],[1062,2083,1644],{"className":2084},[1181],"、读 ",[1062,2087,2089,2105],{"className":2088},[1115],[1062,2090,2092],{"className":2091},[1119],[1121,2093,2094],{"xmlns":1123},[1125,2095,2096,2102],{},[1128,2097,2098,2100],{},[1138,2099,2064],{},[1134,2101,1136],{},[1160,2103,2104],{"encoding":1162},"x2",[1062,2106,2108],{"className":2107,"ariaHidden":1168},[1167],[1062,2109,2111,2114,2117],{"className":2110},[1172],[1062,2112],{"className":2113,"style":1756},[1176],[1062,2115,2064],{"className":2116},[1181,1220],[1062,2118,1136],{"className":2119},[1181],"、写 ",[1062,2122,2124,2141],{"className":2123},[1115],[1062,2125,2127],{"className":2126},[1119],[1121,2128,2129],{"xmlns":1123},[1125,2130,2131,2138],{},[1128,2132,2133,2135],{},[1138,2134,2064],{},[1134,2136,2137],{},"3",[1160,2139,2140],{"encoding":1162},"x3",[1062,2142,2144],{"className":2143,"ariaHidden":1168},[1167],[1062,2145,2147,2150,2153],{"className":2146},[1172],[1062,2148],{"className":2149,"style":1756},[1176],[1062,2151,2064],{"className":2152},[1181,1220],[1062,2154,2137],{"className":2155},[1181],"。因此寄存器对程序是显式可见的，硬件中通常实现为 register file。",[1347,2158,2159],{},"编译器可能进行寄存器分配和栈管理；乱序处理器硬件还可能进行 register renaming，把 ISA 中可见的架构寄存器映射到更多物理寄存器上。",[1347,2161,2162,2163],{},"较大较慢的存储器：Main Memory",[1377,2164,2165,2321],{},[1347,2166,2167,2168,2171],{},"主存容量大但速度慢，通常通过地址访问。地址一般由寄存器中的值计算得到，例如：",[1902,2169,2170],{"code":2170},"lw x5, 16(x6)",[1377,2172,2173],{},[1347,2174,2175,2176],{},"实际访问地址为：",[1062,2177,2179,2237],{"className":2178},[1115],[1062,2180,2182],{"className":2181},[1119],[1121,2183,2184],{"xmlns":1123},[1125,2185,2186,2234],{},[1128,2187,2188,2191,2194,2196,2199,2202,2205,2207,2209,2212,2214,2217,2221,2223,2226,2229,2231],{},[1138,2189,2190],{},"A",[1138,2192,2193],{},"d",[1138,2195,2193],{},[1138,2197,2198],{},"r",[1138,2200,2201],{},"e",[1138,2203,2204],{},"s",[1138,2206,2204],{},[1146,2208,1711],{},[1138,2210,2211],{},"R",[1138,2213,2201],{},[1138,2215,2216],{},"g",[1146,2218,2220],{"stretchy":2219},"false","[",[1138,2222,2064],{},[1134,2224,2225],{},"6",[1146,2227,2228],{"stretchy":2219},"]",[1146,2230,1647],{},[1134,2232,2233],{},"16",[1160,2235,2236],{"encoding":1162},"Address = Reg[x6] + 16",[1062,2238,2240,2271,2312],{"className":2239,"ariaHidden":1168},[1167],[1062,2241,2243,2247,2250,2254,2258,2262,2265,2268],{"className":2242},[1172],[1062,2244],{"className":2245,"style":2246},[1176],"height:0.6944em;",[1062,2248,2190],{"className":2249},[1181,1220],[1062,2251,2253],{"className":2252},[1181,1220],"dd",[1062,2255,2198],{"className":2256,"style":2257},[1181,1220],"margin-right:0.0278em;",[1062,2259,2261],{"className":2260},[1181,1220],"ess",[1062,2263],{"className":2264,"style":1742},[1232],[1062,2266,1711],{"className":2267},[1746],[1062,2269],{"className":2270,"style":1742},[1232],[1062,2272,2274,2278,2282,2285,2289,2293,2296,2299,2303,2306,2309],{"className":2273},[1172],[1062,2275],{"className":2276,"style":2277},[1176],"height:1em;vertical-align:-0.25em;",[1062,2279,2211],{"className":2280,"style":2281},[1181,1220],"margin-right:0.0077em;",[1062,2283,2201],{"className":2284},[1181,1220],[1062,2286,2216],{"className":2287,"style":2288},[1181,1220],"margin-right:0.0359em;",[1062,2290,2220],{"className":2291},[2292],"mopen",[1062,2294,2064],{"className":2295},[1181,1220],[1062,2297,2225],{"className":2298},[1181],[1062,2300,2228],{"className":2301},[2302],"mclose",[1062,2304],{"className":2305,"style":1233},[1232],[1062,2307,1647],{"className":2308},[1237],[1062,2310],{"className":2311,"style":1233},[1232],[1062,2313,2315,2318],{"className":2314},[1172],[1062,2316],{"className":2317,"style":1756},[1176],[1062,2319,2233],{"className":2320},[1181],[1347,2322,2323,2326],{},[1418,2324,2325],{},"Main Memory 通常实现为硬件管理的缓存层次结构(硬件决定在快速内存中保留什么)",[1418,2327,2328],{},[982,2329,2330],{},"【虽然说我觉得课件上这句话莫名其妙的，姑且把它理解为：Main Memory 是通过加入一级缓存来实现加快多次访问数据的速度吧】",[1347,2332,2333,2334],{},"Cache 层次",[1377,2335,2336,2542],{},[1347,2337,2338,2339,2441,2442],{},"Cache 通常由硬件管理，对程序员不可见。程序只发出普通 load\u002Fstore，硬件自动判断数据是否在 Cache 中：",[1062,2340,2342,2385],{"className":2341},[1115],[1062,2343,2345],{"className":2344},[1119],[1121,2346,2347],{"xmlns":1123},[1125,2348,2349,2382],{},[1128,2350,2351,2354,2357,2360,2363,2366,2368,2371,2374,2377,2379],{},[1138,2352,2353],{},"H",[1138,2355,2356],{},"i",[1138,2358,2359],{},"t",[1146,2361,2362],{},"⇒",[1142,2364,2365],{},"直接从",[1138,2367,1702],{},[1138,2369,2370],{},"a",[1138,2372,2373],{},"c",[1138,2375,2376],{},"h",[1138,2378,2201],{},[1142,2380,2381],{},"返回，低延迟",[1160,2383,2384],{"encoding":1162},"Hit \\Rightarrow 直接从 Cache 返回，低延迟",[1062,2386,2388,2413],{"className":2387,"ariaHidden":1168},[1167],[1062,2389,2391,2394,2398,2401,2404,2407,2410],{"className":2390},[1172],[1062,2392],{"className":2393,"style":1726},[1176],[1062,2395,2353],{"className":2396,"style":2397},[1181,1220],"margin-right:0.0813em;",[1062,2399,2356],{"className":2400},[1181,1220],[1062,2402,2359],{"className":2403},[1181,1220],[1062,2405],{"className":2406,"style":1742},[1232],[1062,2408,2362],{"className":2409},[1746],[1062,2411],{"className":2412,"style":1742},[1232],[1062,2414,2416,2419,2423,2426,2429,2432,2435,2438],{"className":2415},[1172],[1062,2417],{"className":2418,"style":2246},[1176],[1062,2420,2365],{"className":2421},[1181,2422],"cjk_fallback",[1062,2424,1702],{"className":2425,"style":1730},[1181,1220],[1062,2427,2370],{"className":2428},[1181,1220],[1062,2430,2373],{"className":2431},[1181,1220],[1062,2433,2376],{"className":2434},[1181,1220],[1062,2436,2201],{"className":2437},[1181,1220],[1062,2439,2381],{"className":2440},[1181,2422],"； ",[1062,2443,2445,2487],{"className":2444},[1115],[1062,2446,2448],{"className":2447},[1119],[1121,2449,2450],{"xmlns":1123},[1125,2451,2452,2484],{},[1128,2453,2454,2456,2458,2460,2462,2464,2467,2470,2473,2476,2478,2481],{},[1138,2455,1155],{},[1138,2457,2356],{},[1138,2459,2204],{},[1138,2461,2204],{},[1146,2463,2362],{},[1142,2465,2466],{},"从下一级存储器取回",[1138,2468,2469],{},"b",[1138,2471,2472],{},"l",[1138,2474,2475],{},"o",[1138,2477,2373],{},[1138,2479,2480],{},"k",[1142,2482,2483],{},"，高延迟",[1160,2485,2486],{"encoding":1162},"Miss \\Rightarrow 从下一级存储器取回 block，高延迟",[1062,2488,2490,2515],{"className":2489,"ariaHidden":1168},[1167],[1062,2491,2493,2496,2499,2502,2506,2509,2512],{"className":2492},[1172],[1062,2494],{"className":2495,"style":1726},[1176],[1062,2497,1155],{"className":2498,"style":1221},[1181,1220],[1062,2500,2356],{"className":2501},[1181,1220],[1062,2503,2505],{"className":2504},[1181,1220],"ss",[1062,2507],{"className":2508,"style":1742},[1232],[1062,2510,2362],{"className":2511},[1746],[1062,2513],{"className":2514,"style":1742},[1232],[1062,2516,2518,2521,2524,2527,2531,2535,2539],{"className":2517},[1172],[1062,2519],{"className":2520,"style":2246},[1176],[1062,2522,2466],{"className":2523},[1181,2422],[1062,2525,2469],{"className":2526},[1181,1220],[1062,2528,2472],{"className":2529,"style":2530},[1181,1220],"margin-right:0.0197em;",[1062,2532,2534],{"className":2533},[1181,1220],"oc",[1062,2536,2480],{"className":2537,"style":2538},[1181,1220],"margin-right:0.0315em;",[1062,2540,2483],{"className":2541},[1181,2422],[1347,2543,2544],{},"软件可以提供提示，例如 prefetch 提前取数据，或者 no-cache \u002F non-temporal 避免污染 Cache。",[2546,2547,2549],"alert",{"type":2548},"tip",[986,2550,2551],{},[982,2552,2553],{},"寄存器由指令显式指定，主存通过寄存器计算地址访问，Cache 则主要由硬件在背后自动管理。",[996,2555,2557],{"id":2556},"locality-局部性-重要思想","Locality ｜ 局部性 （重要思想）",[986,2559,2560],{},[992,2561],{"alt":992,"src":2562},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-18.png",[986,2564,2565],{},"局部性是 Cache 能工作的根本原因。程序访问内存通常不是完全随机的，而是在一段时间内集中访问某些地址区域。",[1094,2567,2569],{"id":2568},"temporal-locality-时间局部性","Temporal Locality ｜ 时间局部性",[1377,2571,2572,2578,2601],{},[1347,2573,2574,2577],{},[982,2575,2576],{},"定义：","如果一个内存位置刚刚被访问，那么它很可能很快再次被访问。",[1347,2579,2580,2583],{},[982,2581,2582],{},"典型来源：",[1344,2584,2585,2588,2598],{},[1347,2586,2587],{},"循环中反复执行同一段指令；",[1347,2589,2590,2591,2594,2595,2597],{},"标量变量反复使用，如 ",[1902,2592,2593],{"code":2593},"sum","、",[1902,2596,2356],{"code":2356},"；",[1347,2599,2600],{},"当前函数栈帧中的局部变量反复访问。",[1347,2602,2603,2606],{},[982,2604,2605],{},"Cache 利用方式：","把最近访问过的数据留在 Cache 中。",[1094,2608,2610],{"id":2609},"spatial-locality-空间局部性","Spatial Locality ｜ 空间局部性",[1377,2612,2613,2618,2633],{},[1347,2614,2615,2617],{},[982,2616,2576],{},"如果一个内存位置被访问，那么它附近地址的数据很可能很快也会被访问。",[1347,2619,2620,2622],{},[982,2621,2582],{},[1344,2623,2624,2627,2630],{},[1347,2625,2626],{},"指令顺序执行；",[1347,2628,2629],{},"数组顺序访问；",[1347,2631,2632],{},"栈帧中相邻变量访问。",[1347,2634,2635,2637],{},[982,2636,2605],{},"访问某个地址时，把附近的一整个 block 一起取入 Cache。",[996,2639,2641],{"id":2640},"memory-reference-patterns-内存访问模式","Memory Reference Patterns ｜ 内存访问模式",[1294,2643,2644],{"style":1869},[1313,2645,2646],{},[1300,2647,1875,2648,1875,2656],{"style":1874},[1318,2649,2651,1875],{"style":2650},"width: 51.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,2652,2653],{},[992,2654],{"alt":992,"src":2655},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-19.png",[1318,2657,2659,1875],{"style":2658},"width: 48.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,2660,2661],{},[992,2662],{"alt":992,"src":2663},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-20.png",[986,2665,2666],{},"程序访存可以分为三类：",[1377,2668,2669,2672,2675],{},[1347,2670,2671],{},"Instruction fetches： 顺序执行有空间局部性，循环有时间局部性",[1347,2673,2674],{},"Stack accesses： 当前栈帧反复访问，空间和时间局部性都较好",[1347,2676,2677],{},"Data accesses：取决于程序结构，数组顺序访问好，随机访问差",[996,2679,2681],{"id":2680},"principle-of-locality-局部性原则","Principle of Locality ｜ 局部性原则",[986,2683,2684,2685],{},"程序在任何时刻通常只访问地址空间的一小部分，并且会重复访问这部分。也就是：",[982,2686,2687],{},"访问集中在“小范围”，并且这个“小范围”会被反复使用。",[986,2689,2690],{},[992,2691],{"alt":992,"src":2692},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-21.png",[1377,2694,2695,2730,2778],{},[1347,2696,2697,2698,2703,2704,2707],{},"什么程序结构导致",[1418,2699,2700],{},[982,2701,2702],{},"指令访问","中的局部性？\n",[982,2705,2706],{},"Temporal locality：",[1344,2708,2709,2712,2715,2721,2724,2727],{},[1347,2710,2711],{},"循环：同一段循环体指令会被反复取指。",[1347,2713,2714],{},"反复调用同一个函数 \u002F 子程序。",[1347,2716,2717,2718],{},"小型热点代码段反复执行。\n",[982,2719,2720],{},"Spatial locality：",[1347,2722,2723],{},"顺序执行代码：PC 通常按 PC,PC+4,PC+8,… 连续取指。",[1347,2725,2726],{},"基本块内部的连续指令。",[1347,2728,2729],{},"循环体指令在内存中连续存放。",[1347,2731,2697,2732,2703,2737,2739],{},[1418,2733,2734],{},[982,2735,2736],{},"数据访问",[982,2738,2706],{},[1344,2740,2741,2752,2755,2760,2766,2772,2775],{},[1347,2742,2743,2744,2594,2746,2594,2748,2751],{},"循环中反复访问同一个变量，例如 ",[1902,2745,2593],{"code":2593},[1902,2747,2356],{"code":2356},[1902,2749,2750],{"code":2750},"temp","。",[1347,2753,2754],{},"反复访问当前函数的局部变量和栈帧。",[1347,2756,2757,2758],{},"嵌套循环中反复使用同一块数据，例如矩阵分块中的小块数据。\n",[982,2759,2720],{},[1347,2761,2762,2763],{},"顺序访问数组：",[1902,2764,2765],{"code":2765},"A[0], A[1], A[2], ...",[1347,2767,2768,2769,2751],{},"按内存布局访问二维数组，例如 C 语言中按行访问 ",[1902,2770,2771],{"code":2771},"A[i][j]",[1347,2773,2774],{},"访问结构体中相邻字段。",[1347,2776,2777],{},"访问栈上相邻的局部变量。",[1347,2779,2780,2781],{},"什么结构会破坏局部性？",[1377,2782,2783,2803],{},[1347,2784,2785,2786],{},"破坏指令访问局部性的结构\n",[1344,2787,2788,2791,2794,2797,2800],{},[1347,2789,2790],{},"频繁跳转到很远的代码位置。",[1347,2792,2793],{},"大量不可预测分支。",[1347,2795,2796],{},"间接跳转、函数指针、虚函数调用。",[1347,2798,2799],{},"代码体积太大，超过 I-Cache 容量。",[1347,2801,2802],{},"频繁调用很多分散的小函数。",[1347,2804,2805,2806],{},"破坏数据访问局部性的结构\n",[1344,2807,2808,2811,2814],{},[1347,2809,2810],{},"随机访问数组。",[1347,2812,2813],{},"链表、树、图等指针追踪结构。",[1347,2815,2816],{},"大步长访问数组,或者 C 语言二维数组按列访问，例如：",[1015,2818,2820],{"id":2819},"cache-的核心策略","Cache 的核心策略",[986,2822,2823],{},"Cache 利用了两种可预测性：",[1377,2825,2826,2834],{},[1347,2827,2828,2831],{},[982,2829,2830],{},"时间局部性：",[1418,2832,2833],{},"保留最近访问过的数据。",[1347,2835,2836,2839,2840,2751],{},[982,2837,2838],{},"空间局部性：","取数据时，不只取当前地址，而是",[1418,2841,2842],{},"取附近的一整个 cache block",[978,2844,2846],{"id":2845},"basic-structure-of-cache-缓存的基本结构","Basic Structure of Cache ｜ 缓存的基本结构",[996,2848,2850],{"id":2849},"cache-philosophy-cache-的基本哲学","Cache Philosophy ｜ Cache 的基本哲学",[1377,2852,2853,2859,2862],{},[1347,2854,2855,2856],{},"Cache 的核心思想是：",[982,2857,2858],{},"用硬件在 CPU 和主存之间自动保存常用数据，让程序员感觉自己拥有一个又大又快的内存。",[1347,2860,2861],{},"Cache 是位于 CPU 和主存之间的小而快的硬件存储器；它对普通程序员通常不可见，硬件自动判断数据是否在 Cache 中，从而给程序员一种“拥有又大又快的内存”的错觉。",[1347,2863,2864],{},"高性能程序员会“反向理解”Cache 的组织方式，设计更适合 Cache 的数据结构和访问顺序。",[996,2866,2868],{"id":2867},"cache-的系统位置与-cpu-交互向计算机添加缓存","Cache 的系统位置与 CPU 交互（向计算机添加缓存）",[1015,2870,2871],{"id":2871},"缓存术语",[986,2873,2874],{},[992,2875],{"alt":992,"src":2876},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-22.png",[1094,2878,2880],{"id":2879},"缓存基本存储单元-sram","缓存基本存储单元 - SRAM",[1849,2882,2883],{},[986,2884,2885],{},[982,2886,2887],{},"不知道要不要学🙄🙄🙄 这钩式ppt怎么乱七八糟啥都有  了解一下应该就行",[1372,2889,2891],{"id":2890},"sram基本结构","SRAM基本结构",[986,2893,2894],{},[992,2895],{"alt":992,"src":2896},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-23.png",[986,2898,2899,2900,3057,3058,3142],{},"工艺缩放让 SRAM 更小，但也让漏电变大、",[1062,2901,2903,2944],{"className":2902},[1115],[1062,2904,2906],{"className":2905},[1119],[1121,2907,2908],{"xmlns":1123},[1125,2909,2910,2941],{},[1128,2911,2912,2924,2928],{},[2913,2914,2915,2917],"msub",{},[1138,2916,1708],{},[1128,2918,2919,2922],{},[1138,2920,2921],{},"O",[1138,2923,1140],{},[1138,2925,2927],{"mathvariant":2926},"normal","\u002F",[2913,2929,2930,2932],{},[1138,2931,1708],{},[1128,2933,2934,2936,2939],{},[1138,2935,2921],{},[1138,2937,2938],{},"F",[1138,2940,2938],{},[1160,2942,2943],{"encoding":1162},"I_{ON}\u002FI_{OFF}",[1062,2945,2947],{"className":2946,"ariaHidden":1168},[1167],[1062,2948,2950,2953,3005,3008],{"className":2949},[1172],[1062,2951],{"className":2952,"style":2277},[1176],[1062,2954,2956,2959],{"className":2955},[1181],[1062,2957,1708],{"className":2958,"style":1738},[1181,1220],[1062,2960,2962],{"className":2961},[1188],[1062,2963,2966,2996],{"className":2964},[1192,2965],"vlist-t2",[1062,2967,2969,2991],{"className":2968},[1196],[1062,2970,2973],{"className":2971,"style":2972},[1200],"height:0.3283em;",[1062,2974,2976,2979],{"style":2975},"top:-2.55em;margin-left:-0.0785em;margin-right:0.05em;",[1062,2977],{"className":2978,"style":1209},[1208],[1062,2980,2982],{"className":2981},[1213,1214,1215,1216],[1062,2983,2985,2988],{"className":2984},[1181,1216],[1062,2986,2921],{"className":2987,"style":2257},[1181,1220,1216],[1062,2989,1140],{"className":2990,"style":1221},[1181,1220,1216],[1062,2992,2995],{"className":2993},[2994],"vlist-s","​",[1062,2997,2999],{"className":2998},[1196],[1062,3000,3003],{"className":3001,"style":3002},[1200],"height:0.15em;",[1062,3004],{},[1062,3006,2927],{"className":3007},[1181],[1062,3009,3011,3014],{"className":3010},[1181],[1062,3012,1708],{"className":3013,"style":1738},[1181,1220],[1062,3015,3017],{"className":3016},[1188],[1062,3018,3020,3049],{"className":3019},[1192,2965],[1062,3021,3023,3046],{"className":3022},[1196],[1062,3024,3026],{"className":3025,"style":2972},[1200],[1062,3027,3028,3031],{"style":2975},[1062,3029],{"className":3030,"style":1209},[1208],[1062,3032,3034],{"className":3033},[1213,1214,1215,1216],[1062,3035,3037,3040,3043],{"className":3036},[1181,1216],[1062,3038,2921],{"className":3039,"style":2257},[1181,1220,1216],[1062,3041,2938],{"className":3042,"style":1734},[1181,1220,1216],[1062,3044,2938],{"className":3045,"style":1734},[1181,1220,1216],[1062,3047,2995],{"className":3048},[2994],[1062,3050,3052],{"className":3051},[1196],[1062,3053,3055],{"className":3054,"style":3002},[1200],[1062,3056],{}," 变差；为了省 standby 功耗又要降低 ",[1062,3059,3061,3085],{"className":3060},[1115],[1062,3062,3064],{"className":3063},[1119],[1121,3065,3066],{"xmlns":1123},[1125,3067,3068,3082],{},[1128,3069,3070],{},[2913,3071,3072,3075],{},[1138,3073,3074],{},"V",[1128,3076,3077,3080],{},[1138,3078,3079],{},"D",[1138,3081,3079],{},[1160,3083,3084],{"encoding":1162},"V_{DD}",[1062,3086,3088],{"className":3087,"ariaHidden":1168},[1167],[1062,3089,3091,3095],{"className":3090},[1172],[1062,3092],{"className":3093,"style":3094},[1176],"height:0.8333em;vertical-align:-0.15em;",[1062,3096,3098,3101],{"className":3097},[1181],[1062,3099,3074],{"className":3100,"style":1233},[1181,1220],[1062,3102,3104],{"className":3103},[1188],[1062,3105,3107,3134],{"className":3106},[1192,2965],[1062,3108,3110,3131],{"className":3109},[1196],[1062,3111,3113],{"className":3112,"style":2972},[1200],[1062,3114,3116,3119],{"style":3115},"top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;",[1062,3117],{"className":3118,"style":1209},[1208],[1062,3120,3122],{"className":3121},[1213,1214,1215,1216],[1062,3123,3125,3128],{"className":3124},[1181,1216],[1062,3126,3079],{"className":3127,"style":2257},[1181,1220,1216],[1062,3129,3079],{"className":3130,"style":2257},[1181,1220,1216],[1062,3132,2995],{"className":3133},[2994],[1062,3135,3137],{"className":3136},[1196],[1062,3138,3140],{"className":3139,"style":3002},[1200],[1062,3141],{},"，这会削弱数据保持能力，所以 SRAM cell 里的 PMOS 上拉负载必须足够强，能够补偿漏电并维持存储节点电压。",[1344,3144,3145,3148],{},[1347,3146,3147],{},"为什么会削弱数据保持能力？",[1347,3149,3150],{},"假设左边节点存的是 1：这个 1 是靠 PMOS 上拉管维持在 VDD 附近的，但是由于漏电，可能会有一些漏电路径把这个高电平节点往下拉，所以 PMOS 上拉管必须提供一点电流，把这些漏掉的电荷补回来，让高电平节点继续保持为 1。",[1372,3152,3154],{"id":3153},"drv-data-retention-voltage-数据保持电压","DRV Data Retention Voltage | 数据保持电压",[986,3156,3157],{},[992,3158],{"alt":992,"src":3159},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-24.png",[1377,3161,3162,3165],{},[1347,3163,3164],{},"降低 VDD可以减少功耗和漏电，但不能无限降低。因为 VDD 降低后，反相器的 VTC 会变差。",[1347,3166,3167,3168,3171],{},"对于右侧这个图，VTC1和VTC2这两条曲线实际上是输入和输出相互交换了位置——",[982,3169,3170],{},"SRAM cell 里面本质是两个反相器互相连（V1-->反相器-->V2 且 V2-->反相器-->V1）——把这两条曲线画在同一张图上",[1377,3172,3173,3176],{},[1347,3174,3175],{},"现实中会有噪声，比如存 1 的节点被往下拉一点或者存 0 的节点被往上抬一点",[1347,3177,3178,3179,3182],{},"这个“最大可忍受扰动”就可以用蝴蝶曲线里能放下的",[982,3180,3181],{},"最大正方形边长（保守估算）","来表示，如果扰动超过了这个正方形，就可能发生误翻转",[1372,3184,3186],{"id":3185},"sram-读写流程","SRAM 读\u002F写流程",[986,3188,3189],{},"看懂怎么读写就好了，这个数集也有讲过，感觉真不会考这东西吧",[1294,3191,3192],{"style":1869},[1313,3193,3194],{},[1300,3195,1875,3196,1875,3204],{"style":1874},[1318,3197,3199,1875],{"style":3198},"width: 50.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,3200,3201],{},[992,3202],{"alt":992,"src":3203},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-25.png",[1318,3205,3207,1875],{"style":3206},"width: 49.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,3208,3209],{},[992,3210],{"alt":992,"src":3211},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-26.png",[1372,3213,3215],{"id":3214},"snm-static-noise-margin-sram静态噪声裕度","SNM Static Noise Margin ｜ SRAM静态噪声裕度",[1294,3217,3218],{"style":1869},[1313,3219,3220],{},[1300,3221,1875,3222,1875,3229],{"style":1874},[1318,3223,3224,1875],{"style":3206},[986,3225,3226],{},[992,3227],{"alt":992,"src":3228},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-27.png",[1318,3230,3231,1875],{"style":3198},[986,3232,3233],{},[992,3234],{"alt":992,"src":3235},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-28.png",[1377,3237,3238,3270],{},[1347,3239,3240,3243,3248,3249,3252,3253,2751,3256],{},[982,3241,3242],{},"左图",[1418,3244,3245],{},[982,3246,3247],{},"蓝色蝴蝶曲线","是在",[982,3250,3251],{},"读操作条件","下画出的 SRAM ",[982,3254,3255],{},"两个反相器的 VTC",[1377,3257,3258,3264],{},[1347,3259,3260,3263],{},[982,3261,3262],{},"读操作本身会扰动 cell","。保持状态下 WL=0，cell 和位线隔离；读状态下 WL=1，预充位线会干扰内部存储节点。",[1347,3265,3266,3267],{},"因此会说：",[982,3268,3269],{},"读 SNM 通常是最严格的约束。",[1347,3271,3272,3273,3276,3277,3285],{},"右边红蓝曲线也是在画等效 VTC，但这次是在 ",[982,3274,3275],{},"写入条件"," 下画的",[1377,3278,3279,3282],{},[1347,3280,3281],{},"写入条件下，位线不是两边都预充到 VDD，而是一边被强制拉低，一边被强制拉高。这样外部 write driver 改变了 cell 的等效电路特性。",[1347,3283,3284],{},"WNM (Write Noise Magrin)：看 write driver 能不能打破原来的稳定状态，把 cell 推到新状态",[1294,3286,3287,3297],{},[1297,3288,3289],{},[1300,3290,3291,3294],{},[1303,3292,3293],{},"目标",[1303,3295,3296],{},"希望的晶体管关系",[1313,3298,3299,3307],{},[1300,3300,3301,3304],{},[1318,3302,3303],{},"读稳定",[1318,3305,3306],{},"access 管不要太强，pull-down 要强",[1300,3308,3309,3312],{},[1318,3310,3311],{},"写容易",[1318,3313,3314],{},"access 管要强，pull-up \u002F cell 锁存不要太顽固",[986,3316,3317,3318],{},"读希望 cell “抗扰动”，写希望 cell “容易被扰动”, 因此说",[982,3319,3320],{},"同时优化读写稳定性是很困难的。",[1015,3322,3323],{"id":3323},"整体框架",[986,3325,3326],{},"下图左图为不加缓存的形式，右图在处理器和Memory中间插入缓存，CPU 发出的访存请求不会直接去 DRAM，而是先问 Cache。",[1294,3328,3329],{"style":1869},[1313,3330,3331],{},[1300,3332,1875,3333,1875,3340],{"style":1874},[1318,3334,3335,1875],{"style":3206},[986,3336,3337],{},[992,3338],{"alt":992,"src":3339},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-29.png",[1318,3341,3342,1875],{"style":3198},[986,3343,3344],{},[992,3345],{"alt":992,"src":3346},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-30.png",[1377,3348,3349,3360],{},[1347,3350,3351,3352],{},"Cache 数据读写\n",[1377,3353,3354,3357],{},[1347,3355,3356],{},"写数据也会先经过 Cache，再根据写策略决定是否立即更新主存。",[1347,3358,3359],{},"读数据时，CPU 发出地址->Cache 检查有没有这个数据->如果有：直接返回给 CPU->如果没有：去主存取，把数据放入 Cache，再返回给 CPU",[1347,3361,3362],{},[982,3363,3364],{},"CPU 按字节 \u002F 字访问，Cache 按块组织",[1849,3366,3367],{},[986,3368,3369],{},"Processor organized around words and bytes.Memory including cache organized around blocks.",[1377,3371,3372,3386],{},[1347,3373,3374,3375],{},"CPU 发请求时，通常是按：",[1377,3376,3377,3380,3383],{},[1347,3378,3379],{},"byte；",[1347,3381,3382],{},"half word；",[1347,3384,3385],{},"word；\n来访问的",[1347,3387,3388,3389,2751,3392],{},"但是 Cache 和主存之间搬运数据时，通常不是只搬一个字，而是搬一整个 ",[982,3390,3391],{},"block",[1377,3393,3394],{},[1347,3395,3396],{},"原因是空间局部性：如果 CPU 访问了某个地址，那么附近地址很可能也会被访问，所以一次把附近一整块都取上来。",[1015,3398,3400],{"id":3399},"risc-v-数据通路中加入-i-cache-和-d-cache","RISC-V 数据通路中加入 I-Cache 和 D-Cache",[986,3402,3403],{},[992,3404],{"alt":992,"src":3405},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-31.png",[986,3407,3408,3411],{},[982,3409,3410],{},"上图为不加入缓存的",[982,3412,3413],{},"RV32I 流水线数据通路，下图为加入 I-Cache 和 D-Cache的数据通路",[986,3415,3416],{},[992,3417],{"alt":992,"src":3418},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-32.png",[1849,3420,3421],{},[986,3422,3423,3426],{},[1902,3424,3425],{"code":3425},"$"," 在业界约定俗成地代表\"缓存\"（Cache）",[1377,3428,3429,3450],{},[1347,3430,3431,3432],{},"为什么要分 I$ 和 D$？\n如果只有一个内存，那么同一个周期里可能会出现冲突：",[1344,3433,3434,3437,3444,3447],{},[1347,3435,3436],{},"IF 阶段要取指令；",[1347,3438,3439,3440,3443],{},"MEM 阶段的 lw \u002F sw 也要访问数据内存。\n这两个访问会抢同一个存储器端口，形成",[982,3441,3442],{},"结构冒险","。所以经典 RISC 流水线通常把指令存储和数据存储分开，实际系统里就是分成：",[1347,3445,3446],{},"I$：Instruction Cache，指令缓存；",[1347,3448,3449],{},"D$：Data Cache，数据缓存。",[1347,3451,3452,3453,3529,3530,3621,3624,3627,3629,3630],{},"IF 阶段：PC 如何取指？\n左边这一段是 IF 阶段：",[1062,3454,3456,3476],{"className":3455},[1115],[1062,3457,3459],{"className":3458},[1119],[1121,3460,3461],{"xmlns":1123},[1125,3462,3463,3473],{},[1128,3464,3465,3467],{},[1138,3466,1705],{},[2913,3468,3469,3471],{},[1138,3470,1702],{},[1138,3472,2938],{},[1160,3474,3475],{"encoding":1162},"PC_F",[1062,3477,3479],{"className":3478,"ariaHidden":1168},[1167],[1062,3480,3482,3485,3488],{"className":3481},[1172],[1062,3483],{"className":3484,"style":3094},[1176],[1062,3486,1705],{"className":3487,"style":1734},[1181,1220],[1062,3489,3491,3494],{"className":3490},[1181],[1062,3492,1702],{"className":3493,"style":1730},[1181,1220],[1062,3495,3497],{"className":3496},[1188],[1062,3498,3500,3521],{"className":3499},[1192,2965],[1062,3501,3503,3518],{"className":3502},[1196],[1062,3504,3506],{"className":3505,"style":2972},[1200],[1062,3507,3509,3512],{"style":3508},"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;",[1062,3510],{"className":3511,"style":1209},[1208],[1062,3513,3515],{"className":3514},[1213,1214,1215,1216],[1062,3516,2938],{"className":3517,"style":1734},[1181,1220,1216],[1062,3519,2995],{"className":3520},[2994],[1062,3522,3524],{"className":3523},[1196],[1062,3525,3527],{"className":3526,"style":3002},[1200],[1062,3528],{}," → I$ → ",[1062,3531,3533,3560],{"className":3532},[1115],[1062,3534,3536],{"className":3535},[1119],[1121,3537,3538],{"xmlns":1123},[1125,3539,3540,3557],{},[1128,3541,3542,3544,3547,3549,3551],{},[1138,3543,2356],{},[1138,3545,3546],{},"n",[1138,3548,2204],{},[1138,3550,2359],{},[2913,3552,3553,3555],{},[1138,3554,2198],{},[1138,3556,3079],{},[1160,3558,3559],{"encoding":1162},"instr_D",[1062,3561,3563],{"className":3562,"ariaHidden":1168},[1167],[1062,3564,3566,3570,3574,3577,3580],{"className":3565},[1172],[1062,3567],{"className":3568,"style":3569},[1176],"height:0.8095em;vertical-align:-0.15em;",[1062,3571,3573],{"className":3572},[1181,1220],"in",[1062,3575,2204],{"className":3576},[1181,1220],[1062,3578,2359],{"className":3579},[1181,1220],[1062,3581,3583,3586],{"className":3582},[1181],[1062,3584,2198],{"className":3585,"style":2257},[1181,1220],[1062,3587,3589],{"className":3588},[1188],[1062,3590,3592,3613],{"className":3591},[1192,2965],[1062,3593,3595,3610],{"className":3594},[1196],[1062,3596,3598],{"className":3597,"style":2972},[1200],[1062,3599,3601,3604],{"style":3600},"top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;",[1062,3602],{"className":3603,"style":1209},[1208],[1062,3605,3607],{"className":3606},[1213,1214,1215,1216],[1062,3608,3079],{"className":3609,"style":2257},[1181,1220,1216],[1062,3611,2995],{"className":3612},[2994],[1062,3614,3616],{"className":3615},[1196],[1062,3617,3619],{"className":3618,"style":3002},[1200],[1062,3620],{},[3622,3623],"br",{},[992,3625],{"alt":992,"src":3626},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-33.png",[3622,3628],{},"流程是：",[1377,3631,3632,3709,3712,3774],{},[1347,3633,3634,3635,2751],{},"PC 寄存器输出当前取指地址 ",[1062,3636,3638,3657],{"className":3637},[1115],[1062,3639,3641],{"className":3640},[1119],[1121,3642,3643],{"xmlns":1123},[1125,3644,3645,3655],{},[1128,3646,3647,3649],{},[1138,3648,1705],{},[2913,3650,3651,3653],{},[1138,3652,1702],{},[1138,3654,2938],{},[1160,3656,3475],{"encoding":1162},[1062,3658,3660],{"className":3659,"ariaHidden":1168},[1167],[1062,3661,3663,3666,3669],{"className":3662},[1172],[1062,3664],{"className":3665,"style":3094},[1176],[1062,3667,1705],{"className":3668,"style":1734},[1181,1220],[1062,3670,3672,3675],{"className":3671},[1181],[1062,3673,1702],{"className":3674,"style":1730},[1181,1220],[1062,3676,3678],{"className":3677},[1188],[1062,3679,3681,3701],{"className":3680},[1192,2965],[1062,3682,3684,3698],{"className":3683},[1196],[1062,3685,3687],{"className":3686,"style":2972},[1200],[1062,3688,3689,3692],{"style":3508},[1062,3690],{"className":3691,"style":1209},[1208],[1062,3693,3695],{"className":3694},[1213,1214,1215,1216],[1062,3696,2938],{"className":3697,"style":1734},[1181,1220,1216],[1062,3699,2995],{"className":3700},[2994],[1062,3702,3704],{"className":3703},[1196],[1062,3705,3707],{"className":3706,"style":3002},[1200],[1062,3708],{},[1347,3710,3711],{},"这个地址送到 I$，I$ 检查自己有没有这个地址对应的指令。",[1347,3713,3714,3715,3773],{},"如果 hit，就把指令送入 IF\u002FID 流水线寄存器，下一拍进入 ID 阶段;  同时 ",[1062,3716,3718,3739],{"className":3717},[1115],[1062,3719,3721],{"className":3720},[1119],[1121,3722,3723],{"xmlns":1123},[1125,3724,3725,3736],{},[1128,3726,3727,3729,3731,3733],{},[1138,3728,1705],{},[1138,3730,1702],{},[1146,3732,1647],{},[1134,3734,3735],{},"4",[1160,3737,3738],{"encoding":1162},"PC+4",[1062,3740,3742,3764],{"className":3741,"ariaHidden":1168},[1167],[1062,3743,3745,3749,3752,3755,3758,3761],{"className":3744},[1172],[1062,3746],{"className":3747,"style":3748},[1176],"height:0.7667em;vertical-align:-0.0833em;",[1062,3750,1705],{"className":3751,"style":1734},[1181,1220],[1062,3753,1702],{"className":3754,"style":1730},[1181,1220],[1062,3756],{"className":3757,"style":1233},[1232],[1062,3759,1647],{"className":3760},[1237],[1062,3762],{"className":3763,"style":1233},[1232],[1062,3765,3767,3770],{"className":3766},[1172],[1062,3768],{"className":3769,"style":1756},[1176],[1062,3771,3735],{"className":3772},[1181]," 也被计算出来，用于默认顺序取下一条指令。",[1347,3775,3776,3777],{},"如果miss，当前 PC 对应的指令不在一级指令缓存，这时 I$ 必须向更低层存储器请求数据块：I$ → Memory Controller → L2 \u002F Main Memory\n",[1377,3778,3779,3785,3791,3797],{},[1347,3780,3781,3784],{},[1902,3782,3783],{"code":3783},"To Memory Controller","：向下级存储系统发请求；",[1347,3786,3787,3790],{},[1902,3788,3789],{"code":3789},"Refill $ Data from Lower Levels of Memory Hierarchy","：从低层存储器把整块 cache line 填回来；",[1347,3792,3793,3796],{},[1902,3794,3795],{"code":3795},"bubble","：在等待期间给流水线送空操作；",[1347,3798,3799,3802],{},[1902,3800,3801],{"code":3801},"pc_en","：冻结 PC，避免 PC 一直往后跑。",[1849,3804,3805],{},[1344,3806,3807,3813,3819,3825,3830,3835],{},[1347,3808,3809,3812],{},[1902,3810,3811],{"code":3811},"pc_F","：取指地址。",[1347,3814,3815,3818],{},[1902,3816,3817],{"code":3817},"Primary I$","：一级指令缓存。",[1347,3820,3821,3824],{},[1902,3822,3823],{"code":3823},"Hit?","：是否命中。",[1347,3826,3827,3829],{},[1902,3828,3559],{"code":3559},"：送入译码阶段的指令。",[1347,3831,3832,3834],{},[1902,3833,3801],{"code":3801},"：PC 是否允许更新。",[1347,3836,3837,3839],{},[1902,3838,3795],{"code":3795},"：如果取不到有效指令，就往后面送一个空操作",[1377,3841,3843,3851,3859],{"start":3842},3,[1347,3844,3845,3846],{},"ID 阶段：译码、读寄存器、生成立即数\n",[1377,3847,3848],{},[1347,3849,3850],{},"这段就是和其他流水线或者多周期CPU无异，一样的译码、读寄存器、生成立即数操作",[1347,3852,3853,3854],{},"EX 阶段：ALU 做三类事情\n",[1377,3855,3856],{},[1347,3857,3858],{},"仍然和其他流水线或者多周期CPU无异",[1347,3860,3861,3862],{},"MEM 阶段：D$ 负责 load\u002Fstore——右边 DMEM 那块现在实际对应 D$。\n",[1377,3863,3864,3867],{},[1347,3865,3866],{},"对于普通 ALU 指令，这一级基本只是把 ALU 结果继续往后传，和D$无关",[1347,3868,3869,3870,3873],{},"对于访存指令：\n",[992,3871],{"alt":992,"src":3872},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-34.png",[1377,3874,3875,4036,4251],{},[1347,3876,3877,3878,3986,3987],{},"lw \u002F lb 等 load：",[1062,3879,3881,3927],{"className":3880},[1115],[1062,3882,3884],{"className":3883},[1119],[1121,3885,3886],{"xmlns":1123},[1125,3887,3888,3924],{},[1128,3889,3890,3892,3895,3898,3901,3903,3905,3907,3910,3912,3914,3916,3918,3920,3922],{},[1138,3891,2190],{},[1138,3893,3894],{},"L",[1138,3896,3897],{},"U",[1142,3899,3900],{}," ",[1138,3902,2198],{},[1138,3904,2201],{},[1138,3906,2204],{},[1138,3908,3909],{},"u",[1138,3911,2472],{},[1138,3913,2359],{},[1146,3915,1711],{},[1138,3917,2190],{},[1138,3919,2193],{},[1138,3921,2193],{},[1138,3923,2198],{},[1160,3925,3926],{"encoding":1162},"ALU\\ result = Addr",[1062,3928,3930,3971],{"className":3929,"ariaHidden":1168},[1167],[1062,3931,3933,3936,3939,3943,3946,3949,3953,3956,3959,3962,3965,3968],{"className":3932},[1172],[1062,3934],{"className":3935,"style":2246},[1176],[1062,3937,2190],{"className":3938},[1181,1220],[1062,3940,3942],{"className":3941,"style":1221},[1181,1220],"LU",[1062,3944,3900],{"className":3945},[1232],[1062,3947,2198],{"className":3948,"style":2257},[1181,1220],[1062,3950,3952],{"className":3951},[1181,1220],"es",[1062,3954,3909],{"className":3955},[1181,1220],[1062,3957,2472],{"className":3958,"style":2530},[1181,1220],[1062,3960,2359],{"className":3961},[1181,1220],[1062,3963],{"className":3964,"style":1742},[1232],[1062,3966,1711],{"className":3967},[1746],[1062,3969],{"className":3970,"style":1742},[1232],[1062,3972,3974,3977,3980,3983],{"className":3973},[1172],[1062,3975],{"className":3976,"style":2246},[1176],[1062,3978,2190],{"className":3979},[1181,1220],[1062,3981,2253],{"className":3982},[1181,1220],[1062,3984,2198],{"className":3985,"style":2257},[1181,1220]," → D$ → ",[1062,3988,3990,4012],{"className":3989},[1115],[1062,3991,3993],{"className":3992},[1119],[1121,3994,3995],{"xmlns":1123},[1125,3996,3997,4009],{},[1128,3998,3999,4001,4003,4005,4007],{},[1138,4000,3079],{},[1138,4002,2370],{},[1138,4004,2359],{},[1138,4006,2370],{},[1138,4008,2211],{},[1160,4010,4011],{"encoding":1162},"DataR",[1062,4013,4015],{"className":4014,"ariaHidden":1168},[1167],[1062,4016,4018,4021,4024,4027,4030,4033],{"className":4017},[1172],[1062,4019],{"className":4020,"style":1726},[1176],[1062,4022,3079],{"className":4023,"style":2257},[1181,1220],[1062,4025,2370],{"className":4026},[1181,1220],[1062,4028,2359],{"className":4029},[1181,1220],[1062,4031,2370],{"className":4032},[1181,1220],[1062,4034,2211],{"className":4035,"style":2281},[1181,1220],[1347,4037,4038,4039,2594,4103,4173],{},"sw \u002F sb 等 store: ",[1062,4040,4042,4067],{"className":4041},[1115],[1062,4043,4045],{"className":4044},[1119],[1121,4046,4047],{"xmlns":1123},[1125,4048,4049,4064],{},[1128,4050,4051,4053,4055,4057,4059,4062],{},[1138,4052,2190],{},[1138,4054,2193],{},[1138,4056,2193],{},[1138,4058,2198],{},[1146,4060,4061],{},"→",[1138,4063,3079],{},[1160,4065,4066],{"encoding":1162},"Addr \\rightarrow D",[1062,4068,4070,4094],{"className":4069,"ariaHidden":1168},[1167],[1062,4071,4073,4076,4079,4082,4085,4088,4091],{"className":4072},[1172],[1062,4074],{"className":4075,"style":2246},[1176],[1062,4077,2190],{"className":4078},[1181,1220],[1062,4080,2253],{"className":4081},[1181,1220],[1062,4083,2198],{"className":4084,"style":2257},[1181,1220],[1062,4086],{"className":4087,"style":1742},[1232],[1062,4089,4061],{"className":4090},[1746],[1062,4092],{"className":4093,"style":1742},[1232],[1062,4095,4097,4100],{"className":4096},[1172],[1062,4098],{"className":4099,"style":1726},[1176],[1062,4101,3079],{"className":4102,"style":2257},[1181,1220],[1062,4104,4106,4133],{"className":4105},[1115],[1062,4107,4109],{"className":4108},[1119],[1121,4110,4111],{"xmlns":1123},[1125,4112,4113,4130],{},[1128,4114,4115,4117,4119,4121,4123,4126,4128],{},[1138,4116,3079],{},[1138,4118,2370],{},[1138,4120,2359],{},[1138,4122,2370],{},[1138,4124,4125],{},"W",[1146,4127,4061],{},[1138,4129,3079],{},[1160,4131,4132],{"encoding":1162},"DataW \\rightarrow D",[1062,4134,4136,4164],{"className":4135,"ariaHidden":1168},[1167],[1062,4137,4139,4142,4145,4148,4151,4155,4158,4161],{"className":4138},[1172],[1062,4140],{"className":4141,"style":1726},[1176],[1062,4143,3079],{"className":4144,"style":2257},[1181,1220],[1062,4146,2370],{"className":4147},[1181,1220],[1062,4149,2359],{"className":4150},[1181,1220],[1062,4152,4154],{"className":4153,"style":1734},[1181,1220],"aW",[1062,4156],{"className":4157,"style":1742},[1232],[1062,4159,4061],{"className":4160},[1746],[1062,4162],{"className":4163,"style":1742},[1232],[1062,4165,4167,4170],{"className":4166},[1172],[1062,4168],{"className":4169,"style":1726},[1176],[1062,4171,3079],{"className":4172,"style":2257},[1181,1220],[1344,4174,4175,4181],{},[1347,4176,4177,4180],{},[1902,4178,4179],{"code":4179},"Addr"," 是 ALU 算出来的地址；",[1347,4182,4183,4186,4187,2751],{},[1902,4184,4185],{"code":4185},"DataW"," 是要写入内存的数据，也就是原来的 ",[1062,4188,4190,4218],{"className":4189},[1115],[1062,4191,4193],{"className":4192},[1119],[1121,4194,4195],{"xmlns":1123},[1125,4196,4197,4215],{},[1128,4198,4199,4201,4203,4205,4207,4209,4211,4213],{},[1138,4200,2211],{},[1138,4202,2201],{},[1138,4204,2216],{},[1146,4206,2220],{"stretchy":2219},[1138,4208,2198],{},[1138,4210,2204],{},[1134,4212,1136],{},[1146,4214,2228],{"stretchy":2219},[1160,4216,4217],{"encoding":1162},"Reg[rs2]",[1062,4219,4221],{"className":4220,"ariaHidden":1168},[1167],[1062,4222,4224,4227,4230,4233,4236,4239,4242,4245,4248],{"className":4223},[1172],[1062,4225],{"className":4226,"style":2277},[1176],[1062,4228,2211],{"className":4229,"style":2281},[1181,1220],[1062,4231,2201],{"className":4232},[1181,1220],[1062,4234,2216],{"className":4235,"style":2288},[1181,1220],[1062,4237,2220],{"className":4238},[2292],[1062,4240,2198],{"className":4241,"style":2257},[1181,1220],[1062,4243,2204],{"className":4244},[1181,1220],[1062,4246,1136],{"className":4247},[1181],[1062,4249,2228],{"className":4250},[2302],[1347,4252,4253,4254],{},"对于D Cache的相关操作：\n",[1377,4255,4256,4259,4265],{},[1347,4257,4258],{},"MEM 阶段地址访问 D$；",[1347,4260,4261,4262,4264],{},"D$ 如果hit，则返回数据 ",[1902,4263,4011],{"code":4011},"；D$ hit ⇒ DataR 直接送往 WB",[1347,4266,4267,4268,4304],{},"如果没有hit，则 stall entire CPU:\n",[1377,4269,4270,4284],{},[1347,4271,4272,4273],{},"当前 MEM 阶段的 load\u002Fstore 还没有完成，它对应的是一条已经在流水线中间的真实指令。如果让后面的流水线继续推进，就会出现严重问题：\n",[1377,4274,4275,4278,4281],{},[1347,4276,4277],{},"load 还没拿到数据，后续指令可能已经要用这个结果",[1347,4279,4280],{},"store 还没完成，后续访存可能和它有顺序关系",[1347,4282,4283],{},"如果允许后面的指令越过它执行，就破坏了简单顺序流水线的语义",[1347,4285,4286,4287],{},"所以 D$ miss 时一般要冻结下面的全部流程：\n",[1344,4288,4289,4292,4295,4298,4301],{},[1347,4290,4291],{},"PC；",[1347,4293,4294],{},"IF\u002FID；",[1347,4296,4297],{},"ID\u002FEX；",[1347,4299,4300],{},"EX\u002FMEM；",[1347,4302,4303],{},"MEM\u002FWB 或相关控制",[1344,4305,4306],{},[1347,4307,4308],{},[1418,4309,4310],{},[982,4311,4312],{},"直到 D$ 从低层存储器把缺失 block 拿回来，当前 load\u002Fstore 完成后，流水线再继续。",[1294,4314,4315],{"style":1869},[1313,4316,4317],{},[1300,4318,1875,4319,1875,4326],{"style":1874},[1318,4320,4321,1875],{"style":1878},[986,4322,4323],{},[992,4324],{"alt":992,"src":4325},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-35.png",[1318,4327,4328,1875],{"style":1886},[986,4329,4330],{},[992,4331],{"alt":992,"src":4332},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-36.png",[2546,4334,4335],{"type":2548},[986,4336,4337,4342,4343,4403],{},[1418,4338,4339],{},[982,4340,4341],{},"当流水线 CPU 接入真实缓存后，访存不再总是固定 1 个周期，cache miss 会让流水线控制变复杂，缓存 hit 让流水线接近"," ",[1062,4344,4346,4367],{"className":4345},[1115],[1062,4347,4349],{"className":4348},[1119],[1121,4350,4351],{"xmlns":1123},[1125,4352,4353,4365],{},[1128,4354,4355,4357,4359,4361,4363],{},[1138,4356,1702],{},[1138,4358,1705],{},[1138,4360,1708],{},[1146,4362,1711],{},[1134,4364,1644],{},[1160,4366,1716],{"encoding":1162},[1062,4368,4370,4394],{"className":4369,"ariaHidden":1168},[1167],[1062,4371,4373,4376,4379,4382,4385,4388,4391],{"className":4372},[1172],[1062,4374],{"className":4375,"style":1726},[1176],[1062,4377,1702],{"className":4378,"style":1730},[1181,1220],[1062,4380,1705],{"className":4381,"style":1734},[1181,1220],[1062,4383,1708],{"className":4384,"style":1738},[1181,1220],[1062,4386],{"className":4387,"style":1742},[1232],[1062,4389,1711],{"className":4390},[1746],[1062,4392],{"className":4393,"style":1742},[1232],[1062,4395,4397,4400],{"className":4396},[1172],[1062,4398],{"className":4399,"style":1756},[1176],[1062,4401,1644],{"className":4402},[1181],[1418,4404,4405],{},[982,4406,4407],{},"，cache miss 会引入额外 stall，使实际 CPI 增大。",[1094,4409,4411],{"id":4410},"cpu-cache-缓存交互总结","CPU-Cache 缓存交互总结",[986,4413,4414],{},[992,4415],{"alt":992,"src":4416},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-37.png",[986,4418,4419,4424,4425,2751],{},[1418,4420,4421],{},[982,4422,4423],{},"IF 阶段","用 PC 访问主指令缓存。如果 I$ hit，指令进入 IF \u002F ID 阶段；如果 I$ miss，指令取不到，就要从低层存储器 refill，同时",[982,4426,4427],{},"流水线前端会插入 bubble，PC\u002F取指相关部分暂停",[986,4429,4430,4435,4436,4441,4444],{},[1418,4431,4432],{},[982,4433,4434],{},"MEM 阶段","访问 Primary Data Cache。load\u002Fstore 如果 hit，就正常返回数据或写入数据；",[1418,4437,4438],{},[982,4439,4440],{},"如果 D$ miss，数据缓存未命中导致整个 CPU 失速",[982,4442,4443],{},",","因为这条访存指令已经在流水线中间，如果它没完成，后面的指令不能乱往前推进，所以通常要冻结整个流水线，等 lower memory hierarchy 把数据块填回来。",[996,4446,4448],{"id":4447},"cache-的内部组织","Cache 的内部组织",[1015,4450,4452],{"id":4451},"缓存内部-inside-a-cache","缓存内部 ｜ Inside a Cache",[986,4454,4455],{},[1418,4456,4457],{},"Cache 是按“块 \u002F 行”存主存中一小段连续地址的数据，并且每一行都要带一个地址标签，用来说明这块数据来自主存哪里",[1294,4459,4460],{"style":1869},[1313,4461,4462],{},[1300,4463,1875,4464,1875,4472],{"style":1874},[1318,4465,4467,1875],{"style":4466},"width: 46.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,4468,4469],{},[992,4470],{"alt":992,"src":4471},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-38.png",[1318,4473,4475,1875],{"style":4474},"width: 53.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,4476,4477],{},[992,4478],{"alt":992,"src":4479},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-39.png",[1344,4481,4482,4489],{},[1347,4483,4484,4485,4488],{},"Cache 内部通常按 ",[982,4486,4487],{},"cache line"," 组织。",[1347,4490,4491,4492,4578],{},"一个 cache line 由两部分构成：",[1062,4493,4495,4520],{"className":4494},[1115],[1062,4496,4498],{"className":4497},[1119],[1121,4499,4500],{"xmlns":1123},[1125,4501,4502,4517],{},[1128,4503,4504,4507,4509,4512,4514],{},[1142,4505,4506],{},"Cache Line",[1146,4508,1711],{},[1142,4510,4511],{},"Address Tag",[1146,4513,1647],{},[1142,4515,4516],{},"Data Block",[1160,4518,4519],{"encoding":1162},"\\text{Cache Line} = \\text{Address Tag} + \\text{Data Block}",[1062,4521,4523,4544,4566],{"className":4522,"ariaHidden":1168},[1167],[1062,4524,4526,4529,4535,4538,4541],{"className":4525},[1172],[1062,4527],{"className":4528,"style":2246},[1176],[1062,4530,4532],{"className":4531},[1181,1225],[1062,4533,4506],{"className":4534},[1181],[1062,4536],{"className":4537,"style":1742},[1232],[1062,4539,1711],{"className":4540},[1746],[1062,4542],{"className":4543,"style":1742},[1232],[1062,4545,4547,4551,4557,4560,4563],{"className":4546},[1172],[1062,4548],{"className":4549,"style":4550},[1176],"height:0.8889em;vertical-align:-0.1944em;",[1062,4552,4554],{"className":4553},[1181,1225],[1062,4555,4511],{"className":4556},[1181],[1062,4558],{"className":4559,"style":1233},[1232],[1062,4561,1647],{"className":4562},[1237],[1062,4564],{"className":4565,"style":1233},[1232],[1062,4567,4569,4572],{"className":4568},[1172],[1062,4570],{"className":4571,"style":2246},[1176],[1062,4573,4575],{"className":4574},[1181,1225],[1062,4576,4516],{"className":4577},[1181],[1377,4579,4580],{},[1347,4581,4582,4583],{},"Address Tag：地址标签，说明这一行数据来自主存哪个区域。\n",[1377,4584,4585,4588],{},[1347,4586,4587],{},"Cache 很小，不可能保存整个主存，所以某一个 cache line 里现在放的到底是主存哪一块数据，必须有一个标记。",[1347,4589,4590,4591],{},"这个标记就是：",[1062,4592,4594,4629],{"className":4593},[1115],[1062,4595,4597],{"className":4596},[1119],[1121,4598,4599],{"xmlns":1123},[1125,4600,4601,4626],{},[1128,4602,4603,4605,4607,4609,4611,4613,4615,4617,4619,4622,4624],{},[1138,4604,2190],{},[1138,4606,2193],{},[1138,4608,2193],{},[1138,4610,2198],{},[1138,4612,2201],{},[1138,4614,2204],{},[1138,4616,2204],{},[1142,4618,3900],{},[1138,4620,4621],{},"T",[1138,4623,2370],{},[1138,4625,2216],{},[1160,4627,4628],{"encoding":1162},"Address\\ Tag",[1062,4630,4632],{"className":4631,"ariaHidden":1168},[1167],[1062,4633,4635,4638,4641,4644,4647,4650,4653,4656,4659],{"className":4634},[1172],[1062,4636],{"className":4637,"style":4550},[1176],[1062,4639,2190],{"className":4640},[1181,1220],[1062,4642,2253],{"className":4643},[1181,1220],[1062,4645,2198],{"className":4646,"style":2257},[1181,1220],[1062,4648,2261],{"className":4649},[1181,1220],[1062,4651,3900],{"className":4652},[1232],[1062,4654,4621],{"className":4655,"style":1734},[1181,1220],[1062,4657,2370],{"className":4658},[1181,1220],[1062,4660,2216],{"className":4661,"style":2288},[1181,1220],[1849,4663,4664,4667,4673,4676],{},[986,4665,4666],{},"例如某个 cache line 里存的是主存地址 100 开始的一块数据：",[1896,4668,4671],{"className":4669,"code":4670,"language":1225},[1899],"Tag = 100\nData Block = Memory[100], Memory[101], Memory[102], ...\n",[1902,4672,4670],{"__ignoreMap":1904},[986,4674,4675],{},"那么当处理器请求地址 100 时，Cache 检查 tag，发现这个 line 确实对应地址 100 附近的数据，于是命中。",[986,4677,4678],{},"如果处理器请求地址 6848，但是这个 line 的 tag 是 100，那就说明这行不是你要的数据，发生 miss。",[1377,4680,4681],{"start":2046},[1347,4682,4683],{},"Data Block：数据块，保存主存中一段连续数据的副本。",[1849,4685,4686,4923],{},[986,4687,4688,4689],{},"例如一个 data block 可能包含：",[1062,4690,4692,4790],{"className":4691},[1115],[1062,4693,4695],{"className":4694},[1119],[1121,4696,4697],{"xmlns":1123},[1125,4698,4699,4787],{},[1128,4700,4701,4703,4705,4707,4709,4711,4714,4716,4719,4721,4723,4725,4727,4729,4731,4733,4735,4737,4740,4742,4744,4746,4748,4750,4752,4754,4756,4758,4761,4763,4765,4767,4769,4771,4773,4775,4777,4779,4782,4784],{},[1138,4702,1155],{},[1138,4704,2201],{},[1138,4706,1610],{},[1138,4708,2475],{},[1138,4710,2198],{},[1138,4712,4713],{},"y",[1146,4715,2220],{"stretchy":2219},[1134,4717,4718],{},"100",[1146,4720,2228],{"stretchy":2219},[1146,4722,4443],{"separator":1168},[1138,4724,1155],{},[1138,4726,2201],{},[1138,4728,1610],{},[1138,4730,2475],{},[1138,4732,2198],{},[1138,4734,4713],{},[1146,4736,2220],{"stretchy":2219},[1134,4738,4739],{},"101",[1146,4741,2228],{"stretchy":2219},[1146,4743,4443],{"separator":1168},[1138,4745,1155],{},[1138,4747,2201],{},[1138,4749,1610],{},[1138,4751,2475],{},[1138,4753,2198],{},[1138,4755,4713],{},[1146,4757,2220],{"stretchy":2219},[1134,4759,4760],{},"102",[1146,4762,2228],{"stretchy":2219},[1146,4764,4443],{"separator":1168},[1138,4766,1155],{},[1138,4768,2201],{},[1138,4770,1610],{},[1138,4772,2475],{},[1138,4774,2198],{},[1138,4776,4713],{},[1146,4778,2220],{"stretchy":2219},[1134,4780,4781],{},"103",[1146,4783,2228],{"stretchy":2219},[1146,4785,4786],{},"⋯",[1160,4788,4789],{"encoding":1162},"Memory[100], Memory[101], Memory[102], Memory[103] \\cdots",[1062,4791,4793],{"className":4792,"ariaHidden":1168},[1167],[1062,4794,4796,4799,4802,4805,4808,4812,4815,4818,4821,4824,4828,4832,4835,4838,4841,4844,4847,4850,4853,4856,4859,4862,4865,4868,4871,4874,4877,4880,4883,4886,4889,4892,4895,4898,4901,4904,4907,4910,4913,4916,4919],{"className":4795},[1172],[1062,4797],{"className":4798,"style":2277},[1176],[1062,4800,1155],{"className":4801,"style":1221},[1181,1220],[1062,4803,2201],{"className":4804},[1181,1220],[1062,4806,1610],{"className":4807},[1181,1220],[1062,4809,4811],{"className":4810,"style":2257},[1181,1220],"or",[1062,4813,4713],{"className":4814,"style":2288},[1181,1220],[1062,4816,2220],{"className":4817},[2292],[1062,4819,4718],{"className":4820},[1181],[1062,4822,2228],{"className":4823},[2302],[1062,4825,4443],{"className":4826},[4827],"mpunct",[1062,4829],{"className":4830,"style":4831},[1232],"margin-right:0.1667em;",[1062,4833,1155],{"className":4834,"style":1221},[1181,1220],[1062,4836,2201],{"className":4837},[1181,1220],[1062,4839,1610],{"className":4840},[1181,1220],[1062,4842,4811],{"className":4843,"style":2257},[1181,1220],[1062,4845,4713],{"className":4846,"style":2288},[1181,1220],[1062,4848,2220],{"className":4849},[2292],[1062,4851,4739],{"className":4852},[1181],[1062,4854,2228],{"className":4855},[2302],[1062,4857,4443],{"className":4858},[4827],[1062,4860],{"className":4861,"style":4831},[1232],[1062,4863,1155],{"className":4864,"style":1221},[1181,1220],[1062,4866,2201],{"className":4867},[1181,1220],[1062,4869,1610],{"className":4870},[1181,1220],[1062,4872,4811],{"className":4873,"style":2257},[1181,1220],[1062,4875,4713],{"className":4876,"style":2288},[1181,1220],[1062,4878,2220],{"className":4879},[2292],[1062,4881,4760],{"className":4882},[1181],[1062,4884,2228],{"className":4885},[2302],[1062,4887,4443],{"className":4888},[4827],[1062,4890],{"className":4891,"style":4831},[1232],[1062,4893,1155],{"className":4894,"style":1221},[1181,1220],[1062,4896,2201],{"className":4897},[1181,1220],[1062,4899,1610],{"className":4900},[1181,1220],[1062,4902,4811],{"className":4903,"style":2257},[1181,1220],[1062,4905,4713],{"className":4906,"style":2288},[1181,1220],[1062,4908,2220],{"className":4909},[2292],[1062,4911,4781],{"className":4912},[1181],[1062,4914,2228],{"className":4915},[2302],[1062,4917],{"className":4918,"style":4831},[1232],[1062,4920,4786],{"className":4921},[4922],"minner",[986,4924,4925,4926,4929],{},"所以 Cache 不是只把地址 100 这一个字节拿进来，而是会把",[982,4927,4928],{},"地址 100 附近的一整块连续数据","一起拿进来。",[1094,4931,4932],{"id":4932},"例1",[986,4934,4935],{},[992,4936],{"alt":992,"src":4937},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-40.png",[1015,4939,4941],{"id":4940},"cache-read-algorithm-缓存读取算法","Cache Read Algorithm ｜ 缓存读取算法",[986,4943,4944],{},[992,4945],{"alt":992,"src":4946},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-41.png",[986,4948,4949],{},"其实没有什么高大上的算法，实际上还是一套东西——Hit了就皆大欢喜了，直接拿来用；如果Miss了，那么就去从主存储器中拿数据，然后给处理器的同时也更新缓存；",[986,4951,4952,4953,4956,4957,4960],{},"PPT中还提到了一个问题：",[982,4954,4955],{},"“我们要替换哪一行？”","凭空出现了这样一句话，实际上想要表达的是：",[982,4958,4959],{},"如果cache满了，我们需要“踢”出去某一行cache line，然后把我们新拿到的数据存进去。",[1418,4961,4962],{},[982,4963,4964],{},"这个下面讲",[1015,4966,4968],{"id":4967},"cache-replacement-缓存替换","Cache Replacement | 缓存替换",[986,4970,4971],{},[992,4972],{"alt":992,"src":4973},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-42.png",[986,4975,4976,4977,1847,4980],{},"如图所示的例子中，处理器现在请求位置 511，其中包含 11，但是511 不匹配任何 tag，所以 miss。",[982,4978,4979],{},"cache 又满了，所以必须选择一个已有 block 作为 victim，把它驱逐掉",[1062,4981,4983,5003],{"className":4982},[1115],[1062,4984,4986],{"className":4985},[1119],[1121,4987,4988],{"xmlns":1123},[1125,4989,4990,5000],{},[1128,4991,4992,4995,4997],{},[1142,4993,4994],{},"evict old block",[1146,4996,4061],{},[1142,4998,4999],{},"refill new block 511",[1160,5001,5002],{"encoding":1162},"\\text{evict old block} \\rightarrow \\text{refill new block 511}",[1062,5004,5006,5027],{"className":5005,"ariaHidden":1168},[1167],[1062,5007,5009,5012,5018,5021,5024],{"className":5008},[1172],[1062,5010],{"className":5011,"style":2246},[1176],[1062,5013,5015],{"className":5014},[1181,1225],[1062,5016,4994],{"className":5017},[1181],[1062,5019],{"className":5020,"style":1742},[1232],[1062,5022,4061],{"className":5023},[1746],[1062,5025],{"className":5026,"style":1742},[1232],[1062,5028,5030,5033],{"className":5029},[1172],[1062,5031],{"className":5032,"style":2246},[1176],[1062,5034,5036],{"className":5035},[1181,1225],[1062,5037,4999],{"className":5038},[1181],[986,5040,5041,5046,5153,5156],{},[1418,5042,5043],{},[982,5044,5045],{},"替换策略是：",[1062,5047,5049,5108],{"className":5048},[1115],[1062,5050,5052],{"className":5051},[1119],[1121,5053,5054],{"xmlns":1123},[1125,5055,5056,5105],{},[1128,5057,5058,5061,5063,5065,5067,5069,5071,5073,5075,5077,5079,5081,5083,5085,5087,5089,5091,5093,5095,5097,5099,5101,5103],{},[1138,5059,3894],{"mathvariant":5060},"bold",[1138,5062,2211],{"mathvariant":5060},[1138,5064,3897],{"mathvariant":5060},[1146,5066,1711],{},[1138,5068,3894],{"mathvariant":5060},[1138,5070,2201],{"mathvariant":5060},[1138,5072,2370],{"mathvariant":5060},[1138,5074,2204],{"mathvariant":5060},[1138,5076,2359],{"mathvariant":5060},[1142,5078,3900],{},[1138,5080,2211],{"mathvariant":5060},[1138,5082,2201],{"mathvariant":5060},[1138,5084,2373],{"mathvariant":5060},[1138,5086,2201],{"mathvariant":5060},[1138,5088,3546],{"mathvariant":5060},[1138,5090,2359],{"mathvariant":5060},[1138,5092,2472],{"mathvariant":5060},[1138,5094,4713],{"mathvariant":5060},[1142,5096,3900],{},[1138,5098,3897],{"mathvariant":5060},[1138,5100,2204],{"mathvariant":5060},[1138,5102,2201],{"mathvariant":5060},[1138,5104,2193],{"mathvariant":5060},[1160,5106,5107],{"encoding":1162},"\\mathbf{LRU = Least\\ Recently\\ Used}",[1062,5109,5111],{"className":5110,"ariaHidden":1168},[1167],[1062,5112,5114,5117],{"className":5113},[1172],[1062,5115],{"className":5116,"style":4550},[1176],[1062,5118,5120,5125,5128,5131,5134,5138,5141,5146,5149],{"className":5119},[1181],[1062,5121,5124],{"className":5122},[1181,5123],"mathbf","LRU",[1062,5126],{"className":5127,"style":1742},[1232],[1062,5129,1711],{"className":5130},[1746],[1062,5132],{"className":5133,"style":1742},[1232],[1062,5135,5137],{"className":5136},[1181,5123],"Least",[1062,5139,3900],{"className":5140},[1232],[1062,5142,5145],{"className":5143,"style":5144},[1181,5123],"margin-right:0.016em;","Recently",[1062,5147,3900],{"className":5148},[1232],[1062,5150,5152],{"className":5151},[1181,5123],"Used",[1418,5154,5155],{},"，也就是替换“最近最久没用过”的那一行","。图里红框标出的那行就是被认为最久没用的 victim。",[1849,5158,5159],{},[986,5160,5161],{},"最近用过的数据很可能马上还会用；很久没用的数据相对更适合被替换。",[1015,5163,5165],{"id":5164},"block-alignment-内存中block对齐问题","Block alignment | 内存中block对齐问题",[986,5167,5168],{},[992,5169],{"alt":992,"src":5170},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-43.png",[986,5172,5173,5174,5252],{},"如果一个 block 是一个 word，也就是 4Byte ，那么这个Block的起始地址必须是 4 的倍数。所以 byte address 的最低 2 位一定是：",[1062,5175,5177,5196],{"className":5176},[1115],[1062,5178,5180],{"className":5179},[1119],[1121,5181,5182],{"xmlns":1123},[1125,5183,5184,5193],{},[1128,5185,5186],{},[2913,5187,5188,5191],{},[1134,5189,5190],{},"00",[1134,5192,1136],{},[1160,5194,5195],{"encoding":1162},"00_2",[1062,5197,5199],{"className":5198,"ariaHidden":1168},[1167],[1062,5200,5202,5206,5210],{"className":5201},[1172],[1062,5203],{"className":5204,"style":5205},[1176],"height:0.7944em;vertical-align:-0.15em;",[1062,5207,5209],{"className":5208},[1181],"0",[1062,5211,5213,5216],{"className":5212},[1181],[1062,5214,5209],{"className":5215},[1181],[1062,5217,5219],{"className":5218},[1188],[1062,5220,5222,5244],{"className":5221},[1192,2965],[1062,5223,5225,5241],{"className":5224},[1196],[1062,5226,5229],{"className":5227,"style":5228},[1200],"height:0.3011em;",[1062,5230,5232,5235],{"style":5231},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[1062,5233],{"className":5234,"style":1209},[1208],[1062,5236,5238],{"className":5237},[1213,1214,1215,1216],[1062,5239,1136],{"className":5240},[1181,1216],[1062,5242,2995],{"className":5243},[2994],[1062,5245,5247],{"className":5246},[1196],[1062,5248,5250],{"className":5249,"style":3002},[1200],[1062,5251],{},";",[1849,5254,5255],{},[986,5256,5257,5258,5367],{},"（ 举例，它的block地址只能是：",[1062,5259,5261,5314],{"className":5260},[1115],[1062,5262,5264],{"className":5263},[1119],[1121,5265,5266],{"xmlns":1123},[1125,5267,5268,5311],{},[1128,5269,5270,5273,5275,5278,5280,5282,5284,5286,5289,5291,5293,5295,5297,5300,5302,5304,5306,5308],{},[1138,5271,5272],{"mathvariant":2926},".",[1138,5274,5272],{"mathvariant":2926},[1134,5276,5277],{},".0000",[1146,5279,4443],{"separator":1168},[1142,5281,3900],{},[1138,5283,5272],{"mathvariant":2926},[1138,5285,5272],{"mathvariant":2926},[1134,5287,5288],{},".0100",[1146,5290,4443],{"separator":1168},[1142,5292,3900],{},[1138,5294,5272],{"mathvariant":2926},[1138,5296,5272],{"mathvariant":2926},[1134,5298,5299],{},".1000",[1146,5301,4443],{"separator":1168},[1142,5303,3900],{},[1138,5305,5272],{"mathvariant":2926},[1138,5307,5272],{"mathvariant":2926},[1134,5309,5310],{},".1100",[1160,5312,5313],{"encoding":1162},"...0000,\\ ...0100,\\ ...1000,\\ ...1100",[1062,5315,5317],{"className":5316,"ariaHidden":1168},[1167],[1062,5318,5320,5324,5328,5331,5334,5337,5341,5344,5347,5350,5354,5357,5360,5363],{"className":5319},[1172],[1062,5321],{"className":5322,"style":5323},[1176],"height:0.8389em;vertical-align:-0.1944em;",[1062,5325,5327],{"className":5326},[1181],"...0000",[1062,5329,4443],{"className":5330},[4827],[1062,5332,3900],{"className":5333},[1232],[1062,5335],{"className":5336,"style":4831},[1232],[1062,5338,5340],{"className":5339},[1181],"...0100",[1062,5342,4443],{"className":5343},[4827],[1062,5345,3900],{"className":5346},[1232],[1062,5348],{"className":5349,"style":4831},[1232],[1062,5351,5353],{"className":5352},[1181],"...1000",[1062,5355,4443],{"className":5356},[4827],[1062,5358,3900],{"className":5359},[1232],[1062,5361],{"className":5362,"style":4831},[1232],[1062,5364,5366],{"className":5365},[1181],"...1100","）",[986,5369,5370],{},"这有什么用——",[1377,5372,5373,5380,5383],{},[1347,5374,5375,5376,5379],{},"不需要比较最后 2 位地址，因为它们永远是 00，不参与判断 block 是谁。所以 ",[982,5377,5378],{},"tag comparator（Cache Tag 的比较器）"," 可以更窄。",[1347,5381,5382],{},"不需要在 tag 里存最后 2 位，因为它们永远是 00",[1347,5384,5385,5386],{},"所以说实际存储的tag实际上是经过拆分过的——",[1062,5387,5389,5438],{"className":5388},[1115],[1062,5390,5392],{"className":5391},[1119],[1121,5393,5394],{"xmlns":1123},[1125,5395,5396,5435],{},[1128,5397,5398,5400,5402,5404,5406,5408,5410,5412,5414,5416,5418,5420,5422,5424,5427,5429,5431,5433],{},[1138,5399,2190],{},[1138,5401,2193],{},[1138,5403,2193],{},[1138,5405,2198],{},[1138,5407,2201],{},[1138,5409,2204],{},[1138,5411,2204],{},[1146,5413,1711],{},[1138,5415,4621],{},[1138,5417,2370],{},[1138,5419,2216],{},[1146,5421,1647],{},[1138,5423,2921],{},[1138,5425,5426],{},"f",[1138,5428,5426],{},[1138,5430,2204],{},[1138,5432,2201],{},[1138,5434,2359],{},[1160,5436,5437],{"encoding":1162},"Address = Tag + Offset",[1062,5439,5441,5468,5493],{"className":5440,"ariaHidden":1168},[1167],[1062,5442,5444,5447,5450,5453,5456,5459,5462,5465],{"className":5443},[1172],[1062,5445],{"className":5446,"style":2246},[1176],[1062,5448,2190],{"className":5449},[1181,1220],[1062,5451,2253],{"className":5452},[1181,1220],[1062,5454,2198],{"className":5455,"style":2257},[1181,1220],[1062,5457,2261],{"className":5458},[1181,1220],[1062,5460],{"className":5461,"style":1742},[1232],[1062,5463,1711],{"className":5464},[1746],[1062,5466],{"className":5467,"style":1742},[1232],[1062,5469,5471,5475,5478,5481,5484,5487,5490],{"className":5470},[1172],[1062,5472],{"className":5473,"style":5474},[1176],"height:0.8778em;vertical-align:-0.1944em;",[1062,5476,4621],{"className":5477,"style":1734},[1181,1220],[1062,5479,2370],{"className":5480},[1181,1220],[1062,5482,2216],{"className":5483,"style":2288},[1181,1220],[1062,5485],{"className":5486,"style":1233},[1232],[1062,5488,1647],{"className":5489},[1237],[1062,5491],{"className":5492,"style":1233},[1232],[1062,5494,5496,5499,5502,5506,5509,5513],{"className":5495},[1172],[1062,5497],{"className":5498,"style":4550},[1176],[1062,5500,2921],{"className":5501,"style":2257},[1181,1220],[1062,5503,5426],{"className":5504,"style":5505},[1181,1220],"margin-right:0.1076em;",[1062,5507,5426],{"className":5508,"style":5505},[1181,1220],[1062,5510,5512],{"className":5511},[1181,1220],"se",[1062,5514,2359],{"className":5515},[1181,1220],[1094,5517,5518],{"id":5518},"例2",[986,5520,5521],{},[992,5522],{"alt":992,"src":5523},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-44.png",[986,5525,5526,5527,5633,5634,5733,5734,5835],{},"这一页把 block 从 4B 扩大到 8B。",[1062,5528,5530,5571],{"className":5529},[1115],[1062,5531,5533],{"className":5532},[1119],[1121,5534,5535],{"xmlns":1123},[1125,5536,5537,5568],{},[1128,5538,5539,5541,5543,5545,5547,5549,5551,5553,5555,5558,5560,5562,5565],{},[1138,5540,1702],{},[1138,5542,2370],{},[1138,5544,2373],{},[1138,5546,2376],{},[1138,5548,2201],{},[1142,5550,3900],{},[1138,5552,2204],{},[1138,5554,2356],{},[1138,5556,5557],{},"z",[1138,5559,2201],{},[1146,5561,1711],{},[1134,5563,5564],{},"32",[1138,5566,5567],{},"B",[1160,5569,5570],{"encoding":1162},"Cache\\ size = 32B",[1062,5572,5574,5620],{"className":5573,"ariaHidden":1168},[1167],[1062,5575,5577,5580,5583,5586,5589,5592,5595,5598,5601,5604,5608,5611,5614,5617],{"className":5576},[1172],[1062,5578],{"className":5579,"style":2246},[1176],[1062,5581,1702],{"className":5582,"style":1730},[1181,1220],[1062,5584,2370],{"className":5585},[1181,1220],[1062,5587,2373],{"className":5588},[1181,1220],[1062,5590,2376],{"className":5591},[1181,1220],[1062,5593,2201],{"className":5594},[1181,1220],[1062,5596,3900],{"className":5597},[1232],[1062,5599,2204],{"className":5600},[1181,1220],[1062,5602,2356],{"className":5603},[1181,1220],[1062,5605,5557],{"className":5606,"style":5607},[1181,1220],"margin-right:0.044em;",[1062,5609,2201],{"className":5610},[1181,1220],[1062,5612],{"className":5613,"style":1742},[1232],[1062,5615,1711],{"className":5616},[1746],[1062,5618],{"className":5619,"style":1742},[1232],[1062,5621,5623,5626,5629],{"className":5622},[1172],[1062,5624],{"className":5625,"style":1726},[1176],[1062,5627,5564],{"className":5628},[1181],[1062,5630,5567],{"className":5631,"style":5632},[1181,1220],"margin-right:0.0502em;","，",[1062,5635,5637,5676],{"className":5636},[1115],[1062,5638,5640],{"className":5639},[1119],[1121,5641,5642],{"xmlns":1123},[1125,5643,5644,5673],{},[1128,5645,5646,5648,5650,5652,5654,5656,5658,5660,5662,5664,5666,5668,5671],{},[1138,5647,5567],{},[1138,5649,2472],{},[1138,5651,2475],{},[1138,5653,2373],{},[1138,5655,2480],{},[1142,5657,3900],{},[1138,5659,2204],{},[1138,5661,2356],{},[1138,5663,5557],{},[1138,5665,2201],{},[1146,5667,1711],{},[1134,5669,5670],{},"8",[1138,5672,5567],{},[1160,5674,5675],{"encoding":1162},"Block\\ size = 8B",[1062,5677,5679,5721],{"className":5678,"ariaHidden":1168},[1167],[1062,5680,5682,5685,5688,5691,5694,5697,5700,5703,5706,5709,5712,5715,5718],{"className":5681},[1172],[1062,5683],{"className":5684,"style":2246},[1176],[1062,5686,5567],{"className":5687,"style":5632},[1181,1220],[1062,5689,2472],{"className":5690,"style":2530},[1181,1220],[1062,5692,2534],{"className":5693},[1181,1220],[1062,5695,2480],{"className":5696,"style":2538},[1181,1220],[1062,5698,3900],{"className":5699},[1232],[1062,5701,2204],{"className":5702},[1181,1220],[1062,5704,2356],{"className":5705},[1181,1220],[1062,5707,5557],{"className":5708,"style":5607},[1181,1220],[1062,5710,2201],{"className":5711},[1181,1220],[1062,5713],{"className":5714,"style":1742},[1232],[1062,5716,1711],{"className":5717},[1746],[1062,5719],{"className":5720,"style":1742},[1232],[1062,5722,5724,5727,5730],{"className":5723},[1172],[1062,5725],{"className":5726,"style":1726},[1176],[1062,5728,5670],{"className":5729},[1181],[1062,5731,5567],{"className":5732,"style":5632},[1181,1220],"， 所以 cache 仍然有：",[1062,5735,5737,5777],{"className":5736},[1115],[1062,5738,5740],{"className":5739},[1119],[1121,5741,5742],{"xmlns":1123},[1125,5743,5744,5774],{},[1128,5745,5746,5748,5750,5752,5754,5756,5758,5760,5762,5764,5766,5768,5770,5772],{},[1134,5747,5564],{},[1138,5749,5567],{},[1138,5751,2927],{"mathvariant":2926},[1134,5753,5670],{},[1138,5755,5567],{},[1146,5757,1711],{},[1134,5759,3735],{},[1142,5761,3900],{},[1138,5763,2469],{},[1138,5765,2472],{},[1138,5767,2475],{},[1138,5769,2373],{},[1138,5771,2480],{},[1138,5773,2204],{},[1160,5775,5776],{"encoding":1162},"32B \u002F 8B = 4\\ blocks",[1062,5778,5780,5808],{"className":5779,"ariaHidden":1168},[1167],[1062,5781,5783,5786,5789,5792,5796,5799,5802,5805],{"className":5782},[1172],[1062,5784],{"className":5785,"style":2277},[1176],[1062,5787,5564],{"className":5788},[1181],[1062,5790,5567],{"className":5791,"style":5632},[1181,1220],[1062,5793,5795],{"className":5794},[1181],"\u002F8",[1062,5797,5567],{"className":5798,"style":5632},[1181,1220],[1062,5800],{"className":5801,"style":1742},[1232],[1062,5803,1711],{"className":5804},[1746],[1062,5806],{"className":5807,"style":1742},[1232],[1062,5809,5811,5814,5817,5820,5823,5826,5829,5832],{"className":5810},[1172],[1062,5812],{"className":5813,"style":2246},[1176],[1062,5815,3735],{"className":5816},[1181],[1062,5818,3900],{"className":5819},[1232],[1062,5821,2469],{"className":5822},[1181,1220],[1062,5824,2472],{"className":5825,"style":2530},[1181,1220],[1062,5827,2534],{"className":5828},[1181,1220],[1062,5830,2480],{"className":5831,"style":2538},[1181,1220],[1062,5833,2204],{"className":5834},[1181,1220],"但每个 block 现在可以放两个 4Byte word。",[986,5837,5838,5839,5842],{},"这里 tag 只记录 block 的起始地址，也就是对齐后的地址。",[982,5840,5841],{},"因为 8B block 必须按 8B 对齐，所以地址最低 3 位一定是：",[1062,5843,5845,5864],{"className":5844},[1115],[1062,5846,5848],{"className":5847},[1119],[1121,5849,5850],{"xmlns":1123},[1125,5851,5852,5861],{},[1128,5853,5854],{},[2913,5855,5856,5859],{},[1134,5857,5858],{},"000",[1134,5860,1136],{},[1160,5862,5863],{"encoding":1162},"000_2",[1062,5865,5867],{"className":5866,"ariaHidden":1168},[1167],[1062,5868,5870,5873,5876],{"className":5869},[1172],[1062,5871],{"className":5872,"style":5205},[1176],[1062,5874,5190],{"className":5875},[1181],[1062,5877,5879,5882],{"className":5878},[1181],[1062,5880,5209],{"className":5881},[1181],[1062,5883,5885],{"className":5884},[1188],[1062,5886,5888,5908],{"className":5887},[1192,2965],[1062,5889,5891,5905],{"className":5890},[1196],[1062,5892,5894],{"className":5893,"style":5228},[1200],[1062,5895,5896,5899],{"style":5231},[1062,5897],{"className":5898,"style":1209},[1208],[1062,5900,5902],{"className":5901},[1213,1214,1215,1216],[1062,5903,1136],{"className":5904},[1181,1216],[1062,5906,2995],{"className":5907},[2994],[1062,5909,5911],{"className":5910},[1196],[1062,5912,5914],{"className":5913,"style":3002},[1200],[1062,5915],{},[986,5917,5918],{},"这 3 位不用存进 tag，也不用参与 tag compare。",[1094,5920,5921],{"id":5921},"总结",[1344,5923,5924,5927,5930],{},[1347,5925,5926],{},"tag 只记录对齐后的 block 地址，所以表里会出现 130、2040 这种 block base；",[1347,5928,5929],{},"tag 和 comparator 可以更窄；",[1347,5931,5932],{},"只要请求地址落在这个 block 里的任意一个 word，都算 hit。",[986,5934,5935],{},"例如：Block存储如下",[1294,5937,5938,5951],{},[1297,5939,5940],{},[1300,5941,5942,5945,5948],{},[1303,5943,5944],{},"Tag",[1303,5946,5947],{},"Word 0",[1303,5949,5950],{},"Word 1",[1313,5952,5953,5964,5975,5986],{},[1300,5954,5955,5958,5961],{},[1318,5956,5957],{},"252",[1318,5959,5960],{},"12",[1318,5962,5963],{},"-10",[1300,5965,5966,5969,5972],{},[1318,5967,5968],{},"1022",[1318,5970,5971],{},"99",[1318,5973,5974],{},"1000",[1300,5976,5977,5980,5983],{},[1318,5978,5979],{},"130",[1318,5981,5982],{},"42",[1318,5984,5985],{},"7",[1300,5987,5988,5991,5994],{},[1318,5989,5990],{},"2040",[1318,5992,5993],{},"1947",[1318,5995,5996],{},"20",[986,5998,5999,6002],{},[982,6000,6001],{},"请求地址对应 word 131 时，cache 比较到 tag 130 命中","，然后用 block 内 offset 选择第二个 word，也就是数据 7。",[1015,6004,6006],{"id":6005},"hardware-cost-of-cache-硬件缓存成本","Hardware Cost of Cache ｜ 硬件缓存成本",[986,6008,6009],{},"如果 cache 很小，比如 4 行，那就可以比较所有的Tag；但是实际的Cache是有很多行的，如果每次访问都把处理器地址和所有 tag 比较，需要大量 comparator。",[1294,6011,6012],{"style":1869},[1313,6013,6014],{},[1300,6015,1875,6016,1875,6023],{"style":1874},[1318,6017,6018,1875],{"style":3206},[986,6019,6020],{},[992,6021],{"alt":992,"src":6022},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-45.png",[1318,6024,6025,1875],{"style":3198},[986,6026,6027],{},[992,6028],{"alt":992,"src":6029},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-46.png",[986,6031,6032,6033,6036],{},"所以优化方法是：",[982,6034,6035],{},"把 cache 分成多个 set。","图里先分成两组：",[1344,6038,6039,6042],{},[1347,6040,6041],{},"组 0",[1347,6043,6044],{},"组 1",[986,6046,6047,6048,6053],{},"然后用地址中的某一位先选择组，",[1418,6049,6050],{},[982,6051,6052],{},"相当于我是建立了一个从地址到组号的一个映射（实际上就是数组）","，只在被选中的 set 里面比较 tag，而不是比较整个 cache 的所有 tag。这样比较器数量减少，硬件面积和能耗下降。这个思想可以推广到更多 set。",[1344,6055,6056,6065,6071],{},[1347,6057,6058,6061,6062],{},[982,6059,6060],{},"组索引 Set Index","：中间某些位，用来选择进入哪一组；",[1418,6063,6064],{},"（比如说地址0000——对应组1，地址0001 对应组2 这种提前写好的规则）",[1347,6066,6067,6070],{},[982,6068,6069],{},"比较标签 Tag Compare","：高位地址，用来和 cache 中 tag 比较；",[1347,6072,6073,6076],{},[982,6074,6075],{},"字中的字节 Byte in word(block)","：最低位，用来选择 word 内具体字节。",[1094,6078,6080],{"id":6079},"cache的访问流程","Cache的访问流程",[986,6082,6083,6087],{},[1418,6084,6085],{},[982,6086,6080],{},"变成：",[1377,6089,6090,6093,6096,6099],{},[1347,6091,6092],{},"用 set index 选 set；",[1347,6094,6095],{},"在这个 set 内比较 tag；",[1347,6097,6098],{},"tag 匹配则 hit，返回对应 data。",[1347,6100,6101],{},"用低位 offset 定位块内字节；",[996,6103,6105],{"id":6104},"cache-地址字段与查找流程","Cache 地址字段与查找流程",[1849,6107,6108],{},[986,6109,6110],{},[1418,6111,6112],{},"地址本身就是一串 bit；Tag、Index、Offset 是 cache 根据位的位置人为定义出来的三个字段。",[986,6114,6115],{},[992,6116],{"alt":992,"src":6117},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-47.png",[1015,6119,6120],{"id":6120},"举例",[1896,6122,6125],{"className":6123,"code":6124,"language":1225},[1899],"32 位地址\nCache 容量 = 8KB\nBlock size = 32B\n2 路组相联\n",[1902,6126,6124],{"__ignoreMap":1904},[986,6128,6129,6130,4443],{},"先算 cache 有多少个 block：",[1062,6131,6133,6161],{"className":6132},[1115],[1062,6134,6136],{"className":6135},[1119],[1121,6137,6138],{"xmlns":1123},[1125,6139,6140,6158],{},[1128,6141,6142,6144,6147,6149,6151,6153,6155],{},[1134,6143,5670],{},[1142,6145,6146],{},"KB",[1138,6148,2927],{"mathvariant":2926},[1134,6150,5564],{},[1142,6152,5567],{},[1146,6154,1711],{},[1134,6156,6157],{},"256",[1160,6159,6160],{"encoding":1162},"8\\text{KB} \u002F 32\\text{B} = 256",[1062,6162,6164,6198],{"className":6163,"ariaHidden":1168},[1167],[1062,6165,6167,6170,6173,6179,6183,6189,6192,6195],{"className":6166},[1172],[1062,6168],{"className":6169,"style":2277},[1176],[1062,6171,5670],{"className":6172},[1181],[1062,6174,6176],{"className":6175},[1181,1225],[1062,6177,6146],{"className":6178},[1181],[1062,6180,6182],{"className":6181},[1181],"\u002F32",[1062,6184,6186],{"className":6185},[1181,1225],[1062,6187,5567],{"className":6188},[1181],[1062,6190],{"className":6191,"style":1742},[1232],[1062,6193,1711],{"className":6194},[1746],[1062,6196],{"className":6197,"style":1742},[1232],[1062,6199,6201,6204],{"className":6200},[1172],[1062,6202],{"className":6203,"style":1756},[1176],[1062,6205,6157],{"className":6206},[1181],[986,6208,6209,6210,4443],{},"因为是 2 路组相联，所以 set 数是：",[1062,6211,6213,6236],{"className":6212},[1115],[1062,6214,6216],{"className":6215},[1119],[1121,6217,6218],{"xmlns":1123},[1125,6219,6220,6233],{},[1128,6221,6222,6224,6226,6228,6230],{},[1134,6223,6157],{},[1138,6225,2927],{"mathvariant":2926},[1134,6227,1136],{},[1146,6229,1711],{},[1134,6231,6232],{},"128",[1160,6234,6235],{"encoding":1162},"256 \u002F 2 = 128",[1062,6237,6239,6258],{"className":6238,"ariaHidden":1168},[1167],[1062,6240,6242,6245,6249,6252,6255],{"className":6241},[1172],[1062,6243],{"className":6244,"style":2277},[1176],[1062,6246,6248],{"className":6247},[1181],"256\u002F2",[1062,6250],{"className":6251,"style":1742},[1232],[1062,6253,1711],{"className":6254},[1746],[1062,6256],{"className":6257,"style":1742},[1232],[1062,6259,6261,6264],{"className":6260},[1172],[1062,6262],{"className":6263,"style":1756},[1176],[1062,6265,6232],{"className":6266},[1181],[986,6268,6269,6270,6412,6413,5633,6545],{},"于是：",[1062,6271,6273,6309],{"className":6272},[1115],[1062,6274,6276],{"className":6275},[1119],[1121,6277,6278],{"xmlns":1123},[1125,6279,6280,6306],{},[1128,6281,6282,6285,6287,6299,6301,6303],{},[1142,6283,6284],{},"block offset bits",[1146,6286,1711],{},[2913,6288,6289,6297],{},[1128,6290,6291,6294],{},[1138,6292,6293],{},"log",[1146,6295,6296],{},"⁡",[1134,6298,1136],{},[1134,6300,5564],{},[1146,6302,1711],{},[1134,6304,6305],{},"5",[1160,6307,6308],{"encoding":1162},"\\text{block offset bits} = \\log_2 32 = 5",[1062,6310,6312,6333,6403],{"className":6311,"ariaHidden":1168},[1167],[1062,6313,6315,6318,6324,6327,6330],{"className":6314},[1172],[1062,6316],{"className":6317,"style":2246},[1176],[1062,6319,6321],{"className":6320},[1181,1225],[1062,6322,6284],{"className":6323},[1181],[1062,6325],{"className":6326,"style":1742},[1232],[1062,6328,1711],{"className":6329},[1746],[1062,6331],{"className":6332,"style":1742},[1232],[1062,6334,6336,6340,6388,6391,6394,6397,6400],{"className":6335},[1172],[1062,6337],{"className":6338,"style":6339},[1176],"height:0.9386em;vertical-align:-0.2441em;",[1062,6341,6344,6351],{"className":6342},[6343],"mop",[1062,6345,6347,6348],{"className":6346},[6343],"lo",[1062,6349,2216],{"style":6350},"margin-right:0.0139em;",[1062,6352,6354],{"className":6353},[1188],[1062,6355,6357,6379],{"className":6356},[1192,2965],[1062,6358,6360,6376],{"className":6359},[1196],[1062,6361,6364],{"className":6362,"style":6363},[1200],"height:0.207em;",[1062,6365,6367,6370],{"style":6366},"top:-2.4559em;margin-right:0.05em;",[1062,6368],{"className":6369,"style":1209},[1208],[1062,6371,6373],{"className":6372},[1213,1214,1215,1216],[1062,6374,1136],{"className":6375},[1181,1216],[1062,6377,2995],{"className":6378},[2994],[1062,6380,6382],{"className":6381},[1196],[1062,6383,6386],{"className":6384,"style":6385},[1200],"height:0.2441em;",[1062,6387],{},[1062,6389],{"className":6390,"style":4831},[1232],[1062,6392,5564],{"className":6393},[1181],[1062,6395],{"className":6396,"style":1742},[1232],[1062,6398,1711],{"className":6399},[1746],[1062,6401],{"className":6402,"style":1742},[1232],[1062,6404,6406,6409],{"className":6405},[1172],[1062,6407],{"className":6408,"style":1756},[1176],[1062,6410,6305],{"className":6411},[1181],"， ",[1062,6414,6416,6449],{"className":6415},[1115],[1062,6417,6419],{"className":6418},[1119],[1121,6420,6421],{"xmlns":1123},[1125,6422,6423,6446],{},[1128,6424,6425,6428,6430,6440,6442,6444],{},[1142,6426,6427],{},"set index bits",[1146,6429,1711],{},[2913,6431,6432,6438],{},[1128,6433,6434,6436],{},[1138,6435,6293],{},[1146,6437,6296],{},[1134,6439,1136],{},[1134,6441,6232],{},[1146,6443,1711],{},[1134,6445,5985],{},[1160,6447,6448],{"encoding":1162},"\\text{set index bits} = \\log_2 128 = 7",[1062,6450,6452,6473,6536],{"className":6451,"ariaHidden":1168},[1167],[1062,6453,6455,6458,6464,6467,6470],{"className":6454},[1172],[1062,6456],{"className":6457,"style":2246},[1176],[1062,6459,6461],{"className":6460},[1181,1225],[1062,6462,6427],{"className":6463},[1181],[1062,6465],{"className":6466,"style":1742},[1232],[1062,6468,1711],{"className":6469},[1746],[1062,6471],{"className":6472,"style":1742},[1232],[1062,6474,6476,6479,6521,6524,6527,6530,6533],{"className":6475},[1172],[1062,6477],{"className":6478,"style":6339},[1176],[1062,6480,6482,6487],{"className":6481},[6343],[1062,6483,6347,6485],{"className":6484},[6343],[1062,6486,2216],{"style":6350},[1062,6488,6490],{"className":6489},[1188],[1062,6491,6493,6513],{"className":6492},[1192,2965],[1062,6494,6496,6510],{"className":6495},[1196],[1062,6497,6499],{"className":6498,"style":6363},[1200],[1062,6500,6501,6504],{"style":6366},[1062,6502],{"className":6503,"style":1209},[1208],[1062,6505,6507],{"className":6506},[1213,1214,1215,1216],[1062,6508,1136],{"className":6509},[1181,1216],[1062,6511,2995],{"className":6512},[2994],[1062,6514,6516],{"className":6515},[1196],[1062,6517,6519],{"className":6518,"style":6385},[1200],[1062,6520],{},[1062,6522],{"className":6523,"style":4831},[1232],[1062,6525,6232],{"className":6526},[1181],[1062,6528],{"className":6529,"style":1742},[1232],[1062,6531,1711],{"className":6532},[1746],[1062,6534],{"className":6535,"style":1742},[1232],[1062,6537,6539,6542],{"className":6538},[1172],[1062,6540],{"className":6541,"style":1756},[1176],[1062,6543,5985],{"className":6544},[1181],[1062,6546,6548,6580],{"className":6547},[1115],[1062,6549,6551],{"className":6550},[1119],[1121,6552,6553],{"xmlns":1123},[1125,6554,6555,6577],{},[1128,6556,6557,6560,6562,6564,6567,6569,6571,6573,6575],{},[1142,6558,6559],{},"tag bits",[1146,6561,1711],{},[1134,6563,5564],{},[1146,6565,6566],{},"−",[1134,6568,6305],{},[1146,6570,6566],{},[1134,6572,5985],{},[1146,6574,1711],{},[1134,6576,5996],{},[1160,6578,6579],{"encoding":1162},"\\text{tag bits} = 32 - 5 - 7 = 20",[1062,6581,6583,6604,6622,6640,6658],{"className":6582,"ariaHidden":1168},[1167],[1062,6584,6586,6589,6595,6598,6601],{"className":6585},[1172],[1062,6587],{"className":6588,"style":4550},[1176],[1062,6590,6592],{"className":6591},[1181,1225],[1062,6593,6559],{"className":6594},[1181],[1062,6596],{"className":6597,"style":1742},[1232],[1062,6599,1711],{"className":6600},[1746],[1062,6602],{"className":6603,"style":1742},[1232],[1062,6605,6607,6610,6613,6616,6619],{"className":6606},[1172],[1062,6608],{"className":6609,"style":1662},[1176],[1062,6611,5564],{"className":6612},[1181],[1062,6614],{"className":6615,"style":1233},[1232],[1062,6617,6566],{"className":6618},[1237],[1062,6620],{"className":6621,"style":1233},[1232],[1062,6623,6625,6628,6631,6634,6637],{"className":6624},[1172],[1062,6626],{"className":6627,"style":1662},[1176],[1062,6629,6305],{"className":6630},[1181],[1062,6632],{"className":6633,"style":1233},[1232],[1062,6635,6566],{"className":6636},[1237],[1062,6638],{"className":6639,"style":1233},[1232],[1062,6641,6643,6646,6649,6652,6655],{"className":6642},[1172],[1062,6644],{"className":6645,"style":1756},[1176],[1062,6647,5985],{"className":6648},[1181],[1062,6650],{"className":6651,"style":1742},[1232],[1062,6653,1711],{"className":6654},[1746],[1062,6656],{"className":6657,"style":1742},[1232],[1062,6659,6661,6664],{"className":6660},[1172],[1062,6662],{"className":6663,"style":1756},[1176],[1062,6665,5996],{"className":6666},[1181],[986,6668,6669,6670],{},"所以地址被拆成：",[1902,6671,6672],{"code":6672},"[ tag: 20 bits | set index: 7 bits | block offset: 5 bits ]",[996,6674,6676],{"id":6675},"cache-块分配方法","Cache 块分配方法",[986,6678,6679],{},[992,6680],{"alt":992,"src":6681},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-48.png",[1377,6683,6684,6797,6804],{},[1347,6685,6686],{},[1062,6687,6689,6714],{"className":6688},[1115],[1062,6690,6692],{"className":6691},[1119],[1121,6693,6694],{"xmlns":1123},[1125,6695,6696,6711],{},[1128,6697,6698,6701,6703,6706,6708],{},[1142,6699,6700],{},"cache block 总数",[1146,6702,1711],{},[1142,6704,6705],{},"set 数",[1146,6707,1148],{},[1142,6709,6710],{},"每个 set 里的 block 数",[1160,6712,6713],{"encoding":1162},"\\text{cache block 总数}=\\text{set 数}\\times \\text{每个 set 里的 block 数}",[1062,6715,6717,6743,6769],{"className":6716,"ariaHidden":1168},[1167],[1062,6718,6720,6723,6734,6737,6740],{"className":6719},[1172],[1062,6721],{"className":6722,"style":2246},[1176],[1062,6724,6726,6730],{"className":6725},[1181,1225],[1062,6727,6729],{"className":6728},[1181],"cache block ",[1062,6731,6733],{"className":6732},[1181,2422],"总数",[1062,6735],{"className":6736,"style":1742},[1232],[1062,6738,1711],{"className":6739},[1746],[1062,6741],{"className":6742,"style":1742},[1232],[1062,6744,6746,6749,6760,6763,6766],{"className":6745},[1172],[1062,6747],{"className":6748,"style":3748},[1176],[1062,6750,6752,6756],{"className":6751},[1181,1225],[1062,6753,6755],{"className":6754},[1181],"set ",[1062,6757,6759],{"className":6758},[1181,2422],"数",[1062,6761],{"className":6762,"style":1233},[1232],[1062,6764,1148],{"className":6765},[1237],[1062,6767],{"className":6768,"style":1233},[1232],[1062,6770,6772,6775],{"className":6771},[1172],[1062,6773],{"className":6774,"style":2246},[1176],[1062,6776,6778,6782,6786,6790,6794],{"className":6777},[1181,1225],[1062,6779,6781],{"className":6780},[1181,2422],"每个",[1062,6783,6785],{"className":6784},[1181]," set ",[1062,6787,6789],{"className":6788},[1181,2422],"里的",[1062,6791,6793],{"className":6792},[1181]," block ",[1062,6795,6759],{"className":6796},[1181,2422],[1347,6798,6799,6800,6803],{},"每个 set 里的 block 数，也叫 ",[982,6801,6802],{},"way 数","，也就是 associativity。",[1347,6805,6806,6807],{},"所以：",[1062,6808,6810,6834],{"className":6809},[1115],[1062,6811,6813],{"className":6812},[1119],[1121,6814,6815],{"xmlns":1123},[1125,6816,6817,6831],{},[1128,6818,6819,6821,6823],{},[1142,6820,6705],{},[1146,6822,1711],{},[6824,6825,6826,6828],"mfrac",{},[1142,6827,6700],{},[1142,6829,6830],{},"way 数",[1160,6832,6833],{"encoding":1162},"\\text{set 数}=\\frac{\\text{cache block 总数}}{\\text{way 数}}",[1062,6835,6837,6861],{"className":6836,"ariaHidden":1168},[1167],[1062,6838,6840,6843,6852,6855,6858],{"className":6839},[1172],[1062,6841],{"className":6842,"style":1726},[1176],[1062,6844,6846,6849],{"className":6845},[1181,1225],[1062,6847,6755],{"className":6848},[1181],[1062,6850,6759],{"className":6851},[1181,2422],[1062,6853],{"className":6854,"style":1742},[1232],[1062,6856,1711],{"className":6857},[1746],[1062,6859],{"className":6860,"style":1742},[1232],[1062,6862,6864,6868],{"className":6863},[1172],[1062,6865],{"className":6866,"style":6867},[1176],"height:1.3612em;vertical-align:-0.4811em;",[1062,6869,6871,6875,6955],{"className":6870},[1181],[1062,6872],{"className":6873},[2292,6874],"nulldelimiter",[1062,6876,6878],{"className":6877},[6824],[1062,6879,6881,6946],{"className":6880},[1192,2965],[1062,6882,6884,6943],{"className":6883},[1196],[1062,6885,6888,6911,6922],{"className":6886,"style":6887},[1200],"height:0.8801em;",[1062,6889,6891,6895],{"style":6890},"top:-2.655em;",[1062,6892],{"className":6893,"style":6894},[1208],"height:3em;",[1062,6896,6898],{"className":6897},[1213,1214,1215,1216],[1062,6899,6901],{"className":6900},[1181,1216],[1062,6902,6904,6908],{"className":6903},[1181,1225,1216],[1062,6905,6907],{"className":6906},[1181,1216],"way ",[1062,6909,6759],{"className":6910},[1181,2422,1216],[1062,6912,6914,6917],{"style":6913},"top:-3.23em;",[1062,6915],{"className":6916,"style":6894},[1208],[1062,6918],{"className":6919,"style":6921},[6920],"frac-line","border-bottom-width:0.04em;",[1062,6923,6925,6928],{"style":6924},"top:-3.394em;",[1062,6926],{"className":6927,"style":6894},[1208],[1062,6929,6931],{"className":6930},[1213,1214,1215,1216],[1062,6932,6934],{"className":6933},[1181,1216],[1062,6935,6937,6940],{"className":6936},[1181,1225,1216],[1062,6938,6729],{"className":6939},[1181,1216],[1062,6941,6733],{"className":6942},[1181,2422,1216],[1062,6944,2995],{"className":6945},[2994],[1062,6947,6949],{"className":6948},[1196],[1062,6950,6953],{"className":6951,"style":6952},[1200],"height:0.4811em;",[1062,6954],{},[1062,6956],{"className":6957},[2302,6874],[986,6959,6960],{},"假设 cache 一共有 8 个 block：",[1344,6962,6963,6966,6969,6972],{},[1347,6964,6965],{},"1 个 set，每个 set 8 个 block  -> fully associative，即全相联缓存方法",[1347,6967,6968],{},"2 个 set，每个 set 4 个 block",[1347,6970,6971],{},"4 个 set，每个 set 2 个 block  -> 2-way set associative，即组相联缓存",[1347,6973,6974],{},"8 个 set，每个 set 1 个 block  -> direct mapped，即直接映射缓存",[1849,6976,6977],{},[986,6978,6979],{},[982,6980,6981],{},"set 的数量最多只能等于 cache block 的数量。这个极限情况叫 direct-mapped cache。",[1015,6983,6985],{"id":6984},"valid-bit-有效位","Valid Bit ｜ 有效位",[986,6987,6988],{},"有一个概念叫做Valid bit，这个是指有效位",[986,6990,6991],{},[992,6992],{"alt":992,"src":6993},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-49.png",[986,6995,6996],{},"因为 cache 刚启动的时候，里面的 SRAM 存储单元并不是“空白”的。它可能是随机值：Tag 里可能刚好有某个值，Data 里也可能有一堆随机数据，如果没有 valid bit，CPU 来访问某个地址时，只要 tag 碰巧相等，cache 就可能误以为：Hit！但实际上这一行根本没有从主存加载过正确的数据。所以需要一个额外的标志位：valid bit",[1015,6998,7000],{"id":6999},"direct-mapped-cache-直接映射缓存","Direct-Mapped Cache ｜ 直接映射缓存",[1294,7002,7003],{"style":1869},[1313,7004,7005],{},[1300,7006,1875,7007,1875,7015],{"style":1874},[1318,7008,7010,1875],{"style":7009},"width: 33.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,7011,7012],{},[992,7013],{"alt":992,"src":7014},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-50.png",[1318,7016,7018,1875],{"style":7017},"width: 66.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,7019,7020],{},[992,7021],{"alt":992,"src":7022},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-51.png",[986,7024,7025,7028],{},[1418,7026,7027],{},"Direct-mapped cache 的意思是：",[1418,7029,7030],{},[982,7031,7032],{},"一个（或多个）主存 block 直接映射到 cache 中的一个 cache line。",[1849,7034,7035],{},[986,7036,7037],{},"直接缓存映射表示主存中的每一个 block，只能放到 cache 中唯一固定的位置。（感觉加这一句也行）",[986,7039,7040,7041],{},"地址还是拆成三段：",[1902,7042,7043],{"code":7043},"[ Tag | Index | Block Offset ]",[986,7045,7046],{},"访问流程是：",[1896,7048,7052],{"className":7049,"code":7051,"language":2373,"meta":1904},[7050],"language-c","CPU 给出地址\n        ↓\n用 Index 直接选中 cache 中的一行\n        ↓\n取出这一行里保存的 Tag 和 Valid bit\n        ↓\n比较 CPU 地址里的 Tag 和 cache line 里的 Tag\n        ↓\nTag 相等且 Valid = 1，则 Hit\n        ↓\n再用 Block Offset 选择 block 内具体 byte \u002F word\n",[1902,7053,7051],{"__ignoreMap":1904},[986,7055,7056,7059],{},[982,7057,7058],{},"Hit条件是",[1062,7060,7062,7106],{"className":7061},[1115],[1062,7063,7065],{"className":7064},[1119],[1121,7066,7067],{"xmlns":1123},[1125,7068,7069,7103],{},[1128,7070,7071,7074,7076,7079,7082,7084,7086,7089,7092,7094,7096,7098,7101],{},[1142,7072,7073],{},"Hit",[1146,7075,1711],{},[1146,7077,7078],{"stretchy":2219},"(",[1142,7080,7081],{},"Valid",[1146,7083,1711],{},[1134,7085,1644],{},[1146,7087,7088],{"stretchy":2219},")",[1146,7090,7091],{},"∧",[1146,7093,7078],{"stretchy":2219},[1142,7095,4511],{},[1146,7097,1711],{},[1142,7099,7100],{},"Cache Tag",[1146,7102,7088],{"stretchy":2219},[1160,7104,7105],{"encoding":1162},"\\text{Hit}=(\\text{Valid}=1)\\land(\\text{Address Tag}=\\text{Cache Tag})",[1062,7107,7109,7130,7154,7175,7199],{"className":7108,"ariaHidden":1168},[1167],[1062,7110,7112,7115,7121,7124,7127],{"className":7111},[1172],[1062,7113],{"className":7114,"style":1726},[1176],[1062,7116,7118],{"className":7117},[1181,1225],[1062,7119,7073],{"className":7120},[1181],[1062,7122],{"className":7123,"style":1742},[1232],[1062,7125,1711],{"className":7126},[1746],[1062,7128],{"className":7129,"style":1742},[1232],[1062,7131,7133,7136,7139,7145,7148,7151],{"className":7132},[1172],[1062,7134],{"className":7135,"style":2277},[1176],[1062,7137,7078],{"className":7138},[2292],[1062,7140,7142],{"className":7141},[1181,1225],[1062,7143,7081],{"className":7144},[1181],[1062,7146],{"className":7147,"style":1742},[1232],[1062,7149,1711],{"className":7150},[1746],[1062,7152],{"className":7153,"style":1742},[1232],[1062,7155,7157,7160,7163,7166,7169,7172],{"className":7156},[1172],[1062,7158],{"className":7159,"style":2277},[1176],[1062,7161,1644],{"className":7162},[1181],[1062,7164,7088],{"className":7165},[2302],[1062,7167],{"className":7168,"style":1233},[1232],[1062,7170,7091],{"className":7171},[1237],[1062,7173],{"className":7174,"style":1233},[1232],[1062,7176,7178,7181,7184,7190,7193,7196],{"className":7177},[1172],[1062,7179],{"className":7180,"style":2277},[1176],[1062,7182,7078],{"className":7183},[2292],[1062,7185,7187],{"className":7186},[1181,1225],[1062,7188,4511],{"className":7189},[1181],[1062,7191],{"className":7192,"style":1742},[1232],[1062,7194,1711],{"className":7195},[1746],[1062,7197],{"className":7198,"style":1742},[1232],[1062,7200,7202,7205,7211],{"className":7201},[1172],[1062,7203],{"className":7204,"style":2277},[1176],[1062,7206,7208],{"className":7207},[1181,1225],[1062,7209,7100],{"className":7210},[1181],[1062,7212,7088],{"className":7213},[2302],[1094,7215,7217],{"id":7216},"举例-1","举例：",[1294,7219,7220],{"style":1869},[1313,7221,7222],{},[1300,7223,1875,7224,1875,7232],{"style":1874},[1318,7225,7227,1875],{"style":7226},"width: 47.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,7228,7229],{},[992,7230],{"alt":992,"src":7231},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-52.png",[1318,7233,7235,1875],{"style":7234},"width: 52.0%; text-align: center; border: none; padding: 0.3em; margin: 0;",[986,7236,7237],{},[992,7238],{"alt":992,"src":7239},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-53.png",[1896,7241,7244],{"className":7242,"code":7243,"language":1225},[1899],"内存地址宽度 = 6 bit\n内存大小 = 64 Byte\nblock size = 4 Byte = 1 word\nCache 有 4 个 cache block\n",[1902,7245,7243],{"__ignoreMap":1904},[1377,7247,7248,7677],{},[1347,7249,7250,7251],{},"地址格式分析：",[1344,7252,7253,7340,7454,7571],{},[1347,7254,7255,7256,7339],{},"因为地址是 6 bit，所以一共能表示：",[1062,7257,7259,7282],{"className":7258},[1115],[1062,7260,7262],{"className":7261},[1119],[1121,7263,7264],{"xmlns":1123},[1125,7265,7266,7279],{},[1128,7267,7268,7274,7276],{},[1131,7269,7270,7272],{},[1134,7271,1136],{},[1134,7273,2225],{},[1146,7275,1711],{},[1134,7277,7278],{},"64",[1160,7280,7281],{"encoding":1162},"2^6=64",[1062,7283,7285,7330],{"className":7284,"ariaHidden":1168},[1167],[1062,7286,7288,7292,7321,7324,7327],{"className":7287},[1172],[1062,7289],{"className":7290,"style":7291},[1176],"height:0.8141em;",[1062,7293,7295,7298],{"className":7294},[1181],[1062,7296,1136],{"className":7297},[1181],[1062,7299,7301],{"className":7300},[1188],[1062,7302,7304],{"className":7303},[1192],[1062,7305,7307],{"className":7306},[1196],[1062,7308,7310],{"className":7309,"style":7291},[1200],[1062,7311,7312,7315],{"style":1204},[1062,7313],{"className":7314,"style":1209},[1208],[1062,7316,7318],{"className":7317},[1213,1214,1215,1216],[1062,7319,2225],{"className":7320},[1181,1216],[1062,7322],{"className":7323,"style":1742},[1232],[1062,7325,1711],{"className":7326},[1746],[1062,7328],{"className":7329,"style":1742},[1232],[1062,7331,7333,7336],{"className":7332},[1172],[1062,7334],{"className":7335,"style":1756},[1176],[1062,7337,7278],{"className":7338},[1181],"个 byte 地址。",[1347,7341,7342,7343,7449,7450,7453],{},"因为 block size 是 4 Byte，所以每个 block 里有 4 个 byte，需要：",[1062,7344,7346,7374],{"className":7345},[1115],[1062,7347,7349],{"className":7348},[1119],[1121,7350,7351],{"xmlns":1123},[1125,7352,7353,7371],{},[1128,7354,7355,7365,7367,7369],{},[2913,7356,7357,7363],{},[1128,7358,7359,7361],{},[1138,7360,6293],{},[1146,7362,6296],{},[1134,7364,1136],{},[1134,7366,3735],{},[1146,7368,1711],{},[1134,7370,1136],{},[1160,7372,7373],{"encoding":1162},"\\log_2 4=2",[1062,7375,7377,7440],{"className":7376,"ariaHidden":1168},[1167],[1062,7378,7380,7383,7425,7428,7431,7434,7437],{"className":7379},[1172],[1062,7381],{"className":7382,"style":6339},[1176],[1062,7384,7386,7391],{"className":7385},[6343],[1062,7387,6347,7389],{"className":7388},[6343],[1062,7390,2216],{"style":6350},[1062,7392,7394],{"className":7393},[1188],[1062,7395,7397,7417],{"className":7396},[1192,2965],[1062,7398,7400,7414],{"className":7399},[1196],[1062,7401,7403],{"className":7402,"style":6363},[1200],[1062,7404,7405,7408],{"style":6366},[1062,7406],{"className":7407,"style":1209},[1208],[1062,7409,7411],{"className":7410},[1213,1214,1215,1216],[1062,7412,1136],{"className":7413},[1181,1216],[1062,7415,2995],{"className":7416},[2994],[1062,7418,7420],{"className":7419},[1196],[1062,7421,7423],{"className":7422,"style":6385},[1200],[1062,7424],{},[1062,7426],{"className":7427,"style":4831},[1232],[1062,7429,3735],{"className":7430},[1181],[1062,7432],{"className":7433,"style":1742},[1232],[1062,7435,1711],{"className":7436},[1746],[1062,7438],{"className":7439,"style":1742},[1232],[1062,7441,7443,7446],{"className":7442},[1172],[1062,7444],{"className":7445,"style":1756},[1176],[1062,7447,1136],{"className":7448},[1181],"位 byte offset。所以最低 2 位是：",[1902,7451,7452],{"code":7452},"Byte Offset","。它表示 block 内部的第几个 byte。",[1347,7455,7456,7457,7460,7461,7566,7567,7570],{},"cache 有 4 个 cache block，而且是 direct-mapped，所以：",[1902,7458,7459],{"code":7459},"set 数 = cache block 数 = 4","需要：",[1062,7462,7464,7491],{"className":7463},[1115],[1062,7465,7467],{"className":7466},[1119],[1121,7468,7469],{"xmlns":1123},[1125,7470,7471,7489],{},[1128,7472,7473,7483,7485,7487],{},[2913,7474,7475,7481],{},[1128,7476,7477,7479],{},[1138,7478,6293],{},[1146,7480,6296],{},[1134,7482,1136],{},[1134,7484,3735],{},[1146,7486,1711],{},[1134,7488,1136],{},[1160,7490,7373],{"encoding":1162},[1062,7492,7494,7557],{"className":7493,"ariaHidden":1168},[1167],[1062,7495,7497,7500,7542,7545,7548,7551,7554],{"className":7496},[1172],[1062,7498],{"className":7499,"style":6339},[1176],[1062,7501,7503,7508],{"className":7502},[6343],[1062,7504,6347,7506],{"className":7505},[6343],[1062,7507,2216],{"style":6350},[1062,7509,7511],{"className":7510},[1188],[1062,7512,7514,7534],{"className":7513},[1192,2965],[1062,7515,7517,7531],{"className":7516},[1196],[1062,7518,7520],{"className":7519,"style":6363},[1200],[1062,7521,7522,7525],{"style":6366},[1062,7523],{"className":7524,"style":1209},[1208],[1062,7526,7528],{"className":7527},[1213,1214,1215,1216],[1062,7529,1136],{"className":7530},[1181,1216],[1062,7532,2995],{"className":7533},[2994],[1062,7535,7537],{"className":7536},[1196],[1062,7538,7540],{"className":7539,"style":6385},[1200],[1062,7541],{},[1062,7543],{"className":7544,"style":4831},[1232],[1062,7546,3735],{"className":7547},[1181],[1062,7549],{"className":7550,"style":1742},[1232],[1062,7552,1711],{"className":7553},[1746],[1062,7555],{"className":7556,"style":1742},[1232],[1062,7558,7560,7563],{"className":7559},[1172],[1062,7561],{"className":7562,"style":1756},[1176],[1062,7564,1136],{"className":7565},[1181],"位 index。所以中间 2 位是：",[1902,7568,7569],{"code":7569},"Index","它表示这个内存 block 应该放到 cache 的哪一行。",[1347,7572,7573,7574,7577,7578,7673,7674],{},"总地址只有 6 位：",[1902,7575,7576],{"code":7576},"[ Tag | Index | Byte Offset ]",", offset 用 2 位，index 用 2 位，剩下：",[1062,7579,7581,7607],{"className":7580},[1115],[1062,7582,7584],{"className":7583},[1119],[1121,7585,7586],{"xmlns":1123},[1125,7587,7588,7604],{},[1128,7589,7590,7592,7594,7596,7598,7600,7602],{},[1134,7591,2225],{},[1146,7593,6566],{},[1134,7595,1136],{},[1146,7597,6566],{},[1134,7599,1136],{},[1146,7601,1711],{},[1134,7603,1136],{},[1160,7605,7606],{"encoding":1162},"6-2-2=2",[1062,7608,7610,7628,7646,7664],{"className":7609,"ariaHidden":1168},[1167],[1062,7611,7613,7616,7619,7622,7625],{"className":7612},[1172],[1062,7614],{"className":7615,"style":1662},[1176],[1062,7617,2225],{"className":7618},[1181],[1062,7620],{"className":7621,"style":1233},[1232],[1062,7623,6566],{"className":7624},[1237],[1062,7626],{"className":7627,"style":1233},[1232],[1062,7629,7631,7634,7637,7640,7643],{"className":7630},[1172],[1062,7632],{"className":7633,"style":1662},[1176],[1062,7635,1136],{"className":7636},[1181],[1062,7638],{"className":7639,"style":1233},[1232],[1062,7641,6566],{"className":7642},[1237],[1062,7644],{"className":7645,"style":1233},[1232],[1062,7647,7649,7652,7655,7658,7661],{"className":7648},[1172],[1062,7650],{"className":7651,"style":1756},[1176],[1062,7653,1136],{"className":7654},[1181],[1062,7656],{"className":7657,"style":1742},[1232],[1062,7659,1711],{"className":7660},[1746],[1062,7662],{"className":7663,"style":1742},[1232],[1062,7665,7667,7670],{"className":7666},[1172],[1062,7668],{"className":7669,"style":1756},[1176],[1062,7671,1136],{"className":7672},[1181],"位就是 tag。\n所以地址格式是：",[1902,7675,7676],{"code":7676},"[ Tag: 2 bits | Index: 2 bits | Byte Offset: 2 bits ]",[1347,7678,7679,7680,7689],{},"内存映射分析",[1377,7681,7682],{},[1347,7683,7684,7685,7688],{},"主存一共有：16个 memory block，cache 只有 4 个 cache block，那么会出现",[982,7686,7687],{},"4 个 memory block 会竞争同一个 cache block的现象","，如下所示的映射关系",[1896,7690,7693],{"className":7691,"code":7692,"language":2373,"meta":1904},[7050],"memory block 0  -> cache block 0\nmemory block 1  -> cache block 1\nmemory block 2  -> cache block 2\nmemory block 3  -> cache block 3\n\nmemory block 4  -> cache block 0\nmemory block 5  -> cache block 1\nmemory block 6  -> cache block 2\nmemory block 7  -> cache block 3\n\nmemory block 8  -> cache block 0\nmemory block 9  -> cache block 1\n...\n",[1902,7694,7692],{"__ignoreMap":1904},[986,7696,7697],{},"因此会出现",[1896,7699,7702],{"className":7700,"code":7701,"language":2373,"meta":1904},[7050],"cache block 0 可能装 memory block 0, 4, 8, 12\ncache block 1 可能装 memory block 1, 5, 9, 13\ncache block 2 可能装 memory block 2, 6, 10, 14\ncache block 3 可能装 memory block 3, 7, 11, 15\n",[1902,7703,7701],{"__ignoreMap":1904},[986,7705,7706],{},"所以这个时候需要Tag来进行区分，到底是这个cache block存储的是哪个 memory block",[986,7708,7709],{},[992,7710],{"alt":992,"src":7711},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-54.png",[1377,7713,7714],{"start":2046},[1347,7715,7716,7717,7720,7721],{},"这一页是在把 ",[982,7718,7719],{},"主存 block 怎么映射到 cache line"," 画出来。\n",[1377,7722,7723],{},[1347,7724,7725],{},"主存有很多 block，cache 只有 4 行，每个主存 block 根据 index 映射到 cache 的某一行",[7727,7728],"hr",{},[986,7730,7731,7732,1847],{},"举个具体地址——地址 ",[1902,7733,7734],{"code":7734},"0b010110",[1896,7736,7739],{"className":7737,"code":7738,"language":1225},[1899],"01 | 01 | 10\nTag | Index | Offset\n",[1902,7740,7738],{"__ignoreMap":1904},[986,7742,7743],{},"含义是：",[1896,7745,7748],{"className":7746,"code":7747,"language":1225},[1899],"去 cache block 1 找\n检查 tag 是不是 01\n如果是，并且 valid = 1，就是 hit\n然后取这个 block 里的第 2 个 byte\n",[1902,7749,7747],{"__ignoreMap":1904},[7727,7751],{},[986,7753,7754,7755,1847],{},"再看地址 ",[1902,7756,7757],{"code":7757},"0b000110",[1896,7759,7762],{"className":7760,"code":7761,"language":1225},[1899],"00 | 01 | 10\nTag | Index | Offset\n",[1902,7763,7761],{"__ignoreMap":1904},[986,7765,7766,7767,7770],{},"它的 index 也是 ",[1902,7768,7769],{"code":7769},"01","，所以它也去 cache block 1。但是 tag 不同",[986,7772,7773],{},"所以它们虽然都映射到 cache block 1，但不是同一个 memory block。",[986,7775,7776],{},"这就是 direct-mapped cache 可能发生 conflict miss 的原因：",[1896,7778,7781],{"className":7779,"code":7780,"language":1225},[1899],"两个不同 memory block\n映射到同一个 cache block\n不能同时存在\n会互相替换\n",[1902,7782,7780],{"__ignoreMap":1904},[1094,7784,7786],{"id":7785},"multiword-block-direct-mapped-cache多字块直接映射缓存","Multiword-Block Direct-Mapped Cache｜多字块直接映射缓存",[986,7788,7789],{},[992,7790],{"alt":992,"src":7791},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-55.png",[986,7793,7794,7795],{},"这一页开始引入新的东西：",[982,7796,7797],{},"一个 cache block 里不只放 1 个 word，而是放多个 word。",[986,7799,7800],{},"比如一个 block 有 4 个 word：",[1896,7802,7805],{"className":7803,"code":7804,"language":1225},[1899],"block = word0 | word1 | word2 | word3\n",[1902,7806,7804],{"__ignoreMap":1904},[986,7808,7809],{},"那么 cache line 就变成：",[1896,7811,7814],{"className":7812,"code":7813,"language":1225},[1899],"Valid | Tag | word0 | word1 | word2 | word3\n",[1902,7815,7813],{"__ignoreMap":1904},[986,7817,7818],{},"这个时候地址拆分要多一部分：",[1896,7820,7823],{"className":7821,"code":7822,"language":1225},[1899],"Tag | Index | Block Offset\n",[1902,7824,7822],{"__ignoreMap":1904},[986,7826,7827],{},"如果从 byte-address 层面看，完整应该是：",[1896,7829,7832],{"className":7830,"code":7831,"language":1225},[1899],"Tag | Index | Word Offset | Byte Offset\n",[1902,7833,7831],{"__ignoreMap":1904},[986,7835,7836],{},"例如 1 个 block 有 4 个 word，每个 word 是 4 Byte，那么一个 block 是：",[1062,7838,7841],{"className":7839},[7840],"katex-display",[1062,7842,7844,7870],{"className":7843},[1115],[1062,7845,7847],{"className":7846},[1119],[1121,7848,7849],{"xmlns":1123,"display":3391},[1125,7850,7851,7867],{},[1128,7852,7853,7855,7857,7859,7861,7863,7865],{},[1134,7854,3735],{},[1146,7856,1148],{},[1134,7858,3735],{},[1138,7860,5567],{},[1146,7862,1711],{},[1134,7864,2233],{},[1138,7866,5567],{},[1160,7868,7869],{"encoding":1162},"4\\times 4B=16B",[1062,7871,7873,7891,7912],{"className":7872,"ariaHidden":1168},[1167],[1062,7874,7876,7879,7882,7885,7888],{"className":7875},[1172],[1062,7877],{"className":7878,"style":1662},[1176],[1062,7880,3735],{"className":7881},[1181],[1062,7883],{"className":7884,"style":1233},[1232],[1062,7886,1148],{"className":7887},[1237],[1062,7889],{"className":7890,"style":1233},[1232],[1062,7892,7894,7897,7900,7903,7906,7909],{"className":7893},[1172],[1062,7895],{"className":7896,"style":1726},[1176],[1062,7898,3735],{"className":7899},[1181],[1062,7901,5567],{"className":7902,"style":5632},[1181,1220],[1062,7904],{"className":7905,"style":1742},[1232],[1062,7907,1711],{"className":7908},[1746],[1062,7910],{"className":7911,"style":1742},[1232],[1062,7913,7915,7918,7921],{"className":7914},[1172],[1062,7916],{"className":7917,"style":1726},[1176],[1062,7919,2233],{"className":7920},[1181],[1062,7922,5567],{"className":7923,"style":5632},[1181,1220],[986,7925,7926,7927,8033],{},"则 block offset 总共需要：",[1062,7928,7930,7958],{"className":7929},[1115],[1062,7931,7933],{"className":7932},[1119],[1121,7934,7935],{"xmlns":1123},[1125,7936,7937,7955],{},[1128,7938,7939,7949,7951,7953],{},[2913,7940,7941,7947],{},[1128,7942,7943,7945],{},[1138,7944,6293],{},[1146,7946,6296],{},[1134,7948,1136],{},[1134,7950,2233],{},[1146,7952,1711],{},[1134,7954,3735],{},[1160,7956,7957],{"encoding":1162},"\\log_2 16=4",[1062,7959,7961,8024],{"className":7960,"ariaHidden":1168},[1167],[1062,7962,7964,7967,8009,8012,8015,8018,8021],{"className":7963},[1172],[1062,7965],{"className":7966,"style":6339},[1176],[1062,7968,7970,7975],{"className":7969},[6343],[1062,7971,6347,7973],{"className":7972},[6343],[1062,7974,2216],{"style":6350},[1062,7976,7978],{"className":7977},[1188],[1062,7979,7981,8001],{"className":7980},[1192,2965],[1062,7982,7984,7998],{"className":7983},[1196],[1062,7985,7987],{"className":7986,"style":6363},[1200],[1062,7988,7989,7992],{"style":6366},[1062,7990],{"className":7991,"style":1209},[1208],[1062,7993,7995],{"className":7994},[1213,1214,1215,1216],[1062,7996,1136],{"className":7997},[1181,1216],[1062,7999,2995],{"className":8000},[2994],[1062,8002,8004],{"className":8003},[1196],[1062,8005,8007],{"className":8006,"style":6385},[1200],[1062,8008],{},[1062,8010],{"className":8011,"style":4831},[1232],[1062,8013,2233],{"className":8014},[1181],[1062,8016],{"className":8017,"style":1742},[1232],[1062,8019,1711],{"className":8020},[1746],[1062,8022],{"className":8023,"style":1742},[1232],[1062,8025,8027,8030],{"className":8026},[1172],[1062,8028],{"className":8029,"style":1756},[1176],[1062,8031,3735],{"className":8032},[1181],"位。",[986,8035,8036],{},"其中：高 2 位：选 block 里的第几个 word；低 2 位：选 word 里的第几个 byte",[1094,8038,8040],{"id":8039},"ping-pong-cache","Ping Pong Cache",[986,8042,8043,8048,4342,8051,4342,8056,4342,8059,8064],{},[1418,8044,8045],{},[982,8046,8047],{},"Direct-mapped cache 在某些访问模式下会出现“你踢我、我踢你”的反复替换。",[1418,8049,8050],{},"这叫",[1418,8052,8053],{},[982,8054,8055],{},"ping-pong",[1418,8057,8058],{},"或者",[1418,8060,8061],{},[982,8062,8063],{},"thrashing",[1418,8065,2751],{},[986,8067,8068],{},"假设有两个字符串 \u002F 数组：",[1896,8070,8073],{"className":8071,"code":8072,"language":1225},[1899],"string A\nstring B\n",[1902,8074,8072],{"__ignoreMap":1904},[986,8076,8077],{},"程序交替访问：",[1896,8079,8082],{"className":8080,"code":8081,"language":1225},[1899],"A[0], B[0], A[1], B[1], A[2], B[2], ...\n",[1902,8083,8081],{"__ignoreMap":1904},[986,8085,8086],{},"如果 A 和 B 的地址刚好映射到同一个 cache line，那么：",[1896,8088,8091],{"className":8089,"code":8090,"language":1225},[1899],"访问 A：把 A 的 block 装入 cache\n访问 B：B 的 block 映射到同一行，把 A 踢掉\n访问 A：A 又 miss，把 B 踢掉\n访问 B：B 又 miss，把 A 踢掉\n",[1902,8092,8090],{"__ignoreMap":1904},[986,8094,8095],{},"这就是 ping-pong。",[1294,8097,8098],{"style":1869},[1313,8099,8100],{},[1300,8101,1875,8102,1875,8109],{"style":1874},[1318,8103,8104,1875],{"style":3206},[986,8105,8106],{},[992,8107],{"alt":992,"src":8108},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-56.png",[1318,8110,8111,1875],{"style":3198},[986,8112,8113],{},[992,8114],{"alt":992,"src":8115},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-57.png",[986,8117,8118],{},"77页(右图)就是把第 76 页（左图）的最坏情况画出来。",[986,8120,8121],{},"你可以把图里的两排理解成两个字符串 \u002F 两个数组：",[1896,8123,8126],{"className":8124,"code":8125,"language":1225},[1899],"上面一排：字符串 A 的连续 block\n下面一排：字符串 B 的连续 block\n",[1902,8127,8125],{"__ignoreMap":1904},[986,8129,8130],{},"红色斜线表示它们映射到 cache 的同一位置。",[986,8132,8133],{},"在 direct-mapped cache 里，一个 index 只有一个位置，所以如果 A 的某个 block 和 B 的某个 block 有相同 index，它们就不能同时待在 cache 里。",[986,8135,8136],{},"于是访问序列如果是：",[1896,8138,8141],{"className":8139,"code":8140,"language":1225},[1899],"A block 0\nB block 0\nA block 0\nB block 0\n",[1902,8142,8140],{"__ignoreMap":1904},[986,8144,8145],{},"就会出现：",[1896,8147,8150],{"className":8148,"code":8149,"language":1225},[1899],"A miss，装入 A\nB miss，踢掉 A\nA miss，踢掉 B\nB miss，踢掉 A\n",[1902,8151,8149],{"__ignoreMap":1904},[986,8153,8154],{},"结果就是：",[1896,8156,8159],{"className":8157,"code":8158,"language":1225},[1899],"明明 cache 有空间，但是因为映射位置固定，两个 block 反复冲突\n",[1902,8160,8158],{"__ignoreMap":1904},[986,8162,8163,4342,8166,8171],{},[1418,8164,8165],{},"这类 miss 叫：conflict miss，也就是",[1418,8167,8168],{},[982,8169,8170],{},"冲突缺失",[1418,8172,2751],{},[1344,8174,8175],{},[1347,8176,8177,8180],{},[1418,8178,8179],{},"direct-mapped 的缺点：",[1418,8181,8182],{},[982,8183,8184],{},"每个主存 block 只有唯一位置可放，所以容易发生冲突。",[7727,8186],{},[1015,8188,8190],{"id":8189},"_2-way-set-associative-cache2-路组相联缓存","2-Way Set Associative Cache｜2 路组相联缓存",[986,8192,8193,8194,2751],{},"这一页就是为了解决前面的 ping-pong 问题，引入 ",[982,8195,8196],{},"2-way set associative cache",[1294,8198,8199],{"style":1869},[1313,8200,8201],{},[1300,8202,1875,8203,1875,8210],{"style":1874},[1318,8204,8205,1875],{"style":2650},[986,8206,8207],{},[992,8208],{"alt":992,"src":8209},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-58.png",[1318,8211,8212,1875],{"style":2658},[986,8213,8214],{},[992,8215],{"alt":992,"src":8216},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-59.png",[986,8218,8219],{},"Cache 总容量还是 4 个 word \u002F block，但组织方式变了。",[986,8221,8222,8223],{},"原来 direct-mapped 是：",[1902,8224,8225],{"code":8225},"4 sets × 1 way per set",[986,8227,8228,8229],{},"现在 2-way set associative 是：",[1902,8230,8231],{"code":8231},"2 sets × 2 ways per set",[986,8233,8234],{},"也就是：",[1344,8236,8237,8240],{},[1347,8238,8239],{},"set 0：有 2 个位置",[1347,8241,8242],{},"set 1：有 2 个位置",[986,8244,8245,8246],{},"地址还是拆成：",[1902,8247,8248],{"code":8248},"Tag | Index | Offset",[986,8250,8251,8252,8033],{},"但因为现在只有 2 个 set，所以 index 只需要：",[1062,8253,8255,8283],{"className":8254},[1115],[1062,8256,8258],{"className":8257},[1119],[1121,8259,8260],{"xmlns":1123},[1125,8261,8262,8280],{},[1128,8263,8264,8274,8276,8278],{},[2913,8265,8266,8272],{},[1128,8267,8268,8270],{},[1138,8269,6293],{},[1146,8271,6296],{},[1134,8273,1136],{},[1134,8275,1136],{},[1146,8277,1711],{},[1134,8279,1644],{},[1160,8281,8282],{"encoding":1162},"\\log_2 2=1",[1062,8284,8286,8349],{"className":8285,"ariaHidden":1168},[1167],[1062,8287,8289,8292,8334,8337,8340,8343,8346],{"className":8288},[1172],[1062,8290],{"className":8291,"style":6339},[1176],[1062,8293,8295,8300],{"className":8294},[6343],[1062,8296,6347,8298],{"className":8297},[6343],[1062,8299,2216],{"style":6350},[1062,8301,8303],{"className":8302},[1188],[1062,8304,8306,8326],{"className":8305},[1192,2965],[1062,8307,8309,8323],{"className":8308},[1196],[1062,8310,8312],{"className":8311,"style":6363},[1200],[1062,8313,8314,8317],{"style":6366},[1062,8315],{"className":8316,"style":1209},[1208],[1062,8318,8320],{"className":8319},[1213,1214,1215,1216],[1062,8321,1136],{"className":8322},[1181,1216],[1062,8324,2995],{"className":8325},[2994],[1062,8327,8329],{"className":8328},[1196],[1062,8330,8332],{"className":8331,"style":6385},[1200],[1062,8333],{},[1062,8335],{"className":8336,"style":4831},[1232],[1062,8338,1136],{"className":8339},[1181],[1062,8341],{"className":8342,"style":1742},[1232],[1062,8344,1711],{"className":8345},[1746],[1062,8347],{"className":8348,"style":1742},[1232],[1062,8350,8352,8355],{"className":8351},[1172],[1062,8353],{"className":8354,"style":1756},[1176],[1062,8356,1644],{"className":8357},[1181],[986,8359,8360],{},"相比 direct-mapped 的 4 个 set：",[1896,8362,8365],{"className":8363,"code":8364,"language":1225},[1899],"direct-mapped：4 sets，需要 2 位 index\n2-way set associative：2 sets，需要 1 位 index\n",[1902,8366,8364],{"__ignoreMap":1904},[986,8368,8369],{},"index 位变少了，tag 位就变多了。",[986,8371,8372],{},"这也是图里 tag 看起来更长的原因。",[7727,8374],{},[986,8376,8377],{},"访问流程变成：",[1896,8379,8382],{"className":8380,"code":8381,"language":1225},[1899],"CPU 发出地址\n       ↓\n用 index 选中一个 set\n       ↓\n这个 set 里面有 2 个 way\n       ↓\n同时比较两个 way 的 tag\n       ↓\n任意一个 way valid=1 且 tag 匹配，就是 hit\n",[1902,8383,8381],{"__ignoreMap":1904},[986,8385,8234],{},[1896,8387,8390],{"className":8388,"code":8389,"language":1225},[1899],"Direct-mapped：index 选中唯一一行\n2-way set associative：index 选中一个 set，set 里有两个候选位置\n",[1902,8391,8389],{"__ignoreMap":1904},[986,8393,8394],{},"这样就可以缓解 ping-pong。",[986,8396,8397],{},[992,8398],{"alt":992,"src":8399},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-60.png",[986,8401,8402],{},"比如 A 和 B 映射到同一个 set：",[1896,8404,8407],{"className":8405,"code":8406,"language":1225},[1899],"A block -> set 0\nB block -> set 0\n",[1902,8408,8406],{"__ignoreMap":1904},[986,8410,8411],{},"在 direct-mapped 里，set 0 只有 1 个位置，所以互相踢。",[986,8413,8414],{},"但在 2-way 里，set 0 有 2 个位置：",[1896,8416,8419],{"className":8417,"code":8418,"language":1225},[1899],"A block 放 way 0\nB block 放 way 1\n",[1902,8420,8418],{"__ignoreMap":1904},[986,8422,8423],{},"这样它们可以同时存在，后续访问就可能 hit。",[1015,8425,8427],{"id":8426},"four-way-set-associative-cache四路组相联缓存","Four-Way Set-Associative Cache｜四路组相联缓存",[986,8429,8430],{},[992,8431],{"alt":992,"src":8432},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-61.png",[986,8434,8435,8436,2751],{},"这一页是在讲 ",[982,8437,8438],{},"4-way set associative cache 的硬件结构",[986,8440,8441,8442],{},"图中",[982,8443,8444],{},"每个 set 里有 4 个位置（4way）可以放 block。",[1896,8446,8449],{"className":8447,"code":8448,"language":1225},[1899],"2^8 = 256 个 set\n每个 set 有 4 个 way\n每个 way 里放 1 个 block\n",[1902,8450,8448],{"__ignoreMap":1904},[986,8452,8453],{},"地址被拆成：",[1896,8455,8458],{"className":8456,"code":8457,"language":1225},[1899],"Tag | Index | Byte Offset\n",[1902,8459,8457],{"__ignoreMap":1904},[986,8461,8462],{},"其中：",[1896,8464,8467],{"className":8465,"code":8466,"language":1225},[1899],"Index = 8 bits   用来选择 256 个 set 中的某一个\nTag   = 22 bits  用来和该 set 内 4 个 way 的 tag 比较\nByte Offset = 2 bits  用来选 word 内的 byte\n",[1902,8468,8466],{"__ignoreMap":1904},[986,8470,7046],{},[1377,8472,8473,8476,8479,8482,8485],{},[1347,8474,8475],{},"用 Index 选中一个 set",[1347,8477,8478],{},"同时读出这个 set 中 4 个 way 的 tag 和 data",[1347,8480,8481],{},"用 4 个比较器并行比较 tag",[1347,8483,8484],{},"哪个 way 的 tag 匹配且 valid=1，就从哪个 way 取数据",[1347,8486,8487],{},"最后通过 4-to-1 mux 选出正确数据",[986,8489,8490],{},"所以 4-way 的核心是：",[1849,8492,8493],{},[986,8494,8495],{},[982,8496,8497],{},"一个内存 block 不是只能放一个位置，而是可以放在对应 set 里的 4 个 way 中任意一个位置。",[986,8499,8500],{},[1418,8501,8502],{},"这样比 direct-mapped 更不容易冲突，但硬件更复杂，因为需要 4 个 tag comparator 和一个 4 选 1 的数据选择器。",[1015,8504,8506],{"id":8505},"fully-associative-cache完全关联缓存","Fully Associative Cache｜完全关联缓存",[986,8508,8509],{},[992,8510],{"alt":992,"src":8511},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-62.png",[986,8513,8514,8515,8518],{},"全关联的意思是：",[982,8516,8517],{},"一个主存 block 可以放到 cache 的任何一个位置。",[1418,8519,8520],{},"所以它没有 index 字段。",[986,8522,8523],{},"地址只需要拆成：",[1896,8525,8528],{"className":8526,"code":8527,"language":1225},[1899],"Tag | Block Offset\n",[1902,8529,8527],{"__ignoreMap":1904},[986,8531,8532],{},"访问时：",[1377,8534,8535,8538,8541,8544,8547],{},[1347,8536,8537],{},"CPU 给出地址",[1347,8539,8540],{},"取地址里的 Tag",[1347,8542,8543],{},"同时和 cache 中所有 line 的 tag 比较",[1347,8545,8546],{},"只要任意一个 line 匹配，并且 valid=1，就是 hit",[1347,8548,8549],{},"再用 block offset 选 block 内的 word \u002F byte",[986,8551,8552],{},"所以全关联 cache 的特点是：",[1896,8554,8557],{"className":8555,"code":8556,"language":1225},[1899],"优点：最灵活，冲突 miss 最少\n缺点：每个 cache block 都要一个比较器，硬件代价很高\n",[1902,8558,8556],{"__ignoreMap":1904},[7727,8560],{},[1015,8562,8564],{"id":8563},"alternative-cache-organizations可选缓存结构-tag总结","Alternative Cache Organizations｜可选缓存结构 （Tag：总结）",[986,8566,8567],{},"这一页是总结三种 cache organization。",[986,8569,8570],{},[992,8571],{"alt":992,"src":8572},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-63.png",[1094,8574,8576],{"id":8575},"fully-associative","Fully Associative",[1896,8578,8581],{"className":8579,"code":8580,"language":1225},[1899],"任意 memory block 可以放到 cache 任意位置\n没有 index 字段\n每个 cache block 都需要一个 comparator\n",[1902,8582,8580],{"__ignoreMap":1904},[986,8584,8585],{},"极端灵活，但搜索代价大。",[1094,8587,8589],{"id":8588},"direct-mapped","Direct Mapped",[1896,8591,8594],{"className":8592,"code":8593,"language":1225},[1899],"任意 memory block 只能放到唯一一个 cache 位置\n只有 1 个 comparator\nset 数 = block 数\n",[1902,8595,8593],{"__ignoreMap":1904},[986,8597,8598],{},"硬件最简单，速度快，但 conflict miss 多。",[1094,8600,8602],{"id":8601},"n-way-set-associative","N-way Set Associative",[1896,8604,8607],{"className":8605,"code":8606,"language":1225},[1899],"memory block 先由 index 决定进入哪个 set\n然后可以放在这个 set 内的任意一个 way\n",[1902,8608,8606],{"__ignoreMap":1904},[986,8610,8611,8612],{},"公式是：",[1062,8613,8615,8660],{"className":8614},[1115],[1062,8616,8618],{"className":8617},[1119],[1121,8619,8620],{"xmlns":1123},[1125,8621,8622,8657],{},[1128,8623,8624,8627,8629,8631,8633,8635,8637],{},[1138,8625,8626],{"mathvariant":2926},"#",[1138,8628,2204],{},[1138,8630,2201],{},[1138,8632,2359],{},[1138,8634,2204],{},[1146,8636,1711],{},[6824,8638,8639,8655],{},[1128,8640,8641,8643,8645,8647,8649,8651,8653],{},[1138,8642,8626],{"mathvariant":2926},[1138,8644,2469],{},[1138,8646,2472],{},[1138,8648,2475],{},[1138,8650,2373],{},[1138,8652,2480],{},[1138,8654,2204],{},[1138,8656,1140],{},[1160,8658,8659],{"encoding":1162},"\\#sets=\\frac{\\#blocks}{N}",[1062,8661,8663,8690],{"className":8662,"ariaHidden":1168},[1167],[1062,8664,8666,8669,8672,8675,8678,8681,8684,8687],{"className":8665},[1172],[1062,8667],{"className":8668,"style":4550},[1176],[1062,8670,8626],{"className":8671},[1181],[1062,8673,5512],{"className":8674},[1181,1220],[1062,8676,2359],{"className":8677},[1181,1220],[1062,8679,2204],{"className":8680},[1181,1220],[1062,8682],{"className":8683,"style":1742},[1232],[1062,8685,1711],{"className":8686},[1746],[1062,8688],{"className":8689,"style":1742},[1232],[1062,8691,8693,8697],{"className":8692},[1172],[1062,8694],{"className":8695,"style":8696},[1176],"height:1.2772em;vertical-align:-0.345em;",[1062,8698,8700,8703,8780],{"className":8699},[1181],[1062,8701],{"className":8702},[2292,6874],[1062,8704,8706],{"className":8705},[6824],[1062,8707,8709,8771],{"className":8708},[1192,2965],[1062,8710,8712,8768],{"className":8711},[1196],[1062,8713,8716,8730,8738],{"className":8714,"style":8715},[1200],"height:0.9322em;",[1062,8717,8718,8721],{"style":6890},[1062,8719],{"className":8720,"style":6894},[1208],[1062,8722,8724],{"className":8723},[1213,1214,1215,1216],[1062,8725,8727],{"className":8726},[1181,1216],[1062,8728,1140],{"className":8729,"style":1221},[1181,1220,1216],[1062,8731,8732,8735],{"style":6913},[1062,8733],{"className":8734,"style":6894},[1208],[1062,8736],{"className":8737,"style":6921},[6920],[1062,8739,8741,8744],{"style":8740},"top:-3.4461em;",[1062,8742],{"className":8743,"style":6894},[1208],[1062,8745,8747],{"className":8746},[1213,1214,1215,1216],[1062,8748,8750,8753,8756,8759,8762,8765],{"className":8749},[1181,1216],[1062,8751,8626],{"className":8752},[1181,1216],[1062,8754,2469],{"className":8755},[1181,1220,1216],[1062,8757,2472],{"className":8758,"style":2530},[1181,1220,1216],[1062,8760,2534],{"className":8761},[1181,1220,1216],[1062,8763,2480],{"className":8764,"style":2538},[1181,1220,1216],[1062,8766,2204],{"className":8767},[1181,1220,1216],[1062,8769,2995],{"className":8770},[2994],[1062,8772,8774],{"className":8773},[1196],[1062,8775,8778],{"className":8776,"style":8777},[1200],"height:0.345em;",[1062,8779],{},[1062,8781],{"className":8782},[2302,6874],[986,8784,8785],{},"N-way 需要 N 个 comparator。",[986,8787,8788,8789,2751],{},"它是 direct-mapped 和 fully associative 的折中。课件也写了：全关联没有索引字段，直接映射只有 1 个比较器，N 路组相联有 N 个比较器，并且 ",[1062,8790,8792,8835],{"className":8791},[1115],[1062,8793,8795],{"className":8794},[1119],[1121,8796,8797],{"xmlns":1123},[1125,8798,8799,8833],{},[1128,8800,8801,8803,8805,8807,8809,8811,8813],{},[1138,8802,8626],{"mathvariant":2926},[1138,8804,2204],{},[1138,8806,2201],{},[1138,8808,2359],{},[1138,8810,2204],{},[1146,8812,1711],{},[6824,8814,8815,8831],{},[1128,8816,8817,8819,8821,8823,8825,8827,8829],{},[1138,8818,8626],{"mathvariant":2926},[1138,8820,2469],{},[1138,8822,2472],{},[1138,8824,2475],{},[1138,8826,2373],{},[1138,8828,2480],{},[1138,8830,2204],{},[1138,8832,1140],{},[1160,8834,8659],{"encoding":1162},[1062,8836,8838,8865],{"className":8837,"ariaHidden":1168},[1167],[1062,8839,8841,8844,8847,8850,8853,8856,8859,8862],{"className":8840},[1172],[1062,8842],{"className":8843,"style":4550},[1176],[1062,8845,8626],{"className":8846},[1181],[1062,8848,5512],{"className":8849},[1181,1220],[1062,8851,2359],{"className":8852},[1181,1220],[1062,8854,2204],{"className":8855},[1181,1220],[1062,8857],{"className":8858,"style":1742},[1232],[1062,8860,1711],{"className":8861},[1746],[1062,8863],{"className":8864,"style":1742},[1232],[1062,8866,8868,8871],{"className":8867},[1172],[1062,8869],{"className":8870,"style":8696},[1176],[1062,8872,8874,8877,8951],{"className":8873},[1181],[1062,8875],{"className":8876},[2292,6874],[1062,8878,8880],{"className":8879},[6824],[1062,8881,8883,8943],{"className":8882},[1192,2965],[1062,8884,8886,8940],{"className":8885},[1196],[1062,8887,8889,8903,8911],{"className":8888,"style":8715},[1200],[1062,8890,8891,8894],{"style":6890},[1062,8892],{"className":8893,"style":6894},[1208],[1062,8895,8897],{"className":8896},[1213,1214,1215,1216],[1062,8898,8900],{"className":8899},[1181,1216],[1062,8901,1140],{"className":8902,"style":1221},[1181,1220,1216],[1062,8904,8905,8908],{"style":6913},[1062,8906],{"className":8907,"style":6894},[1208],[1062,8909],{"className":8910,"style":6921},[6920],[1062,8912,8913,8916],{"style":8740},[1062,8914],{"className":8915,"style":6894},[1208],[1062,8917,8919],{"className":8918},[1213,1214,1215,1216],[1062,8920,8922,8925,8928,8931,8934,8937],{"className":8921},[1181,1216],[1062,8923,8626],{"className":8924},[1181,1216],[1062,8926,2469],{"className":8927},[1181,1220,1216],[1062,8929,2472],{"className":8930,"style":2530},[1181,1220,1216],[1062,8932,2534],{"className":8933},[1181,1220,1216],[1062,8935,2480],{"className":8936,"style":2538},[1181,1220,1216],[1062,8938,2204],{"className":8939},[1181,1220,1216],[1062,8941,2995],{"className":8942},[2994],[1062,8944,8946],{"className":8945},[1196],[1062,8947,8949],{"className":8948,"style":8777},[1200],[1062,8950],{},[1062,8952],{"className":8953},[2302,6874],[1015,8955,8957],{"id":8956},"range-of-set-associative-caches组相联缓存的范围","Range of Set-Associative Caches｜组相联缓存的范围",[986,8959,8960,8961],{},"这一页讲的是：",[982,8962,8963],{},"在 cache 总容量和 block size 固定时，associativity（就是way） 增大，会发生什么。",[1294,8965,8966],{"style":1869},[1313,8967,8968],{},[1300,8969,1875,8970,1875,8977],{"style":1874},[1318,8971,8972,1875],{"style":3206},[986,8973,8974],{},[992,8975],{"alt":992,"src":8976},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-64.png",[1318,8978,8979,1875],{"style":3198},[986,8980,8981],{},[992,8982],{"alt":992,"src":8983},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-65.png",[986,8985,8986,8987,9083],{},"核心关系是：",[1062,8988,8990,9013],{"className":8989},[1115],[1062,8991,8993],{"className":8992},[1119],[1121,8994,8995],{"xmlns":1123},[1125,8996,8997,9010],{},[1128,8998,8999,9002,9004,9006,9008],{},[1142,9000,9001],{},"总 block 数",[1146,9003,1711],{},[1142,9005,6705],{},[1146,9007,1148],{},[1142,9009,6830],{},[1160,9011,9012],{"encoding":1162},"\\text{总 block 数}=\\text{set 数}\\times \\text{way 数}",[1062,9014,9016,9044,9068],{"className":9015,"ariaHidden":1168},[1167],[1062,9017,9019,9022,9035,9038,9041],{"className":9018},[1172],[1062,9020],{"className":9021,"style":2246},[1176],[1062,9023,9025,9029,9032],{"className":9024},[1181,1225],[1062,9026,9028],{"className":9027},[1181,2422],"总",[1062,9030,6793],{"className":9031},[1181],[1062,9033,6759],{"className":9034},[1181,2422],[1062,9036],{"className":9037,"style":1742},[1232],[1062,9039,1711],{"className":9040},[1746],[1062,9042],{"className":9043,"style":1742},[1232],[1062,9045,9047,9050,9059,9062,9065],{"className":9046},[1172],[1062,9048],{"className":9049,"style":3748},[1176],[1062,9051,9053,9056],{"className":9052},[1181,1225],[1062,9054,6755],{"className":9055},[1181],[1062,9057,6759],{"className":9058},[1181,2422],[1062,9060],{"className":9061,"style":1233},[1232],[1062,9063,1148],{"className":9064},[1237],[1062,9066],{"className":9067,"style":1233},[1232],[1062,9069,9071,9074],{"className":9070},[1172],[1062,9072],{"className":9073,"style":5474},[1176],[1062,9075,9077,9080],{"className":9076},[1181,1225],[1062,9078,6907],{"className":9079},[1181],[1062,9081,6759],{"className":9082},[1181,2422],"，如果总 block 数不变，way 数增大，那么 set 数就减少。",[986,9085,9086],{},"例如：",[1896,9088,9091],{"className":9089,"code":9090,"language":1225},[1899],"Direct mapped: 8 sets × 1 way\n2-way:         4 sets × 2 ways\n4-way:         2 sets × 4 ways\nFully assoc:   1 set  × 8 ways\n",[1902,9092,9090],{"__ignoreMap":1904},[986,9094,9095],{},"所以 associativity 每翻倍：",[1896,9097,9100],{"className":9098,"code":9099,"language":1225},[1899],"way 数 ×2\nset 数 ÷2\nindex 位数减少 1 位\ntag 位数增加 1 位\ncomparator 数量增加\n",[1902,9101,9099],{"__ignoreMap":1904},[1849,9103,9104,9107,9110,9214,9217],{},[986,9105,9106],{},"为什么 tag 会增加？",[986,9108,9109],{},"因为地址格式是：",[1062,9111,9113],{"className":9112},[7840],[1062,9114,9116,9147],{"className":9115},[1115],[1062,9117,9119],{"className":9118},[1119],[1121,9120,9121],{"xmlns":1123,"display":3391},[1125,9122,9123,9144],{},[1128,9124,9125,9128,9130,9133,9136,9139,9141],{},[1142,9126,9127],{},"Address",[1146,9129,1711],{},[1142,9131,9132],{},"Tag ",[1138,9134,9135],{"mathvariant":2926},"∣",[1142,9137,9138],{}," Index ",[1138,9140,9135],{"mathvariant":2926},[1142,9142,9143],{}," Offset",[1160,9145,9146],{"encoding":1162},"\\text{Address}=\\text{Tag}\\ |\\ \\text{Index}\\ |\\ \\text{Offset}",[1062,9148,9150,9171],{"className":9149,"ariaHidden":1168},[1167],[1062,9151,9153,9156,9162,9165,9168],{"className":9152},[1172],[1062,9154],{"className":9155,"style":2246},[1176],[1062,9157,9159],{"className":9158},[1181,1225],[1062,9160,9127],{"className":9161},[1181],[1062,9163],{"className":9164,"style":1742},[1232],[1062,9166,1711],{"className":9167},[1746],[1062,9169],{"className":9170,"style":1742},[1232],[1062,9172,9174,9177,9183,9186,9189,9192,9198,9201,9204,9207],{"className":9173},[1172],[1062,9175],{"className":9176,"style":2277},[1176],[1062,9178,9180],{"className":9179},[1181,1225],[1062,9181,5944],{"className":9182},[1181],[1062,9184,3900],{"className":9185},[1232],[1062,9187,9135],{"className":9188},[1181],[1062,9190,3900],{"className":9191},[1232],[1062,9193,9195],{"className":9194},[1181,1225],[1062,9196,7569],{"className":9197},[1181],[1062,9199,3900],{"className":9200},[1232],[1062,9202,9135],{"className":9203},[1181],[1062,9205,3900],{"className":9206},[1232],[1062,9208,9210],{"className":9209},[1181,1225],[1062,9211,9213],{"className":9212},[1181],"Offset",[986,9215,9216],{},"地址总位数固定，offset 固定。",[986,9218,9219],{},"如果 set 数减少，那么 index bits 变少，剩下给 tag 的位数就变多。",[7727,9221],{},[1015,9223,9225],{"id":9224},"total-cache-capacity总-cache-容量公式","Total Cache Capacity｜总 Cache 容量公式",[986,9227,9228],{},[992,9229],{"alt":992,"src":9230},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-66.png",[986,9232,9233],{},"这一页给出最重要的统一公式：",[1062,9235,9237],{"className":9236},[7840],[1062,9238,9240,9267],{"className":9239},[1115],[1062,9241,9243],{"className":9242},[1119],[1121,9244,9245],{"xmlns":1123,"display":3391},[1125,9246,9247,9264],{},[1128,9248,9249,9251,9253,9255,9257,9260,9262],{},[1138,9250,1702],{},[1146,9252,1711],{},[1138,9254,1140],{},[1146,9256,1148],{},[1138,9258,9259],{},"S",[1146,9261,1148],{},[1138,9263,5567],{},[1160,9265,9266],{"encoding":1162},"C=N\\times S\\times B",[1062,9268,9270,9288,9306,9325],{"className":9269,"ariaHidden":1168},[1167],[1062,9271,9273,9276,9279,9282,9285],{"className":9272},[1172],[1062,9274],{"className":9275,"style":1726},[1176],[1062,9277,1702],{"className":9278,"style":1730},[1181,1220],[1062,9280],{"className":9281,"style":1742},[1232],[1062,9283,1711],{"className":9284},[1746],[1062,9286],{"className":9287,"style":1742},[1232],[1062,9289,9291,9294,9297,9300,9303],{"className":9290},[1172],[1062,9292],{"className":9293,"style":3748},[1176],[1062,9295,1140],{"className":9296,"style":1221},[1181,1220],[1062,9298],{"className":9299,"style":1233},[1232],[1062,9301,1148],{"className":9302},[1237],[1062,9304],{"className":9305,"style":1233},[1232],[1062,9307,9309,9312,9316,9319,9322],{"className":9308},[1172],[1062,9310],{"className":9311,"style":3748},[1176],[1062,9313,9259],{"className":9314,"style":9315},[1181,1220],"margin-right:0.0576em;",[1062,9317],{"className":9318,"style":1233},[1232],[1062,9320,1148],{"className":9321},[1237],[1062,9323],{"className":9324,"style":1233},[1232],[1062,9326,9328,9331],{"className":9327},[1172],[1062,9329],{"className":9330,"style":1726},[1176],[1062,9332,5567],{"className":9333,"style":5632},[1181,1220],[986,9335,8462],{},[1344,9337,9338,9341,9344,9347],{},[1347,9339,9340],{},"C = cache data capacity，单位通常是 Byte",[1347,9342,9343],{},"N = associativity，也就是每个 set 有几个 way",[1347,9345,9346],{},"S = number of sets，set 数",[1347,9348,9349],{},"B = block size，每个 block 有多少 Byte",[986,9351,9352,9353],{},"即 ",[982,9354,9355],{},"容量 = 每组 block 数 × 组数 × 每个 block 的字节数",[986,9357,9358],{},"地址位数公式是：",[1062,9360,9362],{"className":9361},[7840],[1062,9363,9365,9395],{"className":9364},[1115],[1062,9366,9368],{"className":9367},[1119],[1121,9369,9370],{"xmlns":1123,"display":3391},[1125,9371,9372,9392],{},[1128,9373,9374,9377,9379,9382,9384,9387,9389],{},[1142,9375,9376],{},"address size",[1146,9378,1711],{},[1142,9380,9381],{},"tag size",[1146,9383,1647],{},[1142,9385,9386],{},"index size",[1146,9388,1647],{},[1142,9390,9391],{},"offset size",[1160,9393,9394],{"encoding":1162},"\\text{address size}=\\text{tag size}+\\text{index size}+\\text{offset size}",[1062,9396,9398,9419,9441,9463],{"className":9397,"ariaHidden":1168},[1167],[1062,9399,9401,9404,9410,9413,9416],{"className":9400},[1172],[1062,9402],{"className":9403,"style":2246},[1176],[1062,9405,9407],{"className":9406},[1181,1225],[1062,9408,9376],{"className":9409},[1181],[1062,9411],{"className":9412,"style":1742},[1232],[1062,9414,1711],{"className":9415},[1746],[1062,9417],{"className":9418,"style":1742},[1232],[1062,9420,9422,9426,9432,9435,9438],{"className":9421},[1172],[1062,9423],{"className":9424,"style":9425},[1176],"height:0.8623em;vertical-align:-0.1944em;",[1062,9427,9429],{"className":9428},[1181,1225],[1062,9430,9381],{"className":9431},[1181],[1062,9433],{"className":9434,"style":1233},[1232],[1062,9436,1647],{"className":9437},[1237],[1062,9439],{"className":9440,"style":1233},[1232],[1062,9442,9444,9448,9454,9457,9460],{"className":9443},[1172],[1062,9445],{"className":9446,"style":9447},[1176],"height:0.7778em;vertical-align:-0.0833em;",[1062,9449,9451],{"className":9450},[1181,1225],[1062,9452,9386],{"className":9453},[1181],[1062,9455],{"className":9456,"style":1233},[1232],[1062,9458,1647],{"className":9459},[1237],[1062,9461],{"className":9462,"style":1233},[1232],[1062,9464,9466,9469],{"className":9465},[1172],[1062,9467],{"className":9468,"style":2246},[1176],[1062,9470,9472],{"className":9471},[1181,1225],[1062,9473,9391],{"className":9474},[1181],[986,9476,9477],{},"又因为：",[1062,9479,9481],{"className":9480},[7840],[1062,9482,9484,9512],{"className":9483},[1115],[1062,9485,9487],{"className":9486},[1119],[1121,9488,9489],{"xmlns":1123,"display":3391},[1125,9490,9491,9509],{},[1128,9492,9493,9495,9497,9507],{},[1142,9494,9386],{},[1146,9496,1711],{},[2913,9498,9499,9505],{},[1128,9500,9501,9503],{},[1138,9502,6293],{},[1146,9504,6296],{},[1134,9506,1136],{},[1138,9508,9259],{},[1160,9510,9511],{"encoding":1162},"\\text{index size}=\\log_2 S",[1062,9513,9515,9536],{"className":9514,"ariaHidden":1168},[1167],[1062,9516,9518,9521,9527,9530,9533],{"className":9517},[1172],[1062,9519],{"className":9520,"style":2246},[1176],[1062,9522,9524],{"className":9523},[1181,1225],[1062,9525,9386],{"className":9526},[1181],[1062,9528],{"className":9529,"style":1742},[1232],[1062,9531,1711],{"className":9532},[1746],[1062,9534],{"className":9535,"style":1742},[1232],[1062,9537,9539,9542,9584,9587],{"className":9538},[1172],[1062,9540],{"className":9541,"style":6339},[1176],[1062,9543,9545,9550],{"className":9544},[6343],[1062,9546,6347,9548],{"className":9547},[6343],[1062,9549,2216],{"style":6350},[1062,9551,9553],{"className":9552},[1188],[1062,9554,9556,9576],{"className":9555},[1192,2965],[1062,9557,9559,9573],{"className":9558},[1196],[1062,9560,9562],{"className":9561,"style":6363},[1200],[1062,9563,9564,9567],{"style":6366},[1062,9565],{"className":9566,"style":1209},[1208],[1062,9568,9570],{"className":9569},[1213,1214,1215,1216],[1062,9571,1136],{"className":9572},[1181,1216],[1062,9574,2995],{"className":9575},[2994],[1062,9577,9579],{"className":9578},[1196],[1062,9580,9582],{"className":9581,"style":6385},[1200],[1062,9583],{},[1062,9585],{"className":9586,"style":4831},[1232],[1062,9588,9259],{"className":9589,"style":9315},[1181,1220],[1062,9591,9593],{"className":9592},[7840],[1062,9594,9596,9624],{"className":9595},[1115],[1062,9597,9599],{"className":9598},[1119],[1121,9600,9601],{"xmlns":1123,"display":3391},[1125,9602,9603,9621],{},[1128,9604,9605,9607,9609,9619],{},[1142,9606,9391],{},[1146,9608,1711],{},[2913,9610,9611,9617],{},[1128,9612,9613,9615],{},[1138,9614,6293],{},[1146,9616,6296],{},[1134,9618,1136],{},[1138,9620,5567],{},[1160,9622,9623],{"encoding":1162},"\\text{offset size}=\\log_2 B",[1062,9625,9627,9648],{"className":9626,"ariaHidden":1168},[1167],[1062,9628,9630,9633,9639,9642,9645],{"className":9629},[1172],[1062,9631],{"className":9632,"style":2246},[1176],[1062,9634,9636],{"className":9635},[1181,1225],[1062,9637,9391],{"className":9638},[1181],[1062,9640],{"className":9641,"style":1742},[1232],[1062,9643,1711],{"className":9644},[1746],[1062,9646],{"className":9647,"style":1742},[1232],[1062,9649,9651,9654,9696,9699],{"className":9650},[1172],[1062,9652],{"className":9653,"style":6339},[1176],[1062,9655,9657,9662],{"className":9656},[6343],[1062,9658,6347,9660],{"className":9659},[6343],[1062,9661,2216],{"style":6350},[1062,9663,9665],{"className":9664},[1188],[1062,9666,9668,9688],{"className":9667},[1192,2965],[1062,9669,9671,9685],{"className":9670},[1196],[1062,9672,9674],{"className":9673,"style":6363},[1200],[1062,9675,9676,9679],{"style":6366},[1062,9677],{"className":9678,"style":1209},[1208],[1062,9680,9682],{"className":9681},[1213,1214,1215,1216],[1062,9683,1136],{"className":9684},[1181,1216],[1062,9686,2995],{"className":9687},[2994],[1062,9689,9691],{"className":9690},[1196],[1062,9692,9694],{"className":9693,"style":6385},[1200],[1062,9695],{},[1062,9697],{"className":9698,"style":4831},[1232],[1062,9700,5567],{"className":9701,"style":5632},[1181,1220],[986,9703,6806],{},[1062,9705,9707],{"className":9706},[7840],[1062,9708,9710,9756],{"className":9709},[1115],[1062,9711,9713],{"className":9712},[1119],[1121,9714,9715],{"xmlns":1123,"display":3391},[1125,9716,9717,9753],{},[1128,9718,9719,9721,9723,9725,9727,9737,9739,9741,9751],{},[1142,9720,9381],{},[1146,9722,1711],{},[1142,9724,9376],{},[1146,9726,6566],{},[2913,9728,9729,9735],{},[1128,9730,9731,9733],{},[1138,9732,6293],{},[1146,9734,6296],{},[1134,9736,1136],{},[1138,9738,9259],{},[1146,9740,6566],{},[2913,9742,9743,9749],{},[1128,9744,9745,9747],{},[1138,9746,6293],{},[1146,9748,6296],{},[1134,9750,1136],{},[1138,9752,5567],{},[1160,9754,9755],{"encoding":1162},"\\text{tag size}=\\text{address size}-\\log_2 S-\\log_2 B",[1062,9757,9759,9780,9801,9864],{"className":9758,"ariaHidden":1168},[1167],[1062,9760,9762,9765,9771,9774,9777],{"className":9761},[1172],[1062,9763],{"className":9764,"style":9425},[1176],[1062,9766,9768],{"className":9767},[1181,1225],[1062,9769,9381],{"className":9770},[1181],[1062,9772],{"className":9773,"style":1742},[1232],[1062,9775,1711],{"className":9776},[1746],[1062,9778],{"className":9779,"style":1742},[1232],[1062,9781,9783,9786,9792,9795,9798],{"className":9782},[1172],[1062,9784],{"className":9785,"style":9447},[1176],[1062,9787,9789],{"className":9788},[1181,1225],[1062,9790,9376],{"className":9791},[1181],[1062,9793],{"className":9794,"style":1233},[1232],[1062,9796,6566],{"className":9797},[1237],[1062,9799],{"className":9800,"style":1233},[1232],[1062,9802,9804,9807,9849,9852,9855,9858,9861],{"className":9803},[1172],[1062,9805],{"className":9806,"style":6339},[1176],[1062,9808,9810,9815],{"className":9809},[6343],[1062,9811,6347,9813],{"className":9812},[6343],[1062,9814,2216],{"style":6350},[1062,9816,9818],{"className":9817},[1188],[1062,9819,9821,9841],{"className":9820},[1192,2965],[1062,9822,9824,9838],{"className":9823},[1196],[1062,9825,9827],{"className":9826,"style":6363},[1200],[1062,9828,9829,9832],{"style":6366},[1062,9830],{"className":9831,"style":1209},[1208],[1062,9833,9835],{"className":9834},[1213,1214,1215,1216],[1062,9836,1136],{"className":9837},[1181,1216],[1062,9839,2995],{"className":9840},[2994],[1062,9842,9844],{"className":9843},[1196],[1062,9845,9847],{"className":9846,"style":6385},[1200],[1062,9848],{},[1062,9850],{"className":9851,"style":4831},[1232],[1062,9853,9259],{"className":9854,"style":9315},[1181,1220],[1062,9856],{"className":9857,"style":1233},[1232],[1062,9859,6566],{"className":9860},[1237],[1062,9862],{"className":9863,"style":1233},[1232],[1062,9865,9867,9870,9912,9915],{"className":9866},[1172],[1062,9868],{"className":9869,"style":6339},[1176],[1062,9871,9873,9878],{"className":9872},[6343],[1062,9874,6347,9876],{"className":9875},[6343],[1062,9877,2216],{"style":6350},[1062,9879,9881],{"className":9880},[1188],[1062,9882,9884,9904],{"className":9883},[1192,2965],[1062,9885,9887,9901],{"className":9886},[1196],[1062,9888,9890],{"className":9889,"style":6363},[1200],[1062,9891,9892,9895],{"style":6366},[1062,9893],{"className":9894,"style":1209},[1208],[1062,9896,9898],{"className":9897},[1213,1214,1215,1216],[1062,9899,1136],{"className":9900},[1181,1216],[1062,9902,2995],{"className":9903},[2994],[1062,9905,9907],{"className":9906},[1196],[1062,9908,9910],{"className":9909,"style":6385},[1200],[1062,9911],{},[1062,9913],{"className":9914,"style":4831},[1232],[1062,9916,5567],{"className":9917,"style":5632},[1181,1220],[1377,9919,9920,10120],{},[1347,9921,9922,9923],{},"如果 associativity 翻倍，且总容量和 block size 不变，其他变量应该如何变化？\n",[1377,9924,9925,10103],{},[1347,9926,9927,9978,9979,10073,10074,10102],{},[1062,9928,9930,9948],{"className":9929},[1115],[1062,9931,9933],{"className":9932},[1119],[1121,9934,9935],{"xmlns":1123},[1125,9936,9937,9945],{},[1128,9938,9939,9941,9943],{},[1138,9940,1140],{},[1146,9942,1148],{},[1134,9944,1136],{},[1160,9946,9947],{"encoding":1162},"N\\times 2",[1062,9949,9951,9969],{"className":9950,"ariaHidden":1168},[1167],[1062,9952,9954,9957,9960,9963,9966],{"className":9953},[1172],[1062,9955],{"className":9956,"style":3748},[1176],[1062,9958,1140],{"className":9959,"style":1221},[1181,1220],[1062,9961],{"className":9962,"style":1233},[1232],[1062,9964,1148],{"className":9965},[1237],[1062,9967],{"className":9968,"style":1233},[1232],[1062,9970,9972,9975],{"className":9971},[1172],[1062,9973],{"className":9974,"style":1756},[1176],[1062,9976,1136],{"className":9977},[1181],"为了让 ",[1062,9980,9982,10007],{"className":9981},[1115],[1062,9983,9985],{"className":9984},[1119],[1121,9986,9987],{"xmlns":1123},[1125,9988,9989,10005],{},[1128,9990,9991,9993,9995,9997,9999,10001,10003],{},[1138,9992,1702],{},[1146,9994,1711],{},[1138,9996,1140],{},[1146,9998,1148],{},[1138,10000,9259],{},[1146,10002,1148],{},[1138,10004,5567],{},[1160,10006,9266],{"encoding":1162},[1062,10008,10010,10028,10046,10064],{"className":10009,"ariaHidden":1168},[1167],[1062,10011,10013,10016,10019,10022,10025],{"className":10012},[1172],[1062,10014],{"className":10015,"style":1726},[1176],[1062,10017,1702],{"className":10018,"style":1730},[1181,1220],[1062,10020],{"className":10021,"style":1742},[1232],[1062,10023,1711],{"className":10024},[1746],[1062,10026],{"className":10027,"style":1742},[1232],[1062,10029,10031,10034,10037,10040,10043],{"className":10030},[1172],[1062,10032],{"className":10033,"style":3748},[1176],[1062,10035,1140],{"className":10036,"style":1221},[1181,1220],[1062,10038],{"className":10039,"style":1233},[1232],[1062,10041,1148],{"className":10042},[1237],[1062,10044],{"className":10045,"style":1233},[1232],[1062,10047,10049,10052,10055,10058,10061],{"className":10048},[1172],[1062,10050],{"className":10051,"style":3748},[1176],[1062,10053,9259],{"className":10054,"style":9315},[1181,1220],[1062,10056],{"className":10057,"style":1233},[1232],[1062,10059,1148],{"className":10060},[1237],[1062,10062],{"className":10063,"style":1233},[1232],[1062,10065,10067,10070],{"className":10066},[1172],[1062,10068],{"className":10069,"style":1726},[1176],[1062,10071,5567],{"className":10072,"style":5632},[1181,1220]," 不变，",[1062,10075,10077,10090],{"className":10076},[1115],[1062,10078,10080],{"className":10079},[1119],[1121,10081,10082],{"xmlns":1123},[1125,10083,10084,10088],{},[1128,10085,10086],{},[1138,10087,9259],{},[1160,10089,9259],{"encoding":1162},[1062,10091,10093],{"className":10092,"ariaHidden":1168},[1167],[1062,10094,10096,10099],{"className":10095},[1172],[1062,10097],{"className":10098,"style":1726},[1176],[1062,10100,9259],{"className":10101,"style":9315},[1181,1220]," 必须减半。",[1347,10104,10105,10106],{},"所以：\n",[1377,10107,10108,10111,10114,10117],{},[1347,10109,10110],{},"set 数减半",[1347,10112,10113],{},"index bits 减少 1 位",[1347,10115,10116],{},"tag bits 增加 1 位",[1347,10118,10119],{},"comparator 数翻倍",[1347,10121,10122,10123],{},"如果 set 数翻倍，且总容量和 block size 不变，其他变量应该如何变化？\n",[1377,10124,10125,10207],{},[1347,10126,10127,10178,10179,10102],{},[1062,10128,10130,10148],{"className":10129},[1115],[1062,10131,10133],{"className":10132},[1119],[1121,10134,10135],{"xmlns":1123},[1125,10136,10137,10145],{},[1128,10138,10139,10141,10143],{},[1138,10140,9259],{},[1146,10142,1148],{},[1134,10144,1136],{},[1160,10146,10147],{"encoding":1162},"S\\times 2",[1062,10149,10151,10169],{"className":10150,"ariaHidden":1168},[1167],[1062,10152,10154,10157,10160,10163,10166],{"className":10153},[1172],[1062,10155],{"className":10156,"style":3748},[1176],[1062,10158,9259],{"className":10159,"style":9315},[1181,1220],[1062,10161],{"className":10162,"style":1233},[1232],[1062,10164,1148],{"className":10165},[1237],[1062,10167],{"className":10168,"style":1233},[1232],[1062,10170,10172,10175],{"className":10171},[1172],[1062,10173],{"className":10174,"style":1756},[1176],[1062,10176,1136],{"className":10177},[1181],"则 ",[1062,10180,10182,10195],{"className":10181},[1115],[1062,10183,10185],{"className":10184},[1119],[1121,10186,10187],{"xmlns":1123},[1125,10188,10189,10193],{},[1128,10190,10191],{},[1138,10192,1140],{},[1160,10194,1140],{"encoding":1162},[1062,10196,10198],{"className":10197,"ariaHidden":1168},[1167],[1062,10199,10201,10204],{"className":10200},[1172],[1062,10202],{"className":10203,"style":1726},[1176],[1062,10205,1140],{"className":10206,"style":1221},[1181,1220],[1347,10208,10105,10209],{},[1377,10210,10211,10214,10217,10220],{},[1347,10212,10213],{},"associativity 减半",[1347,10215,10216],{},"index bits 增加 1 位",[1347,10218,10219],{},"tag bits 减少 1 位",[1347,10221,10222],{},"comparator 数减少",[7727,10224],{},[1015,10226,10228],{"id":10227},"练习1p87页","练习1——P87页",[986,10230,10231],{},"固定总容量时，如果 ways 数翻倍，哪个说法是 false？",[986,10233,10234],{},[992,10235],{"alt":992,"src":10236},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-67.png",[1896,10238,10241],{"className":10239,"code":10240,"language":1225},[1899],"A: The number of sets is halved\n正确，set 数减半\n\nB: The tag width decreases\n错误，tag 宽度不是减少，而是增加\n\nC: The block size stays the same\n正确，block size 没变\n\nD:The block size is halved\n错误，block size是不变的\n\nE: The set index decreases\n正确，set 数减半，所以 index bits 减少 1 位\n",[1902,10242,10240],{"__ignoreMap":1904},[1015,10244,10246],{"id":10245},"练习-2p88-页","练习 2——P88 页",[986,10248,10249],{},"对于 S sets, N ways, B blocks，哪些说法成立？",[986,10251,10252],{},[992,10253],{"alt":992,"src":10254},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-68.png",[986,10256,10257],{},"全对 这个没啥好解释的，基本慨念了",[7727,10259],{},[1015,10261,10263],{"id":10262},"cache-示例计算-tag-size-习题3-p90","Cache 示例，计算 tag size ｜ 习题3 P90",[986,10265,10266],{},[992,10267],{"alt":992,"src":10268},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-69.png",[986,10270,10271],{},"题目给：",[1896,10273,10276],{"className":10274,"code":10275,"language":1225},[1899],"cache capacity = 2MB\nline size = 64B\nphysical address = 52 bits\n",[1902,10277,10275],{"__ignoreMap":1904},[986,10279,10280],{},"先算 cache line 数：",[1062,10282,10284],{"className":10283},[7840],[1062,10285,10287,10315],{"className":10286},[1115],[1062,10288,10290],{"className":10289},[1119],[1121,10291,10292],{"xmlns":1123,"display":3391},[1125,10293,10294,10312],{},[1128,10295,10296,10298,10301,10303,10310],{},[1134,10297,1136],{},[1142,10299,10300],{},"MB",[1146,10302,1711],{},[1131,10304,10305,10307],{},[1134,10306,1136],{},[1134,10308,10309],{},"21",[1142,10311,5567],{},[1160,10313,10314],{"encoding":1162},"2\\text{MB}=2^{21}\\text{B}",[1062,10316,10318,10342],{"className":10317,"ariaHidden":1168},[1167],[1062,10319,10321,10324,10327,10333,10336,10339],{"className":10320},[1172],[1062,10322],{"className":10323,"style":1726},[1176],[1062,10325,1136],{"className":10326},[1181],[1062,10328,10330],{"className":10329},[1181,1225],[1062,10331,10300],{"className":10332},[1181],[1062,10334],{"className":10335,"style":1742},[1232],[1062,10337,1711],{"className":10338},[1746],[1062,10340],{"className":10341,"style":1742},[1232],[1062,10343,10345,10349,10382],{"className":10344},[1172],[1062,10346],{"className":10347,"style":10348},[1176],"height:0.8641em;",[1062,10350,10352,10355],{"className":10351},[1181],[1062,10353,1136],{"className":10354},[1181],[1062,10356,10358],{"className":10357},[1188],[1062,10359,10361],{"className":10360},[1192],[1062,10362,10364],{"className":10363},[1196],[1062,10365,10367],{"className":10366,"style":10348},[1200],[1062,10368,10370,10373],{"style":10369},"top:-3.113em;margin-right:0.05em;",[1062,10371],{"className":10372,"style":1209},[1208],[1062,10374,10376],{"className":10375},[1213,1214,1215,1216],[1062,10377,10379],{"className":10378},[1181,1216],[1062,10380,10309],{"className":10381},[1181,1216],[1062,10383,10385],{"className":10384},[1181,1225],[1062,10386,5567],{"className":10387},[1181],[1062,10389,10391],{"className":10390},[7840],[1062,10392,10394,10420],{"className":10393},[1115],[1062,10395,10397],{"className":10396},[1119],[1121,10398,10399],{"xmlns":1123,"display":3391},[1125,10400,10401,10417],{},[1128,10402,10403,10405,10407,10409,10415],{},[1134,10404,7278],{},[1142,10406,5567],{},[1146,10408,1711],{},[1131,10410,10411,10413],{},[1134,10412,1136],{},[1134,10414,2225],{},[1142,10416,5567],{},[1160,10418,10419],{"encoding":1162},"64\\text{B}=2^6\\text{B}",[1062,10421,10423,10447],{"className":10422,"ariaHidden":1168},[1167],[1062,10424,10426,10429,10432,10438,10441,10444],{"className":10425},[1172],[1062,10427],{"className":10428,"style":1726},[1176],[1062,10430,7278],{"className":10431},[1181],[1062,10433,10435],{"className":10434},[1181,1225],[1062,10436,5567],{"className":10437},[1181],[1062,10439],{"className":10440,"style":1742},[1232],[1062,10442,1711],{"className":10443},[1746],[1062,10445],{"className":10446,"style":1742},[1232],[1062,10448,10450,10453,10482],{"className":10449},[1172],[1062,10451],{"className":10452,"style":10348},[1176],[1062,10454,10456,10459],{"className":10455},[1181],[1062,10457,1136],{"className":10458},[1181],[1062,10460,10462],{"className":10461},[1188],[1062,10463,10465],{"className":10464},[1192],[1062,10466,10468],{"className":10467},[1196],[1062,10469,10471],{"className":10470,"style":10348},[1200],[1062,10472,10473,10476],{"style":10369},[1062,10474],{"className":10475,"style":1209},[1208],[1062,10477,10479],{"className":10478},[1213,1214,1215,1216],[1062,10480,2225],{"className":10481},[1181,1216],[1062,10483,10485],{"className":10484},[1181,1225],[1062,10486,5567],{"className":10487},[1181],[986,10489,6806],{},[1062,10491,10493],{"className":10492},[7840],[1062,10494,10496,10552],{"className":10495},[1115],[1062,10497,10499],{"className":10498},[1119],[1121,10500,10501],{"xmlns":1123,"display":3391},[1125,10502,10503,10549],{},[1128,10504,10505,10507,10509,10511,10513,10515,10517,10519,10533,10535,10542,10544,10546],{},[1138,10506,8626],{"mathvariant":2926},[1138,10508,2472],{},[1138,10510,2356],{},[1138,10512,3546],{},[1138,10514,2201],{},[1138,10516,2204],{},[1146,10518,1711],{},[6824,10520,10521,10527],{},[1131,10522,10523,10525],{},[1134,10524,1136],{},[1134,10526,10309],{},[1131,10528,10529,10531],{},[1134,10530,1136],{},[1134,10532,2225],{},[1146,10534,1711],{},[1131,10536,10537,10539],{},[1134,10538,1136],{},[1134,10540,10541],{},"15",[1146,10543,1711],{},[1134,10545,5564],{},[1138,10547,10548],{},"K",[1160,10550,10551],{"encoding":1162},"\\#lines=\\frac{2^{21}}{2^6}=2^{15}=32K",[1062,10553,10555,10582,10721,10768],{"className":10554,"ariaHidden":1168},[1167],[1062,10556,10558,10561,10564,10567,10570,10573,10576,10579],{"className":10557},[1172],[1062,10559],{"className":10560,"style":4550},[1176],[1062,10562,8626],{"className":10563},[1181],[1062,10565,2472],{"className":10566,"style":2530},[1181,1220],[1062,10568,3573],{"className":10569},[1181,1220],[1062,10571,3952],{"className":10572},[1181,1220],[1062,10574],{"className":10575,"style":1742},[1232],[1062,10577,1711],{"className":10578},[1746],[1062,10580],{"className":10581,"style":1742},[1232],[1062,10583,10585,10589,10712,10715,10718],{"className":10584},[1172],[1062,10586],{"className":10587,"style":10588},[1176],"height:2.1771em;vertical-align:-0.686em;",[1062,10590,10592,10595,10709],{"className":10591},[1181],[1062,10593],{"className":10594},[2292,6874],[1062,10596,10598],{"className":10597},[6824],[1062,10599,10601,10700],{"className":10600},[1192,2965],[1062,10602,10604,10697],{"className":10603},[1196],[1062,10605,10608,10648,10656],{"className":10606,"style":10607},[1200],"height:1.4911em;",[1062,10609,10611,10614],{"style":10610},"top:-2.314em;",[1062,10612],{"className":10613,"style":6894},[1208],[1062,10615,10617],{"className":10616},[1181],[1062,10618,10620,10623],{"className":10619},[1181],[1062,10621,1136],{"className":10622},[1181],[1062,10624,10626],{"className":10625},[1188],[1062,10627,10629],{"className":10628},[1192],[1062,10630,10632],{"className":10631},[1196],[1062,10633,10636],{"className":10634,"style":10635},[1200],"height:0.7401em;",[1062,10637,10639,10642],{"style":10638},"top:-2.989em;margin-right:0.05em;",[1062,10640],{"className":10641,"style":1209},[1208],[1062,10643,10645],{"className":10644},[1213,1214,1215,1216],[1062,10646,2225],{"className":10647},[1181,1216],[1062,10649,10650,10653],{"style":6913},[1062,10651],{"className":10652,"style":6894},[1208],[1062,10654],{"className":10655,"style":6921},[6920],[1062,10657,10659,10662],{"style":10658},"top:-3.677em;",[1062,10660],{"className":10661,"style":6894},[1208],[1062,10663,10665],{"className":10664},[1181],[1062,10666,10668,10671],{"className":10667},[1181],[1062,10669,1136],{"className":10670},[1181],[1062,10672,10674],{"className":10673},[1188],[1062,10675,10677],{"className":10676},[1192],[1062,10678,10680],{"className":10679},[1196],[1062,10681,10683],{"className":10682,"style":7291},[1200],[1062,10684,10685,10688],{"style":1204},[1062,10686],{"className":10687,"style":1209},[1208],[1062,10689,10691],{"className":10690},[1213,1214,1215,1216],[1062,10692,10694],{"className":10693},[1181,1216],[1062,10695,10309],{"className":10696},[1181,1216],[1062,10698,2995],{"className":10699},[2994],[1062,10701,10703],{"className":10702},[1196],[1062,10704,10707],{"className":10705,"style":10706},[1200],"height:0.686em;",[1062,10708],{},[1062,10710],{"className":10711},[2302,6874],[1062,10713],{"className":10714,"style":1742},[1232],[1062,10716,1711],{"className":10717},[1746],[1062,10719],{"className":10720,"style":1742},[1232],[1062,10722,10724,10727,10759,10762,10765],{"className":10723},[1172],[1062,10725],{"className":10726,"style":10348},[1176],[1062,10728,10730,10733],{"className":10729},[1181],[1062,10731,1136],{"className":10732},[1181],[1062,10734,10736],{"className":10735},[1188],[1062,10737,10739],{"className":10738},[1192],[1062,10740,10742],{"className":10741},[1196],[1062,10743,10745],{"className":10744,"style":10348},[1200],[1062,10746,10747,10750],{"style":10369},[1062,10748],{"className":10749,"style":1209},[1208],[1062,10751,10753],{"className":10752},[1213,1214,1215,1216],[1062,10754,10756],{"className":10755},[1181,1216],[1062,10757,10541],{"className":10758},[1181,1216],[1062,10760],{"className":10761,"style":1742},[1232],[1062,10763,1711],{"className":10764},[1746],[1062,10766],{"className":10767,"style":1742},[1232],[1062,10769,10771,10774,10777],{"className":10770},[1172],[1062,10772],{"className":10773,"style":1726},[1176],[1062,10775,5564],{"className":10776},[1181],[1062,10778,10548],{"className":10779,"style":1730},[1181,1220],[7727,10781],{},[1094,10783,10785],{"id":10784},"direct-mapped-1","Direct-mapped",[986,10787,10788],{},"direct-mapped 中：",[1896,10790,10793],{"className":10791,"code":10792,"language":1225},[1899],"set 数 = line 数 = 2^15\n",[1902,10794,10792],{"__ignoreMap":1904},[986,10796,6806],{},[1062,10798,10800],{"className":10799},[7840],[1062,10801,10803,10822],{"className":10802},[1115],[1062,10804,10806],{"className":10805},[1119],[1121,10807,10808],{"xmlns":1123,"display":3391},[1125,10809,10810,10819],{},[1128,10811,10812,10815,10817],{},[1142,10813,10814],{},"index bits",[1146,10816,1711],{},[1134,10818,10541],{},[1160,10820,10821],{"encoding":1162},"\\text{index bits}=15",[1062,10823,10825,10846],{"className":10824,"ariaHidden":1168},[1167],[1062,10826,10828,10831,10837,10840,10843],{"className":10827},[1172],[1062,10829],{"className":10830,"style":2246},[1176],[1062,10832,10834],{"className":10833},[1181,1225],[1062,10835,10814],{"className":10836},[1181],[1062,10838],{"className":10839,"style":1742},[1232],[1062,10841,1711],{"className":10842},[1746],[1062,10844],{"className":10845,"style":1742},[1232],[1062,10847,10849,10852],{"className":10848},[1172],[1062,10850],{"className":10851,"style":1756},[1176],[1062,10853,10541],{"className":10854},[1181],[1062,10856,10858],{"className":10857},[7840],[1062,10859,10861,10894],{"className":10860},[1115],[1062,10862,10864],{"className":10863},[1119],[1121,10865,10866],{"xmlns":1123,"display":3391},[1125,10867,10868,10891],{},[1128,10869,10870,10873,10875,10885,10887,10889],{},[1142,10871,10872],{},"offset bits",[1146,10874,1711],{},[2913,10876,10877,10883],{},[1128,10878,10879,10881],{},[1138,10880,6293],{},[1146,10882,6296],{},[1134,10884,1136],{},[1134,10886,7278],{},[1146,10888,1711],{},[1134,10890,2225],{},[1160,10892,10893],{"encoding":1162},"\\text{offset bits}=\\log_2 64=6",[1062,10895,10897,10918,10981],{"className":10896,"ariaHidden":1168},[1167],[1062,10898,10900,10903,10909,10912,10915],{"className":10899},[1172],[1062,10901],{"className":10902,"style":2246},[1176],[1062,10904,10906],{"className":10905},[1181,1225],[1062,10907,10872],{"className":10908},[1181],[1062,10910],{"className":10911,"style":1742},[1232],[1062,10913,1711],{"className":10914},[1746],[1062,10916],{"className":10917,"style":1742},[1232],[1062,10919,10921,10924,10966,10969,10972,10975,10978],{"className":10920},[1172],[1062,10922],{"className":10923,"style":6339},[1176],[1062,10925,10927,10932],{"className":10926},[6343],[1062,10928,6347,10930],{"className":10929},[6343],[1062,10931,2216],{"style":6350},[1062,10933,10935],{"className":10934},[1188],[1062,10936,10938,10958],{"className":10937},[1192,2965],[1062,10939,10941,10955],{"className":10940},[1196],[1062,10942,10944],{"className":10943,"style":6363},[1200],[1062,10945,10946,10949],{"style":6366},[1062,10947],{"className":10948,"style":1209},[1208],[1062,10950,10952],{"className":10951},[1213,1214,1215,1216],[1062,10953,1136],{"className":10954},[1181,1216],[1062,10956,2995],{"className":10957},[2994],[1062,10959,10961],{"className":10960},[1196],[1062,10962,10964],{"className":10963,"style":6385},[1200],[1062,10965],{},[1062,10967],{"className":10968,"style":4831},[1232],[1062,10970,7278],{"className":10971},[1181],[1062,10973],{"className":10974,"style":1742},[1232],[1062,10976,1711],{"className":10977},[1746],[1062,10979],{"className":10980,"style":1742},[1232],[1062,10982,10984,10987],{"className":10983},[1172],[1062,10985],{"className":10986,"style":1756},[1176],[1062,10988,2225],{"className":10989},[1181],[986,10991,6269],{},[1062,10993,10995],{"className":10994},[7840],[1062,10996,10998,11030],{"className":10997},[1115],[1062,10999,11001],{"className":11000},[1119],[1121,11002,11003],{"xmlns":1123,"display":3391},[1125,11004,11005,11027],{},[1128,11006,11007,11009,11011,11014,11016,11018,11020,11022,11024],{},[1142,11008,6559],{},[1146,11010,1711],{},[1134,11012,11013],{},"52",[1146,11015,6566],{},[1134,11017,10541],{},[1146,11019,6566],{},[1134,11021,2225],{},[1146,11023,1711],{},[1134,11025,11026],{},"31",[1160,11028,11029],{"encoding":1162},"\\text{tag bits}=52-15-6=31",[1062,11031,11033,11054,11072,11090,11108],{"className":11032,"ariaHidden":1168},[1167],[1062,11034,11036,11039,11045,11048,11051],{"className":11035},[1172],[1062,11037],{"className":11038,"style":4550},[1176],[1062,11040,11042],{"className":11041},[1181,1225],[1062,11043,6559],{"className":11044},[1181],[1062,11046],{"className":11047,"style":1742},[1232],[1062,11049,1711],{"className":11050},[1746],[1062,11052],{"className":11053,"style":1742},[1232],[1062,11055,11057,11060,11063,11066,11069],{"className":11056},[1172],[1062,11058],{"className":11059,"style":1662},[1176],[1062,11061,11013],{"className":11062},[1181],[1062,11064],{"className":11065,"style":1233},[1232],[1062,11067,6566],{"className":11068},[1237],[1062,11070],{"className":11071,"style":1233},[1232],[1062,11073,11075,11078,11081,11084,11087],{"className":11074},[1172],[1062,11076],{"className":11077,"style":1662},[1176],[1062,11079,10541],{"className":11080},[1181],[1062,11082],{"className":11083,"style":1233},[1232],[1062,11085,6566],{"className":11086},[1237],[1062,11088],{"className":11089,"style":1233},[1232],[1062,11091,11093,11096,11099,11102,11105],{"className":11092},[1172],[1062,11094],{"className":11095,"style":1756},[1176],[1062,11097,2225],{"className":11098},[1181],[1062,11100],{"className":11101,"style":1742},[1232],[1062,11103,1711],{"className":11104},[1746],[1062,11106],{"className":11107,"style":1742},[1232],[1062,11109,11111,11114],{"className":11110},[1172],[1062,11112],{"className":11113,"style":1756},[1176],[1062,11115,11026],{"className":11116},[1181],[986,11118,11119],{},"答案：",[1896,11121,11124],{"className":11122,"code":11123,"language":1225},[1899],"tag size = 31 bits\n",[1902,11125,11123],{"__ignoreMap":1904},[7727,11127],{},[1094,11129,11131],{"id":11130},"_16-way-set-associative","16-way set associative",[986,11133,11134,11135,11197],{},"总 line 数还是 ",[1062,11136,11138,11156],{"className":11137},[1115],[1062,11139,11141],{"className":11140},[1119],[1121,11142,11143],{"xmlns":1123},[1125,11144,11145,11153],{},[1128,11146,11147],{},[1131,11148,11149,11151],{},[1134,11150,1136],{},[1134,11152,10541],{},[1160,11154,11155],{"encoding":1162},"2^{15}",[1062,11157,11159],{"className":11158,"ariaHidden":1168},[1167],[1062,11160,11162,11165],{"className":11161},[1172],[1062,11163],{"className":11164,"style":7291},[1176],[1062,11166,11168,11171],{"className":11167},[1181],[1062,11169,1136],{"className":11170},[1181],[1062,11172,11174],{"className":11173},[1188],[1062,11175,11177],{"className":11176},[1192],[1062,11178,11180],{"className":11179},[1196],[1062,11181,11183],{"className":11182,"style":7291},[1200],[1062,11184,11185,11188],{"style":1204},[1062,11186],{"className":11187,"style":1209},[1208],[1062,11189,11191],{"className":11190},[1213,1214,1215,1216],[1062,11192,11194],{"className":11193},[1181,1216],[1062,11195,10541],{"className":11196},[1181,1216],"，但每个 set 有 16 ways：",[1062,11199,11201],{"className":11200},[7840],[1062,11202,11204,11226],{"className":11203},[1115],[1062,11205,11207],{"className":11206},[1119],[1121,11208,11209],{"xmlns":1123,"display":3391},[1125,11210,11211,11223],{},[1128,11212,11213,11215,11217],{},[1134,11214,2233],{},[1146,11216,1711],{},[1131,11218,11219,11221],{},[1134,11220,1136],{},[1134,11222,3735],{},[1160,11224,11225],{"encoding":1162},"16=2^4",[1062,11227,11229,11247],{"className":11228,"ariaHidden":1168},[1167],[1062,11230,11232,11235,11238,11241,11244],{"className":11231},[1172],[1062,11233],{"className":11234,"style":1756},[1176],[1062,11236,2233],{"className":11237},[1181],[1062,11239],{"className":11240,"style":1742},[1232],[1062,11242,1711],{"className":11243},[1746],[1062,11245],{"className":11246,"style":1742},[1232],[1062,11248,11250,11253],{"className":11249},[1172],[1062,11251],{"className":11252,"style":10348},[1176],[1062,11254,11256,11259],{"className":11255},[1181],[1062,11257,1136],{"className":11258},[1181],[1062,11260,11262],{"className":11261},[1188],[1062,11263,11265],{"className":11264},[1192],[1062,11266,11268],{"className":11267},[1196],[1062,11269,11271],{"className":11270,"style":10348},[1200],[1062,11272,11273,11276],{"style":10369},[1062,11274],{"className":11275,"style":1209},[1208],[1062,11277,11279],{"className":11278},[1213,1214,1215,1216],[1062,11280,3735],{"className":11281},[1181,1216],[986,11283,6806],{},[1062,11285,11287],{"className":11286},[7840],[1062,11288,11290,11343],{"className":11289},[1115],[1062,11291,11293],{"className":11292},[1119],[1121,11294,11295],{"xmlns":1123,"display":3391},[1125,11296,11297,11340],{},[1128,11298,11299,11301,11303,11305,11307,11309,11311,11325,11327,11334,11336,11338],{},[1138,11300,8626],{"mathvariant":2926},[1138,11302,2204],{},[1138,11304,2201],{},[1138,11306,2359],{},[1138,11308,2204],{},[1146,11310,1711],{},[6824,11312,11313,11319],{},[1131,11314,11315,11317],{},[1134,11316,1136],{},[1134,11318,10541],{},[1131,11320,11321,11323],{},[1134,11322,1136],{},[1134,11324,3735],{},[1146,11326,1711],{},[1131,11328,11329,11331],{},[1134,11330,1136],{},[1134,11332,11333],{},"11",[1146,11335,1711],{},[1134,11337,1136],{},[1138,11339,10548],{},[1160,11341,11342],{"encoding":1162},"\\#sets=\\frac{2^{15}}{2^4}=2^{11}=2K",[1062,11344,11346,11373,11505,11552],{"className":11345,"ariaHidden":1168},[1167],[1062,11347,11349,11352,11355,11358,11361,11364,11367,11370],{"className":11348},[1172],[1062,11350],{"className":11351,"style":4550},[1176],[1062,11353,8626],{"className":11354},[1181],[1062,11356,5512],{"className":11357},[1181,1220],[1062,11359,2359],{"className":11360},[1181,1220],[1062,11362,2204],{"className":11363},[1181,1220],[1062,11365],{"className":11366,"style":1742},[1232],[1062,11368,1711],{"className":11369},[1746],[1062,11371],{"className":11372,"style":1742},[1232],[1062,11374,11376,11379,11496,11499,11502],{"className":11375},[1172],[1062,11377],{"className":11378,"style":10588},[1176],[1062,11380,11382,11385,11493],{"className":11381},[1181],[1062,11383],{"className":11384},[2292,6874],[1062,11386,11388],{"className":11387},[6824],[1062,11389,11391,11485],{"className":11390},[1192,2965],[1062,11392,11394,11482],{"className":11393},[1196],[1062,11395,11397,11434,11442],{"className":11396,"style":10607},[1200],[1062,11398,11399,11402],{"style":10610},[1062,11400],{"className":11401,"style":6894},[1208],[1062,11403,11405],{"className":11404},[1181],[1062,11406,11408,11411],{"className":11407},[1181],[1062,11409,1136],{"className":11410},[1181],[1062,11412,11414],{"className":11413},[1188],[1062,11415,11417],{"className":11416},[1192],[1062,11418,11420],{"className":11419},[1196],[1062,11421,11423],{"className":11422,"style":10635},[1200],[1062,11424,11425,11428],{"style":10638},[1062,11426],{"className":11427,"style":1209},[1208],[1062,11429,11431],{"className":11430},[1213,1214,1215,1216],[1062,11432,3735],{"className":11433},[1181,1216],[1062,11435,11436,11439],{"style":6913},[1062,11437],{"className":11438,"style":6894},[1208],[1062,11440],{"className":11441,"style":6921},[6920],[1062,11443,11444,11447],{"style":10658},[1062,11445],{"className":11446,"style":6894},[1208],[1062,11448,11450],{"className":11449},[1181],[1062,11451,11453,11456],{"className":11452},[1181],[1062,11454,1136],{"className":11455},[1181],[1062,11457,11459],{"className":11458},[1188],[1062,11460,11462],{"className":11461},[1192],[1062,11463,11465],{"className":11464},[1196],[1062,11466,11468],{"className":11467,"style":7291},[1200],[1062,11469,11470,11473],{"style":1204},[1062,11471],{"className":11472,"style":1209},[1208],[1062,11474,11476],{"className":11475},[1213,1214,1215,1216],[1062,11477,11479],{"className":11478},[1181,1216],[1062,11480,10541],{"className":11481},[1181,1216],[1062,11483,2995],{"className":11484},[2994],[1062,11486,11488],{"className":11487},[1196],[1062,11489,11491],{"className":11490,"style":10706},[1200],[1062,11492],{},[1062,11494],{"className":11495},[2302,6874],[1062,11497],{"className":11498,"style":1742},[1232],[1062,11500,1711],{"className":11501},[1746],[1062,11503],{"className":11504,"style":1742},[1232],[1062,11506,11508,11511,11543,11546,11549],{"className":11507},[1172],[1062,11509],{"className":11510,"style":10348},[1176],[1062,11512,11514,11517],{"className":11513},[1181],[1062,11515,1136],{"className":11516},[1181],[1062,11518,11520],{"className":11519},[1188],[1062,11521,11523],{"className":11522},[1192],[1062,11524,11526],{"className":11525},[1196],[1062,11527,11529],{"className":11528,"style":10348},[1200],[1062,11530,11531,11534],{"style":10369},[1062,11532],{"className":11533,"style":1209},[1208],[1062,11535,11537],{"className":11536},[1213,1214,1215,1216],[1062,11538,11540],{"className":11539},[1181,1216],[1062,11541,11333],{"className":11542},[1181,1216],[1062,11544],{"className":11545,"style":1742},[1232],[1062,11547,1711],{"className":11548},[1746],[1062,11550],{"className":11551,"style":1742},[1232],[1062,11553,11555,11558,11561],{"className":11554},[1172],[1062,11556],{"className":11557,"style":1726},[1176],[1062,11559,1136],{"className":11560},[1181],[1062,11562,10548],{"className":11563,"style":1730},[1181,1220],[986,11565,11566],{},"因此：",[1062,11568,11570],{"className":11569},[7840],[1062,11571,11573,11591],{"className":11572},[1115],[1062,11574,11576],{"className":11575},[1119],[1121,11577,11578],{"xmlns":1123,"display":3391},[1125,11579,11580,11588],{},[1128,11581,11582,11584,11586],{},[1142,11583,10814],{},[1146,11585,1711],{},[1134,11587,11333],{},[1160,11589,11590],{"encoding":1162},"\\text{index bits}=11",[1062,11592,11594,11615],{"className":11593,"ariaHidden":1168},[1167],[1062,11595,11597,11600,11606,11609,11612],{"className":11596},[1172],[1062,11598],{"className":11599,"style":2246},[1176],[1062,11601,11603],{"className":11602},[1181,1225],[1062,11604,10814],{"className":11605},[1181],[1062,11607],{"className":11608,"style":1742},[1232],[1062,11610,1711],{"className":11611},[1746],[1062,11613],{"className":11614,"style":1742},[1232],[1062,11616,11618,11621],{"className":11617},[1172],[1062,11619],{"className":11620,"style":1756},[1176],[1062,11622,11333],{"className":11623},[1181],[1062,11625,11627],{"className":11626},[7840],[1062,11628,11630,11648],{"className":11629},[1115],[1062,11631,11633],{"className":11632},[1119],[1121,11634,11635],{"xmlns":1123,"display":3391},[1125,11636,11637,11645],{},[1128,11638,11639,11641,11643],{},[1142,11640,10872],{},[1146,11642,1711],{},[1134,11644,2225],{},[1160,11646,11647],{"encoding":1162},"\\text{offset bits}=6",[1062,11649,11651,11672],{"className":11650,"ariaHidden":1168},[1167],[1062,11652,11654,11657,11663,11666,11669],{"className":11653},[1172],[1062,11655],{"className":11656,"style":2246},[1176],[1062,11658,11660],{"className":11659},[1181,1225],[1062,11661,10872],{"className":11662},[1181],[1062,11664],{"className":11665,"style":1742},[1232],[1062,11667,1711],{"className":11668},[1746],[1062,11670],{"className":11671,"style":1742},[1232],[1062,11673,11675,11678],{"className":11674},[1172],[1062,11676],{"className":11677,"style":1756},[1176],[1062,11679,2225],{"className":11680},[1181],[1062,11682,11684],{"className":11683},[7840],[1062,11685,11687,11718],{"className":11686},[1115],[1062,11688,11690],{"className":11689},[1119],[1121,11691,11692],{"xmlns":1123,"display":3391},[1125,11693,11694,11715],{},[1128,11695,11696,11698,11700,11702,11704,11706,11708,11710,11712],{},[1142,11697,6559],{},[1146,11699,1711],{},[1134,11701,11013],{},[1146,11703,6566],{},[1134,11705,11333],{},[1146,11707,6566],{},[1134,11709,2225],{},[1146,11711,1711],{},[1134,11713,11714],{},"35",[1160,11716,11717],{"encoding":1162},"\\text{tag bits}=52-11-6=35",[1062,11719,11721,11742,11760,11778,11796],{"className":11720,"ariaHidden":1168},[1167],[1062,11722,11724,11727,11733,11736,11739],{"className":11723},[1172],[1062,11725],{"className":11726,"style":4550},[1176],[1062,11728,11730],{"className":11729},[1181,1225],[1062,11731,6559],{"className":11732},[1181],[1062,11734],{"className":11735,"style":1742},[1232],[1062,11737,1711],{"className":11738},[1746],[1062,11740],{"className":11741,"style":1742},[1232],[1062,11743,11745,11748,11751,11754,11757],{"className":11744},[1172],[1062,11746],{"className":11747,"style":1662},[1176],[1062,11749,11013],{"className":11750},[1181],[1062,11752],{"className":11753,"style":1233},[1232],[1062,11755,6566],{"className":11756},[1237],[1062,11758],{"className":11759,"style":1233},[1232],[1062,11761,11763,11766,11769,11772,11775],{"className":11762},[1172],[1062,11764],{"className":11765,"style":1662},[1176],[1062,11767,11333],{"className":11768},[1181],[1062,11770],{"className":11771,"style":1233},[1232],[1062,11773,6566],{"className":11774},[1237],[1062,11776],{"className":11777,"style":1233},[1232],[1062,11779,11781,11784,11787,11790,11793],{"className":11780},[1172],[1062,11782],{"className":11783,"style":1756},[1176],[1062,11785,2225],{"className":11786},[1181],[1062,11788],{"className":11789,"style":1742},[1232],[1062,11791,1711],{"className":11792},[1746],[1062,11794],{"className":11795,"style":1742},[1232],[1062,11797,11799,11802],{"className":11798},[1172],[1062,11800],{"className":11801,"style":1756},[1176],[1062,11803,11714],{"className":11804},[1181],[986,11806,11119],{},[1896,11808,11811],{"className":11809,"code":11810,"language":1225},[1899],"tag size = 35 bits\n",[1902,11812,11810],{"__ignoreMap":1904},[7727,11814],{},[1094,11816,11818],{"id":11817},"fully-associative-1","Fully associative",[986,11820,11821],{},"fully associative 只有 1 个 set，所以没有 index：",[1062,11823,11825],{"className":11824},[7840],[1062,11826,11828,11846],{"className":11827},[1115],[1062,11829,11831],{"className":11830},[1119],[1121,11832,11833],{"xmlns":1123,"display":3391},[1125,11834,11835,11843],{},[1128,11836,11837,11839,11841],{},[1142,11838,10814],{},[1146,11840,1711],{},[1134,11842,5209],{},[1160,11844,11845],{"encoding":1162},"\\text{index bits}=0",[1062,11847,11849,11870],{"className":11848,"ariaHidden":1168},[1167],[1062,11850,11852,11855,11861,11864,11867],{"className":11851},[1172],[1062,11853],{"className":11854,"style":2246},[1176],[1062,11856,11858],{"className":11857},[1181,1225],[1062,11859,10814],{"className":11860},[1181],[1062,11862],{"className":11863,"style":1742},[1232],[1062,11865,1711],{"className":11866},[1746],[1062,11868],{"className":11869,"style":1742},[1232],[1062,11871,11873,11876],{"className":11872},[1172],[1062,11874],{"className":11875,"style":1756},[1176],[1062,11877,5209],{"className":11878},[1181],[1062,11880,11882],{"className":11881},[7840],[1062,11883,11885,11902],{"className":11884},[1115],[1062,11886,11888],{"className":11887},[1119],[1121,11889,11890],{"xmlns":1123,"display":3391},[1125,11891,11892,11900],{},[1128,11893,11894,11896,11898],{},[1142,11895,10872],{},[1146,11897,1711],{},[1134,11899,2225],{},[1160,11901,11647],{"encoding":1162},[1062,11903,11905,11926],{"className":11904,"ariaHidden":1168},[1167],[1062,11906,11908,11911,11917,11920,11923],{"className":11907},[1172],[1062,11909],{"className":11910,"style":2246},[1176],[1062,11912,11914],{"className":11913},[1181,1225],[1062,11915,10872],{"className":11916},[1181],[1062,11918],{"className":11919,"style":1742},[1232],[1062,11921,1711],{"className":11922},[1746],[1062,11924],{"className":11925,"style":1742},[1232],[1062,11927,11929,11932],{"className":11928},[1172],[1062,11930],{"className":11931,"style":1756},[1176],[1062,11933,2225],{"className":11934},[1181],[1062,11936,11938],{"className":11937},[7840],[1062,11939,11941,11972],{"className":11940},[1115],[1062,11942,11944],{"className":11943},[1119],[1121,11945,11946],{"xmlns":1123,"display":3391},[1125,11947,11948,11969],{},[1128,11949,11950,11952,11954,11956,11958,11960,11962,11964,11966],{},[1142,11951,6559],{},[1146,11953,1711],{},[1134,11955,11013],{},[1146,11957,6566],{},[1134,11959,5209],{},[1146,11961,6566],{},[1134,11963,2225],{},[1146,11965,1711],{},[1134,11967,11968],{},"46",[1160,11970,11971],{"encoding":1162},"\\text{tag bits}=52-0-6=46",[1062,11973,11975,11996,12014,12032,12050],{"className":11974,"ariaHidden":1168},[1167],[1062,11976,11978,11981,11987,11990,11993],{"className":11977},[1172],[1062,11979],{"className":11980,"style":4550},[1176],[1062,11982,11984],{"className":11983},[1181,1225],[1062,11985,6559],{"className":11986},[1181],[1062,11988],{"className":11989,"style":1742},[1232],[1062,11991,1711],{"className":11992},[1746],[1062,11994],{"className":11995,"style":1742},[1232],[1062,11997,11999,12002,12005,12008,12011],{"className":11998},[1172],[1062,12000],{"className":12001,"style":1662},[1176],[1062,12003,11013],{"className":12004},[1181],[1062,12006],{"className":12007,"style":1233},[1232],[1062,12009,6566],{"className":12010},[1237],[1062,12012],{"className":12013,"style":1233},[1232],[1062,12015,12017,12020,12023,12026,12029],{"className":12016},[1172],[1062,12018],{"className":12019,"style":1662},[1176],[1062,12021,5209],{"className":12022},[1181],[1062,12024],{"className":12025,"style":1233},[1232],[1062,12027,6566],{"className":12028},[1237],[1062,12030],{"className":12031,"style":1233},[1232],[1062,12033,12035,12038,12041,12044,12047],{"className":12034},[1172],[1062,12036],{"className":12037,"style":1756},[1176],[1062,12039,2225],{"className":12040},[1181],[1062,12042],{"className":12043,"style":1742},[1232],[1062,12045,1711],{"className":12046},[1746],[1062,12048],{"className":12049,"style":1742},[1232],[1062,12051,12053,12056],{"className":12052},[1172],[1062,12054],{"className":12055,"style":1756},[1176],[1062,12057,11968],{"className":12058},[1181],[986,12060,11119],{},[1896,12062,12065],{"className":12063,"code":12064,"language":1225},[1899],"tag size = 46 bits\n",[1902,12066,12064],{"__ignoreMap":1904},[7727,12068],{},[1015,12070,12072],{"id":12071},"block-size-and-spatial-locality块大小和空间局部性","Block Size and Spatial Locality｜块大小和空间局部性",[986,12074,12075],{},[992,12076],{"alt":992,"src":12077},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-70.png",[986,12079,12080,12081,12084],{},"这一页开始进入另一个参数：",[982,12082,12083],{},"block size","。一个 block 里面到底放多少数据？",[986,12086,12087,12088,12091],{},"图里一个 block 包含：",[1902,12089,12090],{"code":12090},"Word0 | Word1 | Word2 | Word3",",  也就是一个 cache line 里有多个 word，一整块共用一个 tag。",[986,12093,12094,12095],{},"所以 cache line 可以看成：",[1902,12096,12097],{"code":12097},"Tag | Word0 | Word1 | Word2 | Word3",[986,12099,12100],{},"地址会被分成：",[1896,12102,12105],{"className":12103,"code":12104,"language":1225},[1899],"block address | offset\n",[1902,12106,12104],{"__ignoreMap":1904},[986,12108,8462,12109,5252],{},[1902,12110,12111],{"code":12111},"block address 就是 Tag 与 Index拼接而成",[986,12113,12114,12115,12175,12176,12204],{},"如果 block size 是 ",[1062,12116,12118,12136],{"className":12117},[1115],[1062,12119,12121],{"className":12120},[1119],[1121,12122,12123],{"xmlns":1123},[1125,12124,12125,12133],{},[1128,12126,12127],{},[1131,12128,12129,12131],{},[1134,12130,1136],{},[1138,12132,2469],{},[1160,12134,12135],{"encoding":1162},"2^b",[1062,12137,12139],{"className":12138,"ariaHidden":1168},[1167],[1062,12140,12142,12146],{"className":12141},[1172],[1062,12143],{"className":12144,"style":12145},[1176],"height:0.8491em;",[1062,12147,12149,12152],{"className":12148},[1181],[1062,12150,1136],{"className":12151},[1181],[1062,12153,12155],{"className":12154},[1188],[1062,12156,12158],{"className":12157},[1192],[1062,12159,12161],{"className":12160},[1196],[1062,12162,12164],{"className":12163,"style":12145},[1200],[1062,12165,12166,12169],{"style":1204},[1062,12167],{"className":12168,"style":1209},[1208],[1062,12170,12172],{"className":12171},[1213,1214,1215,1216],[1062,12173,2469],{"className":12174},[1181,1220,1216]," Byte，那么 offset 需要 ",[1062,12177,12179,12192],{"className":12178},[1115],[1062,12180,12182],{"className":12181},[1119],[1121,12183,12184],{"xmlns":1123},[1125,12185,12186,12190],{},[1128,12187,12188],{},[1138,12189,2469],{},[1160,12191,2469],{"encoding":1162},[1062,12193,12195],{"className":12194,"ariaHidden":1168},[1167],[1062,12196,12198,12201],{"className":12197},[1172],[1062,12199],{"className":12200,"style":2246},[1176],[1062,12202,2469],{"className":12203},[1181,1220]," 位。",[986,12206,12207,12208],{},"如果是 4-word block，并且 1 word = 4 Byte，那么总 block size 是：",[1062,12209,12211,12235],{"className":12210},[1115],[1062,12212,12214],{"className":12213},[1119],[1121,12215,12216],{"xmlns":1123},[1125,12217,12218,12232],{},[1128,12219,12220,12222,12224,12226,12228,12230],{},[1134,12221,3735],{},[1146,12223,1148],{},[1134,12225,3735],{},[1146,12227,1711],{},[1134,12229,2233],{},[1138,12231,5567],{},[1160,12233,12234],{"encoding":1162},"4\\times 4=16B",[1062,12236,12238,12256,12274],{"className":12237,"ariaHidden":1168},[1167],[1062,12239,12241,12244,12247,12250,12253],{"className":12240},[1172],[1062,12242],{"className":12243,"style":1662},[1176],[1062,12245,3735],{"className":12246},[1181],[1062,12248],{"className":12249,"style":1233},[1232],[1062,12251,1148],{"className":12252},[1237],[1062,12254],{"className":12255,"style":1233},[1232],[1062,12257,12259,12262,12265,12268,12271],{"className":12258},[1172],[1062,12260],{"className":12261,"style":1756},[1176],[1062,12263,3735],{"className":12264},[1181],[1062,12266],{"className":12267,"style":1742},[1232],[1062,12269,1711],{"className":12270},[1746],[1062,12272],{"className":12273,"style":1742},[1232],[1062,12275,12277,12280,12283],{"className":12276},[1172],[1062,12278],{"className":12279,"style":1726},[1176],[1062,12281,2233],{"className":12282},[1181],[1062,12284,5567],{"className":12285,"style":5632},[1181,1220],[986,12287,12288,12289],{},"如果按 byte address 完整拆分，offset 应该是：",[1062,12290,12292,12319],{"className":12291},[1115],[1062,12293,12295],{"className":12294},[1119],[1121,12296,12297],{"xmlns":1123},[1125,12298,12299,12317],{},[1128,12300,12301,12311,12313,12315],{},[2913,12302,12303,12309],{},[1128,12304,12305,12307],{},[1138,12306,6293],{},[1146,12308,6296],{},[1134,12310,1136],{},[1134,12312,2233],{},[1146,12314,1711],{},[1134,12316,3735],{},[1160,12318,7957],{"encoding":1162},[1062,12320,12322,12385],{"className":12321,"ariaHidden":1168},[1167],[1062,12323,12325,12328,12370,12373,12376,12379,12382],{"className":12324},[1172],[1062,12326],{"className":12327,"style":6339},[1176],[1062,12329,12331,12336],{"className":12330},[6343],[1062,12332,6347,12334],{"className":12333},[6343],[1062,12335,2216],{"style":6350},[1062,12337,12339],{"className":12338},[1188],[1062,12340,12342,12362],{"className":12341},[1192,2965],[1062,12343,12345,12359],{"className":12344},[1196],[1062,12346,12348],{"className":12347,"style":6363},[1200],[1062,12349,12350,12353],{"style":6366},[1062,12351],{"className":12352,"style":1209},[1208],[1062,12354,12356],{"className":12355},[1213,1214,1215,1216],[1062,12357,1136],{"className":12358},[1181,1216],[1062,12360,2995],{"className":12361},[2994],[1062,12363,12365],{"className":12364},[1196],[1062,12366,12368],{"className":12367,"style":6385},[1200],[1062,12369],{},[1062,12371],{"className":12372,"style":4831},[1232],[1062,12374,2233],{"className":12375},[1181],[1062,12377],{"className":12378,"style":1742},[1232],[1062,12380,1711],{"className":12381},[1746],[1062,12383],{"className":12384,"style":1742},[1232],[1062,12386,12388,12391],{"className":12387},[1172],[1062,12389],{"className":12390,"style":1756},[1176],[1062,12392,3735],{"className":12393},[1181],[986,12395,12396],{},"这 4 位可以进一步拆成：",[1896,12398,12401],{"className":12399,"code":12400,"language":1225},[1899],"word offset：2 bits，用来选 Word0~Word3\nbyte offset：2 bits，用来选 word 内的 byte\n",[1902,12402,12400],{"__ignoreMap":1904},[986,12404,12405,4342,12408,12413,4342,12416,12421],{},[1418,12406,12407],{},"PPT 图里写",[1418,12409,12410],{},[1902,12411,12412],{"code":12412},"4 字块, b=2",[1418,12414,12415],{},"，更像是在强调",[1418,12417,12418],{},[982,12419,12420],{},"4 个 word 需要 2 位 word offset",[1418,12422,12423],{},"。如果严格按 byte address，还要再加 2 位 byte offset。",[1094,12425,12427],{"id":12426},"为什么要增大-block-size","为什么要增大 block size？",[986,12429,12430,12431,2751],{},"因为利用 ",[982,12432,12433],{},"spatial locality 空间局部性",[1344,12435,12436,12439],{},[1347,12437,12438],{},"如果一个 block 只装 1 个 word，那么可能每次都要单独取。",[1347,12440,12441,12442,12445,12446,12449,12450,12453],{},"如果一个 block 装 4 个 word，那么访问 ",[1902,12443,12444],{"code":12444},"A[0]"," miss 后，会把：",[1902,12447,12448],{"code":12448},"A[0], A[1], A[2], A[3]","一起取进 cache。后面访问 ",[1902,12451,12452],{"code":12452},"A[1]~A[3]"," 就可能 hit。",[986,12455,12456],{},[982,12457,12458],{},"所以大 block 的好处是：",[1377,12460,12461,12464,12467],{},[1347,12462,12463],{},"减少 tag 开销",[1347,12465,12466],{},"利用 DRAM 快速突发传输（fast burst transfer）",[1347,12468,12469],{},"利用宽总线快速突发传输（fast burst transfer）",[1094,12471,12473],{"id":12472},"增大-block-size-的缺点是什么","增大 block size 的缺点是什么？",[986,12475,12476],{},"总 cache 容量固定时，block 变大意味着 block 数变少。",[986,12478,12479],{},"例如总容量固定为 64B：",[1896,12481,12484],{"className":12482,"code":12483,"language":1225},[1899],"block size = 4B   -> 16 个 block\nblock size = 16B  -> 4 个 block\n",[1902,12485,12483],{"__ignoreMap":1904},[986,12487,12488],{},"block 数少了，就更容易发生：capacity miss  和  conflict miss",[986,12490,12491],{},"而且如果程序没有空间局部性，大 block 会浪费带宽。",[986,12493,12494,12495,12498],{},"比如你只访问：",[1902,12496,12497],{"code":12497},"A[0]、A[1000]、A[2000]",",   每次都把附近一整块取进来，但后面又不用，这就浪费。",[1094,12500,5921],{"id":12501},"总结-1",[986,12503,12504],{},[1418,12505,12506],{},[982,12507,12508],{},"block size 变大可以利用空间局部性，但过大时会减少 cache 中可容纳的 block 数，增加冲突，并浪费带宽。",[1015,12510,12512],{"id":12511},"习题3p91页","习题3——P91页",[986,12514,12515],{},[992,12516],{"alt":992,"src":12517},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-71.png",[1377,12519,12520,12523],{},[1347,12521,12522],{},"64x4=256 Bytes",[1347,12524,12525],{},"Set = 64\u002F(2way) = 32； each of  2  blocks；2 places;",[1849,12527,12528],{},[986,12529,12530],{},[982,12531,12532],{},"这个 cache 总共有 64 个 cache block。现在把它组织成 2-way set associative，所以它被分成 32 个 set，每个 set 里面有 2 个 cache block。",[1377,12534,12535,12538],{"start":3842},[1347,12536,12537],{},"Set = 64\u002F(4way) = 16； each of  4 blocks；4 places;",[1347,12539,12540],{},"Set = 64\u002F(8way) = 8； each of  8  blocks；8 places;",[986,12542,12543],{},"这几页的主线是：",[986,12545,12546,12549],{},[982,12547,12548],{},"组相联 cache 可以减少 conflict miss，但代价是硬件更复杂；一旦发生 miss，还要决定替换哪一路；最后再引出 cache miss 的 3C 分类。"," 这几页对应课件第 92–99 页。",[7727,12551],{},[1015,12553,12555],{"id":12554},"costs-of-set-associative-caches-组关联缓存的开销","Costs of Set-Associative Caches ｜ 组关联缓存的开销",[986,12557,12558,12559],{},"这一页在讲：",[982,12560,12561],{},"set-associative cache 虽然能降低冲突，但不是免费的",[986,12563,12564],{},[992,12565],{"alt":992,"src":12566},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-72.png",[1094,12568,12570],{"id":12569},"n-way-set-associative-cache-成本问题","N-way set associative cache 成本问题",[986,12572,12573],{},"Direct-mapped cache 里，一个地址只能去一个 cache line，所以硬件只需要比较一个 tag。",[986,12575,12576,12577,12605,12606,12634],{},"但是 N-way set associative cache 中，一个地址先通过 index 找到某个 set，然后这个 set 里面有 ",[1062,12578,12580,12593],{"className":12579},[1115],[1062,12581,12583],{"className":12582},[1119],[1121,12584,12585],{"xmlns":1123},[1125,12586,12587,12591],{},[1128,12588,12589],{},[1138,12590,1140],{},[1160,12592,1140],{"encoding":1162},[1062,12594,12596],{"className":12595,"ariaHidden":1168},[1167],[1062,12597,12599,12602],{"className":12598},[1172],[1062,12600],{"className":12601,"style":1726},[1176],[1062,12603,1140],{"className":12604,"style":1221},[1181,1220]," 个 way 都可能存放目标 block，所以必须同时比较 ",[1062,12607,12609,12622],{"className":12608},[1115],[1062,12610,12612],{"className":12611},[1119],[1121,12613,12614],{"xmlns":1123},[1125,12615,12616,12620],{},[1128,12617,12618],{},[1138,12619,1140],{},[1160,12621,1140],{"encoding":1162},[1062,12623,12625],{"className":12624,"ariaHidden":1168},[1167],[1062,12626,12628,12631],{"className":12627},[1172],[1062,12629],{"className":12630,"style":1726},[1176],[1062,12632,1140],{"className":12633,"style":1221},[1181,1220]," 个 tag。",[986,12636,12637],{},"因此有几个开销：",[1377,12639,12640,12681,12691],{},[1347,12641,12642,4342,12645,4342,12673,12676],{},[982,12643,12644],{},"需要",[1062,12646,12648,12661],{"className":12647},[1115],[1062,12649,12651],{"className":12650},[1119],[1121,12652,12653],{"xmlns":1123},[1125,12654,12655,12659],{},[1128,12656,12657],{},[1138,12658,1140],{},[1160,12660,1140],{"encoding":1162},[1062,12662,12664],{"className":12663,"ariaHidden":1168},[1167],[1062,12665,12667,12670],{"className":12666},[1172],[1062,12668],{"className":12669,"style":1726},[1176],[1062,12671,1140],{"className":12672,"style":1221},[1181,1220],[982,12674,12675],{},"个比较器",[1377,12677,12678],{},[1347,12679,12680],{},"每个 way 的 tag 都要和 CPU 地址的 tag 比较，所以硬件面积、功耗、延迟都会增加。",[1347,12682,12683,12686],{},[982,12684,12685],{},"需要 MUX 选择正确的 way",[1377,12687,12688],{},[1347,12689,12690],{},"即使 tag 比较出了哪个 way 命中，还要用多路选择器从多个 data block 中选出正确数据。这个 MUX 也会增加 hit time。",[1347,12692,12693,12696],{},[982,12694,12695],{},"不能像 direct-mapped 那样简单地“先拿数据”",[1377,12697,12698,12701],{},[1347,12699,12700],{},"Direct-mapped 中，index 唯一确定一行，所以可以先读出这一行的数据，同时比较 tag。",[1347,12702,12703],{},"Set-associative 中，一个 set 里有多个候选 block，必须判断哪个 way hit，然后才能确定返回哪个 data。",[986,12705,12706],{},[1418,12707,12708],{},[982,12709,12710],{},"组相联 cache 降低了 miss rate，尤其是 conflict miss，但会增加 hit time 和硬件成本。",[1094,12712,12714],{"id":12713},"miss-时-least-recently-used方法的使用","Miss 时 Least Recently Used方法的使用",[986,12716,12717,12718,12721,12722,12725],{},"LRU，即 Least Recently Used，表示在",[982,12719,12720],{},"发生 miss 且目标 set 已满时","，替换该 set 中",[982,12723,12724],{},"最久没有被访问的 block","。它利用 temporal locality（时间局限性）：最近访问过的数据短期内更可能再次被访问。",[986,12727,12728,12729,12732],{},"对于 2-way set associative cache，每个 set 只有两个 way，因此",[1418,12730,12731],{},"只需要 1 个 LRU bit"," 就能记录使用历史。",[986,12734,12735],{},"一种常见实现是让 LRU bit 记录最近使用的 way：",[986,12737,12738],{},[992,12739],{"alt":992,"src":12740},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-73.png",[1344,12742,12743,12827],{},[1347,12744,12745,12826],{},[1062,12746,12748,12779],{"className":12747},[1115],[1062,12749,12751],{"className":12750},[1119],[1121,12752,12753],{"xmlns":1123},[1125,12754,12755,12776],{},[1128,12756,12757,12759,12761,12763,12766,12768,12770,12772,12774],{},[1138,12758,3894],{},[1138,12760,2211],{},[1138,12762,3897],{},[1138,12764,12765],{"mathvariant":2926},"_",[1138,12767,2469],{},[1138,12769,2356],{},[1138,12771,2359],{},[1146,12773,1711],{},[1134,12775,5209],{},[1160,12777,12778],{"encoding":1162},"LRU\\_bit = 0",[1062,12780,12782,12817],{"className":12781,"ariaHidden":1168},[1167],[1062,12783,12785,12789,12792,12795,12798,12801,12805,12808,12811,12814],{"className":12784},[1172],[1062,12786],{"className":12787,"style":12788},[1176],"height:1.0044em;vertical-align:-0.31em;",[1062,12790,3894],{"className":12791},[1181,1220],[1062,12793,2211],{"className":12794,"style":2281},[1181,1220],[1062,12796,3897],{"className":12797,"style":1221},[1181,1220],[1062,12799,12765],{"className":12800,"style":2257},[1181],[1062,12802,12804],{"className":12803},[1181,1220],"bi",[1062,12806,2359],{"className":12807},[1181,1220],[1062,12809],{"className":12810,"style":1742},[1232],[1062,12812,1711],{"className":12813},[1746],[1062,12815],{"className":12816,"style":1742},[1232],[1062,12818,12820,12823],{"className":12819},[1172],[1062,12821],{"className":12822,"style":1756},[1176],[1062,12824,5209],{"className":12825},[1181],"：way 0 里面的Block 最近被使用，miss 时替换 way 1 这个block，把way 1踢掉；",[1347,12828,12829,12907],{},[1062,12830,12832,12862],{"className":12831},[1115],[1062,12833,12835],{"className":12834},[1119],[1121,12836,12837],{"xmlns":1123},[1125,12838,12839,12859],{},[1128,12840,12841,12843,12845,12847,12849,12851,12853,12855,12857],{},[1138,12842,3894],{},[1138,12844,2211],{},[1138,12846,3897],{},[1138,12848,12765],{"mathvariant":2926},[1138,12850,2469],{},[1138,12852,2356],{},[1138,12854,2359],{},[1146,12856,1711],{},[1134,12858,1644],{},[1160,12860,12861],{"encoding":1162},"LRU\\_bit = 1",[1062,12863,12865,12898],{"className":12864,"ariaHidden":1168},[1167],[1062,12866,12868,12871,12874,12877,12880,12883,12886,12889,12892,12895],{"className":12867},[1172],[1062,12869],{"className":12870,"style":12788},[1176],[1062,12872,3894],{"className":12873},[1181,1220],[1062,12875,2211],{"className":12876,"style":2281},[1181,1220],[1062,12878,3897],{"className":12879,"style":1221},[1181,1220],[1062,12881,12765],{"className":12882,"style":2257},[1181],[1062,12884,12804],{"className":12885},[1181,1220],[1062,12887,2359],{"className":12888},[1181,1220],[1062,12890],{"className":12891,"style":1742},[1232],[1062,12893,1711],{"className":12894},[1746],[1062,12896],{"className":12897,"style":1742},[1232],[1062,12899,12901,12904],{"className":12900},[1172],[1062,12902],{"className":12903,"style":1756},[1176],[1062,12905,1644],{"className":12906},[1181],"：way 1 里面的Block 最近被使用，miss 时替换 way 0这个block，把way 0踢掉。",[986,12909,12910],{},"每次访问某个 way 后，都更新该 set 的 LRU bit，使刚访问过的 way 不会成为下一次优先替换对象。",[7727,12912],{},[1015,12914,12916],{"id":12915},"cache-replacement-policies-缓存替换策略","Cache Replacement Policies ｜ 缓存替换策略",[1849,12918,12919],{},[986,12920,12921],{},[982,12922,12923],{},"当一个 set 满了，又来了一个新的 block，需要踢掉谁？",[986,12925,12926],{},[992,12927],{"alt":992,"src":12928},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-74.png",[1849,12930,12931],{},[986,12932,12933,12934,12937],{},"注意：",[982,12935,12936],{},"替换只发生在 miss 的时候。","如果是 hit，只需要更新访问状态，不会替换 block。",[986,12939,12940],{},"常见替换策略有：",[1094,12942,12944],{"id":12943},"random","Random",[986,12946,12947],{},"随机选一个 cache block 替换。",[986,12949,12950],{},"优点是硬件最简单，不用记录复杂历史。",[986,12952,12953],{},"缺点是不一定聪明，可能刚用过的 block 也被踢掉。",[1094,12955,12957],{"id":12956},"fifo-round-robin","FIFO \u002F Round-Robin",[986,12959,12960],{},"FIFO 是 First-In First-Out，也就是先进先出。",[986,12962,12963],{},"谁最早进入 cache，就先被替换。",[986,12965,12966],{},"它不关心这个 block 最近有没有被访问过。",[986,12968,12969],{},"所以可能出现一个 block 虽然刚刚被用过，但因为它最早进入 cache，还是被替换掉。",[986,12971,12972],{},"Round-Robin 可以理解成硬件用一个指针轮流指向下一个 victim。",[1094,12974,12976],{"id":12975},"nmru","NMRU",[986,12978,12979],{},"NMRU 是 Not Most Recently Used。",[986,12981,12982,12983],{},"意思是：",[982,12984,12985],{},"不要替换最近刚用过的那个，其他都可以考虑。",[986,12987,12988],{},"它比 LRU 简单，因为它不需要完整记录谁第一老、谁第二老、谁第三老，只需要避免替换 MRU，也就是最近使用过的 block。",[986,12990,12991],{},[992,12992],{"alt":992,"src":12993},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-75.png",[1094,12995,12997],{"id":12996},"lru-与伪-lru","LRU 与伪 LRU",[986,12999,13000],{},"LRU 是 Least Recently Used，意思是：替换最久没有被访问的那个 block。",[986,13002,13003,13004,13007],{},"利用 ",[982,13005,13006],{},"temporal locality","：如果一个数据最近被访问过，它很可能很快还会被访问；反过来，最久没被访问的数据，将来短期内再次访问的概率较低。",[986,13009,13010,13011,13014],{},"所以 LRU 通常比 Random \u002F FIFO 更符合程序访问规律。",[1418,13012,13013],{},"但是问题是：真正精确的 LRU 在高相联度 cache 中硬件代价很高。","比如 2-way set associative cache，LRU 很简单：每个 set 只要 1 bit 就够了——前面P92页PPT有讲过，略。",[986,13016,13017,13020],{},[1418,13018,13019],{},"但是如果是 4-way、8-way、16-way，要精确维护完整访问顺序就复杂很多。","比如 8-way，你要知道 8 个 way 从最近到最久的完整排序，每次 hit 都要更新排序。",[986,13022,13023,13024,13029,13032],{},"所以实际硬件中常用 ",[1418,13025,13026],{},[982,13027,13028],{},"Pseudo-LRU",[1418,13030,13031],{},"，也就是伪 LRU","。它不保证完全等价于真正 LRU，但硬件简单很多，效果也通常够好。这页的 replacement pointer 例子，可以理解成一种很简单的近似策略：",[1344,13034,13035,13038,13041,13044],{},[1347,13036,13037],{},"硬件维护一个替换指针；",[1347,13039,13040],{},"miss 时替换指针指向的 entry；",[1347,13042,13043],{},"如果某次访问正好访问了指针指向的 entry，说明它刚被用过，不适合替换，于是指针移动到下一个；",[1347,13045,13046],{},"如果访问的不是指针指向的 entry，指针不动。",[986,13048,13049],{},"这就是一种“不要替换最近用过的东西”的近似思想。",[1372,13051,7217],{"id":13052},"举例-2",[986,13054,13055,13056],{},"假设一个 set 里有 4 个 way：",[1902,13057,13058],{"code":13058},"way0   way1   way2   way3",[986,13060,13061,13062,13065,13066],{},"现在有一个 replacement pointer：",[1902,13063,13064],{"code":13064},"ptr → way2",",意思是：如果下一次这个 set 发生 miss，就",[982,13067,13068],{},"先替换 way2。",[1377,13070,13071,13081],{},[1347,13072,13073,13074,13076,13077,13080],{},"如果来了一个新 block，并且这个 set 满了，当前：",[1902,13075,13064],{"code":13064},",那么就：移除 way2 原来的 block,把新 block 放到 way2,  新 block 刚刚被访问，所以 way2 不应该继续作为下次替换对象。于是 ptr 移到下一个位置，即",[1902,13078,13079],{"code":13079},"ptr → way3","（固定移动到下一个条目）",[1347,13082,13083,13084,13086,13087],{},"假设当前还是：",[1902,13085,13064],{"code":13064},",\n",[1377,13088,13089,13092],{},[1347,13090,13091],{},"比如这次 hit 了 way0：访问 way0,  ptr 仍然指向 way2",[1347,13093,13094,13095],{},"正好访问了 way2：这时候 way2 刚刚被访问过了，说明它不应该马上被替换。于是 ptr 往后挪：",[1902,13096,13079],{"code":13079},[1849,13098,13099],{},[986,13100,13101],{},[1418,13102,13103],{},[982,13104,13105],{},"replacement pointer 指向“当前最适合被替换的候选 way”。",[1094,13107,13109],{"id":13108},"tree-plru","Tree-PLRU",[986,13111,13112],{},[992,13113],{"alt":992,"src":13114},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-76.png",[986,13116,13117,13118,13121,13122],{},"这一页是 Tree-PLRU，也就是 ",[982,13119,13120],{},"树形伪 LRU","。它主要用于 4-way 或 8-way set associative cache。",[1418,13123,13124],{},"核心思想是：用一棵二叉树的若干 bit，近似记录哪一边更久没被访问。",[986,13126,13127,13130,13131,13130,13136],{},[1418,13128,13129],{},"对于 N-way set associative cache，Tree-PLRU 只需要","  ",[1418,13132,13133],{},[982,13134,13135],{},"n-1",[1418,13137,13138],{},"个 bit。",[986,13140,13141,13142,13215],{},"比如 4-way cache，需要 ",[1062,13143,13145,13167],{"className":13144},[1115],[1062,13146,13148],{"className":13147},[1119],[1121,13149,13150],{"xmlns":1123},[1125,13151,13152,13164],{},[1128,13153,13154,13156,13158,13160,13162],{},[1134,13155,3735],{},[1146,13157,6566],{},[1134,13159,1644],{},[1146,13161,1711],{},[1134,13163,2137],{},[1160,13165,13166],{"encoding":1162},"4-1=3",[1062,13168,13170,13188,13206],{"className":13169,"ariaHidden":1168},[1167],[1062,13171,13173,13176,13179,13182,13185],{"className":13172},[1172],[1062,13174],{"className":13175,"style":1662},[1176],[1062,13177,3735],{"className":13178},[1181],[1062,13180],{"className":13181,"style":1233},[1232],[1062,13183,6566],{"className":13184},[1237],[1062,13186],{"className":13187,"style":1233},[1232],[1062,13189,13191,13194,13197,13200,13203],{"className":13190},[1172],[1062,13192],{"className":13193,"style":1756},[1176],[1062,13195,1644],{"className":13196},[1181],[1062,13198],{"className":13199,"style":1742},[1232],[1062,13201,1711],{"className":13202},[1746],[1062,13204],{"className":13205,"style":1742},[1232],[1062,13207,13209,13212],{"className":13208},[1172],[1062,13210],{"className":13211,"style":1756},[1176],[1062,13213,2137],{"className":13214},[1181]," 个 bit。",[986,13217,13218],{},"这页图里有 4 条 line：",[1344,13220,13221,13224,13227,13230],{},[1347,13222,13223],{},"line_0",[1347,13225,13226],{},"line_1",[1347,13228,13229],{},"line_2",[1347,13231,13232],{},"line_3",[986,13234,13235],{},"用 3 个 bit 来做一棵树：",[1896,13237,13240],{"className":13238,"code":13239,"language":1225},[1899],"          bit_0\n        \u002F       \\\n     bit_1     bit_2\n    \u002F    \\     \u002F    \\\n line0 line1 line2 line3\n",[1902,13241,13239],{"__ignoreMap":1904},[986,13243,13244,13245],{},"这里每个 bit 可以理解成一个“方向指示器”，表示下一次替换时应该往哪边走。",[982,13246,13247],{},"把这三个bit拼成state变量：state=b0b1b2",[1377,13249,13250],{},[1347,13251,13252,13253],{},"读取规则：\n",[1344,13254,13255,13293,13330,13372],{},[1347,13256,13257,13258,13292],{},"如果 state 是 ",[1062,13259,13261,13277],{"className":13260},[1115],[1062,13262,13264],{"className":13263},[1119],[1121,13265,13266],{"xmlns":1123},[1125,13267,13268,13274],{},[1128,13269,13270,13272],{},[1134,13271,5190],{},[1138,13273,2064],{},[1160,13275,13276],{"encoding":1162},"00x",[1062,13278,13280],{"className":13279,"ariaHidden":1168},[1167],[1062,13281,13283,13286,13289],{"className":13282},[1172],[1062,13284],{"className":13285,"style":1756},[1176],[1062,13287,5190],{"className":13288},[1181],[1062,13290,2064],{"className":13291},[1181,1220],"，替换 line_0；",[1347,13294,13257,13295,13329],{},[1062,13296,13298,13314],{"className":13297},[1115],[1062,13299,13301],{"className":13300},[1119],[1121,13302,13303],{"xmlns":1123},[1125,13304,13305,13311],{},[1128,13306,13307,13309],{},[1134,13308,7769],{},[1138,13310,2064],{},[1160,13312,13313],{"encoding":1162},"01x",[1062,13315,13317],{"className":13316,"ariaHidden":1168},[1167],[1062,13318,13320,13323,13326],{"className":13319},[1172],[1062,13321],{"className":13322,"style":1756},[1176],[1062,13324,7769],{"className":13325},[1181],[1062,13327,2064],{"className":13328},[1181,1220],"，替换 line_1；",[1347,13331,13257,13332,13371],{},[1062,13333,13335,13353],{"className":13334},[1115],[1062,13336,13338],{"className":13337},[1119],[1121,13339,13340],{"xmlns":1123},[1125,13341,13342,13350],{},[1128,13343,13344,13346,13348],{},[1134,13345,1644],{},[1138,13347,2064],{},[1134,13349,5209],{},[1160,13351,13352],{"encoding":1162},"1x0",[1062,13354,13356],{"className":13355,"ariaHidden":1168},[1167],[1062,13357,13359,13362,13365,13368],{"className":13358},[1172],[1062,13360],{"className":13361,"style":1756},[1176],[1062,13363,1644],{"className":13364},[1181],[1062,13366,2064],{"className":13367},[1181,1220],[1062,13369,5209],{"className":13370},[1181],"，替换 line_2；",[1347,13373,13257,13374,13413],{},[1062,13375,13377,13395],{"className":13376},[1115],[1062,13378,13380],{"className":13379},[1119],[1121,13381,13382],{"xmlns":1123},[1125,13383,13384,13392],{},[1128,13385,13386,13388,13390],{},[1134,13387,1644],{},[1138,13389,2064],{},[1134,13391,1644],{},[1160,13393,13394],{"encoding":1162},"1x1",[1062,13396,13398],{"className":13397,"ariaHidden":1168},[1167],[1062,13399,13401,13404,13407,13410],{"className":13400},[1172],[1062,13402],{"className":13403,"style":1756},[1176],[1062,13405,1644],{"className":13406},[1181],[1062,13408,2064],{"className":13409},[1181,1220],[1062,13411,1644],{"className":13412},[1181],"，替换 line_3。",[1849,13415,13416,13448,13480,13491],{},[986,13417,13418,13419,13447],{},"这里的 ",[1062,13420,13422,13435],{"className":13421},[1115],[1062,13423,13425],{"className":13424},[1119],[1121,13426,13427],{"xmlns":1123},[1125,13428,13429,13433],{},[1128,13430,13431],{},[1138,13432,2064],{},[1160,13434,2064],{"encoding":1162},[1062,13436,13438],{"className":13437,"ariaHidden":1168},[1167],[1062,13439,13441,13444],{"className":13440},[1172],[1062,13442],{"className":13443,"style":1622},[1176],[1062,13445,2064],{"className":13446},[1181,1220]," 表示 don’t care，也就是这一位不影响当前替换结果。",[986,13449,13450,13451,1847],{},"比如状态是 ",[1062,13452,13454,13468],{"className":13453},[1115],[1062,13455,13457],{"className":13456},[1119],[1121,13458,13459],{"xmlns":1123},[1125,13460,13461,13466],{},[1128,13462,13463],{},[1134,13464,13465],{},"001",[1160,13467,13465],{"encoding":1162},[1062,13469,13471],{"className":13470,"ariaHidden":1168},[1167],[1062,13472,13474,13477],{"className":13473},[1172],[1062,13475],{"className":13476,"style":1756},[1176],[1062,13478,13465],{"className":13479},[1181],[1344,13481,13482,13485,13488],{},[1347,13483,13484],{},"bit_0 = 0，所以往左子树走；",[1347,13486,13487],{},"bit_1 = 0，所以选 line_0；",[1347,13489,13490],{},"bit_2 不看。",[986,13492,13493],{},"所以替换 line_0。",[1377,13495,13496],{"start":2046},[1347,13497,13498,13499],{},"更新规则：\n",[1377,13500,13501,13508,13514],{},[1347,13502,13503],{},[1418,13504,13505],{},[982,13506,13507],{},"访问某条 line 之后，要更新沿途 bit，让它们指向“另一边”。因为刚访问过的这一边不应该马上被替换。",[1347,13509,13510,13511],{},"图右侧的表就是更新规则：\n",[992,13512],{"alt":992,"src":13513},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-77.png",[1347,13515,13516],{},"下划线表示 unchanged，也就是这一位不变。",[986,13518,13519,13520],{},"举个例子：访问 line_0 后，说明左子树刚被用过，所以根节点 bit_0 要指向右边；同时 line_0 刚被用过，所以左子树内部 bit_1 要指向 line_1。于是状态变成 ",[1062,13521,13523,13539],{"className":13522},[1115],[1062,13524,13526],{"className":13525},[1119],[1121,13527,13528],{"xmlns":1123},[1125,13529,13530,13536],{},[1128,13531,13532,13534],{},[1134,13533,11333],{},[1138,13535,12765],{"mathvariant":2926},[1160,13537,13538],{"encoding":1162},"11\\_",[1062,13540,13542],{"className":13541,"ariaHidden":1168},[1167],[1062,13543,13545,13549],{"className":13544},[1172],[1062,13546],{"className":13547,"style":13548},[1176],"height:0.9544em;vertical-align:-0.31em;",[1062,13550,13552],{"className":13551,"style":2257},[1181],"11_",[7727,13554],{},[1015,13556,13558],{"id":13557},"摆放策略-placement-policy","摆放策略 |  Placement Policy",[986,13560,13561],{},[982,13562,13563],{},"一个 memory block 到底可以放在 cache 的哪里。",[986,13565,13566],{},[992,13567],{"alt":992,"src":13568},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-78.png",[986,13570,13571],{},"三种 cache 组织方式答案不同。",[1015,13573,8576],{"id":13574},"fully-associative-2",[986,13576,13577],{},"全相联 cache 中，一个 block 可以放在 cache 的任何地方。",[986,13579,13580],{},"所以 block 12 可以放在任意 cache line。",[986,13582,13583],{},"这最灵活，conflict miss 最少，但需要比较所有 tag，硬件最贵。",[1015,13585,13587],{"id":13586},"_2-way-set-associative","2-way Set Associative",[986,13589,13590],{},"假设 cache 一共有 8 个 line，2-way set associative。",[986,13592,13593],{},"那么：",[1062,13595,13597],{"className":13596},[7840],[1062,13598,13600,13627],{"className":13599},[1115],[1062,13601,13603],{"className":13602},[1119],[1121,13604,13605],{"xmlns":1123,"display":3391},[1125,13606,13607,13624],{},[1128,13608,13609,13612,13614,13620,13622],{},[1142,13610,13611],{},"set 数量",[1146,13613,1711],{},[6824,13615,13616,13618],{},[1134,13617,5670],{},[1134,13619,1136],{},[1146,13621,1711],{},[1134,13623,3735],{},[1160,13625,13626],{"encoding":1162},"\\text{set 数量} = \\frac{8}{2} = 4",[1062,13628,13630,13655,13734],{"className":13629,"ariaHidden":1168},[1167],[1062,13631,13633,13636,13646,13649,13652],{"className":13632},[1172],[1062,13634],{"className":13635,"style":1726},[1176],[1062,13637,13639,13642],{"className":13638},[1181,1225],[1062,13640,6755],{"className":13641},[1181],[1062,13643,13645],{"className":13644},[1181,2422],"数量",[1062,13647],{"className":13648,"style":1742},[1232],[1062,13650,1711],{"className":13651},[1746],[1062,13653],{"className":13654,"style":1742},[1232],[1062,13656,13658,13662,13725,13728,13731],{"className":13657},[1172],[1062,13659],{"className":13660,"style":13661},[1176],"height:2.0074em;vertical-align:-0.686em;",[1062,13663,13665,13668,13722],{"className":13664},[1181],[1062,13666],{"className":13667},[2292,6874],[1062,13669,13671],{"className":13670},[6824],[1062,13672,13674,13714],{"className":13673},[1192,2965],[1062,13675,13677,13711],{"className":13676},[1196],[1062,13678,13681,13692,13700],{"className":13679,"style":13680},[1200],"height:1.3214em;",[1062,13682,13683,13686],{"style":10610},[1062,13684],{"className":13685,"style":6894},[1208],[1062,13687,13689],{"className":13688},[1181],[1062,13690,1136],{"className":13691},[1181],[1062,13693,13694,13697],{"style":6913},[1062,13695],{"className":13696,"style":6894},[1208],[1062,13698],{"className":13699,"style":6921},[6920],[1062,13701,13702,13705],{"style":10658},[1062,13703],{"className":13704,"style":6894},[1208],[1062,13706,13708],{"className":13707},[1181],[1062,13709,5670],{"className":13710},[1181],[1062,13712,2995],{"className":13713},[2994],[1062,13715,13717],{"className":13716},[1196],[1062,13718,13720],{"className":13719,"style":10706},[1200],[1062,13721],{},[1062,13723],{"className":13724},[2302,6874],[1062,13726],{"className":13727,"style":1742},[1232],[1062,13729,1711],{"className":13730},[1746],[1062,13732],{"className":13733,"style":1742},[1232],[1062,13735,13737,13740],{"className":13736},[1172],[1062,13738],{"className":13739,"style":1756},[1176],[1062,13741,3735],{"className":13742},[1181],[986,13744,13745],{},"memory block 12 应该进入哪个 set？",[1062,13747,13749],{"className":13748},[7840],[1062,13750,13752,13788],{"className":13751},[1115],[1062,13753,13755],{"className":13754},[1119],[1121,13756,13757],{"xmlns":1123,"display":3391},[1125,13758,13759,13785],{},[1128,13760,13761,13763,13766,13777,13779,13781,13783],{},[1134,13762,5960],{},[1142,13764,13765],{}," ",[1146,13767,13769],{"lspace":13768,"rspace":13768},"0.22em",[1128,13770,13771,13773,13775],{},[1138,13772,1610],{"mathvariant":2926},[1138,13774,2475],{"mathvariant":2926},[1138,13776,2193],{"mathvariant":2926},[1142,13778,13765],{},[1134,13780,3735],{},[1146,13782,1711],{},[1134,13784,5209],{},[1160,13786,13787],{"encoding":1162},"12 \\bmod 4 = 0",[1062,13789,13791,13824,13842],{"className":13790,"ariaHidden":1168},[1167],[1062,13792,13794,13797,13800,13804,13807,13818,13821],{"className":13793},[1172],[1062,13795],{"className":13796,"style":2246},[1176],[1062,13798,5960],{"className":13799},[1181],[1062,13801],{"className":13802,"style":13803},[1232],"margin-right:0.0556em;",[1062,13805],{"className":13806,"style":1233},[1232],[1062,13808,13810],{"className":13809},[1237],[1062,13811,13813],{"className":13812},[1181],[1062,13814,13817],{"className":13815},[1181,13816],"mathrm","mod",[1062,13819],{"className":13820,"style":13803},[1232],[1062,13822],{"className":13823,"style":1233},[1232],[1062,13825,13827,13830,13833,13836,13839],{"className":13826},[1172],[1062,13828],{"className":13829,"style":1756},[1176],[1062,13831,3735],{"className":13832},[1181],[1062,13834],{"className":13835,"style":1742},[1232],[1062,13837,1711],{"className":13838},[1746],[1062,13840],{"className":13841,"style":1742},[1232],[1062,13843,13845,13848],{"className":13844},[1172],[1062,13846],{"className":13847,"style":1756},[1176],[1062,13849,5209],{"className":13850},[1181],[986,13852,13853,13854,13857],{},"所以 block 12 必须放在 ",[982,13855,13856],{},"set 0"," 中。",[986,13859,13860],{},"但是 set 0 里面有 2 个 way，所以它可以放在 set 0 的任意一个 way。",[986,13862,8234],{},[1849,13864,13865],{},[986,13866,13867],{},"不能放在整个 cache 的任意位置，只能放在 set 0 里的任意一路。",[1015,13869,8589],{"id":13870},"direct-mapped-2",[986,13872,13873],{},"直接映射 cache 中，每个 set 只有 1 个 way。",[986,13875,13876],{},"假设 cache 有 8 个 line，也就是 8 个 set。",[986,13878,13879],{},"block 12 的位置是：",[1062,13881,13883],{"className":13882},[7840],[1062,13884,13886,13920],{"className":13885},[1115],[1062,13887,13889],{"className":13888},[1119],[1121,13890,13891],{"xmlns":1123,"display":3391},[1125,13892,13893,13917],{},[1128,13894,13895,13897,13899,13909,13911,13913,13915],{},[1134,13896,5960],{},[1142,13898,13765],{},[1146,13900,13901],{"lspace":13768,"rspace":13768},[1128,13902,13903,13905,13907],{},[1138,13904,1610],{"mathvariant":2926},[1138,13906,2475],{"mathvariant":2926},[1138,13908,2193],{"mathvariant":2926},[1142,13910,13765],{},[1134,13912,5670],{},[1146,13914,1711],{},[1134,13916,3735],{},[1160,13918,13919],{"encoding":1162},"12 \\bmod 8 = 4",[1062,13921,13923,13953,13971],{"className":13922,"ariaHidden":1168},[1167],[1062,13924,13926,13929,13932,13935,13938,13947,13950],{"className":13925},[1172],[1062,13927],{"className":13928,"style":2246},[1176],[1062,13930,5960],{"className":13931},[1181],[1062,13933],{"className":13934,"style":13803},[1232],[1062,13936],{"className":13937,"style":1233},[1232],[1062,13939,13941],{"className":13940},[1237],[1062,13942,13944],{"className":13943},[1181],[1062,13945,13817],{"className":13946},[1181,13816],[1062,13948],{"className":13949,"style":13803},[1232],[1062,13951],{"className":13952,"style":1233},[1232],[1062,13954,13956,13959,13962,13965,13968],{"className":13955},[1172],[1062,13957],{"className":13958,"style":1756},[1176],[1062,13960,5670],{"className":13961},[1181],[1062,13963],{"className":13964,"style":1742},[1232],[1062,13966,1711],{"className":13967},[1746],[1062,13969],{"className":13970,"style":1742},[1232],[1062,13972,13974,13977],{"className":13973},[1172],[1062,13975],{"className":13976,"style":1756},[1176],[1062,13978,3735],{"className":13979},[1181],[986,13981,13982],{},"所以它只能放在 cache block 4。",[986,13984,13985],{},"没有选择余地。",[996,13987,13988],{"id":13988},"描述缓存的参数",[1377,13990,13991,14082,14266,14276,14282],{},[1347,13992,13993,1847,13996,14081],{},[982,13994,13995],{},"访问时间 access time",[1062,13997,13999,14023],{"className":13998},[1115],[1062,14000,14002],{"className":14001},[1119],[1121,14003,14004],{"xmlns":1123},[1125,14005,14006,14020],{},[1128,14007,14008],{},[2913,14009,14010,14012],{},[1138,14011,4621],{},[1128,14013,14014,14016,14018],{},[1138,14015,2376],{},[1138,14017,2356],{},[1138,14019,2359],{},[1160,14021,14022],{"encoding":1162},"T_{hit}",[1062,14024,14026],{"className":14025,"ariaHidden":1168},[1167],[1062,14027,14029,14032],{"className":14028},[1172],[1062,14030],{"className":14031,"style":3094},[1176],[1062,14033,14035,14038],{"className":14034},[1181],[1062,14036,4621],{"className":14037,"style":1734},[1181,1220],[1062,14039,14041],{"className":14040},[1188],[1062,14042,14044,14073],{"className":14043},[1192,2965],[1062,14045,14047,14070],{"className":14046},[1196],[1062,14048,14051],{"className":14049,"style":14050},[1200],"height:0.3361em;",[1062,14052,14054,14057],{"style":14053},"top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;",[1062,14055],{"className":14056,"style":1209},[1208],[1062,14058,14060],{"className":14059},[1213,1214,1215,1216],[1062,14061,14063,14067],{"className":14062},[1181,1216],[1062,14064,14066],{"className":14065},[1181,1220,1216],"hi",[1062,14068,2359],{"className":14069},[1181,1220,1216],[1062,14071,2995],{"className":14072},[2994],[1062,14074,14076],{"className":14075},[1196],[1062,14077,14079],{"className":14078,"style":3002},[1200],[1062,14080],{},"，即命中时访问 cache 需要多久",[1347,14083,14084,14087,14088,14265],{},[982,14085,14086],{},"容量 capacity","：cache 可以容纳的数据总量：",[1062,14089,14091,14157],{"className":14090},[1115],[1062,14092,14094],{"className":14093},[1119],[1121,14095,14096],{"xmlns":1123},[1125,14097,14098,14154],{},[1128,14099,14100,14102,14104,14106,14108,14110,14112,14114,14116,14118,14120,14122,14124,14126,14128,14130,14132,14134,14136,14138,14140,14142,14144,14146,14148,14150,14152],{},[1138,14101,1702],{},[1138,14103,2370],{},[1138,14105,986],{},[1138,14107,2370],{},[1138,14109,2373],{},[1138,14111,2356],{},[1138,14113,2359],{},[1138,14115,4713],{},[1146,14117,1711],{},[1138,14119,8626],{"mathvariant":2926},[1138,14121,2469],{},[1138,14123,2472],{},[1138,14125,2475],{},[1138,14127,2373],{},[1138,14129,2480],{},[1138,14131,2204],{},[1146,14133,1148],{},[1138,14135,2469],{},[1138,14137,2472],{},[1138,14139,2475],{},[1138,14141,2373],{},[1138,14143,2480],{},[1142,14145,3900],{},[1138,14147,2204],{},[1138,14149,2356],{},[1138,14151,5557],{},[1138,14153,2201],{},[1160,14155,14156],{"encoding":1162},"Capacity = \\#blocks \\times block\\ size",[1062,14158,14160,14199,14232],{"className":14159,"ariaHidden":1168},[1167],[1062,14161,14163,14166,14169,14172,14175,14178,14181,14184,14187,14190,14193,14196],{"className":14162},[1172],[1062,14164],{"className":14165,"style":5474},[1176],[1062,14167,1702],{"className":14168,"style":1730},[1181,1220],[1062,14170,2370],{"className":14171},[1181,1220],[1062,14173,986],{"className":14174},[1181,1220],[1062,14176,2370],{"className":14177},[1181,1220],[1062,14179,2373],{"className":14180},[1181,1220],[1062,14182,2356],{"className":14183},[1181,1220],[1062,14185,2359],{"className":14186},[1181,1220],[1062,14188,4713],{"className":14189,"style":2288},[1181,1220],[1062,14191],{"className":14192,"style":1742},[1232],[1062,14194,1711],{"className":14195},[1746],[1062,14197],{"className":14198,"style":1742},[1232],[1062,14200,14202,14205,14208,14211,14214,14217,14220,14223,14226,14229],{"className":14201},[1172],[1062,14203],{"className":14204,"style":4550},[1176],[1062,14206,8626],{"className":14207},[1181],[1062,14209,2469],{"className":14210},[1181,1220],[1062,14212,2472],{"className":14213,"style":2530},[1181,1220],[1062,14215,2534],{"className":14216},[1181,1220],[1062,14218,2480],{"className":14219,"style":2538},[1181,1220],[1062,14221,2204],{"className":14222},[1181,1220],[1062,14224],{"className":14225,"style":1233},[1232],[1062,14227,1148],{"className":14228},[1237],[1062,14230],{"className":14231,"style":1233},[1232],[1062,14233,14235,14238,14241,14244,14247,14250,14253,14256,14259,14262],{"className":14234},[1172],[1062,14236],{"className":14237,"style":2246},[1176],[1062,14239,2469],{"className":14240},[1181,1220],[1062,14242,2472],{"className":14243,"style":2530},[1181,1220],[1062,14245,2534],{"className":14246},[1181,1220],[1062,14248,2480],{"className":14249,"style":2538},[1181,1220],[1062,14251,3900],{"className":14252},[1232],[1062,14254,2204],{"className":14255},[1181,1220],[1062,14257,2356],{"className":14258},[1181,1220],[1062,14260,5557],{"className":14261,"style":5607},[1181,1220],[1062,14263,2201],{"className":14264},[1181,1220],"，注意这里通常只算 data 容量，不一定把 tag、valid、dirty 等额外位算进去。",[1347,14267,14268,14271,14272,14275],{},[982,14269,14270],{},"块 \u002F 行大小 block(line) size",": 一次移入或移出 cache 的数据量。block 大可以利用空间局部性，但也可能增加 miss penalty（",[982,14273,14274],{},"未命中代价","），并减少 cache 中可容纳的 block 数。",[1347,14277,14278,14281],{},[982,14279,14280],{},"替换策略 replacement policy",":  miss 时 cache 满了，要替换哪个 block？",[1347,14283,14284,14287,14288],{},[982,14285,14286],{},"关联性 associativity",":  一个主存 block 被搬进 cache 时，有多少个候选位置可以放。\n",[1344,14289,14290,14293,14296],{},[1347,14291,14292],{},"Direct-mapped：只能放一个位置；",[1347,14294,14295],{},"Set-associative：能放在某个 set 内的多个 way；",[1347,14297,14298],{},"Fully associative：能放在任意位置。",[996,14300,14302],{"id":14301},"平均内存访问时间amat-average-memory-access-time","平均内存访问时间(AMAT) ｜ Average Memory Access Time",[986,14304,14305,14310,14313,14318,14320,14325],{},[1418,14306,14307],{},[982,14308,14309],{},"平均内存访问时间(AMAT, Average Memory Access Time)",[1418,14311,14312],{},"是考虑",[1418,14314,14315],{},[982,14316,14317],{},"缓存命中",[1418,14319,1547],{},[1418,14321,14322],{},[982,14323,14324],{},"未命中",[1418,14326,14327],{},"的情况下访问内存的平均时间，计算方法如下：",[986,14329,14330],{},[992,14331],{"alt":992,"src":14332},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-79.png",[1062,14334,14336],{"className":14335},[7840],[1062,14337,14339,14435],{"className":14338},[1115],[1062,14340,14342],{"className":14341},[1119],[1121,14343,14344],{"xmlns":1123,"display":3391},[1125,14345,14346,14432],{},[1128,14347,14348,14350,14352,14354,14356,14358,14360,14362,14364,14366,14368,14370,14372,14374,14376,14378,14380,14382,14384,14386,14388,14390,14392,14394,14396,14398,14400,14402,14404,14406,14408,14410,14412,14414,14416,14418,14420,14422,14424,14426,14428,14430],{},[1138,14349,2190],{},[1138,14351,1155],{},[1138,14353,2190],{},[1138,14355,4621],{},[1146,14357,1711],{},[1138,14359,4621],{},[1138,14361,2356],{},[1138,14363,1610],{},[1138,14365,2201],{},[1142,14367,3900],{},[1138,14369,5426],{},[1138,14371,2475],{},[1138,14373,2198],{},[1142,14375,3900],{},[1138,14377,2370],{},[1142,14379,3900],{},[1138,14381,2376],{},[1138,14383,2356],{},[1138,14385,2359],{},[1146,14387,1647],{},[1138,14389,1155],{},[1138,14391,2356],{},[1138,14393,2204],{},[1138,14395,2204],{},[1142,14397,3900],{},[1138,14399,2198],{},[1138,14401,2370],{},[1138,14403,2359],{},[1138,14405,2201],{},[1146,14407,1148],{},[1138,14409,1155],{},[1138,14411,2356],{},[1138,14413,2204],{},[1138,14415,2204],{},[1142,14417,3900],{},[1138,14419,986],{},[1138,14421,2201],{},[1138,14423,3546],{},[1138,14425,2370],{},[1138,14427,2472],{},[1138,14429,2359],{},[1138,14431,4713],{},[1160,14433,14434],{"encoding":1162},"AMAT = Time\\ for\\ a\\ hit + Miss\\ rate \\times Miss\\ penalty",[1062,14436,14438,14465,14514,14553],{"className":14437,"ariaHidden":1168},[1167],[1062,14439,14441,14444,14447,14450,14453,14456,14459,14462],{"className":14440},[1172],[1062,14442],{"className":14443,"style":1726},[1176],[1062,14445,2190],{"className":14446},[1181,1220],[1062,14448,1155],{"className":14449,"style":1221},[1181,1220],[1062,14451,2190],{"className":14452},[1181,1220],[1062,14454,4621],{"className":14455,"style":1734},[1181,1220],[1062,14457],{"className":14458,"style":1742},[1232],[1062,14460,1711],{"className":14461},[1746],[1062,14463],{"className":14464,"style":1742},[1232],[1062,14466,14468,14471,14474,14478,14481,14484,14487,14490,14493,14496,14499,14502,14505,14508,14511],{"className":14467},[1172],[1062,14469],{"className":14470,"style":4550},[1176],[1062,14472,4621],{"className":14473,"style":1734},[1181,1220],[1062,14475,14477],{"className":14476},[1181,1220],"im",[1062,14479,2201],{"className":14480},[1181,1220],[1062,14482,3900],{"className":14483},[1232],[1062,14485,5426],{"className":14486,"style":5505},[1181,1220],[1062,14488,4811],{"className":14489,"style":2257},[1181,1220],[1062,14491,3900],{"className":14492},[1232],[1062,14494,2370],{"className":14495},[1181,1220],[1062,14497,3900],{"className":14498},[1232],[1062,14500,14066],{"className":14501},[1181,1220],[1062,14503,2359],{"className":14504},[1181,1220],[1062,14506],{"className":14507,"style":1233},[1232],[1062,14509,1647],{"className":14510},[1237],[1062,14512],{"className":14513,"style":1233},[1232],[1062,14515,14517,14520,14523,14526,14529,14532,14535,14538,14541,14544,14547,14550],{"className":14516},[1172],[1062,14518],{"className":14519,"style":3748},[1176],[1062,14521,1155],{"className":14522,"style":1221},[1181,1220],[1062,14524,2356],{"className":14525},[1181,1220],[1062,14527,2505],{"className":14528},[1181,1220],[1062,14530,3900],{"className":14531},[1232],[1062,14533,2198],{"className":14534,"style":2257},[1181,1220],[1062,14536,2370],{"className":14537},[1181,1220],[1062,14539,2359],{"className":14540},[1181,1220],[1062,14542,2201],{"className":14543},[1181,1220],[1062,14545],{"className":14546,"style":1233},[1232],[1062,14548,1148],{"className":14549},[1237],[1062,14551],{"className":14552,"style":1233},[1232],[1062,14554,14556,14559,14562,14565,14568,14571,14574,14577,14581,14584,14587],{"className":14555},[1172],[1062,14557],{"className":14558,"style":4550},[1176],[1062,14560,1155],{"className":14561,"style":1221},[1181,1220],[1062,14563,2356],{"className":14564},[1181,1220],[1062,14566,2505],{"className":14567},[1181,1220],[1062,14569,3900],{"className":14570},[1232],[1062,14572,986],{"className":14573},[1181,1220],[1062,14575,2201],{"className":14576},[1181,1220],[1062,14578,14580],{"className":14579},[1181,1220],"na",[1062,14582,2472],{"className":14583,"style":2530},[1181,1220],[1062,14585,2359],{"className":14586},[1181,1220],[1062,14588,4713],{"className":14589,"style":2288},[1181,1220],[986,14591,8234],{},[1062,14593,14595],{"className":14594},[7840],[1062,14596,14598,14628],{"className":14597},[1115],[1062,14599,14601],{"className":14600},[1119],[1121,14602,14603],{"xmlns":1123,"display":3391},[1125,14604,14605,14625],{},[1128,14606,14607,14610,14612,14615,14617,14620,14622],{},[1142,14608,14609],{},"平均访存时间",[1146,14611,1711],{},[1142,14613,14614],{},"命中时间",[1146,14616,1647],{},[1142,14618,14619],{},"未命中率",[1146,14621,1148],{},[1142,14623,14624],{},"未命中惩罚",[1160,14626,14627],{"encoding":1162},"平均访存时间 = 命中时间 + 未命中率 \\times 未命中惩罚",[1062,14629,14631,14649,14667,14685],{"className":14630,"ariaHidden":1168},[1167],[1062,14632,14634,14637,14640,14643,14646],{"className":14633},[1172],[1062,14635],{"className":14636,"style":1726},[1176],[1062,14638,14609],{"className":14639},[1181,2422],[1062,14641],{"className":14642,"style":1742},[1232],[1062,14644,1711],{"className":14645},[1746],[1062,14647],{"className":14648,"style":1742},[1232],[1062,14650,14652,14655,14658,14661,14664],{"className":14651},[1172],[1062,14653],{"className":14654,"style":3748},[1176],[1062,14656,14614],{"className":14657},[1181,2422],[1062,14659],{"className":14660,"style":1233},[1232],[1062,14662,1647],{"className":14663},[1237],[1062,14665],{"className":14666,"style":1233},[1232],[1062,14668,14670,14673,14676,14679,14682],{"className":14669},[1172],[1062,14671],{"className":14672,"style":3748},[1176],[1062,14674,14619],{"className":14675},[1181,2422],[1062,14677],{"className":14678,"style":1233},[1232],[1062,14680,1148],{"className":14681},[1237],[1062,14683],{"className":14684,"style":1233},[1232],[1062,14686,14688,14691],{"className":14687},[1172],[1062,14689],{"className":14690,"style":1726},[1176],[1062,14692,14624],{"className":14693},[1181,2422],[986,14695,14696],{},"cache 的性能主要就看这三个量：",[1344,14698,14699,14787,15087],{},[1347,14700,14701,14786],{},[1062,14702,14704,14744],{"className":14703},[1115],[1062,14705,14707],{"className":14706},[1119],[1121,14708,14709],{"xmlns":1123},[1125,14710,14711,14741],{},[1128,14712,14713,14715,14717,14719,14721,14723,14725,14727,14729,14731,14733,14735,14737,14739],{},[1138,14714,4621],{},[1138,14716,2356],{},[1138,14718,1610],{},[1138,14720,2201],{},[1142,14722,3900],{},[1138,14724,5426],{},[1138,14726,2475],{},[1138,14728,2198],{},[1142,14730,3900],{},[1138,14732,2370],{},[1142,14734,3900],{},[1138,14736,2376],{},[1138,14738,2356],{},[1138,14740,2359],{},[1160,14742,14743],{"encoding":1162},"Time\\ for\\ a\\ hit",[1062,14745,14747],{"className":14746,"ariaHidden":1168},[1167],[1062,14748,14750,14753,14756,14759,14762,14765,14768,14771,14774,14777,14780,14783],{"className":14749},[1172],[1062,14751],{"className":14752,"style":4550},[1176],[1062,14754,4621],{"className":14755,"style":1734},[1181,1220],[1062,14757,14477],{"className":14758},[1181,1220],[1062,14760,2201],{"className":14761},[1181,1220],[1062,14763,3900],{"className":14764},[1232],[1062,14766,5426],{"className":14767,"style":5505},[1181,1220],[1062,14769,4811],{"className":14770,"style":2257},[1181,1220],[1062,14772,3900],{"className":14773},[1232],[1062,14775,2370],{"className":14776},[1181,1220],[1062,14778,3900],{"className":14779},[1232],[1062,14781,14066],{"className":14782},[1181,1220],[1062,14784,2359],{"className":14785},[1181,1220],"：命中时访问 cache 的时间；",[1347,14788,14789,14855,14856],{},[1062,14790,14792,14822],{"className":14791},[1115],[1062,14793,14795],{"className":14794},[1119],[1121,14796,14797],{"xmlns":1123},[1125,14798,14799,14819],{},[1128,14800,14801,14803,14805,14807,14809,14811,14813,14815,14817],{},[1138,14802,1155],{},[1138,14804,2356],{},[1138,14806,2204],{},[1138,14808,2204],{},[1142,14810,3900],{},[1138,14812,2198],{},[1138,14814,2370],{},[1138,14816,2359],{},[1138,14818,2201],{},[1160,14820,14821],{"encoding":1162},"Miss\\ rate",[1062,14823,14825],{"className":14824,"ariaHidden":1168},[1167],[1062,14826,14828,14831,14834,14837,14840,14843,14846,14849,14852],{"className":14827},[1172],[1062,14829],{"className":14830,"style":1726},[1176],[1062,14832,1155],{"className":14833,"style":1221},[1181,1220],[1062,14835,2356],{"className":14836},[1181,1220],[1062,14838,2505],{"className":14839},[1181,1220],[1062,14841,3900],{"className":14842},[1232],[1062,14844,2198],{"className":14845,"style":2257},[1181,1220],[1062,14847,2370],{"className":14848},[1181,1220],[1062,14850,2359],{"className":14851},[1181,1220],[1062,14853,2201],{"className":14854},[1181,1220],"：未命中比例；",[1062,14857,14859,14937],{"className":14858},[1115],[1062,14860,14862],{"className":14861},[1119],[1121,14863,14864],{"xmlns":1123},[1125,14865,14866,14934],{},[1128,14867,14868,14870,14872,14874,14876,14878,14880,14882,14884,14886,14888],{},[1138,14869,1155],{},[1138,14871,2356],{},[1138,14873,2204],{},[1138,14875,2204],{},[1142,14877,3900],{},[1138,14879,2198],{},[1138,14881,2370],{},[1138,14883,2359],{},[1138,14885,2201],{},[1146,14887,1711],{},[6824,14889,14890,14904],{},[1128,14891,14892,14894,14896,14898,14900,14902],{},[1138,14893,1155],{},[1138,14895,2356],{},[1138,14897,2204],{},[1138,14899,2204],{},[1138,14901,2201],{},[1138,14903,2204],{},[1128,14905,14906,14908,14910,14912,14914,14916,14918,14920,14922,14924,14926,14928,14930,14932],{},[1138,14907,4621],{},[1138,14909,2475],{},[1138,14911,2359],{},[1138,14913,2370],{},[1138,14915,2472],{},[1142,14917,3900],{},[1138,14919,2370],{},[1138,14921,2373],{},[1138,14923,2373],{},[1138,14925,2201],{},[1138,14927,2204],{},[1138,14929,2204],{},[1138,14931,2201],{},[1138,14933,2204],{},[1160,14935,14936],{"encoding":1162},"Miss\\ rate = \\frac{Misses}{Total\\ accesses}",[1062,14938,14940,14979],{"className":14939,"ariaHidden":1168},[1167],[1062,14941,14943,14946,14949,14952,14955,14958,14961,14964,14967,14970,14973,14976],{"className":14942},[1172],[1062,14944],{"className":14945,"style":1726},[1176],[1062,14947,1155],{"className":14948,"style":1221},[1181,1220],[1062,14950,2356],{"className":14951},[1181,1220],[1062,14953,2505],{"className":14954},[1181,1220],[1062,14956,3900],{"className":14957},[1232],[1062,14959,2198],{"className":14960,"style":2257},[1181,1220],[1062,14962,2370],{"className":14963},[1181,1220],[1062,14965,2359],{"className":14966},[1181,1220],[1062,14968,2201],{"className":14969},[1181,1220],[1062,14971],{"className":14972,"style":1742},[1232],[1062,14974,1711],{"className":14975},[1746],[1062,14977],{"className":14978,"style":1742},[1232],[1062,14980,14982,14986],{"className":14981},[1172],[1062,14983],{"className":14984,"style":14985},[1176],"height:1.2173em;vertical-align:-0.345em;",[1062,14987,14989,14992,15084],{"className":14988},[1181],[1062,14990],{"className":14991},[2292,6874],[1062,14993,14995],{"className":14994},[6824],[1062,14996,14998,15076],{"className":14997},[1192,2965],[1062,14999,15001,15073],{"className":15000},[1196],[1062,15002,15005,15044,15052],{"className":15003,"style":15004},[1200],"height:0.8723em;",[1062,15006,15007,15010],{"style":6890},[1062,15008],{"className":15009,"style":6894},[1208],[1062,15011,15013],{"className":15012},[1213,1214,1215,1216],[1062,15014,15016,15019,15022,15025,15028,15031,15037,15040],{"className":15015},[1181,1216],[1062,15017,4621],{"className":15018,"style":1734},[1181,1220,1216],[1062,15020,2475],{"className":15021},[1181,1220,1216],[1062,15023,2359],{"className":15024},[1181,1220,1216],[1062,15026,2370],{"className":15027},[1181,1220,1216],[1062,15029,2472],{"className":15030,"style":2530},[1181,1220,1216],[1062,15032,15034],{"className":15033},[1232,1216],[1062,15035,3900],{"className":15036},[1216],[1062,15038,2370],{"className":15039},[1181,1220,1216],[1062,15041,15043],{"className":15042},[1181,1220,1216],"ccesses",[1062,15045,15046,15049],{"style":6913},[1062,15047],{"className":15048,"style":6894},[1208],[1062,15050],{"className":15051,"style":6921},[6920],[1062,15053,15054,15057],{"style":6924},[1062,15055],{"className":15056,"style":6894},[1208],[1062,15058,15060],{"className":15059},[1213,1214,1215,1216],[1062,15061,15063,15066,15069],{"className":15062},[1181,1216],[1062,15064,1155],{"className":15065,"style":1221},[1181,1220,1216],[1062,15067,2356],{"className":15068},[1181,1220,1216],[1062,15070,15072],{"className":15071},[1181,1220,1216],"sses",[1062,15074,2995],{"className":15075},[2994],[1062,15077,15079],{"className":15078},[1196],[1062,15080,15082],{"className":15081,"style":8777},[1200],[1062,15083],{},[1062,15085],{"className":15086},[2302,6874],[1347,15088,15089,15167,15168,15171,15176],{},[1062,15090,15092,15128],{"className":15091},[1115],[1062,15093,15095],{"className":15094},[1119],[1121,15096,15097],{"xmlns":1123},[1125,15098,15099,15125],{},[1128,15100,15101,15103,15105,15107,15109,15111,15113,15115,15117,15119,15121,15123],{},[1138,15102,1155],{},[1138,15104,2356],{},[1138,15106,2204],{},[1138,15108,2204],{},[1142,15110,3900],{},[1138,15112,986],{},[1138,15114,2201],{},[1138,15116,3546],{},[1138,15118,2370],{},[1138,15120,2472],{},[1138,15122,2359],{},[1138,15124,4713],{},[1160,15126,15127],{"encoding":1162},"Miss\\ penalty",[1062,15129,15131],{"className":15130,"ariaHidden":1168},[1167],[1062,15132,15134,15137,15140,15143,15146,15149,15152,15155,15158,15161,15164],{"className":15133},[1172],[1062,15135],{"className":15136,"style":4550},[1176],[1062,15138,1155],{"className":15139,"style":1221},[1181,1220],[1062,15141,2356],{"className":15142},[1181,1220],[1062,15144,2505],{"className":15145},[1181,1220],[1062,15147,3900],{"className":15148},[1232],[1062,15150,986],{"className":15151},[1181,1220],[1062,15153,2201],{"className":15154},[1181,1220],[1062,15156,14580],{"className":15157},[1181,1220],[1062,15159,2472],{"className":15160,"style":2530},[1181,1220],[1062,15162,2359],{"className":15163},[1181,1220],[1062,15165,4713],{"className":15166,"style":2288},[1181,1220],"：一次 miss 额外要付出的代价时间——",[982,15169,15170],{},"从较低的内存级别获取块的时间；它通常包括下面",[1418,15172,15173],{},[982,15174,15175],{},"两个部分：",[1377,15177,15178,15189],{},[1347,15179,15180,15183,15184],{},[982,15181,15182],{},"访问时间(access time)",": 时延函数(function of latency)，即找到第一个数据所需的延迟；\n",[1377,15185,15186],{},[1347,15187,15188],{},"比如访问 DRAM 时，要经过行激活、列访问、等待返回数据，这部分主要和存储器的 latency 有关。",[1347,15190,15191,15194,15195],{},[982,15192,15193],{},"传输时间 (transfer time): 即把整个 cache block\u002Fline 传回来所需的时间","，它是带宽 b\u002Fw 级别的函数：\n",[1377,15196,15197,15200],{},[1347,15198,15199],{},"每次传输一条“缓存线\u002F块(cache line\u002Fblock)”",[1347,15201,15202,15203],{},"以内存总线宽度的大小进行传输，传输速度取决于带宽",[1062,15204,15206,15292],{"className":15205},[1115],[1062,15207,15209],{"className":15208},[1119],[1121,15210,15211],{"xmlns":1123},[1125,15212,15213,15289],{},[1128,15214,15215,15217,15219,15221,15223,15225,15227,15229,15231,15233,15235,15237,15239,15241,15244],{},[1138,15216,4621],{},[1138,15218,2198],{},[1138,15220,2370],{},[1138,15222,3546],{},[1138,15224,2204],{},[1138,15226,5426],{},[1138,15228,2201],{},[1138,15230,2198],{},[1142,15232,3900],{},[1138,15234,2359],{},[1138,15236,2356],{},[1138,15238,1610],{},[1138,15240,2201],{},[1146,15242,15243],{},"≈",[6824,15245,15246,15268],{},[1128,15247,15248,15250,15252,15254,15256,15258,15260,15262,15264,15266],{},[1138,15249,5567],{},[1138,15251,2472],{},[1138,15253,2475],{},[1138,15255,2373],{},[1138,15257,2480],{},[1142,15259,3900],{},[1138,15261,2204],{},[1138,15263,2356],{},[1138,15265,5557],{},[1138,15267,2201],{},[1128,15269,15270,15272,15274,15276,15278,15281,15283,15285,15287],{},[1138,15271,5567],{},[1138,15273,2370],{},[1138,15275,3546],{},[1138,15277,2193],{},[1138,15279,15280],{},"w",[1138,15282,2356],{},[1138,15284,2193],{},[1138,15286,2359],{},[1138,15288,2376],{},[1160,15290,15291],{"encoding":1162},"Transfer\\ time \\approx \\frac{Block\\ size}{Bandwidth}",[1062,15293,15295,15342],{"className":15294,"ariaHidden":1168},[1167],[1062,15296,15298,15301,15304,15307,15311,15314,15317,15321,15324,15327,15330,15333,15336,15339],{"className":15297},[1172],[1062,15299],{"className":15300,"style":4550},[1176],[1062,15302,4621],{"className":15303,"style":1734},[1181,1220],[1062,15305,2198],{"className":15306,"style":2257},[1181,1220],[1062,15308,15310],{"className":15309},[1181,1220],"an",[1062,15312,2204],{"className":15313},[1181,1220],[1062,15315,5426],{"className":15316,"style":5505},[1181,1220],[1062,15318,15320],{"className":15319,"style":2257},[1181,1220],"er",[1062,15322,3900],{"className":15323},[1232],[1062,15325,2359],{"className":15326},[1181,1220],[1062,15328,14477],{"className":15329},[1181,1220],[1062,15331,2201],{"className":15332},[1181,1220],[1062,15334],{"className":15335,"style":1742},[1232],[1062,15337,15243],{"className":15338},[1746],[1062,15340],{"className":15341,"style":1742},[1232],[1062,15343,15345,15349],{"className":15344},[1172],[1062,15346],{"className":15347,"style":15348},[1176],"height:1.2251em;vertical-align:-0.345em;",[1062,15350,15352,15355,15463],{"className":15351},[1181],[1062,15353],{"className":15354},[2292,6874],[1062,15356,15358],{"className":15357},[6824],[1062,15359,15361,15455],{"className":15360},[1192,2965],[1062,15362,15364,15452],{"className":15363},[1196],[1062,15365,15367,15403,15411],{"className":15366,"style":6887},[1200],[1062,15368,15369,15372],{"style":6890},[1062,15370],{"className":15371,"style":6894},[1208],[1062,15373,15375],{"className":15374},[1213,1214,1215,1216],[1062,15376,15378,15381,15384,15387,15391,15394,15397,15400],{"className":15377},[1181,1216],[1062,15379,5567],{"className":15380,"style":5632},[1181,1220,1216],[1062,15382,15310],{"className":15383},[1181,1220,1216],[1062,15385,2193],{"className":15386},[1181,1220,1216],[1062,15388,15280],{"className":15389,"style":15390},[1181,1220,1216],"margin-right:0.0269em;",[1062,15392,2356],{"className":15393},[1181,1220,1216],[1062,15395,2193],{"className":15396},[1181,1220,1216],[1062,15398,2359],{"className":15399},[1181,1220,1216],[1062,15401,2376],{"className":15402},[1181,1220,1216],[1062,15404,15405,15408],{"style":6913},[1062,15406],{"className":15407,"style":6894},[1208],[1062,15409],{"className":15410,"style":6921},[6920],[1062,15412,15413,15416],{"style":6924},[1062,15414],{"className":15415,"style":6894},[1208],[1062,15417,15419],{"className":15418},[1213,1214,1215,1216],[1062,15420,15422,15425,15428,15431,15434,15440,15443,15446,15449],{"className":15421},[1181,1216],[1062,15423,5567],{"className":15424,"style":5632},[1181,1220,1216],[1062,15426,2472],{"className":15427,"style":2530},[1181,1220,1216],[1062,15429,2534],{"className":15430},[1181,1220,1216],[1062,15432,2480],{"className":15433,"style":2538},[1181,1220,1216],[1062,15435,15437],{"className":15436},[1232,1216],[1062,15438,3900],{"className":15439},[1216],[1062,15441,2204],{"className":15442},[1181,1220,1216],[1062,15444,2356],{"className":15445},[1181,1220,1216],[1062,15447,5557],{"className":15448,"style":5607},[1181,1220,1216],[1062,15450,2201],{"className":15451},[1181,1220,1216],[1062,15453,2995],{"className":15454},[2994],[1062,15456,15458],{"className":15457},[1196],[1062,15459,15461],{"className":15460,"style":8777},[1200],[1062,15462],{},[1062,15464],{"className":15465},[2302,6874],[1849,15467,15468,15471,15474,15482,15492,15495,15500,15506,15512,15515],{},[986,15469,15470],{},"这里有一个概率上的推导可以了解一下",[986,15472,15473],{},"平均访存时间，实际上应该按照概率来加权——",[986,15475,15476,15477,15481],{},"平均访存时间=命中时间",[15478,15479,15480],"em",{},"命中概率 + 未命中率","（未命中访问时间）",[986,15483,15484,15485,15488,15489],{},"但是实际上未命中访问时间=",[982,15486,15487],{},"查看cache时间(实际上是和命中时间一样的)"," + ",[982,15490,15491],{},"下一级存储器取数据时间（未命中额外付出的代价时间）",[986,15493,15494],{},"因此把前面的式子展开就可以得到",[986,15496,15476,15497,15499],{},[15478,15498,15480],{},"（查看cache时间 + 下一级存储器取数据时间）",[986,15501,15502,15503,15505],{},"=命中时间",[15478,15504,15480],{},"（命中时间 + 未命中惩罚时间）",[1896,15507,15510],{"className":15508,"code":15509,"language":1225},[1899],"=命中时间 + 未命中率*（未命中惩罚时间）\n",[1902,15511,15509],{"__ignoreMap":1904},[986,15513,15514],{},"（命中概率+未命中概率=1）",[986,15516,15517,15518],{},"所以有式",[1062,15519,15521,15616],{"className":15520},[1115],[1062,15522,15524],{"className":15523},[1119],[1121,15525,15526],{"xmlns":1123},[1125,15527,15528,15614],{},[1128,15529,15530,15532,15534,15536,15538,15540,15542,15544,15546,15548,15550,15552,15554,15556,15558,15560,15562,15564,15566,15568,15570,15572,15574,15576,15578,15580,15582,15584,15586,15588,15590,15592,15594,15596,15598,15600,15602,15604,15606,15608,15610,15612],{},[1138,15531,2190],{},[1138,15533,1155],{},[1138,15535,2190],{},[1138,15537,4621],{},[1146,15539,1711],{},[1138,15541,4621],{},[1138,15543,2356],{},[1138,15545,1610],{},[1138,15547,2201],{},[1142,15549,3900],{},[1138,15551,5426],{},[1138,15553,2475],{},[1138,15555,2198],{},[1142,15557,3900],{},[1138,15559,2370],{},[1142,15561,3900],{},[1138,15563,2376],{},[1138,15565,2356],{},[1138,15567,2359],{},[1146,15569,1647],{},[1138,15571,1155],{},[1138,15573,2356],{},[1138,15575,2204],{},[1138,15577,2204],{},[1142,15579,3900],{},[1138,15581,2198],{},[1138,15583,2370],{},[1138,15585,2359],{},[1138,15587,2201],{},[1146,15589,1148],{},[1138,15591,1155],{},[1138,15593,2356],{},[1138,15595,2204],{},[1138,15597,2204],{},[1142,15599,3900],{},[1138,15601,986],{},[1138,15603,2201],{},[1138,15605,3546],{},[1138,15607,2370],{},[1138,15609,2472],{},[1138,15611,2359],{},[1138,15613,4713],{},[1160,15615,14434],{"encoding":1162},[1062,15617,15619,15646,15694,15733],{"className":15618,"ariaHidden":1168},[1167],[1062,15620,15622,15625,15628,15631,15634,15637,15640,15643],{"className":15621},[1172],[1062,15623],{"className":15624,"style":1726},[1176],[1062,15626,2190],{"className":15627},[1181,1220],[1062,15629,1155],{"className":15630,"style":1221},[1181,1220],[1062,15632,2190],{"className":15633},[1181,1220],[1062,15635,4621],{"className":15636,"style":1734},[1181,1220],[1062,15638],{"className":15639,"style":1742},[1232],[1062,15641,1711],{"className":15642},[1746],[1062,15644],{"className":15645,"style":1742},[1232],[1062,15647,15649,15652,15655,15658,15661,15664,15667,15670,15673,15676,15679,15682,15685,15688,15691],{"className":15648},[1172],[1062,15650],{"className":15651,"style":4550},[1176],[1062,15653,4621],{"className":15654,"style":1734},[1181,1220],[1062,15656,14477],{"className":15657},[1181,1220],[1062,15659,2201],{"className":15660},[1181,1220],[1062,15662,3900],{"className":15663},[1232],[1062,15665,5426],{"className":15666,"style":5505},[1181,1220],[1062,15668,4811],{"className":15669,"style":2257},[1181,1220],[1062,15671,3900],{"className":15672},[1232],[1062,15674,2370],{"className":15675},[1181,1220],[1062,15677,3900],{"className":15678},[1232],[1062,15680,14066],{"className":15681},[1181,1220],[1062,15683,2359],{"className":15684},[1181,1220],[1062,15686],{"className":15687,"style":1233},[1232],[1062,15689,1647],{"className":15690},[1237],[1062,15692],{"className":15693,"style":1233},[1232],[1062,15695,15697,15700,15703,15706,15709,15712,15715,15718,15721,15724,15727,15730],{"className":15696},[1172],[1062,15698],{"className":15699,"style":3748},[1176],[1062,15701,1155],{"className":15702,"style":1221},[1181,1220],[1062,15704,2356],{"className":15705},[1181,1220],[1062,15707,2505],{"className":15708},[1181,1220],[1062,15710,3900],{"className":15711},[1232],[1062,15713,2198],{"className":15714,"style":2257},[1181,1220],[1062,15716,2370],{"className":15717},[1181,1220],[1062,15719,2359],{"className":15720},[1181,1220],[1062,15722,2201],{"className":15723},[1181,1220],[1062,15725],{"className":15726,"style":1233},[1232],[1062,15728,1148],{"className":15729},[1237],[1062,15731],{"className":15732,"style":1233},[1232],[1062,15734,15736,15739,15742,15745,15748,15751,15754,15757,15760,15763,15766],{"className":15735},[1172],[1062,15737],{"className":15738,"style":4550},[1176],[1062,15740,1155],{"className":15741,"style":1221},[1181,1220],[1062,15743,2356],{"className":15744},[1181,1220],[1062,15746,2505],{"className":15747},[1181,1220],[1062,15749,3900],{"className":15750},[1232],[1062,15752,986],{"className":15753},[1181,1220],[1062,15755,2201],{"className":15756},[1181,1220],[1062,15758,14580],{"className":15759},[1181,1220],[1062,15761,2472],{"className":15762,"style":2530},[1181,1220],[1062,15764,2359],{"className":15765},[1181,1220],[1062,15767,4713],{"className":15768,"style":2288},[1181,1220],[1849,15770,15771,15774,15779,15912],{},[1015,15772,15773],{"id":15773},"例题",[986,15775,15776],{},[992,15777],{"alt":992,"src":15778},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-80.png",[986,15780,15781,15782,15822,15823,15852,15853,15882,15883,15911],{},"时钟周期 ",[1062,15783,15785,15804],{"className":15784},[1115],[1062,15786,15788],{"className":15787},[1119],[1121,15789,15790],{"xmlns":1123},[1125,15791,15792,15801],{},[1128,15793,15794,15797,15799],{},[1134,15795,15796],{},"200",[1138,15798,986],{},[1138,15800,2204],{},[1160,15802,15803],{"encoding":1162},"200ps",[1062,15805,15807],{"className":15806,"ariaHidden":1168},[1167],[1062,15808,15810,15813,15816,15819],{"className":15809},[1172],[1062,15811],{"className":15812,"style":5323},[1176],[1062,15814,15796],{"className":15815},[1181],[1062,15817,986],{"className":15818},[1181,1220],[1062,15820,2204],{"className":15821},[1181,1220],"，miss penalty 是 ",[1062,15824,15826,15840],{"className":15825},[1115],[1062,15827,15829],{"className":15828},[1119],[1121,15830,15831],{"xmlns":1123},[1125,15832,15833,15838],{},[1128,15834,15835],{},[1134,15836,15837],{},"50",[1160,15839,15837],{"encoding":1162},[1062,15841,15843],{"className":15842,"ariaHidden":1168},[1167],[1062,15844,15846,15849],{"className":15845},[1172],[1062,15847],{"className":15848,"style":1756},[1176],[1062,15850,15837],{"className":15851},[1181]," 个周期，miss rate 是 ",[1062,15854,15856,15870],{"className":15855},[1115],[1062,15857,15859],{"className":15858},[1119],[1121,15860,15861],{"xmlns":1123},[1125,15862,15863,15868],{},[1128,15864,15865],{},[1134,15866,15867],{},"0.02",[1160,15869,15867],{"encoding":1162},[1062,15871,15873],{"className":15872,"ariaHidden":1168},[1167],[1062,15874,15876,15879],{"className":15875},[1172],[1062,15877],{"className":15878,"style":1756},[1176],[1062,15880,15867],{"className":15881},[1181],"，cache hit time 是 ",[1062,15884,15886,15899],{"className":15885},[1115],[1062,15887,15889],{"className":15888},[1119],[1121,15890,15891],{"xmlns":1123},[1125,15892,15893,15897],{},[1128,15894,15895],{},[1134,15896,1644],{},[1160,15898,1644],{"encoding":1162},[1062,15900,15902],{"className":15901,"ariaHidden":1168},[1167],[1062,15903,15905,15908],{"className":15904},[1172],[1062,15906],{"className":15907,"style":1756},[1176],[1062,15909,1644],{"className":15910},[1181]," 个周期，计算一下AMAT是多少呢？",[986,15913,15914,15915],{},"答案是",[1062,15916,15918,15957],{"className":15917},[1115],[1062,15919,15921],{"className":15920},[1119],[1121,15922,15923],{"xmlns":1123},[1125,15924,15925,15954],{},[1128,15926,15927],{},[15928,15929,15931],"menclose",{"notation":15930},"box",[15932,15933,15934],"mstyle",{"scriptlevel":5209,"displaystyle":2219},[15932,15935,15936],{"scriptlevel":5209,"displaystyle":2219},[15932,15937,15938],{"scriptlevel":5209,"displaystyle":1168},[1128,15939,15940,15942,15945,15947,15950,15952],{},[1138,15941,5567],{},[1146,15943,15944],{},":",[1142,15946,3900],{},[1134,15948,15949],{},"400",[1138,15951,986],{},[1138,15953,2204],{},[1160,15955,15956],{"encoding":1162},"\\boxed{B:\\ 400ps}",[1062,15958,15960],{"className":15959,"ariaHidden":1168},[1167],[1062,15961,15963,15967],{"className":15962},[1172],[1062,15964],{"className":15965,"style":15966},[1176],"height:1.5578em;vertical-align:-0.5344em;",[1062,15968,15970],{"className":15969},[1181],[1062,15971,15973,16036],{"className":15972},[1192,2965],[1062,15974,15976,16033],{"className":15975},[1196],[1062,15977,15980,16021],{"className":15978,"style":15979},[1200],"height:1.0233em;",[1062,15981,15983,15987],{"style":15982},"top:-3.5578em;",[1062,15984],{"className":15985,"style":15986},[1208],"height:3.5578em;",[1062,15988,15991],{"className":15989},[15990],"boxpad",[1062,15992,15994],{"className":15993},[1181],[1062,15995,15997,16000,16003,16006,16009,16012,16015,16018],{"className":15996},[1181],[1062,15998,5567],{"className":15999,"style":5632},[1181,1220],[1062,16001],{"className":16002,"style":1742},[1232],[1062,16004,15944],{"className":16005},[1746],[1062,16007,3900],{"className":16008},[1232],[1062,16010],{"className":16011,"style":1742},[1232],[1062,16013,15949],{"className":16014},[1181],[1062,16016,986],{"className":16017},[1181,1220],[1062,16019,2204],{"className":16020},[1181,1220],[1062,16022,16024,16027],{"style":16023},"top:-3.0233em;",[1062,16025],{"className":16026,"style":15986},[1208],[1062,16028],{"className":16029,"style":16032},[16030,16031],"stretchy","fbox","height:1.5578em;border-style:solid;border-width:0.04em;",[1062,16034,2995],{"className":16035},[2994],[1062,16037,16039],{"className":16038},[1196],[1062,16040,16043],{"className":16041,"style":16042},[1200],"height:0.5344em;",[1062,16044],{},[978,16046,16048],{"id":16047},"cache-performance-optimization-缓存性能优化","Cache Performance Optimization ｜ 缓存性能优化",[996,16050,16052],{"id":16051},"cache-miss-的来源3c-model","Cache Miss 的来源：3C Model",[986,16054,16055],{},[992,16056],{"alt":992,"src":16057},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-81.png",[1015,16059,16061],{"id":16060},"_1-compulsory-miss强制缺失-冷启动缺失","1. Compulsory Miss：强制缺失 \u002F 冷启动缺失",[986,16063,16064],{},"这是第一次访问某个 block 时必然发生的 miss。因为这个 block 从来没被加载进 cache，所以第一次访问一定 miss。",[986,16066,16067,16068,16111],{},"比如第一次访问数组 ",[1062,16069,16071,16090],{"className":16070},[1115],[1062,16072,16074],{"className":16073},[1119],[1121,16075,16076],{"xmlns":1123},[1125,16077,16078,16088],{},[1128,16079,16080,16082,16084,16086],{},[1138,16081,2190],{},[1146,16083,2220],{"stretchy":2219},[1134,16085,5209],{},[1146,16087,2228],{"stretchy":2219},[1160,16089,12444],{"encoding":1162},[1062,16091,16093],{"className":16092,"ariaHidden":1168},[1167],[1062,16094,16096,16099,16102,16105,16108],{"className":16095},[1172],[1062,16097],{"className":16098,"style":2277},[1176],[1062,16100,2190],{"className":16101},[1181,1220],[1062,16103,2220],{"className":16104},[2292],[1062,16106,5209],{"className":16107},[1181],[1062,16109,2228],{"className":16110},[2302]," 所在的 cache block，它不可能已经在 cache 里。这种 miss 即使 cache 无限大、fully associative，也还是会发生。因为第一次访问就是第一次访问，cache 之前没有机会保存它。",[986,16113,16114],{},[982,16115,16116],{},"所以 compulsory miss 也叫 cold miss。",[1015,16118,16120],{"id":16119},"_2-capacity-miss容量缺失","2. Capacity Miss：容量缺失",[986,16122,16123,16124,16127],{},"Capacity miss 是因为：",[982,16125,16126],{},"cache 太小，装不下","程序当前需要反复访问的所有 block。",[986,16129,16130],{},"比如一个程序反复扫描一个 10 MB 的工作集，但 cache 只有 32 KB。即使 cache 是 fully associative，而且 replacement policy 非常好，还是装不下。这种 miss 的根本原因是容量不够。",[986,16132,16133],{},"解决方向是：",[1344,16135,16136,16139,16142],{},[1347,16137,16138],{},"增大 cache；",[1347,16140,16141],{},"改程序访问方式，例如 blocking \u002F tiling；",[1347,16143,16144],{},"减小 working set。",[1015,16146,16148],{"id":16147},"_3-conflict-miss冲突缺失","3. Conflict Miss：冲突缺失",[986,16150,16151],{},"Conflict miss 是因为：cache 的摆放规则太受限，多个 memory block 映射到同一个 set 或同一个 line，互相挤掉。",[986,16153,16154],{},"比如 direct-mapped cache 中，block 0 和 block 4 可能都只能放到同一个 cache line。",[986,16156,16157],{},[992,16158],{"alt":992,"src":16159},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-82.png",[986,16161,16162],{},"如果程序反复访问 0、4、0、4，就会 ping-pong，导致连续 miss。注意：这时候 cache 总容量可能够，但因为映射位置冲突，仍然 miss。",[986,16164,16165],{},[1418,16166,16167],{},"Fully associative cache 不会有 conflict miss，因为任何 block 都可以放在任意位置。",[996,16169,16171],{"id":16170},"如何用缓存模拟器计算-3c","如何用缓存模拟器计算 3C",[986,16173,16174],{},[992,16175],{"alt":992,"src":16176},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-83.png",[986,16178,16179],{},"给定一段程序的内存访问 trace，怎样区分三类 miss。",[986,16181,16182],{},[982,16183,16184],{},"核心方法是做对照实验。",[1015,16186,16188],{"id":16187},"第一步算-compulsory-miss",[982,16189,16190],{},"第一步：算 compulsory miss",[986,16192,16193],{},"把 cache 设成“无限大 + fully associative”。这样容量无限、没有冲突，所以剩下的 miss 只能是第一次访问 block 的 compulsory miss。",[986,16195,8234,16196,2751],{},[1062,16197,16199,16266],{"className":16198},[1115],[1062,16200,16202],{"className":16201},[1119],[1121,16203,16204],{"xmlns":1123},[1125,16205,16206,16263],{},[1128,16207,16208,16210,16212,16214,16240,16242,16244,16246,16248,16250,16252,16255,16257,16259,16261],{},[1138,16209,1155],{},[1138,16211,2356],{},[1138,16213,2204],{},[2913,16215,16216,16218],{},[1138,16217,2204],{},[1128,16219,16220,16222,16224,16226,16228,16230,16232,16234,16236,16238],{},[1138,16221,2373],{},[1138,16223,2475],{},[1138,16225,1610],{},[1138,16227,986],{},[1138,16229,3909],{},[1138,16231,2472],{},[1138,16233,2204],{},[1138,16235,2475],{},[1138,16237,2198],{},[1138,16239,4713],{},[1146,16241,1711],{},[1138,16243,1155],{},[1138,16245,2356],{},[1138,16247,2204],{},[1138,16249,2204],{},[1146,16251,7078],{"stretchy":2219},[1138,16253,16254],{"mathvariant":2926},"∞",[1146,16256,4443],{"separator":1168},[1138,16258,2938],{},[1138,16260,2190],{},[1146,16262,7088],{"stretchy":2219},[1160,16264,16265],{"encoding":1162},"Miss_{compulsory}=Miss(\\infty,FA)",[1062,16267,16269,16358],{"className":16268,"ariaHidden":1168},[1167],[1062,16270,16272,16276,16279,16282,16285,16349,16352,16355],{"className":16271},[1172],[1062,16273],{"className":16274,"style":16275},[1176],"height:0.9694em;vertical-align:-0.2861em;",[1062,16277,1155],{"className":16278,"style":1221},[1181,1220],[1062,16280,2356],{"className":16281},[1181,1220],[1062,16283,2204],{"className":16284},[1181,1220],[1062,16286,16288,16291],{"className":16287},[1181],[1062,16289,2204],{"className":16290},[1181,1220],[1062,16292,16294],{"className":16293},[1188],[1062,16295,16297,16340],{"className":16296},[1192,2965],[1062,16298,16300,16337],{"className":16299},[1196],[1062,16301,16303],{"className":16302,"style":14050},[1200],[1062,16304,16305,16308],{"style":5231},[1062,16306],{"className":16307,"style":1209},[1208],[1062,16309,16311],{"className":16310},[1213,1214,1215,1216],[1062,16312,16314,16318,16321,16324,16327,16330,16334],{"className":16313},[1181,1216],[1062,16315,16317],{"className":16316},[1181,1220,1216],"co",[1062,16319,1610],{"className":16320},[1181,1220,1216],[1062,16322,986],{"className":16323},[1181,1220,1216],[1062,16325,3909],{"className":16326},[1181,1220,1216],[1062,16328,2472],{"className":16329,"style":2530},[1181,1220,1216],[1062,16331,16333],{"className":16332,"style":2257},[1181,1220,1216],"sor",[1062,16335,4713],{"className":16336,"style":2288},[1181,1220,1216],[1062,16338,2995],{"className":16339},[2994],[1062,16341,16343],{"className":16342},[1196],[1062,16344,16347],{"className":16345,"style":16346},[1200],"height:0.2861em;",[1062,16348],{},[1062,16350],{"className":16351,"style":1742},[1232],[1062,16353,1711],{"className":16354},[1746],[1062,16356],{"className":16357,"style":1742},[1232],[1062,16359,16361,16364,16367,16370,16373,16376,16379,16382,16385,16388,16391],{"className":16360},[1172],[1062,16362],{"className":16363,"style":2277},[1176],[1062,16365,1155],{"className":16366,"style":1221},[1181,1220],[1062,16368,2356],{"className":16369},[1181,1220],[1062,16371,2505],{"className":16372},[1181,1220],[1062,16374,7078],{"className":16375},[2292],[1062,16377,16254],{"className":16378},[1181],[1062,16380,4443],{"className":16381},[4827],[1062,16383],{"className":16384,"style":4831},[1232],[1062,16386,2938],{"className":16387,"style":1734},[1181,1220],[1062,16389,2190],{"className":16390},[1181,1220],[1062,16392,7088],{"className":16393},[2302],[1015,16395,16397],{"id":16396},"第二步算-capacity-miss",[982,16398,16399],{},"第二步：算 capacity miss",[986,16401,16402],{},"继续使用 fully associative cache，但把容量从无限大逐渐减小，比如 16MB、8MB、4MB、……。因为 fully associative 没有 conflict miss，所以多出来的 miss 主要就是容量不够造成的。",[986,16404,16405,16406,2751],{},"可以近似写成：",[1062,16407,16409,16505],{"className":16408},[1115],[1062,16410,16412],{"className":16411},[1119],[1121,16413,16414],{"xmlns":1123},[1125,16415,16416,16502],{},[1128,16417,16418,16420,16422,16424,16446,16448,16450,16452,16454,16456,16458,16460,16462,16464,16466,16468,16470,16472,16474,16476],{},[1138,16419,1155],{},[1138,16421,2356],{},[1138,16423,2204],{},[2913,16425,16426,16428],{},[1138,16427,2204],{},[1128,16429,16430,16432,16434,16436,16438,16440,16442,16444],{},[1138,16431,2373],{},[1138,16433,2370],{},[1138,16435,986],{},[1138,16437,2370],{},[1138,16439,2373],{},[1138,16441,2356],{},[1138,16443,2359],{},[1138,16445,4713],{},[1146,16447,1711],{},[1138,16449,1155],{},[1138,16451,2356],{},[1138,16453,2204],{},[1138,16455,2204],{},[1146,16457,7078],{"stretchy":2219},[1138,16459,1702],{},[1146,16461,4443],{"separator":1168},[1138,16463,2938],{},[1138,16465,2190],{},[1146,16467,7088],{"stretchy":2219},[1146,16469,6566],{},[1138,16471,1155],{},[1138,16473,2356],{},[1138,16475,2204],{},[2913,16477,16478,16480],{},[1138,16479,2204],{},[1128,16481,16482,16484,16486,16488,16490,16492,16494,16496,16498,16500],{},[1138,16483,2373],{},[1138,16485,2475],{},[1138,16487,1610],{},[1138,16489,986],{},[1138,16491,3909],{},[1138,16493,2472],{},[1138,16495,2204],{},[1138,16497,2475],{},[1138,16499,2198],{},[1138,16501,4713],{},[1160,16503,16504],{"encoding":1162},"Miss_{capacity}=Miss(C,FA)-Miss_{compulsory}",[1062,16506,16508,16597,16642],{"className":16507,"ariaHidden":1168},[1167],[1062,16509,16511,16514,16517,16520,16523,16588,16591,16594],{"className":16510},[1172],[1062,16512],{"className":16513,"style":16275},[1176],[1062,16515,1155],{"className":16516,"style":1221},[1181,1220],[1062,16518,2356],{"className":16519},[1181,1220],[1062,16521,2204],{"className":16522},[1181,1220],[1062,16524,16526,16529],{"className":16525},[1181],[1062,16527,2204],{"className":16528},[1181,1220],[1062,16530,16532],{"className":16531},[1188],[1062,16533,16535,16580],{"className":16534},[1192,2965],[1062,16536,16538,16577],{"className":16537},[1196],[1062,16539,16542],{"className":16540,"style":16541},[1200],"height:0.3117em;",[1062,16543,16544,16547],{"style":5231},[1062,16545],{"className":16546,"style":1209},[1208],[1062,16548,16550],{"className":16549},[1213,1214,1215,1216],[1062,16551,16553,16556,16559,16562,16565,16568,16571,16574],{"className":16552},[1181,1216],[1062,16554,2373],{"className":16555},[1181,1220,1216],[1062,16557,2370],{"className":16558},[1181,1220,1216],[1062,16560,986],{"className":16561},[1181,1220,1216],[1062,16563,2370],{"className":16564},[1181,1220,1216],[1062,16566,2373],{"className":16567},[1181,1220,1216],[1062,16569,2356],{"className":16570},[1181,1220,1216],[1062,16572,2359],{"className":16573},[1181,1220,1216],[1062,16575,4713],{"className":16576,"style":2288},[1181,1220,1216],[1062,16578,2995],{"className":16579},[2994],[1062,16581,16583],{"className":16582},[1196],[1062,16584,16586],{"className":16585,"style":16346},[1200],[1062,16587],{},[1062,16589],{"className":16590,"style":1742},[1232],[1062,16592,1711],{"className":16593},[1746],[1062,16595],{"className":16596,"style":1742},[1232],[1062,16598,16600,16603,16606,16609,16612,16615,16618,16621,16624,16627,16630,16633,16636,16639],{"className":16599},[1172],[1062,16601],{"className":16602,"style":2277},[1176],[1062,16604,1155],{"className":16605,"style":1221},[1181,1220],[1062,16607,2356],{"className":16608},[1181,1220],[1062,16610,2505],{"className":16611},[1181,1220],[1062,16613,7078],{"className":16614},[2292],[1062,16616,1702],{"className":16617,"style":1730},[1181,1220],[1062,16619,4443],{"className":16620},[4827],[1062,16622],{"className":16623,"style":4831},[1232],[1062,16625,2938],{"className":16626,"style":1734},[1181,1220],[1062,16628,2190],{"className":16629},[1181,1220],[1062,16631,7088],{"className":16632},[2302],[1062,16634],{"className":16635,"style":1233},[1232],[1062,16637,6566],{"className":16638},[1237],[1062,16640],{"className":16641,"style":1233},[1232],[1062,16643,16645,16648,16651,16654,16657],{"className":16644},[1172],[1062,16646],{"className":16647,"style":16275},[1176],[1062,16649,1155],{"className":16650,"style":1221},[1181,1220],[1062,16652,2356],{"className":16653},[1181,1220],[1062,16655,2204],{"className":16656},[1181,1220],[1062,16658,16660,16663],{"className":16659},[1181],[1062,16661,2204],{"className":16662},[1181,1220],[1062,16664,16666],{"className":16665},[1188],[1062,16667,16669,16710],{"className":16668},[1192,2965],[1062,16670,16672,16707],{"className":16671},[1196],[1062,16673,16675],{"className":16674,"style":14050},[1200],[1062,16676,16677,16680],{"style":5231},[1062,16678],{"className":16679,"style":1209},[1208],[1062,16681,16683],{"className":16682},[1213,1214,1215,1216],[1062,16684,16686,16689,16692,16695,16698,16701,16704],{"className":16685},[1181,1216],[1062,16687,16317],{"className":16688},[1181,1220,1216],[1062,16690,1610],{"className":16691},[1181,1220,1216],[1062,16693,986],{"className":16694},[1181,1220,1216],[1062,16696,3909],{"className":16697},[1181,1220,1216],[1062,16699,2472],{"className":16700,"style":2530},[1181,1220,1216],[1062,16702,16333],{"className":16703,"style":2257},[1181,1220,1216],[1062,16705,4713],{"className":16706,"style":2288},[1181,1220,1216],[1062,16708,2995],{"className":16709},[2994],[1062,16711,16713],{"className":16712},[1196],[1062,16714,16716],{"className":16715,"style":16346},[1200],[1062,16717],{},[1015,16719,16721],{"id":16720},"第三步算-conflict-miss",[982,16722,16723],{},"第三步：算 conflict miss",[986,16725,16726],{},"保持同样容量，把 fully associative 改成 16-way、8-way、4-way、2-way、1-way。随着相联度降低，冲突会变多。实际 cache 比 fully associative 多出来的 miss，就是 conflict miss。",[986,16728,16405,16729,2751],{},[1062,16730,16732,16817],{"className":16731},[1115],[1062,16733,16735],{"className":16734},[1119],[1121,16736,16737],{"xmlns":1123},[1125,16738,16739,16814],{},[1128,16740,16741,16743,16745,16747,16769,16771,16773,16775,16777,16779,16781,16783,16785,16787,16790,16792,16794,16796,16798,16800,16802,16804,16806,16808,16810,16812],{},[1138,16742,1155],{},[1138,16744,2356],{},[1138,16746,2204],{},[2913,16748,16749,16751],{},[1138,16750,2204],{},[1128,16752,16753,16755,16757,16759,16761,16763,16765,16767],{},[1138,16754,2373],{},[1138,16756,2475],{},[1138,16758,3546],{},[1138,16760,5426],{},[1138,16762,2472],{},[1138,16764,2356],{},[1138,16766,2373],{},[1138,16768,2359],{},[1146,16770,1711],{},[1138,16772,1155],{},[1138,16774,2356],{},[1138,16776,2204],{},[1138,16778,2204],{},[1146,16780,7078],{"stretchy":2219},[1138,16782,1702],{},[1146,16784,4443],{"separator":1168},[1138,16786,1140],{},[1142,16788,16789],{},"-way",[1146,16791,7088],{"stretchy":2219},[1146,16793,6566],{},[1138,16795,1155],{},[1138,16797,2356],{},[1138,16799,2204],{},[1138,16801,2204],{},[1146,16803,7078],{"stretchy":2219},[1138,16805,1702],{},[1146,16807,4443],{"separator":1168},[1138,16809,2938],{},[1138,16811,2190],{},[1146,16813,7088],{"stretchy":2219},[1160,16815,16816],{"encoding":1162},"Miss_{conflict}=Miss(C,N\\text{-way})-Miss(C,FA)",[1062,16818,16820,16905,16953],{"className":16819,"ariaHidden":1168},[1167],[1062,16821,16823,16826,16829,16832,16835,16896,16899,16902],{"className":16822},[1172],[1062,16824],{"className":16825,"style":16275},[1176],[1062,16827,1155],{"className":16828,"style":1221},[1181,1220],[1062,16830,2356],{"className":16831},[1181,1220],[1062,16833,2204],{"className":16834},[1181,1220],[1062,16836,16838,16841],{"className":16837},[1181],[1062,16839,2204],{"className":16840},[1181,1220],[1062,16842,16844],{"className":16843},[1188],[1062,16845,16847,16888],{"className":16846},[1192,2965],[1062,16848,16850,16885],{"className":16849},[1196],[1062,16851,16853],{"className":16852,"style":14050},[1200],[1062,16854,16855,16858],{"style":5231},[1062,16856],{"className":16857,"style":1209},[1208],[1062,16859,16861],{"className":16860},[1213,1214,1215,1216],[1062,16862,16864,16867,16870,16873,16876,16879,16882],{"className":16863},[1181,1216],[1062,16865,16317],{"className":16866},[1181,1220,1216],[1062,16868,3546],{"className":16869},[1181,1220,1216],[1062,16871,5426],{"className":16872,"style":5505},[1181,1220,1216],[1062,16874,2472],{"className":16875,"style":2530},[1181,1220,1216],[1062,16877,2356],{"className":16878},[1181,1220,1216],[1062,16880,2373],{"className":16881},[1181,1220,1216],[1062,16883,2359],{"className":16884},[1181,1220,1216],[1062,16886,2995],{"className":16887},[2994],[1062,16889,16891],{"className":16890},[1196],[1062,16892,16894],{"className":16893,"style":16346},[1200],[1062,16895],{},[1062,16897],{"className":16898,"style":1742},[1232],[1062,16900,1711],{"className":16901},[1746],[1062,16903],{"className":16904,"style":1742},[1232],[1062,16906,16908,16911,16914,16917,16920,16923,16926,16929,16932,16935,16941,16944,16947,16950],{"className":16907},[1172],[1062,16909],{"className":16910,"style":2277},[1176],[1062,16912,1155],{"className":16913,"style":1221},[1181,1220],[1062,16915,2356],{"className":16916},[1181,1220],[1062,16918,2505],{"className":16919},[1181,1220],[1062,16921,7078],{"className":16922},[2292],[1062,16924,1702],{"className":16925,"style":1730},[1181,1220],[1062,16927,4443],{"className":16928},[4827],[1062,16930],{"className":16931,"style":4831},[1232],[1062,16933,1140],{"className":16934,"style":1221},[1181,1220],[1062,16936,16938],{"className":16937},[1181,1225],[1062,16939,16789],{"className":16940},[1181],[1062,16942,7088],{"className":16943},[2302],[1062,16945],{"className":16946,"style":1233},[1232],[1062,16948,6566],{"className":16949},[1237],[1062,16951],{"className":16952,"style":1233},[1232],[1062,16954,16956,16959,16962,16965,16968,16971,16974,16977,16980,16983,16986],{"className":16955},[1172],[1062,16957],{"className":16958,"style":2277},[1176],[1062,16960,1155],{"className":16961,"style":1221},[1181,1220],[1062,16963,2356],{"className":16964},[1181,1220],[1062,16966,2505],{"className":16967},[1181,1220],[1062,16969,7078],{"className":16970},[2292],[1062,16972,1702],{"className":16973,"style":1730},[1181,1220],[1062,16975,4443],{"className":16976},[4827],[1062,16978],{"className":16979,"style":4831},[1232],[1062,16981,2938],{"className":16982,"style":1734},[1181,1220],[1062,16984,2190],{"className":16985},[1181,1220],[1062,16987,7088],{"className":16988},[2302],[996,16990,16992],{"id":16991},"主要的缓存参数复习","主要的缓存参数（复习）",[1849,16994,16995],{},[986,16996,16997],{},"复习一下前面讲的 重复了这里",[986,16999,17000],{},[992,17001],{"alt":992,"src":17002},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-84.png",[986,17004,17005],{},"这一页是在总结描述一个 cache 需要哪些核心参数。",[986,17007,17008],{},[982,17009,17010],{},"Block size｜块大小",[986,17012,17013],{},"一个 cache line \u002F block 里有多少字节数据。比如 block size = 64B，表示一次 miss 从下级存储器搬 64B 到 cache。",[986,17015,17016,17017,17020],{},"block size 越大，越能利用空间局部性，但 miss penalty ",[982,17018,17019],{},"（未命中代价）","也可能变大。",[986,17022,17023],{},[982,17024,17025],{},"Associativity｜相联度",[986,17027,17028],{},"每个 set 里有多少个 way。",[1344,17030,17031,17034,17037],{},[1347,17032,17033],{},"direct mapped：每个 set 只有 1 个 way，所以 associativity = 1；",[1347,17035,17036],{},"set associative：每个 set 有多个 way，比如 2-way、4-way；",[1347,17038,17039],{},"fully associative：整个 cache 只有一个 set，所有 block 都可以放到任何位置。",[986,17041,17042,17045,2751],{},[982,17043,17044],{},"缓存容量：",[1062,17046,17048,17139],{"className":17047},[1115],[1062,17049,17051],{"className":17050},[1119],[1121,17052,17053],{"xmlns":1123},[1125,17054,17055,17136],{},[1128,17056,17057,17059,17061,17063,17065,17067,17069,17071,17073,17075,17077,17079,17081,17083,17085,17087,17089,17091,17093,17095,17097,17099,17101,17103,17105,17108,17110,17112,17114,17116,17118,17120,17122,17124,17126,17128,17130,17132,17134],{},[1138,17058,1702],{},[1138,17060,2370],{},[1138,17062,986],{},[1138,17064,2370],{},[1138,17066,2373],{},[1138,17068,2356],{},[1138,17070,2359],{},[1138,17072,4713],{},[1146,17074,1711],{},[1138,17076,8626],{"mathvariant":2926},[1138,17078,2204],{},[1138,17080,2201],{},[1138,17082,2359],{},[1138,17084,2204],{},[1146,17086,1148],{},[1138,17088,2370],{},[1138,17090,2204],{},[1138,17092,2204],{},[1138,17094,2475],{},[1138,17096,2373],{},[1138,17098,2356],{},[1138,17100,2370],{},[1138,17102,2359],{},[1138,17104,2356],{},[1138,17106,17107],{},"v",[1138,17109,2356],{},[1138,17111,2359],{},[1138,17113,4713],{},[1146,17115,1148],{},[1138,17117,2469],{},[1138,17119,2472],{},[1138,17121,2475],{},[1138,17123,2373],{},[1138,17125,2480],{},[1142,17127,3900],{},[1138,17129,2204],{},[1138,17131,2356],{},[1138,17133,5557],{},[1138,17135,2201],{},[1160,17137,17138],{"encoding":1162},"Capacity=\\#sets\\times associativity\\times block\\ size",[1062,17140,17142,17181,17208,17253],{"className":17141,"ariaHidden":1168},[1167],[1062,17143,17145,17148,17151,17154,17157,17160,17163,17166,17169,17172,17175,17178],{"className":17144},[1172],[1062,17146],{"className":17147,"style":5474},[1176],[1062,17149,1702],{"className":17150,"style":1730},[1181,1220],[1062,17152,2370],{"className":17153},[1181,1220],[1062,17155,986],{"className":17156},[1181,1220],[1062,17158,2370],{"className":17159},[1181,1220],[1062,17161,2373],{"className":17162},[1181,1220],[1062,17164,2356],{"className":17165},[1181,1220],[1062,17167,2359],{"className":17168},[1181,1220],[1062,17170,4713],{"className":17171,"style":2288},[1181,1220],[1062,17173],{"className":17174,"style":1742},[1232],[1062,17176,1711],{"className":17177},[1746],[1062,17179],{"className":17180,"style":1742},[1232],[1062,17182,17184,17187,17190,17193,17196,17199,17202,17205],{"className":17183},[1172],[1062,17185],{"className":17186,"style":4550},[1176],[1062,17188,8626],{"className":17189},[1181],[1062,17191,5512],{"className":17192},[1181,1220],[1062,17194,2359],{"className":17195},[1181,1220],[1062,17197,2204],{"className":17198},[1181,1220],[1062,17200],{"className":17201,"style":1233},[1232],[1062,17203,1148],{"className":17204},[1237],[1062,17206],{"className":17207,"style":1233},[1232],[1062,17209,17211,17215,17218,17222,17226,17229,17232,17235,17238,17241,17244,17247,17250],{"className":17210},[1172],[1062,17212],{"className":17213,"style":17214},[1176],"height:0.854em;vertical-align:-0.1944em;",[1062,17216,2370],{"className":17217},[1181,1220],[1062,17219,17221],{"className":17220},[1181,1220],"ssoc",[1062,17223,17225],{"className":17224},[1181,1220],"ia",[1062,17227,2359],{"className":17228},[1181,1220],[1062,17230,2356],{"className":17231},[1181,1220],[1062,17233,17107],{"className":17234,"style":2288},[1181,1220],[1062,17236,2356],{"className":17237},[1181,1220],[1062,17239,2359],{"className":17240},[1181,1220],[1062,17242,4713],{"className":17243,"style":2288},[1181,1220],[1062,17245],{"className":17246,"style":1233},[1232],[1062,17248,1148],{"className":17249},[1237],[1062,17251],{"className":17252,"style":1233},[1232],[1062,17254,17256,17259,17262,17265,17268,17271,17274,17277,17280,17283],{"className":17255},[1172],[1062,17257],{"className":17258,"style":2246},[1176],[1062,17260,2469],{"className":17261},[1181,1220],[1062,17263,2472],{"className":17264,"style":2530},[1181,1220],[1062,17266,2534],{"className":17267},[1181,1220],[1062,17269,2480],{"className":17270,"style":2538},[1181,1220],[1062,17272,3900],{"className":17273},[1232],[1062,17275,2204],{"className":17276},[1181,1220],[1062,17278,2356],{"className":17279},[1181,1220],[1062,17281,5557],{"className":17282,"style":5607},[1181,1220],[1062,17284,2201],{"className":17285},[1181,1220],[986,17287,17288,17289,2751],{},"也可以写成：",[1062,17290,17292,17356],{"className":17291},[1115],[1062,17293,17295],{"className":17294},[1119],[1121,17296,17297],{"xmlns":1123},[1125,17298,17299,17353],{},[1128,17300,17301,17303,17305,17307,17309,17311,17313,17315,17317,17319,17321,17323,17325,17327,17329,17331,17333,17335,17337,17339,17341,17343,17345,17347,17349,17351],{},[1138,17302,8626],{"mathvariant":2926},[1138,17304,2356],{},[1138,17306,2359],{},[1138,17308,2201],{},[1138,17310,1610],{},[1138,17312,2204],{},[1146,17314,1711],{},[1138,17316,8626],{"mathvariant":2926},[1138,17318,2204],{},[1138,17320,2201],{},[1138,17322,2359],{},[1138,17324,2204],{},[1146,17326,1148],{},[1138,17328,2370],{},[1138,17330,2204],{},[1138,17332,2204],{},[1138,17334,2475],{},[1138,17336,2373],{},[1138,17338,2356],{},[1138,17340,2370],{},[1138,17342,2359],{},[1138,17344,2356],{},[1138,17346,17107],{},[1138,17348,2356],{},[1138,17350,2359],{},[1138,17352,4713],{},[1160,17354,17355],{"encoding":1162},"\\#items=\\#sets\\times associativity",[1062,17357,17359,17392,17419],{"className":17358,"ariaHidden":1168},[1167],[1062,17360,17362,17365,17368,17371,17374,17377,17380,17383,17386,17389],{"className":17361},[1172],[1062,17363],{"className":17364,"style":4550},[1176],[1062,17366,8626],{"className":17367},[1181],[1062,17369,2356],{"className":17370},[1181,1220],[1062,17372,2359],{"className":17373},[1181,1220],[1062,17375,2201],{"className":17376},[1181,1220],[1062,17378,1610],{"className":17379},[1181,1220],[1062,17381,2204],{"className":17382},[1181,1220],[1062,17384],{"className":17385,"style":1742},[1232],[1062,17387,1711],{"className":17388},[1746],[1062,17390],{"className":17391,"style":1742},[1232],[1062,17393,17395,17398,17401,17404,17407,17410,17413,17416],{"className":17394},[1172],[1062,17396],{"className":17397,"style":4550},[1176],[1062,17399,8626],{"className":17400},[1181],[1062,17402,5512],{"className":17403},[1181,1220],[1062,17405,2359],{"className":17406},[1181,1220],[1062,17408,2204],{"className":17409},[1181,1220],[1062,17411],{"className":17412,"style":1233},[1232],[1062,17414,1148],{"className":17415},[1237],[1062,17417],{"className":17418,"style":1233},[1232],[1062,17420,17422,17425,17428,17431,17434,17437,17440,17443,17446,17449],{"className":17421},[1172],[1062,17423],{"className":17424,"style":17214},[1176],[1062,17426,2370],{"className":17427},[1181,1220],[1062,17429,17221],{"className":17430},[1181,1220],[1062,17432,17225],{"className":17433},[1181,1220],[1062,17435,2359],{"className":17436},[1181,1220],[1062,17438,2356],{"className":17439},[1181,1220],[1062,17441,17107],{"className":17442,"style":2288},[1181,1220],[1062,17444,2356],{"className":17445},[1181,1220],[1062,17447,2359],{"className":17448},[1181,1220],[1062,17450,4713],{"className":17451,"style":2288},[1181,1220],[986,17453,13418,17454,17457],{},[1902,17455,17456],{"code":17456},"items"," 本质上就是 cache line \u002F cache block 的总数量。",[996,17459,17461],{"id":17460},"cache-design-space-cache-设计空间","Cache Design Space ｜ Cache 设计空间",[986,17463,17464],{},"cache 设计不是单参数优化，而是多个参数互相牵制。",[986,17466,17467],{},[992,17468],{"alt":992,"src":17469},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-85.png",[986,17471,17472],{},"主要设计维度有：",[1344,17474,17475,17478,17481,17484,17487,17492],{},[1347,17476,17477],{},"cache size；",[1347,17479,17480],{},"block size；",[1347,17482,17483],{},"associativity；",[1347,17485,17486],{},"replacement policy；",[1347,17488,17489],{},[982,17490,17491],{},"write-through vs write-back；",[1347,17493,17494],{},[982,17495,17496],{},"write allocation。",[986,17498,17499,17500],{},"重点是：",[982,17501,17502],{},"没有一个参数是越大越好。",[986,17504,17505],{},"比如：",[986,17507,17508],{},"cache size 变大，可以降低 miss rate，但 hit time、面积、功耗会增加。",[986,17510,17511],{},"block size 变大，可以利用空间局部性，但 block 数量减少，可能增加 conflict miss，并且 miss penalty 变大。",[986,17513,17514],{},"associativity 变大，可以降低 conflict miss，但需要更多比较器和选择器，hit time 可能增加。",[996,17516,17518],{"id":17517},"六种基本缓存优化-six-basic-cache-optimizations","六种基本缓存优化 ｜ Six Basic Cache Optimizations",[986,17520,17521],{},[992,17522],{"alt":992,"src":17523},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-86.png",[986,17525,17526],{},"这一页是后面几页的总览。",[986,17528,17529],{},"六种优化分别对应 AMAT 里的不同部分。",[986,17531,17532],{},[982,17533,17534],{},"1. 更大的 block",[986,17536,17537],{},"主要减少 compulsory miss（冷启动缺失），因为一次搬入更多相邻数据，利用空间局部性。",[986,17539,17540],{},"但代价是：miss penalty （未命中代价）增加；cache 容量固定时 block 数变少，可能增加 capacity miss 和 conflict miss。",[986,17542,17543],{},[982,17544,17545],{},"2. 更大的 cache capacity",[986,17547,17548],{},"主要减少 miss rate，尤其是 capacity miss。",[986,17550,17551],{},"但代价是：hit time 增加，功耗和面积增加。",[986,17553,17554],{},[982,17555,17556],{},"3. 更高的 associativity",[986,17558,17559],{},"主要减少 conflict miss。",[986,17561,17562],{},"但代价是：hit time 增加，因为需要并行比较多个 tag，还要用 MUX 选择正确 way。",[986,17564,17565],{},[982,17566,17567],{},"4. 更多的缓存层级",[986,17569,17570],{},"比如 L1 后面加 L2、L3。这样 L1 miss 不一定直接去 DRAM，而是先去 L2\u002FL3，因此降低 miss penalty。",[986,17572,17573],{},[982,17574,17575],{},"5. read miss 优先于 write miss",[986,17577,17578],{},"读 miss 会直接卡住 CPU，所以应优先处理读请求。写请求可以放到 write buffer 里慢慢写。",[986,17580,17581],{},[982,17582,17583],{},"6. 避免缓存索引时等待地址转换",[986,17585,17586],{},"也就是尽量让 cache indexing 和虚拟地址到物理地址转换并行，减少 hit time。后面会联系 TLB \u002F 虚拟地址缓存。",[996,17588,17589],{"id":17589},"优化策略对比表",[986,17591,17592],{},[992,17593],{"alt":992,"src":17594},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-87.png",[986,17596,17597,17598,17600,17601,17604],{},"表里的 ",[1902,17599,1647],{"code":1647}," 可以理解成“对这个指标有改善”，",[1902,17602,17603],{"code":17603},"-"," 可以理解成“对这个指标有副作用”。",[986,17606,9086],{},[1344,17608,17609,17615,17621,17627,17633,17639],{},[1347,17610,17611,17614],{},[982,17612,17613],{},"Larger block size：","它可以降低 compulsory miss，所以对 miss rate 有改善；但一次 miss 要搬更多字节，所以 miss penalty 变差。",[1347,17616,17617,17620],{},[982,17618,17619],{},"Larger cache size：","它降低 miss rate，但 cache 变大之后 tag array \u002F data array 访问更慢，所以 hit time 变差。",[1347,17622,17623,17626],{},[982,17624,17625],{},"Higher associativity：","它降低 conflict miss，所以 miss rate 改善；但多路并行比较和选择会增加 hit time。",[1347,17628,17629,17632],{},[982,17630,17631],{},"Multilevel caches：","它主要降低 miss penalty，因为 L1 miss 可以先去 L2，而不一定直接去 DRAM。",[1347,17634,17635,17638],{},[982,17636,17637],{},"Read priority over writes：","它主要降低读 miss 的等待时间，所以改善 miss penalty。",[1347,17640,17641,17644],{},[982,17642,17643],{},"Avoiding address translation during cache indexing：","它主要减少 hit time，因为不用等完整地址转换结束后再开始访问 cache。",[1015,17646,17648],{"id":17647},"优化1larger-cache","优化1：Larger Cache",[986,17650,17651],{},[992,17652],{"alt":992,"src":17653},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-88.png",[986,17655,17656,17657,17660],{},"更大 cache 的直接好处是：",[982,17658,17659],{},"减少 miss","。更准确地说，它主要减少：",[1344,17662,17663,17666],{},[1347,17664,17665],{},"capacity miss；",[1347,17667,17668],{},"一部分 conflict miss。",[986,17670,17671,17672,2751],{},"但它的坏处是：",[982,17673,17674],{},"hit time 会变长",[986,17676,17677],{},"因为 cache 越大，SRAM 阵列越大，decoder、bitline、tag 比较等路径都可能更慢。L1 cache 尤其敏感，因为 L1 hit time 常常影响 CPU 时钟周期。",[986,17679,17680],{},"所以更大 cache 不一定更快。判断标准还是看 AMAT：",[1377,17682,17683,17686],{},[1347,17684,17685],{},"如果 miss rate 降低带来的收益，大于 hit time 增加带来的损失，那么更大 cache 有利。",[1347,17687,17688],{},"如果 hit time 增加太多，可能反而拖慢整体性能。",[1015,17690,17692],{"id":17691},"优化2增加缓存行数","优化2:增加缓存行数？",[986,17694,17695],{},[992,17696],{"alt":992,"src":17697},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-89.png",[986,17699,17700],{},"如果 block size 不变，通过增加 cache line 数量来增大 cache，会发生什么？",[986,17702,17703,17706],{},[982,17704,17705],{},"Hit time 会增加。","因为 cache 更大，需要更大的 tag array 和 data array，访问路径更长。",[986,17708,17709,17712],{},[982,17710,17711],{},"Miss rate 会下降。","因为总容量变大，可以容纳更多 block，所以 capacity miss 减少。同时，如果组数增加，很多地址不再挤在同一个 set，也可能减少 conflict miss。",[986,17714,17715,17718],{},[982,17716,17717],{},"Miss penalty 基本不变。","因为 block size 没变，一次 miss 仍然搬同样大小的 block，下级存储访问代价大体不变。",[986,17720,17721,17724],{},[982,17722,17723],{},"一个经验法则","：容量每增加约 4 倍，miss rate 大约下降 2 倍。但这只是粗略规律，不是严格公式。",[1094,17726,17728],{"id":17727},"更大的缓存对-miss-rate-的影响","更大的缓存对 miss rate 的影响",[986,17730,17731],{},[992,17732],{"alt":992,"src":17733},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-90.png",[986,17735,17736],{},"图的横轴是 cache size，从 4KB 到 1024KB；纵轴是 miss rate。",[986,17738,17739],{},"主要趋势是：cache 越大，总 miss rate 越低。",[986,17741,17742],{},"但下降不是线性的，而是逐渐变缓。小 cache 增大一点收益很明显；大 cache 再继续增大，收益会变小。",[986,17744,17745],{},"从 3C 角度看：",[986,17747,17748],{},"compulsory miss 基本不会因为 cache 变大而消失，因为第一次访问 block 仍然 miss。",[986,17750,17751],{},"capacity miss 会明显下降，因为 cache 能容纳更多工作集。",[986,17753,17754],{},"conflict miss 也可能下降，因为更大 cache 往往有更多 set，冲突机会变少。",[986,17756,17757,17758],{},"所以这一页的结论是：",[982,17759,17760],{},"更大 cache 确实能降低 miss rate，但收益递减，而且代价是更慢、更贵、更耗电。",[1372,17762,17764],{"id":17763},"spec-cpu2000-整数程序的-miss-rate-与-cache-size","SPEC CPU2000 整数程序的 miss rate 与 cache size",[1849,17766,17767],{},[986,17768,17769],{},"这个了解即可了",[986,17771,17772],{},[992,17773],{"alt":992,"src":17774},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-91.png",[986,17776,17777],{},"这一页是实验数据图。横轴是 cache size，纵轴是 miss rate，而且纵轴是对数坐标。不同曲线代表不同 associativity：",[1344,17779,17780,17783,17786,17789,17792],{},[1347,17781,17782],{},"Direct；",[1347,17784,17785],{},"2-way；",[1347,17787,17788],{},"4-way；",[1347,17790,17791],{},"8-way；",[1347,17793,17794],{},"Full。",[1015,17796,17798],{"id":17797},"优化3-增加-associativity","优化3: 增加 associativity",[986,17800,17801],{},[992,17802],{"alt":992,"src":17803},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-92.png",[1094,17805,17807],{"id":17806},"更高-associativity-对-miss-rate-的影响","更高 associativity 对 miss rate 的影响",[986,17809,17810],{},[992,17811],{"alt":992,"src":17812},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-93.png",[986,17814,17815],{},"左边图看的是总 miss rate 随 cache size 的变化。提高 associativity 后，总 miss rate 下降，尤其是在 cache 较小时更明显。",[986,17817,17818],{},"右边图看的是 miss 的组成比例。提高 associativity 主要减少的是 conflict miss，而 compulsory miss 和 capacity miss 不会因为 associativity 提高而本质消失。",[986,17820,17821],{},[982,17822,17823],{},"associativity 解决的是“映射冲突”，不是“容量不足”。",[1094,17825,17827],{"id":17826},"更高-associativity-的经验法则","更高 associativity 的经验法则",[986,17829,17830],{},[992,17831],{"alt":992,"src":17832},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-94.png",[986,17834,17835],{},"也就是说，提高相联度可以在一定程度上弥补容量较小的问题。因为很多 miss 不是容量真的不够，而是 direct-mapped 的映射冲突太严重。",[1094,17837,17839],{"id":17838},"set-associative-的好处","set-associative 的好处",[986,17841,17842],{},[992,17843],{"alt":992,"src":17844},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-95.png",[986,17846,17847],{},"这一页图的横轴是 associativity：one-way、two-way、four-way、eight-way。",[986,17849,17850],{},"纵轴是 miss rate。",[986,17852,17853],{},"不同曲线代表不同 cache size，比如 1KB、2KB、4KB、……、128KB。",[986,17855,17856,17857],{},"图里最重要的结论是：",[982,17858,17859],{},"从 direct mapped 到 2-way 的收益最大。",[986,17861,17862],{},"很多情况下，miss rate 能下降 20% 以上。",[986,17864,17865],{},"但从 4-way 到 8-way，收益就变小了。对于较大的 cache，比如 64KB、128KB，本来 miss rate 已经很低，提高 associativity 的收益更不明显。",[986,17867,17868],{},"所以工程选择要权衡：",[1377,17870,17871,17874],{},[1347,17872,17873],{},"direct-mapped cache 的 hit time 更短，硬件更简单。",[1347,17875,17876],{},"set-associative cache 的 miss rate 更低，但 hit time、面积、功耗更高。",[986,17878,17879],{},"最终选哪个，要看 miss penalty 有多大，以及实现代价能不能接受。",[1015,17881,17882],{"id":17882},"练习题",[986,17884,17885],{},[992,17886],{"alt":992,"src":17887},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-96.png",[986,17889,17890],{},"题目问：在 cache capacity 和 block size 固定时，增加 associativity 对 AMAT 有什么影响？",[986,17892,17893,17894,2751],{},"正确答案是 ",[982,17895,17896],{},"A：Increases hit time, decreases miss rate",[986,17898,17899],{},"原因是：capacity 固定、block size 固定时，增加 associativity 意味着每个 set 里 way 更多，冲突减少，所以 miss rate 下降。",[986,17901,17902],{},"但同时，每次访问 cache 要比较更多 tag，还要从多个 way 中选择数据，所以 hit time 增加。",[986,17904,17905],{},"因此对 AMAT 的最终影响不一定单调。因为：",[1062,17907,17909],{"className":17908},[7840],[1062,17910,17912,17996],{"className":17911},[1115],[1062,17913,17915],{"className":17914},[1119],[1121,17916,17917],{"xmlns":1123,"display":3391},[1125,17918,17919,17993],{},[1128,17920,17921,17923,17925,17927,17929,17931,17933,17935,17937,17939,17941,17943,17945,17947,17949,17951,17953,17955,17957,17959,17961,17963,17965,17967,17969,17971,17973,17975,17977,17979,17981,17983,17985,17987,17989,17991],{},[1138,17922,2190],{},[1138,17924,1155],{},[1138,17926,2190],{},[1138,17928,4621],{},[1146,17930,1711],{},[1138,17932,2353],{},[1138,17934,2356],{},[1138,17936,2359],{},[1142,17938,3900],{},[1138,17940,2359],{},[1138,17942,2356],{},[1138,17944,1610],{},[1138,17946,2201],{},[1146,17948,1647],{},[1138,17950,1155],{},[1138,17952,2356],{},[1138,17954,2204],{},[1138,17956,2204],{},[1142,17958,3900],{},[1138,17960,2198],{},[1138,17962,2370],{},[1138,17964,2359],{},[1138,17966,2201],{},[1146,17968,1148],{},[1138,17970,1155],{},[1138,17972,2356],{},[1138,17974,2204],{},[1138,17976,2204],{},[1142,17978,3900],{},[1138,17980,986],{},[1138,17982,2201],{},[1138,17984,3546],{},[1138,17986,2370],{},[1138,17988,2472],{},[1138,17990,2359],{},[1138,17992,4713],{},[1160,17994,17995],{"encoding":1162},"AMAT=Hit\\ time+Miss\\ rate\\times Miss\\ penalty",[1062,17997,17999,18026,18062,18101],{"className":17998,"ariaHidden":1168},[1167],[1062,18000,18002,18005,18008,18011,18014,18017,18020,18023],{"className":18001},[1172],[1062,18003],{"className":18004,"style":1726},[1176],[1062,18006,2190],{"className":18007},[1181,1220],[1062,18009,1155],{"className":18010,"style":1221},[1181,1220],[1062,18012,2190],{"className":18013},[1181,1220],[1062,18015,4621],{"className":18016,"style":1734},[1181,1220],[1062,18018],{"className":18019,"style":1742},[1232],[1062,18021,1711],{"className":18022},[1746],[1062,18024],{"className":18025,"style":1742},[1232],[1062,18027,18029,18032,18035,18038,18041,18044,18047,18050,18053,18056,18059],{"className":18028},[1172],[1062,18030],{"className":18031,"style":3748},[1176],[1062,18033,2353],{"className":18034,"style":2397},[1181,1220],[1062,18036,2356],{"className":18037},[1181,1220],[1062,18039,2359],{"className":18040},[1181,1220],[1062,18042,3900],{"className":18043},[1232],[1062,18045,2359],{"className":18046},[1181,1220],[1062,18048,14477],{"className":18049},[1181,1220],[1062,18051,2201],{"className":18052},[1181,1220],[1062,18054],{"className":18055,"style":1233},[1232],[1062,18057,1647],{"className":18058},[1237],[1062,18060],{"className":18061,"style":1233},[1232],[1062,18063,18065,18068,18071,18074,18077,18080,18083,18086,18089,18092,18095,18098],{"className":18064},[1172],[1062,18066],{"className":18067,"style":3748},[1176],[1062,18069,1155],{"className":18070,"style":1221},[1181,1220],[1062,18072,2356],{"className":18073},[1181,1220],[1062,18075,2505],{"className":18076},[1181,1220],[1062,18078,3900],{"className":18079},[1232],[1062,18081,2198],{"className":18082,"style":2257},[1181,1220],[1062,18084,2370],{"className":18085},[1181,1220],[1062,18087,2359],{"className":18088},[1181,1220],[1062,18090,2201],{"className":18091},[1181,1220],[1062,18093],{"className":18094,"style":1233},[1232],[1062,18096,1148],{"className":18097},[1237],[1062,18099],{"className":18100,"style":1233},[1232],[1062,18102,18104,18107,18110,18113,18116,18119,18122,18125,18128,18131,18134],{"className":18103},[1172],[1062,18105],{"className":18106,"style":4550},[1176],[1062,18108,1155],{"className":18109,"style":1221},[1181,1220],[1062,18111,2356],{"className":18112},[1181,1220],[1062,18114,2505],{"className":18115},[1181,1220],[1062,18117,3900],{"className":18118},[1232],[1062,18120,986],{"className":18121},[1181,1220],[1062,18123,2201],{"className":18124},[1181,1220],[1062,18126,14580],{"className":18127},[1181,1220],[1062,18129,2472],{"className":18130,"style":2530},[1181,1220],[1062,18132,2359],{"className":18133},[1181,1220],[1062,18135,4713],{"className":18136,"style":2288},[1181,1220],[986,18138,18139],{},"hit time 增加是坏事，miss rate 降低是好事。最后 AMAT 是变大还是变小，要看二者哪个影响更强。",[986,18141,18142,18143,18146,18147,18150,18151,2751],{},"下面重新按你给的笔记风格分析 ",[982,18144,18145],{},"L8-9 Memory 第 113–122 页","，也就是从 ",[982,18148,18149],{},"AMAT、block size、read miss priority、address translation、multi-level cache"," 这一段开始。课件来源为你上传的 ",[1902,18152,18153],{"code":18153},"L8-9 Memory(2).pptx",[7727,18155],{},[978,18157,18159],{"id":18158},"page-113amat-与-associativity-权衡","Page 113｜AMAT 与 Associativity 权衡",[986,18161,18162,18163,2751],{},"这一页继续讲 ",[982,18164,18165],{},"associativity 对 AMAT 的影响",[986,18167,18168],{},"核心公式还是：",[1062,18170,18172],{"className":18171},[7840],[1062,18173,18175,18259],{"className":18174},[1115],[1062,18176,18178],{"className":18177},[1119],[1121,18179,18180],{"xmlns":1123,"display":3391},[1125,18181,18182,18256],{},[1128,18183,18184,18186,18188,18190,18192,18194,18196,18198,18200,18202,18204,18206,18208,18210,18212,18214,18216,18218,18220,18222,18224,18226,18228,18230,18232,18234,18236,18238,18240,18242,18244,18246,18248,18250,18252,18254],{},[1138,18185,2190],{},[1138,18187,1155],{},[1138,18189,2190],{},[1138,18191,4621],{},[1146,18193,1711],{},[1138,18195,2353],{},[1138,18197,2356],{},[1138,18199,2359],{},[1142,18201,3900],{},[1138,18203,4621],{},[1138,18205,2356],{},[1138,18207,1610],{},[1138,18209,2201],{},[1146,18211,1647],{},[1138,18213,1155],{},[1138,18215,2356],{},[1138,18217,2204],{},[1138,18219,2204],{},[1142,18221,3900],{},[1138,18223,2211],{},[1138,18225,2370],{},[1138,18227,2359],{},[1138,18229,2201],{},[1146,18231,1148],{},[1138,18233,1155],{},[1138,18235,2356],{},[1138,18237,2204],{},[1138,18239,2204],{},[1142,18241,3900],{},[1138,18243,1705],{},[1138,18245,2201],{},[1138,18247,3546],{},[1138,18249,2370],{},[1138,18251,2472],{},[1138,18253,2359],{},[1138,18255,4713],{},[1160,18257,18258],{"encoding":1162},"AMAT = Hit\\ Time + Miss\\ Rate \\times Miss\\ Penalty",[1062,18260,18262,18289,18325,18364],{"className":18261,"ariaHidden":1168},[1167],[1062,18263,18265,18268,18271,18274,18277,18280,18283,18286],{"className":18264},[1172],[1062,18266],{"className":18267,"style":1726},[1176],[1062,18269,2190],{"className":18270},[1181,1220],[1062,18272,1155],{"className":18273,"style":1221},[1181,1220],[1062,18275,2190],{"className":18276},[1181,1220],[1062,18278,4621],{"className":18279,"style":1734},[1181,1220],[1062,18281],{"className":18282,"style":1742},[1232],[1062,18284,1711],{"className":18285},[1746],[1062,18287],{"className":18288,"style":1742},[1232],[1062,18290,18292,18295,18298,18301,18304,18307,18310,18313,18316,18319,18322],{"className":18291},[1172],[1062,18293],{"className":18294,"style":3748},[1176],[1062,18296,2353],{"className":18297,"style":2397},[1181,1220],[1062,18299,2356],{"className":18300},[1181,1220],[1062,18302,2359],{"className":18303},[1181,1220],[1062,18305,3900],{"className":18306},[1232],[1062,18308,4621],{"className":18309,"style":1734},[1181,1220],[1062,18311,14477],{"className":18312},[1181,1220],[1062,18314,2201],{"className":18315},[1181,1220],[1062,18317],{"className":18318,"style":1233},[1232],[1062,18320,1647],{"className":18321},[1237],[1062,18323],{"className":18324,"style":1233},[1232],[1062,18326,18328,18331,18334,18337,18340,18343,18346,18349,18352,18355,18358,18361],{"className":18327},[1172],[1062,18329],{"className":18330,"style":3748},[1176],[1062,18332,1155],{"className":18333,"style":1221},[1181,1220],[1062,18335,2356],{"className":18336},[1181,1220],[1062,18338,2505],{"className":18339},[1181,1220],[1062,18341,3900],{"className":18342},[1232],[1062,18344,2211],{"className":18345,"style":2281},[1181,1220],[1062,18347,2370],{"className":18348},[1181,1220],[1062,18350,2359],{"className":18351},[1181,1220],[1062,18353,2201],{"className":18354},[1181,1220],[1062,18356],{"className":18357,"style":1233},[1232],[1062,18359,1148],{"className":18360},[1237],[1062,18362],{"className":18363,"style":1233},[1232],[1062,18365,18367,18370,18373,18376,18379,18382,18385,18388,18391,18394,18397],{"className":18366},[1172],[1062,18368],{"className":18369,"style":4550},[1176],[1062,18371,1155],{"className":18372,"style":1221},[1181,1220],[1062,18374,2356],{"className":18375},[1181,1220],[1062,18377,2505],{"className":18378},[1181,1220],[1062,18380,3900],{"className":18381},[1232],[1062,18383,1705],{"className":18384,"style":1734},[1181,1220],[1062,18386,2201],{"className":18387},[1181,1220],[1062,18389,14580],{"className":18390},[1181,1220],[1062,18392,2472],{"className":18393,"style":2530},[1181,1220],[1062,18395,2359],{"className":18396},[1181,1220],[1062,18398,4713],{"className":18399,"style":2288},[1181,1220],[986,18401,18402,18403,18406],{},"更高的 associativity 可以降低 cache miss rate，尤其是降低 ",[982,18404,18405],{},"conflict miss","。因为同一个 set 里可以放更多 way，原本会互相挤掉的 blocks 现在可以共存。",[986,18408,18409,18410],{},"但重点是：",[982,18411,18412],{},"associativity 不是越高越好。",[986,18414,18415],{},"原因是 associativity 增大后：",[1344,18417,18418,18421,18424,18427,18430],{},[1347,18419,18420],{},"tag 比较器数量增加；",[1347,18422,18423],{},"多个 way 要并行查找；",[1347,18425,18426],{},"hit 后还要通过 MUX 选择正确 way；",[1347,18428,18429],{},"replacement policy 也更复杂；",[1347,18431,18432,18433,2751],{},"所以 ",[982,18434,18435],{},"hit time 会增加",[986,18437,18438],{},"因此它对 AMAT 的影响是双向的：",[1062,18440,18442],{"className":18441},[7840],[1062,18443,18445,18534],{"className":18444},[1115],[1062,18446,18448],{"className":18447},[1119],[1121,18449,18450],{"xmlns":1123,"display":3391},[1125,18451,18452,18531],{},[1128,18453,18454,18456,18458,18460,18462,18464,18466,18468,18470,18473,18475,18477,18479,18481,18483,18485,18487,18489,18491,18493,18495,18498,18500,18502,18504,18506,18508,18510,18512,18514,18516,18518,18520,18522,18524,18526,18528],{},[1138,18455,2353],{},[1138,18457,2356],{},[1138,18459,2359],{},[1142,18461,3900],{},[1138,18463,4621],{},[1138,18465,2356],{},[1138,18467,1610],{},[1138,18469,2201],{},[1146,18471,18472],{},"↑",[1146,18474,4443],{"separator":1168},[1142,18476,3900],{},[1138,18478,1155],{},[1138,18480,2356],{},[1138,18482,2204],{},[1138,18484,2204],{},[1142,18486,3900],{},[1138,18488,2211],{},[1138,18490,2370],{},[1138,18492,2359],{},[1138,18494,2201],{},[1146,18496,18497],{},"↓",[1146,18499,4443],{"separator":1168},[1142,18501,3900],{},[1138,18503,1155],{},[1138,18505,2356],{},[1138,18507,2204],{},[1138,18509,2204],{},[1142,18511,3900],{},[1138,18513,1705],{},[1138,18515,2201],{},[1138,18517,3546],{},[1138,18519,2370],{},[1138,18521,2472],{},[1138,18523,2359],{},[1138,18525,4713],{},[1146,18527,15243],{},[1142,18529,18530],{},"不变",[1160,18532,18533],{"encoding":1162},"Hit\\ Time \\uparrow,\\ Miss\\ Rate \\downarrow,\\ Miss\\ Penalty \\approx 不变",[1062,18535,18537,18570,18615,18669],{"className":18536,"ariaHidden":1168},[1167],[1062,18538,18540,18543,18546,18549,18552,18555,18558,18561,18564,18567],{"className":18539},[1172],[1062,18541],{"className":18542,"style":4550},[1176],[1062,18544,2353],{"className":18545,"style":2397},[1181,1220],[1062,18547,2356],{"className":18548},[1181,1220],[1062,18550,2359],{"className":18551},[1181,1220],[1062,18553,3900],{"className":18554},[1232],[1062,18556,4621],{"className":18557,"style":1734},[1181,1220],[1062,18559,14477],{"className":18560},[1181,1220],[1062,18562,2201],{"className":18563},[1181,1220],[1062,18565],{"className":18566,"style":1742},[1232],[1062,18568,18472],{"className":18569},[1746],[1062,18571,18573,18576,18579,18582,18585,18588,18591,18594,18597,18600,18603,18606,18609,18612],{"className":18572},[1172],[1062,18574],{"className":18575,"style":4550},[1176],[1062,18577,4443],{"className":18578},[4827],[1062,18580,3900],{"className":18581},[1232],[1062,18583],{"className":18584,"style":4831},[1232],[1062,18586,1155],{"className":18587,"style":1221},[1181,1220],[1062,18589,2356],{"className":18590},[1181,1220],[1062,18592,2505],{"className":18593},[1181,1220],[1062,18595,3900],{"className":18596},[1232],[1062,18598,2211],{"className":18599,"style":2281},[1181,1220],[1062,18601,2370],{"className":18602},[1181,1220],[1062,18604,2359],{"className":18605},[1181,1220],[1062,18607,2201],{"className":18608},[1181,1220],[1062,18610],{"className":18611,"style":1742},[1232],[1062,18613,18497],{"className":18614},[1746],[1062,18616,18618,18621,18624,18627,18630,18633,18636,18639,18642,18645,18648,18651,18654,18657,18660,18663,18666],{"className":18617},[1172],[1062,18619],{"className":18620,"style":4550},[1176],[1062,18622,4443],{"className":18623},[4827],[1062,18625,3900],{"className":18626},[1232],[1062,18628],{"className":18629,"style":4831},[1232],[1062,18631,1155],{"className":18632,"style":1221},[1181,1220],[1062,18634,2356],{"className":18635},[1181,1220],[1062,18637,2505],{"className":18638},[1181,1220],[1062,18640,3900],{"className":18641},[1232],[1062,18643,1705],{"className":18644,"style":1734},[1181,1220],[1062,18646,2201],{"className":18647},[1181,1220],[1062,18649,14580],{"className":18650},[1181,1220],[1062,18652,2472],{"className":18653,"style":2530},[1181,1220],[1062,18655,2359],{"className":18656},[1181,1220],[1062,18658,4713],{"className":18659,"style":2288},[1181,1220],[1062,18661],{"className":18662,"style":1742},[1232],[1062,18664,15243],{"className":18665},[1746],[1062,18667],{"className":18668,"style":1742},[1232],[1062,18670,18672,18675],{"className":18671},[1172],[1062,18673],{"className":18674,"style":1726},[1176],[1062,18676,18530],{"className":18677},[1181,2422],[986,18679,18680],{},"所以判断 associativity 是否值得提高，不能只看 miss rate 是否下降，而要看：",[1062,18682,18684],{"className":18683},[7840],[1062,18685,18687,18742],{"className":18686},[1115],[1062,18688,18690],{"className":18689},[1119],[1121,18691,18692],{"xmlns":1123,"display":3391},[1125,18693,18694,18739],{},[1128,18695,18696,18698,18700,18702,18704,18706,18708,18710,18712,18715,18718,18720,18722,18724,18726,18728,18730,18732,18734,18736],{},[1138,18697,2353],{},[1138,18699,2356],{},[1138,18701,2359],{},[1142,18703,3900],{},[1138,18705,4621],{},[1138,18707,2356],{},[1138,18709,1610],{},[1138,18711,2201],{},[1142,18713,18714],{},"增加的损失",[1146,18716,18717],{},"\u003C",[1138,18719,1155],{},[1138,18721,2356],{},[1138,18723,2204],{},[1138,18725,2204],{},[1142,18727,3900],{},[1138,18729,2211],{},[1138,18731,2370],{},[1138,18733,2359],{},[1138,18735,2201],{},[1142,18737,18738],{},"降低带来的收益",[1160,18740,18741],{"encoding":1162},"Hit\\ Time 增加的损失 \u003C Miss\\ Rate 降低带来的收益",[1062,18743,18745,18785],{"className":18744,"ariaHidden":1168},[1167],[1062,18746,18748,18752,18755,18758,18761,18764,18767,18770,18773,18776,18779,18782],{"className":18747},[1172],[1062,18749],{"className":18750,"style":18751},[1176],"height:0.7224em;vertical-align:-0.0391em;",[1062,18753,2353],{"className":18754,"style":2397},[1181,1220],[1062,18756,2356],{"className":18757},[1181,1220],[1062,18759,2359],{"className":18760},[1181,1220],[1062,18762,3900],{"className":18763},[1232],[1062,18765,4621],{"className":18766,"style":1734},[1181,1220],[1062,18768,14477],{"className":18769},[1181,1220],[1062,18771,2201],{"className":18772},[1181,1220],[1062,18774,18714],{"className":18775},[1181,2422],[1062,18777],{"className":18778,"style":1742},[1232],[1062,18780,18717],{"className":18781},[1746],[1062,18783],{"className":18784,"style":1742},[1232],[1062,18786,18788,18791,18794,18797,18800,18803,18806,18809,18812,18815],{"className":18787},[1172],[1062,18789],{"className":18790,"style":1726},[1176],[1062,18792,1155],{"className":18793,"style":1221},[1181,1220],[1062,18795,2356],{"className":18796},[1181,1220],[1062,18798,2505],{"className":18799},[1181,1220],[1062,18801,3900],{"className":18802},[1232],[1062,18804,2211],{"className":18805,"style":2281},[1181,1220],[1062,18807,2370],{"className":18808},[1181,1220],[1062,18810,2359],{"className":18811},[1181,1220],[1062,18813,2201],{"className":18814},[1181,1220],[1062,18816,18738],{"className":18817},[1181,2422],[986,18819,18820,18821],{},"这一页还有一个重要工程经验：\n",[982,18822,18823],{},"8-way set associative cache 在很多实际 workload 中，miss rate 已经接近 fully associative cache。",[986,18825,18826,18827,18830],{},"注意这里不是说硬件结构等于 fully associative，而是说 ",[982,18828,18829],{},"性能效果上接近","。Fully associative 需要全局搜索，硬件代价很高；8-way 往往已经足够接近它的 miss rate。",[7727,18832],{},[978,18834,18836],{"id":18835},"page-114增加-block-size","Page 114｜增加 Block Size？",[986,18838,18839,18840,2751],{},"这一页开始讲另一个优化方向：",[982,18841,18842],{},"larger block size",[986,18844,18845],{},"block size 也叫 cache line size，是 cache 和下一级 memory 之间搬运数据的单位。",[986,18847,18848],{},"增大 block size 的影响要分别看 AMAT 三项。",[996,18850,18852],{"id":18851},"hit-time","Hit time",[986,18854,18855,18856,18859],{},"hit time 通常 ",[982,18857,18858],{},"基本不变","，有时可能略微下降，也可能略微上升。",[986,18861,18862],{},"为什么可能下降？",[986,18864,18865],{},"因为 block 变大后，在总 cache capacity 固定时，cache line 数量减少，tag 数量减少，tag array 可能更小。",[986,18867,18868],{},"为什么也可能上升？",[986,18870,18871],{},"因为 block 内部的数据选择更复杂，MUX、布线、边界选择可能增加开销。",[986,18873,18874],{},"所以考试里通常写：",[1062,18876,18878],{"className":18877},[7840],[1062,18879,18881,18929],{"className":18880},[1115],[1062,18882,18884],{"className":18883},[1119],[1121,18885,18886],{"xmlns":1123,"display":3391},[1125,18887,18888,18926],{},[1128,18889,18890,18892,18894,18896,18898,18900,18902,18904,18906,18908,18910,18912,18914,18916,18918,18920,18922,18924],{},[1138,18891,2353],{},[1138,18893,2356],{},[1138,18895,2359],{},[1142,18897,3900],{},[1138,18899,4621],{},[1138,18901,2356],{},[1138,18903,1610],{},[1138,18905,2201],{},[1146,18907,15243],{},[1138,18909,3897],{},[1138,18911,3546],{},[1138,18913,2373],{},[1138,18915,2376],{},[1138,18917,2370],{},[1138,18919,3546],{},[1138,18921,2216],{},[1138,18923,2201],{},[1138,18925,2193],{},[1160,18927,18928],{"encoding":1162},"Hit\\ Time \\approx Unchanged",[1062,18930,18932,18968],{"className":18931,"ariaHidden":1168},[1167],[1062,18933,18935,18938,18941,18944,18947,18950,18953,18956,18959,18962,18965],{"className":18934},[1172],[1062,18936],{"className":18937,"style":1726},[1176],[1062,18939,2353],{"className":18940,"style":2397},[1181,1220],[1062,18942,2356],{"className":18943},[1181,1220],[1062,18945,2359],{"className":18946},[1181,1220],[1062,18948,3900],{"className":18949},[1232],[1062,18951,4621],{"className":18952,"style":1734},[1181,1220],[1062,18954,14477],{"className":18955},[1181,1220],[1062,18957,2201],{"className":18958},[1181,1220],[1062,18960],{"className":18961,"style":1742},[1232],[1062,18963,15243],{"className":18964},[1746],[1062,18966],{"className":18967,"style":1742},[1232],[1062,18969,18971,18974,18977,18980,18983,18987,18990,18993],{"className":18970},[1172],[1062,18972],{"className":18973,"style":4550},[1176],[1062,18975,3897],{"className":18976,"style":1221},[1181,1220],[1062,18978,3546],{"className":18979},[1181,1220],[1062,18981,2373],{"className":18982},[1181,1220],[1062,18984,18986],{"className":18985},[1181,1220],"han",[1062,18988,2216],{"className":18989,"style":2288},[1181,1220],[1062,18991,2201],{"className":18992},[1181,1220],[1062,18994,2193],{"className":18995},[1181,1220],[986,18997,18998],{},"但工程上要知道它不是绝对不变。",[996,19000,19002],{"id":19001},"miss-rate","Miss rate",[986,19004,19005,19006,2751],{},"block size 增大后，miss rate 通常 ",[982,19007,19008],{},"先下降，后可能上升",[986,19010,19011,19012,19015],{},"一开始下降，是因为利用了 ",[982,19013,19014],{},"spatial locality｜空间局部性","。\n访问一个地址后，很可能继续访问附近地址。",[986,19017,19018],{},"比如访问数组：",[1896,19020,19023],{"className":19021,"code":19022,"language":1225},[1899],"a[0], a[1], a[2], a[3]\n",[1902,19024,19022],{"__ignoreMap":1904},[986,19026,19027],{},"如果一个 block 一次把这几个元素都取进来，那么第一次 miss 后，后面可能都是 hit。",[986,19029,19030],{},"但 block 太大时，miss rate 可能上升。因为总 cache capacity 固定时：",[1062,19032,19034],{"className":19033},[7840],[1062,19035,19037,19141],{"className":19036},[1115],[1062,19038,19040],{"className":19039},[1119],[1121,19041,19042],{"xmlns":1123,"display":3391},[1125,19043,19044,19138],{},[1128,19045,19046,19048,19050,19052,19054,19056,19058,19060,19062,19064,19066,19068,19070,19072,19074,19076,19078,19080,19082,19084],{},[1138,19047,1702],{},[1138,19049,2370],{},[1138,19051,2373],{},[1138,19053,2376],{},[1138,19055,2201],{},[1142,19057,3900],{},[1138,19059,5567],{},[1138,19061,2472],{},[1138,19063,2475],{},[1138,19065,2373],{},[1138,19067,2480],{},[1142,19069,3900],{},[1138,19071,1140],{},[1138,19073,3909],{},[1138,19075,1610],{},[1138,19077,2469],{},[1138,19079,2201],{},[1138,19081,2198],{},[1146,19083,1711],{},[6824,19085,19086,19116],{},[1128,19087,19088,19090,19092,19094,19096,19098,19100,19102,19104,19106,19108,19110,19112,19114],{},[1138,19089,1702],{},[1138,19091,2370],{},[1138,19093,2373],{},[1138,19095,2376],{},[1138,19097,2201],{},[1142,19099,3900],{},[1138,19101,1702],{},[1138,19103,2370],{},[1138,19105,986],{},[1138,19107,2370],{},[1138,19109,2373],{},[1138,19111,2356],{},[1138,19113,2359],{},[1138,19115,4713],{},[1128,19117,19118,19120,19122,19124,19126,19128,19130,19132,19134,19136],{},[1138,19119,5567],{},[1138,19121,2472],{},[1138,19123,2475],{},[1138,19125,2373],{},[1138,19127,2480],{},[1142,19129,3900],{},[1138,19131,9259],{},[1138,19133,2356],{},[1138,19135,5557],{},[1138,19137,2201],{},[1160,19139,19140],{"encoding":1162},"Cache\\ Block\\ Number = \\frac{Cache\\ Capacity}{Block\\ Size}",[1062,19142,19144,19205],{"className":19143,"ariaHidden":1168},[1167],[1062,19145,19147,19150,19153,19156,19159,19162,19165,19168,19171,19174,19177,19180,19183,19186,19189,19193,19196,19199,19202],{"className":19146},[1172],[1062,19148],{"className":19149,"style":2246},[1176],[1062,19151,1702],{"className":19152,"style":1730},[1181,1220],[1062,19154,2370],{"className":19155},[1181,1220],[1062,19157,2373],{"className":19158},[1181,1220],[1062,19160,2376],{"className":19161},[1181,1220],[1062,19163,2201],{"className":19164},[1181,1220],[1062,19166,3900],{"className":19167},[1232],[1062,19169,5567],{"className":19170,"style":5632},[1181,1220],[1062,19172,2472],{"className":19173,"style":2530},[1181,1220],[1062,19175,2534],{"className":19176},[1181,1220],[1062,19178,2480],{"className":19179,"style":2538},[1181,1220],[1062,19181,3900],{"className":19182},[1232],[1062,19184,1140],{"className":19185,"style":1221},[1181,1220],[1062,19187,3909],{"className":19188},[1181,1220],[1062,19190,19192],{"className":19191},[1181,1220],"mb",[1062,19194,15320],{"className":19195,"style":2257},[1181,1220],[1062,19197],{"className":19198,"style":1742},[1232],[1062,19200,1711],{"className":19201},[1746],[1062,19203],{"className":19204,"style":1742},[1232],[1062,19206,19208,19212],{"className":19207},[1172],[1062,19209],{"className":19210,"style":19211},[1176],"height:2.0574em;vertical-align:-0.686em;",[1062,19213,19215,19218,19335],{"className":19214},[1181],[1062,19216],{"className":19217},[2292,6874],[1062,19219,19221],{"className":19220},[6824],[1062,19222,19224,19327],{"className":19223},[1192,2965],[1062,19225,19227,19324],{"className":19226},[1196],[1062,19228,19231,19266,19274],{"className":19229,"style":19230},[1200],"height:1.3714em;",[1062,19232,19233,19236],{"style":10610},[1062,19234],{"className":19235,"style":6894},[1208],[1062,19237,19239,19242,19245,19248,19251,19254,19257,19260,19263],{"className":19238},[1181],[1062,19240,5567],{"className":19241,"style":5632},[1181,1220],[1062,19243,2472],{"className":19244,"style":2530},[1181,1220],[1062,19246,2534],{"className":19247},[1181,1220],[1062,19249,2480],{"className":19250,"style":2538},[1181,1220],[1062,19252,3900],{"className":19253},[1232],[1062,19255,9259],{"className":19256,"style":9315},[1181,1220],[1062,19258,2356],{"className":19259},[1181,1220],[1062,19261,5557],{"className":19262,"style":5607},[1181,1220],[1062,19264,2201],{"className":19265},[1181,1220],[1062,19267,19268,19271],{"style":6913},[1062,19269],{"className":19270,"style":6894},[1208],[1062,19272],{"className":19273,"style":6921},[6920],[1062,19275,19276,19279],{"style":10658},[1062,19277],{"className":19278,"style":6894},[1208],[1062,19280,19282,19285,19288,19291,19294,19297,19300,19303,19306,19309,19312,19315,19318,19321],{"className":19281},[1181],[1062,19283,1702],{"className":19284,"style":1730},[1181,1220],[1062,19286,2370],{"className":19287},[1181,1220],[1062,19289,2373],{"className":19290},[1181,1220],[1062,19292,2376],{"className":19293},[1181,1220],[1062,19295,2201],{"className":19296},[1181,1220],[1062,19298,3900],{"className":19299},[1232],[1062,19301,1702],{"className":19302,"style":1730},[1181,1220],[1062,19304,2370],{"className":19305},[1181,1220],[1062,19307,986],{"className":19308},[1181,1220],[1062,19310,2370],{"className":19311},[1181,1220],[1062,19313,2373],{"className":19314},[1181,1220],[1062,19316,2356],{"className":19317},[1181,1220],[1062,19319,2359],{"className":19320},[1181,1220],[1062,19322,4713],{"className":19323,"style":2288},[1181,1220],[1062,19325,2995],{"className":19326},[2994],[1062,19328,19330],{"className":19329},[1196],[1062,19331,19333],{"className":19332,"style":10706},[1200],[1062,19334],{},[1062,19336],{"className":19337},[2302,6874],[986,19339,19340],{},"block size 越大，cache 里能放的 block 数量越少，所以更容易发生：",[1344,19342,19343,19345,19348],{},[1347,19344,17665],{},[1347,19346,19347],{},"conflict miss；",[1347,19349,19350],{},"bandwidth waste。",[996,19352,19354],{"id":19353},"miss-penalty","Miss penalty",[986,19356,19357],{},"block size 增大后，miss penalty 一般增加。",[986,19359,19360],{},"因为一次 miss 要从下一级 memory 搬更多字节。",[986,19362,19363],{},"所以这一页的核心结论是：",[1062,19365,19367],{"className":19366},[7840],[1062,19368,19370,19521],{"className":19369},[1115],[1062,19371,19373],{"className":19372},[1119],[1121,19374,19375],{"xmlns":1123,"display":3391},[1125,19376,19377,19518],{},[1128,19378,19379,19381,19383,19385,19387,19389,19391,19393,19395,19397,19399,19401,19403,19405,19407,19409,19411,19413,19415,19417,19419,19421,19423,19425,19427,19429,19431,19433,19435,19437,19439,19441,19443,19445,19447,19449,19451,19453,19455,19457,19459,19461,19463,19465,19467,19469,19471,19473,19475,19477,19479,19481,19483,19485,19487,19489,19491,19493,19495,19497,19499,19501,19503,19505,19507,19509,19511,19513,19516],{},[1138,19380,5567],{},[1138,19382,2472],{},[1138,19384,2475],{},[1138,19386,2373],{},[1138,19388,2480],{},[1142,19390,3900],{},[1138,19392,9259],{},[1138,19394,2356],{},[1138,19396,5557],{},[1138,19398,2201],{},[1146,19400,18472],{},[1146,19402,2362],{},[1138,19404,1702],{},[1138,19406,2475],{},[1138,19408,1610],{},[1138,19410,986],{},[1138,19412,3909],{},[1138,19414,2472],{},[1138,19416,2204],{},[1138,19418,2475],{},[1138,19420,2198],{},[1138,19422,4713],{},[1142,19424,3900],{},[1138,19426,1155],{},[1138,19428,2356],{},[1138,19430,2204],{},[1138,19432,2204],{},[1146,19434,18497],{},[1146,19436,4443],{"separator":1168},[1142,19438,3900],{},[1138,19440,1155],{},[1138,19442,2356],{},[1138,19444,2204],{},[1138,19446,2204],{},[1142,19448,3900],{},[1138,19450,1705],{},[1138,19452,2201],{},[1138,19454,3546],{},[1138,19456,2370],{},[1138,19458,2472],{},[1138,19460,2359],{},[1138,19462,4713],{},[1146,19464,18472],{},[1146,19466,4443],{"separator":1168},[1142,19468,3900],{},[1138,19470,1702],{},[1138,19472,2475],{},[1138,19474,3546],{},[1138,19476,5426],{},[1138,19478,2472],{},[1138,19480,2356],{},[1138,19482,2373],{},[1138,19484,2359],{},[1138,19486,2927],{"mathvariant":2926},[1138,19488,1702],{},[1138,19490,2370],{},[1138,19492,986],{},[1138,19494,2370],{},[1138,19496,2373],{},[1138,19498,2356],{},[1138,19500,2359],{},[1138,19502,4713],{},[1142,19504,3900],{},[1138,19506,1155],{},[1138,19508,2356],{},[1138,19510,2204],{},[1138,19512,2204],{},[1142,19514,19515],{}," 可能",[1146,19517,18472],{},[1160,19519,19520],{"encoding":1162},"Block\\ Size \\uparrow \\Rightarrow Compulsory\\ Miss \\downarrow,\\ Miss\\ Penalty \\uparrow,\\ Conflict\u002FCapacity\\ Miss\\ 可能\\uparrow",[1062,19522,19524,19567,19615,19666],{"className":19523,"ariaHidden":1168},[1167],[1062,19525,19527,19530,19533,19536,19539,19542,19545,19548,19551,19554,19557,19560,19564],{"className":19526},[1172],[1062,19528],{"className":19529,"style":4550},[1176],[1062,19531,5567],{"className":19532,"style":5632},[1181,1220],[1062,19534,2472],{"className":19535,"style":2530},[1181,1220],[1062,19537,2534],{"className":19538},[1181,1220],[1062,19540,2480],{"className":19541,"style":2538},[1181,1220],[1062,19543,3900],{"className":19544},[1232],[1062,19546,9259],{"className":19547,"style":9315},[1181,1220],[1062,19549,2356],{"className":19550},[1181,1220],[1062,19552,5557],{"className":19553,"style":5607},[1181,1220],[1062,19555,2201],{"className":19556},[1181,1220],[1062,19558],{"className":19559,"style":1742},[1232],[1062,19561,19563],{"className":19562},[1746],"↑⇒",[1062,19565],{"className":19566,"style":1742},[1232],[1062,19568,19570,19573,19576,19579,19582,19585,19588,19591,19594,19597,19600,19603,19606,19609,19612],{"className":19569},[1172],[1062,19571],{"className":19572,"style":4550},[1176],[1062,19574,1702],{"className":19575,"style":1730},[1181,1220],[1062,19577,2475],{"className":19578},[1181,1220],[1062,19580,1610],{"className":19581},[1181,1220],[1062,19583,986],{"className":19584},[1181,1220],[1062,19586,3909],{"className":19587},[1181,1220],[1062,19589,2472],{"className":19590,"style":2530},[1181,1220],[1062,19592,16333],{"className":19593,"style":2257},[1181,1220],[1062,19595,4713],{"className":19596,"style":2288},[1181,1220],[1062,19598,3900],{"className":19599},[1232],[1062,19601,1155],{"className":19602,"style":1221},[1181,1220],[1062,19604,2356],{"className":19605},[1181,1220],[1062,19607,2505],{"className":19608},[1181,1220],[1062,19610],{"className":19611,"style":1742},[1232],[1062,19613,18497],{"className":19614},[1746],[1062,19616,19618,19621,19624,19627,19630,19633,19636,19639,19642,19645,19648,19651,19654,19657,19660,19663],{"className":19617},[1172],[1062,19619],{"className":19620,"style":4550},[1176],[1062,19622,4443],{"className":19623},[4827],[1062,19625,3900],{"className":19626},[1232],[1062,19628],{"className":19629,"style":4831},[1232],[1062,19631,1155],{"className":19632,"style":1221},[1181,1220],[1062,19634,2356],{"className":19635},[1181,1220],[1062,19637,2505],{"className":19638},[1181,1220],[1062,19640,3900],{"className":19641},[1232],[1062,19643,1705],{"className":19644,"style":1734},[1181,1220],[1062,19646,2201],{"className":19647},[1181,1220],[1062,19649,14580],{"className":19650},[1181,1220],[1062,19652,2472],{"className":19653,"style":2530},[1181,1220],[1062,19655,2359],{"className":19656},[1181,1220],[1062,19658,4713],{"className":19659,"style":2288},[1181,1220],[1062,19661],{"className":19662,"style":1742},[1232],[1062,19664,18472],{"className":19665},[1746],[1062,19667,19669,19672,19675,19678,19681,19684,19687,19690,19693,19696,19699,19702,19705,19708,19711,19714,19717,19720,19723,19726,19729,19732,19735,19738,19741,19744,19747,19751,19754],{"className":19668},[1172],[1062,19670],{"className":19671,"style":2277},[1176],[1062,19673,4443],{"className":19674},[4827],[1062,19676,3900],{"className":19677},[1232],[1062,19679],{"className":19680,"style":4831},[1232],[1062,19682,1702],{"className":19683,"style":1730},[1181,1220],[1062,19685,2475],{"className":19686},[1181,1220],[1062,19688,3546],{"className":19689},[1181,1220],[1062,19691,5426],{"className":19692,"style":5505},[1181,1220],[1062,19694,2472],{"className":19695,"style":2530},[1181,1220],[1062,19697,2356],{"className":19698},[1181,1220],[1062,19700,2373],{"className":19701},[1181,1220],[1062,19703,2359],{"className":19704},[1181,1220],[1062,19706,2927],{"className":19707},[1181],[1062,19709,1702],{"className":19710,"style":1730},[1181,1220],[1062,19712,2370],{"className":19713},[1181,1220],[1062,19715,986],{"className":19716},[1181,1220],[1062,19718,2370],{"className":19719},[1181,1220],[1062,19721,2373],{"className":19722},[1181,1220],[1062,19724,2356],{"className":19725},[1181,1220],[1062,19727,2359],{"className":19728},[1181,1220],[1062,19730,4713],{"className":19731,"style":2288},[1181,1220],[1062,19733,3900],{"className":19734},[1232],[1062,19736,1155],{"className":19737,"style":1221},[1181,1220],[1062,19739,2356],{"className":19740},[1181,1220],[1062,19742,2505],{"className":19743},[1181,1220],[1062,19745,3900],{"className":19746},[1232],[1062,19748,19750],{"className":19749},[1181,2422],"可能",[1062,19752],{"className":19753,"style":1742},[1232],[1062,19755,18472],{"className":19756},[1746],[7727,19758],{},[978,19760,19762],{"id":19761},"page-115回顾block-size-与-spatial-locality","Page 115｜回顾：Block Size 与 Spatial Locality",[986,19764,19765,19766,2751],{},"这一页重新强调：",[982,19767,19768],{},"block 是 cache 和 memory 之间的传输单位",[986,19770,19771],{},"也就是说，cache miss 的时候，不是只搬一个 byte 或一个 word，而是搬一整个 cache block。",[986,19773,19774],{},"例如一个 block 里有 4 个 words：",[1896,19776,19779],{"className":19777,"code":19778,"language":1225},[1899],"Word0 | Word1 | Word2 | Word3\n",[1902,19780,19778],{"__ignoreMap":1904},[986,19782,19783],{},"当 CPU 访问 Word0 时，如果发生 miss，cache 会把整个 block 都从 memory 搬进来。于是后续访问 Word1、Word2、Word3 时就可能直接 hit。",[986,19785,19786],{},"这利用的是：",[1062,19788,19790],{"className":19789},[7840],[1062,19791,19793,19842],{"className":19792},[1115],[1062,19794,19796],{"className":19795},[1119],[1121,19797,19798],{"xmlns":1123,"display":3391},[1125,19799,19800,19839],{},[1128,19801,19802,19804,19806,19808,19810,19812,19814,19816,19818,19820,19822,19824,19826,19828,19830,19832,19834,19836],{},[1138,19803,9259],{},[1138,19805,986],{},[1138,19807,2370],{},[1138,19809,2359],{},[1138,19811,2356],{},[1138,19813,2370],{},[1138,19815,2472],{},[1142,19817,3900],{},[1138,19819,3894],{},[1138,19821,2475],{},[1138,19823,2373],{},[1138,19825,2370],{},[1138,19827,2472],{},[1138,19829,2356],{},[1138,19831,2359],{},[1138,19833,4713],{},[1146,19835,1711],{},[1142,19837,19838],{},"访问一个地址后，很可能很快访问附近地址",[1160,19840,19841],{"encoding":1162},"Spatial\\ Locality = 访问一个地址后，很可能很快访问附近地址",[1062,19843,19845,19902],{"className":19844,"ariaHidden":1168},[1167],[1062,19846,19848,19851,19854,19857,19860,19863,19866,19869,19872,19875,19878,19881,19884,19887,19890,19893,19896,19899],{"className":19847},[1172],[1062,19849],{"className":19850,"style":4550},[1176],[1062,19852,9259],{"className":19853,"style":9315},[1181,1220],[1062,19855,986],{"className":19856},[1181,1220],[1062,19858,2370],{"className":19859},[1181,1220],[1062,19861,2359],{"className":19862},[1181,1220],[1062,19864,17225],{"className":19865},[1181,1220],[1062,19867,2472],{"className":19868,"style":2530},[1181,1220],[1062,19870,3900],{"className":19871},[1232],[1062,19873,3894],{"className":19874},[1181,1220],[1062,19876,2534],{"className":19877},[1181,1220],[1062,19879,2370],{"className":19880},[1181,1220],[1062,19882,2472],{"className":19883,"style":2530},[1181,1220],[1062,19885,2356],{"className":19886},[1181,1220],[1062,19888,2359],{"className":19889},[1181,1220],[1062,19891,4713],{"className":19892,"style":2288},[1181,1220],[1062,19894],{"className":19895,"style":1742},[1232],[1062,19897,1711],{"className":19898},[1746],[1062,19900],{"className":19901,"style":1742},[1232],[1062,19903,19905,19908],{"className":19904},[1172],[1062,19906],{"className":19907,"style":1726},[1176],[1062,19909,19838],{"className":19910},[1181,2422],[996,19912,19914],{"id":19913},"larger-block-的好处","Larger block 的好处",[986,19916,19917],{},"更大的 block 有几个硬件与性能优势：",[1344,19919,19920,19923,19926,19929,19932],{},[1347,19921,19922],{},"tag 数量减少；",[1347,19924,19925],{},"tag storage overhead 降低；",[1347,19927,19928],{},"可以利用 DRAM burst transfer；",[1347,19930,19931],{},"可以利用 wide bus 一次传更多数据；",[1347,19933,19934],{},"对顺序数组访问非常友好。",[986,19936,19937],{},"比如连续访问数组时：",[1896,19939,19942],{"className":19940,"code":19941,"language":2373,"meta":1904},[7050],"for (i = 0; i \u003C N; i++) {\n    sum += a[i];\n}\n",[1902,19943,19941],{"__ignoreMap":1904},[986,19945,19946],{},"这种访问模式 spatial locality 很强，大 block 会比较有利。",[996,19948,19950],{"id":19949},"larger-block-的坏处","Larger block 的坏处",[986,19952,19953],{},"但 block size 过大也有问题：",[1344,19955,19956,19959,19962,19965,19968],{},[1347,19957,19958],{},"cache 中 line 数量减少；",[1347,19960,19961],{},"不同 memory blocks 更容易争抢同一个 cache set；",[1347,19963,19964],{},"conflict miss 可能增加；",[1347,19966,19967],{},"miss penalty 增加；",[1347,19969,19970],{},"如果带入的数据用不到，会浪费 memory bandwidth。",[986,19972,19973],{},"所以这一页想表达的不是“大 block 更好”，而是：",[986,19975,19976],{},[982,19977,19978],{},"大 block 是用 miss penalty 和 cache 有效容量去换 spatial locality。",[7727,19980],{},[978,19982,19984],{"id":19983},"page-116更大的-blockmiss-rate-下降但代价存在","Page 116｜更大的 Block：Miss Rate 下降但代价存在",[986,19986,19987],{},"这一页总结 larger block 的主要效果。",[986,19989,19990],{},"更大的 block 可以减少：",[1062,19992,19994],{"className":19993},[7840],[1062,19995,19997,20039],{"className":19996},[1115],[1062,19998,20000],{"className":19999},[1119],[1121,20001,20002],{"xmlns":1123,"display":3391},[1125,20003,20004,20036],{},[1128,20005,20006,20008,20010,20012,20014,20016,20018,20020,20022,20024,20026,20028,20030,20032,20034],{},[1138,20007,1702],{},[1138,20009,2475],{},[1138,20011,1610],{},[1138,20013,986],{},[1138,20015,3909],{},[1138,20017,2472],{},[1138,20019,2204],{},[1138,20021,2475],{},[1138,20023,2198],{},[1138,20025,4713],{},[1142,20027,3900],{},[1138,20029,1155],{},[1138,20031,2356],{},[1138,20033,2204],{},[1138,20035,2204],{},[1160,20037,20038],{"encoding":1162},"Compulsory\\ Miss",[1062,20040,20042],{"className":20041,"ariaHidden":1168},[1167],[1062,20043,20045,20048,20051,20054,20057,20060,20063,20066,20069,20072,20075,20078,20081],{"className":20044},[1172],[1062,20046],{"className":20047,"style":4550},[1176],[1062,20049,1702],{"className":20050,"style":1730},[1181,1220],[1062,20052,2475],{"className":20053},[1181,1220],[1062,20055,1610],{"className":20056},[1181,1220],[1062,20058,986],{"className":20059},[1181,1220],[1062,20061,3909],{"className":20062},[1181,1220],[1062,20064,2472],{"className":20065,"style":2530},[1181,1220],[1062,20067,16333],{"className":20068,"style":2257},[1181,1220],[1062,20070,4713],{"className":20071,"style":2288},[1181,1220],[1062,20073,3900],{"className":20074},[1232],[1062,20076,1155],{"className":20077,"style":1221},[1181,1220],[1062,20079,2356],{"className":20080},[1181,1220],[1062,20082,2505],{"className":20083},[1181,1220],[986,20085,20086],{},"因为第一次访问某个 block 时，会把附近数据一起带进 cache。",[986,20088,20089],{},"如果后面访问附近地址，本来可能是新的 compulsory miss，现在变成 hit。",[986,20091,9086],{},[1896,20093,20096],{"className":20094,"code":20095,"language":1225},[1899],"访问序列：0x1000, 0x1004, 0x1008, 0x100C\n",[1902,20097,20095],{"__ignoreMap":1904},[986,20099,20100],{},"如果 block size = 4B，那么每个 word 可能各自 miss。",[986,20102,20103],{},"如果 block size = 16B，那么访问 0x1000 miss 后，后面三个地址都已经在同一个 block 里。",[986,20105,20106],{},"所以更大的 block 直接利用的是：",[1062,20108,20110],{"className":20109},[7840],[1062,20111,20113,20157],{"className":20112},[1115],[1062,20114,20116],{"className":20115},[1119],[1121,20117,20118],{"xmlns":1123,"display":3391},[1125,20119,20120,20154],{},[1128,20121,20122,20124,20126,20128,20130,20132,20134,20136,20138,20140,20142,20144,20146,20148,20150,20152],{},[1138,20123,9259],{},[1138,20125,986],{},[1138,20127,2370],{},[1138,20129,2359],{},[1138,20131,2356],{},[1138,20133,2370],{},[1138,20135,2472],{},[1142,20137,3900],{},[1138,20139,3894],{},[1138,20141,2475],{},[1138,20143,2373],{},[1138,20145,2370],{},[1138,20147,2472],{},[1138,20149,2356],{},[1138,20151,2359],{},[1138,20153,4713],{},[1160,20155,20156],{"encoding":1162},"Spatial\\ Locality",[1062,20158,20160],{"className":20159,"ariaHidden":1168},[1167],[1062,20161,20163,20166,20169,20172,20175,20178,20181,20184,20187,20190,20193,20196,20199,20202,20205],{"className":20162},[1172],[1062,20164],{"className":20165,"style":4550},[1176],[1062,20167,9259],{"className":20168,"style":9315},[1181,1220],[1062,20170,986],{"className":20171},[1181,1220],[1062,20173,2370],{"className":20174},[1181,1220],[1062,20176,2359],{"className":20177},[1181,1220],[1062,20179,17225],{"className":20180},[1181,1220],[1062,20182,2472],{"className":20183,"style":2530},[1181,1220],[1062,20185,3900],{"className":20186},[1232],[1062,20188,3894],{"className":20189},[1181,1220],[1062,20191,2534],{"className":20192},[1181,1220],[1062,20194,2370],{"className":20195},[1181,1220],[1062,20197,2472],{"className":20198,"style":2530},[1181,1220],[1062,20200,2356],{"className":20201},[1181,1220],[1062,20203,2359],{"className":20204},[1181,1220],[1062,20206,4713],{"className":20207,"style":2288},[1181,1220],[986,20209,20210],{},"但同时，它可能增加：",[1062,20212,20214],{"className":20213},[7840],[1062,20215,20217,20253],{"className":20216},[1115],[1062,20218,20220],{"className":20219},[1119],[1121,20221,20222],{"xmlns":1123,"display":3391},[1125,20223,20224,20250],{},[1128,20225,20226,20228,20230,20232,20234,20236,20238,20240,20242,20244,20246,20248],{},[1138,20227,1155],{},[1138,20229,2356],{},[1138,20231,2204],{},[1138,20233,2204],{},[1142,20235,3900],{},[1138,20237,1705],{},[1138,20239,2201],{},[1138,20241,3546],{},[1138,20243,2370],{},[1138,20245,2472],{},[1138,20247,2359],{},[1138,20249,4713],{},[1160,20251,20252],{"encoding":1162},"Miss\\ Penalty",[1062,20254,20256],{"className":20255,"ariaHidden":1168},[1167],[1062,20257,20259,20262,20265,20268,20271,20274,20277,20280,20283,20286,20289],{"className":20258},[1172],[1062,20260],{"className":20261,"style":4550},[1176],[1062,20263,1155],{"className":20264,"style":1221},[1181,1220],[1062,20266,2356],{"className":20267},[1181,1220],[1062,20269,2505],{"className":20270},[1181,1220],[1062,20272,3900],{"className":20273},[1232],[1062,20275,1705],{"className":20276,"style":1734},[1181,1220],[1062,20278,2201],{"className":20279},[1181,1220],[1062,20281,14580],{"className":20282},[1181,1220],[1062,20284,2472],{"className":20285,"style":2530},[1181,1220],[1062,20287,2359],{"className":20288},[1181,1220],[1062,20290,4713],{"className":20291,"style":2288},[1181,1220],[986,20293,20294],{},"因为一次 miss 要搬更多数据。",[986,20296,20297],{},"也可能增加：",[1062,20299,20301],{"className":20300},[7840],[1062,20302,20304,20342],{"className":20303},[1115],[1062,20305,20307],{"className":20306},[1119],[1121,20308,20309],{"xmlns":1123,"display":3391},[1125,20310,20311,20339],{},[1128,20312,20313,20315,20317,20319,20321,20323,20325,20327,20329,20331,20333,20335,20337],{},[1138,20314,1702],{},[1138,20316,2475],{},[1138,20318,3546],{},[1138,20320,5426],{},[1138,20322,2472],{},[1138,20324,2356],{},[1138,20326,2373],{},[1138,20328,2359],{},[1142,20330,3900],{},[1138,20332,1155],{},[1138,20334,2356],{},[1138,20336,2204],{},[1138,20338,2204],{},[1160,20340,20341],{"encoding":1162},"Conflict\\ Miss",[1062,20343,20345],{"className":20344,"ariaHidden":1168},[1167],[1062,20346,20348,20351,20354,20357,20360,20363,20366,20369,20372,20375,20378,20381,20384],{"className":20347},[1172],[1062,20349],{"className":20350,"style":4550},[1176],[1062,20352,1702],{"className":20353,"style":1730},[1181,1220],[1062,20355,2475],{"className":20356},[1181,1220],[1062,20358,3546],{"className":20359},[1181,1220],[1062,20361,5426],{"className":20362,"style":5505},[1181,1220],[1062,20364,2472],{"className":20365,"style":2530},[1181,1220],[1062,20367,2356],{"className":20368},[1181,1220],[1062,20370,2373],{"className":20371},[1181,1220],[1062,20373,2359],{"className":20374},[1181,1220],[1062,20376,3900],{"className":20377},[1232],[1062,20379,1155],{"className":20380,"style":1221},[1181,1220],[1062,20382,2356],{"className":20383},[1181,1220],[1062,20385,2505],{"className":20386},[1181,1220],[986,20388,20389],{},"因为 cache capacity 固定时，block size 变大，cache line 数量变少，不同 memory blocks 更容易映射冲突。",[986,20391,20392],{},"所以 page 116 的核心是：",[986,20394,20395],{},[982,20396,20397],{},"larger block 主要减少 compulsory miss，但它不是免费优化。",[7727,20399],{},[978,20401,20403],{"id":20402},"page-117练习较大的-block-对-amat-的影响","Page 117｜练习：较大的 Block 对 AMAT 的影响",[986,20405,20406],{},"这一页是对 AMAT 三部分的分类判断。",[986,20408,20409,20410,20413],{},"题目问：在 ",[982,20411,20412],{},"cache 总容量和 associativity 固定"," 的情况下，larger blocks 对 AMAT 各项有什么影响？",[986,20415,20416],{},"AMAT 公式：",[1062,20418,20420],{"className":20419},[7840],[1062,20421,20423,20506],{"className":20422},[1115],[1062,20424,20426],{"className":20425},[1119],[1121,20427,20428],{"xmlns":1123,"display":3391},[1125,20429,20430,20504],{},[1128,20431,20432,20434,20436,20438,20440,20442,20444,20446,20448,20450,20452,20454,20456,20458,20460,20462,20464,20466,20468,20470,20472,20474,20476,20478,20480,20482,20484,20486,20488,20490,20492,20494,20496,20498,20500,20502],{},[1138,20433,2190],{},[1138,20435,1155],{},[1138,20437,2190],{},[1138,20439,4621],{},[1146,20441,1711],{},[1138,20443,2353],{},[1138,20445,2356],{},[1138,20447,2359],{},[1142,20449,3900],{},[1138,20451,4621],{},[1138,20453,2356],{},[1138,20455,1610],{},[1138,20457,2201],{},[1146,20459,1647],{},[1138,20461,1155],{},[1138,20463,2356],{},[1138,20465,2204],{},[1138,20467,2204],{},[1142,20469,3900],{},[1138,20471,2211],{},[1138,20473,2370],{},[1138,20475,2359],{},[1138,20477,2201],{},[1146,20479,1148],{},[1138,20481,1155],{},[1138,20483,2356],{},[1138,20485,2204],{},[1138,20487,2204],{},[1142,20489,3900],{},[1138,20491,1705],{},[1138,20493,2201],{},[1138,20495,3546],{},[1138,20497,2370],{},[1138,20499,2472],{},[1138,20501,2359],{},[1138,20503,4713],{},[1160,20505,18258],{"encoding":1162},[1062,20507,20509,20536,20572,20611],{"className":20508,"ariaHidden":1168},[1167],[1062,20510,20512,20515,20518,20521,20524,20527,20530,20533],{"className":20511},[1172],[1062,20513],{"className":20514,"style":1726},[1176],[1062,20516,2190],{"className":20517},[1181,1220],[1062,20519,1155],{"className":20520,"style":1221},[1181,1220],[1062,20522,2190],{"className":20523},[1181,1220],[1062,20525,4621],{"className":20526,"style":1734},[1181,1220],[1062,20528],{"className":20529,"style":1742},[1232],[1062,20531,1711],{"className":20532},[1746],[1062,20534],{"className":20535,"style":1742},[1232],[1062,20537,20539,20542,20545,20548,20551,20554,20557,20560,20563,20566,20569],{"className":20538},[1172],[1062,20540],{"className":20541,"style":3748},[1176],[1062,20543,2353],{"className":20544,"style":2397},[1181,1220],[1062,20546,2356],{"className":20547},[1181,1220],[1062,20549,2359],{"className":20550},[1181,1220],[1062,20552,3900],{"className":20553},[1232],[1062,20555,4621],{"className":20556,"style":1734},[1181,1220],[1062,20558,14477],{"className":20559},[1181,1220],[1062,20561,2201],{"className":20562},[1181,1220],[1062,20564],{"className":20565,"style":1233},[1232],[1062,20567,1647],{"className":20568},[1237],[1062,20570],{"className":20571,"style":1233},[1232],[1062,20573,20575,20578,20581,20584,20587,20590,20593,20596,20599,20602,20605,20608],{"className":20574},[1172],[1062,20576],{"className":20577,"style":3748},[1176],[1062,20579,1155],{"className":20580,"style":1221},[1181,1220],[1062,20582,2356],{"className":20583},[1181,1220],[1062,20585,2505],{"className":20586},[1181,1220],[1062,20588,3900],{"className":20589},[1232],[1062,20591,2211],{"className":20592,"style":2281},[1181,1220],[1062,20594,2370],{"className":20595},[1181,1220],[1062,20597,2359],{"className":20598},[1181,1220],[1062,20600,2201],{"className":20601},[1181,1220],[1062,20603],{"className":20604,"style":1233},[1232],[1062,20606,1148],{"className":20607},[1237],[1062,20609],{"className":20610,"style":1233},[1232],[1062,20612,20614,20617,20620,20623,20626,20629,20632,20635,20638,20641,20644],{"className":20613},[1172],[1062,20615],{"className":20616,"style":4550},[1176],[1062,20618,1155],{"className":20619,"style":1221},[1181,1220],[1062,20621,2356],{"className":20622},[1181,1220],[1062,20624,2505],{"className":20625},[1181,1220],[1062,20627,3900],{"className":20628},[1232],[1062,20630,1705],{"className":20631,"style":1734},[1181,1220],[1062,20633,2201],{"className":20634},[1181,1220],[1062,20636,14580],{"className":20637},[1181,1220],[1062,20639,2472],{"className":20640,"style":2530},[1181,1220],[1062,20642,2359],{"className":20643},[1181,1220],[1062,20645,4713],{"className":20646,"style":2288},[1181,1220],[996,20648,20650],{"id":20649},"hit-time-1","Hit Time",[986,20652,20653],{},"一般认为：",[1062,20655,20657],{"className":20656},[7840],[1062,20658,20660,20707],{"className":20659},[1115],[1062,20661,20663],{"className":20662},[1119],[1121,20664,20665],{"xmlns":1123,"display":3391},[1125,20666,20667,20705],{},[1128,20668,20669,20671,20673,20675,20677,20679,20681,20683,20685,20687,20689,20691,20693,20695,20697,20699,20701,20703],{},[1138,20670,2353],{},[1138,20672,2356],{},[1138,20674,2359],{},[1142,20676,3900],{},[1138,20678,4621],{},[1138,20680,2356],{},[1138,20682,1610],{},[1138,20684,2201],{},[1146,20686,15243],{},[1138,20688,3897],{},[1138,20690,3546],{},[1138,20692,2373],{},[1138,20694,2376],{},[1138,20696,2370],{},[1138,20698,3546],{},[1138,20700,2216],{},[1138,20702,2201],{},[1138,20704,2193],{},[1160,20706,18928],{"encoding":1162},[1062,20708,20710,20746],{"className":20709,"ariaHidden":1168},[1167],[1062,20711,20713,20716,20719,20722,20725,20728,20731,20734,20737,20740,20743],{"className":20712},[1172],[1062,20714],{"className":20715,"style":1726},[1176],[1062,20717,2353],{"className":20718,"style":2397},[1181,1220],[1062,20720,2356],{"className":20721},[1181,1220],[1062,20723,2359],{"className":20724},[1181,1220],[1062,20726,3900],{"className":20727},[1232],[1062,20729,4621],{"className":20730,"style":1734},[1181,1220],[1062,20732,14477],{"className":20733},[1181,1220],[1062,20735,2201],{"className":20736},[1181,1220],[1062,20738],{"className":20739,"style":1742},[1232],[1062,20741,15243],{"className":20742},[1746],[1062,20744],{"className":20745,"style":1742},[1232],[1062,20747,20749,20752,20755,20758,20761,20764,20767,20770],{"className":20748},[1172],[1062,20750],{"className":20751,"style":4550},[1176],[1062,20753,3897],{"className":20754,"style":1221},[1181,1220],[1062,20756,3546],{"className":20757},[1181,1220],[1062,20759,2373],{"className":20760},[1181,1220],[1062,20762,18986],{"className":20763},[1181,1220],[1062,20765,2216],{"className":20766,"style":2288},[1181,1220],[1062,20768,2201],{"className":20769},[1181,1220],[1062,20771,2193],{"className":20772},[1181,1220],[986,20774,20775],{},"理由是 block size 改变主要影响 miss 时搬运的数据量，对 hit path 不一定有决定性影响。",[986,20777,20778],{},"但课件也提示：",[1344,20780,20781,20784],{},[1347,20782,20783],{},"shorter tags 可能让 tag array 更简单；",[1347,20785,20786],{},"edge MUX 或 block 内选择可能带来额外开销。",[986,20788,20789],{},"所以更严谨地说：",[986,20791,20792],{},[982,20793,20794],{},"hit time 大体不变，但可能轻微变化。",[996,20796,20798],{"id":20797},"miss-rate-1","Miss Rate",[986,20800,20801],{},"通常：",[1062,20803,20805],{"className":20804},[7840],[1062,20806,20808,20840],{"className":20807},[1115],[1062,20809,20811],{"className":20810},[1119],[1121,20812,20813],{"xmlns":1123,"display":3391},[1125,20814,20815,20837],{},[1128,20816,20817,20819,20821,20823,20825,20827,20829,20831,20833,20835],{},[1138,20818,1155],{},[1138,20820,2356],{},[1138,20822,2204],{},[1138,20824,2204],{},[1142,20826,3900],{},[1138,20828,2211],{},[1138,20830,2370],{},[1138,20832,2359],{},[1138,20834,2201],{},[1146,20836,18497],{},[1160,20838,20839],{"encoding":1162},"Miss\\ Rate \\downarrow",[1062,20841,20843],{"className":20842,"ariaHidden":1168},[1167],[1062,20844,20846,20849,20852,20855,20858,20861,20864,20867,20870,20873,20876],{"className":20845},[1172],[1062,20847],{"className":20848,"style":4550},[1176],[1062,20850,1155],{"className":20851,"style":1221},[1181,1220],[1062,20853,2356],{"className":20854},[1181,1220],[1062,20856,2505],{"className":20857},[1181,1220],[1062,20859,3900],{"className":20860},[1232],[1062,20862,2211],{"className":20863,"style":2281},[1181,1220],[1062,20865,2370],{"className":20866},[1181,1220],[1062,20868,2359],{"className":20869},[1181,1220],[1062,20871,2201],{"className":20872},[1181,1220],[1062,20874],{"className":20875,"style":1742},[1232],[1062,20877,18497],{"className":20878},[1746],[986,20880,20881],{},"原因是 larger block 利用 spatial locality，减少 compulsory miss。",[986,20883,20884],{},"但注意，这个下降不是无限持续的。block 太大时，cache line 数变少，capacity\u002Fconflict miss 上升，总 miss rate 可能反弹。",[986,20886,20887],{},"所以更完整的说法是：",[1062,20889,20891],{"className":20890},[7840],[1062,20892,20894,20927],{"className":20893},[1115],[1062,20895,20897],{"className":20896},[1119],[1121,20898,20899],{"xmlns":1123,"display":3391},[1125,20900,20901,20924],{},[1128,20902,20903,20905,20907,20909,20911,20913,20915,20917,20919,20921],{},[1138,20904,1155],{},[1138,20906,2356],{},[1138,20908,2204],{},[1138,20910,2204],{},[1142,20912,3900],{},[1138,20914,2211],{},[1138,20916,2370],{},[1138,20918,2359],{},[1138,20920,2201],{},[1142,20922,20923],{},"先下降，过大后可能上升",[1160,20925,20926],{"encoding":1162},"Miss\\ Rate 先下降，过大后可能上升",[1062,20928,20930],{"className":20929,"ariaHidden":1168},[1167],[1062,20931,20933,20936,20939,20942,20945,20948,20951,20954,20957,20960],{"className":20932},[1172],[1062,20934],{"className":20935,"style":1726},[1176],[1062,20937,1155],{"className":20938,"style":1221},[1181,1220],[1062,20940,2356],{"className":20941},[1181,1220],[1062,20943,2505],{"className":20944},[1181,1220],[1062,20946,3900],{"className":20947},[1232],[1062,20949,2211],{"className":20950,"style":2281},[1181,1220],[1062,20952,2370],{"className":20953},[1181,1220],[1062,20955,2359],{"className":20956},[1181,1220],[1062,20958,2201],{"className":20959},[1181,1220],[1062,20961,20923],{"className":20962},[1181,2422],[996,20964,20966],{"id":20965},"miss-penalty-1","Miss Penalty",[986,20968,20969],{},"一定倾向于：",[1062,20971,20973],{"className":20972},[7840],[1062,20974,20976,21014],{"className":20975},[1115],[1062,20977,20979],{"className":20978},[1119],[1121,20980,20981],{"xmlns":1123,"display":3391},[1125,20982,20983,21011],{},[1128,20984,20985,20987,20989,20991,20993,20995,20997,20999,21001,21003,21005,21007,21009],{},[1138,20986,1155],{},[1138,20988,2356],{},[1138,20990,2204],{},[1138,20992,2204],{},[1142,20994,3900],{},[1138,20996,1705],{},[1138,20998,2201],{},[1138,21000,3546],{},[1138,21002,2370],{},[1138,21004,2472],{},[1138,21006,2359],{},[1138,21008,4713],{},[1146,21010,18472],{},[1160,21012,21013],{"encoding":1162},"Miss\\ Penalty \\uparrow",[1062,21015,21017],{"className":21016,"ariaHidden":1168},[1167],[1062,21018,21020,21023,21026,21029,21032,21035,21038,21041,21044,21047,21050,21053,21056],{"className":21019},[1172],[1062,21021],{"className":21022,"style":4550},[1176],[1062,21024,1155],{"className":21025,"style":1221},[1181,1220],[1062,21027,2356],{"className":21028},[1181,1220],[1062,21030,2505],{"className":21031},[1181,1220],[1062,21033,3900],{"className":21034},[1232],[1062,21036,1705],{"className":21037,"style":1734},[1181,1220],[1062,21039,2201],{"className":21040},[1181,1220],[1062,21042,14580],{"className":21043},[1181,1220],[1062,21045,2472],{"className":21046,"style":2530},[1181,1220],[1062,21048,2359],{"className":21049},[1181,1220],[1062,21051,4713],{"className":21052,"style":2288},[1181,1220],[1062,21054],{"className":21055,"style":1742},[1232],[1062,21057,18472],{"className":21058},[1746],[986,21060,21061],{},"因为 miss 时要从下一级 memory 取更大的 block。",[996,21063,21064],{"id":21064},"本页总结",[1294,21066,21067,21080],{},[1297,21068,21069],{},[1300,21070,21071,21074,21077],{},[1303,21072,21073],{},"AMAT 项",[1303,21075,21076],{},"Larger Block 的影响",[1303,21078,21079],{},"原因",[1313,21081,21082,21091,21101],{},[1300,21083,21084,21086,21088],{},[1318,21085,20650],{},[1318,21087,18858],{},[1318,21089,21090],{},"hit 时只访问 cache，不一定受传输块大小强影响",[1300,21092,21093,21095,21098],{},[1318,21094,20798],{},[1318,21096,21097],{},"通常下降",[1318,21099,21100],{},"利用 spatial locality",[1300,21102,21103,21105,21108],{},[1318,21104,20966],{},[1318,21106,21107],{},"增加",[1318,21109,21110],{},"miss 时搬运更多字节",[986,21112,21113,21114],{},"这一页的复习重点是：\n",[982,21115,21116],{},"block size 主要是在 miss rate 和 miss penalty 之间做权衡。",[7727,21118],{},[978,21120,21122],{"id":21121},"page-118练习较大的-block-对-3c-miss-的影响","Page 118｜练习：较大的 Block 对 3C Miss 的影响",[986,21124,21125],{},[992,21126],{"alt":992,"src":21127},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-97.png",[986,21129,21130],{},"这一页把 larger block 放到 3C miss 框架里分析。",[986,21132,21133],{},"3C miss 是：",[1344,21135,21136,21139,21141],{},[1347,21137,21138],{},"compulsory miss；",[1347,21140,17665],{},[1347,21142,21143],{},"conflict miss。",[996,21145,21147],{"id":21146},"compulsory-miss","Compulsory Miss",[1849,21149,21150],{},[986,21151,21152,21155,21156],{},[982,21153,21154],{},"强制未命中","，也叫 ",[982,21157,21158],{},"冷启动未命中 \u002F 冷未命中",[986,21160,21161],{},"larger block 通常会让 compulsory miss 下降。",[986,21163,21164,21165,21263],{},"原因是一次 miss 带入更多相邻数据。后续访问附近地址时，不再需要第一次访问那些小块。所以：",[1062,21166,21168,21212],{"className":21167},[1115],[1062,21169,21171],{"className":21170},[1119],[1121,21172,21173],{"xmlns":1123},[1125,21174,21175,21209],{},[1128,21176,21177,21179,21181,21183,21185,21187,21189,21191,21193,21195,21197,21199,21201,21203,21205,21207],{},[1138,21178,1702],{},[1138,21180,2475],{},[1138,21182,1610],{},[1138,21184,986],{},[1138,21186,3909],{},[1138,21188,2472],{},[1138,21190,2204],{},[1138,21192,2475],{},[1138,21194,2198],{},[1138,21196,4713],{},[1142,21198,3900],{},[1138,21200,1155],{},[1138,21202,2356],{},[1138,21204,2204],{},[1138,21206,2204],{},[1146,21208,18497],{},[1160,21210,21211],{"encoding":1162},"Compulsory\\ Miss \\downarrow",[1062,21213,21215],{"className":21214,"ariaHidden":1168},[1167],[1062,21216,21218,21221,21224,21227,21230,21233,21236,21239,21242,21245,21248,21251,21254,21257,21260],{"className":21217},[1172],[1062,21219],{"className":21220,"style":4550},[1176],[1062,21222,1702],{"className":21223,"style":1730},[1181,1220],[1062,21225,2475],{"className":21226},[1181,1220],[1062,21228,1610],{"className":21229},[1181,1220],[1062,21231,986],{"className":21232},[1181,1220],[1062,21234,3909],{"className":21235},[1181,1220],[1062,21237,2472],{"className":21238,"style":2530},[1181,1220],[1062,21240,16333],{"className":21241,"style":2257},[1181,1220],[1062,21243,4713],{"className":21244,"style":2288},[1181,1220],[1062,21246,3900],{"className":21247},[1232],[1062,21249,1155],{"className":21250,"style":1221},[1181,1220],[1062,21252,2356],{"className":21253},[1181,1220],[1062,21255,2505],{"className":21256},[1181,1220],[1062,21258],{"className":21259,"style":1742},[1232],[1062,21261,18497],{"className":21262},[1746],"前提是程序有较好的 spatial locality。如果程序访问完全随机，大 block 不一定有效。",[996,21265,21267],{"id":21266},"capacity-miss","Capacity Miss",[986,21269,21270],{},"larger block 可能让 capacity miss 增加。",[986,21272,21273],{},"因为总容量固定时：",[1062,21275,21277],{"className":21276},[7840],[1062,21278,21280,21372],{"className":21279},[1115],[1062,21281,21283],{"className":21282},[1119],[1121,21284,21285],{"xmlns":1123,"display":3391},[1125,21286,21287,21369],{},[1128,21288,21289,21291,21293,21295,21297,21299,21301,21303,21305,21307,21309,21311,21313,21315],{},[1138,21290,5567],{},[1138,21292,2472],{},[1138,21294,2475],{},[1138,21296,2373],{},[1138,21298,2480],{},[1142,21300,3900],{},[1138,21302,1140],{},[1138,21304,3909],{},[1138,21306,1610],{},[1138,21308,2469],{},[1138,21310,2201],{},[1138,21312,2198],{},[1146,21314,1711],{},[6824,21316,21317,21347],{},[1128,21318,21319,21321,21323,21325,21327,21329,21331,21333,21335,21337,21339,21341,21343,21345],{},[1138,21320,1702],{},[1138,21322,2370],{},[1138,21324,2373],{},[1138,21326,2376],{},[1138,21328,2201],{},[1142,21330,3900],{},[1138,21332,1702],{},[1138,21334,2370],{},[1138,21336,986],{},[1138,21338,2370],{},[1138,21340,2373],{},[1138,21342,2356],{},[1138,21344,2359],{},[1138,21346,4713],{},[1128,21348,21349,21351,21353,21355,21357,21359,21361,21363,21365,21367],{},[1138,21350,5567],{},[1138,21352,2472],{},[1138,21354,2475],{},[1138,21356,2373],{},[1138,21358,2480],{},[1142,21360,3900],{},[1138,21362,9259],{},[1138,21364,2356],{},[1138,21366,5557],{},[1138,21368,2201],{},[1160,21370,21371],{"encoding":1162},"Block\\ Number = \\frac{Cache\\ Capacity}{Block\\ Size}",[1062,21373,21375,21417],{"className":21374,"ariaHidden":1168},[1167],[1062,21376,21378,21381,21384,21387,21390,21393,21396,21399,21402,21405,21408,21411,21414],{"className":21377},[1172],[1062,21379],{"className":21380,"style":2246},[1176],[1062,21382,5567],{"className":21383,"style":5632},[1181,1220],[1062,21385,2472],{"className":21386,"style":2530},[1181,1220],[1062,21388,2534],{"className":21389},[1181,1220],[1062,21391,2480],{"className":21392,"style":2538},[1181,1220],[1062,21394,3900],{"className":21395},[1232],[1062,21397,1140],{"className":21398,"style":1221},[1181,1220],[1062,21400,3909],{"className":21401},[1181,1220],[1062,21403,19192],{"className":21404},[1181,1220],[1062,21406,15320],{"className":21407,"style":2257},[1181,1220],[1062,21409],{"className":21410,"style":1742},[1232],[1062,21412,1711],{"className":21413},[1746],[1062,21415],{"className":21416,"style":1742},[1232],[1062,21418,21420,21423],{"className":21419},[1172],[1062,21421],{"className":21422,"style":19211},[1176],[1062,21424,21426,21429,21545],{"className":21425},[1181],[1062,21427],{"className":21428},[2292,6874],[1062,21430,21432],{"className":21431},[6824],[1062,21433,21435,21537],{"className":21434},[1192,2965],[1062,21436,21438,21534],{"className":21437},[1196],[1062,21439,21441,21476,21484],{"className":21440,"style":19230},[1200],[1062,21442,21443,21446],{"style":10610},[1062,21444],{"className":21445,"style":6894},[1208],[1062,21447,21449,21452,21455,21458,21461,21464,21467,21470,21473],{"className":21448},[1181],[1062,21450,5567],{"className":21451,"style":5632},[1181,1220],[1062,21453,2472],{"className":21454,"style":2530},[1181,1220],[1062,21456,2534],{"className":21457},[1181,1220],[1062,21459,2480],{"className":21460,"style":2538},[1181,1220],[1062,21462,3900],{"className":21463},[1232],[1062,21465,9259],{"className":21466,"style":9315},[1181,1220],[1062,21468,2356],{"className":21469},[1181,1220],[1062,21471,5557],{"className":21472,"style":5607},[1181,1220],[1062,21474,2201],{"className":21475},[1181,1220],[1062,21477,21478,21481],{"style":6913},[1062,21479],{"className":21480,"style":6894},[1208],[1062,21482],{"className":21483,"style":6921},[6920],[1062,21485,21486,21489],{"style":10658},[1062,21487],{"className":21488,"style":6894},[1208],[1062,21490,21492,21495,21498,21501,21504,21507,21510,21513,21516,21519,21522,21525,21528,21531],{"className":21491},[1181],[1062,21493,1702],{"className":21494,"style":1730},[1181,1220],[1062,21496,2370],{"className":21497},[1181,1220],[1062,21499,2373],{"className":21500},[1181,1220],[1062,21502,2376],{"className":21503},[1181,1220],[1062,21505,2201],{"className":21506},[1181,1220],[1062,21508,3900],{"className":21509},[1232],[1062,21511,1702],{"className":21512,"style":1730},[1181,1220],[1062,21514,2370],{"className":21515},[1181,1220],[1062,21517,986],{"className":21518},[1181,1220],[1062,21520,2370],{"className":21521},[1181,1220],[1062,21523,2373],{"className":21524},[1181,1220],[1062,21526,2356],{"className":21527},[1181,1220],[1062,21529,2359],{"className":21530},[1181,1220],[1062,21532,4713],{"className":21533,"style":2288},[1181,1220],[1062,21535,2995],{"className":21536},[2994],[1062,21538,21540],{"className":21539},[1196],[1062,21541,21543],{"className":21542,"style":10706},[1200],[1062,21544],{},[1062,21546],{"className":21547},[2302,6874],[986,21549,21550],{},"block size 越大，能同时放进 cache 的独立 blocks 越少。",[986,21552,21553],{},"如果工作集本来就比较大，就更容易因为 cache 放不下而被替换。",[986,21555,6806],{},[1062,21557,21559],{"className":21558},[7840],[1062,21560,21562,21602],{"className":21561},[1115],[1062,21563,21565],{"className":21564},[1119],[1121,21566,21567],{"xmlns":1123,"display":3391},[1125,21568,21569,21599],{},[1128,21570,21571,21573,21575,21577,21579,21581,21583,21585,21587,21589,21591,21593,21595,21597],{},[1138,21572,1702],{},[1138,21574,2370],{},[1138,21576,986],{},[1138,21578,2370],{},[1138,21580,2373],{},[1138,21582,2356],{},[1138,21584,2359],{},[1138,21586,4713],{},[1142,21588,3900],{},[1138,21590,1155],{},[1138,21592,2356],{},[1138,21594,2204],{},[1138,21596,2204],{},[1146,21598,18472],{},[1160,21600,21601],{"encoding":1162},"Capacity\\ Miss \\uparrow",[1062,21603,21605],{"className":21604,"ariaHidden":1168},[1167],[1062,21606,21608,21611,21614,21617,21620,21623,21626,21629,21632,21635,21638,21641,21644,21647,21650],{"className":21607},[1172],[1062,21609],{"className":21610,"style":4550},[1176],[1062,21612,1702],{"className":21613,"style":1730},[1181,1220],[1062,21615,2370],{"className":21616},[1181,1220],[1062,21618,986],{"className":21619},[1181,1220],[1062,21621,2370],{"className":21622},[1181,1220],[1062,21624,2373],{"className":21625},[1181,1220],[1062,21627,2356],{"className":21628},[1181,1220],[1062,21630,2359],{"className":21631},[1181,1220],[1062,21633,4713],{"className":21634,"style":2288},[1181,1220],[1062,21636,3900],{"className":21637},[1232],[1062,21639,1155],{"className":21640,"style":1221},[1181,1220],[1062,21642,2356],{"className":21643},[1181,1220],[1062,21645,2505],{"className":21646},[1181,1220],[1062,21648],{"className":21649,"style":1742},[1232],[1062,21651,18472],{"className":21652},[1746],[996,21654,21656],{"id":21655},"conflict-miss","Conflict Miss",[986,21658,21659],{},"larger block 也可能让 conflict miss 增加。",[986,21661,21662],{},"因为 block 数量减少后，set 数量通常也减少。",[986,21664,21665],{},"不同 memory blocks 更容易映射到同一个 set，产生冲突。",[986,21667,6806],{},[1062,21669,21671],{"className":21670},[7840],[1062,21672,21674,21714],{"className":21673},[1115],[1062,21675,21677],{"className":21676},[1119],[1121,21678,21679],{"xmlns":1123,"display":3391},[1125,21680,21681,21711],{},[1128,21682,21683,21685,21687,21689,21691,21693,21695,21697,21699,21701,21703,21705,21707,21709],{},[1138,21684,1702],{},[1138,21686,2475],{},[1138,21688,3546],{},[1138,21690,5426],{},[1138,21692,2472],{},[1138,21694,2356],{},[1138,21696,2373],{},[1138,21698,2359],{},[1142,21700,3900],{},[1138,21702,1155],{},[1138,21704,2356],{},[1138,21706,2204],{},[1138,21708,2204],{},[1146,21710,18472],{},[1160,21712,21713],{"encoding":1162},"Conflict\\ Miss \\uparrow",[1062,21715,21717],{"className":21716,"ariaHidden":1168},[1167],[1062,21718,21720,21723,21726,21729,21732,21735,21738,21741,21744,21747,21750,21753,21756,21759,21762],{"className":21719},[1172],[1062,21721],{"className":21722,"style":4550},[1176],[1062,21724,1702],{"className":21725,"style":1730},[1181,1220],[1062,21727,2475],{"className":21728},[1181,1220],[1062,21730,3546],{"className":21731},[1181,1220],[1062,21733,5426],{"className":21734,"style":5505},[1181,1220],[1062,21736,2472],{"className":21737,"style":2530},[1181,1220],[1062,21739,2356],{"className":21740},[1181,1220],[1062,21742,2373],{"className":21743},[1181,1220],[1062,21745,2359],{"className":21746},[1181,1220],[1062,21748,3900],{"className":21749},[1232],[1062,21751,1155],{"className":21752,"style":1221},[1181,1220],[1062,21754,2356],{"className":21755},[1181,1220],[1062,21757,2505],{"className":21758},[1181,1220],[1062,21760],{"className":21761,"style":1742},[1232],[1062,21763,18472],{"className":21764},[1746],[996,21766,21064],{"id":21767},"本页总结-1",[1294,21769,21770,21782],{},[1297,21771,21772],{},[1300,21773,21774,21777,21779],{},[1303,21775,21776],{},"Miss 类型",[1303,21778,21076],{},[1303,21780,21781],{},"直觉",[1313,21783,21784,21794,21803],{},[1300,21785,21786,21788,21791],{},[1318,21787,21147],{},[1318,21789,21790],{},"减少",[1318,21792,21793],{},"一次带入附近数据",[1300,21795,21796,21798,21800],{},[1318,21797,21267],{},[1318,21799,21107],{},[1318,21801,21802],{},"cache 可容纳的 block 数变少",[1300,21804,21805,21807,21809],{},[1318,21806,21656],{},[1318,21808,21107],{},[1318,21810,21811],{},"set\u002Fline 变少，映射冲突更多",[986,21813,21814],{},"这一页非常适合考试总结：",[986,21816,21817],{},[982,21818,21819],{},"larger block 用空间局部性减少 compulsory miss，但会牺牲 cache 的有效容量，并可能增加 conflict\u002Fcapacity miss。",[7727,21821],{},[978,21823,21825],{"id":21824},"page-119练习direct-mapped-cache-miss-分析","Page 119｜练习：Direct-Mapped Cache Miss 分析",[986,21827,21828],{},[992,21829],{"alt":992,"src":21830},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-98.png",[986,21832,21833],{},"这一页是具体地址映射练习。",[986,21835,21836],{},"题目条件：",[1344,21838,21839,21842,21845,21848,21851],{},[1347,21840,21841],{},"direct-mapped cache；",[1347,21843,21844],{},"cache 有 4 个 blocks；",[1347,21846,21847],{},"block size = 16 bytes；",[1347,21849,21850],{},"memory address = 12 bits；",[1347,21852,21853],{},"地址序列：",[1896,21855,21858],{"className":21856,"code":21857,"language":1225},[1899],"0x004\n0x0D8\n0x005\n0x0D4\n",[1902,21859,21857],{"__ignoreMap":1904},[996,21861,21862],{"id":21862},"地址字段划分",[986,21864,21865],{},"block size = 16 bytes，所以 offset 位数是：",[1062,21867,21869],{"className":21868},[7840],[1062,21870,21872,21924],{"className":21871},[1115],[1062,21873,21875],{"className":21874},[1119],[1121,21876,21877],{"xmlns":1123,"display":3391},[1125,21878,21879,21921],{},[1128,21880,21881,21883,21885,21887,21889,21891,21893,21895,21905,21907,21909,21911,21913,21915,21917,21919],{},[1138,21882,2921],{},[1138,21884,5426],{},[1138,21886,5426],{},[1138,21888,2204],{},[1138,21890,2201],{},[1138,21892,2359],{},[1146,21894,1711],{},[2913,21896,21897,21903],{},[1128,21898,21899,21901],{},[1138,21900,6293],{},[1146,21902,6296],{},[1134,21904,1136],{},[1134,21906,2233],{},[1146,21908,1711],{},[1134,21910,3735],{},[1142,21912,3900],{},[1138,21914,2469],{},[1138,21916,2356],{},[1138,21918,2359],{},[1138,21920,2204],{},[1160,21922,21923],{"encoding":1162},"Offset = \\log_2 16 = 4\\ bits",[1062,21925,21927,21957,22020],{"className":21926,"ariaHidden":1168},[1167],[1062,21928,21930,21933,21936,21939,21942,21945,21948,21951,21954],{"className":21929},[1172],[1062,21931],{"className":21932,"style":4550},[1176],[1062,21934,2921],{"className":21935,"style":2257},[1181,1220],[1062,21937,5426],{"className":21938,"style":5505},[1181,1220],[1062,21940,5426],{"className":21941,"style":5505},[1181,1220],[1062,21943,5512],{"className":21944},[1181,1220],[1062,21946,2359],{"className":21947},[1181,1220],[1062,21949],{"className":21950,"style":1742},[1232],[1062,21952,1711],{"className":21953},[1746],[1062,21955],{"className":21956,"style":1742},[1232],[1062,21958,21960,21963,22005,22008,22011,22014,22017],{"className":21959},[1172],[1062,21961],{"className":21962,"style":6339},[1176],[1062,21964,21966,21971],{"className":21965},[6343],[1062,21967,6347,21969],{"className":21968},[6343],[1062,21970,2216],{"style":6350},[1062,21972,21974],{"className":21973},[1188],[1062,21975,21977,21997],{"className":21976},[1192,2965],[1062,21978,21980,21994],{"className":21979},[1196],[1062,21981,21983],{"className":21982,"style":6363},[1200],[1062,21984,21985,21988],{"style":6366},[1062,21986],{"className":21987,"style":1209},[1208],[1062,21989,21991],{"className":21990},[1213,1214,1215,1216],[1062,21992,1136],{"className":21993},[1181,1216],[1062,21995,2995],{"className":21996},[2994],[1062,21998,22000],{"className":21999},[1196],[1062,22001,22003],{"className":22002,"style":6385},[1200],[1062,22004],{},[1062,22006],{"className":22007,"style":4831},[1232],[1062,22009,2233],{"className":22010},[1181],[1062,22012],{"className":22013,"style":1742},[1232],[1062,22015,1711],{"className":22016},[1746],[1062,22018],{"className":22019,"style":1742},[1232],[1062,22021,22023,22026,22029,22032,22035,22038],{"className":22022},[1172],[1062,22024],{"className":22025,"style":2246},[1176],[1062,22027,3735],{"className":22028},[1181],[1062,22030,3900],{"className":22031},[1232],[1062,22033,12804],{"className":22034},[1181,1220],[1062,22036,2359],{"className":22037},[1181,1220],[1062,22039,2204],{"className":22040},[1181,1220],[986,22042,22043],{},"cache 有 4 个 blocks，direct-mapped，所以 index 位数是：",[1062,22045,22047],{"className":22046},[7840],[1062,22048,22050,22100],{"className":22049},[1115],[1062,22051,22053],{"className":22052},[1119],[1121,22054,22055],{"xmlns":1123,"display":3391},[1125,22056,22057,22097],{},[1128,22058,22059,22061,22063,22065,22067,22069,22071,22081,22083,22085,22087,22089,22091,22093,22095],{},[1138,22060,1708],{},[1138,22062,3546],{},[1138,22064,2193],{},[1138,22066,2201],{},[1138,22068,2064],{},[1146,22070,1711],{},[2913,22072,22073,22079],{},[1128,22074,22075,22077],{},[1138,22076,6293],{},[1146,22078,6296],{},[1134,22080,1136],{},[1134,22082,3735],{},[1146,22084,1711],{},[1134,22086,1136],{},[1142,22088,3900],{},[1138,22090,2469],{},[1138,22092,2356],{},[1138,22094,2359],{},[1138,22096,2204],{},[1160,22098,22099],{"encoding":1162},"Index = \\log_2 4 = 2\\ bits",[1062,22101,22103,22133,22196],{"className":22102,"ariaHidden":1168},[1167],[1062,22104,22106,22109,22112,22115,22118,22121,22124,22127,22130],{"className":22105},[1172],[1062,22107],{"className":22108,"style":2246},[1176],[1062,22110,1708],{"className":22111,"style":1738},[1181,1220],[1062,22113,3546],{"className":22114},[1181,1220],[1062,22116,2193],{"className":22117},[1181,1220],[1062,22119,2201],{"className":22120},[1181,1220],[1062,22122,2064],{"className":22123},[1181,1220],[1062,22125],{"className":22126,"style":1742},[1232],[1062,22128,1711],{"className":22129},[1746],[1062,22131],{"className":22132,"style":1742},[1232],[1062,22134,22136,22139,22181,22184,22187,22190,22193],{"className":22135},[1172],[1062,22137],{"className":22138,"style":6339},[1176],[1062,22140,22142,22147],{"className":22141},[6343],[1062,22143,6347,22145],{"className":22144},[6343],[1062,22146,2216],{"style":6350},[1062,22148,22150],{"className":22149},[1188],[1062,22151,22153,22173],{"className":22152},[1192,2965],[1062,22154,22156,22170],{"className":22155},[1196],[1062,22157,22159],{"className":22158,"style":6363},[1200],[1062,22160,22161,22164],{"style":6366},[1062,22162],{"className":22163,"style":1209},[1208],[1062,22165,22167],{"className":22166},[1213,1214,1215,1216],[1062,22168,1136],{"className":22169},[1181,1216],[1062,22171,2995],{"className":22172},[2994],[1062,22174,22176],{"className":22175},[1196],[1062,22177,22179],{"className":22178,"style":6385},[1200],[1062,22180],{},[1062,22182],{"className":22183,"style":4831},[1232],[1062,22185,3735],{"className":22186},[1181],[1062,22188],{"className":22189,"style":1742},[1232],[1062,22191,1711],{"className":22192},[1746],[1062,22194],{"className":22195,"style":1742},[1232],[1062,22197,22199,22202,22205,22208,22211,22214],{"className":22198},[1172],[1062,22200],{"className":22201,"style":2246},[1176],[1062,22203,1136],{"className":22204},[1181],[1062,22206,3900],{"className":22207},[1232],[1062,22209,12804],{"className":22210},[1181,1220],[1062,22212,2359],{"className":22213},[1181,1220],[1062,22215,2204],{"className":22216},[1181,1220],[986,22218,22219],{},"地址总长是 12 bits，所以 tag 位数是：",[1062,22221,22223],{"className":22222},[7840],[1062,22224,22226,22270],{"className":22225},[1115],[1062,22227,22229],{"className":22228},[1119],[1121,22230,22231],{"xmlns":1123,"display":3391},[1125,22232,22233,22267],{},[1128,22234,22235,22237,22239,22241,22243,22245,22247,22249,22251,22253,22255,22257,22259,22261,22263,22265],{},[1138,22236,4621],{},[1138,22238,2370],{},[1138,22240,2216],{},[1146,22242,1711],{},[1134,22244,5960],{},[1146,22246,6566],{},[1134,22248,3735],{},[1146,22250,6566],{},[1134,22252,1136],{},[1146,22254,1711],{},[1134,22256,2225],{},[1142,22258,3900],{},[1138,22260,2469],{},[1138,22262,2356],{},[1138,22264,2359],{},[1138,22266,2204],{},[1160,22268,22269],{"encoding":1162},"Tag = 12 - 4 - 2 = 6\\ bits",[1062,22271,22273,22297,22315,22333,22351],{"className":22272,"ariaHidden":1168},[1167],[1062,22274,22276,22279,22282,22285,22288,22291,22294],{"className":22275},[1172],[1062,22277],{"className":22278,"style":5474},[1176],[1062,22280,4621],{"className":22281,"style":1734},[1181,1220],[1062,22283,2370],{"className":22284},[1181,1220],[1062,22286,2216],{"className":22287,"style":2288},[1181,1220],[1062,22289],{"className":22290,"style":1742},[1232],[1062,22292,1711],{"className":22293},[1746],[1062,22295],{"className":22296,"style":1742},[1232],[1062,22298,22300,22303,22306,22309,22312],{"className":22299},[1172],[1062,22301],{"className":22302,"style":1662},[1176],[1062,22304,5960],{"className":22305},[1181],[1062,22307],{"className":22308,"style":1233},[1232],[1062,22310,6566],{"className":22311},[1237],[1062,22313],{"className":22314,"style":1233},[1232],[1062,22316,22318,22321,22324,22327,22330],{"className":22317},[1172],[1062,22319],{"className":22320,"style":1662},[1176],[1062,22322,3735],{"className":22323},[1181],[1062,22325],{"className":22326,"style":1233},[1232],[1062,22328,6566],{"className":22329},[1237],[1062,22331],{"className":22332,"style":1233},[1232],[1062,22334,22336,22339,22342,22345,22348],{"className":22335},[1172],[1062,22337],{"className":22338,"style":1756},[1176],[1062,22340,1136],{"className":22341},[1181],[1062,22343],{"className":22344,"style":1742},[1232],[1062,22346,1711],{"className":22347},[1746],[1062,22349],{"className":22350,"style":1742},[1232],[1062,22352,22354,22357,22360,22363,22366,22369],{"className":22353},[1172],[1062,22355],{"className":22356,"style":2246},[1176],[1062,22358,2225],{"className":22359},[1181],[1062,22361,3900],{"className":22362},[1232],[1062,22364,12804],{"className":22365},[1181,1220],[1062,22367,2359],{"className":22368},[1181,1220],[1062,22370,2204],{"className":22371},[1181,1220],[986,22373,22374],{},"因此地址格式是：",[1896,22376,22379],{"className":22377,"code":22378,"language":1225},[1899],"Tag 6 bits | Index 2 bits | Offset 4 bits\n",[1902,22380,22378],{"__ignoreMap":1904},[986,22382,22383],{},"也可以用 block number 来算：",[1062,22385,22387],{"className":22386},[7840],[1062,22388,22390,22470],{"className":22389},[1115],[1062,22391,22393],{"className":22392},[1119],[1121,22394,22395],{"xmlns":1123,"display":3391},[1125,22396,22397,22467],{},[1128,22398,22399,22401,22403,22405,22407,22409,22411,22413,22415,22417,22419,22421,22423,22425,22428,22430,22432,22434,22436,22438,22440,22442,22444,22446,22448,22450,22452,22454,22456,22458,22460,22462,22464],{},[1138,22400,5567],{},[1138,22402,2472],{},[1138,22404,2475],{},[1138,22406,2373],{},[1138,22408,2480],{},[1142,22410,3900],{},[1138,22412,1140],{},[1138,22414,3909],{},[1138,22416,1610],{},[1138,22418,2469],{},[1138,22420,2201],{},[1138,22422,2198],{},[1146,22424,1711],{},[1146,22426,22427],{"stretchy":2219},"⌊",[1138,22429,2190],{},[1138,22431,2193],{},[1138,22433,2193],{},[1138,22435,2198],{},[1138,22437,2201],{},[1138,22439,2204],{},[1138,22441,2204],{},[1138,22443,2927],{"mathvariant":2926},[1138,22445,5567],{},[1138,22447,2472],{},[1138,22449,2475],{},[1138,22451,2373],{},[1138,22453,2480],{},[1142,22455,3900],{},[1138,22457,9259],{},[1138,22459,2356],{},[1138,22461,5557],{},[1138,22463,2201],{},[1146,22465,22466],{"stretchy":2219},"⌋",[1160,22468,22469],{"encoding":1162},"Block\\ Number = \\lfloor Address \u002F Block\\ Size \\rfloor",[1062,22471,22473,22515],{"className":22472,"ariaHidden":1168},[1167],[1062,22474,22476,22479,22482,22485,22488,22491,22494,22497,22500,22503,22506,22509,22512],{"className":22475},[1172],[1062,22477],{"className":22478,"style":2246},[1176],[1062,22480,5567],{"className":22481,"style":5632},[1181,1220],[1062,22483,2472],{"className":22484,"style":2530},[1181,1220],[1062,22486,2534],{"className":22487},[1181,1220],[1062,22489,2480],{"className":22490,"style":2538},[1181,1220],[1062,22492,3900],{"className":22493},[1232],[1062,22495,1140],{"className":22496,"style":1221},[1181,1220],[1062,22498,3909],{"className":22499},[1181,1220],[1062,22501,19192],{"className":22502},[1181,1220],[1062,22504,15320],{"className":22505,"style":2257},[1181,1220],[1062,22507],{"className":22508,"style":1742},[1232],[1062,22510,1711],{"className":22511},[1746],[1062,22513],{"className":22514,"style":1742},[1232],[1062,22516,22518,22521,22524,22527,22530,22533,22536,22539,22542,22545,22548,22551,22554,22557,22560,22563,22566],{"className":22517},[1172],[1062,22519],{"className":22520,"style":2277},[1176],[1062,22522,22427],{"className":22523},[2292],[1062,22525,2190],{"className":22526},[1181,1220],[1062,22528,2253],{"className":22529},[1181,1220],[1062,22531,2198],{"className":22532,"style":2257},[1181,1220],[1062,22534,2261],{"className":22535},[1181,1220],[1062,22537,2927],{"className":22538},[1181],[1062,22540,5567],{"className":22541,"style":5632},[1181,1220],[1062,22543,2472],{"className":22544,"style":2530},[1181,1220],[1062,22546,2534],{"className":22547},[1181,1220],[1062,22549,2480],{"className":22550,"style":2538},[1181,1220],[1062,22552,3900],{"className":22553},[1232],[1062,22555,9259],{"className":22556,"style":9315},[1181,1220],[1062,22558,2356],{"className":22559},[1181,1220],[1062,22561,5557],{"className":22562,"style":5607},[1181,1220],[1062,22564,2201],{"className":22565},[1181,1220],[1062,22567,22466],{"className":22568},[2302],[986,22570,22571],{},"direct-mapped cache 的 index 是：",[1062,22573,22575],{"className":22574},[7840],[1062,22576,22578,22676],{"className":22577},[1115],[1062,22579,22581],{"className":22580},[1119],[1121,22582,22583],{"xmlns":1123,"display":3391},[1125,22584,22585,22673],{},[1128,22586,22587,22589,22591,22593,22595,22597,22599,22601,22603,22605,22607,22609,22611,22613,22615,22617,22619,22621,22623,22625,22635,22637,22639,22641,22643,22645,22647,22649,22651,22653,22655,22657,22659,22661,22663,22665,22667,22669,22671],{},[1138,22588,1708],{},[1138,22590,3546],{},[1138,22592,2193],{},[1138,22594,2201],{},[1138,22596,2064],{},[1146,22598,1711],{},[1138,22600,5567],{},[1138,22602,2472],{},[1138,22604,2475],{},[1138,22606,2373],{},[1138,22608,2480],{},[1142,22610,3900],{},[1138,22612,1140],{},[1138,22614,3909],{},[1138,22616,1610],{},[1138,22618,2469],{},[1138,22620,2201],{},[1138,22622,2198],{},[1142,22624,13765],{},[1146,22626,22627],{"lspace":13768,"rspace":13768},[1128,22628,22629,22631,22633],{},[1138,22630,1610],{"mathvariant":2926},[1138,22632,2475],{"mathvariant":2926},[1138,22634,2193],{"mathvariant":2926},[1142,22636,13765],{},[1138,22638,1702],{},[1138,22640,2370],{},[1138,22642,2373],{},[1138,22644,2376],{},[1138,22646,2201],{},[1142,22648,3900],{},[1138,22650,5567],{},[1138,22652,2472],{},[1138,22654,2475],{},[1138,22656,2373],{},[1138,22658,2480],{},[1142,22660,3900],{},[1138,22662,1140],{},[1138,22664,3909],{},[1138,22666,1610],{},[1138,22668,2469],{},[1138,22670,2201],{},[1138,22672,2198],{},[1160,22674,22675],{"encoding":1162},"Index = Block\\ Number \\bmod Cache\\ Block\\ Number",[1062,22677,22679,22709,22763],{"className":22678,"ariaHidden":1168},[1167],[1062,22680,22682,22685,22688,22691,22694,22697,22700,22703,22706],{"className":22681},[1172],[1062,22683],{"className":22684,"style":2246},[1176],[1062,22686,1708],{"className":22687,"style":1738},[1181,1220],[1062,22689,3546],{"className":22690},[1181,1220],[1062,22692,2193],{"className":22693},[1181,1220],[1062,22695,2201],{"className":22696},[1181,1220],[1062,22698,2064],{"className":22699},[1181,1220],[1062,22701],{"className":22702,"style":1742},[1232],[1062,22704,1711],{"className":22705},[1746],[1062,22707],{"className":22708,"style":1742},[1232],[1062,22710,22712,22715,22718,22721,22724,22727,22730,22733,22736,22739,22742,22745,22748,22757,22760],{"className":22711},[1172],[1062,22713],{"className":22714,"style":2246},[1176],[1062,22716,5567],{"className":22717,"style":5632},[1181,1220],[1062,22719,2472],{"className":22720,"style":2530},[1181,1220],[1062,22722,2534],{"className":22723},[1181,1220],[1062,22725,2480],{"className":22726,"style":2538},[1181,1220],[1062,22728,3900],{"className":22729},[1232],[1062,22731,1140],{"className":22732,"style":1221},[1181,1220],[1062,22734,3909],{"className":22735},[1181,1220],[1062,22737,19192],{"className":22738},[1181,1220],[1062,22740,15320],{"className":22741,"style":2257},[1181,1220],[1062,22743],{"className":22744,"style":13803},[1232],[1062,22746],{"className":22747,"style":1233},[1232],[1062,22749,22751],{"className":22750},[1237],[1062,22752,22754],{"className":22753},[1181],[1062,22755,13817],{"className":22756},[1181,13816],[1062,22758],{"className":22759,"style":13803},[1232],[1062,22761],{"className":22762,"style":1233},[1232],[1062,22764,22766,22769,22772,22775,22778,22781,22784,22787,22790,22793,22796,22799,22802,22805,22808,22811],{"className":22765},[1172],[1062,22767],{"className":22768,"style":2246},[1176],[1062,22770,1702],{"className":22771,"style":1730},[1181,1220],[1062,22773,2370],{"className":22774},[1181,1220],[1062,22776,2373],{"className":22777},[1181,1220],[1062,22779,2376],{"className":22780},[1181,1220],[1062,22782,2201],{"className":22783},[1181,1220],[1062,22785,3900],{"className":22786},[1232],[1062,22788,5567],{"className":22789,"style":5632},[1181,1220],[1062,22791,2472],{"className":22792,"style":2530},[1181,1220],[1062,22794,2534],{"className":22795},[1181,1220],[1062,22797,2480],{"className":22798,"style":2538},[1181,1220],[1062,22800,3900],{"className":22801},[1232],[1062,22803,1140],{"className":22804,"style":1221},[1181,1220],[1062,22806,3909],{"className":22807},[1181,1220],[1062,22809,19192],{"className":22810},[1181,1220],[1062,22812,15320],{"className":22813,"style":2257},[1181,1220],[986,22815,22816],{},"tag 是：",[1062,22818,22820],{"className":22819},[7840],[1062,22821,22823,22909],{"className":22822},[1115],[1062,22824,22826],{"className":22825},[1119],[1121,22827,22828],{"xmlns":1123,"display":3391},[1125,22829,22830,22906],{},[1128,22831,22832,22834,22836,22838,22840,22842,22844,22846,22848,22850,22852,22854,22856,22858,22860,22862,22864,22866,22868,22870,22872,22874,22876,22878,22880,22882,22884,22886,22888,22890,22892,22894,22896,22898,22900,22902,22904],{},[1138,22833,4621],{},[1138,22835,2370],{},[1138,22837,2216],{},[1146,22839,1711],{},[1146,22841,22427],{"stretchy":2219},[1138,22843,5567],{},[1138,22845,2472],{},[1138,22847,2475],{},[1138,22849,2373],{},[1138,22851,2480],{},[1142,22853,3900],{},[1138,22855,1140],{},[1138,22857,3909],{},[1138,22859,1610],{},[1138,22861,2469],{},[1138,22863,2201],{},[1138,22865,2198],{},[1138,22867,2927],{"mathvariant":2926},[1138,22869,1702],{},[1138,22871,2370],{},[1138,22873,2373],{},[1138,22875,2376],{},[1138,22877,2201],{},[1142,22879,3900],{},[1138,22881,5567],{},[1138,22883,2472],{},[1138,22885,2475],{},[1138,22887,2373],{},[1138,22889,2480],{},[1142,22891,3900],{},[1138,22893,1140],{},[1138,22895,3909],{},[1138,22897,1610],{},[1138,22899,2469],{},[1138,22901,2201],{},[1138,22903,2198],{},[1146,22905,22466],{"stretchy":2219},[1160,22907,22908],{"encoding":1162},"Tag = \\lfloor Block\\ Number \u002F Cache\\ Block\\ Number \\rfloor",[1062,22910,22912,22936],{"className":22911,"ariaHidden":1168},[1167],[1062,22913,22915,22918,22921,22924,22927,22930,22933],{"className":22914},[1172],[1062,22916],{"className":22917,"style":5474},[1176],[1062,22919,4621],{"className":22920,"style":1734},[1181,1220],[1062,22922,2370],{"className":22923},[1181,1220],[1062,22925,2216],{"className":22926,"style":2288},[1181,1220],[1062,22928],{"className":22929,"style":1742},[1232],[1062,22931,1711],{"className":22932},[1746],[1062,22934],{"className":22935,"style":1742},[1232],[1062,22937,22939,22942,22945,22948,22951,22954,22957,22960,22963,22966,22969,22972,22975,22978,22981,22984,22987,22990,22993,22996,22999,23002,23005,23008,23011,23014,23017,23020],{"className":22938},[1172],[1062,22940],{"className":22941,"style":2277},[1176],[1062,22943,22427],{"className":22944},[2292],[1062,22946,5567],{"className":22947,"style":5632},[1181,1220],[1062,22949,2472],{"className":22950,"style":2530},[1181,1220],[1062,22952,2534],{"className":22953},[1181,1220],[1062,22955,2480],{"className":22956,"style":2538},[1181,1220],[1062,22958,3900],{"className":22959},[1232],[1062,22961,1140],{"className":22962,"style":1221},[1181,1220],[1062,22964,3909],{"className":22965},[1181,1220],[1062,22967,19192],{"className":22968},[1181,1220],[1062,22970,15320],{"className":22971,"style":2257},[1181,1220],[1062,22973,2927],{"className":22974},[1181],[1062,22976,1702],{"className":22977,"style":1730},[1181,1220],[1062,22979,2370],{"className":22980},[1181,1220],[1062,22982,2373],{"className":22983},[1181,1220],[1062,22985,2376],{"className":22986},[1181,1220],[1062,22988,2201],{"className":22989},[1181,1220],[1062,22991,3900],{"className":22992},[1232],[1062,22994,5567],{"className":22995,"style":5632},[1181,1220],[1062,22997,2472],{"className":22998,"style":2530},[1181,1220],[1062,23000,2534],{"className":23001},[1181,1220],[1062,23003,2480],{"className":23004,"style":2538},[1181,1220],[1062,23006,3900],{"className":23007},[1232],[1062,23009,1140],{"className":23010,"style":1221},[1181,1220],[1062,23012,3909],{"className":23013},[1181,1220],[1062,23015,19192],{"className":23016},[1181,1220],[1062,23018,15320],{"className":23019,"style":2257},[1181,1220],[1062,23021,22466],{"className":23022},[2302],[7727,23024],{},[996,23026,23028],{"id":23027},"访问-10x004","访问 1：0x004",[986,23030,23031],{},"地址：",[1062,23033,23035],{"className":23034},[7840],[1062,23036,23038,23061],{"className":23037},[1115],[1062,23039,23041],{"className":23040},[1119],[1121,23042,23043],{"xmlns":1123,"display":3391},[1125,23044,23045,23058],{},[1128,23046,23047,23049,23051,23054,23056],{},[1134,23048,5209],{},[1138,23050,2064],{},[1134,23052,23053],{},"004",[1146,23055,1711],{},[1134,23057,3735],{},[1160,23059,23060],{"encoding":1162},"0x004 = 4",[1062,23062,23064,23088],{"className":23063,"ariaHidden":1168},[1167],[1062,23065,23067,23070,23073,23076,23079,23082,23085],{"className":23066},[1172],[1062,23068],{"className":23069,"style":1756},[1176],[1062,23071,5209],{"className":23072},[1181],[1062,23074,2064],{"className":23075},[1181,1220],[1062,23077,23053],{"className":23078},[1181],[1062,23080],{"className":23081,"style":1742},[1232],[1062,23083,1711],{"className":23084},[1746],[1062,23086],{"className":23087,"style":1742},[1232],[1062,23089,23091,23094],{"className":23090},[1172],[1062,23092],{"className":23093,"style":1756},[1176],[1062,23095,3735],{"className":23096},[1181],[986,23098,23099],{},"block number（一个block的大小为16）：",[986,23101,23102,23236],{},[1062,23103,23105,23157],{"className":23104},[1115],[1062,23106,23108],{"className":23107},[1119],[1121,23109,23110],{"xmlns":1123},[1125,23111,23112,23154],{},[1128,23113,23114,23116,23118,23120,23122,23124,23126,23128,23130,23132,23134,23136,23138,23140,23142,23144,23146,23148,23150,23152],{},[1138,23115,5567],{},[1138,23117,2472],{},[1138,23119,2475],{},[1138,23121,2373],{},[1138,23123,2480],{},[1142,23125,3900],{},[1138,23127,1140],{},[1138,23129,3909],{},[1138,23131,1610],{},[1138,23133,2469],{},[1138,23135,2201],{},[1138,23137,2198],{},[1146,23139,1711],{},[1146,23141,22427],{"stretchy":2219},[1134,23143,3735],{},[1138,23145,2927],{"mathvariant":2926},[1134,23147,2233],{},[1146,23149,22466],{"stretchy":2219},[1146,23151,1711],{},[1134,23153,5209],{},[1160,23155,23156],{"encoding":1162},"Block\\ Number = \\lfloor 4 \u002F 16 \\rfloor = 0",[1062,23158,23160,23202,23227],{"className":23159,"ariaHidden":1168},[1167],[1062,23161,23163,23166,23169,23172,23175,23178,23181,23184,23187,23190,23193,23196,23199],{"className":23162},[1172],[1062,23164],{"className":23165,"style":2246},[1176],[1062,23167,5567],{"className":23168,"style":5632},[1181,1220],[1062,23170,2472],{"className":23171,"style":2530},[1181,1220],[1062,23173,2534],{"className":23174},[1181,1220],[1062,23176,2480],{"className":23177,"style":2538},[1181,1220],[1062,23179,3900],{"className":23180},[1232],[1062,23182,1140],{"className":23183,"style":1221},[1181,1220],[1062,23185,3909],{"className":23186},[1181,1220],[1062,23188,19192],{"className":23189},[1181,1220],[1062,23191,15320],{"className":23192,"style":2257},[1181,1220],[1062,23194],{"className":23195,"style":1742},[1232],[1062,23197,1711],{"className":23198},[1746],[1062,23200],{"className":23201,"style":1742},[1232],[1062,23203,23205,23208,23211,23215,23218,23221,23224],{"className":23204},[1172],[1062,23206],{"className":23207,"style":2277},[1176],[1062,23209,22427],{"className":23210},[2292],[1062,23212,23214],{"className":23213},[1181],"4\u002F16",[1062,23216,22466],{"className":23217},[2302],[1062,23219],{"className":23220,"style":1742},[1232],[1062,23222,1711],{"className":23223},[1746],[1062,23225],{"className":23226,"style":1742},[1232],[1062,23228,23230,23233],{"className":23229},[1172],[1062,23231],{"className":23232,"style":1756},[1176],[1062,23234,5209],{"className":23235},[1181],"，说明在第0个block",[986,23238,23239],{},"index：",[1062,23241,23243],{"className":23242},[7840],[1062,23244,23246,23292],{"className":23245},[1115],[1062,23247,23249],{"className":23248},[1119],[1121,23250,23251],{"xmlns":1123,"display":3391},[1125,23252,23253,23289],{},[1128,23254,23255,23257,23259,23261,23263,23265,23267,23269,23271,23281,23283,23285,23287],{},[1138,23256,1708],{},[1138,23258,3546],{},[1138,23260,2193],{},[1138,23262,2201],{},[1138,23264,2064],{},[1146,23266,1711],{},[1134,23268,5209],{},[1142,23270,13765],{},[1146,23272,23273],{"lspace":13768,"rspace":13768},[1128,23274,23275,23277,23279],{},[1138,23276,1610],{"mathvariant":2926},[1138,23278,2475],{"mathvariant":2926},[1138,23280,2193],{"mathvariant":2926},[1142,23282,13765],{},[1134,23284,3735],{},[1146,23286,1711],{},[1134,23288,5209],{},[1160,23290,23291],{"encoding":1162},"Index = 0 \\bmod 4 = 0",[1062,23293,23295,23325,23355,23373],{"className":23294,"ariaHidden":1168},[1167],[1062,23296,23298,23301,23304,23307,23310,23313,23316,23319,23322],{"className":23297},[1172],[1062,23299],{"className":23300,"style":2246},[1176],[1062,23302,1708],{"className":23303,"style":1738},[1181,1220],[1062,23305,3546],{"className":23306},[1181,1220],[1062,23308,2193],{"className":23309},[1181,1220],[1062,23311,2201],{"className":23312},[1181,1220],[1062,23314,2064],{"className":23315},[1181,1220],[1062,23317],{"className":23318,"style":1742},[1232],[1062,23320,1711],{"className":23321},[1746],[1062,23323],{"className":23324,"style":1742},[1232],[1062,23326,23328,23331,23334,23337,23340,23349,23352],{"className":23327},[1172],[1062,23329],{"className":23330,"style":2246},[1176],[1062,23332,5209],{"className":23333},[1181],[1062,23335],{"className":23336,"style":13803},[1232],[1062,23338],{"className":23339,"style":1233},[1232],[1062,23341,23343],{"className":23342},[1237],[1062,23344,23346],{"className":23345},[1181],[1062,23347,13817],{"className":23348},[1181,13816],[1062,23350],{"className":23351,"style":13803},[1232],[1062,23353],{"className":23354,"style":1233},[1232],[1062,23356,23358,23361,23364,23367,23370],{"className":23357},[1172],[1062,23359],{"className":23360,"style":1756},[1176],[1062,23362,3735],{"className":23363},[1181],[1062,23365],{"className":23366,"style":1742},[1232],[1062,23368,1711],{"className":23369},[1746],[1062,23371],{"className":23372,"style":1742},[1232],[1062,23374,23376,23379],{"className":23375},[1172],[1062,23377],{"className":23378,"style":1756},[1176],[1062,23380,5209],{"className":23381},[1181],[986,23383,23384],{},"tag：",[1062,23386,23388],{"className":23387},[7840],[1062,23389,23391,23425],{"className":23390},[1115],[1062,23392,23394],{"className":23393},[1119],[1121,23395,23396],{"xmlns":1123,"display":3391},[1125,23397,23398,23422],{},[1128,23399,23400,23402,23404,23406,23408,23410,23412,23414,23416,23418,23420],{},[1138,23401,4621],{},[1138,23403,2370],{},[1138,23405,2216],{},[1146,23407,1711],{},[1146,23409,22427],{"stretchy":2219},[1134,23411,5209],{},[1138,23413,2927],{"mathvariant":2926},[1134,23415,3735],{},[1146,23417,22466],{"stretchy":2219},[1146,23419,1711],{},[1134,23421,5209],{},[1160,23423,23424],{"encoding":1162},"Tag = \\lfloor 0 \u002F 4 \\rfloor = 0",[1062,23426,23428,23452,23477],{"className":23427,"ariaHidden":1168},[1167],[1062,23429,23431,23434,23437,23440,23443,23446,23449],{"className":23430},[1172],[1062,23432],{"className":23433,"style":5474},[1176],[1062,23435,4621],{"className":23436,"style":1734},[1181,1220],[1062,23438,2370],{"className":23439},[1181,1220],[1062,23441,2216],{"className":23442,"style":2288},[1181,1220],[1062,23444],{"className":23445,"style":1742},[1232],[1062,23447,1711],{"className":23448},[1746],[1062,23450],{"className":23451,"style":1742},[1232],[1062,23453,23455,23458,23461,23465,23468,23471,23474],{"className":23454},[1172],[1062,23456],{"className":23457,"style":2277},[1176],[1062,23459,22427],{"className":23460},[2292],[1062,23462,23464],{"className":23463},[1181],"0\u002F4",[1062,23466,22466],{"className":23467},[2302],[1062,23469],{"className":23470,"style":1742},[1232],[1062,23472,1711],{"className":23473},[1746],[1062,23475],{"className":23476,"style":1742},[1232],[1062,23478,23480,23483],{"className":23479},[1172],[1062,23481],{"className":23482,"style":1756},[1176],[1062,23484,5209],{"className":23485},[1181],[986,23487,23488],{},"cache 初始为空，所以这次是：",[1896,23490,23493],{"className":23491,"code":23492,"language":1225},[1899],"Miss，Compulsory Miss\n",[1902,23494,23492],{"__ignoreMap":1904},[986,23496,23497],{},"因为这是第一次访问 block 0。",[7727,23499],{},[996,23501,23503],{"id":23502},"访问-20x0d8","访问 2：0x0D8",[986,23505,23031],{},[1062,23507,23509],{"className":23508},[7840],[1062,23510,23512,23539],{"className":23511},[1115],[1062,23513,23515],{"className":23514},[1119],[1121,23516,23517],{"xmlns":1123,"display":3391},[1125,23518,23519,23536],{},[1128,23520,23521,23523,23525,23527,23529,23531,23533],{},[1134,23522,5209],{},[1138,23524,2064],{},[1134,23526,5209],{},[1138,23528,3079],{},[1134,23530,5670],{},[1146,23532,1711],{},[1134,23534,23535],{},"216",[1160,23537,23538],{"encoding":1162},"0x0D8 = 216",[1062,23540,23542,23572],{"className":23541,"ariaHidden":1168},[1167],[1062,23543,23545,23548,23551,23554,23557,23560,23563,23566,23569],{"className":23544},[1172],[1062,23546],{"className":23547,"style":1726},[1176],[1062,23549,5209],{"className":23550},[1181],[1062,23552,2064],{"className":23553},[1181,1220],[1062,23555,5209],{"className":23556},[1181],[1062,23558,3079],{"className":23559,"style":2257},[1181,1220],[1062,23561,5670],{"className":23562},[1181],[1062,23564],{"className":23565,"style":1742},[1232],[1062,23567,1711],{"className":23568},[1746],[1062,23570],{"className":23571,"style":1742},[1232],[1062,23573,23575,23578],{"className":23574},[1172],[1062,23576],{"className":23577,"style":1756},[1176],[1062,23579,23535],{"className":23580},[1181],[986,23582,23583],{},"block number：",[1062,23585,23587],{"className":23586},[7840],[1062,23588,23590,23643],{"className":23589},[1115],[1062,23591,23593],{"className":23592},[1119],[1121,23594,23595],{"xmlns":1123,"display":3391},[1125,23596,23597,23640],{},[1128,23598,23599,23601,23603,23605,23607,23609,23611,23613,23615,23617,23619,23621,23623,23625,23627,23629,23631,23633,23635,23637],{},[1138,23600,5567],{},[1138,23602,2472],{},[1138,23604,2475],{},[1138,23606,2373],{},[1138,23608,2480],{},[1142,23610,3900],{},[1138,23612,1140],{},[1138,23614,3909],{},[1138,23616,1610],{},[1138,23618,2469],{},[1138,23620,2201],{},[1138,23622,2198],{},[1146,23624,1711],{},[1146,23626,22427],{"stretchy":2219},[1134,23628,23535],{},[1138,23630,2927],{"mathvariant":2926},[1134,23632,2233],{},[1146,23634,22466],{"stretchy":2219},[1146,23636,1711],{},[1134,23638,23639],{},"13",[1160,23641,23642],{"encoding":1162},"Block\\ Number = \\lfloor 216 \u002F 16 \\rfloor = 13",[1062,23644,23646,23688,23713],{"className":23645,"ariaHidden":1168},[1167],[1062,23647,23649,23652,23655,23658,23661,23664,23667,23670,23673,23676,23679,23682,23685],{"className":23648},[1172],[1062,23650],{"className":23651,"style":2246},[1176],[1062,23653,5567],{"className":23654,"style":5632},[1181,1220],[1062,23656,2472],{"className":23657,"style":2530},[1181,1220],[1062,23659,2534],{"className":23660},[1181,1220],[1062,23662,2480],{"className":23663,"style":2538},[1181,1220],[1062,23665,3900],{"className":23666},[1232],[1062,23668,1140],{"className":23669,"style":1221},[1181,1220],[1062,23671,3909],{"className":23672},[1181,1220],[1062,23674,19192],{"className":23675},[1181,1220],[1062,23677,15320],{"className":23678,"style":2257},[1181,1220],[1062,23680],{"className":23681,"style":1742},[1232],[1062,23683,1711],{"className":23684},[1746],[1062,23686],{"className":23687,"style":1742},[1232],[1062,23689,23691,23694,23697,23701,23704,23707,23710],{"className":23690},[1172],[1062,23692],{"className":23693,"style":2277},[1176],[1062,23695,22427],{"className":23696},[2292],[1062,23698,23700],{"className":23699},[1181],"216\u002F16",[1062,23702,22466],{"className":23703},[2302],[1062,23705],{"className":23706,"style":1742},[1232],[1062,23708,1711],{"className":23709},[1746],[1062,23711],{"className":23712,"style":1742},[1232],[1062,23714,23716,23719],{"className":23715},[1172],[1062,23717],{"className":23718,"style":1756},[1176],[1062,23720,23639],{"className":23721},[1181],[986,23723,23239],{},[1062,23725,23727],{"className":23726},[7840],[1062,23728,23730,23776],{"className":23729},[1115],[1062,23731,23733],{"className":23732},[1119],[1121,23734,23735],{"xmlns":1123,"display":3391},[1125,23736,23737,23773],{},[1128,23738,23739,23741,23743,23745,23747,23749,23751,23753,23755,23765,23767,23769,23771],{},[1138,23740,1708],{},[1138,23742,3546],{},[1138,23744,2193],{},[1138,23746,2201],{},[1138,23748,2064],{},[1146,23750,1711],{},[1134,23752,23639],{},[1142,23754,13765],{},[1146,23756,23757],{"lspace":13768,"rspace":13768},[1128,23758,23759,23761,23763],{},[1138,23760,1610],{"mathvariant":2926},[1138,23762,2475],{"mathvariant":2926},[1138,23764,2193],{"mathvariant":2926},[1142,23766,13765],{},[1134,23768,3735],{},[1146,23770,1711],{},[1134,23772,1644],{},[1160,23774,23775],{"encoding":1162},"Index = 13 \\bmod 4 = 1",[1062,23777,23779,23809,23839,23857],{"className":23778,"ariaHidden":1168},[1167],[1062,23780,23782,23785,23788,23791,23794,23797,23800,23803,23806],{"className":23781},[1172],[1062,23783],{"className":23784,"style":2246},[1176],[1062,23786,1708],{"className":23787,"style":1738},[1181,1220],[1062,23789,3546],{"className":23790},[1181,1220],[1062,23792,2193],{"className":23793},[1181,1220],[1062,23795,2201],{"className":23796},[1181,1220],[1062,23798,2064],{"className":23799},[1181,1220],[1062,23801],{"className":23802,"style":1742},[1232],[1062,23804,1711],{"className":23805},[1746],[1062,23807],{"className":23808,"style":1742},[1232],[1062,23810,23812,23815,23818,23821,23824,23833,23836],{"className":23811},[1172],[1062,23813],{"className":23814,"style":2246},[1176],[1062,23816,23639],{"className":23817},[1181],[1062,23819],{"className":23820,"style":13803},[1232],[1062,23822],{"className":23823,"style":1233},[1232],[1062,23825,23827],{"className":23826},[1237],[1062,23828,23830],{"className":23829},[1181],[1062,23831,13817],{"className":23832},[1181,13816],[1062,23834],{"className":23835,"style":13803},[1232],[1062,23837],{"className":23838,"style":1233},[1232],[1062,23840,23842,23845,23848,23851,23854],{"className":23841},[1172],[1062,23843],{"className":23844,"style":1756},[1176],[1062,23846,3735],{"className":23847},[1181],[1062,23849],{"className":23850,"style":1742},[1232],[1062,23852,1711],{"className":23853},[1746],[1062,23855],{"className":23856,"style":1742},[1232],[1062,23858,23860,23863],{"className":23859},[1172],[1062,23861],{"className":23862,"style":1756},[1176],[1062,23864,1644],{"className":23865},[1181],[986,23867,23384],{},[1062,23869,23871],{"className":23870},[7840],[1062,23872,23874,23908],{"className":23873},[1115],[1062,23875,23877],{"className":23876},[1119],[1121,23878,23879],{"xmlns":1123,"display":3391},[1125,23880,23881,23905],{},[1128,23882,23883,23885,23887,23889,23891,23893,23895,23897,23899,23901,23903],{},[1138,23884,4621],{},[1138,23886,2370],{},[1138,23888,2216],{},[1146,23890,1711],{},[1146,23892,22427],{"stretchy":2219},[1134,23894,23639],{},[1138,23896,2927],{"mathvariant":2926},[1134,23898,3735],{},[1146,23900,22466],{"stretchy":2219},[1146,23902,1711],{},[1134,23904,2137],{},[1160,23906,23907],{"encoding":1162},"Tag = \\lfloor 13 \u002F 4 \\rfloor = 3",[1062,23909,23911,23935,23960],{"className":23910,"ariaHidden":1168},[1167],[1062,23912,23914,23917,23920,23923,23926,23929,23932],{"className":23913},[1172],[1062,23915],{"className":23916,"style":5474},[1176],[1062,23918,4621],{"className":23919,"style":1734},[1181,1220],[1062,23921,2370],{"className":23922},[1181,1220],[1062,23924,2216],{"className":23925,"style":2288},[1181,1220],[1062,23927],{"className":23928,"style":1742},[1232],[1062,23930,1711],{"className":23931},[1746],[1062,23933],{"className":23934,"style":1742},[1232],[1062,23936,23938,23941,23944,23948,23951,23954,23957],{"className":23937},[1172],[1062,23939],{"className":23940,"style":2277},[1176],[1062,23942,22427],{"className":23943},[2292],[1062,23945,23947],{"className":23946},[1181],"13\u002F4",[1062,23949,22466],{"className":23950},[2302],[1062,23952],{"className":23953,"style":1742},[1232],[1062,23955,1711],{"className":23956},[1746],[1062,23958],{"className":23959,"style":1742},[1232],[1062,23961,23963,23966],{"className":23962},[1172],[1062,23964],{"className":23965,"style":1756},[1176],[1062,23967,2137],{"className":23968},[1181],[986,23970,23971],{},"这是第一次访问 block 13，所以是：",[1896,23973,23975],{"className":23974,"code":23492,"language":1225},[1899],[1902,23976,23492],{"__ignoreMap":1904},[986,23978,23979],{},"它放入 cache index 1，不会和 block 0 冲突。",[7727,23981],{},[996,23983,23985],{"id":23984},"访问-30x005","访问 3：0x005",[986,23987,23031],{},[1062,23989,23991],{"className":23990},[7840],[1062,23992,23994,24017],{"className":23993},[1115],[1062,23995,23997],{"className":23996},[1119],[1121,23998,23999],{"xmlns":1123,"display":3391},[1125,24000,24001,24014],{},[1128,24002,24003,24005,24007,24010,24012],{},[1134,24004,5209],{},[1138,24006,2064],{},[1134,24008,24009],{},"005",[1146,24011,1711],{},[1134,24013,6305],{},[1160,24015,24016],{"encoding":1162},"0x005 = 5",[1062,24018,24020,24044],{"className":24019,"ariaHidden":1168},[1167],[1062,24021,24023,24026,24029,24032,24035,24038,24041],{"className":24022},[1172],[1062,24024],{"className":24025,"style":1756},[1176],[1062,24027,5209],{"className":24028},[1181],[1062,24030,2064],{"className":24031},[1181,1220],[1062,24033,24009],{"className":24034},[1181],[1062,24036],{"className":24037,"style":1742},[1232],[1062,24039,1711],{"className":24040},[1746],[1062,24042],{"className":24043,"style":1742},[1232],[1062,24045,24047,24050],{"className":24046},[1172],[1062,24048],{"className":24049,"style":1756},[1176],[1062,24051,6305],{"className":24052},[1181],[986,24054,23583],{},[1062,24056,24058],{"className":24057},[7840],[1062,24059,24061,24113],{"className":24060},[1115],[1062,24062,24064],{"className":24063},[1119],[1121,24065,24066],{"xmlns":1123,"display":3391},[1125,24067,24068,24110],{},[1128,24069,24070,24072,24074,24076,24078,24080,24082,24084,24086,24088,24090,24092,24094,24096,24098,24100,24102,24104,24106,24108],{},[1138,24071,5567],{},[1138,24073,2472],{},[1138,24075,2475],{},[1138,24077,2373],{},[1138,24079,2480],{},[1142,24081,3900],{},[1138,24083,1140],{},[1138,24085,3909],{},[1138,24087,1610],{},[1138,24089,2469],{},[1138,24091,2201],{},[1138,24093,2198],{},[1146,24095,1711],{},[1146,24097,22427],{"stretchy":2219},[1134,24099,6305],{},[1138,24101,2927],{"mathvariant":2926},[1134,24103,2233],{},[1146,24105,22466],{"stretchy":2219},[1146,24107,1711],{},[1134,24109,5209],{},[1160,24111,24112],{"encoding":1162},"Block\\ Number = \\lfloor 5 \u002F 16 \\rfloor = 0",[1062,24114,24116,24158,24183],{"className":24115,"ariaHidden":1168},[1167],[1062,24117,24119,24122,24125,24128,24131,24134,24137,24140,24143,24146,24149,24152,24155],{"className":24118},[1172],[1062,24120],{"className":24121,"style":2246},[1176],[1062,24123,5567],{"className":24124,"style":5632},[1181,1220],[1062,24126,2472],{"className":24127,"style":2530},[1181,1220],[1062,24129,2534],{"className":24130},[1181,1220],[1062,24132,2480],{"className":24133,"style":2538},[1181,1220],[1062,24135,3900],{"className":24136},[1232],[1062,24138,1140],{"className":24139,"style":1221},[1181,1220],[1062,24141,3909],{"className":24142},[1181,1220],[1062,24144,19192],{"className":24145},[1181,1220],[1062,24147,15320],{"className":24148,"style":2257},[1181,1220],[1062,24150],{"className":24151,"style":1742},[1232],[1062,24153,1711],{"className":24154},[1746],[1062,24156],{"className":24157,"style":1742},[1232],[1062,24159,24161,24164,24167,24171,24174,24177,24180],{"className":24160},[1172],[1062,24162],{"className":24163,"style":2277},[1176],[1062,24165,22427],{"className":24166},[2292],[1062,24168,24170],{"className":24169},[1181],"5\u002F16",[1062,24172,22466],{"className":24173},[2302],[1062,24175],{"className":24176,"style":1742},[1232],[1062,24178,1711],{"className":24179},[1746],[1062,24181],{"className":24182,"style":1742},[1232],[1062,24184,24186,24189],{"className":24185},[1172],[1062,24187],{"className":24188,"style":1756},[1176],[1062,24190,5209],{"className":24191},[1181],[986,24193,23239],{},[1062,24195,24197],{"className":24196},[7840],[1062,24198,24200,24226],{"className":24199},[1115],[1062,24201,24203],{"className":24202},[1119],[1121,24204,24205],{"xmlns":1123,"display":3391},[1125,24206,24207,24223],{},[1128,24208,24209,24211,24213,24215,24217,24219,24221],{},[1138,24210,1708],{},[1138,24212,3546],{},[1138,24214,2193],{},[1138,24216,2201],{},[1138,24218,2064],{},[1146,24220,1711],{},[1134,24222,5209],{},[1160,24224,24225],{"encoding":1162},"Index = 0",[1062,24227,24229,24259],{"className":24228,"ariaHidden":1168},[1167],[1062,24230,24232,24235,24238,24241,24244,24247,24250,24253,24256],{"className":24231},[1172],[1062,24233],{"className":24234,"style":2246},[1176],[1062,24236,1708],{"className":24237,"style":1738},[1181,1220],[1062,24239,3546],{"className":24240},[1181,1220],[1062,24242,2193],{"className":24243},[1181,1220],[1062,24245,2201],{"className":24246},[1181,1220],[1062,24248,2064],{"className":24249},[1181,1220],[1062,24251],{"className":24252,"style":1742},[1232],[1062,24254,1711],{"className":24255},[1746],[1062,24257],{"className":24258,"style":1742},[1232],[1062,24260,24262,24265],{"className":24261},[1172],[1062,24263],{"className":24264,"style":1756},[1176],[1062,24266,5209],{"className":24267},[1181],[986,24269,23384],{},[1062,24271,24273],{"className":24272},[7840],[1062,24274,24276,24298],{"className":24275},[1115],[1062,24277,24279],{"className":24278},[1119],[1121,24280,24281],{"xmlns":1123,"display":3391},[1125,24282,24283,24295],{},[1128,24284,24285,24287,24289,24291,24293],{},[1138,24286,4621],{},[1138,24288,2370],{},[1138,24290,2216],{},[1146,24292,1711],{},[1134,24294,5209],{},[1160,24296,24297],{"encoding":1162},"Tag = 0",[1062,24299,24301,24325],{"className":24300,"ariaHidden":1168},[1167],[1062,24302,24304,24307,24310,24313,24316,24319,24322],{"className":24303},[1172],[1062,24305],{"className":24306,"style":5474},[1176],[1062,24308,4621],{"className":24309,"style":1734},[1181,1220],[1062,24311,2370],{"className":24312},[1181,1220],[1062,24314,2216],{"className":24315,"style":2288},[1181,1220],[1062,24317],{"className":24318,"style":1742},[1232],[1062,24320,1711],{"className":24321},[1746],[1062,24323],{"className":24324,"style":1742},[1232],[1062,24326,24328,24331],{"className":24327},[1172],[1062,24329],{"className":24330,"style":1756},[1176],[1062,24332,5209],{"className":24333},[1181],[986,24335,24336],{},"它和 0x004 属于同一个 block 0。",[986,24338,24339],{},"block 0 已经在 cache index 0 中，所以：",[1896,24341,24344],{"className":24342,"code":24343,"language":1225},[1899],"Hit\n",[1902,24345,24343],{"__ignoreMap":1904},[986,24347,24348],{},"这里体现的是 spatial locality。",[7727,24350],{},[996,24352,24354],{"id":24353},"访问-40x0d4","访问 4：0x0D4",[986,24356,23031],{},[1062,24358,24360],{"className":24359},[7840],[1062,24361,24363,24390],{"className":24362},[1115],[1062,24364,24366],{"className":24365},[1119],[1121,24367,24368],{"xmlns":1123,"display":3391},[1125,24369,24370,24387],{},[1128,24371,24372,24374,24376,24378,24380,24382,24384],{},[1134,24373,5209],{},[1138,24375,2064],{},[1134,24377,5209],{},[1138,24379,3079],{},[1134,24381,3735],{},[1146,24383,1711],{},[1134,24385,24386],{},"212",[1160,24388,24389],{"encoding":1162},"0x0D4 = 212",[1062,24391,24393,24423],{"className":24392,"ariaHidden":1168},[1167],[1062,24394,24396,24399,24402,24405,24408,24411,24414,24417,24420],{"className":24395},[1172],[1062,24397],{"className":24398,"style":1726},[1176],[1062,24400,5209],{"className":24401},[1181],[1062,24403,2064],{"className":24404},[1181,1220],[1062,24406,5209],{"className":24407},[1181],[1062,24409,3079],{"className":24410,"style":2257},[1181,1220],[1062,24412,3735],{"className":24413},[1181],[1062,24415],{"className":24416,"style":1742},[1232],[1062,24418,1711],{"className":24419},[1746],[1062,24421],{"className":24422,"style":1742},[1232],[1062,24424,24426,24429],{"className":24425},[1172],[1062,24427],{"className":24428,"style":1756},[1176],[1062,24430,24386],{"className":24431},[1181],[986,24433,23583],{},[1062,24435,24437],{"className":24436},[7840],[1062,24438,24440,24492],{"className":24439},[1115],[1062,24441,24443],{"className":24442},[1119],[1121,24444,24445],{"xmlns":1123,"display":3391},[1125,24446,24447,24489],{},[1128,24448,24449,24451,24453,24455,24457,24459,24461,24463,24465,24467,24469,24471,24473,24475,24477,24479,24481,24483,24485,24487],{},[1138,24450,5567],{},[1138,24452,2472],{},[1138,24454,2475],{},[1138,24456,2373],{},[1138,24458,2480],{},[1142,24460,3900],{},[1138,24462,1140],{},[1138,24464,3909],{},[1138,24466,1610],{},[1138,24468,2469],{},[1138,24470,2201],{},[1138,24472,2198],{},[1146,24474,1711],{},[1146,24476,22427],{"stretchy":2219},[1134,24478,24386],{},[1138,24480,2927],{"mathvariant":2926},[1134,24482,2233],{},[1146,24484,22466],{"stretchy":2219},[1146,24486,1711],{},[1134,24488,23639],{},[1160,24490,24491],{"encoding":1162},"Block\\ Number = \\lfloor 212 \u002F 16 \\rfloor = 13",[1062,24493,24495,24537,24562],{"className":24494,"ariaHidden":1168},[1167],[1062,24496,24498,24501,24504,24507,24510,24513,24516,24519,24522,24525,24528,24531,24534],{"className":24497},[1172],[1062,24499],{"className":24500,"style":2246},[1176],[1062,24502,5567],{"className":24503,"style":5632},[1181,1220],[1062,24505,2472],{"className":24506,"style":2530},[1181,1220],[1062,24508,2534],{"className":24509},[1181,1220],[1062,24511,2480],{"className":24512,"style":2538},[1181,1220],[1062,24514,3900],{"className":24515},[1232],[1062,24517,1140],{"className":24518,"style":1221},[1181,1220],[1062,24520,3909],{"className":24521},[1181,1220],[1062,24523,19192],{"className":24524},[1181,1220],[1062,24526,15320],{"className":24527,"style":2257},[1181,1220],[1062,24529],{"className":24530,"style":1742},[1232],[1062,24532,1711],{"className":24533},[1746],[1062,24535],{"className":24536,"style":1742},[1232],[1062,24538,24540,24543,24546,24550,24553,24556,24559],{"className":24539},[1172],[1062,24541],{"className":24542,"style":2277},[1176],[1062,24544,22427],{"className":24545},[2292],[1062,24547,24549],{"className":24548},[1181],"212\u002F16",[1062,24551,22466],{"className":24552},[2302],[1062,24554],{"className":24555,"style":1742},[1232],[1062,24557,1711],{"className":24558},[1746],[1062,24560],{"className":24561,"style":1742},[1232],[1062,24563,24565,24568],{"className":24564},[1172],[1062,24566],{"className":24567,"style":1756},[1176],[1062,24569,23639],{"className":24570},[1181],[986,24572,23239],{},[1062,24574,24576],{"className":24575},[7840],[1062,24577,24579,24624],{"className":24578},[1115],[1062,24580,24582],{"className":24581},[1119],[1121,24583,24584],{"xmlns":1123,"display":3391},[1125,24585,24586,24622],{},[1128,24587,24588,24590,24592,24594,24596,24598,24600,24602,24604,24614,24616,24618,24620],{},[1138,24589,1708],{},[1138,24591,3546],{},[1138,24593,2193],{},[1138,24595,2201],{},[1138,24597,2064],{},[1146,24599,1711],{},[1134,24601,23639],{},[1142,24603,13765],{},[1146,24605,24606],{"lspace":13768,"rspace":13768},[1128,24607,24608,24610,24612],{},[1138,24609,1610],{"mathvariant":2926},[1138,24611,2475],{"mathvariant":2926},[1138,24613,2193],{"mathvariant":2926},[1142,24615,13765],{},[1134,24617,3735],{},[1146,24619,1711],{},[1134,24621,1644],{},[1160,24623,23775],{"encoding":1162},[1062,24625,24627,24657,24687,24705],{"className":24626,"ariaHidden":1168},[1167],[1062,24628,24630,24633,24636,24639,24642,24645,24648,24651,24654],{"className":24629},[1172],[1062,24631],{"className":24632,"style":2246},[1176],[1062,24634,1708],{"className":24635,"style":1738},[1181,1220],[1062,24637,3546],{"className":24638},[1181,1220],[1062,24640,2193],{"className":24641},[1181,1220],[1062,24643,2201],{"className":24644},[1181,1220],[1062,24646,2064],{"className":24647},[1181,1220],[1062,24649],{"className":24650,"style":1742},[1232],[1062,24652,1711],{"className":24653},[1746],[1062,24655],{"className":24656,"style":1742},[1232],[1062,24658,24660,24663,24666,24669,24672,24681,24684],{"className":24659},[1172],[1062,24661],{"className":24662,"style":2246},[1176],[1062,24664,23639],{"className":24665},[1181],[1062,24667],{"className":24668,"style":13803},[1232],[1062,24670],{"className":24671,"style":1233},[1232],[1062,24673,24675],{"className":24674},[1237],[1062,24676,24678],{"className":24677},[1181],[1062,24679,13817],{"className":24680},[1181,13816],[1062,24682],{"className":24683,"style":13803},[1232],[1062,24685],{"className":24686,"style":1233},[1232],[1062,24688,24690,24693,24696,24699,24702],{"className":24689},[1172],[1062,24691],{"className":24692,"style":1756},[1176],[1062,24694,3735],{"className":24695},[1181],[1062,24697],{"className":24698,"style":1742},[1232],[1062,24700,1711],{"className":24701},[1746],[1062,24703],{"className":24704,"style":1742},[1232],[1062,24706,24708,24711],{"className":24707},[1172],[1062,24709],{"className":24710,"style":1756},[1176],[1062,24712,1644],{"className":24713},[1181],[986,24715,23384],{},[1062,24717,24719],{"className":24718},[7840],[1062,24720,24722,24755],{"className":24721},[1115],[1062,24723,24725],{"className":24724},[1119],[1121,24726,24727],{"xmlns":1123,"display":3391},[1125,24728,24729,24753],{},[1128,24730,24731,24733,24735,24737,24739,24741,24743,24745,24747,24749,24751],{},[1138,24732,4621],{},[1138,24734,2370],{},[1138,24736,2216],{},[1146,24738,1711],{},[1146,24740,22427],{"stretchy":2219},[1134,24742,23639],{},[1138,24744,2927],{"mathvariant":2926},[1134,24746,3735],{},[1146,24748,22466],{"stretchy":2219},[1146,24750,1711],{},[1134,24752,2137],{},[1160,24754,23907],{"encoding":1162},[1062,24756,24758,24782,24806],{"className":24757,"ariaHidden":1168},[1167],[1062,24759,24761,24764,24767,24770,24773,24776,24779],{"className":24760},[1172],[1062,24762],{"className":24763,"style":5474},[1176],[1062,24765,4621],{"className":24766,"style":1734},[1181,1220],[1062,24768,2370],{"className":24769},[1181,1220],[1062,24771,2216],{"className":24772,"style":2288},[1181,1220],[1062,24774],{"className":24775,"style":1742},[1232],[1062,24777,1711],{"className":24778},[1746],[1062,24780],{"className":24781,"style":1742},[1232],[1062,24783,24785,24788,24791,24794,24797,24800,24803],{"className":24784},[1172],[1062,24786],{"className":24787,"style":2277},[1176],[1062,24789,22427],{"className":24790},[2292],[1062,24792,23947],{"className":24793},[1181],[1062,24795,22466],{"className":24796},[2302],[1062,24798],{"className":24799,"style":1742},[1232],[1062,24801,1711],{"className":24802},[1746],[1062,24804],{"className":24805,"style":1742},[1232],[1062,24807,24809,24812],{"className":24808},[1172],[1062,24810],{"className":24811,"style":1756},[1176],[1062,24813,2137],{"className":24814},[1181],[986,24816,24817],{},"它和 0x0D8 属于同一个 block 13。",[986,24819,24820],{},"block 13 已经在 cache index 1 中，所以：",[1896,24822,24824],{"className":24823,"code":24343,"language":1225},[1899],[1902,24825,24343],{"__ignoreMap":1904},[7727,24827],{},[996,24829,24831],{"id":24830},"page-119-最终表格","Page 119 最终表格",[1294,24833,24834,24856],{},[1297,24835,24836],{},[1300,24837,24838,24841,24844,24847,24849,24851,24854],{},[1303,24839,24840],{},"访问顺序",[1303,24842,24843],{},"地址",[1303,24845,24846],{},"Block Number",[1303,24848,7569],{},[1303,24850,5944],{},[1303,24852,24853],{},"Hit\u002FMiss",[1303,24855,21776],{},[1313,24857,24858,24877,24894,24912],{},[1300,24859,24860,24862,24865,24867,24869,24871,24874],{},[1318,24861,1644],{},[1318,24863,24864],{},"0x004",[1318,24866,5209],{},[1318,24868,5209],{},[1318,24870,5209],{},[1318,24872,24873],{},"Miss",[1318,24875,24876],{},"Compulsory",[1300,24878,24879,24881,24884,24886,24888,24890,24892],{},[1318,24880,1136],{},[1318,24882,24883],{},"0x0D8",[1318,24885,23639],{},[1318,24887,1644],{},[1318,24889,2137],{},[1318,24891,24873],{},[1318,24893,24876],{},[1300,24895,24896,24898,24901,24903,24905,24907,24909],{},[1318,24897,2137],{},[1318,24899,24900],{},"0x005",[1318,24902,5209],{},[1318,24904,5209],{},[1318,24906,5209],{},[1318,24908,7073],{},[1318,24910,24911],{},"—",[1300,24913,24914,24916,24919,24921,24923,24925,24927],{},[1318,24915,3735],{},[1318,24917,24918],{},"0x0D4",[1318,24920,23639],{},[1318,24922,1644],{},[1318,24924,2137],{},[1318,24926,7073],{},[1318,24928,24911],{},[986,24930,24931],{},"最终结果：",[1896,24933,24936],{"className":24934,"code":24935,"language":1225},[1899],"Miss, Miss, Hit, Hit\n",[1902,24937,24935],{"__ignoreMap":1904},[986,24939,24940],{},"核心原因是：",[986,24942,24943],{},"0x004 和 0x005 在同一个 16B block 里；0x0D8 和 0x0D4 也在同一个 16B block 里。",[7727,24945],{},[978,24947,24949],{"id":24948},"page-120read-miss-优先于-write-miss","Page 120｜Read Miss 优先于 Write Miss",[986,24951,24952],{},[992,24953],{"alt":992,"src":24954},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-99.png",[986,24956,24957,24958],{},"这一页讲的是优化 miss penalty 的方法：",[982,24959,24960],{},"read miss priority over writes｜读未命中优先于写操作。",[986,24962,24963],{},"写操作通常可以先放进：",[1896,24965,24968],{"className":24966,"code":24967,"language":1225},[1899],"write buffer\n",[1902,24969,24967],{"__ignoreMap":1904},[986,24971,24972],{},"CPU 不一定要等写操作真正写入 memory 后才能继续执行。",[986,24974,24975],{},"但 read miss 不一样，read miss 通常会直接阻塞 CPU，因为后续指令可能等待读出的数据。",[986,24977,24978],{},"所以优化策略是：",[986,24980,24981],{},[982,24982,24983],{},"在 write buffer 还没完全清空时，如果发生 read miss，可以优先处理 read miss。",[986,24985,24986],{},"这样可以减少 CPU stall。",[996,24988,24990],{"id":24989},"为什么-read-比-write-更急","为什么 read 比 write 更急？",[986,24992,24993],{},"因为 read miss 位于关键路径上。",[986,24995,24996],{},"CPU 需要 read 的返回值继续执行。",[986,24998,24999],{},"而 write 通常只是把数据送出去，可以异步排队完成。",[986,25001,6806],{},[1062,25003,25005],{"className":25004},[7840],[1062,25006,25008,25084],{"className":25007},[1115],[1062,25009,25011],{"className":25010},[1119],[1121,25012,25013],{"xmlns":1123,"display":3391},[1125,25014,25015,25081],{},[1128,25016,25017,25019,25021,25023,25025,25027,25029,25031,25033,25035,25037,25039,25041,25043,25045,25047,25049,25051,25053,25055,25057,25059,25061,25063,25065,25067,25069,25071,25073,25075,25077,25079],{},[1138,25018,2211],{},[1138,25020,2201],{},[1138,25022,2370],{},[1138,25024,2193],{},[1142,25026,3900],{},[1138,25028,1155],{},[1138,25030,2356],{},[1138,25032,2204],{},[1138,25034,2204],{},[1142,25036,3900],{},[1138,25038,1705],{},[1138,25040,2198],{},[1138,25042,2356],{},[1138,25044,2475],{},[1138,25046,2198],{},[1138,25048,2356],{},[1138,25050,2359],{},[1138,25052,4713],{},[1146,25054,2362],{},[1138,25056,1155],{},[1138,25058,2356],{},[1138,25060,2204],{},[1138,25062,2204],{},[1142,25064,3900],{},[1138,25066,1705],{},[1138,25068,2201],{},[1138,25070,3546],{},[1138,25072,2370],{},[1138,25074,2472],{},[1138,25076,2359],{},[1138,25078,4713],{},[1146,25080,18497],{},[1160,25082,25083],{"encoding":1162},"Read\\ Miss\\ Priority \\Rightarrow Miss\\ Penalty \\downarrow",[1062,25085,25087,25150],{"className":25086,"ariaHidden":1168},[1167],[1062,25088,25090,25093,25096,25099,25102,25105,25108,25111,25114,25117,25120,25123,25126,25129,25132,25135,25138,25141,25144,25147],{"className":25089},[1172],[1062,25091],{"className":25092,"style":4550},[1176],[1062,25094,2211],{"className":25095,"style":2281},[1181,1220],[1062,25097,2201],{"className":25098},[1181,1220],[1062,25100,2370],{"className":25101},[1181,1220],[1062,25103,2193],{"className":25104},[1181,1220],[1062,25106,3900],{"className":25107},[1232],[1062,25109,1155],{"className":25110,"style":1221},[1181,1220],[1062,25112,2356],{"className":25113},[1181,1220],[1062,25115,2505],{"className":25116},[1181,1220],[1062,25118,3900],{"className":25119},[1232],[1062,25121,1705],{"className":25122,"style":1734},[1181,1220],[1062,25124,2198],{"className":25125,"style":2257},[1181,1220],[1062,25127,2356],{"className":25128},[1181,1220],[1062,25130,4811],{"className":25131,"style":2257},[1181,1220],[1062,25133,2356],{"className":25134},[1181,1220],[1062,25136,2359],{"className":25137},[1181,1220],[1062,25139,4713],{"className":25140,"style":2288},[1181,1220],[1062,25142],{"className":25143,"style":1742},[1232],[1062,25145,2362],{"className":25146},[1746],[1062,25148],{"className":25149,"style":1742},[1232],[1062,25151,25153,25156,25159,25162,25165,25168,25171,25174,25177,25180,25183,25186,25189],{"className":25152},[1172],[1062,25154],{"className":25155,"style":4550},[1176],[1062,25157,1155],{"className":25158,"style":1221},[1181,1220],[1062,25160,2356],{"className":25161},[1181,1220],[1062,25163,2505],{"className":25164},[1181,1220],[1062,25166,3900],{"className":25167},[1232],[1062,25169,1705],{"className":25170,"style":1734},[1181,1220],[1062,25172,2201],{"className":25173},[1181,1220],[1062,25175,14580],{"className":25176},[1181,1220],[1062,25178,2472],{"className":25179,"style":2530},[1181,1220],[1062,25181,2359],{"className":25182},[1181,1220],[1062,25184,4713],{"className":25185,"style":2288},[1181,1220],[1062,25187],{"className":25188,"style":1742},[1232],[1062,25190,18497],{"className":25191},[1746],[986,25193,25194,25195,2751],{},"更准确地说，是降低 ",[982,25196,25197],{},"read miss 的有效等待时间",[996,25199,25200],{"id":25200},"但这里有一个危险点",[986,25202,25203],{},"如果 write buffer 里已经有对某个地址的写入，而 read miss 正好要读同一个地址，那么不能直接绕过 write。",[986,25205,25206],{},"否则 read 可能读到旧值。",[986,25208,25209],{},"所以硬件要检查：",[1062,25211,25213],{"className":25212},[7840],[1062,25214,25216,25296],{"className":25215},[1115],[1062,25217,25219],{"className":25218},[1119],[1121,25220,25221],{"xmlns":1123,"display":3391},[1125,25222,25223,25293],{},[1128,25224,25225,25227,25229,25231,25233,25235,25237,25239,25241,25243,25245,25247,25249,25251,25253,25255,25257,25259,25261,25263,25265,25267,25269,25271,25273,25275,25277,25279,25281,25283,25285,25287,25289,25291],{},[1138,25226,2211],{},[1138,25228,2201],{},[1138,25230,2370],{},[1138,25232,2193],{},[1142,25234,3900],{},[1138,25236,2190],{},[1138,25238,2193],{},[1138,25240,2193],{},[1138,25242,2198],{},[1138,25244,2201],{},[1138,25246,2204],{},[1138,25248,2204],{},[1146,25250,1711],{},[1146,25252,1711],{},[1138,25254,4125],{},[1138,25256,2198],{},[1138,25258,2356],{},[1138,25260,2359],{},[1138,25262,2201],{},[1142,25264,3900],{},[1138,25266,5567],{},[1138,25268,3909],{},[1138,25270,5426],{},[1138,25272,5426],{},[1138,25274,2201],{},[1138,25276,2198],{},[1142,25278,3900],{},[1138,25280,2190],{},[1138,25282,2193],{},[1138,25284,2193],{},[1138,25286,2198],{},[1138,25288,2201],{},[1138,25290,2204],{},[1138,25292,2204],{},[1160,25294,25295],{"encoding":1162},"Read\\ Address == Write\\ Buffer\\ Address",[1062,25297,25299,25342],{"className":25298,"ariaHidden":1168},[1167],[1062,25300,25302,25305,25308,25311,25314,25317,25320,25323,25326,25329,25332,25335,25339],{"className":25301},[1172],[1062,25303],{"className":25304,"style":2246},[1176],[1062,25306,2211],{"className":25307,"style":2281},[1181,1220],[1062,25309,2201],{"className":25310},[1181,1220],[1062,25312,2370],{"className":25313},[1181,1220],[1062,25315,2193],{"className":25316},[1181,1220],[1062,25318,3900],{"className":25319},[1232],[1062,25321,2190],{"className":25322},[1181,1220],[1062,25324,2253],{"className":25325},[1181,1220],[1062,25327,2198],{"className":25328,"style":2257},[1181,1220],[1062,25330,2261],{"className":25331},[1181,1220],[1062,25333],{"className":25334,"style":1742},[1232],[1062,25336,25338],{"className":25337},[1746],"==",[1062,25340],{"className":25341,"style":1742},[1232],[1062,25343,25345,25348,25351,25354,25357,25360,25363,25366,25369,25372,25375,25378,25381,25384,25387,25390,25393],{"className":25344},[1172],[1062,25346],{"className":25347,"style":4550},[1176],[1062,25349,4125],{"className":25350,"style":1734},[1181,1220],[1062,25352,2198],{"className":25353,"style":2257},[1181,1220],[1062,25355,2356],{"className":25356},[1181,1220],[1062,25358,2359],{"className":25359},[1181,1220],[1062,25361,2201],{"className":25362},[1181,1220],[1062,25364,3900],{"className":25365},[1232],[1062,25367,5567],{"className":25368,"style":5632},[1181,1220],[1062,25370,3909],{"className":25371},[1181,1220],[1062,25373,5426],{"className":25374,"style":5505},[1181,1220],[1062,25376,5426],{"className":25377,"style":5505},[1181,1220],[1062,25379,15320],{"className":25380,"style":2257},[1181,1220],[1062,25382,3900],{"className":25383},[1232],[1062,25385,2190],{"className":25386},[1181,1220],[1062,25388,2253],{"className":25389},[1181,1220],[1062,25391,2198],{"className":25392,"style":2257},[1181,1220],[1062,25394,2261],{"className":25395},[1181,1220],[986,25397,25398],{},"如果不相等，read miss 可以绕过 write buffer 优先执行。",[986,25400,25401],{},"如果相等，要么等待 write 完成，要么从 write buffer forwarding 最新值。",[986,25403,25404],{},"这一页的工程直觉是：",[986,25406,25407],{},[982,25408,25409],{},"写可以排队，读不能乱等；但读写同地址时要保证数据一致性。",[7727,25411],{},[978,25413,25415],{"id":25414},"page-121避免地址转换阻塞-cache-indexing","Page 121｜避免地址转换阻塞 Cache Indexing",[986,25417,25418],{},[992,25419],{"alt":992,"src":25420},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-100.png",[986,25422,25423,25424],{},"这一页讲的是降低 hit time 的方法：",[982,25425,25426],{},"avoiding address translation during cache indexing｜避免 cache 索引等待地址转换。",[986,25428,25429],{},"现代程序使用虚拟地址 VA，但 cache tag 或 memory 通常依赖物理地址 PA。",[986,25431,25432],{},"因此访存时通常需要：",[1062,25434,25436],{"className":25435},[7840],[1062,25437,25439,25461],{"className":25438},[1115],[1062,25440,25442],{"className":25441},[1119],[1121,25443,25444],{"xmlns":1123,"display":3391},[1125,25445,25446,25458],{},[1128,25447,25448,25450,25452,25454,25456],{},[1138,25449,3074],{},[1138,25451,2190],{},[1146,25453,4061],{},[1138,25455,1705],{},[1138,25457,2190],{},[1160,25459,25460],{"encoding":1162},"VA \\rightarrow PA",[1062,25462,25464,25485],{"className":25463,"ariaHidden":1168},[1167],[1062,25465,25467,25470,25473,25476,25479,25482],{"className":25466},[1172],[1062,25468],{"className":25469,"style":1726},[1176],[1062,25471,3074],{"className":25472,"style":1233},[1181,1220],[1062,25474,2190],{"className":25475},[1181,1220],[1062,25477],{"className":25478,"style":1742},[1232],[1062,25480,4061],{"className":25481},[1746],[1062,25483],{"className":25484,"style":1742},[1232],[1062,25486,25488,25491,25494],{"className":25487},[1172],[1062,25489],{"className":25490,"style":1726},[1176],[1062,25492,1705],{"className":25493,"style":1734},[1181,1220],[1062,25495,2190],{"className":25496},[1181,1220],[986,25498,25499],{},"这个转换由 TLB 完成。",[986,25501,25502],{},"Cache 访问本身也需要做两件事：",[1377,25504,25505,25508],{},[1347,25506,25507],{},"用 index 找到对应 set；",[1347,25509,25510],{},"比较 tag 判断 hit\u002Fmiss。",[986,25512,25513],{},"如果必须等地址转换完成后再访问 cache，那么 L1 hit time 会变长。",[986,25515,25516],{},"而 L1 hit time 对 CPU 很敏感，因为 load\u002Fstore 几乎每条指令流中都会频繁出现。",[986,25518,25519],{},"所以优化目标是：",[986,25521,25522],{},[982,25523,25524],{},"让 TLB translation 和 cache indexing 尽量并行。",[986,25526,25527],{},"常见思想是使用：",[1896,25529,25532],{"className":25530,"code":25531,"language":1225},[1899],"Virtually Indexed, Physically Tagged Cache\n",[1902,25533,25531],{"__ignoreMap":1904},[986,25535,25536],{},"即用虚拟地址中不会被地址转换改变的 page offset 部分来做 index，同时用物理地址 tag 来保证正确性。",[986,25538,25539],{},"它改善的是 AMAT 中的：",[1062,25541,25543],{"className":25542},[7840],[1062,25544,25546,25574],{"className":25545},[1115],[1062,25547,25549],{"className":25548},[1119],[1121,25550,25551],{"xmlns":1123,"display":3391},[1125,25552,25553,25571],{},[1128,25554,25555,25557,25559,25561,25563,25565,25567,25569],{},[1138,25556,2353],{},[1138,25558,2356],{},[1138,25560,2359],{},[1142,25562,3900],{},[1138,25564,4621],{},[1138,25566,2356],{},[1138,25568,1610],{},[1138,25570,2201],{},[1160,25572,25573],{"encoding":1162},"Hit\\ Time",[1062,25575,25577],{"className":25576,"ariaHidden":1168},[1167],[1062,25578,25580,25583,25586,25589,25592,25595,25598,25601],{"className":25579},[1172],[1062,25581],{"className":25582,"style":1726},[1176],[1062,25584,2353],{"className":25585,"style":2397},[1181,1220],[1062,25587,2356],{"className":25588},[1181,1220],[1062,25590,2359],{"className":25591},[1181,1220],[1062,25593,3900],{"className":25594},[1232],[1062,25596,4621],{"className":25597,"style":1734},[1181,1220],[1062,25599,14477],{"className":25600},[1181,1220],[1062,25602,2201],{"className":25603},[1181,1220],[986,25605,8234],{},[1062,25607,25609],{"className":25608},[7840],[1062,25610,25612,25728],{"className":25611},[1115],[1062,25613,25615],{"className":25614},[1119],[1121,25616,25617],{"xmlns":1123,"display":3391},[1125,25618,25619,25725],{},[1128,25620,25621,25623,25625,25627,25629,25631,25633,25635,25637,25639,25641,25643,25645,25647,25649,25651,25653,25655,25657,25659,25661,25663,25665,25667,25669,25671,25673,25675,25677,25679,25681,25683,25685,25687,25689,25691,25693,25695,25697,25699,25701,25703,25705,25707,25709,25711,25713,25715,25717,25719,25721,25723],{},[1138,25622,2190],{},[1138,25624,17107],{},[1138,25626,2475],{},[1138,25628,2356],{},[1138,25630,2193],{},[1138,25632,2356],{},[1138,25634,3546],{},[1138,25636,2216],{},[1142,25638,3900],{},[1138,25640,4621],{},[1138,25642,2198],{},[1138,25644,2370],{},[1138,25646,3546],{},[1138,25648,2204],{},[1138,25650,2472],{},[1138,25652,2370],{},[1138,25654,2359],{},[1138,25656,2356],{},[1138,25658,2475],{},[1138,25660,3546],{},[1142,25662,3900],{},[1138,25664,3079],{},[1138,25666,3909],{},[1138,25668,2198],{},[1138,25670,2356],{},[1138,25672,3546],{},[1138,25674,2216],{},[1142,25676,3900],{},[1138,25678,1702],{},[1138,25680,2370],{},[1138,25682,2373],{},[1138,25684,2376],{},[1138,25686,2201],{},[1142,25688,3900],{},[1138,25690,1708],{},[1138,25692,3546],{},[1138,25694,2193],{},[1138,25696,2201],{},[1138,25698,2064],{},[1138,25700,2356],{},[1138,25702,3546],{},[1138,25704,2216],{},[1146,25706,2362],{},[1138,25708,2353],{},[1138,25710,2356],{},[1138,25712,2359],{},[1142,25714,3900],{},[1138,25716,4621],{},[1138,25718,2356],{},[1138,25720,1610],{},[1138,25722,2201],{},[1146,25724,18497],{},[1160,25726,25727],{"encoding":1162},"Avoiding\\ Translation\\ During\\ Cache\\ Indexing \\Rightarrow Hit\\ Time \\downarrow",[1062,25729,25731,25860],{"className":25730,"ariaHidden":1168},[1167],[1062,25732,25734,25737,25740,25743,25746,25749,25752,25755,25758,25761,25764,25767,25770,25773,25776,25779,25782,25785,25788,25791,25794,25797,25800,25803,25806,25809,25812,25815,25818,25821,25824,25827,25830,25833,25836,25839,25842,25845,25848,25851,25854,25857],{"className":25733},[1172],[1062,25735],{"className":25736,"style":4550},[1176],[1062,25738,2190],{"className":25739},[1181,1220],[1062,25741,17107],{"className":25742,"style":2288},[1181,1220],[1062,25744,2475],{"className":25745},[1181,1220],[1062,25747,2356],{"className":25748},[1181,1220],[1062,25750,2193],{"className":25751},[1181,1220],[1062,25753,3573],{"className":25754},[1181,1220],[1062,25756,2216],{"className":25757,"style":2288},[1181,1220],[1062,25759,3900],{"className":25760},[1232],[1062,25762,4621],{"className":25763,"style":1734},[1181,1220],[1062,25765,2198],{"className":25766,"style":2257},[1181,1220],[1062,25768,15310],{"className":25769},[1181,1220],[1062,25771,2204],{"className":25772},[1181,1220],[1062,25774,2472],{"className":25775,"style":2530},[1181,1220],[1062,25777,2370],{"className":25778},[1181,1220],[1062,25780,2359],{"className":25781},[1181,1220],[1062,25783,2356],{"className":25784},[1181,1220],[1062,25786,2475],{"className":25787},[1181,1220],[1062,25789,3546],{"className":25790},[1181,1220],[1062,25792,3900],{"className":25793},[1232],[1062,25795,3079],{"className":25796,"style":2257},[1181,1220],[1062,25798,3909],{"className":25799},[1181,1220],[1062,25801,2198],{"className":25802,"style":2257},[1181,1220],[1062,25804,3573],{"className":25805},[1181,1220],[1062,25807,2216],{"className":25808,"style":2288},[1181,1220],[1062,25810,3900],{"className":25811},[1232],[1062,25813,1702],{"className":25814,"style":1730},[1181,1220],[1062,25816,2370],{"className":25817},[1181,1220],[1062,25819,2373],{"className":25820},[1181,1220],[1062,25822,2376],{"className":25823},[1181,1220],[1062,25825,2201],{"className":25826},[1181,1220],[1062,25828,3900],{"className":25829},[1232],[1062,25831,1708],{"className":25832,"style":1738},[1181,1220],[1062,25834,3546],{"className":25835},[1181,1220],[1062,25837,2193],{"className":25838},[1181,1220],[1062,25840,2201],{"className":25841},[1181,1220],[1062,25843,2064],{"className":25844},[1181,1220],[1062,25846,3573],{"className":25847},[1181,1220],[1062,25849,2216],{"className":25850,"style":2288},[1181,1220],[1062,25852],{"className":25853,"style":1742},[1232],[1062,25855,2362],{"className":25856},[1746],[1062,25858],{"className":25859,"style":1742},[1232],[1062,25861,25863,25866,25869,25872,25875,25878,25881,25884,25887,25890],{"className":25862},[1172],[1062,25864],{"className":25865,"style":4550},[1176],[1062,25867,2353],{"className":25868,"style":2397},[1181,1220],[1062,25870,2356],{"className":25871},[1181,1220],[1062,25873,2359],{"className":25874},[1181,1220],[1062,25876,3900],{"className":25877},[1232],[1062,25879,4621],{"className":25880,"style":1734},[1181,1220],[1062,25882,14477],{"className":25883},[1181,1220],[1062,25885,2201],{"className":25886},[1181,1220],[1062,25888],{"className":25889,"style":1742},[1232],[1062,25891,18497],{"className":25892},[1746],[986,25894,25895],{},[982,25896,25897],{},"地址转换如果串在 cache 访问前面，会拉长 L1 hit time；所以硬件要想办法并行化。",[7727,25899],{},[978,25901,25903],{"id":25902},"page-122多级-cache-降低-miss-penalty","Page 122｜多级 Cache 降低 Miss Penalty",[986,25905,25906],{},[992,25907],{"alt":992,"src":25908},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-101.png",[986,25910,25911],{},"问题背景是：L1 cache 很快，但容量小。如果 L1 miss 后直接去 DRAM，代价太大。所以现代处理器一般设计为：",[1896,25913,25916],{"className":25914,"code":25915,"language":1225},[1899],"L1 → L2 → L3 → Main Memory\n",[1902,25917,25915],{"__ignoreMap":1904},[986,25919,25920],{},"当 L1 miss 时，不一定直接访问 DRAM，而是先查 L2。",[986,25922,25923],{},"如果 L2 hit，那么 L1 miss penalty 就大幅降低。",[986,25925,25926],{},"如果 L2 miss，再去 L3。",[986,25928,25929],{},"如果 L3 也 miss，最后才访问 DRAM。",[986,25931,25932],{},"因此多级 cache 主要优化 AMAT 中的：",[1062,25934,25936],{"className":25935},[7840],[1062,25937,25939,25974],{"className":25938},[1115],[1062,25940,25942],{"className":25941},[1119],[1121,25943,25944],{"xmlns":1123,"display":3391},[1125,25945,25946,25972],{},[1128,25947,25948,25950,25952,25954,25956,25958,25960,25962,25964,25966,25968,25970],{},[1138,25949,1155],{},[1138,25951,2356],{},[1138,25953,2204],{},[1138,25955,2204],{},[1142,25957,3900],{},[1138,25959,1705],{},[1138,25961,2201],{},[1138,25963,3546],{},[1138,25965,2370],{},[1138,25967,2472],{},[1138,25969,2359],{},[1138,25971,4713],{},[1160,25973,20252],{"encoding":1162},[1062,25975,25977],{"className":25976,"ariaHidden":1168},[1167],[1062,25978,25980,25983,25986,25989,25992,25995,25998,26001,26004,26007,26010],{"className":25979},[1172],[1062,25981],{"className":25982,"style":4550},[1176],[1062,25984,1155],{"className":25985,"style":1221},[1181,1220],[1062,25987,2356],{"className":25988},[1181,1220],[1062,25990,2505],{"className":25991},[1181,1220],[1062,25993,3900],{"className":25994},[1232],[1062,25996,1705],{"className":25997,"style":1734},[1181,1220],[1062,25999,2201],{"className":26000},[1181,1220],[1062,26002,14580],{"className":26003},[1181,1220],[1062,26005,2472],{"className":26006,"style":2530},[1181,1220],[1062,26008,2359],{"className":26009},[1181,1220],[1062,26011,4713],{"className":26012,"style":2288},[1181,1220],[986,26014,25194,26015,2751],{},[982,26016,26017],{},"L1 miss penalty",[986,26019,26020],{},"原来没有 L2 时：",[1062,26022,26024],{"className":26023},[7840],[1062,26025,26027,26103],{"className":26026},[1115],[1062,26028,26030],{"className":26029},[1119],[1121,26031,26032],{"xmlns":1123,"display":3391},[1125,26033,26034,26100],{},[1128,26035,26036,26038,26040,26042,26044,26046,26048,26050,26052,26054,26056,26058,26060,26062,26064,26066,26068,26070,26072,26074,26076,26078,26080,26082,26084,26086,26088,26090,26092,26094,26096,26098],{},[1138,26037,3894],{},[1134,26039,1644],{},[1142,26041,3900],{},[1138,26043,1155],{},[1138,26045,2356],{},[1138,26047,2204],{},[1138,26049,2204],{},[1142,26051,3900],{},[1138,26053,1705],{},[1138,26055,2201],{},[1138,26057,3546],{},[1138,26059,2370],{},[1138,26061,2472],{},[1138,26063,2359],{},[1138,26065,4713],{},[1146,26067,15243],{},[1138,26069,3079],{},[1138,26071,2211],{},[1138,26073,2190],{},[1138,26075,1155],{},[1142,26077,3900],{},[1138,26079,2190],{},[1138,26081,2373],{},[1138,26083,2373],{},[1138,26085,2201],{},[1138,26087,2204],{},[1138,26089,2204],{},[1142,26091,3900],{},[1138,26093,4621],{},[1138,26095,2356],{},[1138,26097,1610],{},[1138,26099,2201],{},[1160,26101,26102],{"encoding":1162},"L1\\ Miss\\ Penalty \\approx DRAM\\ Access\\ Time",[1062,26104,26106,26160],{"className":26105,"ariaHidden":1168},[1167],[1062,26107,26109,26112,26115,26118,26121,26124,26127,26130,26133,26136,26139,26142,26145,26148,26151,26154,26157],{"className":26108},[1172],[1062,26110],{"className":26111,"style":4550},[1176],[1062,26113,3894],{"className":26114},[1181,1220],[1062,26116,1644],{"className":26117},[1181],[1062,26119,3900],{"className":26120},[1232],[1062,26122,1155],{"className":26123,"style":1221},[1181,1220],[1062,26125,2356],{"className":26126},[1181,1220],[1062,26128,2505],{"className":26129},[1181,1220],[1062,26131,3900],{"className":26132},[1232],[1062,26134,1705],{"className":26135,"style":1734},[1181,1220],[1062,26137,2201],{"className":26138},[1181,1220],[1062,26140,14580],{"className":26141},[1181,1220],[1062,26143,2472],{"className":26144,"style":2530},[1181,1220],[1062,26146,2359],{"className":26147},[1181,1220],[1062,26149,4713],{"className":26150,"style":2288},[1181,1220],[1062,26152],{"className":26153,"style":1742},[1232],[1062,26155,15243],{"className":26156},[1746],[1062,26158],{"className":26159,"style":1742},[1232],[1062,26161,26163,26166,26169,26172,26175,26178,26181,26184,26188,26191,26194,26197],{"className":26162},[1172],[1062,26164],{"className":26165,"style":1726},[1176],[1062,26167,3079],{"className":26168,"style":2257},[1181,1220],[1062,26170,2211],{"className":26171,"style":2281},[1181,1220],[1062,26173,2190],{"className":26174},[1181,1220],[1062,26176,1155],{"className":26177,"style":1221},[1181,1220],[1062,26179,3900],{"className":26180},[1232],[1062,26182,2190],{"className":26183},[1181,1220],[1062,26185,26187],{"className":26186},[1181,1220],"ccess",[1062,26189,3900],{"className":26190},[1232],[1062,26192,4621],{"className":26193,"style":1734},[1181,1220],[1062,26195,14477],{"className":26196},[1181,1220],[1062,26198,2201],{"className":26199},[1181,1220],[986,26201,26202],{},"有 L2 后：",[1062,26204,26206],{"className":26205},[7840],[1062,26207,26209,26333],{"className":26208},[1115],[1062,26210,26212],{"className":26211},[1119],[1121,26213,26214],{"xmlns":1123,"display":3391},[1125,26215,26216,26330],{},[1128,26217,26218,26220,26222,26224,26226,26228,26230,26232,26234,26236,26238,26240,26242,26244,26246,26248,26250,26252,26254,26256,26258,26260,26262,26264,26266,26268,26270,26272,26274,26276,26278,26280,26282,26284,26286,26288,26290,26292,26294,26296,26298,26300,26302,26304,26306,26308,26310,26312,26314,26316,26318,26320,26322,26324,26326,26328],{},[1138,26219,3894],{},[1134,26221,1644],{},[1142,26223,3900],{},[1138,26225,1155],{},[1138,26227,2356],{},[1138,26229,2204],{},[1138,26231,2204],{},[1142,26233,3900],{},[1138,26235,1705],{},[1138,26237,2201],{},[1138,26239,3546],{},[1138,26241,2370],{},[1138,26243,2472],{},[1138,26245,2359],{},[1138,26247,4713],{},[1146,26249,1711],{},[1138,26251,3894],{},[1134,26253,1136],{},[1142,26255,3900],{},[1138,26257,2353],{},[1138,26259,2356],{},[1138,26261,2359],{},[1142,26263,3900],{},[1138,26265,4621],{},[1138,26267,2356],{},[1138,26269,1610],{},[1138,26271,2201],{},[1146,26273,1647],{},[1138,26275,3894],{},[1134,26277,1136],{},[1142,26279,3900],{},[1138,26281,1155],{},[1138,26283,2356],{},[1138,26285,2204],{},[1138,26287,2204],{},[1142,26289,3900],{},[1138,26291,2211],{},[1138,26293,2370],{},[1138,26295,2359],{},[1138,26297,2201],{},[1146,26299,1148],{},[1138,26301,3894],{},[1134,26303,1136],{},[1142,26305,3900],{},[1138,26307,1155],{},[1138,26309,2356],{},[1138,26311,2204],{},[1138,26313,2204],{},[1142,26315,3900],{},[1138,26317,1705],{},[1138,26319,2201],{},[1138,26321,3546],{},[1138,26323,2370],{},[1138,26325,2472],{},[1138,26327,2359],{},[1138,26329,4713],{},[1160,26331,26332],{"encoding":1162},"L1\\ Miss\\ Penalty = L2\\ Hit\\ Time + L2\\ Miss\\ Rate \\times L2\\ Miss\\ Penalty",[1062,26334,26336,26390,26435,26483],{"className":26335,"ariaHidden":1168},[1167],[1062,26337,26339,26342,26345,26348,26351,26354,26357,26360,26363,26366,26369,26372,26375,26378,26381,26384,26387],{"className":26338},[1172],[1062,26340],{"className":26341,"style":4550},[1176],[1062,26343,3894],{"className":26344},[1181,1220],[1062,26346,1644],{"className":26347},[1181],[1062,26349,3900],{"className":26350},[1232],[1062,26352,1155],{"className":26353,"style":1221},[1181,1220],[1062,26355,2356],{"className":26356},[1181,1220],[1062,26358,2505],{"className":26359},[1181,1220],[1062,26361,3900],{"className":26362},[1232],[1062,26364,1705],{"className":26365,"style":1734},[1181,1220],[1062,26367,2201],{"className":26368},[1181,1220],[1062,26370,14580],{"className":26371},[1181,1220],[1062,26373,2472],{"className":26374,"style":2530},[1181,1220],[1062,26376,2359],{"className":26377},[1181,1220],[1062,26379,4713],{"className":26380,"style":2288},[1181,1220],[1062,26382],{"className":26383,"style":1742},[1232],[1062,26385,1711],{"className":26386},[1746],[1062,26388],{"className":26389,"style":1742},[1232],[1062,26391,26393,26396,26399,26402,26405,26408,26411,26414,26417,26420,26423,26426,26429,26432],{"className":26392},[1172],[1062,26394],{"className":26395,"style":3748},[1176],[1062,26397,3894],{"className":26398},[1181,1220],[1062,26400,1136],{"className":26401},[1181],[1062,26403,3900],{"className":26404},[1232],[1062,26406,2353],{"className":26407,"style":2397},[1181,1220],[1062,26409,2356],{"className":26410},[1181,1220],[1062,26412,2359],{"className":26413},[1181,1220],[1062,26415,3900],{"className":26416},[1232],[1062,26418,4621],{"className":26419,"style":1734},[1181,1220],[1062,26421,14477],{"className":26422},[1181,1220],[1062,26424,2201],{"className":26425},[1181,1220],[1062,26427],{"className":26428,"style":1233},[1232],[1062,26430,1647],{"className":26431},[1237],[1062,26433],{"className":26434,"style":1233},[1232],[1062,26436,26438,26441,26444,26447,26450,26453,26456,26459,26462,26465,26468,26471,26474,26477,26480],{"className":26437},[1172],[1062,26439],{"className":26440,"style":3748},[1176],[1062,26442,3894],{"className":26443},[1181,1220],[1062,26445,1136],{"className":26446},[1181],[1062,26448,3900],{"className":26449},[1232],[1062,26451,1155],{"className":26452,"style":1221},[1181,1220],[1062,26454,2356],{"className":26455},[1181,1220],[1062,26457,2505],{"className":26458},[1181,1220],[1062,26460,3900],{"className":26461},[1232],[1062,26463,2211],{"className":26464,"style":2281},[1181,1220],[1062,26466,2370],{"className":26467},[1181,1220],[1062,26469,2359],{"className":26470},[1181,1220],[1062,26472,2201],{"className":26473},[1181,1220],[1062,26475],{"className":26476,"style":1233},[1232],[1062,26478,1148],{"className":26479},[1237],[1062,26481],{"className":26482,"style":1233},[1232],[1062,26484,26486,26489,26492,26495,26498,26501,26504,26507,26510,26513,26516,26519,26522,26525],{"className":26485},[1172],[1062,26487],{"className":26488,"style":4550},[1176],[1062,26490,3894],{"className":26491},[1181,1220],[1062,26493,1136],{"className":26494},[1181],[1062,26496,3900],{"className":26497},[1232],[1062,26499,1155],{"className":26500,"style":1221},[1181,1220],[1062,26502,2356],{"className":26503},[1181,1220],[1062,26505,2505],{"className":26506},[1181,1220],[1062,26508,3900],{"className":26509},[1232],[1062,26511,1705],{"className":26512,"style":1734},[1181,1220],[1062,26514,2201],{"className":26515},[1181,1220],[1062,26517,14580],{"className":26518},[1181,1220],[1062,26520,2472],{"className":26521,"style":2530},[1181,1220],[1062,26523,2359],{"className":26524},[1181,1220],[1062,26526,4713],{"className":26527,"style":2288},[1181,1220],[986,26529,26530],{},"所以整体 AMAT 可以写成：",[1062,26532,26534],{"className":26533},[7840],[1062,26535,26537,26693],{"className":26536},[1115],[1062,26538,26540],{"className":26539},[1119],[1121,26541,26542],{"xmlns":1123,"display":3391},[1125,26543,26544,26690],{},[1128,26545,26546,26548,26550,26552,26554,26556,26558,26560,26562,26564,26566,26568,26570,26572,26574,26576,26578,26580,26582,26584,26586,26588,26590,26592,26594,26596,26598,26600,26602,26604,26606,26608,26610,26612,26614,26616,26618,26620,26622,26624,26626,26628,26630,26632,26634,26636,26638,26640,26642,26644,26646,26648,26650,26652,26654,26656,26658,26660,26662,26664,26666,26668,26670,26672,26674,26676,26678,26680,26682,26684,26686,26688],{},[1138,26547,2190],{},[1138,26549,1155],{},[1138,26551,2190],{},[1138,26553,4621],{},[1146,26555,1711],{},[1138,26557,3894],{},[1134,26559,1644],{},[1142,26561,3900],{},[1138,26563,2353],{},[1138,26565,2356],{},[1138,26567,2359],{},[1142,26569,3900],{},[1138,26571,4621],{},[1138,26573,2356],{},[1138,26575,1610],{},[1138,26577,2201],{},[1146,26579,1647],{},[1138,26581,3894],{},[1134,26583,1644],{},[1142,26585,3900],{},[1138,26587,1155],{},[1138,26589,2356],{},[1138,26591,2204],{},[1138,26593,2204],{},[1142,26595,3900],{},[1138,26597,2211],{},[1138,26599,2370],{},[1138,26601,2359],{},[1138,26603,2201],{},[1146,26605,1148],{},[1146,26607,7078],{"stretchy":2219},[1138,26609,3894],{},[1134,26611,1136],{},[1142,26613,3900],{},[1138,26615,2353],{},[1138,26617,2356],{},[1138,26619,2359],{},[1142,26621,3900],{},[1138,26623,4621],{},[1138,26625,2356],{},[1138,26627,1610],{},[1138,26629,2201],{},[1146,26631,1647],{},[1138,26633,3894],{},[1134,26635,1136],{},[1142,26637,3900],{},[1138,26639,1155],{},[1138,26641,2356],{},[1138,26643,2204],{},[1138,26645,2204],{},[1142,26647,3900],{},[1138,26649,2211],{},[1138,26651,2370],{},[1138,26653,2359],{},[1138,26655,2201],{},[1146,26657,1148],{},[1138,26659,3894],{},[1134,26661,1136],{},[1142,26663,3900],{},[1138,26665,1155],{},[1138,26667,2356],{},[1138,26669,2204],{},[1138,26671,2204],{},[1142,26673,3900],{},[1138,26675,1705],{},[1138,26677,2201],{},[1138,26679,3546],{},[1138,26681,2370],{},[1138,26683,2472],{},[1138,26685,2359],{},[1138,26687,4713],{},[1146,26689,7088],{"stretchy":2219},[1160,26691,26692],{"encoding":1162},"AMAT = L1\\ Hit\\ Time + L1\\ Miss\\ Rate \\times (L2\\ Hit\\ Time + L2\\ Miss\\ Rate \\times L2\\ Miss\\ Penalty)",[1062,26694,26696,26723,26768,26816,26864,26912],{"className":26695,"ariaHidden":1168},[1167],[1062,26697,26699,26702,26705,26708,26711,26714,26717,26720],{"className":26698},[1172],[1062,26700],{"className":26701,"style":1726},[1176],[1062,26703,2190],{"className":26704},[1181,1220],[1062,26706,1155],{"className":26707,"style":1221},[1181,1220],[1062,26709,2190],{"className":26710},[1181,1220],[1062,26712,4621],{"className":26713,"style":1734},[1181,1220],[1062,26715],{"className":26716,"style":1742},[1232],[1062,26718,1711],{"className":26719},[1746],[1062,26721],{"className":26722,"style":1742},[1232],[1062,26724,26726,26729,26732,26735,26738,26741,26744,26747,26750,26753,26756,26759,26762,26765],{"className":26725},[1172],[1062,26727],{"className":26728,"style":3748},[1176],[1062,26730,3894],{"className":26731},[1181,1220],[1062,26733,1644],{"className":26734},[1181],[1062,26736,3900],{"className":26737},[1232],[1062,26739,2353],{"className":26740,"style":2397},[1181,1220],[1062,26742,2356],{"className":26743},[1181,1220],[1062,26745,2359],{"className":26746},[1181,1220],[1062,26748,3900],{"className":26749},[1232],[1062,26751,4621],{"className":26752,"style":1734},[1181,1220],[1062,26754,14477],{"className":26755},[1181,1220],[1062,26757,2201],{"className":26758},[1181,1220],[1062,26760],{"className":26761,"style":1233},[1232],[1062,26763,1647],{"className":26764},[1237],[1062,26766],{"className":26767,"style":1233},[1232],[1062,26769,26771,26774,26777,26780,26783,26786,26789,26792,26795,26798,26801,26804,26807,26810,26813],{"className":26770},[1172],[1062,26772],{"className":26773,"style":3748},[1176],[1062,26775,3894],{"className":26776},[1181,1220],[1062,26778,1644],{"className":26779},[1181],[1062,26781,3900],{"className":26782},[1232],[1062,26784,1155],{"className":26785,"style":1221},[1181,1220],[1062,26787,2356],{"className":26788},[1181,1220],[1062,26790,2505],{"className":26791},[1181,1220],[1062,26793,3900],{"className":26794},[1232],[1062,26796,2211],{"className":26797,"style":2281},[1181,1220],[1062,26799,2370],{"className":26800},[1181,1220],[1062,26802,2359],{"className":26803},[1181,1220],[1062,26805,2201],{"className":26806},[1181,1220],[1062,26808],{"className":26809,"style":1233},[1232],[1062,26811,1148],{"className":26812},[1237],[1062,26814],{"className":26815,"style":1233},[1232],[1062,26817,26819,26822,26825,26828,26831,26834,26837,26840,26843,26846,26849,26852,26855,26858,26861],{"className":26818},[1172],[1062,26820],{"className":26821,"style":2277},[1176],[1062,26823,7078],{"className":26824},[2292],[1062,26826,3894],{"className":26827},[1181,1220],[1062,26829,1136],{"className":26830},[1181],[1062,26832,3900],{"className":26833},[1232],[1062,26835,2353],{"className":26836,"style":2397},[1181,1220],[1062,26838,2356],{"className":26839},[1181,1220],[1062,26841,2359],{"className":26842},[1181,1220],[1062,26844,3900],{"className":26845},[1232],[1062,26847,4621],{"className":26848,"style":1734},[1181,1220],[1062,26850,14477],{"className":26851},[1181,1220],[1062,26853,2201],{"className":26854},[1181,1220],[1062,26856],{"className":26857,"style":1233},[1232],[1062,26859,1647],{"className":26860},[1237],[1062,26862],{"className":26863,"style":1233},[1232],[1062,26865,26867,26870,26873,26876,26879,26882,26885,26888,26891,26894,26897,26900,26903,26906,26909],{"className":26866},[1172],[1062,26868],{"className":26869,"style":3748},[1176],[1062,26871,3894],{"className":26872},[1181,1220],[1062,26874,1136],{"className":26875},[1181],[1062,26877,3900],{"className":26878},[1232],[1062,26880,1155],{"className":26881,"style":1221},[1181,1220],[1062,26883,2356],{"className":26884},[1181,1220],[1062,26886,2505],{"className":26887},[1181,1220],[1062,26889,3900],{"className":26890},[1232],[1062,26892,2211],{"className":26893,"style":2281},[1181,1220],[1062,26895,2370],{"className":26896},[1181,1220],[1062,26898,2359],{"className":26899},[1181,1220],[1062,26901,2201],{"className":26902},[1181,1220],[1062,26904],{"className":26905,"style":1233},[1232],[1062,26907,1148],{"className":26908},[1237],[1062,26910],{"className":26911,"style":1233},[1232],[1062,26913,26915,26918,26921,26924,26927,26930,26933,26936,26939,26942,26945,26948,26951,26954,26957],{"className":26914},[1172],[1062,26916],{"className":26917,"style":2277},[1176],[1062,26919,3894],{"className":26920},[1181,1220],[1062,26922,1136],{"className":26923},[1181],[1062,26925,3900],{"className":26926},[1232],[1062,26928,1155],{"className":26929,"style":1221},[1181,1220],[1062,26931,2356],{"className":26932},[1181,1220],[1062,26934,2505],{"className":26935},[1181,1220],[1062,26937,3900],{"className":26938},[1232],[1062,26940,1705],{"className":26941,"style":1734},[1181,1220],[1062,26943,2201],{"className":26944},[1181,1220],[1062,26946,14580],{"className":26947},[1181,1220],[1062,26949,2472],{"className":26950,"style":2530},[1181,1220],[1062,26952,2359],{"className":26953},[1181,1220],[1062,26955,4713],{"className":26956,"style":2288},[1181,1220],[1062,26958,7088],{"className":26959},[2302],[986,26961,26962],{},"如果还有 L3，则继续嵌套：",[1062,26964,26966],{"className":26965},[7840],[1062,26967,26969,27171],{"className":26968},[1115],[1062,26970,26972],{"className":26971},[1119],[1121,26973,26974],{"xmlns":1123,"display":3391},[1125,26975,26976,27168],{},[1128,26977,26978,26980,26982,26984,26986,26988,26990,26992,26994,26996,26998,27000,27002,27004,27006,27008,27010,27012,27014,27016,27018,27020,27022,27024,27026,27028,27030,27032,27034,27036,27038,27040,27042,27044,27046,27048,27050,27052,27054,27056,27058,27060,27062,27064,27066,27068,27070,27072,27074,27076,27078,27080,27082,27084,27086,27088,27090,27092,27094,27096,27098,27100,27102,27104,27106,27108,27110,27112,27114,27116,27118,27120,27122,27124,27126,27128,27130,27132,27134,27136,27138,27140,27142,27144,27146,27148,27150,27152,27154,27156,27158,27160,27162,27164,27166],{},[1138,26979,2190],{},[1138,26981,1155],{},[1138,26983,2190],{},[1138,26985,4621],{},[1146,26987,1711],{},[1138,26989,3894],{},[1134,26991,1644],{},[1142,26993,3900],{},[1138,26995,2353],{},[1138,26997,2356],{},[1138,26999,2359],{},[1142,27001,3900],{},[1138,27003,4621],{},[1138,27005,2356],{},[1138,27007,1610],{},[1138,27009,2201],{},[1146,27011,1647],{},[1138,27013,3894],{},[1134,27015,1644],{},[1142,27017,3900],{},[1138,27019,1155],{},[1138,27021,2356],{},[1138,27023,2204],{},[1138,27025,2204],{},[1142,27027,3900],{},[1138,27029,2211],{},[1138,27031,2370],{},[1138,27033,2359],{},[1138,27035,2201],{},[1146,27037,1148],{},[1146,27039,7078],{"stretchy":2219},[1138,27041,3894],{},[1134,27043,1136],{},[1142,27045,3900],{},[1138,27047,2353],{},[1138,27049,2356],{},[1138,27051,2359],{},[1142,27053,3900],{},[1138,27055,4621],{},[1138,27057,2356],{},[1138,27059,1610],{},[1138,27061,2201],{},[1146,27063,1647],{},[1138,27065,3894],{},[1134,27067,1136],{},[1142,27069,3900],{},[1138,27071,1155],{},[1138,27073,2356],{},[1138,27075,2204],{},[1138,27077,2204],{},[1142,27079,3900],{},[1138,27081,2211],{},[1138,27083,2370],{},[1138,27085,2359],{},[1138,27087,2201],{},[1146,27089,1148],{},[1146,27091,7078],{"stretchy":2219},[1138,27093,3894],{},[1134,27095,2137],{},[1142,27097,3900],{},[1138,27099,2353],{},[1138,27101,2356],{},[1138,27103,2359],{},[1142,27105,3900],{},[1138,27107,4621],{},[1138,27109,2356],{},[1138,27111,1610],{},[1138,27113,2201],{},[1146,27115,1647],{},[1138,27117,3894],{},[1134,27119,2137],{},[1142,27121,3900],{},[1138,27123,1155],{},[1138,27125,2356],{},[1138,27127,2204],{},[1138,27129,2204],{},[1142,27131,3900],{},[1138,27133,2211],{},[1138,27135,2370],{},[1138,27137,2359],{},[1138,27139,2201],{},[1146,27141,1148],{},[1138,27143,1155],{},[1138,27145,2201],{},[1138,27147,1610],{},[1138,27149,2475],{},[1138,27151,2198],{},[1138,27153,4713],{},[1142,27155,3900],{},[1138,27157,4621],{},[1138,27159,2356],{},[1138,27161,1610],{},[1138,27163,2201],{},[1146,27165,7088],{"stretchy":2219},[1146,27167,7088],{"stretchy":2219},[1160,27169,27170],{"encoding":1162},"AMAT = L1\\ Hit\\ Time + L1\\ Miss\\ Rate \\times (L2\\ Hit\\ Time + L2\\ Miss\\ Rate \\times (L3\\ Hit\\ Time + L3\\ Miss\\ Rate \\times Memory\\ Time))",[1062,27172,27174,27201,27246,27294,27342,27390,27438,27486],{"className":27173,"ariaHidden":1168},[1167],[1062,27175,27177,27180,27183,27186,27189,27192,27195,27198],{"className":27176},[1172],[1062,27178],{"className":27179,"style":1726},[1176],[1062,27181,2190],{"className":27182},[1181,1220],[1062,27184,1155],{"className":27185,"style":1221},[1181,1220],[1062,27187,2190],{"className":27188},[1181,1220],[1062,27190,4621],{"className":27191,"style":1734},[1181,1220],[1062,27193],{"className":27194,"style":1742},[1232],[1062,27196,1711],{"className":27197},[1746],[1062,27199],{"className":27200,"style":1742},[1232],[1062,27202,27204,27207,27210,27213,27216,27219,27222,27225,27228,27231,27234,27237,27240,27243],{"className":27203},[1172],[1062,27205],{"className":27206,"style":3748},[1176],[1062,27208,3894],{"className":27209},[1181,1220],[1062,27211,1644],{"className":27212},[1181],[1062,27214,3900],{"className":27215},[1232],[1062,27217,2353],{"className":27218,"style":2397},[1181,1220],[1062,27220,2356],{"className":27221},[1181,1220],[1062,27223,2359],{"className":27224},[1181,1220],[1062,27226,3900],{"className":27227},[1232],[1062,27229,4621],{"className":27230,"style":1734},[1181,1220],[1062,27232,14477],{"className":27233},[1181,1220],[1062,27235,2201],{"className":27236},[1181,1220],[1062,27238],{"className":27239,"style":1233},[1232],[1062,27241,1647],{"className":27242},[1237],[1062,27244],{"className":27245,"style":1233},[1232],[1062,27247,27249,27252,27255,27258,27261,27264,27267,27270,27273,27276,27279,27282,27285,27288,27291],{"className":27248},[1172],[1062,27250],{"className":27251,"style":3748},[1176],[1062,27253,3894],{"className":27254},[1181,1220],[1062,27256,1644],{"className":27257},[1181],[1062,27259,3900],{"className":27260},[1232],[1062,27262,1155],{"className":27263,"style":1221},[1181,1220],[1062,27265,2356],{"className":27266},[1181,1220],[1062,27268,2505],{"className":27269},[1181,1220],[1062,27271,3900],{"className":27272},[1232],[1062,27274,2211],{"className":27275,"style":2281},[1181,1220],[1062,27277,2370],{"className":27278},[1181,1220],[1062,27280,2359],{"className":27281},[1181,1220],[1062,27283,2201],{"className":27284},[1181,1220],[1062,27286],{"className":27287,"style":1233},[1232],[1062,27289,1148],{"className":27290},[1237],[1062,27292],{"className":27293,"style":1233},[1232],[1062,27295,27297,27300,27303,27306,27309,27312,27315,27318,27321,27324,27327,27330,27333,27336,27339],{"className":27296},[1172],[1062,27298],{"className":27299,"style":2277},[1176],[1062,27301,7078],{"className":27302},[2292],[1062,27304,3894],{"className":27305},[1181,1220],[1062,27307,1136],{"className":27308},[1181],[1062,27310,3900],{"className":27311},[1232],[1062,27313,2353],{"className":27314,"style":2397},[1181,1220],[1062,27316,2356],{"className":27317},[1181,1220],[1062,27319,2359],{"className":27320},[1181,1220],[1062,27322,3900],{"className":27323},[1232],[1062,27325,4621],{"className":27326,"style":1734},[1181,1220],[1062,27328,14477],{"className":27329},[1181,1220],[1062,27331,2201],{"className":27332},[1181,1220],[1062,27334],{"className":27335,"style":1233},[1232],[1062,27337,1647],{"className":27338},[1237],[1062,27340],{"className":27341,"style":1233},[1232],[1062,27343,27345,27348,27351,27354,27357,27360,27363,27366,27369,27372,27375,27378,27381,27384,27387],{"className":27344},[1172],[1062,27346],{"className":27347,"style":3748},[1176],[1062,27349,3894],{"className":27350},[1181,1220],[1062,27352,1136],{"className":27353},[1181],[1062,27355,3900],{"className":27356},[1232],[1062,27358,1155],{"className":27359,"style":1221},[1181,1220],[1062,27361,2356],{"className":27362},[1181,1220],[1062,27364,2505],{"className":27365},[1181,1220],[1062,27367,3900],{"className":27368},[1232],[1062,27370,2211],{"className":27371,"style":2281},[1181,1220],[1062,27373,2370],{"className":27374},[1181,1220],[1062,27376,2359],{"className":27377},[1181,1220],[1062,27379,2201],{"className":27380},[1181,1220],[1062,27382],{"className":27383,"style":1233},[1232],[1062,27385,1148],{"className":27386},[1237],[1062,27388],{"className":27389,"style":1233},[1232],[1062,27391,27393,27396,27399,27402,27405,27408,27411,27414,27417,27420,27423,27426,27429,27432,27435],{"className":27392},[1172],[1062,27394],{"className":27395,"style":2277},[1176],[1062,27397,7078],{"className":27398},[2292],[1062,27400,3894],{"className":27401},[1181,1220],[1062,27403,2137],{"className":27404},[1181],[1062,27406,3900],{"className":27407},[1232],[1062,27409,2353],{"className":27410,"style":2397},[1181,1220],[1062,27412,2356],{"className":27413},[1181,1220],[1062,27415,2359],{"className":27416},[1181,1220],[1062,27418,3900],{"className":27419},[1232],[1062,27421,4621],{"className":27422,"style":1734},[1181,1220],[1062,27424,14477],{"className":27425},[1181,1220],[1062,27427,2201],{"className":27428},[1181,1220],[1062,27430],{"className":27431,"style":1233},[1232],[1062,27433,1647],{"className":27434},[1237],[1062,27436],{"className":27437,"style":1233},[1232],[1062,27439,27441,27444,27447,27450,27453,27456,27459,27462,27465,27468,27471,27474,27477,27480,27483],{"className":27440},[1172],[1062,27442],{"className":27443,"style":3748},[1176],[1062,27445,3894],{"className":27446},[1181,1220],[1062,27448,2137],{"className":27449},[1181],[1062,27451,3900],{"className":27452},[1232],[1062,27454,1155],{"className":27455,"style":1221},[1181,1220],[1062,27457,2356],{"className":27458},[1181,1220],[1062,27460,2505],{"className":27461},[1181,1220],[1062,27463,3900],{"className":27464},[1232],[1062,27466,2211],{"className":27467,"style":2281},[1181,1220],[1062,27469,2370],{"className":27470},[1181,1220],[1062,27472,2359],{"className":27473},[1181,1220],[1062,27475,2201],{"className":27476},[1181,1220],[1062,27478],{"className":27479,"style":1233},[1232],[1062,27481,1148],{"className":27482},[1237],[1062,27484],{"className":27485,"style":1233},[1232],[1062,27487,27489,27492,27495,27498,27501,27504,27507,27510,27513,27516,27519],{"className":27488},[1172],[1062,27490],{"className":27491,"style":2277},[1176],[1062,27493,1155],{"className":27494,"style":1221},[1181,1220],[1062,27496,2201],{"className":27497},[1181,1220],[1062,27499,1610],{"className":27500},[1181,1220],[1062,27502,4811],{"className":27503,"style":2257},[1181,1220],[1062,27505,4713],{"className":27506,"style":2288},[1181,1220],[1062,27508,3900],{"className":27509},[1232],[1062,27511,4621],{"className":27512,"style":1734},[1181,1220],[1062,27514,14477],{"className":27515},[1181,1220],[1062,27517,2201],{"className":27518},[1181,1220],[1062,27520,27522],{"className":27521},[2302],"))",[986,27524,27525],{},"这一页的核心工程思想是：",[986,27527,27528],{},[982,27529,27530],{},"L1 负责快，L2\u002FL3 负责兜底，主存负责容量。",[986,27532,27533],{},"所以不同层级 cache 的设计目标不同：",[1294,27535,27536,27548],{},[1297,27537,27538],{},[1300,27539,27540,27542,27545],{},[1303,27541,1916],{},[1303,27543,27544],{},"主要目标",[1303,27546,27547],{},"常见设计倾向",[1313,27549,27550,27561,27572,27583],{},[1300,27551,27552,27555,27558],{},[1318,27553,27554],{},"L1",[1318,27556,27557],{},"最小化 hit time",[1318,27559,27560],{},"小容量、低 associativity、快速访问",[1300,27562,27563,27566,27569],{},[1318,27564,27565],{},"L2",[1318,27567,27568],{},"降低 L1 miss penalty",[1318,27570,27571],{},"更大容量、更高 associativity",[1300,27573,27574,27577,27580],{},[1318,27575,27576],{},"L3",[1318,27578,27579],{},"减少 DRAM 访问",[1318,27581,27582],{},"更大、更慢、共享",[1300,27584,27585,27587,27590],{},[1318,27586,1989],{},[1318,27588,27589],{},"提供大容量",[1318,27591,27592],{},"慢但容量大",[978,27594,27596],{"id":27595},"page-123local-miss-rate-与-global-miss-rate","Page 123｜Local Miss Rate 与 Global Miss Rate",[986,27598,27599],{},[992,27600],{"alt":992,"src":27601},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-102.png",[986,27603,27604],{},"这一页非常重要，因为它解释多级 cache 里 miss rate 的两种定义。",[996,27606,27608],{"id":27607},"local-miss-rate局部未命中率","Local Miss Rate｜局部未命中率",[986,27610,27611],{},"Local miss rate 是针对某一级 cache 自己看的。",[986,27613,27614,27615],{},"例如 L2 local miss rate：",[1062,27616,27618,27710],{"className":27617},[1115],[1062,27619,27621],{"className":27620},[1119],[1121,27622,27623],{"xmlns":1123},[1125,27624,27625,27707],{},[1128,27626,27627,27629,27631,27633,27635,27637,27639,27641,27643,27645,27647,27649,27651,27653,27655,27657,27659,27661,27663,27665],{},[1138,27628,3894],{},[1134,27630,1136],{},[1142,27632,3900],{},[1138,27634,3894],{},[1138,27636,2475],{},[1138,27638,2373],{},[1138,27640,2370],{},[1138,27642,2472],{},[1142,27644,3900],{},[1138,27646,1155],{},[1138,27648,2356],{},[1138,27650,2204],{},[1138,27652,2204],{},[1142,27654,3900],{},[1138,27656,2211],{},[1138,27658,2370],{},[1138,27660,2359],{},[1138,27662,2201],{},[1146,27664,1711],{},[6824,27666,27667,27687],{},[1128,27668,27669,27671,27673,27675,27677,27679,27681,27683,27685],{},[1138,27670,3894],{},[1134,27672,1136],{},[1142,27674,3900],{},[1138,27676,1155],{},[1138,27678,2356],{},[1138,27680,2204],{},[1138,27682,2204],{},[1138,27684,2201],{},[1138,27686,2204],{},[1128,27688,27689,27691,27693,27695,27697,27699,27701,27703,27705],{},[1138,27690,3894],{},[1134,27692,1644],{},[1142,27694,3900],{},[1138,27696,1155],{},[1138,27698,2356],{},[1138,27700,2204],{},[1138,27702,2204],{},[1138,27704,2201],{},[1138,27706,2204],{},[1160,27708,27709],{"encoding":1162},"L2\\ Local\\ Miss\\ Rate = \\frac{L2\\ Misses}{L1\\ Misses}",[1062,27711,27713,27776],{"className":27712,"ariaHidden":1168},[1167],[1062,27714,27716,27719,27722,27725,27728,27731,27734,27737,27740,27743,27746,27749,27752,27755,27758,27761,27764,27767,27770,27773],{"className":27715},[1172],[1062,27717],{"className":27718,"style":2246},[1176],[1062,27720,3894],{"className":27721},[1181,1220],[1062,27723,1136],{"className":27724},[1181],[1062,27726,3900],{"className":27727},[1232],[1062,27729,3894],{"className":27730},[1181,1220],[1062,27732,2534],{"className":27733},[1181,1220],[1062,27735,2370],{"className":27736},[1181,1220],[1062,27738,2472],{"className":27739,"style":2530},[1181,1220],[1062,27741,3900],{"className":27742},[1232],[1062,27744,1155],{"className":27745,"style":1221},[1181,1220],[1062,27747,2356],{"className":27748},[1181,1220],[1062,27750,2505],{"className":27751},[1181,1220],[1062,27753,3900],{"className":27754},[1232],[1062,27756,2211],{"className":27757,"style":2281},[1181,1220],[1062,27759,2370],{"className":27760},[1181,1220],[1062,27762,2359],{"className":27763},[1181,1220],[1062,27765,2201],{"className":27766},[1181,1220],[1062,27768],{"className":27769,"style":1742},[1232],[1062,27771,1711],{"className":27772},[1746],[1062,27774],{"className":27775,"style":1742},[1232],[1062,27777,27779,27782],{"className":27778},[1172],[1062,27780],{"className":27781,"style":14985},[1176],[1062,27783,27785,27788,27883],{"className":27784},[1181],[1062,27786],{"className":27787},[2292,6874],[1062,27789,27791],{"className":27790},[6824],[1062,27792,27794,27875],{"className":27793},[1192,2965],[1062,27795,27797,27872],{"className":27796},[1196],[1062,27798,27800,27832,27840],{"className":27799,"style":15004},[1200],[1062,27801,27802,27805],{"style":6890},[1062,27803],{"className":27804,"style":6894},[1208],[1062,27806,27808],{"className":27807},[1213,1214,1215,1216],[1062,27809,27811,27814,27817,27823,27826,27829],{"className":27810},[1181,1216],[1062,27812,3894],{"className":27813},[1181,1220,1216],[1062,27815,1644],{"className":27816},[1181,1216],[1062,27818,27820],{"className":27819},[1232,1216],[1062,27821,3900],{"className":27822},[1216],[1062,27824,1155],{"className":27825,"style":1221},[1181,1220,1216],[1062,27827,2356],{"className":27828},[1181,1220,1216],[1062,27830,15072],{"className":27831},[1181,1220,1216],[1062,27833,27834,27837],{"style":6913},[1062,27835],{"className":27836,"style":6894},[1208],[1062,27838],{"className":27839,"style":6921},[6920],[1062,27841,27842,27845],{"style":6924},[1062,27843],{"className":27844,"style":6894},[1208],[1062,27846,27848],{"className":27847},[1213,1214,1215,1216],[1062,27849,27851,27854,27857,27863,27866,27869],{"className":27850},[1181,1216],[1062,27852,3894],{"className":27853},[1181,1220,1216],[1062,27855,1136],{"className":27856},[1181,1216],[1062,27858,27860],{"className":27859},[1232,1216],[1062,27861,3900],{"className":27862},[1216],[1062,27864,1155],{"className":27865,"style":1221},[1181,1220,1216],[1062,27867,2356],{"className":27868},[1181,1220,1216],[1062,27870,15072],{"className":27871},[1181,1220,1216],[1062,27873,2995],{"className":27874},[2994],[1062,27876,27878],{"className":27877},[1196],[1062,27879,27881],{"className":27880,"style":8777},[1200],[1062,27882],{},[1062,27884],{"className":27885},[2302,6874],[986,27887,27888],{},"因为只有 L1 miss 之后，才会访问 L2，所以 L2 的全部访问次数其实就是 L1 misses。",[986,27890,27891,27892],{},"所以也可以写成：",[1062,27893,27895,28003],{"className":27894},[1115],[1062,27896,27898],{"className":27897},[1119],[1121,27899,27900],{"xmlns":1123},[1125,27901,27902,28000],{},[1128,27903,27904,27906,27908,27910,27912,27914,27916,27918,27920,27922,27924,27926,27928,27930,27932,27934,27936,27938,27940,27942],{},[1138,27905,3894],{},[1134,27907,1136],{},[1142,27909,3900],{},[1138,27911,3894],{},[1138,27913,2475],{},[1138,27915,2373],{},[1138,27917,2370],{},[1138,27919,2472],{},[1142,27921,3900],{},[1138,27923,1155],{},[1138,27925,2356],{},[1138,27927,2204],{},[1138,27929,2204],{},[1142,27931,3900],{},[1138,27933,2211],{},[1138,27935,2370],{},[1138,27937,2359],{},[1138,27939,2201],{},[1146,27941,1711],{},[6824,27943,27944,27964],{},[1128,27945,27946,27948,27950,27952,27954,27956,27958,27960,27962],{},[1138,27947,3894],{},[1134,27949,1136],{},[1142,27951,3900],{},[1138,27953,1155],{},[1138,27955,2356],{},[1138,27957,2204],{},[1138,27959,2204],{},[1138,27961,2201],{},[1138,27963,2204],{},[1128,27965,27966,27968,27970,27972,27974,27976,27978,27980,27982,27984,27986,27988,27990,27992,27994,27996,27998],{},[1138,27967,4621],{},[1138,27969,2475],{},[1138,27971,2359],{},[1138,27973,2370],{},[1138,27975,2472],{},[1142,27977,3900],{},[1138,27979,3894],{},[1134,27981,1136],{},[1142,27983,3900],{},[1138,27985,2190],{},[1138,27987,2373],{},[1138,27989,2373],{},[1138,27991,2201],{},[1138,27993,2204],{},[1138,27995,2204],{},[1138,27997,2201],{},[1138,27999,2204],{},[1160,28001,28002],{"encoding":1162},"L2\\ Local\\ Miss\\ Rate = \\frac{L2\\ Misses}{Total\\ L2\\ Accesses}",[1062,28004,28006,28069],{"className":28005,"ariaHidden":1168},[1167],[1062,28007,28009,28012,28015,28018,28021,28024,28027,28030,28033,28036,28039,28042,28045,28048,28051,28054,28057,28060,28063,28066],{"className":28008},[1172],[1062,28010],{"className":28011,"style":2246},[1176],[1062,28013,3894],{"className":28014},[1181,1220],[1062,28016,1136],{"className":28017},[1181],[1062,28019,3900],{"className":28020},[1232],[1062,28022,3894],{"className":28023},[1181,1220],[1062,28025,2534],{"className":28026},[1181,1220],[1062,28028,2370],{"className":28029},[1181,1220],[1062,28031,2472],{"className":28032,"style":2530},[1181,1220],[1062,28034,3900],{"className":28035},[1232],[1062,28037,1155],{"className":28038,"style":1221},[1181,1220],[1062,28040,2356],{"className":28041},[1181,1220],[1062,28043,2505],{"className":28044},[1181,1220],[1062,28046,3900],{"className":28047},[1232],[1062,28049,2211],{"className":28050,"style":2281},[1181,1220],[1062,28052,2370],{"className":28053},[1181,1220],[1062,28055,2359],{"className":28056},[1181,1220],[1062,28058,2201],{"className":28059},[1181,1220],[1062,28061],{"className":28062,"style":1742},[1232],[1062,28064,1711],{"className":28065},[1746],[1062,28067],{"className":28068,"style":1742},[1232],[1062,28070,28072,28075],{"className":28071},[1172],[1062,28073],{"className":28074,"style":14985},[1176],[1062,28076,28078,28081,28194],{"className":28077},[1181],[1062,28079],{"className":28080},[2292,6874],[1062,28082,28084],{"className":28083},[6824],[1062,28085,28087,28186],{"className":28086},[1192,2965],[1062,28088,28090,28183],{"className":28089},[1196],[1062,28091,28093,28143,28151],{"className":28092,"style":15004},[1200],[1062,28094,28095,28098],{"style":6890},[1062,28096],{"className":28097,"style":6894},[1208],[1062,28099,28101],{"className":28100},[1213,1214,1215,1216],[1062,28102,28104,28107,28110,28113,28116,28119,28125,28128,28131,28137,28140],{"className":28103},[1181,1216],[1062,28105,4621],{"className":28106,"style":1734},[1181,1220,1216],[1062,28108,2475],{"className":28109},[1181,1220,1216],[1062,28111,2359],{"className":28112},[1181,1220,1216],[1062,28114,2370],{"className":28115},[1181,1220,1216],[1062,28117,2472],{"className":28118,"style":2530},[1181,1220,1216],[1062,28120,28122],{"className":28121},[1232,1216],[1062,28123,3900],{"className":28124},[1216],[1062,28126,3894],{"className":28127},[1181,1220,1216],[1062,28129,1136],{"className":28130},[1181,1216],[1062,28132,28134],{"className":28133},[1232,1216],[1062,28135,3900],{"className":28136},[1216],[1062,28138,2190],{"className":28139},[1181,1220,1216],[1062,28141,15043],{"className":28142},[1181,1220,1216],[1062,28144,28145,28148],{"style":6913},[1062,28146],{"className":28147,"style":6894},[1208],[1062,28149],{"className":28150,"style":6921},[6920],[1062,28152,28153,28156],{"style":6924},[1062,28154],{"className":28155,"style":6894},[1208],[1062,28157,28159],{"className":28158},[1213,1214,1215,1216],[1062,28160,28162,28165,28168,28174,28177,28180],{"className":28161},[1181,1216],[1062,28163,3894],{"className":28164},[1181,1220,1216],[1062,28166,1136],{"className":28167},[1181,1216],[1062,28169,28171],{"className":28170},[1232,1216],[1062,28172,3900],{"className":28173},[1216],[1062,28175,1155],{"className":28176,"style":1221},[1181,1220,1216],[1062,28178,2356],{"className":28179},[1181,1220,1216],[1062,28181,15072],{"className":28182},[1181,1220,1216],[1062,28184,2995],{"className":28185},[2994],[1062,28187,28189],{"className":28188},[1196],[1062,28190,28192],{"className":28191,"style":8777},[1200],[1062,28193],{},[1062,28195],{"className":28196},[2302,6874],[986,28198,28199,28200],{},"这个指标说明：",[982,28201,28202],{},"来到 L2 的访问中，有多少又 miss 了。",[996,28204,28206],{"id":28205},"global-miss-rate全局未命中率","Global Miss Rate｜全局未命中率",[986,28208,28209],{},"Global miss rate 是站在 CPU 全部内存访问角度看的。",[986,28211,28212],{},"对于两级 cache：",[1062,28214,28216],{"className":28215},[7840],[1062,28217,28219,28332],{"className":28218},[1115],[1062,28220,28222],{"className":28221},[1119],[1121,28223,28224],{"xmlns":1123,"display":3391},[1125,28225,28226,28329],{},[1128,28227,28228,28231,28233,28235,28237,28239,28241,28243,28245,28247,28249,28251,28253,28255,28257,28259,28261,28263],{},[1138,28229,28230],{},"G",[1138,28232,2472],{},[1138,28234,2475],{},[1138,28236,2469],{},[1138,28238,2370],{},[1138,28240,2472],{},[1142,28242,3900],{},[1138,28244,1155],{},[1138,28246,2356],{},[1138,28248,2204],{},[1138,28250,2204],{},[1142,28252,3900],{},[1138,28254,2211],{},[1138,28256,2370],{},[1138,28258,2359],{},[1138,28260,2201],{},[1146,28262,1711],{},[6824,28264,28265,28285],{},[1128,28266,28267,28269,28271,28273,28275,28277,28279,28281,28283],{},[1138,28268,3894],{},[1134,28270,1136],{},[1142,28272,3900],{},[1138,28274,1155],{},[1138,28276,2356],{},[1138,28278,2204],{},[1138,28280,2204],{},[1138,28282,2201],{},[1138,28284,2204],{},[1128,28286,28287,28289,28291,28293,28295,28297,28299,28301,28303,28305,28307,28309,28311,28313,28315,28317,28319,28321,28323,28325,28327],{},[1138,28288,4621],{},[1138,28290,2475],{},[1138,28292,2359],{},[1138,28294,2370],{},[1138,28296,2472],{},[1142,28298,3900],{},[1138,28300,1155],{},[1138,28302,2201],{},[1138,28304,1610],{},[1138,28306,2475],{},[1138,28308,2198],{},[1138,28310,4713],{},[1142,28312,3900],{},[1138,28314,2190],{},[1138,28316,2373],{},[1138,28318,2373],{},[1138,28320,2201],{},[1138,28322,2204],{},[1138,28324,2204],{},[1138,28326,2201],{},[1138,28328,2204],{},[1160,28330,28331],{"encoding":1162},"Global\\ Miss\\ Rate = \\frac{L2\\ Misses}{Total\\ Memory\\ Accesses}",[1062,28333,28335,28391],{"className":28334,"ariaHidden":1168},[1167],[1062,28336,28338,28341,28345,28348,28352,28355,28358,28361,28364,28367,28370,28373,28376,28379,28382,28385,28388],{"className":28337},[1172],[1062,28339],{"className":28340,"style":2246},[1176],[1062,28342,28344],{"className":28343,"style":2530},[1181,1220],"Gl",[1062,28346,2475],{"className":28347},[1181,1220],[1062,28349,28351],{"className":28350},[1181,1220],"ba",[1062,28353,2472],{"className":28354,"style":2530},[1181,1220],[1062,28356,3900],{"className":28357},[1232],[1062,28359,1155],{"className":28360,"style":1221},[1181,1220],[1062,28362,2356],{"className":28363},[1181,1220],[1062,28365,2505],{"className":28366},[1181,1220],[1062,28368,3900],{"className":28369},[1232],[1062,28371,2211],{"className":28372,"style":2281},[1181,1220],[1062,28374,2370],{"className":28375},[1181,1220],[1062,28377,2359],{"className":28378},[1181,1220],[1062,28380,2201],{"className":28381},[1181,1220],[1062,28383],{"className":28384,"style":1742},[1232],[1062,28386,1711],{"className":28387},[1746],[1062,28389],{"className":28390,"style":1742},[1232],[1062,28392,28394,28398],{"className":28393},[1172],[1062,28395],{"className":28396,"style":28397},[1176],"height:2.2408em;vertical-align:-0.8804em;",[1062,28399,28401,28404,28513],{"className":28400},[1181],[1062,28402],{"className":28403},[2292,6874],[1062,28405,28407],{"className":28406},[6824],[1062,28408,28410,28504],{"className":28409},[1192,2965],[1062,28411,28413,28501],{"className":28412},[1196],[1062,28414,28417,28467,28475],{"className":28415,"style":28416},[1200],"height:1.3603em;",[1062,28418,28419,28422],{"style":10610},[1062,28420],{"className":28421,"style":6894},[1208],[1062,28423,28425,28428,28431,28434,28437,28440,28443,28446,28449,28452,28455,28458,28461,28464],{"className":28424},[1181],[1062,28426,4621],{"className":28427,"style":1734},[1181,1220],[1062,28429,2475],{"className":28430},[1181,1220],[1062,28432,2359],{"className":28433},[1181,1220],[1062,28435,2370],{"className":28436},[1181,1220],[1062,28438,2472],{"className":28439,"style":2530},[1181,1220],[1062,28441,3900],{"className":28442},[1232],[1062,28444,1155],{"className":28445,"style":1221},[1181,1220],[1062,28447,2201],{"className":28448},[1181,1220],[1062,28450,1610],{"className":28451},[1181,1220],[1062,28453,4811],{"className":28454,"style":2257},[1181,1220],[1062,28456,4713],{"className":28457,"style":2288},[1181,1220],[1062,28459,3900],{"className":28460},[1232],[1062,28462,2190],{"className":28463},[1181,1220],[1062,28465,15043],{"className":28466},[1181,1220],[1062,28468,28469,28472],{"style":6913},[1062,28470],{"className":28471,"style":6894},[1208],[1062,28473],{"className":28474,"style":6921},[6920],[1062,28476,28477,28480],{"style":10658},[1062,28478],{"className":28479,"style":6894},[1208],[1062,28481,28483,28486,28489,28492,28495,28498],{"className":28482},[1181],[1062,28484,3894],{"className":28485},[1181,1220],[1062,28487,1136],{"className":28488},[1181],[1062,28490,3900],{"className":28491},[1232],[1062,28493,1155],{"className":28494,"style":1221},[1181,1220],[1062,28496,2356],{"className":28497},[1181,1220],[1062,28499,15072],{"className":28500},[1181,1220],[1062,28502,2995],{"className":28503},[2994],[1062,28505,28507],{"className":28506},[1196],[1062,28508,28511],{"className":28509,"style":28510},[1200],"height:0.8804em;",[1062,28512],{},[1062,28514],{"className":28515},[2302,6874],[986,28517,28518],{},"它也可以拆成：",[1062,28520,28522],{"className":28521},[7840],[1062,28523,28525,28645],{"className":28524},[1115],[1062,28526,28528],{"className":28527},[1119],[1121,28529,28530],{"xmlns":1123,"display":3391},[1125,28531,28532,28642],{},[1128,28533,28534,28536,28538,28540,28542,28544,28546,28548,28550,28552,28554,28556,28558,28560,28562,28564,28566,28568,28570,28572,28574,28576,28578,28580,28582,28584,28586,28588,28590,28592,28594,28596,28598,28600,28602,28604,28606,28608,28610,28612,28614,28616,28618,28620,28622,28624,28626,28628,28630,28632,28634,28636,28638,28640],{},[1138,28535,28230],{},[1138,28537,2472],{},[1138,28539,2475],{},[1138,28541,2469],{},[1138,28543,2370],{},[1138,28545,2472],{},[1142,28547,3900],{},[1138,28549,1155],{},[1138,28551,2356],{},[1138,28553,2204],{},[1138,28555,2204],{},[1142,28557,3900],{},[1138,28559,2211],{},[1138,28561,2370],{},[1138,28563,2359],{},[1138,28565,2201],{},[1146,28567,1711],{},[1138,28569,3894],{},[1134,28571,1644],{},[1142,28573,3900],{},[1138,28575,3894],{},[1138,28577,2475],{},[1138,28579,2373],{},[1138,28581,2370],{},[1138,28583,2472],{},[1142,28585,3900],{},[1138,28587,1155],{},[1138,28589,2356],{},[1138,28591,2204],{},[1138,28593,2204],{},[1142,28595,3900],{},[1138,28597,2211],{},[1138,28599,2370],{},[1138,28601,2359],{},[1138,28603,2201],{},[1146,28605,1148],{},[1138,28607,3894],{},[1134,28609,1136],{},[1142,28611,3900],{},[1138,28613,3894],{},[1138,28615,2475],{},[1138,28617,2373],{},[1138,28619,2370],{},[1138,28621,2472],{},[1142,28623,3900],{},[1138,28625,1155],{},[1138,28627,2356],{},[1138,28629,2204],{},[1138,28631,2204],{},[1142,28633,3900],{},[1138,28635,2211],{},[1138,28637,2370],{},[1138,28639,2359],{},[1138,28641,2201],{},[1160,28643,28644],{"encoding":1162},"Global\\ Miss\\ Rate = L1\\ Local\\ Miss\\ Rate \\times L2\\ Local\\ Miss\\ Rate",[1062,28646,28648,28702,28765],{"className":28647,"ariaHidden":1168},[1167],[1062,28649,28651,28654,28657,28660,28663,28666,28669,28672,28675,28678,28681,28684,28687,28690,28693,28696,28699],{"className":28650},[1172],[1062,28652],{"className":28653,"style":2246},[1176],[1062,28655,28344],{"className":28656,"style":2530},[1181,1220],[1062,28658,2475],{"className":28659},[1181,1220],[1062,28661,28351],{"className":28662},[1181,1220],[1062,28664,2472],{"className":28665,"style":2530},[1181,1220],[1062,28667,3900],{"className":28668},[1232],[1062,28670,1155],{"className":28671,"style":1221},[1181,1220],[1062,28673,2356],{"className":28674},[1181,1220],[1062,28676,2505],{"className":28677},[1181,1220],[1062,28679,3900],{"className":28680},[1232],[1062,28682,2211],{"className":28683,"style":2281},[1181,1220],[1062,28685,2370],{"className":28686},[1181,1220],[1062,28688,2359],{"className":28689},[1181,1220],[1062,28691,2201],{"className":28692},[1181,1220],[1062,28694],{"className":28695,"style":1742},[1232],[1062,28697,1711],{"className":28698},[1746],[1062,28700],{"className":28701,"style":1742},[1232],[1062,28703,28705,28708,28711,28714,28717,28720,28723,28726,28729,28732,28735,28738,28741,28744,28747,28750,28753,28756,28759,28762],{"className":28704},[1172],[1062,28706],{"className":28707,"style":9447},[1176],[1062,28709,3894],{"className":28710},[1181,1220],[1062,28712,1644],{"className":28713},[1181],[1062,28715,3900],{"className":28716},[1232],[1062,28718,3894],{"className":28719},[1181,1220],[1062,28721,2534],{"className":28722},[1181,1220],[1062,28724,2370],{"className":28725},[1181,1220],[1062,28727,2472],{"className":28728,"style":2530},[1181,1220],[1062,28730,3900],{"className":28731},[1232],[1062,28733,1155],{"className":28734,"style":1221},[1181,1220],[1062,28736,2356],{"className":28737},[1181,1220],[1062,28739,2505],{"className":28740},[1181,1220],[1062,28742,3900],{"className":28743},[1232],[1062,28745,2211],{"className":28746,"style":2281},[1181,1220],[1062,28748,2370],{"className":28749},[1181,1220],[1062,28751,2359],{"className":28752},[1181,1220],[1062,28754,2201],{"className":28755},[1181,1220],[1062,28757],{"className":28758,"style":1233},[1232],[1062,28760,1148],{"className":28761},[1237],[1062,28763],{"className":28764,"style":1233},[1232],[1062,28766,28768,28771,28774,28777,28780,28783,28786,28789,28792,28795,28798,28801,28804,28807,28810,28813,28816],{"className":28767},[1172],[1062,28769],{"className":28770,"style":2246},[1176],[1062,28772,3894],{"className":28773},[1181,1220],[1062,28775,1136],{"className":28776},[1181],[1062,28778,3900],{"className":28779},[1232],[1062,28781,3894],{"className":28782},[1181,1220],[1062,28784,2534],{"className":28785},[1181,1220],[1062,28787,2370],{"className":28788},[1181,1220],[1062,28790,2472],{"className":28791,"style":2530},[1181,1220],[1062,28793,3900],{"className":28794},[1232],[1062,28796,1155],{"className":28797,"style":1221},[1181,1220],[1062,28799,2356],{"className":28800},[1181,1220],[1062,28802,2505],{"className":28803},[1181,1220],[1062,28805,3900],{"className":28806},[1232],[1062,28808,2211],{"className":28809,"style":2281},[1181,1220],[1062,28811,2370],{"className":28812},[1181,1220],[1062,28814,2359],{"className":28815},[1181,1220],[1062,28817,2201],{"className":28818},[1181,1220],[986,28820,28821],{},"因为必须先 L1 miss，然后 L2 也 miss，才会真正访问主存。",[986,28823,28824],{},"这页最容易混淆的是：",[1896,28826,28829],{"className":28827,"code":28828,"language":1225},[1899],"L2 local miss rate 通常远大于 L2 global miss rate\n",[1902,28830,28828],{"__ignoreMap":1904},[986,28832,28833],{},"原因是 L2 local miss rate 的分母是 L1 misses，而不是全部 memory accesses。",[7727,28835],{},[996,28837,28839],{"id":28838},"多级-cache-的-amat-公式","多级 Cache 的 AMAT 公式",[986,28841,28842],{},"两级 cache 的 AMAT 是：",[1062,28844,28846],{"className":28845},[7840],[1062,28847,28849,29004],{"className":28848},[1115],[1062,28850,28852],{"className":28851},[1119],[1121,28853,28854],{"xmlns":1123,"display":3391},[1125,28855,28856,29002],{},[1128,28857,28858,28860,28862,28864,28866,28868,28870,28872,28874,28876,28878,28880,28882,28884,28886,28888,28890,28892,28894,28896,28898,28900,28902,28904,28906,28908,28910,28912,28914,28916,28918,28920,28922,28924,28926,28928,28930,28932,28934,28936,28938,28940,28942,28944,28946,28948,28950,28952,28954,28956,28958,28960,28962,28964,28966,28968,28970,28972,28974,28976,28978,28980,28982,28984,28986,28988,28990,28992,28994,28996,28998,29000],{},[1138,28859,2190],{},[1138,28861,1155],{},[1138,28863,2190],{},[1138,28865,4621],{},[1146,28867,1711],{},[1138,28869,3894],{},[1134,28871,1644],{},[1142,28873,3900],{},[1138,28875,2353],{},[1138,28877,2356],{},[1138,28879,2359],{},[1142,28881,3900],{},[1138,28883,4621],{},[1138,28885,2356],{},[1138,28887,1610],{},[1138,28889,2201],{},[1146,28891,1647],{},[1138,28893,3894],{},[1134,28895,1644],{},[1142,28897,3900],{},[1138,28899,1155],{},[1138,28901,2356],{},[1138,28903,2204],{},[1138,28905,2204],{},[1142,28907,3900],{},[1138,28909,2211],{},[1138,28911,2370],{},[1138,28913,2359],{},[1138,28915,2201],{},[1146,28917,1148],{},[1146,28919,7078],{"stretchy":2219},[1138,28921,3894],{},[1134,28923,1136],{},[1142,28925,3900],{},[1138,28927,2353],{},[1138,28929,2356],{},[1138,28931,2359],{},[1142,28933,3900],{},[1138,28935,4621],{},[1138,28937,2356],{},[1138,28939,1610],{},[1138,28941,2201],{},[1146,28943,1647],{},[1138,28945,3894],{},[1134,28947,1136],{},[1142,28949,3900],{},[1138,28951,1155],{},[1138,28953,2356],{},[1138,28955,2204],{},[1138,28957,2204],{},[1142,28959,3900],{},[1138,28961,2211],{},[1138,28963,2370],{},[1138,28965,2359],{},[1138,28967,2201],{},[1146,28969,1148],{},[1138,28971,3894],{},[1134,28973,1136],{},[1142,28975,3900],{},[1138,28977,1155],{},[1138,28979,2356],{},[1138,28981,2204],{},[1138,28983,2204],{},[1142,28985,3900],{},[1138,28987,1705],{},[1138,28989,2201],{},[1138,28991,3546],{},[1138,28993,2370],{},[1138,28995,2472],{},[1138,28997,2359],{},[1138,28999,4713],{},[1146,29001,7088],{"stretchy":2219},[1160,29003,26692],{"encoding":1162},[1062,29005,29007,29034,29079,29127,29175,29223],{"className":29006,"ariaHidden":1168},[1167],[1062,29008,29010,29013,29016,29019,29022,29025,29028,29031],{"className":29009},[1172],[1062,29011],{"className":29012,"style":1726},[1176],[1062,29014,2190],{"className":29015},[1181,1220],[1062,29017,1155],{"className":29018,"style":1221},[1181,1220],[1062,29020,2190],{"className":29021},[1181,1220],[1062,29023,4621],{"className":29024,"style":1734},[1181,1220],[1062,29026],{"className":29027,"style":1742},[1232],[1062,29029,1711],{"className":29030},[1746],[1062,29032],{"className":29033,"style":1742},[1232],[1062,29035,29037,29040,29043,29046,29049,29052,29055,29058,29061,29064,29067,29070,29073,29076],{"className":29036},[1172],[1062,29038],{"className":29039,"style":3748},[1176],[1062,29041,3894],{"className":29042},[1181,1220],[1062,29044,1644],{"className":29045},[1181],[1062,29047,3900],{"className":29048},[1232],[1062,29050,2353],{"className":29051,"style":2397},[1181,1220],[1062,29053,2356],{"className":29054},[1181,1220],[1062,29056,2359],{"className":29057},[1181,1220],[1062,29059,3900],{"className":29060},[1232],[1062,29062,4621],{"className":29063,"style":1734},[1181,1220],[1062,29065,14477],{"className":29066},[1181,1220],[1062,29068,2201],{"className":29069},[1181,1220],[1062,29071],{"className":29072,"style":1233},[1232],[1062,29074,1647],{"className":29075},[1237],[1062,29077],{"className":29078,"style":1233},[1232],[1062,29080,29082,29085,29088,29091,29094,29097,29100,29103,29106,29109,29112,29115,29118,29121,29124],{"className":29081},[1172],[1062,29083],{"className":29084,"style":3748},[1176],[1062,29086,3894],{"className":29087},[1181,1220],[1062,29089,1644],{"className":29090},[1181],[1062,29092,3900],{"className":29093},[1232],[1062,29095,1155],{"className":29096,"style":1221},[1181,1220],[1062,29098,2356],{"className":29099},[1181,1220],[1062,29101,2505],{"className":29102},[1181,1220],[1062,29104,3900],{"className":29105},[1232],[1062,29107,2211],{"className":29108,"style":2281},[1181,1220],[1062,29110,2370],{"className":29111},[1181,1220],[1062,29113,2359],{"className":29114},[1181,1220],[1062,29116,2201],{"className":29117},[1181,1220],[1062,29119],{"className":29120,"style":1233},[1232],[1062,29122,1148],{"className":29123},[1237],[1062,29125],{"className":29126,"style":1233},[1232],[1062,29128,29130,29133,29136,29139,29142,29145,29148,29151,29154,29157,29160,29163,29166,29169,29172],{"className":29129},[1172],[1062,29131],{"className":29132,"style":2277},[1176],[1062,29134,7078],{"className":29135},[2292],[1062,29137,3894],{"className":29138},[1181,1220],[1062,29140,1136],{"className":29141},[1181],[1062,29143,3900],{"className":29144},[1232],[1062,29146,2353],{"className":29147,"style":2397},[1181,1220],[1062,29149,2356],{"className":29150},[1181,1220],[1062,29152,2359],{"className":29153},[1181,1220],[1062,29155,3900],{"className":29156},[1232],[1062,29158,4621],{"className":29159,"style":1734},[1181,1220],[1062,29161,14477],{"className":29162},[1181,1220],[1062,29164,2201],{"className":29165},[1181,1220],[1062,29167],{"className":29168,"style":1233},[1232],[1062,29170,1647],{"className":29171},[1237],[1062,29173],{"className":29174,"style":1233},[1232],[1062,29176,29178,29181,29184,29187,29190,29193,29196,29199,29202,29205,29208,29211,29214,29217,29220],{"className":29177},[1172],[1062,29179],{"className":29180,"style":3748},[1176],[1062,29182,3894],{"className":29183},[1181,1220],[1062,29185,1136],{"className":29186},[1181],[1062,29188,3900],{"className":29189},[1232],[1062,29191,1155],{"className":29192,"style":1221},[1181,1220],[1062,29194,2356],{"className":29195},[1181,1220],[1062,29197,2505],{"className":29198},[1181,1220],[1062,29200,3900],{"className":29201},[1232],[1062,29203,2211],{"className":29204,"style":2281},[1181,1220],[1062,29206,2370],{"className":29207},[1181,1220],[1062,29209,2359],{"className":29210},[1181,1220],[1062,29212,2201],{"className":29213},[1181,1220],[1062,29215],{"className":29216,"style":1233},[1232],[1062,29218,1148],{"className":29219},[1237],[1062,29221],{"className":29222,"style":1233},[1232],[1062,29224,29226,29229,29232,29235,29238,29241,29244,29247,29250,29253,29256,29259,29262,29265,29268],{"className":29225},[1172],[1062,29227],{"className":29228,"style":2277},[1176],[1062,29230,3894],{"className":29231},[1181,1220],[1062,29233,1136],{"className":29234},[1181],[1062,29236,3900],{"className":29237},[1232],[1062,29239,1155],{"className":29240,"style":1221},[1181,1220],[1062,29242,2356],{"className":29243},[1181,1220],[1062,29245,2505],{"className":29246},[1181,1220],[1062,29248,3900],{"className":29249},[1232],[1062,29251,1705],{"className":29252,"style":1734},[1181,1220],[1062,29254,2201],{"className":29255},[1181,1220],[1062,29257,14580],{"className":29258},[1181,1220],[1062,29260,2472],{"className":29261,"style":2530},[1181,1220],[1062,29263,2359],{"className":29264},[1181,1220],[1062,29266,4713],{"className":29267,"style":2288},[1181,1220],[1062,29269,7088],{"className":29270},[2302],[986,29272,29273],{},"这个公式的结构要记住：",[1344,29275,29276,29279,29282],{},[1347,29277,29278],{},"外层是 L1；",[1347,29280,29281],{},"L1 miss 后进入 L2；",[1347,29283,29284],{},"L2 miss 后才进入更低一级。",[986,29286,29287],{},"所以多级 AMAT 是一个嵌套结构，不是简单相加。",[7727,29289],{},[978,29291,29293],{"id":29292},"page-124多级-cache-amat-例子","Page 124｜多级 Cache AMAT 例子",[986,29295,29296],{},[992,29297],{"alt":992,"src":29298},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-103.png",[986,29300,29301],{},"这一页用具体数字说明多级 cache 为什么有效。",[986,29303,29304],{},"给定条件：",[1896,29306,29309],{"className":29307,"code":29308,"language":1225},[1899],"L1 miss rate = 10%\nL1 hit time = 1 cycle\nL2 miss rate = 5%\nL2 hit time = 10 cycles\nL3 miss rate = 1%\nL3 hit time = 20 cycles\nMemory time = 300 cycles\n",[1902,29310,29308],{"__ignoreMap":1904},[986,29312,29313],{},"多级 AMAT 公式：",[1062,29315,29317],{"className":29316},[7840],[1062,29318,29320,29476],{"className":29319},[1115],[1062,29321,29323],{"className":29322},[1119],[1121,29324,29325],{"xmlns":1123,"display":3391},[1125,29326,29327,29473],{},[1128,29328,29329,29331,29333,29335,29337,29339,29351,29353,29355,29357,29359,29361,29363,29365,29367,29369,29371,29373,29375,29377,29389,29391,29393,29395,29397,29399,29401,29403,29405,29407,29409,29411,29413,29415,29427,29429,29431,29433,29435,29437,29439,29441,29443,29445,29447,29449,29451,29469,29471],{},[1138,29330,2190],{},[1138,29332,1155],{},[1138,29334,2190],{},[1138,29336,4621],{},[1146,29338,1711],{},[2913,29340,29341,29343],{},[1138,29342,4621],{},[1128,29344,29345,29347,29349],{},[1138,29346,2376],{},[1138,29348,2356],{},[1138,29350,2359],{},[1146,29352,7078],{"stretchy":2219},[1138,29354,3894],{},[1134,29356,1644],{},[1146,29358,7088],{"stretchy":2219},[1146,29360,1647],{},[1138,29362,1155],{},[1138,29364,2211],{},[1146,29366,7078],{"stretchy":2219},[1138,29368,3894],{},[1134,29370,1644],{},[1146,29372,7088],{"stretchy":2219},[1146,29374,1148],{},[1146,29376,7078],{"stretchy":2219},[2913,29378,29379,29381],{},[1138,29380,4621],{},[1128,29382,29383,29385,29387],{},[1138,29384,2376],{},[1138,29386,2356],{},[1138,29388,2359],{},[1146,29390,7078],{"stretchy":2219},[1138,29392,3894],{},[1134,29394,1136],{},[1146,29396,7088],{"stretchy":2219},[1146,29398,1647],{},[1138,29400,1155],{},[1138,29402,2211],{},[1146,29404,7078],{"stretchy":2219},[1138,29406,3894],{},[1134,29408,1136],{},[1146,29410,7088],{"stretchy":2219},[1146,29412,1148],{},[1146,29414,7078],{"stretchy":2219},[2913,29416,29417,29419],{},[1138,29418,4621],{},[1128,29420,29421,29423,29425],{},[1138,29422,2376],{},[1138,29424,2356],{},[1138,29426,2359],{},[1146,29428,7078],{"stretchy":2219},[1138,29430,3894],{},[1134,29432,2137],{},[1146,29434,7088],{"stretchy":2219},[1146,29436,1647],{},[1138,29438,1155],{},[1138,29440,2211],{},[1146,29442,7078],{"stretchy":2219},[1138,29444,3894],{},[1134,29446,2137],{},[1146,29448,7088],{"stretchy":2219},[1146,29450,1148],{},[2913,29452,29453,29455],{},[1138,29454,4621],{},[1128,29456,29457,29459,29461,29463,29465,29467],{},[1138,29458,1610],{},[1138,29460,2201],{},[1138,29462,1610],{},[1138,29464,2475],{},[1138,29466,2198],{},[1138,29468,4713],{},[1146,29470,7088],{"stretchy":2219},[1146,29472,7088],{"stretchy":2219},[1160,29474,29475],{"encoding":1162},"AMAT = T_{hit}(L1) + MR(L1) \\times (T_{hit}(L2) + MR(L2) \\times (T_{hit}(L3) + MR(L3) \\times T_{memory}))",[1062,29477,29479,29506,29579,29612,29688,29721,29797,29830],{"className":29478,"ariaHidden":1168},[1167],[1062,29480,29482,29485,29488,29491,29494,29497,29500,29503],{"className":29481},[1172],[1062,29483],{"className":29484,"style":1726},[1176],[1062,29486,2190],{"className":29487},[1181,1220],[1062,29489,1155],{"className":29490,"style":1221},[1181,1220],[1062,29492,2190],{"className":29493},[1181,1220],[1062,29495,4621],{"className":29496,"style":1734},[1181,1220],[1062,29498],{"className":29499,"style":1742},[1232],[1062,29501,1711],{"className":29502},[1746],[1062,29504],{"className":29505,"style":1742},[1232],[1062,29507,29509,29512,29558,29561,29564,29567,29570,29573,29576],{"className":29508},[1172],[1062,29510],{"className":29511,"style":2277},[1176],[1062,29513,29515,29518],{"className":29514},[1181],[1062,29516,4621],{"className":29517,"style":1734},[1181,1220],[1062,29519,29521],{"className":29520},[1188],[1062,29522,29524,29550],{"className":29523},[1192,2965],[1062,29525,29527,29547],{"className":29526},[1196],[1062,29528,29530],{"className":29529,"style":14050},[1200],[1062,29531,29532,29535],{"style":14053},[1062,29533],{"className":29534,"style":1209},[1208],[1062,29536,29538],{"className":29537},[1213,1214,1215,1216],[1062,29539,29541,29544],{"className":29540},[1181,1216],[1062,29542,14066],{"className":29543},[1181,1220,1216],[1062,29545,2359],{"className":29546},[1181,1220,1216],[1062,29548,2995],{"className":29549},[2994],[1062,29551,29553],{"className":29552},[1196],[1062,29554,29556],{"className":29555,"style":3002},[1200],[1062,29557],{},[1062,29559,7078],{"className":29560},[2292],[1062,29562,3894],{"className":29563},[1181,1220],[1062,29565,1644],{"className":29566},[1181],[1062,29568,7088],{"className":29569},[2302],[1062,29571],{"className":29572,"style":1233},[1232],[1062,29574,1647],{"className":29575},[1237],[1062,29577],{"className":29578,"style":1233},[1232],[1062,29580,29582,29585,29588,29591,29594,29597,29600,29603,29606,29609],{"className":29581},[1172],[1062,29583],{"className":29584,"style":2277},[1176],[1062,29586,1155],{"className":29587,"style":1221},[1181,1220],[1062,29589,2211],{"className":29590,"style":2281},[1181,1220],[1062,29592,7078],{"className":29593},[2292],[1062,29595,3894],{"className":29596},[1181,1220],[1062,29598,1644],{"className":29599},[1181],[1062,29601,7088],{"className":29602},[2302],[1062,29604],{"className":29605,"style":1233},[1232],[1062,29607,1148],{"className":29608},[1237],[1062,29610],{"className":29611,"style":1233},[1232],[1062,29613,29615,29618,29621,29667,29670,29673,29676,29679,29682,29685],{"className":29614},[1172],[1062,29616],{"className":29617,"style":2277},[1176],[1062,29619,7078],{"className":29620},[2292],[1062,29622,29624,29627],{"className":29623},[1181],[1062,29625,4621],{"className":29626,"style":1734},[1181,1220],[1062,29628,29630],{"className":29629},[1188],[1062,29631,29633,29659],{"className":29632},[1192,2965],[1062,29634,29636,29656],{"className":29635},[1196],[1062,29637,29639],{"className":29638,"style":14050},[1200],[1062,29640,29641,29644],{"style":14053},[1062,29642],{"className":29643,"style":1209},[1208],[1062,29645,29647],{"className":29646},[1213,1214,1215,1216],[1062,29648,29650,29653],{"className":29649},[1181,1216],[1062,29651,14066],{"className":29652},[1181,1220,1216],[1062,29654,2359],{"className":29655},[1181,1220,1216],[1062,29657,2995],{"className":29658},[2994],[1062,29660,29662],{"className":29661},[1196],[1062,29663,29665],{"className":29664,"style":3002},[1200],[1062,29666],{},[1062,29668,7078],{"className":29669},[2292],[1062,29671,3894],{"className":29672},[1181,1220],[1062,29674,1136],{"className":29675},[1181],[1062,29677,7088],{"className":29678},[2302],[1062,29680],{"className":29681,"style":1233},[1232],[1062,29683,1647],{"className":29684},[1237],[1062,29686],{"className":29687,"style":1233},[1232],[1062,29689,29691,29694,29697,29700,29703,29706,29709,29712,29715,29718],{"className":29690},[1172],[1062,29692],{"className":29693,"style":2277},[1176],[1062,29695,1155],{"className":29696,"style":1221},[1181,1220],[1062,29698,2211],{"className":29699,"style":2281},[1181,1220],[1062,29701,7078],{"className":29702},[2292],[1062,29704,3894],{"className":29705},[1181,1220],[1062,29707,1136],{"className":29708},[1181],[1062,29710,7088],{"className":29711},[2302],[1062,29713],{"className":29714,"style":1233},[1232],[1062,29716,1148],{"className":29717},[1237],[1062,29719],{"className":29720,"style":1233},[1232],[1062,29722,29724,29727,29730,29776,29779,29782,29785,29788,29791,29794],{"className":29723},[1172],[1062,29725],{"className":29726,"style":2277},[1176],[1062,29728,7078],{"className":29729},[2292],[1062,29731,29733,29736],{"className":29732},[1181],[1062,29734,4621],{"className":29735,"style":1734},[1181,1220],[1062,29737,29739],{"className":29738},[1188],[1062,29740,29742,29768],{"className":29741},[1192,2965],[1062,29743,29745,29765],{"className":29744},[1196],[1062,29746,29748],{"className":29747,"style":14050},[1200],[1062,29749,29750,29753],{"style":14053},[1062,29751],{"className":29752,"style":1209},[1208],[1062,29754,29756],{"className":29755},[1213,1214,1215,1216],[1062,29757,29759,29762],{"className":29758},[1181,1216],[1062,29760,14066],{"className":29761},[1181,1220,1216],[1062,29763,2359],{"className":29764},[1181,1220,1216],[1062,29766,2995],{"className":29767},[2994],[1062,29769,29771],{"className":29770},[1196],[1062,29772,29774],{"className":29773,"style":3002},[1200],[1062,29775],{},[1062,29777,7078],{"className":29778},[2292],[1062,29780,3894],{"className":29781},[1181,1220],[1062,29783,2137],{"className":29784},[1181],[1062,29786,7088],{"className":29787},[2302],[1062,29789],{"className":29790,"style":1233},[1232],[1062,29792,1647],{"className":29793},[1237],[1062,29795],{"className":29796,"style":1233},[1232],[1062,29798,29800,29803,29806,29809,29812,29815,29818,29821,29824,29827],{"className":29799},[1172],[1062,29801],{"className":29802,"style":2277},[1176],[1062,29804,1155],{"className":29805,"style":1221},[1181,1220],[1062,29807,2211],{"className":29808,"style":2281},[1181,1220],[1062,29810,7078],{"className":29811},[2292],[1062,29813,3894],{"className":29814},[1181,1220],[1062,29816,2137],{"className":29817},[1181],[1062,29819,7088],{"className":29820},[2302],[1062,29822],{"className":29823,"style":1233},[1232],[1062,29825,1148],{"className":29826},[1237],[1062,29828],{"className":29829,"style":1233},[1232],[1062,29831,29833,29837,29893],{"className":29832},[1172],[1062,29834],{"className":29835,"style":29836},[1176],"height:1.0361em;vertical-align:-0.2861em;",[1062,29838,29840,29843],{"className":29839},[1181],[1062,29841,4621],{"className":29842,"style":1734},[1181,1220],[1062,29844,29846],{"className":29845},[1188],[1062,29847,29849,29885],{"className":29848},[1192,2965],[1062,29850,29852,29882],{"className":29851},[1196],[1062,29853,29856],{"className":29854,"style":29855},[1200],"height:0.1514em;",[1062,29857,29858,29861],{"style":14053},[1062,29859],{"className":29860,"style":1209},[1208],[1062,29862,29864],{"className":29863},[1213,1214,1215,1216],[1062,29865,29867,29870,29873,29876,29879],{"className":29866},[1181,1216],[1062,29868,1610],{"className":29869},[1181,1220,1216],[1062,29871,2201],{"className":29872},[1181,1220,1216],[1062,29874,1610],{"className":29875},[1181,1220,1216],[1062,29877,4811],{"className":29878,"style":2257},[1181,1220,1216],[1062,29880,4713],{"className":29881,"style":2288},[1181,1220,1216],[1062,29883,2995],{"className":29884},[2994],[1062,29886,29888],{"className":29887},[1196],[1062,29889,29891],{"className":29890,"style":16346},[1200],[1062,29892],{},[1062,29894,27522],{"className":29895},[2302],[986,29897,29898],{},"代入：",[1062,29900,29902],{"className":29901},[7840],[1062,29903,29905,29966],{"className":29904},[1115],[1062,29906,29908],{"className":29907},[1119],[1121,29909,29910],{"xmlns":1123,"display":3391},[1125,29911,29912,29963],{},[1128,29913,29914,29916,29918,29920,29922,29924,29926,29928,29931,29933,29935,29938,29940,29943,29945,29947,29949,29951,29954,29956,29959,29961],{},[1138,29915,2190],{},[1138,29917,1155],{},[1138,29919,2190],{},[1138,29921,4621],{},[1146,29923,1711],{},[1134,29925,1644],{},[1146,29927,1647],{},[1134,29929,29930],{},"0.10",[1146,29932,1148],{},[1146,29934,7078],{"stretchy":2219},[1134,29936,29937],{},"10",[1146,29939,1647],{},[1134,29941,29942],{},"0.05",[1146,29944,1148],{},[1146,29946,7078],{"stretchy":2219},[1134,29948,5996],{},[1146,29950,1647],{},[1134,29952,29953],{},"0.01",[1146,29955,1148],{},[1134,29957,29958],{},"300",[1146,29960,7088],{"stretchy":2219},[1146,29962,7088],{"stretchy":2219},[1160,29964,29965],{"encoding":1162},"AMAT = 1 + 0.10 \\times (10 + 0.05 \\times (20 + 0.01 \\times 300))",[1062,29967,29969,29996,30014,30032,30053,30071,30092,30110],{"className":29968,"ariaHidden":1168},[1167],[1062,29970,29972,29975,29978,29981,29984,29987,29990,29993],{"className":29971},[1172],[1062,29973],{"className":29974,"style":1726},[1176],[1062,29976,2190],{"className":29977},[1181,1220],[1062,29979,1155],{"className":29980,"style":1221},[1181,1220],[1062,29982,2190],{"className":29983},[1181,1220],[1062,29985,4621],{"className":29986,"style":1734},[1181,1220],[1062,29988],{"className":29989,"style":1742},[1232],[1062,29991,1711],{"className":29992},[1746],[1062,29994],{"className":29995,"style":1742},[1232],[1062,29997,29999,30002,30005,30008,30011],{"className":29998},[1172],[1062,30000],{"className":30001,"style":1662},[1176],[1062,30003,1644],{"className":30004},[1181],[1062,30006],{"className":30007,"style":1233},[1232],[1062,30009,1647],{"className":30010},[1237],[1062,30012],{"className":30013,"style":1233},[1232],[1062,30015,30017,30020,30023,30026,30029],{"className":30016},[1172],[1062,30018],{"className":30019,"style":1662},[1176],[1062,30021,29930],{"className":30022},[1181],[1062,30024],{"className":30025,"style":1233},[1232],[1062,30027,1148],{"className":30028},[1237],[1062,30030],{"className":30031,"style":1233},[1232],[1062,30033,30035,30038,30041,30044,30047,30050],{"className":30034},[1172],[1062,30036],{"className":30037,"style":2277},[1176],[1062,30039,7078],{"className":30040},[2292],[1062,30042,29937],{"className":30043},[1181],[1062,30045],{"className":30046,"style":1233},[1232],[1062,30048,1647],{"className":30049},[1237],[1062,30051],{"className":30052,"style":1233},[1232],[1062,30054,30056,30059,30062,30065,30068],{"className":30055},[1172],[1062,30057],{"className":30058,"style":1662},[1176],[1062,30060,29942],{"className":30061},[1181],[1062,30063],{"className":30064,"style":1233},[1232],[1062,30066,1148],{"className":30067},[1237],[1062,30069],{"className":30070,"style":1233},[1232],[1062,30072,30074,30077,30080,30083,30086,30089],{"className":30073},[1172],[1062,30075],{"className":30076,"style":2277},[1176],[1062,30078,7078],{"className":30079},[2292],[1062,30081,5996],{"className":30082},[1181],[1062,30084],{"className":30085,"style":1233},[1232],[1062,30087,1647],{"className":30088},[1237],[1062,30090],{"className":30091,"style":1233},[1232],[1062,30093,30095,30098,30101,30104,30107],{"className":30094},[1172],[1062,30096],{"className":30097,"style":1662},[1176],[1062,30099,29953],{"className":30100},[1181],[1062,30102],{"className":30103,"style":1233},[1232],[1062,30105,1148],{"className":30106},[1237],[1062,30108],{"className":30109,"style":1233},[1232],[1062,30111,30113,30116,30119],{"className":30112},[1172],[1062,30114],{"className":30115,"style":2277},[1176],[1062,30117,29958],{"className":30118},[1181],[1062,30120,27522],{"className":30121},[2302],[986,30123,30124],{},"先算 L3 部分：",[1062,30126,30128],{"className":30127},[7840],[1062,30129,30131,30158],{"className":30130},[1115],[1062,30132,30134],{"className":30133},[1119],[1121,30135,30136],{"xmlns":1123,"display":3391},[1125,30137,30138,30155],{},[1128,30139,30140,30142,30144,30146,30148,30150,30152],{},[1134,30141,5996],{},[1146,30143,1647],{},[1134,30145,29953],{},[1146,30147,1148],{},[1134,30149,29958],{},[1146,30151,1711],{},[1134,30153,30154],{},"23",[1160,30156,30157],{"encoding":1162},"20 + 0.01 \\times 300 = 23",[1062,30159,30161,30179,30197,30215],{"className":30160,"ariaHidden":1168},[1167],[1062,30162,30164,30167,30170,30173,30176],{"className":30163},[1172],[1062,30165],{"className":30166,"style":1662},[1176],[1062,30168,5996],{"className":30169},[1181],[1062,30171],{"className":30172,"style":1233},[1232],[1062,30174,1647],{"className":30175},[1237],[1062,30177],{"className":30178,"style":1233},[1232],[1062,30180,30182,30185,30188,30191,30194],{"className":30181},[1172],[1062,30183],{"className":30184,"style":1662},[1176],[1062,30186,29953],{"className":30187},[1181],[1062,30189],{"className":30190,"style":1233},[1232],[1062,30192,1148],{"className":30193},[1237],[1062,30195],{"className":30196,"style":1233},[1232],[1062,30198,30200,30203,30206,30209,30212],{"className":30199},[1172],[1062,30201],{"className":30202,"style":1756},[1176],[1062,30204,29958],{"className":30205},[1181],[1062,30207],{"className":30208,"style":1742},[1232],[1062,30210,1711],{"className":30211},[1746],[1062,30213],{"className":30214,"style":1742},[1232],[1062,30216,30218,30221],{"className":30217},[1172],[1062,30219],{"className":30220,"style":1756},[1176],[1062,30222,30154],{"className":30223},[1181],[986,30225,30226],{},"再算 L2 部分：",[1062,30228,30230],{"className":30229},[7840],[1062,30231,30233,30260],{"className":30232},[1115],[1062,30234,30236],{"className":30235},[1119],[1121,30237,30238],{"xmlns":1123,"display":3391},[1125,30239,30240,30257],{},[1128,30241,30242,30244,30246,30248,30250,30252,30254],{},[1134,30243,29937],{},[1146,30245,1647],{},[1134,30247,29942],{},[1146,30249,1148],{},[1134,30251,30154],{},[1146,30253,1711],{},[1134,30255,30256],{},"11.15",[1160,30258,30259],{"encoding":1162},"10 + 0.05 \\times 23 = 11.15",[1062,30261,30263,30281,30299,30317],{"className":30262,"ariaHidden":1168},[1167],[1062,30264,30266,30269,30272,30275,30278],{"className":30265},[1172],[1062,30267],{"className":30268,"style":1662},[1176],[1062,30270,29937],{"className":30271},[1181],[1062,30273],{"className":30274,"style":1233},[1232],[1062,30276,1647],{"className":30277},[1237],[1062,30279],{"className":30280,"style":1233},[1232],[1062,30282,30284,30287,30290,30293,30296],{"className":30283},[1172],[1062,30285],{"className":30286,"style":1662},[1176],[1062,30288,29942],{"className":30289},[1181],[1062,30291],{"className":30292,"style":1233},[1232],[1062,30294,1148],{"className":30295},[1237],[1062,30297],{"className":30298,"style":1233},[1232],[1062,30300,30302,30305,30308,30311,30314],{"className":30301},[1172],[1062,30303],{"className":30304,"style":1756},[1176],[1062,30306,30154],{"className":30307},[1181],[1062,30309],{"className":30310,"style":1742},[1232],[1062,30312,1711],{"className":30313},[1746],[1062,30315],{"className":30316,"style":1742},[1232],[1062,30318,30320,30323],{"className":30319},[1172],[1062,30321],{"className":30322,"style":1756},[1176],[1062,30324,30256],{"className":30325},[1181],[986,30327,30328],{},"最后算 L1：",[1062,30330,30332],{"className":30331},[7840],[1062,30333,30335,30362],{"className":30334},[1115],[1062,30336,30338],{"className":30337},[1119],[1121,30339,30340],{"xmlns":1123,"display":3391},[1125,30341,30342,30359],{},[1128,30343,30344,30346,30348,30350,30352,30354,30356],{},[1134,30345,1644],{},[1146,30347,1647],{},[1134,30349,29930],{},[1146,30351,1148],{},[1134,30353,30256],{},[1146,30355,1711],{},[1134,30357,30358],{},"2.115",[1160,30360,30361],{"encoding":1162},"1 + 0.10 \\times 11.15 = 2.115",[1062,30363,30365,30383,30401,30419],{"className":30364,"ariaHidden":1168},[1167],[1062,30366,30368,30371,30374,30377,30380],{"className":30367},[1172],[1062,30369],{"className":30370,"style":1662},[1176],[1062,30372,1644],{"className":30373},[1181],[1062,30375],{"className":30376,"style":1233},[1232],[1062,30378,1647],{"className":30379},[1237],[1062,30381],{"className":30382,"style":1233},[1232],[1062,30384,30386,30389,30392,30395,30398],{"className":30385},[1172],[1062,30387],{"className":30388,"style":1662},[1176],[1062,30390,29930],{"className":30391},[1181],[1062,30393],{"className":30394,"style":1233},[1232],[1062,30396,1148],{"className":30397},[1237],[1062,30399],{"className":30400,"style":1233},[1232],[1062,30402,30404,30407,30410,30413,30416],{"className":30403},[1172],[1062,30405],{"className":30406,"style":1756},[1176],[1062,30408,30256],{"className":30409},[1181],[1062,30411],{"className":30412,"style":1742},[1232],[1062,30414,1711],{"className":30415},[1746],[1062,30417],{"className":30418,"style":1742},[1232],[1062,30420,30422,30425],{"className":30421},[1172],[1062,30423],{"className":30424,"style":1756},[1176],[1062,30426,30358],{"className":30427},[1181],[986,30429,6806],{},[1062,30431,30433],{"className":30432},[7840],[1062,30434,30436,30474],{"className":30435},[1115],[1062,30437,30439],{"className":30438},[1119],[1121,30440,30441],{"xmlns":1123,"display":3391},[1125,30442,30443,30471],{},[1128,30444,30445,30447,30449,30451,30453,30455,30457,30459,30461,30463,30465,30467,30469],{},[1138,30446,2190],{},[1138,30448,1155],{},[1138,30450,2190],{},[1138,30452,4621],{},[1146,30454,1711],{},[1134,30456,30358],{},[1142,30458,3900],{},[1138,30460,2373],{},[1138,30462,4713],{},[1138,30464,2373],{},[1138,30466,2472],{},[1138,30468,2201],{},[1138,30470,2204],{},[1160,30472,30473],{"encoding":1162},"AMAT = 2.115\\ cycles",[1062,30475,30477,30504],{"className":30476,"ariaHidden":1168},[1167],[1062,30478,30480,30483,30486,30489,30492,30495,30498,30501],{"className":30479},[1172],[1062,30481],{"className":30482,"style":1726},[1176],[1062,30484,2190],{"className":30485},[1181,1220],[1062,30487,1155],{"className":30488,"style":1221},[1181,1220],[1062,30490,2190],{"className":30491},[1181,1220],[1062,30493,4621],{"className":30494,"style":1734},[1181,1220],[1062,30496],{"className":30497,"style":1742},[1232],[1062,30499,1711],{"className":30500},[1746],[1062,30502],{"className":30503,"style":1742},[1232],[1062,30505,30507,30510,30513,30516,30520,30523,30526],{"className":30506},[1172],[1062,30508],{"className":30509,"style":4550},[1176],[1062,30511,30358],{"className":30512},[1181],[1062,30514,3900],{"className":30515},[1232],[1062,30517,30519],{"className":30518,"style":2288},[1181,1220],"cy",[1062,30521,2373],{"className":30522},[1181,1220],[1062,30524,2472],{"className":30525,"style":2530},[1181,1220],[1062,30527,3952],{"className":30528},[1181,1220],[986,30530,30531],{},"如果没有多级 cache，L1 miss 后直接去 memory：",[1062,30533,30535],{"className":30534},[7840],[1062,30536,30538,30588],{"className":30537},[1115],[1062,30539,30541],{"className":30540},[1119],[1121,30542,30543],{"xmlns":1123,"display":3391},[1125,30544,30545,30585],{},[1128,30546,30547,30549,30551,30553,30555,30557,30559,30561,30563,30565,30567,30569,30571,30573,30575,30577,30579,30581,30583],{},[1138,30548,2190],{},[1138,30550,1155],{},[1138,30552,2190],{},[1138,30554,4621],{},[1146,30556,1711],{},[1134,30558,1644],{},[1146,30560,1647],{},[1134,30562,29930],{},[1146,30564,1148],{},[1134,30566,29958],{},[1146,30568,1711],{},[1134,30570,11026],{},[1142,30572,3900],{},[1138,30574,2373],{},[1138,30576,4713],{},[1138,30578,2373],{},[1138,30580,2472],{},[1138,30582,2201],{},[1138,30584,2204],{},[1160,30586,30587],{"encoding":1162},"AMAT = 1 + 0.10 \\times 300 = 31\\ cycles",[1062,30589,30591,30618,30636,30654,30672],{"className":30590,"ariaHidden":1168},[1167],[1062,30592,30594,30597,30600,30603,30606,30609,30612,30615],{"className":30593},[1172],[1062,30595],{"className":30596,"style":1726},[1176],[1062,30598,2190],{"className":30599},[1181,1220],[1062,30601,1155],{"className":30602,"style":1221},[1181,1220],[1062,30604,2190],{"className":30605},[1181,1220],[1062,30607,4621],{"className":30608,"style":1734},[1181,1220],[1062,30610],{"className":30611,"style":1742},[1232],[1062,30613,1711],{"className":30614},[1746],[1062,30616],{"className":30617,"style":1742},[1232],[1062,30619,30621,30624,30627,30630,30633],{"className":30620},[1172],[1062,30622],{"className":30623,"style":1662},[1176],[1062,30625,1644],{"className":30626},[1181],[1062,30628],{"className":30629,"style":1233},[1232],[1062,30631,1647],{"className":30632},[1237],[1062,30634],{"className":30635,"style":1233},[1232],[1062,30637,30639,30642,30645,30648,30651],{"className":30638},[1172],[1062,30640],{"className":30641,"style":1662},[1176],[1062,30643,29930],{"className":30644},[1181],[1062,30646],{"className":30647,"style":1233},[1232],[1062,30649,1148],{"className":30650},[1237],[1062,30652],{"className":30653,"style":1233},[1232],[1062,30655,30657,30660,30663,30666,30669],{"className":30656},[1172],[1062,30658],{"className":30659,"style":1756},[1176],[1062,30661,29958],{"className":30662},[1181],[1062,30664],{"className":30665,"style":1742},[1232],[1062,30667,1711],{"className":30668},[1746],[1062,30670],{"className":30671,"style":1742},[1232],[1062,30673,30675,30678,30681,30684,30687,30690,30693],{"className":30674},[1172],[1062,30676],{"className":30677,"style":4550},[1176],[1062,30679,11026],{"className":30680},[1181],[1062,30682,3900],{"className":30683},[1232],[1062,30685,30519],{"className":30686,"style":2288},[1181,1220],[1062,30688,2373],{"className":30689},[1181,1220],[1062,30691,2472],{"className":30692,"style":2530},[1181,1220],[1062,30694,3952],{"className":30695},[1181,1220],[986,30697,30698],{},"加速比：",[1062,30700,30702],{"className":30701},[7840],[1062,30703,30705,30744],{"className":30704},[1115],[1062,30706,30708],{"className":30707},[1119],[1121,30709,30710],{"xmlns":1123,"display":3391},[1125,30711,30712,30741],{},[1128,30713,30714,30716,30718,30720,30722,30724,30726,30728,30730,30736,30738],{},[1138,30715,9259],{},[1138,30717,986],{},[1138,30719,2201],{},[1138,30721,2201],{},[1138,30723,2193],{},[1138,30725,3909],{},[1138,30727,986],{},[1146,30729,1711],{},[6824,30731,30732,30734],{},[1134,30733,11026],{},[1134,30735,30358],{},[1146,30737,15243],{},[1134,30739,30740],{},"14.7",[1160,30742,30743],{"encoding":1162},"Speedup = \\frac{31}{2.115} \\approx 14.7",[1062,30745,30747,30781,30858],{"className":30746,"ariaHidden":1168},[1167],[1062,30748,30750,30753,30756,30759,30763,30766,30769,30772,30775,30778],{"className":30749},[1172],[1062,30751],{"className":30752,"style":4550},[1176],[1062,30754,9259],{"className":30755,"style":9315},[1181,1220],[1062,30757,986],{"className":30758},[1181,1220],[1062,30760,30762],{"className":30761},[1181,1220],"ee",[1062,30764,2193],{"className":30765},[1181,1220],[1062,30767,3909],{"className":30768},[1181,1220],[1062,30770,986],{"className":30771},[1181,1220],[1062,30773],{"className":30774,"style":1742},[1232],[1062,30776,1711],{"className":30777},[1746],[1062,30779],{"className":30780,"style":1742},[1232],[1062,30782,30784,30787,30849,30852,30855],{"className":30783},[1172],[1062,30785],{"className":30786,"style":13661},[1176],[1062,30788,30790,30793,30846],{"className":30789},[1181],[1062,30791],{"className":30792},[2292,6874],[1062,30794,30796],{"className":30795},[6824],[1062,30797,30799,30838],{"className":30798},[1192,2965],[1062,30800,30802,30835],{"className":30801},[1196],[1062,30803,30805,30816,30824],{"className":30804,"style":13680},[1200],[1062,30806,30807,30810],{"style":10610},[1062,30808],{"className":30809,"style":6894},[1208],[1062,30811,30813],{"className":30812},[1181],[1062,30814,30358],{"className":30815},[1181],[1062,30817,30818,30821],{"style":6913},[1062,30819],{"className":30820,"style":6894},[1208],[1062,30822],{"className":30823,"style":6921},[6920],[1062,30825,30826,30829],{"style":10658},[1062,30827],{"className":30828,"style":6894},[1208],[1062,30830,30832],{"className":30831},[1181],[1062,30833,11026],{"className":30834},[1181],[1062,30836,2995],{"className":30837},[2994],[1062,30839,30841],{"className":30840},[1196],[1062,30842,30844],{"className":30843,"style":10706},[1200],[1062,30845],{},[1062,30847],{"className":30848},[2302,6874],[1062,30850],{"className":30851,"style":1742},[1232],[1062,30853,15243],{"className":30854},[1746],[1062,30856],{"className":30857,"style":1742},[1232],[1062,30859,30861,30864],{"className":30860},[1172],[1062,30862],{"className":30863,"style":1756},[1176],[1062,30865,30740],{"className":30866},[1181],[986,30868,30869,30870],{},"这一页的重点是：\n",[982,30871,30872],{},"多级 cache 对 AMAT 的改善非常大，因为它显著降低了 L1 miss 后的平均代价。",[7727,30874],{},[978,30876,30878],{"id":30877},"page-125多级-cache-的设计考虑","Page 125｜多级 Cache 的设计考虑",[986,30880,30881],{},[992,30882],{"alt":992,"src":30883},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-104.png",[986,30885,30886],{},"这一页讲 L1、L2、L3 的设计目标不同。",[996,30888,30890],{"id":30889},"l1-cache追求-hit-time","L1 Cache：追求 Hit Time",[986,30892,30893],{},"L1 cache 离 CPU 最近，每次取指、load\u002Fstore 都可能访问它。",[986,30895,30896],{},"所以 L1 的第一目标是：",[1062,30898,30900],{"className":30899},[7840],[1062,30901,30903,30949],{"className":30902},[1115],[1062,30904,30906],{"className":30905},[1119],[1121,30907,30908],{"xmlns":1123,"display":3391},[1125,30909,30910,30946],{},[1128,30911,30912,30914,30916,30918,30920,30922,30924,30926,30928,30930,30932,30934,30936,30938,30940,30942,30944],{},[1138,30913,1155],{},[1138,30915,2356],{},[1138,30917,3546],{},[1138,30919,2356],{},[1138,30921,1610],{},[1138,30923,2356],{},[1138,30925,5557],{},[1138,30927,2201],{},[1142,30929,3900],{},[1138,30931,2353],{},[1138,30933,2356],{},[1138,30935,2359],{},[1142,30937,3900],{},[1138,30939,4621],{},[1138,30941,2356],{},[1138,30943,1610],{},[1138,30945,2201],{},[1160,30947,30948],{"encoding":1162},"Minimize\\ Hit\\ Time",[1062,30950,30952],{"className":30951,"ariaHidden":1168},[1167],[1062,30953,30955,30958,30961,30965,30968,30971,30974,30977,30980,30983,30986,30989,30992],{"className":30954},[1172],[1062,30956],{"className":30957,"style":1726},[1176],[1062,30959,1155],{"className":30960,"style":1221},[1181,1220],[1062,30962,30964],{"className":30963},[1181,1220],"inimi",[1062,30966,5557],{"className":30967,"style":5607},[1181,1220],[1062,30969,2201],{"className":30970},[1181,1220],[1062,30972,3900],{"className":30973},[1232],[1062,30975,2353],{"className":30976,"style":2397},[1181,1220],[1062,30978,2356],{"className":30979},[1181,1220],[1062,30981,2359],{"className":30982},[1181,1220],[1062,30984,3900],{"className":30985},[1232],[1062,30987,4621],{"className":30988,"style":1734},[1181,1220],[1062,30990,14477],{"className":30991},[1181,1220],[1062,30993,2201],{"className":30994},[1181,1220],[986,30996,30997],{},"因此 L1 通常设计得：",[1344,30999,31000,31003,31006,31009,31012],{},[1347,31001,31002],{},"小；",[1347,31004,31005],{},"快；",[1347,31007,31008],{},"associativity 不会过高；",[1347,31010,31011],{},"block size 不会过大；",[1347,31013,31014],{},"pipeline 关键路径尽量短。",[986,31016,31017],{},"即使 L1 miss rate 稍微高一点也可以接受，因为后面有 L2 兜底。",[7727,31019],{},[996,31021,31023],{"id":31022},"l2-l3-cache追求-miss-rate","L2 \u002F L3 Cache：追求 Miss Rate",[986,31025,31026],{},"L2 和 L3 不在 CPU 最关键 hit path 上，所以它们可以牺牲一些 hit time 来换更低 miss rate。",[986,31028,31029],{},"因此 L2\u002FL3 通常设计得：",[1344,31031,31032,31035,31038,31041,31044],{},[1347,31033,31034],{},"更大；",[1347,31036,31037],{},"associativity 更高；",[1347,31039,31040],{},"block size 可能更大；",[1347,31042,31043],{},"hit time 比 L1 长；",[1347,31045,31046],{},"但能显著减少访问 DRAM 的次数。",[986,31048,31049],{},"L2 hit time 会成为 L1 miss penalty 的一部分：",[1062,31051,31053],{"className":31052},[7840],[1062,31054,31056,31179],{"className":31055},[1115],[1062,31057,31059],{"className":31058},[1119],[1121,31060,31061],{"xmlns":1123,"display":3391},[1125,31062,31063,31177],{},[1128,31064,31065,31067,31069,31071,31073,31075,31077,31079,31081,31083,31085,31087,31089,31091,31093,31095,31097,31099,31101,31103,31105,31107,31109,31111,31113,31115,31117,31119,31121,31123,31125,31127,31129,31131,31133,31135,31137,31139,31141,31143,31145,31147,31149,31151,31153,31155,31157,31159,31161,31163,31165,31167,31169,31171,31173,31175],{},[1138,31066,3894],{},[1134,31068,1644],{},[1142,31070,3900],{},[1138,31072,1155],{},[1138,31074,2356],{},[1138,31076,2204],{},[1138,31078,2204],{},[1142,31080,3900],{},[1138,31082,1705],{},[1138,31084,2201],{},[1138,31086,3546],{},[1138,31088,2370],{},[1138,31090,2472],{},[1138,31092,2359],{},[1138,31094,4713],{},[1146,31096,1711],{},[1138,31098,3894],{},[1134,31100,1136],{},[1142,31102,3900],{},[1138,31104,2353],{},[1138,31106,2356],{},[1138,31108,2359],{},[1142,31110,3900],{},[1138,31112,4621],{},[1138,31114,2356],{},[1138,31116,1610],{},[1138,31118,2201],{},[1146,31120,1647],{},[1138,31122,3894],{},[1134,31124,1136],{},[1142,31126,3900],{},[1138,31128,1155],{},[1138,31130,2356],{},[1138,31132,2204],{},[1138,31134,2204],{},[1142,31136,3900],{},[1138,31138,2211],{},[1138,31140,2370],{},[1138,31142,2359],{},[1138,31144,2201],{},[1146,31146,1148],{},[1138,31148,3894],{},[1134,31150,1136],{},[1142,31152,3900],{},[1138,31154,1155],{},[1138,31156,2356],{},[1138,31158,2204],{},[1138,31160,2204],{},[1142,31162,3900],{},[1138,31164,1705],{},[1138,31166,2201],{},[1138,31168,3546],{},[1138,31170,2370],{},[1138,31172,2472],{},[1138,31174,2359],{},[1138,31176,4713],{},[1160,31178,26332],{"encoding":1162},[1062,31180,31182,31236,31281,31329],{"className":31181,"ariaHidden":1168},[1167],[1062,31183,31185,31188,31191,31194,31197,31200,31203,31206,31209,31212,31215,31218,31221,31224,31227,31230,31233],{"className":31184},[1172],[1062,31186],{"className":31187,"style":4550},[1176],[1062,31189,3894],{"className":31190},[1181,1220],[1062,31192,1644],{"className":31193},[1181],[1062,31195,3900],{"className":31196},[1232],[1062,31198,1155],{"className":31199,"style":1221},[1181,1220],[1062,31201,2356],{"className":31202},[1181,1220],[1062,31204,2505],{"className":31205},[1181,1220],[1062,31207,3900],{"className":31208},[1232],[1062,31210,1705],{"className":31211,"style":1734},[1181,1220],[1062,31213,2201],{"className":31214},[1181,1220],[1062,31216,14580],{"className":31217},[1181,1220],[1062,31219,2472],{"className":31220,"style":2530},[1181,1220],[1062,31222,2359],{"className":31223},[1181,1220],[1062,31225,4713],{"className":31226,"style":2288},[1181,1220],[1062,31228],{"className":31229,"style":1742},[1232],[1062,31231,1711],{"className":31232},[1746],[1062,31234],{"className":31235,"style":1742},[1232],[1062,31237,31239,31242,31245,31248,31251,31254,31257,31260,31263,31266,31269,31272,31275,31278],{"className":31238},[1172],[1062,31240],{"className":31241,"style":3748},[1176],[1062,31243,3894],{"className":31244},[1181,1220],[1062,31246,1136],{"className":31247},[1181],[1062,31249,3900],{"className":31250},[1232],[1062,31252,2353],{"className":31253,"style":2397},[1181,1220],[1062,31255,2356],{"className":31256},[1181,1220],[1062,31258,2359],{"className":31259},[1181,1220],[1062,31261,3900],{"className":31262},[1232],[1062,31264,4621],{"className":31265,"style":1734},[1181,1220],[1062,31267,14477],{"className":31268},[1181,1220],[1062,31270,2201],{"className":31271},[1181,1220],[1062,31273],{"className":31274,"style":1233},[1232],[1062,31276,1647],{"className":31277},[1237],[1062,31279],{"className":31280,"style":1233},[1232],[1062,31282,31284,31287,31290,31293,31296,31299,31302,31305,31308,31311,31314,31317,31320,31323,31326],{"className":31283},[1172],[1062,31285],{"className":31286,"style":3748},[1176],[1062,31288,3894],{"className":31289},[1181,1220],[1062,31291,1136],{"className":31292},[1181],[1062,31294,3900],{"className":31295},[1232],[1062,31297,1155],{"className":31298,"style":1221},[1181,1220],[1062,31300,2356],{"className":31301},[1181,1220],[1062,31303,2505],{"className":31304},[1181,1220],[1062,31306,3900],{"className":31307},[1232],[1062,31309,2211],{"className":31310,"style":2281},[1181,1220],[1062,31312,2370],{"className":31313},[1181,1220],[1062,31315,2359],{"className":31316},[1181,1220],[1062,31318,2201],{"className":31319},[1181,1220],[1062,31321],{"className":31322,"style":1233},[1232],[1062,31324,1148],{"className":31325},[1237],[1062,31327],{"className":31328,"style":1233},[1232],[1062,31330,31332,31335,31338,31341,31344,31347,31350,31353,31356,31359,31362,31365,31368,31371],{"className":31331},[1172],[1062,31333],{"className":31334,"style":4550},[1176],[1062,31336,3894],{"className":31337},[1181,1220],[1062,31339,1136],{"className":31340},[1181],[1062,31342,3900],{"className":31343},[1232],[1062,31345,1155],{"className":31346,"style":1221},[1181,1220],[1062,31348,2356],{"className":31349},[1181,1220],[1062,31351,2505],{"className":31352},[1181,1220],[1062,31354,3900],{"className":31355},[1232],[1062,31357,1705],{"className":31358,"style":1734},[1181,1220],[1062,31360,2201],{"className":31361},[1181,1220],[1062,31363,14580],{"className":31364},[1181,1220],[1062,31366,2472],{"className":31367,"style":2530},[1181,1220],[1062,31369,2359],{"className":31370},[1181,1220],[1062,31372,4713],{"className":31373,"style":2288},[1181,1220],[986,31375,31376],{},"所以 L2 也不能太慢，但它不像 L1 那样极端追求 hit time。",[7727,31378],{},[996,31380,31381],{"id":31381},"本页核心",[986,31383,31384],{},"L1 和 L2 的设计不是同一个目标。",[1896,31386,31389],{"className":31387,"code":31388,"language":1225},[1899],"L1：快最重要\nL2\u002FL3：减少主存访问最重要\n",[1902,31390,31388],{"__ignoreMap":1904},[986,31392,31393],{},"所以不能简单说“cache 越大越好”。",[986,31395,31396],{},"对 L1 来说，太大可能拖慢 hit time；对 L2\u002FL3 来说，更大更高 associativity 往往更有价值。",[7727,31398],{},[978,31400,31402],{"id":31401},"page-126典型多级-cache-结构","Page 126｜典型多级 Cache 结构",[986,31404,31405],{},[992,31406],{"alt":992,"src":31407},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-105.png",[986,31409,31410],{},"这一页给出一个典型层次：",[1896,31412,31415],{"className":31413,"code":31414,"language":1225},[1899],"L1 Cache: 32KB I$, 32KB D$\nL2 Cache: 256KB\nL3 Cache: 4MB\n",[1902,31416,31414],{"__ignoreMap":1904},[986,31418,31419],{},"这里的重点不是死记容量，而是看出不同层级的设计趋势。",[996,31421,31423],{"id":31422},"l1-分成-i-和-d","L1 分成 I$  和 D$",[986,31425,31426],{},"L1 通常分为：",[1344,31428,31429,31432],{},[1347,31430,31431],{},"Instruction Cache，简称 I$；",[1347,31433,31434],{},"Data Cache，简称 D$。",[986,31436,31437],{},"这样做可以减少取指和访存之间的结构冲突。",[986,31439,31440],{},"在流水线里，IF 阶段要访问 instruction memory，MEM 阶段可能访问 data memory。",[986,31442,31443],{},"如果只有一个统一 L1 cache，就可能出现 structural hazard。",[986,31445,31446,31447,31481],{},"所以 L1 分离 I",[1062,31448,31450,31466],{"className":31449},[1115],[1062,31451,31453],{"className":31452},[1119],[1121,31454,31455],{"xmlns":1123},[1125,31456,31457,31463],{},[1128,31458,31459,31461],{},[1142,31460,1547],{},[1138,31462,3079],{},[1160,31464,31465],{"encoding":1162},"和 D",[1062,31467,31469],{"className":31468,"ariaHidden":1168},[1167],[1062,31470,31472,31475,31478],{"className":31471},[1172],[1062,31473],{"className":31474,"style":1726},[1176],[1062,31476,1547],{"className":31477},[1181,2422],[1062,31479,3079],{"className":31480,"style":2257},[1181,1220]," 的好处是：",[1896,31483,31486],{"className":31484,"code":31485,"language":1225},[1899],"取指和数据访问可以并行\n",[1902,31487,31485],{"__ignoreMap":1904},[7727,31489],{},[996,31491,31493],{"id":31492},"l2-l3-通常统一","L2 \u002F L3 通常统一",[986,31495,31496],{},"L2、L3 更大，通常不再严格区分 instruction 和 data。",[986,31498,31499],{},"它们主要负责给 L1 miss 兜底。",[986,31501,31502],{},"这一页还出现 “Cache Buster”，可以理解为一种会破坏 cache locality 的访问模式。",[986,31504,9086],{},[1344,31506,31507,31510,31513,31516],{},[1347,31508,31509],{},"工作集远大于 cache；",[1347,31511,31512],{},"stride 访问刚好不断冲突；",[1347,31514,31515],{},"随机访问；",[1347,31517,31518],{},"访问数据几乎没有 temporal locality。",[986,31520,31521],{},"这类程序会让 cache 难以发挥作用。",[7727,31523],{},[978,31525,31527],{"id":31526},"page-128cpi-miss-rate-dram-access-的关系","Page 128｜CPI \u002F Miss Rate \u002F DRAM Access 的关系",[986,31529,31530],{},"这一页用 SPECInt2006 的数据展示 cache miss 对性能的影响。",[986,31532,31533],{},"图里有几个指标：",[1344,31535,31536,31539,31542,31545,31548],{},[1347,31537,31538],{},"CPI；",[1347,31540,31541],{},"miss rate；",[1347,31543,31544],{},"DRAM accesses；",[1347,31546,31547],{},"instructions and data；",[1347,31549,31550],{},"data only。",[986,31552,31553],{},"这一页的重点不是记具体数值，而是理解趋势：",[1896,31555,31558],{"className":31556,"code":31557,"language":1225},[1899],"Miss rate 越高，DRAM accesses 越多，CPI 越容易升高。\n",[1902,31559,31557],{"__ignoreMap":1904},[986,31561,31562],{},"因为 DRAM access 会引入长延迟，导致 pipeline stall。",[986,31564,31565],{},"如果一个程序 cache locality 很差，就会产生更多 L1\u002FL2\u002FL3 miss，最终访问 DRAM。",[986,31567,31568],{},"DRAM 访问次数多了之后，CPU 即使计算单元很强，也会因为等待数据而变慢。",[986,31570,31571],{},"所以性能不只取决于 ALU 或主频，也强烈取决于 memory behavior。",[986,31573,31574],{},"可以用下面这种思路理解：",[1062,31576,31578],{"className":31577},[7840],[1062,31579,31581,31675],{"className":31580},[1115],[1062,31582,31584],{"className":31583},[1119],[1121,31585,31586],{"xmlns":1123,"display":3391},[1125,31587,31588,31672],{},[1128,31589,31590,31592,31594,31596,31598,31600,31602,31604,31606,31608,31610,31612,31614,31616,31618,31620,31622,31624,31626,31628,31630,31632,31634,31636,31638,31640,31642,31644,31646,31648,31650,31652,31654,31656,31658,31660,31662,31664,31666,31668,31670],{},[1138,31591,1702],{},[1138,31593,1705],{},[1138,31595,3897],{},[1142,31597,3900],{},[1138,31599,4621],{},[1138,31601,2356],{},[1138,31603,1610],{},[1138,31605,2201],{},[1146,31607,1711],{},[1138,31609,1708],{},[1138,31611,3546],{},[1138,31613,2204],{},[1138,31615,2359],{},[1138,31617,2198],{},[1138,31619,3909],{},[1138,31621,2373],{},[1138,31623,2359],{},[1138,31625,2356],{},[1138,31627,2475],{},[1138,31629,3546],{},[1142,31631,3900],{},[1138,31633,1702],{},[1138,31635,2475],{},[1138,31637,3909],{},[1138,31639,3546],{},[1138,31641,2359],{},[1146,31643,1148],{},[1138,31645,1702],{},[1138,31647,1705],{},[1138,31649,1708],{},[1146,31651,1148],{},[1138,31653,1702],{},[1138,31655,4713],{},[1138,31657,2373],{},[1138,31659,2472],{},[1138,31661,2201],{},[1142,31663,3900],{},[1138,31665,4621],{},[1138,31667,2356],{},[1138,31669,1610],{},[1138,31671,2201],{},[1160,31673,31674],{"encoding":1162},"CPU\\ Time = Instruction\\ Count \\times CPI \\times Cycle\\ Time",[1062,31676,31678,31714,31780,31804],{"className":31677,"ariaHidden":1168},[1167],[1062,31679,31681,31684,31687,31690,31693,31696,31699,31702,31705,31708,31711],{"className":31680},[1172],[1062,31682],{"className":31683,"style":1726},[1176],[1062,31685,1702],{"className":31686,"style":1730},[1181,1220],[1062,31688,1705],{"className":31689,"style":1734},[1181,1220],[1062,31691,3897],{"className":31692,"style":1221},[1181,1220],[1062,31694,3900],{"className":31695},[1232],[1062,31697,4621],{"className":31698,"style":1734},[1181,1220],[1062,31700,14477],{"className":31701},[1181,1220],[1062,31703,2201],{"className":31704},[1181,1220],[1062,31706],{"className":31707,"style":1742},[1232],[1062,31709,1711],{"className":31710},[1746],[1062,31712],{"className":31713,"style":1742},[1232],[1062,31715,31717,31720,31723,31726,31729,31732,31735,31738,31741,31744,31747,31750,31753,31756,31759,31762,31765,31768,31771,31774,31777],{"className":31716},[1172],[1062,31718],{"className":31719,"style":3748},[1176],[1062,31721,1708],{"className":31722,"style":1738},[1181,1220],[1062,31724,3546],{"className":31725},[1181,1220],[1062,31727,2204],{"className":31728},[1181,1220],[1062,31730,2359],{"className":31731},[1181,1220],[1062,31733,2198],{"className":31734,"style":2257},[1181,1220],[1062,31736,3909],{"className":31737},[1181,1220],[1062,31739,2373],{"className":31740},[1181,1220],[1062,31742,2359],{"className":31743},[1181,1220],[1062,31745,2356],{"className":31746},[1181,1220],[1062,31748,2475],{"className":31749},[1181,1220],[1062,31751,3546],{"className":31752},[1181,1220],[1062,31754,3900],{"className":31755},[1232],[1062,31757,1702],{"className":31758,"style":1730},[1181,1220],[1062,31760,2475],{"className":31761},[1181,1220],[1062,31763,3909],{"className":31764},[1181,1220],[1062,31766,3546],{"className":31767},[1181,1220],[1062,31769,2359],{"className":31770},[1181,1220],[1062,31772],{"className":31773,"style":1233},[1232],[1062,31775,1148],{"className":31776},[1237],[1062,31778],{"className":31779,"style":1233},[1232],[1062,31781,31783,31786,31789,31792,31795,31798,31801],{"className":31782},[1172],[1062,31784],{"className":31785,"style":3748},[1176],[1062,31787,1702],{"className":31788,"style":1730},[1181,1220],[1062,31790,1705],{"className":31791,"style":1734},[1181,1220],[1062,31793,1708],{"className":31794,"style":1738},[1181,1220],[1062,31796],{"className":31797,"style":1233},[1232],[1062,31799,1148],{"className":31800},[1237],[1062,31802],{"className":31803,"style":1233},[1232],[1062,31805,31807,31810,31813,31816,31819,31822,31825,31828,31831,31834],{"className":31806},[1172],[1062,31808],{"className":31809,"style":4550},[1176],[1062,31811,1702],{"className":31812,"style":1730},[1181,1220],[1062,31814,4713],{"className":31815,"style":2288},[1181,1220],[1062,31817,2373],{"className":31818},[1181,1220],[1062,31820,2472],{"className":31821,"style":2530},[1181,1220],[1062,31823,2201],{"className":31824},[1181,1220],[1062,31826,3900],{"className":31827},[1232],[1062,31829,4621],{"className":31830,"style":1734},[1181,1220],[1062,31832,14477],{"className":31833},[1181,1220],[1062,31835,2201],{"className":31836},[1181,1220],[986,31838,31839],{},"cache miss 会增加 CPI：",[1062,31841,31843],{"className":31842},[7840],[1062,31844,31846,31954],{"className":31845},[1115],[1062,31847,31849],{"className":31848},[1119],[1121,31850,31851],{"xmlns":1123,"display":3391},[1125,31852,31853,31951],{},[1128,31854,31855,31857,31859,31861,31863,31865,31867,31869,31871,31873,31875,31877,31879,31881,31883,31885,31887,31889,31891,31893,31895,31897,31899,31901,31903,31905,31907,31909,31911,31913,31915,31917,31919,31921,31923,31925,31927,31929,31931,31933,31935,31937,31939,31941,31943,31945,31947,31949],{},[1138,31856,1702],{},[1138,31858,1705],{},[1138,31860,1708],{},[1146,31862,1711],{},[1138,31864,5567],{},[1138,31866,2370],{},[1138,31868,2204],{},[1138,31870,2201],{},[1142,31872,3900],{},[1138,31874,1702],{},[1138,31876,1705],{},[1138,31878,1708],{},[1146,31880,1647],{},[1138,31882,1155],{},[1138,31884,2201],{},[1138,31886,1610],{},[1138,31888,2475],{},[1138,31890,2198],{},[1138,31892,4713],{},[1142,31894,3900],{},[1138,31896,9259],{},[1138,31898,2359],{},[1138,31900,2370],{},[1138,31902,2472],{},[1138,31904,2472],{},[1142,31906,3900],{},[1138,31908,1702],{},[1138,31910,4713],{},[1138,31912,2373],{},[1138,31914,2472],{},[1138,31916,2201],{},[1138,31918,2204],{},[1142,31920,3900],{},[1138,31922,1705],{},[1138,31924,2201],{},[1138,31926,2198],{},[1142,31928,3900],{},[1138,31930,1708],{},[1138,31932,3546],{},[1138,31934,2204],{},[1138,31936,2359],{},[1138,31938,2198],{},[1138,31940,3909],{},[1138,31942,2373],{},[1138,31944,2359],{},[1138,31946,2356],{},[1138,31948,2475],{},[1138,31950,3546],{},[1160,31952,31953],{"encoding":1162},"CPI = Base\\ CPI + Memory\\ Stall\\ Cycles\\ Per\\ Instruction",[1062,31955,31957,31981,32017],{"className":31956,"ariaHidden":1168},[1167],[1062,31958,31960,31963,31966,31969,31972,31975,31978],{"className":31959},[1172],[1062,31961],{"className":31962,"style":1726},[1176],[1062,31964,1702],{"className":31965,"style":1730},[1181,1220],[1062,31967,1705],{"className":31968,"style":1734},[1181,1220],[1062,31970,1708],{"className":31971,"style":1738},[1181,1220],[1062,31973],{"className":31974,"style":1742},[1232],[1062,31976,1711],{"className":31977},[1746],[1062,31979],{"className":31980,"style":1742},[1232],[1062,31982,31984,31987,31990,31993,31996,31999,32002,32005,32008,32011,32014],{"className":31983},[1172],[1062,31985],{"className":31986,"style":3748},[1176],[1062,31988,5567],{"className":31989,"style":5632},[1181,1220],[1062,31991,2370],{"className":31992},[1181,1220],[1062,31994,5512],{"className":31995},[1181,1220],[1062,31997,3900],{"className":31998},[1232],[1062,32000,1702],{"className":32001,"style":1730},[1181,1220],[1062,32003,1705],{"className":32004,"style":1734},[1181,1220],[1062,32006,1708],{"className":32007,"style":1738},[1181,1220],[1062,32009],{"className":32010,"style":1233},[1232],[1062,32012,1647],{"className":32013},[1237],[1062,32015],{"className":32016,"style":1233},[1232],[1062,32018,32020,32023,32026,32029,32032,32035,32038,32041,32044,32047,32050,32053,32056,32059,32062,32065,32068,32071,32074,32077,32080,32083,32086,32089,32092,32095,32098,32101,32104,32107,32110,32113,32116],{"className":32019},[1172],[1062,32021],{"className":32022,"style":4550},[1176],[1062,32024,1155],{"className":32025,"style":1221},[1181,1220],[1062,32027,2201],{"className":32028},[1181,1220],[1062,32030,1610],{"className":32031},[1181,1220],[1062,32033,4811],{"className":32034,"style":2257},[1181,1220],[1062,32036,4713],{"className":32037,"style":2288},[1181,1220],[1062,32039,3900],{"className":32040},[1232],[1062,32042,9259],{"className":32043,"style":9315},[1181,1220],[1062,32045,2359],{"className":32046},[1181,1220],[1062,32048,2370],{"className":32049},[1181,1220],[1062,32051,2472],{"className":32052,"style":2530},[1181,1220],[1062,32054,2472],{"className":32055,"style":2530},[1181,1220],[1062,32057,3900],{"className":32058},[1232],[1062,32060,1702],{"className":32061,"style":1730},[1181,1220],[1062,32063,4713],{"className":32064,"style":2288},[1181,1220],[1062,32066,2373],{"className":32067},[1181,1220],[1062,32069,2472],{"className":32070,"style":2530},[1181,1220],[1062,32072,3952],{"className":32073},[1181,1220],[1062,32075,3900],{"className":32076},[1232],[1062,32078,1705],{"className":32079,"style":1734},[1181,1220],[1062,32081,15320],{"className":32082,"style":2257},[1181,1220],[1062,32084,3900],{"className":32085},[1232],[1062,32087,1708],{"className":32088,"style":1738},[1181,1220],[1062,32090,3546],{"className":32091},[1181,1220],[1062,32093,2204],{"className":32094},[1181,1220],[1062,32096,2359],{"className":32097},[1181,1220],[1062,32099,2198],{"className":32100,"style":2257},[1181,1220],[1062,32102,3909],{"className":32103},[1181,1220],[1062,32105,2373],{"className":32106},[1181,1220],[1062,32108,2359],{"className":32109},[1181,1220],[1062,32111,2356],{"className":32112},[1181,1220],[1062,32114,2475],{"className":32115},[1181,1220],[1062,32117,3546],{"className":32118},[1181,1220],[986,32120,32121],{},"而 memory stall 又和 miss rate、miss penalty 有关：",[1062,32123,32125],{"className":32124},[7840],[1062,32126,32128,32274],{"className":32127},[1115],[1062,32129,32131],{"className":32130},[1119],[1121,32132,32133],{"xmlns":1123,"display":3391},[1125,32134,32135,32271],{},[1128,32136,32137,32139,32141,32143,32145,32147,32149,32151,32153,32155,32157,32159,32161,32163,32165,32167,32169,32171,32173,32175,32177,32179,32181,32183,32185,32187,32189,32191,32193,32195,32197,32199,32201,32203,32205,32207,32209,32211,32213,32215,32217,32219,32221,32223,32225,32227,32229,32231,32233,32235,32237,32239,32241,32243,32245,32247,32249,32251,32253,32255,32257,32259,32261,32263,32265,32267,32269],{},[1138,32138,1155],{},[1138,32140,2201],{},[1138,32142,1610],{},[1138,32144,2475],{},[1138,32146,2198],{},[1138,32148,4713],{},[1142,32150,3900],{},[1138,32152,9259],{},[1138,32154,2359],{},[1138,32156,2370],{},[1138,32158,2472],{},[1138,32160,2472],{},[1146,32162,15243],{},[1138,32164,1155],{},[1138,32166,2201],{},[1138,32168,1610],{},[1138,32170,2475],{},[1138,32172,2198],{},[1138,32174,4713],{},[1142,32176,3900],{},[1138,32178,2190],{},[1138,32180,2373],{},[1138,32182,2373],{},[1138,32184,2201],{},[1138,32186,2204],{},[1138,32188,2204],{},[1138,32190,2201],{},[1138,32192,2204],{},[1142,32194,3900],{},[1138,32196,1705],{},[1138,32198,2201],{},[1138,32200,2198],{},[1142,32202,3900],{},[1138,32204,1708],{},[1138,32206,3546],{},[1138,32208,2204],{},[1138,32210,2359],{},[1138,32212,2198],{},[1138,32214,3909],{},[1138,32216,2373],{},[1138,32218,2359],{},[1138,32220,2356],{},[1138,32222,2475],{},[1138,32224,3546],{},[1146,32226,1148],{},[1138,32228,1155],{},[1138,32230,2356],{},[1138,32232,2204],{},[1138,32234,2204],{},[1142,32236,3900],{},[1138,32238,2211],{},[1138,32240,2370],{},[1138,32242,2359],{},[1138,32244,2201],{},[1146,32246,1148],{},[1138,32248,1155],{},[1138,32250,2356],{},[1138,32252,2204],{},[1138,32254,2204],{},[1142,32256,3900],{},[1138,32258,1705],{},[1138,32260,2201],{},[1138,32262,3546],{},[1138,32264,2370],{},[1138,32266,2472],{},[1138,32268,2359],{},[1138,32270,4713],{},[1160,32272,32273],{"encoding":1162},"Memory\\ Stall \\approx Memory\\ Accesses\\ Per\\ Instruction \\times Miss\\ Rate \\times Miss\\ Penalty",[1062,32275,32277,32325,32409,32448],{"className":32276,"ariaHidden":1168},[1167],[1062,32278,32280,32283,32286,32289,32292,32295,32298,32301,32304,32307,32310,32313,32316,32319,32322],{"className":32279},[1172],[1062,32281],{"className":32282,"style":4550},[1176],[1062,32284,1155],{"className":32285,"style":1221},[1181,1220],[1062,32287,2201],{"className":32288},[1181,1220],[1062,32290,1610],{"className":32291},[1181,1220],[1062,32293,4811],{"className":32294,"style":2257},[1181,1220],[1062,32296,4713],{"className":32297,"style":2288},[1181,1220],[1062,32299,3900],{"className":32300},[1232],[1062,32302,9259],{"className":32303,"style":9315},[1181,1220],[1062,32305,2359],{"className":32306},[1181,1220],[1062,32308,2370],{"className":32309},[1181,1220],[1062,32311,2472],{"className":32312,"style":2530},[1181,1220],[1062,32314,2472],{"className":32315,"style":2530},[1181,1220],[1062,32317],{"className":32318,"style":1742},[1232],[1062,32320,15243],{"className":32321},[1746],[1062,32323],{"className":32324,"style":1742},[1232],[1062,32326,32328,32331,32334,32337,32340,32343,32346,32349,32352,32355,32358,32361,32364,32367,32370,32373,32376,32379,32382,32385,32388,32391,32394,32397,32400,32403,32406],{"className":32327},[1172],[1062,32329],{"className":32330,"style":5474},[1176],[1062,32332,1155],{"className":32333,"style":1221},[1181,1220],[1062,32335,2201],{"className":32336},[1181,1220],[1062,32338,1610],{"className":32339},[1181,1220],[1062,32341,4811],{"className":32342,"style":2257},[1181,1220],[1062,32344,4713],{"className":32345,"style":2288},[1181,1220],[1062,32347,3900],{"className":32348},[1232],[1062,32350,2190],{"className":32351},[1181,1220],[1062,32353,15043],{"className":32354},[1181,1220],[1062,32356,3900],{"className":32357},[1232],[1062,32359,1705],{"className":32360,"style":1734},[1181,1220],[1062,32362,15320],{"className":32363,"style":2257},[1181,1220],[1062,32365,3900],{"className":32366},[1232],[1062,32368,1708],{"className":32369,"style":1738},[1181,1220],[1062,32371,3546],{"className":32372},[1181,1220],[1062,32374,2204],{"className":32375},[1181,1220],[1062,32377,2359],{"className":32378},[1181,1220],[1062,32380,2198],{"className":32381,"style":2257},[1181,1220],[1062,32383,3909],{"className":32384},[1181,1220],[1062,32386,2373],{"className":32387},[1181,1220],[1062,32389,2359],{"className":32390},[1181,1220],[1062,32392,2356],{"className":32393},[1181,1220],[1062,32395,2475],{"className":32396},[1181,1220],[1062,32398,3546],{"className":32399},[1181,1220],[1062,32401],{"className":32402,"style":1233},[1232],[1062,32404,1148],{"className":32405},[1237],[1062,32407],{"className":32408,"style":1233},[1232],[1062,32410,32412,32415,32418,32421,32424,32427,32430,32433,32436,32439,32442,32445],{"className":32411},[1172],[1062,32413],{"className":32414,"style":3748},[1176],[1062,32416,1155],{"className":32417,"style":1221},[1181,1220],[1062,32419,2356],{"className":32420},[1181,1220],[1062,32422,2505],{"className":32423},[1181,1220],[1062,32425,3900],{"className":32426},[1232],[1062,32428,2211],{"className":32429,"style":2281},[1181,1220],[1062,32431,2370],{"className":32432},[1181,1220],[1062,32434,2359],{"className":32435},[1181,1220],[1062,32437,2201],{"className":32438},[1181,1220],[1062,32440],{"className":32441,"style":1233},[1232],[1062,32443,1148],{"className":32444},[1237],[1062,32446],{"className":32447,"style":1233},[1232],[1062,32449,32451,32454,32457,32460,32463,32466,32469,32472,32475,32478,32481],{"className":32450},[1172],[1062,32452],{"className":32453,"style":4550},[1176],[1062,32455,1155],{"className":32456,"style":1221},[1181,1220],[1062,32458,2356],{"className":32459},[1181,1220],[1062,32461,2505],{"className":32462},[1181,1220],[1062,32464,3900],{"className":32465},[1232],[1062,32467,1705],{"className":32468,"style":1734},[1181,1220],[1062,32470,2201],{"className":32471},[1181,1220],[1062,32473,14580],{"className":32474},[1181,1220],[1062,32476,2472],{"className":32477,"style":2530},[1181,1220],[1062,32479,2359],{"className":32480},[1181,1220],[1062,32482,4713],{"className":32483,"style":2288},[1181,1220],[986,32485,32486,32487],{},"这页就是在强调：\n",[982,32488,32489],{},"cache miss 最终会体现在 CPI 上。",[7727,32491],{},[978,32493,32495],{"id":32494},"page-130使用-write-through-处理-store","Page 130｜使用 Write-Through 处理 Store",[986,32497,32498],{},[992,32499],{"alt":992,"src":32500},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-106.png",[986,32502,32503,32504,2751],{},"这一页进入 ",[982,32505,32506],{},"写策略 Write Policy",[986,32508,32509],{},"store 指令会改变 memory value。",[986,32511,32512],{},"问题是：cache 里有一份数据，memory 里也有一份数据，那么写入时应该更新谁？",[986,32514,32515],{},"第一种策略是：",[1896,32517,32520],{"className":32518,"code":32519,"language":1225},[1899],"Write-Through Policy｜透写策略\n",[1902,32521,32519],{"__ignoreMap":1904},[986,32523,8234],{},[1896,32525,32528],{"className":32526,"code":32527,"language":1225},[1899],"写 cache 的同时，也写 memory\n",[1902,32529,32527],{"__ignoreMap":1904},[986,32531,32532],{},"这样 cache 和 memory 总是保持一致。",[7727,32534],{},[996,32536,32538],{"id":32537},"write-through-的优点","Write-through 的优点",[986,32540,32541],{},"write-through 最大的优点是简单。",[986,32543,32544],{},"因为每次写入都会最终进入 memory，所以 memory 里总有最新副本。",[986,32546,32547],{},"这对一致性、调试、异常恢复都比较友好。",[986,32549,32550],{},"可以理解为：",[1062,32552,32554],{"className":32553},[7840],[1062,32555,32557,32613],{"className":32556},[1115],[1062,32558,32560],{"className":32559},[1119],[1121,32561,32562],{"xmlns":1123,"display":3391},[1125,32563,32564,32610],{},[1128,32565,32566,32568,32570,32572,32574,32576,32578,32580,32582,32584,32586,32588,32590,32592,32594,32596,32598,32600,32602,32604,32606,32608],{},[1138,32567,1702],{},[1138,32569,2370],{},[1138,32571,2373],{},[1138,32573,2376],{},[1138,32575,2201],{},[1142,32577,3900],{},[1138,32579,3079],{},[1138,32581,2370],{},[1138,32583,2359],{},[1138,32585,2370],{},[1146,32587,1711],{},[1138,32589,1155],{},[1138,32591,2201],{},[1138,32593,1610],{},[1138,32595,2475],{},[1138,32597,2198],{},[1138,32599,4713],{},[1142,32601,3900],{},[1138,32603,3079],{},[1138,32605,2370],{},[1138,32607,2359],{},[1138,32609,2370],{},[1160,32611,32612],{"encoding":1162},"Cache\\ Data = Memory\\ Data",[1062,32614,32616,32661],{"className":32615,"ariaHidden":1168},[1167],[1062,32617,32619,32622,32625,32628,32631,32634,32637,32640,32643,32646,32649,32652,32655,32658],{"className":32618},[1172],[1062,32620],{"className":32621,"style":2246},[1176],[1062,32623,1702],{"className":32624,"style":1730},[1181,1220],[1062,32626,2370],{"className":32627},[1181,1220],[1062,32629,2373],{"className":32630},[1181,1220],[1062,32632,2376],{"className":32633},[1181,1220],[1062,32635,2201],{"className":32636},[1181,1220],[1062,32638,3900],{"className":32639},[1232],[1062,32641,3079],{"className":32642,"style":2257},[1181,1220],[1062,32644,2370],{"className":32645},[1181,1220],[1062,32647,2359],{"className":32648},[1181,1220],[1062,32650,2370],{"className":32651},[1181,1220],[1062,32653],{"className":32654,"style":1742},[1232],[1062,32656,1711],{"className":32657},[1746],[1062,32659],{"className":32660,"style":1742},[1232],[1062,32662,32664,32667,32670,32673,32676,32679,32682,32685,32688,32691,32694],{"className":32663},[1172],[1062,32665],{"className":32666,"style":5474},[1176],[1062,32668,1155],{"className":32669,"style":1221},[1181,1220],[1062,32671,2201],{"className":32672},[1181,1220],[1062,32674,1610],{"className":32675},[1181,1220],[1062,32677,4811],{"className":32678,"style":2257},[1181,1220],[1062,32680,4713],{"className":32681,"style":2288},[1181,1220],[1062,32683,3900],{"className":32684},[1232],[1062,32686,3079],{"className":32687,"style":2257},[1181,1220],[1062,32689,2370],{"className":32690},[1181,1220],[1062,32692,2359],{"className":32693},[1181,1220],[1062,32695,2370],{"className":32696},[1181,1220],[986,32698,32699],{},"至少在写完成后成立。",[7727,32701],{},[996,32703,32705],{"id":32704},"write-through-的缺点","Write-through 的缺点",[986,32707,32708],{},"缺点是慢。",[986,32710,32711],{},"如果每次 store 都要等 memory 写完，CPU 会频繁 stall。",[986,32713,32714],{},"所以需要：",[1896,32716,32719],{"className":32717,"code":32718,"language":1225},[1899],"Write Buffer｜写缓冲区\n",[1902,32720,32718],{"__ignoreMap":1904},[986,32722,32723],{},"CPU 写 cache 后，把写 memory 的请求放入 write buffer。",[986,32725,32726],{},"CPU 可以继续执行，write buffer 在后台慢慢把数据写到 memory。",[986,32728,32729],{},"所以 write-through 通常和 write buffer 一起使用。",[986,32731,32732],{},[1418,32733,32734],{},[982,32735,32736],{},"注意：写入 cache 的目的不是让 cache 自己主动写 memory，而是为了让 CPU 后续再读这个地址时，能立刻读到最新值，并且保持 cache 里的副本不变旧。",[7727,32738],{},[978,32740,32742],{"id":32741},"page-131write-through-cache-与-write-buffer","Page 131｜Write-Through Cache 与 Write Buffer",[986,32744,32745],{},[992,32746],{"alt":992,"src":32747},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-107.png",[986,32749,32750],{},"这一页画出了 write-through cache 的结构。",[986,32752,32753],{},"写命中时：",[1896,32755,32758],{"className":32756,"code":32757,"language":1225},[1899],"CPU → Cache\nCPU → Write Buffer → Memory\n",[1902,32759,32757],{"__ignoreMap":1904},[986,32761,32762],{},"也就是说，数据既写 cache，也进入 write buffer，最后写到 memory。",[986,32764,32765],{},"write buffer 的作用是吸收写流量，避免 CPU 每次 store 都等待主存。",[996,32767,32769],{"id":32768},"write-buffer-的意义","Write Buffer 的意义",[986,32771,32772],{},"如果没有 write buffer：",[1896,32774,32777],{"className":32775,"code":32776,"language":1225},[1899],"store → 等待 memory 写完 → 继续执行\n",[1902,32778,32776],{"__ignoreMap":1904},[986,32780,32781],{},"如果有 write buffer：",[1896,32783,32786],{"className":32784,"code":32785,"language":1225},[1899],"store → 放入 buffer → CPU 继续执行\n",[1902,32787,32785],{"__ignoreMap":1904},[986,32789,32790],{},"因此 write buffer 可以降低 store 对流水线的阻塞。",[7727,32792],{},[996,32794,32796],{"id":32795},"write-miss-怎么办","Write Miss 怎么办？",[986,32798,32799],{},"这一页最后问：",[1896,32801,32804],{"className":32802,"code":32803,"language":1225},[1899],"If cache write miss 怎么办？\n",[1902,32805,32803],{"__ignoreMap":1904},[986,32807,32808],{},"这就引出后面的 write allocation。",[986,32810,32811],{},"在 write miss 时有两种选择：",[1377,32813,32814,32820],{},[1347,32815,32816,32819],{},[982,32817,32818],{},"Write Allocate","\n先把 block 读入 cache，再写 cache。",[1347,32821,32822,32825],{},[982,32823,32824],{},"No Write Allocate","\n不把 block 读入 cache，直接写 memory。",[986,32827,32828],{},"write-through 常见组合是：",[1896,32830,32833],{"className":32831,"code":32832,"language":1225},[1899],"Write-through + No-write-allocate\n",[1902,32834,32832],{"__ignoreMap":1904},[986,32836,32837],{},"因为既然每次写都要去 memory，那么 write miss 时不一定值得把整块读进 cache。",[7727,32839],{},[978,32841,32843],{"id":32842},"page-132使用-write-back-处理-store","Page 132｜使用 Write-Back 处理 Store",[986,32845,32846],{},[992,32847],{"alt":992,"src":32848},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-108.png",[986,32850,32851],{},"这一页讲第二种写策略：",[1896,32853,32856],{"className":32854,"code":32855,"language":1225},[1899],"Write-Back Policy｜回写策略\n",[1902,32857,32855],{"__ignoreMap":1904},[986,32859,32860],{},"write-back 的思想是：",[1896,32862,32865],{"className":32863,"code":32864,"language":1225},[1899],"写命中时只写 cache，不立刻写 memory\n",[1902,32866,32864],{"__ignoreMap":1904},[986,32868,32869],{},"memory 里的数据可能暂时是旧的。",[986,32871,32872],{},"只有当这个 cache block 被 eviction 时，才把它写回 memory。",[7727,32874],{},[996,32876,32878],{"id":32877},"dirty-bit脏位","Dirty Bit｜脏位",[986,32880,32881],{},"为了知道一个 block 是否被修改过，需要给每个 cache block 增加一个：",[1896,32883,32886],{"className":32884,"code":32885,"language":1225},[1899],"Dirty Bit\n",[1902,32887,32885],{"__ignoreMap":1904},[986,32889,32890],{},"dirty bit 的含义是：",[1896,32892,32895],{"className":32893,"code":32894,"language":1225},[1899],"dirty = 0：cache block 和 memory 一致\ndirty = 1：cache block 被修改过，memory 中是旧值\n",[1902,32896,32894],{"__ignoreMap":1904},[986,32898,32899],{},"如果 dirty block 被替换，就必须写回 memory。",[986,32901,32902],{},"如果 clean block 被替换，可以直接丢弃，因为 memory 里已经有一样的数据。",[7727,32904],{},[996,32906,32908],{"id":32907},"write-back-的优点","Write-back 的优点",[986,32910,32911],{},"write-back 可以减少 memory write traffic。",[986,32913,32914],{},"如果一个 block 被多次写入：",[1896,32916,32919],{"className":32917,"code":32918,"language":1225},[1899],"write a[0]\nwrite a[1]\nwrite a[2]\nwrite a[3]\n",[1902,32920,32918],{"__ignoreMap":1904},[986,32922,32923],{},"write-through 可能产生多次 memory write。",[986,32925,32926],{},"write-back 可以把多次写合并，最后 eviction 时只写回一次 block。",[986,32928,6806],{},[1062,32930,32932],{"className":32931},[7840],[1062,32933,32935,32975],{"className":32934},[1115],[1062,32936,32938],{"className":32937},[1119],[1121,32939,32940],{"xmlns":1123,"display":3391},[1125,32941,32942,32972],{},[1128,32943,32944,32946,32948,32950,32952,32954,32956,32958,32960,32962,32964,32966,32968,32970],{},[1138,32945,4125],{},[1138,32947,2198],{},[1138,32949,2356],{},[1138,32951,2359],{},[1138,32953,2201],{},[1142,32955,3900],{},[1138,32957,4621],{},[1138,32959,2198],{},[1138,32961,2370],{},[1138,32963,5426],{},[1138,32965,5426],{},[1138,32967,2356],{},[1138,32969,2373],{},[1146,32971,18497],{},[1160,32973,32974],{"encoding":1162},"Write\\ Traffic \\downarrow",[1062,32976,32978],{"className":32977,"ariaHidden":1168},[1167],[1062,32979,32981,32984,32987,32990,32993,32996,32999,33002,33005,33008,33011,33014,33017,33020,33023,33026],{"className":32980},[1172],[1062,32982],{"className":32983,"style":4550},[1176],[1062,32985,4125],{"className":32986,"style":1734},[1181,1220],[1062,32988,2198],{"className":32989,"style":2257},[1181,1220],[1062,32991,2356],{"className":32992},[1181,1220],[1062,32994,2359],{"className":32995},[1181,1220],[1062,32997,2201],{"className":32998},[1181,1220],[1062,33000,3900],{"className":33001},[1232],[1062,33003,4621],{"className":33004,"style":1734},[1181,1220],[1062,33006,2198],{"className":33007,"style":2257},[1181,1220],[1062,33009,2370],{"className":33010},[1181,1220],[1062,33012,5426],{"className":33013,"style":5505},[1181,1220],[1062,33015,5426],{"className":33016,"style":5505},[1181,1220],[1062,33018,2356],{"className":33019},[1181,1220],[1062,33021,2373],{"className":33022},[1181,1220],[1062,33024],{"className":33025,"style":1742},[1232],[1062,33027,18497],{"className":33028},[1746],[7727,33030],{},[996,33032,33034],{"id":33033},"write-back-的代价","Write-back 的代价",[986,33036,33037],{},"代价是控制逻辑复杂。",[986,33039,33040],{},"因为每次 miss 替换时要判断 victim block 是否 dirty：",[1896,33042,33045],{"className":33043,"code":33044,"language":1225},[1899],"dirty = 1 → write back old block，再读入 new block\ndirty = 0 → 直接替换\n",[1902,33046,33044],{"__ignoreMap":1904},[986,33048,33049],{},"所以一次 miss 可能触发额外写回。",[7727,33051],{},[978,33053,33055],{"id":33054},"page-133write-back-cache-的行为","Page 133｜Write-Back Cache 的行为",[986,33057,33058],{},[992,33059],{"alt":992,"src":33060},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-109.png",[986,33062,33063],{},"这一页具体列出 write-back cache 的几种情况。",[996,33065,33067],{"id":33066},"store-hit","Store Hit",[986,33069,33070],{},"store 命中时：",[1896,33072,33075],{"className":33073,"code":33074,"language":1225},[1899],"只写 cache\n设置 dirty bit\nmemory 暂时不更新\n",[1902,33076,33074],{"__ignoreMap":1904},[986,33078,8234],{},[1062,33080,33082],{"className":33081},[7840],[1062,33083,33085,33161],{"className":33084},[1115],[1062,33086,33088],{"className":33087},[1119],[1121,33089,33090],{"xmlns":1123,"display":3391},[1125,33091,33092,33158],{},[1128,33093,33094,33096,33098,33100,33102,33104,33106,33108,33110,33112,33114,33116,33118,33120,33122,33124,33126,33128,33130,33132,33134,33136,33138,33140,33142,33144,33146,33148,33150,33152,33154,33156],{},[1138,33095,9259],{},[1138,33097,2359],{},[1138,33099,2475],{},[1138,33101,2198],{},[1138,33103,2201],{},[1142,33105,3900],{},[1138,33107,2353],{},[1138,33109,2356],{},[1138,33111,2359],{},[1146,33113,2362],{},[1138,33115,1702],{},[1138,33117,2370],{},[1138,33119,2373],{},[1138,33121,2376],{},[1138,33123,2201],{},[1142,33125,3900],{},[1138,33127,3897],{},[1138,33129,986],{},[1138,33131,2193],{},[1138,33133,2370],{},[1138,33135,2359],{},[1138,33137,2201],{},[1138,33139,2193],{},[1146,33141,4443],{"separator":1168},[1142,33143,3900],{},[1138,33145,3079],{},[1138,33147,2356],{},[1138,33149,2198],{},[1138,33151,2359],{},[1138,33153,4713],{},[1146,33155,1711],{},[1134,33157,1644],{},[1160,33159,33160],{"encoding":1162},"Store\\ Hit \\Rightarrow Cache\\ Updated,\\ Dirty = 1",[1062,33162,33164,33203,33281],{"className":33163,"ariaHidden":1168},[1167],[1062,33165,33167,33170,33173,33176,33179,33182,33185,33188,33191,33194,33197,33200],{"className":33166},[1172],[1062,33168],{"className":33169,"style":1726},[1176],[1062,33171,9259],{"className":33172,"style":9315},[1181,1220],[1062,33174,2359],{"className":33175},[1181,1220],[1062,33177,4811],{"className":33178,"style":2257},[1181,1220],[1062,33180,2201],{"className":33181},[1181,1220],[1062,33183,3900],{"className":33184},[1232],[1062,33186,2353],{"className":33187,"style":2397},[1181,1220],[1062,33189,2356],{"className":33190},[1181,1220],[1062,33192,2359],{"className":33193},[1181,1220],[1062,33195],{"className":33196,"style":1742},[1232],[1062,33198,2362],{"className":33199},[1746],[1062,33201],{"className":33202,"style":1742},[1232],[1062,33204,33206,33209,33212,33215,33218,33221,33224,33227,33230,33233,33236,33239,33242,33245,33248,33251,33254,33257,33260,33263,33266,33269,33272,33275,33278],{"className":33205},[1172],[1062,33207],{"className":33208,"style":4550},[1176],[1062,33210,1702],{"className":33211,"style":1730},[1181,1220],[1062,33213,2370],{"className":33214},[1181,1220],[1062,33216,2373],{"className":33217},[1181,1220],[1062,33219,2376],{"className":33220},[1181,1220],[1062,33222,2201],{"className":33223},[1181,1220],[1062,33225,3900],{"className":33226},[1232],[1062,33228,3897],{"className":33229,"style":1221},[1181,1220],[1062,33231,986],{"className":33232},[1181,1220],[1062,33234,2193],{"className":33235},[1181,1220],[1062,33237,2370],{"className":33238},[1181,1220],[1062,33240,2359],{"className":33241},[1181,1220],[1062,33243,2201],{"className":33244},[1181,1220],[1062,33246,2193],{"className":33247},[1181,1220],[1062,33249,4443],{"className":33250},[4827],[1062,33252,3900],{"className":33253},[1232],[1062,33255],{"className":33256,"style":4831},[1232],[1062,33258,3079],{"className":33259,"style":2257},[1181,1220],[1062,33261,2356],{"className":33262},[1181,1220],[1062,33264,2198],{"className":33265,"style":2257},[1181,1220],[1062,33267,2359],{"className":33268},[1181,1220],[1062,33270,4713],{"className":33271,"style":2288},[1181,1220],[1062,33273],{"className":33274,"style":1742},[1232],[1062,33276,1711],{"className":33277},[1746],[1062,33279],{"className":33280,"style":1742},[1232],[1062,33282,33284,33287],{"className":33283},[1172],[1062,33285],{"className":33286,"style":1756},[1176],[1062,33288,1644],{"className":33289},[1181],[7727,33291],{},[996,33293,33295],{"id":33294},"store-miss","Store Miss",[986,33297,33298],{},"课件这里采用的是：",[1896,33300,33303],{"className":33301,"code":33302,"language":1225},[1899],"Write Allocate\n",[1902,33304,33302],{"__ignoreMap":1904},[986,33306,33307],{},"也就是 store miss 时：",[1377,33309,33310,33313,33316],{},[1347,33311,33312],{},"先从 memory 把 block 读入 cache；",[1347,33314,33315],{},"再修改 cache 中对应位置；",[1347,33317,33318],{},"设置 dirty bit。",[986,33320,6806],{},[1062,33322,33324],{"className":33323},[7840],[1062,33325,33327,33427],{"className":33326},[1115],[1062,33328,33330],{"className":33329},[1119],[1121,33331,33332],{"xmlns":1123,"display":3391},[1125,33333,33334,33424],{},[1128,33335,33336,33338,33340,33342,33344,33346,33348,33350,33352,33354,33356,33358,33360,33362,33364,33366,33368,33370,33372,33374,33376,33378,33380,33382,33384,33386,33388,33390,33392,33394,33396,33398,33400,33402,33404,33406,33408,33410,33412,33414,33416,33418,33420,33422],{},[1138,33337,9259],{},[1138,33339,2359],{},[1138,33341,2475],{},[1138,33343,2198],{},[1138,33345,2201],{},[1142,33347,3900],{},[1138,33349,1155],{},[1138,33351,2356],{},[1138,33353,2204],{},[1138,33355,2204],{},[1146,33357,2362],{},[1138,33359,2938],{},[1138,33361,2201],{},[1138,33363,2359],{},[1138,33365,2373],{},[1138,33367,2376],{},[1142,33369,3900],{},[1138,33371,5567],{},[1138,33373,2472],{},[1138,33375,2475],{},[1138,33377,2373],{},[1138,33379,2480],{},[1146,33381,1647],{},[1138,33383,4125],{},[1138,33385,2198],{},[1138,33387,2356],{},[1138,33389,2359],{},[1138,33391,2201],{},[1142,33393,3900],{},[1138,33395,1702],{},[1138,33397,2370],{},[1138,33399,2373],{},[1138,33401,2376],{},[1138,33403,2201],{},[1146,33405,1647],{},[1138,33407,9259],{},[1138,33409,2201],{},[1138,33411,2359],{},[1142,33413,3900],{},[1138,33415,3079],{},[1138,33417,2356],{},[1138,33419,2198],{},[1138,33421,2359],{},[1138,33423,4713],{},[1160,33425,33426],{"encoding":1162},"Store\\ Miss \\Rightarrow Fetch\\ Block + Write\\ Cache + Set\\ Dirty",[1062,33428,33430,33469,33514,33562],{"className":33429,"ariaHidden":1168},[1167],[1062,33431,33433,33436,33439,33442,33445,33448,33451,33454,33457,33460,33463,33466],{"className":33432},[1172],[1062,33434],{"className":33435,"style":1726},[1176],[1062,33437,9259],{"className":33438,"style":9315},[1181,1220],[1062,33440,2359],{"className":33441},[1181,1220],[1062,33443,4811],{"className":33444,"style":2257},[1181,1220],[1062,33446,2201],{"className":33447},[1181,1220],[1062,33449,3900],{"className":33450},[1232],[1062,33452,1155],{"className":33453,"style":1221},[1181,1220],[1062,33455,2356],{"className":33456},[1181,1220],[1062,33458,2505],{"className":33459},[1181,1220],[1062,33461],{"className":33462,"style":1742},[1232],[1062,33464,2362],{"className":33465},[1746],[1062,33467],{"className":33468,"style":1742},[1232],[1062,33470,33472,33475,33478,33481,33484,33487,33490,33493,33496,33499,33502,33505,33508,33511],{"className":33471},[1172],[1062,33473],{"className":33474,"style":9447},[1176],[1062,33476,2938],{"className":33477,"style":1734},[1181,1220],[1062,33479,2201],{"className":33480},[1181,1220],[1062,33482,2359],{"className":33483},[1181,1220],[1062,33485,2373],{"className":33486},[1181,1220],[1062,33488,2376],{"className":33489},[1181,1220],[1062,33491,3900],{"className":33492},[1232],[1062,33494,5567],{"className":33495,"style":5632},[1181,1220],[1062,33497,2472],{"className":33498,"style":2530},[1181,1220],[1062,33500,2534],{"className":33501},[1181,1220],[1062,33503,2480],{"className":33504,"style":2538},[1181,1220],[1062,33506],{"className":33507,"style":1233},[1232],[1062,33509,1647],{"className":33510},[1237],[1062,33512],{"className":33513,"style":1233},[1232],[1062,33515,33517,33520,33523,33526,33529,33532,33535,33538,33541,33544,33547,33550,33553,33556,33559],{"className":33516},[1172],[1062,33518],{"className":33519,"style":9447},[1176],[1062,33521,4125],{"className":33522,"style":1734},[1181,1220],[1062,33524,2198],{"className":33525,"style":2257},[1181,1220],[1062,33527,2356],{"className":33528},[1181,1220],[1062,33530,2359],{"className":33531},[1181,1220],[1062,33533,2201],{"className":33534},[1181,1220],[1062,33536,3900],{"className":33537},[1232],[1062,33539,1702],{"className":33540,"style":1730},[1181,1220],[1062,33542,2370],{"className":33543},[1181,1220],[1062,33545,2373],{"className":33546},[1181,1220],[1062,33548,2376],{"className":33549},[1181,1220],[1062,33551,2201],{"className":33552},[1181,1220],[1062,33554],{"className":33555,"style":1233},[1232],[1062,33557,1647],{"className":33558},[1237],[1062,33560],{"className":33561,"style":1233},[1232],[1062,33563,33565,33568,33571,33574,33577,33580,33583,33586,33589,33592],{"className":33564},[1172],[1062,33566],{"className":33567,"style":5474},[1176],[1062,33569,9259],{"className":33570,"style":9315},[1181,1220],[1062,33572,2201],{"className":33573},[1181,1220],[1062,33575,2359],{"className":33576},[1181,1220],[1062,33578,3900],{"className":33579},[1232],[1062,33581,3079],{"className":33582,"style":2257},[1181,1220],[1062,33584,2356],{"className":33585},[1181,1220],[1062,33587,2198],{"className":33588,"style":2257},[1181,1220],[1062,33590,2359],{"className":33591},[1181,1220],[1062,33593,4713],{"className":33594,"style":2288},[1181,1220],[7727,33596],{},[996,33598,33600],{"id":33599},"load-hit","Load Hit",[986,33602,33603],{},"load 命中时直接从 cache 读。",[1896,33605,33608],{"className":33606,"code":33607,"language":1225},[1899],"Load hit → use cache value\n",[1902,33609,33607],{"__ignoreMap":1904},[7727,33611],{},[996,33613,33615],{"id":33614},"any-miss","Any Miss",[986,33617,33618],{},"任何 miss 需要替换 block 时：",[1344,33620,33621,33624],{},[1347,33622,33623],{},"如果 victim block 是 clean，直接丢弃；",[1347,33625,33626],{},"如果 victim block 是 dirty，必须先 write back。",[986,33628,33629],{},"所以 write-back 的 miss penalty 不是固定的。",[986,33631,33632],{},"可能是：",[1062,33634,33636],{"className":33635},[7840],[1062,33637,33639,33705],{"className":33638},[1115],[1062,33640,33642],{"className":33641},[1119],[1121,33643,33644],{"xmlns":1123,"display":3391},[1125,33645,33646,33702],{},[1128,33647,33648,33650,33652,33654,33656,33658,33660,33662,33664,33666,33668,33670,33672,33674,33676,33678,33680,33682,33684,33686,33688,33690,33692,33694,33696,33698,33700],{},[1138,33649,1155],{},[1138,33651,2356],{},[1138,33653,2204],{},[1138,33655,2204],{},[1142,33657,3900],{},[1138,33659,1705],{},[1138,33661,2201],{},[1138,33663,3546],{},[1138,33665,2370],{},[1138,33667,2472],{},[1138,33669,2359],{},[1138,33671,4713],{},[1146,33673,1711],{},[1138,33675,2211],{},[1138,33677,2201],{},[1138,33679,2370],{},[1138,33681,2193],{},[1142,33683,3900],{},[1138,33685,1140],{},[1138,33687,2201],{},[1138,33689,15280],{},[1142,33691,3900],{},[1138,33693,5567],{},[1138,33695,2472],{},[1138,33697,2475],{},[1138,33699,2373],{},[1138,33701,2480],{},[1160,33703,33704],{"encoding":1162},"Miss\\ Penalty = Read\\ New\\ Block",[1062,33706,33708,33753],{"className":33707,"ariaHidden":1168},[1167],[1062,33709,33711,33714,33717,33720,33723,33726,33729,33732,33735,33738,33741,33744,33747,33750],{"className":33710},[1172],[1062,33712],{"className":33713,"style":4550},[1176],[1062,33715,1155],{"className":33716,"style":1221},[1181,1220],[1062,33718,2356],{"className":33719},[1181,1220],[1062,33721,2505],{"className":33722},[1181,1220],[1062,33724,3900],{"className":33725},[1232],[1062,33727,1705],{"className":33728,"style":1734},[1181,1220],[1062,33730,2201],{"className":33731},[1181,1220],[1062,33733,14580],{"className":33734},[1181,1220],[1062,33736,2472],{"className":33737,"style":2530},[1181,1220],[1062,33739,2359],{"className":33740},[1181,1220],[1062,33742,4713],{"className":33743,"style":2288},[1181,1220],[1062,33745],{"className":33746,"style":1742},[1232],[1062,33748,1711],{"className":33749},[1746],[1062,33751],{"className":33752,"style":1742},[1232],[1062,33754,33756,33759,33762,33765,33768,33771,33774,33777,33780,33783,33786,33789,33792,33795],{"className":33755},[1172],[1062,33757],{"className":33758,"style":2246},[1176],[1062,33760,2211],{"className":33761,"style":2281},[1181,1220],[1062,33763,2201],{"className":33764},[1181,1220],[1062,33766,2370],{"className":33767},[1181,1220],[1062,33769,2193],{"className":33770},[1181,1220],[1062,33772,3900],{"className":33773},[1232],[1062,33775,1140],{"className":33776,"style":1221},[1181,1220],[1062,33778,2201],{"className":33779},[1181,1220],[1062,33781,15280],{"className":33782,"style":15390},[1181,1220],[1062,33784,3900],{"className":33785},[1232],[1062,33787,5567],{"className":33788,"style":5632},[1181,1220],[1062,33790,2472],{"className":33791,"style":2530},[1181,1220],[1062,33793,2534],{"className":33794},[1181,1220],[1062,33796,2480],{"className":33797,"style":2538},[1181,1220],[986,33799,33800],{},"也可能是：",[1062,33802,33804],{"className":33803},[7840],[1062,33805,33807,33921],{"className":33806},[1115],[1062,33808,33810],{"className":33809},[1119],[1121,33811,33812],{"xmlns":1123,"display":3391},[1125,33813,33814,33918],{},[1128,33815,33816,33818,33820,33822,33824,33826,33828,33830,33832,33834,33836,33838,33840,33842,33844,33846,33848,33850,33852,33854,33856,33858,33860,33862,33864,33866,33868,33870,33872,33874,33876,33878,33880,33882,33884,33886,33888,33890,33892,33894,33896,33898,33900,33902,33904,33906,33908,33910,33912,33914,33916],{},[1138,33817,1155],{},[1138,33819,2356],{},[1138,33821,2204],{},[1138,33823,2204],{},[1142,33825,3900],{},[1138,33827,1705],{},[1138,33829,2201],{},[1138,33831,3546],{},[1138,33833,2370],{},[1138,33835,2472],{},[1138,33837,2359],{},[1138,33839,4713],{},[1146,33841,1711],{},[1138,33843,4125],{},[1138,33845,2198],{},[1138,33847,2356],{},[1138,33849,2359],{},[1138,33851,2201],{},[1142,33853,3900],{},[1138,33855,5567],{},[1138,33857,2370],{},[1138,33859,2373],{},[1138,33861,2480],{},[1142,33863,3900],{},[1138,33865,3079],{},[1138,33867,2356],{},[1138,33869,2198],{},[1138,33871,2359],{},[1138,33873,4713],{},[1142,33875,3900],{},[1138,33877,3074],{},[1138,33879,2356],{},[1138,33881,2373],{},[1138,33883,2359],{},[1138,33885,2356],{},[1138,33887,1610],{},[1146,33889,1647],{},[1138,33891,2211],{},[1138,33893,2201],{},[1138,33895,2370],{},[1138,33897,2193],{},[1142,33899,3900],{},[1138,33901,1140],{},[1138,33903,2201],{},[1138,33905,15280],{},[1142,33907,3900],{},[1138,33909,5567],{},[1138,33911,2472],{},[1138,33913,2475],{},[1138,33915,2373],{},[1138,33917,2480],{},[1160,33919,33920],{"encoding":1162},"Miss\\ Penalty = Write\\ Back\\ Dirty\\ Victim + Read\\ New\\ Block",[1062,33922,33924,33969,34050],{"className":33923,"ariaHidden":1168},[1167],[1062,33925,33927,33930,33933,33936,33939,33942,33945,33948,33951,33954,33957,33960,33963,33966],{"className":33926},[1172],[1062,33928],{"className":33929,"style":4550},[1176],[1062,33931,1155],{"className":33932,"style":1221},[1181,1220],[1062,33934,2356],{"className":33935},[1181,1220],[1062,33937,2505],{"className":33938},[1181,1220],[1062,33940,3900],{"className":33941},[1232],[1062,33943,1705],{"className":33944,"style":1734},[1181,1220],[1062,33946,2201],{"className":33947},[1181,1220],[1062,33949,14580],{"className":33950},[1181,1220],[1062,33952,2472],{"className":33953,"style":2530},[1181,1220],[1062,33955,2359],{"className":33956},[1181,1220],[1062,33958,4713],{"className":33959,"style":2288},[1181,1220],[1062,33961],{"className":33962,"style":1742},[1232],[1062,33964,1711],{"className":33965},[1746],[1062,33967],{"className":33968,"style":1742},[1232],[1062,33970,33972,33975,33978,33981,33984,33987,33990,33993,33996,33999,34002,34005,34008,34011,34014,34017,34020,34023,34026,34029,34032,34035,34038,34041,34044,34047],{"className":33971},[1172],[1062,33973],{"className":33974,"style":4550},[1176],[1062,33976,4125],{"className":33977,"style":1734},[1181,1220],[1062,33979,2198],{"className":33980,"style":2257},[1181,1220],[1062,33982,2356],{"className":33983},[1181,1220],[1062,33985,2359],{"className":33986},[1181,1220],[1062,33988,2201],{"className":33989},[1181,1220],[1062,33991,3900],{"className":33992},[1232],[1062,33994,5567],{"className":33995,"style":5632},[1181,1220],[1062,33997,2370],{"className":33998},[1181,1220],[1062,34000,2373],{"className":34001},[1181,1220],[1062,34003,2480],{"className":34004,"style":2538},[1181,1220],[1062,34006,3900],{"className":34007},[1232],[1062,34009,3079],{"className":34010,"style":2257},[1181,1220],[1062,34012,2356],{"className":34013},[1181,1220],[1062,34015,2198],{"className":34016,"style":2257},[1181,1220],[1062,34018,2359],{"className":34019},[1181,1220],[1062,34021,4713],{"className":34022,"style":2288},[1181,1220],[1062,34024,3900],{"className":34025},[1232],[1062,34027,3074],{"className":34028,"style":1233},[1181,1220],[1062,34030,2356],{"className":34031},[1181,1220],[1062,34033,2373],{"className":34034},[1181,1220],[1062,34036,2359],{"className":34037},[1181,1220],[1062,34039,14477],{"className":34040},[1181,1220],[1062,34042],{"className":34043,"style":1233},[1232],[1062,34045,1647],{"className":34046},[1237],[1062,34048],{"className":34049,"style":1233},[1232],[1062,34051,34053,34056,34059,34062,34065,34068,34071,34074,34077,34080,34083,34086,34089,34092],{"className":34052},[1172],[1062,34054],{"className":34055,"style":2246},[1176],[1062,34057,2211],{"className":34058,"style":2281},[1181,1220],[1062,34060,2201],{"className":34061},[1181,1220],[1062,34063,2370],{"className":34064},[1181,1220],[1062,34066,2193],{"className":34067},[1181,1220],[1062,34069,3900],{"className":34070},[1232],[1062,34072,1140],{"className":34073,"style":1221},[1181,1220],[1062,34075,2201],{"className":34076},[1181,1220],[1062,34078,15280],{"className":34079,"style":15390},[1181,1220],[1062,34081,3900],{"className":34082},[1232],[1062,34084,5567],{"className":34085,"style":5632},[1181,1220],[1062,34087,2472],{"className":34088,"style":2530},[1181,1220],[1062,34090,2534],{"className":34091},[1181,1220],[1062,34093,2480],{"className":34094,"style":2538},[1181,1220],[986,34096,34097],{},"这就是 write-back 比 write-through 更复杂的地方。",[7727,34099],{},[978,34101,34103],{"id":34102},"page-134write-through-vs-write-back","Page 134｜Write-Through vs Write-Back",[986,34105,34106],{},[992,34107],{"alt":992,"src":34108},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-110.png",[986,34110,34111],{},"这一页对比两种写策略。",[996,34113,34115],{"id":34114},"write-through透写","Write-Through｜透写",[986,34117,34118],{},"优点：",[1344,34120,34121,34124,34127,34130],{},[1347,34122,34123],{},"控制逻辑简单；",[1347,34125,34126],{},"memory 总是有最新数据；",[1347,34128,34129],{},"访问行为更可预测；",[1347,34131,34132],{},"更容易处理异常、调试、一致性。",[986,34134,34135],{},"缺点：",[1344,34137,34138,34141,34144],{},[1347,34139,34140],{},"memory write traffic 高；",[1347,34142,34143],{},"如果没有 write buffer，会很慢；",[1347,34145,34146],{},"write buffer 满了以后 CPU 仍然会 stall。",[986,34148,34149],{},"可以总结为：",[1896,34151,34154],{"className":34152,"code":34153,"language":1225},[1899],"Write-through：简单，但写流量大\n",[1902,34155,34153],{"__ignoreMap":1904},[7727,34157],{},[996,34159,34161],{"id":34160},"write-back回写","Write-Back｜回写",[986,34163,34118],{},[1344,34165,34166,34169,34172],{},[1347,34167,34168],{},"减少 memory write traffic；",[1347,34170,34171],{},"多次写可以合并；",[1347,34173,34174],{},"对写密集程序更高效。",[986,34176,34135],{},[1344,34178,34179,34182,34185,34188,34191],{},[1347,34180,34181],{},"控制逻辑复杂；",[1347,34183,34184],{},"需要 dirty bit；",[1347,34186,34187],{},"miss 时可能要先写回 victim block；",[1347,34189,34190],{},"memory 可能不是最新值；",[1347,34192,34193],{},"可靠性、一致性处理更麻烦。",[986,34195,34149],{},[1896,34197,34200],{"className":34198,"code":34199,"language":1225},[1899],"Write-back：高效，但复杂\n",[1902,34201,34199],{"__ignoreMap":1904},[7727,34203],{},[996,34205,34206],{"id":34206},"本页核心权衡",[986,34208,34209],{},"write-through 和 write-back 本质是在权衡：",[1896,34211,34214],{"className":34212,"code":34213,"language":1225},[1899],"简单性 vs 写流量\n",[1902,34215,34213],{"__ignoreMap":1904},[986,34217,34218],{},"如果系统追求简单和确定性，write-through 更容易。",[986,34220,34221],{},"如果系统追求性能和带宽效率，write-back 更常见。",[7727,34223],{},[978,34225,34227],{"id":34226},"page-135write-policy-choices","Page 135｜Write Policy Choices",[986,34229,34230],{},[992,34231],{"alt":992,"src":34232},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-111.png",[986,34234,34235],{},"这一页把写策略分成两个维度。",[996,34237,34239],{"id":34238},"维度一cache-hit-时怎么写","维度一：Cache Hit 时怎么写？",[1015,34241,34243],{"id":34242},"write-through","Write-through",[986,34245,34246],{},"写 hit 时：",[1896,34248,34251],{"className":34249,"code":34250,"language":1225},[1899],"写 cache + 写 memory\n",[1902,34252,34250],{"__ignoreMap":1904},[986,34254,34255],{},"特点：",[1896,34257,34260],{"className":34258,"code":34259,"language":1225},[1899],"简单，但 memory traffic 高\n",[1902,34261,34259],{"__ignoreMap":1904},[1015,34263,34265],{"id":34264},"write-back","Write-back",[986,34267,34246],{},[1896,34269,34272],{"className":34270,"code":34271,"language":1225},[1899],"只写 cache，设置 dirty bit\n",[1902,34273,34271],{"__ignoreMap":1904},[986,34275,34255],{},[1896,34277,34280],{"className":34278,"code":34279,"language":1225},[1899],"memory traffic 低，但控制复杂\n",[1902,34281,34279],{"__ignoreMap":1904},[7727,34283],{},[996,34285,34287],{"id":34286},"维度二cache-miss-时怎么写","维度二：Cache Miss 时怎么写？",[1015,34289,32824],{"id":34290},"no-write-allocate",[986,34292,34293],{},"write miss 时不把 block 调入 cache，直接写 memory。",[1896,34295,34298],{"className":34296,"code":34297,"language":1225},[1899],"Write miss → write memory only\n",[1902,34299,34297],{"__ignoreMap":1904},[986,34301,34302],{},"适合 write-through。",[986,34304,34305],{},"因为 write-through 本来就要写 memory，没有必要为了一个 store miss 再读整块进 cache。",[7727,34307],{},[1015,34309,32818],{"id":34310},"write-allocate",[986,34312,34313],{},"write miss 时先把 block 调入 cache，再写 cache。",[1896,34315,34318],{"className":34316,"code":34317,"language":1225},[1899],"Write miss → fetch block into cache → write cache\n",[1902,34319,34317],{"__ignoreMap":1904},[986,34321,34322],{},"适合 write-back。",[986,34324,34325],{},"因为 write-back 的思想是后续写都在 cache 中合并，所以先把 block 拉进 cache 是合理的。",[7727,34327],{},[996,34329,34330],{"id":34330},"常见组合",[986,34332,34333],{},"最常见的组合是：",[1896,34335,34338],{"className":34336,"code":34337,"language":1225},[1899],"Write-through + No-write-allocate\nWrite-back + Write-allocate\n",[1902,34339,34337],{"__ignoreMap":1904},[986,34341,34342],{},"原因是它们逻辑匹配。",[1294,34344,34345,34355],{},[1297,34346,34347],{},[1300,34348,34349,34352],{},[1303,34350,34351],{},"写策略组合",[1303,34353,34354],{},"适合原因",[1313,34356,34357,34365],{},[1300,34358,34359,34362],{},[1318,34360,34361],{},"Write-through + No-write-allocate",[1318,34363,34364],{},"miss 时直接写 memory，简单",[1300,34366,34367,34370],{},[1318,34368,34369],{},"Write-back + Write-allocate",[1318,34371,34372],{},"把 block 拉进 cache，后续写可以合并",[986,34374,30869,34375],{},[982,34376,34377],{},"write hit policy 和 write miss policy 是两个独立维度，但实际设计中有常见搭配。",[7727,34379],{},[978,34381,34383],{"id":34382},"page-136inclusion-policy多级-cache-包含策略","Page 136｜Inclusion Policy｜多级 Cache 包含策略",[986,34385,34386],{},[992,34387],{"alt":992,"src":34388},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-112.png",[986,34390,34391],{},"这一页讲多级 cache 之间的数据包含关系。",[996,34393,34395],{"id":34394},"inclusive-cache包含式缓存","Inclusive Cache｜包含式缓存",[986,34397,34398],{},"Inclusive multilevel cache 的规则是：",[1896,34400,34403],{"className":34401,"code":34402,"language":1225},[1899],"如果某个 block 在 L1 中，那么它也必须在 L2\u002FL3 中\n",[1902,34404,34402],{"__ignoreMap":1904},[986,34406,34407],{},"也就是外层 cache 包含内层 cache 的内容。",[986,34409,32550],{},[1062,34411,34413],{"className":34412},[7840],[1062,34414,34416,34445],{"className":34415},[1115],[1062,34417,34419],{"className":34418},[1119],[1121,34420,34421],{"xmlns":1123,"display":3391},[1125,34422,34423,34442],{},[1128,34424,34425,34427,34429,34432,34434,34436,34438,34440],{},[1138,34426,3894],{},[1134,34428,1644],{},[1146,34430,34431],{},"⊆",[1138,34433,3894],{},[1134,34435,1136],{},[1146,34437,34431],{},[1138,34439,3894],{},[1134,34441,2137],{},[1160,34443,34444],{"encoding":1162},"L1 \\subseteq L2 \\subseteq L3",[1062,34446,34448,34470,34491],{"className":34447,"ariaHidden":1168},[1167],[1062,34449,34451,34455,34458,34461,34464,34467],{"className":34450},[1172],[1062,34452],{"className":34453,"style":34454},[1176],"height:0.8193em;vertical-align:-0.136em;",[1062,34456,3894],{"className":34457},[1181,1220],[1062,34459,1644],{"className":34460},[1181],[1062,34462],{"className":34463,"style":1742},[1232],[1062,34465,34431],{"className":34466},[1746],[1062,34468],{"className":34469,"style":1742},[1232],[1062,34471,34473,34476,34479,34482,34485,34488],{"className":34472},[1172],[1062,34474],{"className":34475,"style":34454},[1176],[1062,34477,3894],{"className":34478},[1181,1220],[1062,34480,1136],{"className":34481},[1181],[1062,34483],{"className":34484,"style":1742},[1232],[1062,34486,34431],{"className":34487},[1746],[1062,34489],{"className":34490,"style":1742},[1232],[1062,34492,34494,34497,34500],{"className":34493},[1172],[1062,34495],{"className":34496,"style":1726},[1176],[1062,34498,3894],{"className":34499},[1181,1220],[1062,34501,2137],{"className":34502},[1181],[986,34504,34505],{},"优点是 coherence 简单。",[986,34507,34508],{},"如果外部设备或其他 core 要检查某个 block 是否被缓存，只需要检查最外层 cache。",[986,34510,34511],{},"例如检查 L3，就能知道 L1\u002FL2 中是否可能存在这条 cache line。",[986,34513,34514],{},"缺点是容量有重复。",[986,34516,34517],{},"同一个 block 同时存在 L1、L2、L3，有效容量被浪费一部分。",[7727,34519],{},[996,34521,34523],{"id":34522},"exclusive-cache独占式缓存","Exclusive Cache｜独占式缓存",[986,34525,34526],{},"Exclusive cache 的规则是：",[1896,34528,34531],{"className":34529,"code":34530,"language":1225},[1899],"L1 中有的 block，L2 中不一定有\n",[1902,34532,34530],{"__ignoreMap":1904},[986,34534,34535],{},"甚至设计目标是尽量不重复存储。",[986,34537,34538],{},"优点是有效容量更大。",[986,34540,34541],{},"L1 和 L2 可以存不同数据，总可用 cache 容量更高。",[986,34543,34544],{},"缺点是管理复杂。",[986,34546,34547],{},"L1 miss 时，可能要在 L1 和 L2 之间交换 blocks。",[986,34549,34550],{},"cache coherence 和替换逻辑也更麻烦。",[7727,34552],{},[996,34554,34206],{"id":34555},"本页核心权衡-1",[1896,34557,34560],{"className":34558,"code":34559,"language":1225},[1899],"Inclusive：简单，但容量重复\nExclusive：容量利用高，但控制复杂\n",[1902,34561,34559],{"__ignoreMap":1904},[986,34563,34564],{},"这也是典型 cache 设计风格：",[986,34566,34567],{},"不是单纯追求容量最大，而是在硬件复杂度、一致性、性能之间权衡。",[7727,34569],{},[978,34571,34573],{"id":34572},"page-137write-performance写性能路径","Page 137｜Write Performance｜写性能路径",[986,34575,34576],{},[992,34577],{"alt":992,"src":34578},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-113.png",[986,34580,34581],{},"这一页回到 cache 写操作本身。",[986,34583,34584],{},"图里是在 direct-mapped cache 结构上加了：",[1896,34586,34589],{"className":34587,"code":34588,"language":1225},[1899],"WE = Write Enable\n",[1902,34590,34588],{"__ignoreMap":1904},[986,34592,34593],{},"写操作和读操作不同。",[986,34595,34596],{},"读操作只需要判断 hit，然后把 data 返回 CPU。",[986,34598,34599],{},"写操作需要判断 hit 后，再决定是否允许写入 data array。",[986,34601,34602],{},"关键问题是：",[1896,34604,34607],{"className":34605,"code":34606,"language":1225},[1899],"写 cache 时，必须先知道是不是 hit。\n",[1902,34608,34606],{"__ignoreMap":1904},[986,34610,34611],{},"因为如果 miss 时直接写 data array，可能会破坏原来的 cache block。",[986,34613,34614],{},"所以写命中的关键路径一般是：",[1896,34616,34619],{"className":34617,"code":34618,"language":1225},[1899],"Tag lookup → Hit decision → Enable write\n",[1902,34620,34618],{"__ignoreMap":1904},[986,34622,34623],{},"这会影响 write hit time。",[986,34625,34626],{},"如果这个流程需要两个周期，就会影响 store 性能。",[986,34628,34629],{},"这一页为后面的 “Reducing Write Hit Time” 做铺垫。",[7727,34631],{},[978,34633,34635],{"id":34634},"page-138reducing-write-hit-time减少写命中时间","Page 138｜Reducing Write Hit Time｜减少写命中时间",[986,34637,34638],{},[992,34639],{"alt":992,"src":34640},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-114.png",[986,34642,34643],{},"这一页讲写命中的性能问题。",[996,34645,34646],{"id":34646},"问题",[986,34648,34649],{},"写操作可能需要两个周期：",[1377,34651,34652,34655],{},[1347,34653,34654],{},"第一个周期：tag check，判断是否 hit；",[1347,34656,34657],{},"第二个周期：如果 hit，再写 data array。",[986,34659,34660],{},"原因是不能在不知道 hit\u002Fmiss 的情况下随便写 cache data。",[986,34662,34663],{},"否则 write miss 时可能误写了错误位置。",[986,34665,34666],{},"所以问题是：",[1062,34668,34670],{"className":34669},[7840],[1062,34671,34673,34715],{"className":34672},[1115],[1062,34674,34676],{"className":34675},[1119],[1121,34677,34678],{"xmlns":1123,"display":3391},[1125,34679,34680,34712],{},[1128,34681,34682,34684,34686,34688,34690,34692,34694,34696,34698,34700,34702,34704,34706,34708,34710],{},[1138,34683,4125],{},[1138,34685,2198],{},[1138,34687,2356],{},[1138,34689,2359],{},[1138,34691,2201],{},[1142,34693,3900],{},[1138,34695,2353],{},[1138,34697,2356],{},[1138,34699,2359],{},[1142,34701,3900],{},[1138,34703,4621],{},[1138,34705,2356],{},[1138,34707,1610],{},[1138,34709,2201],{},[1146,34711,18472],{},[1160,34713,34714],{"encoding":1162},"Write\\ Hit\\ Time \\uparrow",[1062,34716,34718],{"className":34717,"ariaHidden":1168},[1167],[1062,34719,34721,34724,34727,34730,34733,34736,34739,34742,34745,34748,34751,34754,34757,34760,34763,34766],{"className":34720},[1172],[1062,34722],{"className":34723,"style":4550},[1176],[1062,34725,4125],{"className":34726,"style":1734},[1181,1220],[1062,34728,2198],{"className":34729,"style":2257},[1181,1220],[1062,34731,2356],{"className":34732},[1181,1220],[1062,34734,2359],{"className":34735},[1181,1220],[1062,34737,2201],{"className":34738},[1181,1220],[1062,34740,3900],{"className":34741},[1232],[1062,34743,2353],{"className":34744,"style":2397},[1181,1220],[1062,34746,2356],{"className":34747},[1181,1220],[1062,34749,2359],{"className":34750},[1181,1220],[1062,34752,3900],{"className":34753},[1232],[1062,34755,4621],{"className":34756,"style":1734},[1181,1220],[1062,34758,14477],{"className":34759},[1181,1220],[1062,34761,2201],{"className":34762},[1181,1220],[1062,34764],{"className":34765,"style":1742},[1232],[1062,34767,18472],{"className":34768},[1746],[7727,34770],{},[996,34772,34774],{"id":34773},"解决方案一支持单周期读写并能恢复","解决方案一：支持单周期读写并能恢复",[986,34776,34777],{},"设计一种 data memory，使它可以在一个周期内写入。",[986,34779,34780],{},"如果之后发现 miss，就恢复旧值。",[986,34782,34783],{},"这需要额外硬件支持，复杂度较高。",[7727,34785],{},[996,34787,34789],{"id":34788},"解决方案二cam-tag-fully-associative-思路","解决方案二：CAM Tag \u002F Fully Associative 思路",[986,34791,34792],{},"如果 tag 用 CAM 方式匹配，可以只在 hit 的 wordline 上启用写入。",[986,34794,34795],{},"这样减少误写风险。",[986,34797,34798],{},"但 CAM 硬件昂贵，不适合大容量普通 cache。",[7727,34800],{},[996,34802,34804],{"id":34803},"解决方案三pipelined-write流水线写","解决方案三：Pipelined Write｜流水线写",[986,34806,34807],{},"这是更实用的思想。",[986,34809,34810],{},"把 store data 和 address 先放在 buffer 里，延迟到下一个阶段写入 data array。",[986,34812,8234],{},[1896,34814,34817],{"className":34815,"code":34816,"language":1225},[1899],"当前周期做 tag check\n下个周期真正写 data\n",[1902,34818,34816],{"__ignoreMap":1904},[986,34820,34821],{},"这样 cache 可以保持流水化，不必让 CPU 完全停住。",[7727,34823],{},[996,34825,31381],{"id":34826},"本页核心-1",[986,34828,34829],{},"减少 write hit time 的难点在于：",[1896,34831,34834],{"className":34832,"code":34833,"language":1225},[1899],"写入动作必须等待 hit 判断\n",[1902,34835,34833],{"__ignoreMap":1904},[986,34837,34838],{},"所以优化方向就是让 tag check 和 data write 尽量重叠或流水化。",[7727,34840],{},[978,34842,34844],{"id":34843},"page-139pipelining-cache-writes流水线缓存写","Page 139｜Pipelining Cache Writes｜流水线缓存写",[986,34846,34847],{},[992,34848],{"alt":992,"src":34849},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-115.png",[986,34851,34852],{},"这一页具体展示流水线写 cache 的结构。",[986,34854,34855],{},"核心思想是：",[1896,34857,34860],{"className":34858,"code":34859,"language":1225},[1899],"store 的 tag check 和 data write 分成两个阶段\n",[1902,34861,34859],{"__ignoreMap":1904},[986,34863,34864],{},"当 cache 正在检查下一条 store 的 tag 时，上一条 store 的 data 可以写入 data array。",[986,34866,34867],{},"也就是说：",[1896,34869,34872],{"className":34870,"code":34871,"language":1225},[1899],"Cycle n：检查 store A 是否 hit\nCycle n+1：写 store A 的 data，同时检查 store B 的 tag\n",[1902,34873,34871],{"__ignoreMap":1904},[986,34875,34876],{},"这样可以提高吞吐率。",[7727,34878],{},[996,34880,34882],{"id":34881},"为什么需要-delayed-write-buffer","为什么需要 Delayed Write Buffer？",[986,34884,34885],{},"图里有：",[1896,34887,34890],{"className":34888,"code":34889,"language":1225},[1899],"Delayed Write Data\nDelayed Write Addr\n",[1902,34891,34889],{"__ignoreMap":1904},[986,34893,34894],{},"这是因为真正写 data array 的时候，需要保存上一条 store 的地址和数据。",[986,34896,34897],{},"它相当于一个小的 pipeline register。",[7727,34899],{},[996,34901,34903],{"id":34902},"loadstore-冲突","Load\u002FStore 冲突",[986,34905,34906],{},"流水线写还需要处理 load\u002Fstore hazard。",[986,34908,9086],{},[1896,34910,34913],{"className":34911,"code":34912,"language":1225},[1899],"store x\nload x\n",[1902,34914,34912],{"__ignoreMap":1904},[986,34916,34917],{},"如果 store 还在 delayed write buffer 里，load 直接读 cache 可能读到旧值。",[986,34919,34920],{},"所以硬件要做 forwarding 或 stall。",[986,34922,34923],{},"这和流水线数据相关类似，本质是 memory system 内部的数据相关。",[7727,34925],{},[996,34927,31381],{"id":34928},"本页核心-2",[986,34930,34931],{},"pipelined write 的目标是：",[1062,34933,34935],{"className":34934},[7840],[1062,34936,34938,34984],{"className":34937},[1115],[1062,34939,34941],{"className":34940},[1119],[1121,34942,34943],{"xmlns":1123,"display":3391},[1125,34944,34945,34981],{},[1128,34946,34947,34949,34951,34953,34955,34957,34959,34961,34963,34965,34967,34969,34971,34973,34975,34977,34979],{},[1138,34948,4125],{},[1138,34950,2198],{},[1138,34952,2356],{},[1138,34954,2359],{},[1138,34956,2201],{},[1142,34958,3900],{},[1138,34960,4621],{},[1138,34962,2376],{},[1138,34964,2198],{},[1138,34966,2475],{},[1138,34968,3909],{},[1138,34970,2216],{},[1138,34972,2376],{},[1138,34974,986],{},[1138,34976,3909],{},[1138,34978,2359],{},[1146,34980,18472],{},[1160,34982,34983],{"encoding":1162},"Write\\ Throughput \\uparrow",[1062,34985,34987],{"className":34986,"ariaHidden":1168},[1167],[1062,34988,34990,34993,34996,34999,35002,35005,35008,35011,35014,35017,35020,35023,35027,35030,35033,35036,35039,35042],{"className":34989},[1172],[1062,34991],{"className":34992,"style":4550},[1176],[1062,34994,4125],{"className":34995,"style":1734},[1181,1220],[1062,34997,2198],{"className":34998,"style":2257},[1181,1220],[1062,35000,2356],{"className":35001},[1181,1220],[1062,35003,2359],{"className":35004},[1181,1220],[1062,35006,2201],{"className":35007},[1181,1220],[1062,35009,3900],{"className":35010},[1232],[1062,35012,4621],{"className":35013,"style":1734},[1181,1220],[1062,35015,2376],{"className":35016},[1181,1220],[1062,35018,2198],{"className":35019,"style":2257},[1181,1220],[1062,35021,2475],{"className":35022},[1181,1220],[1062,35024,35026],{"className":35025,"style":2288},[1181,1220],"ug",[1062,35028,2376],{"className":35029},[1181,1220],[1062,35031,986],{"className":35032},[1181,1220],[1062,35034,3909],{"className":35035},[1181,1220],[1062,35037,2359],{"className":35038},[1181,1220],[1062,35040],{"className":35041,"style":1742},[1232],[1062,35043,18472],{"className":35044},[1746],[986,35046,35047],{},"但代价是：",[1896,35049,35052],{"className":35050,"code":35051,"language":1225},[1899],"控制逻辑更复杂，需要处理 load-store ordering 和 forwarding\n",[1902,35053,35051],{"__ignoreMap":1904},[7727,35055],{},[978,35057,35059],{"id":35058},"page-140write-buffer-减少-read-miss-penalty","Page 140｜Write Buffer 减少 Read Miss Penalty",[986,35061,35062],{},[992,35063],{"alt":992,"src":35064},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-116.png",[986,35066,35067],{},"这一页把 write buffer 和 read miss 结合起来。",[986,35069,35070],{},"write buffer 的基本作用是：",[1896,35072,35075],{"className":35073,"code":35074,"language":1225},[1899],"CPU 写入后不等 memory，先把写请求放入 buffer\n",[1902,35076,35074],{"__ignoreMap":1904},[986,35078,35079],{},"这样 store 不会立刻阻塞 CPU。",[986,35081,35082],{},"但更重要的是：",[986,35084,35085],{},"如果发生 read miss，read miss 应该可以绕过 write buffer 先去访问下一级 cache\u002Fmemory。",[986,35087,35088],{},"因为 read miss 通常在 CPU 关键路径上。",[986,35090,35091],{},"CPU 等不到 read data，就不能继续执行依赖指令。",[986,35093,35094],{},"所以优化是：",[1062,35096,35098],{"className":35097},[7840],[1062,35099,35101,35198],{"className":35100},[1115],[1062,35102,35104],{"className":35103},[1119],[1121,35105,35106],{"xmlns":1123,"display":3391},[1125,35107,35108,35195],{},[1128,35109,35110,35112,35114,35116,35118,35120,35122,35124,35126,35128,35130,35132,35134,35136,35138,35140,35142,35144,35146,35148,35151,35153,35155,35157,35159,35161,35163,35165,35167,35169,35171,35173,35175,35177,35179,35181,35183,35185,35187,35189,35191,35193],{},[1138,35111,2211],{},[1138,35113,2201],{},[1138,35115,2370],{},[1138,35117,2193],{},[1142,35119,3900],{},[1138,35121,1155],{},[1138,35123,2356],{},[1138,35125,2204],{},[1138,35127,2204],{},[1142,35129,3900],{},[1138,35131,1705],{},[1138,35133,2198],{},[1138,35135,2356],{},[1138,35137,2475],{},[1138,35139,2198],{},[1138,35141,2356],{},[1138,35143,2359],{},[1138,35145,4713],{},[1146,35147,2362],{},[1138,35149,35150],{},"E",[1138,35152,5426],{},[1138,35154,5426],{},[1138,35156,2201],{},[1138,35158,2373],{},[1138,35160,2359],{},[1138,35162,2356],{},[1138,35164,17107],{},[1138,35166,2201],{},[1142,35168,3900],{},[1138,35170,1155],{},[1138,35172,2356],{},[1138,35174,2204],{},[1138,35176,2204],{},[1142,35178,3900],{},[1138,35180,1705],{},[1138,35182,2201],{},[1138,35184,3546],{},[1138,35186,2370],{},[1138,35188,2472],{},[1138,35190,2359],{},[1138,35192,4713],{},[1146,35194,18497],{},[1160,35196,35197],{"encoding":1162},"Read\\ Miss\\ Priority \\Rightarrow Effective\\ Miss\\ Penalty \\downarrow",[1062,35199,35201,35264],{"className":35200,"ariaHidden":1168},[1167],[1062,35202,35204,35207,35210,35213,35216,35219,35222,35225,35228,35231,35234,35237,35240,35243,35246,35249,35252,35255,35258,35261],{"className":35203},[1172],[1062,35205],{"className":35206,"style":4550},[1176],[1062,35208,2211],{"className":35209,"style":2281},[1181,1220],[1062,35211,2201],{"className":35212},[1181,1220],[1062,35214,2370],{"className":35215},[1181,1220],[1062,35217,2193],{"className":35218},[1181,1220],[1062,35220,3900],{"className":35221},[1232],[1062,35223,1155],{"className":35224,"style":1221},[1181,1220],[1062,35226,2356],{"className":35227},[1181,1220],[1062,35229,2505],{"className":35230},[1181,1220],[1062,35232,3900],{"className":35233},[1232],[1062,35235,1705],{"className":35236,"style":1734},[1181,1220],[1062,35238,2198],{"className":35239,"style":2257},[1181,1220],[1062,35241,2356],{"className":35242},[1181,1220],[1062,35244,4811],{"className":35245,"style":2257},[1181,1220],[1062,35247,2356],{"className":35248},[1181,1220],[1062,35250,2359],{"className":35251},[1181,1220],[1062,35253,4713],{"className":35254,"style":2288},[1181,1220],[1062,35256],{"className":35257,"style":1742},[1232],[1062,35259,2362],{"className":35260},[1746],[1062,35262],{"className":35263,"style":1742},[1232],[1062,35265,35267,35270,35273,35276,35279,35283,35286,35289,35292,35295,35298,35301,35304,35307,35310,35313,35316,35319,35322,35325,35328,35331],{"className":35266},[1172],[1062,35268],{"className":35269,"style":4550},[1176],[1062,35271,35150],{"className":35272,"style":9315},[1181,1220],[1062,35274,5426],{"className":35275,"style":5505},[1181,1220],[1062,35277,5426],{"className":35278,"style":5505},[1181,1220],[1062,35280,35282],{"className":35281},[1181,1220],"ec",[1062,35284,2359],{"className":35285},[1181,1220],[1062,35287,2356],{"className":35288},[1181,1220],[1062,35290,17107],{"className":35291,"style":2288},[1181,1220],[1062,35293,2201],{"className":35294},[1181,1220],[1062,35296,3900],{"className":35297},[1232],[1062,35299,1155],{"className":35300,"style":1221},[1181,1220],[1062,35302,2356],{"className":35303},[1181,1220],[1062,35305,2505],{"className":35306},[1181,1220],[1062,35308,3900],{"className":35309},[1232],[1062,35311,1705],{"className":35312,"style":1734},[1181,1220],[1062,35314,2201],{"className":35315},[1181,1220],[1062,35317,14580],{"className":35318},[1181,1220],[1062,35320,2472],{"className":35321,"style":2530},[1181,1220],[1062,35323,2359],{"className":35324},[1181,1220],[1062,35326,4713],{"className":35327,"style":2288},[1181,1220],[1062,35329],{"className":35330,"style":1742},[1232],[1062,35332,18497],{"className":35333},[1746],[7727,35335],{},[996,35337,35339],{"id":35338},"关键危险地址冲突","关键危险：地址冲突",[986,35341,35342],{},"如果 write buffer 中有待写地址 A，而 read miss 也要读地址 A，那么不能直接绕过。",[986,35344,35345],{},"否则 read 会读到旧数据。",[986,35347,35348],{},"所以硬件需要比较：",[1062,35350,35352],{"className":35351},[7840],[1062,35353,35355,35445],{"className":35354},[1115],[1062,35356,35358],{"className":35357},[1119],[1121,35359,35360],{"xmlns":1123,"display":3391},[1125,35361,35362,35442],{},[1128,35363,35364,35366,35368,35370,35372,35374,35376,35378,35380,35382,35384,35386,35388,35390,35392,35394,35396,35398,35400,35402,35404,35406,35408,35410,35412,35414,35416,35418,35420,35422,35424,35426,35428,35430,35432,35434,35436,35438,35440],{},[1138,35365,2211],{},[1138,35367,2201],{},[1138,35369,2370],{},[1138,35371,2193],{},[1142,35373,3900],{},[1138,35375,1155],{},[1138,35377,2356],{},[1138,35379,2204],{},[1138,35381,2204],{},[1142,35383,3900],{},[1138,35385,2190],{},[1138,35387,2193],{},[1138,35389,2193],{},[1138,35391,2198],{},[1138,35393,2201],{},[1138,35395,2204],{},[1138,35397,2204],{},[1146,35399,1711],{},[1146,35401,1711],{},[1138,35403,4125],{},[1138,35405,2198],{},[1138,35407,2356],{},[1138,35409,2359],{},[1138,35411,2201],{},[1142,35413,3900],{},[1138,35415,5567],{},[1138,35417,3909],{},[1138,35419,5426],{},[1138,35421,5426],{},[1138,35423,2201],{},[1138,35425,2198],{},[1142,35427,3900],{},[1138,35429,2190],{},[1138,35431,2193],{},[1138,35433,2193],{},[1138,35435,2198],{},[1138,35437,2201],{},[1138,35439,2204],{},[1138,35441,2204],{},[1160,35443,35444],{"encoding":1162},"Read\\ Miss\\ Address == Write\\ Buffer\\ Address",[1062,35446,35448,35502],{"className":35447,"ariaHidden":1168},[1167],[1062,35449,35451,35454,35457,35460,35463,35466,35469,35472,35475,35478,35481,35484,35487,35490,35493,35496,35499],{"className":35450},[1172],[1062,35452],{"className":35453,"style":2246},[1176],[1062,35455,2211],{"className":35456,"style":2281},[1181,1220],[1062,35458,2201],{"className":35459},[1181,1220],[1062,35461,2370],{"className":35462},[1181,1220],[1062,35464,2193],{"className":35465},[1181,1220],[1062,35467,3900],{"className":35468},[1232],[1062,35470,1155],{"className":35471,"style":1221},[1181,1220],[1062,35473,2356],{"className":35474},[1181,1220],[1062,35476,2505],{"className":35477},[1181,1220],[1062,35479,3900],{"className":35480},[1232],[1062,35482,2190],{"className":35483},[1181,1220],[1062,35485,2253],{"className":35486},[1181,1220],[1062,35488,2198],{"className":35489,"style":2257},[1181,1220],[1062,35491,2261],{"className":35492},[1181,1220],[1062,35494],{"className":35495,"style":1742},[1232],[1062,35497,25338],{"className":35498},[1746],[1062,35500],{"className":35501,"style":1742},[1232],[1062,35503,35505,35508,35511,35514,35517,35520,35523,35526,35529,35532,35535,35538,35541,35544,35547,35550,35553],{"className":35504},[1172],[1062,35506],{"className":35507,"style":4550},[1176],[1062,35509,4125],{"className":35510,"style":1734},[1181,1220],[1062,35512,2198],{"className":35513,"style":2257},[1181,1220],[1062,35515,2356],{"className":35516},[1181,1220],[1062,35518,2359],{"className":35519},[1181,1220],[1062,35521,2201],{"className":35522},[1181,1220],[1062,35524,3900],{"className":35525},[1232],[1062,35527,5567],{"className":35528,"style":5632},[1181,1220],[1062,35530,3909],{"className":35531},[1181,1220],[1062,35533,5426],{"className":35534,"style":5505},[1181,1220],[1062,35536,5426],{"className":35537,"style":5505},[1181,1220],[1062,35539,15320],{"className":35540,"style":2257},[1181,1220],[1062,35542,3900],{"className":35543},[1232],[1062,35545,2190],{"className":35546},[1181,1220],[1062,35548,2253],{"className":35549},[1181,1220],[1062,35551,2198],{"className":35552,"style":2257},[1181,1220],[1062,35554,2261],{"className":35555},[1181,1220],[986,35557,35558],{},"如果不相等：",[1896,35560,35563],{"className":35561,"code":35562,"language":1225},[1899],"read miss 可以优先处理\n",[1902,35564,35562],{"__ignoreMap":1904},[986,35566,35567],{},"如果相等：",[1896,35569,35572],{"className":35570,"code":35571,"language":1225},[1899],"等待 write 完成，或者从 write buffer forwarding 最新数据\n",[1902,35573,35571],{"__ignoreMap":1904},[7727,35575],{},[996,35577,31381],{"id":35578},"本页核心-3",[986,35580,35581],{},"write buffer 不只是优化 store，它还可以让 read miss 不被 write 队列拖慢。",[986,35583,35584],{},"但必须保证 memory ordering 和数据一致性。",[986,35586,35587],{},"一句话总结：",[1896,35589,35592],{"className":35590,"code":35591,"language":1225},[1899],"写可以缓冲，读要优先；但同地址读写必须检查。\n",[1902,35593,35591],{"__ignoreMap":1904},[7727,35595],{},[978,35597,35599],{"id":35598},"page-141l2-的存在如何影响-l1-设计","Page 141｜L2 的存在如何影响 L1 设计",[986,35601,35602],{},[992,35603],{"alt":992,"src":35604},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-117.png",[986,35606,35607],{},"这一页非常重要，因为它说明 cache 层级之间不是独立设计的。",[996,35609,35611],{"id":35610},"如果有-l2可以使用更小的-l1","如果有 L2，可以使用更小的 L1",[986,35613,35614],{},"因为 L1 miss 不再直接去 DRAM，而是先去 L2。",[986,35616,35617],{},"所以 L1 miss penalty 降低了。",[986,35619,35620],{},"于是可以接受更高一点的 L1 miss rate，换取更低的 L1 hit time。",[986,35622,35623],{},"这就是：",[1062,35625,35627],{"className":35626},[7840],[1062,35628,35630,35666],{"className":35629},[1115],[1062,35631,35633],{"className":35632},[1119],[1121,35634,35635],{"xmlns":1123,"display":3391},[1125,35636,35637,35663],{},[1128,35638,35639,35641,35643,35645,35647,35649,35651,35653,35655,35657,35659,35661],{},[1138,35640,3894],{},[1134,35642,1644],{},[1142,35644,3900],{},[1138,35646,2353],{},[1138,35648,2356],{},[1138,35650,2359],{},[1142,35652,3900],{},[1138,35654,4621],{},[1138,35656,2356],{},[1138,35658,1610],{},[1138,35660,2201],{},[1146,35662,18497],{},[1160,35664,35665],{"encoding":1162},"L1\\ Hit\\ Time \\downarrow",[1062,35667,35669],{"className":35668,"ariaHidden":1168},[1167],[1062,35670,35672,35675,35678,35681,35684,35687,35690,35693,35696,35699,35702,35705,35708],{"className":35671},[1172],[1062,35673],{"className":35674,"style":4550},[1176],[1062,35676,3894],{"className":35677},[1181,1220],[1062,35679,1644],{"className":35680},[1181],[1062,35682,3900],{"className":35683},[1232],[1062,35685,2353],{"className":35686,"style":2397},[1181,1220],[1062,35688,2356],{"className":35689},[1181,1220],[1062,35691,2359],{"className":35692},[1181,1220],[1062,35694,3900],{"className":35695},[1232],[1062,35697,4621],{"className":35698,"style":1734},[1181,1220],[1062,35700,14477],{"className":35701},[1181,1220],[1062,35703,2201],{"className":35704},[1181,1220],[1062,35706],{"className":35707,"style":1742},[1232],[1062,35709,18497],{"className":35710},[1746],[986,35712,35713],{},"虽然：",[1062,35715,35717],{"className":35716},[7840],[1062,35718,35720,35758],{"className":35719},[1115],[1062,35721,35723],{"className":35722},[1119],[1121,35724,35725],{"xmlns":1123,"display":3391},[1125,35726,35727,35755],{},[1128,35728,35729,35731,35733,35735,35737,35739,35741,35743,35745,35747,35749,35751,35753],{},[1138,35730,3894],{},[1134,35732,1644],{},[1142,35734,3900],{},[1138,35736,1155],{},[1138,35738,2356],{},[1138,35740,2204],{},[1138,35742,2204],{},[1142,35744,3900],{},[1138,35746,2211],{},[1138,35748,2370],{},[1138,35750,2359],{},[1138,35752,2201],{},[1146,35754,18472],{},[1160,35756,35757],{"encoding":1162},"L1\\ Miss\\ Rate \\uparrow",[1062,35759,35761],{"className":35760,"ariaHidden":1168},[1167],[1062,35762,35764,35767,35770,35773,35776,35779,35782,35785,35788,35791,35794,35797,35800,35803],{"className":35763},[1172],[1062,35765],{"className":35766,"style":4550},[1176],[1062,35768,3894],{"className":35769},[1181,1220],[1062,35771,1644],{"className":35772},[1181],[1062,35774,3900],{"className":35775},[1232],[1062,35777,1155],{"className":35778,"style":1221},[1181,1220],[1062,35780,2356],{"className":35781},[1181,1220],[1062,35783,2505],{"className":35784},[1181,1220],[1062,35786,3900],{"className":35787},[1232],[1062,35789,2211],{"className":35790,"style":2281},[1181,1220],[1062,35792,2370],{"className":35793},[1181,1220],[1062,35795,2359],{"className":35796},[1181,1220],[1062,35798,2201],{"className":35799},[1181,1220],[1062,35801],{"className":35802,"style":1742},[1232],[1062,35804,18472],{"className":35805},[1746],[986,35807,35808],{},"但由于：",[1062,35810,35812],{"className":35811},[7840],[1062,35813,35815,35859],{"className":35814},[1115],[1062,35816,35818],{"className":35817},[1119],[1121,35819,35820],{"xmlns":1123,"display":3391},[1125,35821,35822,35856],{},[1128,35823,35824,35826,35828,35830,35832,35834,35836,35838,35840,35842,35844,35846,35848,35850,35852,35854],{},[1138,35825,3894],{},[1134,35827,1644],{},[1142,35829,3900],{},[1138,35831,1155],{},[1138,35833,2356],{},[1138,35835,2204],{},[1138,35837,2204],{},[1142,35839,3900],{},[1138,35841,1705],{},[1138,35843,2201],{},[1138,35845,3546],{},[1138,35847,2370],{},[1138,35849,2472],{},[1138,35851,2359],{},[1138,35853,4713],{},[1146,35855,18497],{},[1160,35857,35858],{"encoding":1162},"L1\\ Miss\\ Penalty \\downarrow",[1062,35860,35862],{"className":35861,"ariaHidden":1168},[1167],[1062,35863,35865,35868,35871,35874,35877,35880,35883,35886,35889,35892,35895,35898,35901,35904,35907,35910],{"className":35864},[1172],[1062,35866],{"className":35867,"style":4550},[1176],[1062,35869,3894],{"className":35870},[1181,1220],[1062,35872,1644],{"className":35873},[1181],[1062,35875,3900],{"className":35876},[1232],[1062,35878,1155],{"className":35879,"style":1221},[1181,1220],[1062,35881,2356],{"className":35882},[1181,1220],[1062,35884,2505],{"className":35885},[1181,1220],[1062,35887,3900],{"className":35888},[1232],[1062,35890,1705],{"className":35891,"style":1734},[1181,1220],[1062,35893,2201],{"className":35894},[1181,1220],[1062,35896,14580],{"className":35897},[1181,1220],[1062,35899,2472],{"className":35900,"style":2530},[1181,1220],[1062,35902,2359],{"className":35903},[1181,1220],[1062,35905,4713],{"className":35906,"style":2288},[1181,1220],[1062,35908],{"className":35909,"style":1742},[1232],[1062,35911,18497],{"className":35912},[1746],[986,35914,35915],{},"整体 AMAT 可能反而更好。",[986,35917,35918],{},"这正是 AMAT 权衡：",[1062,35920,35922],{"className":35921},[7840],[1062,35923,35925,36027],{"className":35924},[1115],[1062,35926,35928],{"className":35927},[1119],[1121,35929,35930],{"xmlns":1123,"display":3391},[1125,35931,35932,36024],{},[1128,35933,35934,35936,35938,35940,35942,35944,35946,35948,35950,35952,35954,35956,35958,35960,35962,35964,35966,35968,35970,35972,35974,35976,35978,35980,35982,35984,35986,35988,35990,35992,35994,35996,35998,36000,36002,36004,36006,36008,36010,36012,36014,36016,36018,36020,36022],{},[1138,35935,2190],{},[1138,35937,1155],{},[1138,35939,2190],{},[1138,35941,4621],{},[1146,35943,1711],{},[1138,35945,3894],{},[1134,35947,1644],{},[1142,35949,3900],{},[1138,35951,2353],{},[1138,35953,2356],{},[1138,35955,2359],{},[1142,35957,3900],{},[1138,35959,4621],{},[1138,35961,2356],{},[1138,35963,1610],{},[1138,35965,2201],{},[1146,35967,1647],{},[1138,35969,3894],{},[1134,35971,1644],{},[1142,35973,3900],{},[1138,35975,1155],{},[1138,35977,2356],{},[1138,35979,2204],{},[1138,35981,2204],{},[1142,35983,3900],{},[1138,35985,2211],{},[1138,35987,2370],{},[1138,35989,2359],{},[1138,35991,2201],{},[1146,35993,1148],{},[1138,35995,3894],{},[1134,35997,1644],{},[1142,35999,3900],{},[1138,36001,1155],{},[1138,36003,2356],{},[1138,36005,2204],{},[1138,36007,2204],{},[1142,36009,3900],{},[1138,36011,1705],{},[1138,36013,2201],{},[1138,36015,3546],{},[1138,36017,2370],{},[1138,36019,2472],{},[1138,36021,2359],{},[1138,36023,4713],{},[1160,36025,36026],{"encoding":1162},"AMAT = L1\\ Hit\\ Time + L1\\ Miss\\ Rate \\times L1\\ Miss\\ Penalty",[1062,36028,36030,36057,36102,36150],{"className":36029,"ariaHidden":1168},[1167],[1062,36031,36033,36036,36039,36042,36045,36048,36051,36054],{"className":36032},[1172],[1062,36034],{"className":36035,"style":1726},[1176],[1062,36037,2190],{"className":36038},[1181,1220],[1062,36040,1155],{"className":36041,"style":1221},[1181,1220],[1062,36043,2190],{"className":36044},[1181,1220],[1062,36046,4621],{"className":36047,"style":1734},[1181,1220],[1062,36049],{"className":36050,"style":1742},[1232],[1062,36052,1711],{"className":36053},[1746],[1062,36055],{"className":36056,"style":1742},[1232],[1062,36058,36060,36063,36066,36069,36072,36075,36078,36081,36084,36087,36090,36093,36096,36099],{"className":36059},[1172],[1062,36061],{"className":36062,"style":3748},[1176],[1062,36064,3894],{"className":36065},[1181,1220],[1062,36067,1644],{"className":36068},[1181],[1062,36070,3900],{"className":36071},[1232],[1062,36073,2353],{"className":36074,"style":2397},[1181,1220],[1062,36076,2356],{"className":36077},[1181,1220],[1062,36079,2359],{"className":36080},[1181,1220],[1062,36082,3900],{"className":36083},[1232],[1062,36085,4621],{"className":36086,"style":1734},[1181,1220],[1062,36088,14477],{"className":36089},[1181,1220],[1062,36091,2201],{"className":36092},[1181,1220],[1062,36094],{"className":36095,"style":1233},[1232],[1062,36097,1647],{"className":36098},[1237],[1062,36100],{"className":36101,"style":1233},[1232],[1062,36103,36105,36108,36111,36114,36117,36120,36123,36126,36129,36132,36135,36138,36141,36144,36147],{"className":36104},[1172],[1062,36106],{"className":36107,"style":3748},[1176],[1062,36109,3894],{"className":36110},[1181,1220],[1062,36112,1644],{"className":36113},[1181],[1062,36115,3900],{"className":36116},[1232],[1062,36118,1155],{"className":36119,"style":1221},[1181,1220],[1062,36121,2356],{"className":36122},[1181,1220],[1062,36124,2505],{"className":36125},[1181,1220],[1062,36127,3900],{"className":36128},[1232],[1062,36130,2211],{"className":36131,"style":2281},[1181,1220],[1062,36133,2370],{"className":36134},[1181,1220],[1062,36136,2359],{"className":36137},[1181,1220],[1062,36139,2201],{"className":36140},[1181,1220],[1062,36142],{"className":36143,"style":1233},[1232],[1062,36145,1148],{"className":36146},[1237],[1062,36148],{"className":36149,"style":1233},[1232],[1062,36151,36153,36156,36159,36162,36165,36168,36171,36174,36177,36180,36183,36186,36189,36192],{"className":36152},[1172],[1062,36154],{"className":36155,"style":4550},[1176],[1062,36157,3894],{"className":36158},[1181,1220],[1062,36160,1644],{"className":36161},[1181],[1062,36163,3900],{"className":36164},[1232],[1062,36166,1155],{"className":36167,"style":1221},[1181,1220],[1062,36169,2356],{"className":36170},[1181,1220],[1062,36172,2505],{"className":36173},[1181,1220],[1062,36175,3900],{"className":36176},[1232],[1062,36178,1705],{"className":36179,"style":1734},[1181,1220],[1062,36181,2201],{"className":36182},[1181,1220],[1062,36184,14580],{"className":36185},[1181,1220],[1062,36187,2472],{"className":36188,"style":2530},[1181,1220],[1062,36190,2359],{"className":36191},[1181,1220],[1062,36193,4713],{"className":36194,"style":2288},[1181,1220],[7727,36196],{},[996,36198,36200],{"id":36199},"如果有-l2可以让-l1-更简单","如果有 L2，可以让 L1 更简单",[986,36202,36203],{},"课件提到可以使用更简单的 L1 write-through。",[986,36205,36206],{},"因为 L2 可以是 write-back，用来吸收写流量。",[986,36208,36209],{},"这样 L1 写入虽然透写到 L2，但不一定继续写到片外 DRAM。",[986,36211,6806],{},[1896,36213,36216],{"className":36214,"code":36215,"language":1225},[1899],"L1 write-through + L2 write-back\n",[1902,36217,36215],{"__ignoreMap":1904},[986,36219,36220],{},"是一种合理组合。",[7727,36222],{},[996,36224,36226],{"id":36225},"为什么-l1-write-through-有好处","为什么 L1 write-through 有好处？",[986,36228,36229],{},"L1 write-through 可以简化：",[1344,36231,36232,36235,36238,36241,36244],{},[1347,36233,36234],{},"L1 控制逻辑；",[1347,36236,36237],{},"pipeline recovery；",[1347,36239,36240],{},"dirty victim handling；",[1347,36242,36243],{},"coherence；",[1347,36245,36246],{},"error recovery。",[986,36248,36249],{},"因为 L1 中不需要复杂地管理 dirty block。",[986,36251,36252],{},"L1 miss 时也不会出现 “先写回 dirty victim 再取新 block” 的复杂情况。",[7727,36254],{},[996,36256,31381],{"id":36257},"本页核心-4",[986,36259,36260],{},"L2 的存在让 L1 可以更激进地追求快和简单。",[1896,36262,36265],{"className":36263,"code":36264,"language":1225},[1899],"没有 L2：L1 miss penalty 太大，L1 不能太小。\n有 L2：L1 可以小而快，因为 L2 兜底。\n",[1902,36266,36264],{"__ignoreMap":1904},[7727,36268],{},[978,36270,36272],{"id":36271},"page-142多级-cache-的进一步考虑","Page 142｜多级 Cache 的进一步考虑",[986,36274,36275],{},[992,36276],{"alt":992,"src":36277},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-118.png",[986,36279,36280],{},"这一页是对多级 cache 设计的过渡总结。",[986,36282,36283],{},"多级 cache 设计要同时考虑：",[1344,36285,36286,36289,36292,36295,36298,36301,36304,36307,36310,36312],{},[1347,36287,36288],{},"L1 hit time；",[1347,36290,36291],{},"L1 miss rate；",[1347,36293,36294],{},"L2 hit time；",[1347,36296,36297],{},"L2 local miss rate；",[1347,36299,36300],{},"L2 global miss rate；",[1347,36302,36303],{},"L3 和 DRAM 访问代价；",[1347,36305,36306],{},"写策略；",[1347,36308,36309],{},"inclusion policy；",[1347,36311,36243],{},[1347,36313,36314],{},"power 和 area。",[986,36316,36317,36318],{},"这里的重点是：\n",[982,36319,36320],{},"多级 cache 不能只看单一级的性能。",[986,36322,36323],{},"例如 L2 local miss rate 可能很高，但 global miss rate 可能很低。",[986,36325,36326],{},"因为访问 L2 的本来只是 L1 miss 的一小部分。",[986,36328,36329],{},"所以评价 L2 时不能只说：",[1896,36331,36334],{"className":36332,"code":36333,"language":1225},[1899],"L2 local miss rate 高，所以 L2 不好\n",[1902,36335,36333],{"__ignoreMap":1904},[986,36337,36338],{},"而要看它对整体 AMAT 的影响。",[986,36340,36341],{},"整体公式是：",[1062,36343,36345],{"className":36344},[7840],[1062,36346,36348,36503],{"className":36347},[1115],[1062,36349,36351],{"className":36350},[1119],[1121,36352,36353],{"xmlns":1123,"display":3391},[1125,36354,36355,36501],{},[1128,36356,36357,36359,36361,36363,36365,36367,36369,36371,36373,36375,36377,36379,36381,36383,36385,36387,36389,36391,36393,36395,36397,36399,36401,36403,36405,36407,36409,36411,36413,36415,36417,36419,36421,36423,36425,36427,36429,36431,36433,36435,36437,36439,36441,36443,36445,36447,36449,36451,36453,36455,36457,36459,36461,36463,36465,36467,36469,36471,36473,36475,36477,36479,36481,36483,36485,36487,36489,36491,36493,36495,36497,36499],{},[1138,36358,2190],{},[1138,36360,1155],{},[1138,36362,2190],{},[1138,36364,4621],{},[1146,36366,1711],{},[1138,36368,3894],{},[1134,36370,1644],{},[1142,36372,3900],{},[1138,36374,2353],{},[1138,36376,2356],{},[1138,36378,2359],{},[1142,36380,3900],{},[1138,36382,4621],{},[1138,36384,2356],{},[1138,36386,1610],{},[1138,36388,2201],{},[1146,36390,1647],{},[1138,36392,3894],{},[1134,36394,1644],{},[1142,36396,3900],{},[1138,36398,1155],{},[1138,36400,2356],{},[1138,36402,2204],{},[1138,36404,2204],{},[1142,36406,3900],{},[1138,36408,2211],{},[1138,36410,2370],{},[1138,36412,2359],{},[1138,36414,2201],{},[1146,36416,1148],{},[1146,36418,7078],{"stretchy":2219},[1138,36420,3894],{},[1134,36422,1136],{},[1142,36424,3900],{},[1138,36426,2353],{},[1138,36428,2356],{},[1138,36430,2359],{},[1142,36432,3900],{},[1138,36434,4621],{},[1138,36436,2356],{},[1138,36438,1610],{},[1138,36440,2201],{},[1146,36442,1647],{},[1138,36444,3894],{},[1134,36446,1136],{},[1142,36448,3900],{},[1138,36450,1155],{},[1138,36452,2356],{},[1138,36454,2204],{},[1138,36456,2204],{},[1142,36458,3900],{},[1138,36460,2211],{},[1138,36462,2370],{},[1138,36464,2359],{},[1138,36466,2201],{},[1146,36468,1148],{},[1138,36470,3894],{},[1134,36472,1136],{},[1142,36474,3900],{},[1138,36476,1155],{},[1138,36478,2356],{},[1138,36480,2204],{},[1138,36482,2204],{},[1142,36484,3900],{},[1138,36486,1705],{},[1138,36488,2201],{},[1138,36490,3546],{},[1138,36492,2370],{},[1138,36494,2472],{},[1138,36496,2359],{},[1138,36498,4713],{},[1146,36500,7088],{"stretchy":2219},[1160,36502,26692],{"encoding":1162},[1062,36504,36506,36533,36578,36626,36674,36722],{"className":36505,"ariaHidden":1168},[1167],[1062,36507,36509,36512,36515,36518,36521,36524,36527,36530],{"className":36508},[1172],[1062,36510],{"className":36511,"style":1726},[1176],[1062,36513,2190],{"className":36514},[1181,1220],[1062,36516,1155],{"className":36517,"style":1221},[1181,1220],[1062,36519,2190],{"className":36520},[1181,1220],[1062,36522,4621],{"className":36523,"style":1734},[1181,1220],[1062,36525],{"className":36526,"style":1742},[1232],[1062,36528,1711],{"className":36529},[1746],[1062,36531],{"className":36532,"style":1742},[1232],[1062,36534,36536,36539,36542,36545,36548,36551,36554,36557,36560,36563,36566,36569,36572,36575],{"className":36535},[1172],[1062,36537],{"className":36538,"style":3748},[1176],[1062,36540,3894],{"className":36541},[1181,1220],[1062,36543,1644],{"className":36544},[1181],[1062,36546,3900],{"className":36547},[1232],[1062,36549,2353],{"className":36550,"style":2397},[1181,1220],[1062,36552,2356],{"className":36553},[1181,1220],[1062,36555,2359],{"className":36556},[1181,1220],[1062,36558,3900],{"className":36559},[1232],[1062,36561,4621],{"className":36562,"style":1734},[1181,1220],[1062,36564,14477],{"className":36565},[1181,1220],[1062,36567,2201],{"className":36568},[1181,1220],[1062,36570],{"className":36571,"style":1233},[1232],[1062,36573,1647],{"className":36574},[1237],[1062,36576],{"className":36577,"style":1233},[1232],[1062,36579,36581,36584,36587,36590,36593,36596,36599,36602,36605,36608,36611,36614,36617,36620,36623],{"className":36580},[1172],[1062,36582],{"className":36583,"style":3748},[1176],[1062,36585,3894],{"className":36586},[1181,1220],[1062,36588,1644],{"className":36589},[1181],[1062,36591,3900],{"className":36592},[1232],[1062,36594,1155],{"className":36595,"style":1221},[1181,1220],[1062,36597,2356],{"className":36598},[1181,1220],[1062,36600,2505],{"className":36601},[1181,1220],[1062,36603,3900],{"className":36604},[1232],[1062,36606,2211],{"className":36607,"style":2281},[1181,1220],[1062,36609,2370],{"className":36610},[1181,1220],[1062,36612,2359],{"className":36613},[1181,1220],[1062,36615,2201],{"className":36616},[1181,1220],[1062,36618],{"className":36619,"style":1233},[1232],[1062,36621,1148],{"className":36622},[1237],[1062,36624],{"className":36625,"style":1233},[1232],[1062,36627,36629,36632,36635,36638,36641,36644,36647,36650,36653,36656,36659,36662,36665,36668,36671],{"className":36628},[1172],[1062,36630],{"className":36631,"style":2277},[1176],[1062,36633,7078],{"className":36634},[2292],[1062,36636,3894],{"className":36637},[1181,1220],[1062,36639,1136],{"className":36640},[1181],[1062,36642,3900],{"className":36643},[1232],[1062,36645,2353],{"className":36646,"style":2397},[1181,1220],[1062,36648,2356],{"className":36649},[1181,1220],[1062,36651,2359],{"className":36652},[1181,1220],[1062,36654,3900],{"className":36655},[1232],[1062,36657,4621],{"className":36658,"style":1734},[1181,1220],[1062,36660,14477],{"className":36661},[1181,1220],[1062,36663,2201],{"className":36664},[1181,1220],[1062,36666],{"className":36667,"style":1233},[1232],[1062,36669,1647],{"className":36670},[1237],[1062,36672],{"className":36673,"style":1233},[1232],[1062,36675,36677,36680,36683,36686,36689,36692,36695,36698,36701,36704,36707,36710,36713,36716,36719],{"className":36676},[1172],[1062,36678],{"className":36679,"style":3748},[1176],[1062,36681,3894],{"className":36682},[1181,1220],[1062,36684,1136],{"className":36685},[1181],[1062,36687,3900],{"className":36688},[1232],[1062,36690,1155],{"className":36691,"style":1221},[1181,1220],[1062,36693,2356],{"className":36694},[1181,1220],[1062,36696,2505],{"className":36697},[1181,1220],[1062,36699,3900],{"className":36700},[1232],[1062,36702,2211],{"className":36703,"style":2281},[1181,1220],[1062,36705,2370],{"className":36706},[1181,1220],[1062,36708,2359],{"className":36709},[1181,1220],[1062,36711,2201],{"className":36712},[1181,1220],[1062,36714],{"className":36715,"style":1233},[1232],[1062,36717,1148],{"className":36718},[1237],[1062,36720],{"className":36721,"style":1233},[1232],[1062,36723,36725,36728,36731,36734,36737,36740,36743,36746,36749,36752,36755,36758,36761,36764,36767],{"className":36724},[1172],[1062,36726],{"className":36727,"style":2277},[1176],[1062,36729,3894],{"className":36730},[1181,1220],[1062,36732,1136],{"className":36733},[1181],[1062,36735,3900],{"className":36736},[1232],[1062,36738,1155],{"className":36739,"style":1221},[1181,1220],[1062,36741,2356],{"className":36742},[1181,1220],[1062,36744,2505],{"className":36745},[1181,1220],[1062,36747,3900],{"className":36748},[1232],[1062,36750,1705],{"className":36751,"style":1734},[1181,1220],[1062,36753,2201],{"className":36754},[1181,1220],[1062,36756,14580],{"className":36757},[1181,1220],[1062,36759,2472],{"className":36760,"style":2530},[1181,1220],[1062,36762,2359],{"className":36763},[1181,1220],[1062,36765,4713],{"className":36766,"style":2288},[1181,1220],[1062,36768,7088],{"className":36769},[2302],[986,36771,36772],{},"如果 L2 hit time 不太高，并且能挡住大量 DRAM 访问，那么它就是有效的。",[986,36774,36775],{},"本页可以理解为：",[986,36777,36778],{},"从这里开始，cache 优化不再只是容量、块大小、相联度，还包括更细的结构优化。",[7727,36780],{},[978,36782,36784],{"id":36783},"page-143sub-block用子块减少-tag-开销","Page 143｜Sub-Block｜用子块减少 Tag 开销",[986,36786,36787],{},[992,36788],{"alt":992,"src":36789},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-119.png",[986,36791,36792],{},"这一页讲：",[1896,36794,36797],{"className":36795,"code":36796,"language":1225},[1899],"Sub-blocking \u002F Sector Cache｜子块 \u002F 扇区缓存\n",[1902,36798,36796],{"__ignoreMap":1904},[996,36800,36802],{"id":36801},"问题tag-overhead-太大","问题：Tag Overhead 太大",[986,36804,36805],{},"如果 cache block 很小，那么 block 数量多，tag 数量也多，tag overhead 大。",[986,36807,36808],{},"一种简单方法是增大 block size。",[986,36810,36811],{},"但 larger block 会导致：",[1062,36813,36815],{"className":36814},[7840],[1062,36816,36818,36855],{"className":36817},[1115],[1062,36819,36821],{"className":36820},[1119],[1121,36822,36823],{"xmlns":1123,"display":3391},[1125,36824,36825,36853],{},[1128,36826,36827,36829,36831,36833,36835,36837,36839,36841,36843,36845,36847,36849,36851],{},[1138,36828,1155],{},[1138,36830,2356],{},[1138,36832,2204],{},[1138,36834,2204],{},[1142,36836,3900],{},[1138,36838,1705],{},[1138,36840,2201],{},[1138,36842,3546],{},[1138,36844,2370],{},[1138,36846,2472],{},[1138,36848,2359],{},[1138,36850,4713],{},[1146,36852,18472],{},[1160,36854,21013],{"encoding":1162},[1062,36856,36858],{"className":36857,"ariaHidden":1168},[1167],[1062,36859,36861,36864,36867,36870,36873,36876,36879,36882,36885,36888,36891,36894,36897],{"className":36860},[1172],[1062,36862],{"className":36863,"style":4550},[1176],[1062,36865,1155],{"className":36866,"style":1221},[1181,1220],[1062,36868,2356],{"className":36869},[1181,1220],[1062,36871,2505],{"className":36872},[1181,1220],[1062,36874,3900],{"className":36875},[1232],[1062,36877,1705],{"className":36878,"style":1734},[1181,1220],[1062,36880,2201],{"className":36881},[1181,1220],[1062,36883,14580],{"className":36884},[1181,1220],[1062,36886,2472],{"className":36887,"style":2530},[1181,1220],[1062,36889,2359],{"className":36890},[1181,1220],[1062,36892,4713],{"className":36893,"style":2288},[1181,1220],[1062,36895],{"className":36896,"style":1742},[1232],[1062,36898,18472],{"className":36899},[1746],[986,36901,36902],{},"因为 miss 时要搬整块。",[7727,36904],{},[996,36906,36908],{"id":36907},"sub-block-的思想","Sub-block 的思想",[986,36910,36911],{},"把一个大的 cache line 分成多个 sub-block。",[986,36913,36914],{},"整条 line 共享一个 tag，但每个 sub-block 有自己的 valid bit。",[986,36916,34867],{},[1896,36918,36921],{"className":36919,"code":36920,"language":1225},[1899],"一个 tag 管多个 sub-block\n每个 sub-block 单独标记是否有效\n",[1902,36922,36920],{"__ignoreMap":1904},[986,36924,36925],{},"这样可以减少 tag overhead，又不必每次 miss 都搬整条大 block。",[7727,36927],{},[996,36929,36931],{"id":36930},"访问时怎么判断","访问时怎么判断？",[986,36933,36934],{},"访问某个地址时，需要判断两件事：",[1377,36936,36937,36940],{},[1347,36938,36939],{},"tag 是否匹配；",[1347,36941,36942],{},"对应 sub-block 的 valid bit 是否为 1。",[986,36944,36945],{},"只有同时满足才是 hit：",[1062,36947,36949],{"className":36948},[7840],[1062,36950,36952,37020],{"className":36951},[1115],[1062,36953,36955],{"className":36954},[1119],[1121,36956,36957],{"xmlns":1123,"display":3391},[1125,36958,36959,37017],{},[1128,36960,36961,36963,36965,36967,36969,36971,36973,36975,36977,36979,36981,36983,36985,36987,36989,36991,36993,36995,36997,36999,37001,37003,37005,37007,37009,37011,37013,37015],{},[1138,36962,2353],{},[1138,36964,2356],{},[1138,36966,2359],{},[1146,36968,1711],{},[1138,36970,4621],{},[1138,36972,2370],{},[1138,36974,2216],{},[1142,36976,3900],{},[1138,36978,1155],{},[1138,36980,2370],{},[1138,36982,2359],{},[1138,36984,2373],{},[1138,36986,2376],{},[1146,36988,7091],{},[1138,36990,9259],{},[1138,36992,3909],{},[1138,36994,2469],{},[1138,36996,2469],{},[1138,36998,2472],{},[1138,37000,2475],{},[1138,37002,2373],{},[1138,37004,2480],{},[1142,37006,3900],{},[1138,37008,3074],{},[1138,37010,2370],{},[1138,37012,2472],{},[1138,37014,2356],{},[1138,37016,2193],{},[1160,37018,37019],{"encoding":1162},"Hit = Tag\\ Match \\land Subblock\\ Valid",[1062,37021,37023,37047,37089],{"className":37022,"ariaHidden":1168},[1167],[1062,37024,37026,37029,37032,37035,37038,37041,37044],{"className":37025},[1172],[1062,37027],{"className":37028,"style":1726},[1176],[1062,37030,2353],{"className":37031,"style":2397},[1181,1220],[1062,37033,2356],{"className":37034},[1181,1220],[1062,37036,2359],{"className":37037},[1181,1220],[1062,37039],{"className":37040,"style":1742},[1232],[1062,37042,1711],{"className":37043},[1746],[1062,37045],{"className":37046,"style":1742},[1232],[1062,37048,37050,37053,37056,37059,37062,37065,37068,37071,37074,37077,37080,37083,37086],{"className":37049},[1172],[1062,37051],{"className":37052,"style":4550},[1176],[1062,37054,4621],{"className":37055,"style":1734},[1181,1220],[1062,37057,2370],{"className":37058},[1181,1220],[1062,37060,2216],{"className":37061,"style":2288},[1181,1220],[1062,37063,3900],{"className":37064},[1232],[1062,37066,1155],{"className":37067,"style":1221},[1181,1220],[1062,37069,2370],{"className":37070},[1181,1220],[1062,37072,2359],{"className":37073},[1181,1220],[1062,37075,2373],{"className":37076},[1181,1220],[1062,37078,2376],{"className":37079},[1181,1220],[1062,37081],{"className":37082,"style":1233},[1232],[1062,37084,7091],{"className":37085},[1237],[1062,37087],{"className":37088,"style":1233},[1232],[1062,37090,37092,37095,37098,37101,37105,37108,37111,37114,37117,37120,37123,37126,37129],{"className":37091},[1172],[1062,37093],{"className":37094,"style":2246},[1176],[1062,37096,9259],{"className":37097,"style":9315},[1181,1220],[1062,37099,3909],{"className":37100},[1181,1220],[1062,37102,37104],{"className":37103},[1181,1220],"bb",[1062,37106,2472],{"className":37107,"style":2530},[1181,1220],[1062,37109,2534],{"className":37110},[1181,1220],[1062,37112,2480],{"className":37113,"style":2538},[1181,1220],[1062,37115,3900],{"className":37116},[1232],[1062,37118,3074],{"className":37119,"style":1233},[1181,1220],[1062,37121,2370],{"className":37122},[1181,1220],[1062,37124,2472],{"className":37125,"style":2530},[1181,1220],[1062,37127,2356],{"className":37128},[1181,1220],[1062,37130,2193],{"className":37131},[1181,1220],[986,37133,37134],{},"如果 tag match 但 sub-block invalid，说明这一大块区域的 tag 对，但目标小块还没被取进来。",[986,37136,37137],{},"这种情况还是 miss，只需要取对应 sub-block。",[7727,37139],{},[996,37141,31381],{"id":37142},"本页核心-5",[986,37144,37145],{},"sub-blocking 是在 larger block 和 smaller block 之间折中：",[1896,37147,37150],{"className":37148,"code":37149,"language":1225},[1899],"大 block 的 tag overhead 低\n小 block 的 miss penalty 低\nsub-block 想同时拿到两者部分好处\n",[1902,37151,37149],{"__ignoreMap":1904},[986,37153,37154],{},"代价是 valid bits 更多，控制更复杂。",[7727,37156],{},[978,37158,37160],{"id":37159},"page-144victim-cache受害者缓存","Page 144｜Victim Cache｜受害者缓存",[986,37162,37163],{},[992,37164],{"alt":992,"src":37165},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-120.png",[986,37167,37168],{},"这一页讲一个非常经典的优化：",[1896,37170,37173],{"className":37171,"code":37172,"language":1225},[1899],"Victim Cache\n",[1902,37174,37172],{"__ignoreMap":1904},[996,37176,37178],{"id":37177},"问题direct-mapped-cache-容易-conflict-miss","问题：Direct-Mapped Cache 容易 Conflict Miss",[986,37180,37181],{},"direct-mapped cache 的优点是 hit time 快。",[986,37183,37184],{},"但缺点是每个 memory block 只能放在唯一位置。",[986,37186,37187],{},"如果两个常用 blocks 映射到同一个 cache line，就会来回互相驱逐，也就是 ping-pong conflict miss。",[7727,37189],{},[996,37191,37193],{"id":37192},"victim-cache-的思想","Victim Cache 的思想",[986,37195,37196],{},"在 L1 direct-mapped cache 旁边加一个很小的 fully associative cache。",[986,37198,37199],{},"它保存最近从 L1 被 evict 出来的 blocks。",[986,37201,3629],{},[1377,37203,37204,37207,37210,37213,37216],{},[1347,37205,37206],{},"CPU 先查 L1；",[1347,37208,37209],{},"如果 L1 hit，正常返回；",[1347,37211,37212],{},"如果 L1 miss，再查 victim cache；",[1347,37214,37215],{},"如果 victim cache hit，就把 victim cache 中的 block 和 L1 当前 victim block 交换；",[1347,37217,37218],{},"如果 victim cache 也 miss，再访问 L2\u002Fmemory。",[7727,37220],{},[996,37222,37224],{"id":37223},"为什么有效","为什么有效？",[986,37226,37227],{},"很多 conflict miss 是短期冲突。",[986,37229,37230],{},"一个 block 刚被 L1 挤出去，马上又要用。",[986,37232,37233],{},"victim cache 正好保存这些刚被驱逐的数据。",[986,37235,37236],{},"所以它减少的是：",[1062,37238,37240],{"className":37239},[7840],[1062,37241,37243,37280],{"className":37242},[1115],[1062,37244,37246],{"className":37245},[1119],[1121,37247,37248],{"xmlns":1123,"display":3391},[1125,37249,37250,37278],{},[1128,37251,37252,37254,37256,37258,37260,37262,37264,37266,37268,37270,37272,37274,37276],{},[1138,37253,1702],{},[1138,37255,2475],{},[1138,37257,3546],{},[1138,37259,5426],{},[1138,37261,2472],{},[1138,37263,2356],{},[1138,37265,2373],{},[1138,37267,2359],{},[1142,37269,3900],{},[1138,37271,1155],{},[1138,37273,2356],{},[1138,37275,2204],{},[1138,37277,2204],{},[1160,37279,20341],{"encoding":1162},[1062,37281,37283],{"className":37282,"ariaHidden":1168},[1167],[1062,37284,37286,37289,37292,37295,37298,37301,37304,37307,37310,37313,37316,37319,37322],{"className":37285},[1172],[1062,37287],{"className":37288,"style":4550},[1176],[1062,37290,1702],{"className":37291,"style":1730},[1181,1220],[1062,37293,2475],{"className":37294},[1181,1220],[1062,37296,3546],{"className":37297},[1181,1220],[1062,37299,5426],{"className":37300,"style":5505},[1181,1220],[1062,37302,2472],{"className":37303,"style":2530},[1181,1220],[1062,37305,2356],{"className":37306},[1181,1220],[1062,37308,2373],{"className":37309},[1181,1220],[1062,37311,2359],{"className":37312},[1181,1220],[1062,37314,3900],{"className":37315},[1232],[1062,37317,1155],{"className":37318,"style":1221},[1181,1220],[1062,37320,2356],{"className":37321},[1181,1220],[1062,37323,2505],{"className":37324},[1181,1220],[986,37326,37327],{},"同时保留 direct-mapped L1 的优点：",[1062,37329,37331],{"className":37330},[7840],[1062,37332,37334,37371],{"className":37333},[1115],[1062,37335,37337],{"className":37336},[1119],[1121,37338,37339],{"xmlns":1123,"display":3391},[1125,37340,37341,37368],{},[1128,37342,37343,37345,37347,37349,37351,37353,37355,37357,37359,37361,37363,37365],{},[1138,37344,3894],{},[1134,37346,1644],{},[1142,37348,3900],{},[1138,37350,2353],{},[1138,37352,2356],{},[1138,37354,2359],{},[1142,37356,3900],{},[1138,37358,4621],{},[1138,37360,2356],{},[1138,37362,1610],{},[1138,37364,2201],{},[1142,37366,37367],{}," 仍然较快",[1160,37369,37370],{"encoding":1162},"L1\\ Hit\\ Time\\ 仍然较快",[1062,37372,37374],{"className":37373,"ariaHidden":1168},[1167],[1062,37375,37377,37380,37383,37386,37389,37392,37395,37398,37401,37404,37407,37410,37413],{"className":37376},[1172],[1062,37378],{"className":37379,"style":1726},[1176],[1062,37381,3894],{"className":37382},[1181,1220],[1062,37384,1644],{"className":37385},[1181],[1062,37387,3900],{"className":37388},[1232],[1062,37390,2353],{"className":37391,"style":2397},[1181,1220],[1062,37393,2356],{"className":37394},[1181,1220],[1062,37396,2359],{"className":37397},[1181,1220],[1062,37399,3900],{"className":37400},[1232],[1062,37402,4621],{"className":37403,"style":1734},[1181,1220],[1062,37405,14477],{"className":37406},[1181,1220],[1062,37408,2201],{"className":37409},[1181,1220],[1062,37411,3900],{"className":37412},[1232],[1062,37414,37416],{"className":37415},[1181,2422],"仍然较快",[7727,37418],{},[996,37420,31381],{"id":37421},"本页核心-6",[986,37423,37424],{},"victim cache 是一个典型折中：",[1896,37426,37429],{"className":37427,"code":37428,"language":1225},[1899],"L1 保持 direct-mapped 的快速 hit time\n小型 fully associative victim cache 负责吸收 conflict miss\n",[1902,37430,37428],{"__ignoreMap":1904},[986,37432,37433],{},"这比把整个 L1 做成高 associativity 更便宜。",[7727,37435],{},[978,37437,37439],{"id":37438},"page-145way-predicting-cache路预测缓存","Page 145｜Way-Predicting Cache｜路预测缓存",[986,37441,37442],{},[992,37443],{"alt":992,"src":37444},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-121.png",[986,37446,36792],{},[1896,37448,37451],{"className":37449,"code":37450,"language":1225},[1899],"Way Prediction\n",[1902,37452,37450],{"__ignoreMap":1904},[996,37454,37456],{"id":37455},"问题set-associative-cache-hit-time-更长","问题：Set-Associative Cache Hit Time 更长",[986,37458,37459],{},"N-way set associative cache 需要同时查多个 way，并用 MUX 选择正确数据。",[986,37461,37462],{},"这会增加：",[1062,37464,37466],{"className":37465},[7840],[1062,37467,37469,37496],{"className":37468},[1115],[1062,37470,37472],{"className":37471},[1119],[1121,37473,37474],{"xmlns":1123,"display":3391},[1125,37475,37476,37494],{},[1128,37477,37478,37480,37482,37484,37486,37488,37490,37492],{},[1138,37479,2353],{},[1138,37481,2356],{},[1138,37483,2359],{},[1142,37485,3900],{},[1138,37487,4621],{},[1138,37489,2356],{},[1138,37491,1610],{},[1138,37493,2201],{},[1160,37495,25573],{"encoding":1162},[1062,37497,37499],{"className":37498,"ariaHidden":1168},[1167],[1062,37500,37502,37505,37508,37511,37514,37517,37520,37523],{"className":37501},[1172],[1062,37503],{"className":37504,"style":1726},[1176],[1062,37506,2353],{"className":37507,"style":2397},[1181,1220],[1062,37509,2356],{"className":37510},[1181,1220],[1062,37512,2359],{"className":37513},[1181,1220],[1062,37515,3900],{"className":37516},[1232],[1062,37518,4621],{"className":37519,"style":1734},[1181,1220],[1062,37521,14477],{"className":37522},[1181,1220],[1062,37524,2201],{"className":37525},[1181,1220],[986,37527,37528],{},"但 associativity 又能减少：",[1062,37530,37532],{"className":37531},[7840],[1062,37533,37535,37572],{"className":37534},[1115],[1062,37536,37538],{"className":37537},[1119],[1121,37539,37540],{"xmlns":1123,"display":3391},[1125,37541,37542,37570],{},[1128,37543,37544,37546,37548,37550,37552,37554,37556,37558,37560,37562,37564,37566,37568],{},[1138,37545,1702],{},[1138,37547,2475],{},[1138,37549,3546],{},[1138,37551,5426],{},[1138,37553,2472],{},[1138,37555,2356],{},[1138,37557,2373],{},[1138,37559,2359],{},[1142,37561,3900],{},[1138,37563,1155],{},[1138,37565,2356],{},[1138,37567,2204],{},[1138,37569,2204],{},[1160,37571,20341],{"encoding":1162},[1062,37573,37575],{"className":37574,"ariaHidden":1168},[1167],[1062,37576,37578,37581,37584,37587,37590,37593,37596,37599,37602,37605,37608,37611,37614],{"className":37577},[1172],[1062,37579],{"className":37580,"style":4550},[1176],[1062,37582,1702],{"className":37583,"style":1730},[1181,1220],[1062,37585,2475],{"className":37586},[1181,1220],[1062,37588,3546],{"className":37589},[1181,1220],[1062,37591,5426],{"className":37592,"style":5505},[1181,1220],[1062,37594,2472],{"className":37595,"style":2530},[1181,1220],[1062,37597,2356],{"className":37598},[1181,1220],[1062,37600,2373],{"className":37601},[1181,1220],[1062,37603,2359],{"className":37604},[1181,1220],[1062,37606,3900],{"className":37607},[1232],[1062,37609,1155],{"className":37610,"style":1221},[1181,1220],[1062,37612,2356],{"className":37613},[1181,1220],[1062,37615,2505],{"className":37616},[1181,1220],[986,37618,37619],{},"所以有没有办法既保留 associativity，又让常见 hit 像 direct-mapped 一样快？",[7727,37621],{},[996,37623,37625],{"id":37624},"way-prediction-的思想","Way Prediction 的思想",[986,37627,37628],{},"为每个 index 维护一个预测表：",[1896,37630,37633],{"className":37631,"code":37632,"language":1225},[1899],"Way Prediction Table\n",[1902,37634,37632],{"__ignoreMap":1904},[986,37636,37637],{},"访问 cache 时，根据地址预测这次会 hit 哪个 way。",[986,37639,37640],{},"先只访问预测的 way。",[986,37642,37643],{},"如果预测正确：",[1896,37645,37648],{"className":37646,"code":37647,"language":1225},[1899],"Fast Hit\n",[1902,37649,37647],{"__ignoreMap":1904},[986,37651,37652],{},"速度接近 direct-mapped。",[986,37654,37655],{},"如果预测错误，但数据在其他 way：",[1896,37657,37660],{"className":37658,"code":37659,"language":1225},[1899],"Slow Hit\n",[1902,37661,37659],{"__ignoreMap":1904},[986,37663,37664],{},"需要再查其他 way，并更新 prediction table。",[986,37666,37667],{},"如果其他 way 也没有：",[1896,37669,37672],{"className":37670,"code":37671,"language":1225},[1899],"Miss\n",[1902,37673,37671],{"__ignoreMap":1904},[986,37675,37676],{},"再访问下一级 cache。",[7727,37678],{},[996,37680,31381],{"id":37681},"本页核心-7",[986,37683,37684],{},"way prediction 是在 hit time 和 miss rate 之间做折中：",[1896,37686,37689],{"className":37687,"code":37688,"language":1225},[1899],"用 set associativity 降 conflict miss\n用 way prediction 降常见 hit time\n",[1902,37690,37688],{"__ignoreMap":1904},[986,37692,35047],{},[1344,37694,37695,37698,37701],{},[1347,37696,37697],{},"需要预测表；",[1347,37699,37700],{},"预测错误会造成 slow hit；",[1347,37702,37703],{},"控制逻辑更复杂。",[7727,37705],{},[978,37707,37709],{"id":37708},"page-146way-predicting-instruction-cache","Page 146｜Way-Predicting Instruction Cache",[986,37711,37712],{},[992,37713],{"alt":992,"src":37714},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-122.png",[986,37716,37717],{},"这一页把 way prediction 用到 instruction cache 上。",[986,37719,37720],{},"Instruction cache 有很强的规律性：",[1344,37722,37723,37726],{},[1347,37724,37725],{},"大多数指令是顺序执行；",[1347,37727,37728],{},"分支跳转虽然会改变 PC，但分支目标也有一定可预测性。",[986,37730,37731],{},"所以可以记录：",[1896,37733,37736],{"className":37734,"code":37735,"language":1225},[1899],"Sequential Way\nBranch Target Way\n",[1902,37737,37735],{"__ignoreMap":1904},[986,37739,8234],{},[1344,37741,37742,37745],{},[1347,37743,37744],{},"顺序执行时预测下一个 PC 对应哪个 way；",[1347,37746,37747],{},"分支跳转时预测 branch target 对应哪个 way。",[7727,37749],{},[996,37751,37753],{"id":37752},"为什么-i-cache-适合-way-prediction","为什么 I-cache 适合 way prediction？",[986,37755,37756],{},"因为 instruction fetch 通常非常频繁，而且处在 pipeline 前端。",[986,37758,37759],{},"I-cache hit time 会直接影响取指带宽和流水线供给。",[986,37761,37762],{},"如果每次取指都查多个 way，会增加前端延迟和能耗。",[986,37764,37765],{},"way prediction 可以让大多数取指只访问一个预测 way，从而降低：",[1062,37767,37769],{"className":37768},[7840],[1062,37770,37772,37799],{"className":37771},[1115],[1062,37773,37775],{"className":37774},[1119],[1121,37776,37777],{"xmlns":1123,"display":3391},[1125,37778,37779,37797],{},[1128,37780,37781,37783,37785,37787,37789,37791,37793,37795],{},[1138,37782,2353],{},[1138,37784,2356],{},[1138,37786,2359],{},[1142,37788,3900],{},[1138,37790,4621],{},[1138,37792,2356],{},[1138,37794,1610],{},[1138,37796,2201],{},[1160,37798,25573],{"encoding":1162},[1062,37800,37802],{"className":37801,"ariaHidden":1168},[1167],[1062,37803,37805,37808,37811,37814,37817,37820,37823,37826],{"className":37804},[1172],[1062,37806],{"className":37807,"style":1726},[1176],[1062,37809,2353],{"className":37810,"style":2397},[1181,1220],[1062,37812,2356],{"className":37813},[1181,1220],[1062,37815,2359],{"className":37816},[1181,1220],[1062,37818,3900],{"className":37819},[1232],[1062,37821,4621],{"className":37822,"style":1734},[1181,1220],[1062,37824,14477],{"className":37825},[1181,1220],[1062,37827,2201],{"className":37828},[1181,1220],[986,37830,37831],{},"和：",[1062,37833,37835],{"className":37834},[7840],[1062,37836,37838,37884],{"className":37837},[1115],[1062,37839,37841],{"className":37840},[1119],[1121,37842,37843],{"xmlns":1123,"display":3391},[1125,37844,37845,37881],{},[1128,37846,37847,37849,37851,37853,37855,37857,37859,37861,37863,37865,37867,37869,37871,37873,37875,37877,37879],{},[1138,37848,35150],{},[1138,37850,3546],{},[1138,37852,2201],{},[1138,37854,2198],{},[1138,37856,2216],{},[1138,37858,4713],{},[1142,37860,3900],{},[1138,37862,1705],{},[1138,37864,2201],{},[1138,37866,2198],{},[1142,37868,3900],{},[1138,37870,2190],{},[1138,37872,2373],{},[1138,37874,2373],{},[1138,37876,2201],{},[1138,37878,2204],{},[1138,37880,2204],{},[1160,37882,37883],{"encoding":1162},"Energy\\ Per\\ Access",[1062,37885,37887],{"className":37886,"ariaHidden":1168},[1167],[1062,37888,37890,37893,37896,37899,37902,37905,37908,37911,37914,37917,37920,37923],{"className":37889},[1172],[1062,37891],{"className":37892,"style":5474},[1176],[1062,37894,35150],{"className":37895,"style":9315},[1181,1220],[1062,37897,3546],{"className":37898},[1181,1220],[1062,37900,15320],{"className":37901,"style":2257},[1181,1220],[1062,37903,2216],{"className":37904,"style":2288},[1181,1220],[1062,37906,4713],{"className":37907,"style":2288},[1181,1220],[1062,37909,3900],{"className":37910},[1232],[1062,37912,1705],{"className":37913,"style":1734},[1181,1220],[1062,37915,15320],{"className":37916,"style":2257},[1181,1220],[1062,37918,3900],{"className":37919},[1232],[1062,37921,2190],{"className":37922},[1181,1220],[1062,37924,26187],{"className":37925},[1181,1220],[7727,37927],{},[996,37929,31381],{"id":37930},"本页核心-8",[986,37932,37933],{},"instruction stream 有较强可预测性，因此适合做 way prediction。",[986,37935,37936],{},"工程直觉：",[1896,37938,37941],{"className":37939,"code":37940,"language":1225},[1899],"程序大多数时候顺序走，偶尔跳；所以可以预测下一条指令在哪个 way。\n",[1902,37942,37940],{"__ignoreMap":1904},[7727,37944],{},[978,37946,37948],{"id":37947},"page-147loop-interchange循环交换","Page 147｜Loop Interchange｜循环交换",[986,37950,37951],{},[992,37952],{"alt":992,"src":37953},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-123.png",[986,37955,37956],{},"这一页从硬件 cache 优化转向软件优化。",[986,37958,37959],{},"代码一：",[1896,37961,37964],{"className":37962,"code":37963,"language":2373,"meta":1904},[7050],"for(j = 0; j \u003C N; j++) {\n    for(i = 0; i \u003C M; i++) {\n        x[i][j] = 2 * x[i][j];\n    }\n}\n",[1902,37965,37963],{"__ignoreMap":1904},[986,37967,37968],{},"代码二：",[1896,37970,37973],{"className":37971,"code":37972,"language":2373,"meta":1904},[7050],"for(i = 0; i \u003C M; i++) {\n    for(j = 0; j \u003C N; j++) {\n        x[i][j] = 2 * x[i][j];\n    }\n}\n",[1902,37974,37972],{"__ignoreMap":1904},[986,37976,37977],{},"问题是：这改善什么 locality？",[7727,37979],{},[996,37981,37983],{"id":37982},"c-语言数组是-row-major","C 语言数组是 Row-Major",[986,37985,37986],{},"C 语言二维数组按行存储。",[986,37988,34867],{},[1896,37990,37993],{"className":37991,"code":37992,"language":1225},[1899],"x[i][0], x[i][1], x[i][2], ...\n",[1902,37994,37992],{"__ignoreMap":1904},[986,37996,37997],{},"在内存中连续。",[7727,37999],{},[996,38001,38002],{"id":38002},"原始代码的问题",[986,38004,38005],{},"原始代码是 j 在外层，i 在内层。",[986,38007,38008],{},"内层循环访问：",[1896,38010,38013],{"className":38011,"code":38012,"language":1225},[1899],"x[0][j], x[1][j], x[2][j], ...\n",[1902,38014,38012],{"__ignoreMap":1904},[986,38016,38017],{},"这是按列访问。",[986,38019,38020],{},"如果数组按行存储，那么相邻访问之间的地址跨度大约是：",[1062,38022,38024],{"className":38023},[7840],[1062,38025,38027,38081],{"className":38026},[1115],[1062,38028,38030],{"className":38029},[1119],[1121,38031,38032],{"xmlns":1123,"display":3391},[1125,38033,38034,38078],{},[1128,38035,38036,38038,38040,38042,38044,38046,38048,38050,38052,38054,38056,38058,38060,38062,38064,38066,38068,38070,38072,38074,38076],{},[1138,38037,9259],{},[1138,38039,2359],{},[1138,38041,2198],{},[1138,38043,2356],{},[1138,38045,2193],{},[1138,38047,2201],{},[1146,38049,1711],{},[1138,38051,1140],{},[1146,38053,1148],{},[1138,38055,35150],{},[1138,38057,2472],{},[1138,38059,2201],{},[1138,38061,1610],{},[1138,38063,2201],{},[1138,38065,3546],{},[1138,38067,2359],{},[1142,38069,3900],{},[1138,38071,9259],{},[1138,38073,2356],{},[1138,38075,5557],{},[1138,38077,2201],{},[1160,38079,38080],{"encoding":1162},"Stride = N \\times Element\\ Size",[1062,38082,38084,38117,38135],{"className":38083,"ariaHidden":1168},[1167],[1062,38085,38087,38090,38093,38096,38099,38102,38105,38108,38111,38114],{"className":38086},[1172],[1062,38088],{"className":38089,"style":2246},[1176],[1062,38091,9259],{"className":38092,"style":9315},[1181,1220],[1062,38094,2359],{"className":38095},[1181,1220],[1062,38097,2198],{"className":38098,"style":2257},[1181,1220],[1062,38100,2356],{"className":38101},[1181,1220],[1062,38103,2193],{"className":38104},[1181,1220],[1062,38106,2201],{"className":38107},[1181,1220],[1062,38109],{"className":38110,"style":1742},[1232],[1062,38112,1711],{"className":38113},[1746],[1062,38115],{"className":38116,"style":1742},[1232],[1062,38118,38120,38123,38126,38129,38132],{"className":38119},[1172],[1062,38121],{"className":38122,"style":3748},[1176],[1062,38124,1140],{"className":38125,"style":1221},[1181,1220],[1062,38127],{"className":38128,"style":1233},[1232],[1062,38130,1148],{"className":38131},[1237],[1062,38133],{"className":38134,"style":1233},[1232],[1062,38136,38138,38141,38144,38147,38150,38153,38156,38159,38162,38165,38168,38171,38174],{"className":38137},[1172],[1062,38139],{"className":38140,"style":2246},[1176],[1062,38142,35150],{"className":38143,"style":9315},[1181,1220],[1062,38145,2472],{"className":38146,"style":2530},[1181,1220],[1062,38148,2201],{"className":38149},[1181,1220],[1062,38151,1610],{"className":38152},[1181,1220],[1062,38154,2201],{"className":38155},[1181,1220],[1062,38157,3546],{"className":38158},[1181,1220],[1062,38160,2359],{"className":38161},[1181,1220],[1062,38163,3900],{"className":38164},[1232],[1062,38166,9259],{"className":38167,"style":9315},[1181,1220],[1062,38169,2356],{"className":38170},[1181,1220],[1062,38172,5557],{"className":38173,"style":5607},[1181,1220],[1062,38175,2201],{"className":38176},[1181,1220],[986,38178,38179],{},"这种 stride 访问空间局部性差。",[986,38181,38182],{},"每次可能跳到很远的位置，cache block 中带入的相邻数据用不上。",[7727,38184],{},[996,38186,38187],{"id":38187},"交换循环后的好处",[986,38189,38190],{},"交换后，i 在外层，j 在内层。",[986,38192,38008],{},[1896,38194,38196],{"className":38195,"code":37992,"language":1225},[1899],[1902,38197,37992],{"__ignoreMap":1904},[986,38199,38200],{},"这是按行连续访问。",[986,38202,38203],{},"所以它改善的是：",[1062,38205,38207],{"className":38206},[7840],[1062,38208,38210,38253],{"className":38209},[1115],[1062,38211,38213],{"className":38212},[1119],[1121,38214,38215],{"xmlns":1123,"display":3391},[1125,38216,38217,38251],{},[1128,38218,38219,38221,38223,38225,38227,38229,38231,38233,38235,38237,38239,38241,38243,38245,38247,38249],{},[1138,38220,9259],{},[1138,38222,986],{},[1138,38224,2370],{},[1138,38226,2359],{},[1138,38228,2356],{},[1138,38230,2370],{},[1138,38232,2472],{},[1142,38234,3900],{},[1138,38236,3894],{},[1138,38238,2475],{},[1138,38240,2373],{},[1138,38242,2370],{},[1138,38244,2472],{},[1138,38246,2356],{},[1138,38248,2359],{},[1138,38250,4713],{},[1160,38252,20156],{"encoding":1162},[1062,38254,38256],{"className":38255,"ariaHidden":1168},[1167],[1062,38257,38259,38262,38265,38268,38271,38274,38277,38280,38283,38286,38289,38292,38295,38298,38301],{"className":38258},[1172],[1062,38260],{"className":38261,"style":4550},[1176],[1062,38263,9259],{"className":38264,"style":9315},[1181,1220],[1062,38266,986],{"className":38267},[1181,1220],[1062,38269,2370],{"className":38270},[1181,1220],[1062,38272,2359],{"className":38273},[1181,1220],[1062,38275,17225],{"className":38276},[1181,1220],[1062,38278,2472],{"className":38279,"style":2530},[1181,1220],[1062,38281,3900],{"className":38282},[1232],[1062,38284,3894],{"className":38285},[1181,1220],[1062,38287,2534],{"className":38288},[1181,1220],[1062,38290,2370],{"className":38291},[1181,1220],[1062,38293,2472],{"className":38294,"style":2530},[1181,1220],[1062,38296,2356],{"className":38297},[1181,1220],[1062,38299,2359],{"className":38300},[1181,1220],[1062,38302,4713],{"className":38303,"style":2288},[1181,1220],[986,38305,38306],{},"因为连续访问内存中的相邻元素。",[7727,38308],{},[996,38310,31381],{"id":38311},"本页核心-9",[986,38313,38314],{},"Loop interchange 的目的通常是让内层循环沿着内存连续方向访问。",[986,38316,38317],{},"一句话：",[1896,38319,38322],{"className":38320,"code":38321,"language":1225},[1899],"把 stride access 变成 sequential access，提高 spatial locality。\n",[1902,38323,38321],{"__ignoreMap":1904},[7727,38325],{},[978,38327,38329],{"id":38328},"page-148loop-fusion循环融合","Page 148｜Loop Fusion｜循环融合",[986,38331,38332],{},[992,38333],{"alt":992,"src":38334},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-124.png",[986,38336,38337],{},"这一页讲第二种软件优化：",[1896,38339,38342],{"className":38340,"code":38341,"language":1225},[1899],"Loop Fusion\n",[1902,38343,38341],{"__ignoreMap":1904},[986,38345,38346],{},"原始代码：",[1896,38348,38351],{"className":38349,"code":38350,"language":2373,"meta":1904},[7050],"for(i = 0; i \u003C N; i++)\n    a[i] = b[i] * c[i];\n\nfor(i = 0; i \u003C N; i++)\n    d[i] = a[i] * c[i];\n",[1902,38352,38350],{"__ignoreMap":1904},[986,38354,38355],{},"融合后：",[1896,38357,38360],{"className":38358,"code":38359,"language":2373,"meta":1904},[7050],"for(i = 0; i \u003C N; i++) {\n    a[i] = b[i] * c[i];\n    d[i] = a[i] * c[i];\n}\n",[1902,38361,38359],{"__ignoreMap":1904},[986,38363,37977],{},[7727,38365],{},[996,38367,38002],{"id":38368},"原始代码的问题-1",[986,38370,38371,38372,2751],{},"第一段循环生成 a",[1062,38373,2356],{},[986,38375,38376,38377,2751],{},"第二段循环再使用 a",[1062,38378,2356],{},[986,38380,38381,38382,38384],{},"如果数组很大，那么第一段循环结束后，早期的 a",[1062,38383,2356],{}," 可能已经不在 cache 里了。",[986,38386,38387,38388,38390],{},"第二段再访问 a",[1062,38389,2356],{}," 时，可能产生 miss。",[7727,38392],{},[996,38394,38395],{"id":38395},"融合后的好处",[986,38397,38355],{},[1896,38399,38402],{"className":38400,"code":38401,"language":1225},[1899],"刚计算出 a[i]，马上使用 a[i]\n",[1902,38403,38401],{"__ignoreMap":1904},[986,38405,38406,38407,38409],{},"所以 a",[1062,38408,2356],{}," 的 reuse distance 变短。",[986,38411,38412],{},"它更可能还在 register 或 cache 中。",[986,38414,38415],{},"这改善的是：",[1062,38417,38419],{"className":38418},[7840],[1062,38420,38422,38468],{"className":38421},[1115],[1062,38423,38425],{"className":38424},[1119],[1121,38426,38427],{"xmlns":1123,"display":3391},[1125,38428,38429,38465],{},[1128,38430,38431,38433,38435,38437,38439,38441,38443,38445,38447,38449,38451,38453,38455,38457,38459,38461,38463],{},[1138,38432,4621],{},[1138,38434,2201],{},[1138,38436,1610],{},[1138,38438,986],{},[1138,38440,2475],{},[1138,38442,2198],{},[1138,38444,2370],{},[1138,38446,2472],{},[1142,38448,3900],{},[1138,38450,3894],{},[1138,38452,2475],{},[1138,38454,2373],{},[1138,38456,2370],{},[1138,38458,2472],{},[1138,38460,2356],{},[1138,38462,2359],{},[1138,38464,4713],{},[1160,38466,38467],{"encoding":1162},"Temporal\\ Locality",[1062,38469,38471],{"className":38470,"ariaHidden":1168},[1167],[1062,38472,38474,38477,38480,38483,38486,38489,38492,38495,38498,38501,38504,38507,38510,38513,38516,38519],{"className":38473},[1172],[1062,38475],{"className":38476,"style":4550},[1176],[1062,38478,4621],{"className":38479,"style":1734},[1181,1220],[1062,38481,2201],{"className":38482},[1181,1220],[1062,38484,1610],{"className":38485},[1181,1220],[1062,38487,986],{"className":38488},[1181,1220],[1062,38490,4811],{"className":38491,"style":2257},[1181,1220],[1062,38493,2370],{"className":38494},[1181,1220],[1062,38496,2472],{"className":38497,"style":2530},[1181,1220],[1062,38499,3900],{"className":38500},[1232],[1062,38502,3894],{"className":38503},[1181,1220],[1062,38505,2534],{"className":38506},[1181,1220],[1062,38508,2370],{"className":38509},[1181,1220],[1062,38511,2472],{"className":38512,"style":2530},[1181,1220],[1062,38514,2356],{"className":38515},[1181,1220],[1062,38517,2359],{"className":38518},[1181,1220],[1062,38520,4713],{"className":38521,"style":2288},[1181,1220],[986,38523,38524,38525,38527],{},"因为同一个数据 a",[1062,38526,2356],{}," 被更快地重复使用。",[986,38529,38530,38531,38533,38534,38536,38537,38539],{},"同时，对 b",[1062,38532,2356],{},"、c",[1062,38535,2356],{},"、d",[1062,38538,2356],{}," 的访问仍然是顺序的，所以 spatial locality 也保持较好。",[7727,38541],{},[996,38543,31381],{"id":38544},"本页核心-10",[986,38546,38547],{},"Loop fusion 的主要作用是：",[1896,38549,38552],{"className":38550,"code":38551,"language":1225},[1899],"缩短数据生产和消费之间的时间距离\n",[1902,38553,38551],{"__ignoreMap":1904},[986,38555,38556],{},"所以它主要改善 temporal locality。",[986,38558,38559,38560,38562],{},"如果能让 a",[1062,38561,2356],{}," 直接留在 register 里，甚至可以减少对 a 数组的部分 memory traffic。",[7727,38564],{},[978,38566,38568],{"id":38567},"page-149naïve-matrix-multiplication朴素矩阵乘法","Page 149｜Naïve Matrix Multiplication｜朴素矩阵乘法",[986,38570,38571],{},[992,38572],{"alt":992,"src":38573},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-125.png",[986,38575,38576],{},"这一页分析矩阵乘法的 cache 行为。",[986,38578,38579],{},"代码：",[1896,38581,38584],{"className":38582,"code":38583,"language":2373,"meta":1904},[7050],"for(i = 0; i \u003C N; i++)\n    for(j = 0; j \u003C N; j++) {\n        r = 0;\n        for(k = 0; k \u003C N; k++)\n            r = r + y[i][k] * z[k][j];\n        x[i][j] = r;\n    }\n",[1902,38585,38583],{"__ignoreMap":1904},[986,38587,38588],{},"假设 C 语言 row-major 存储。",[7727,38590],{},[996,38592,38594],{"id":38593},"x-的访问","x 的访问",[986,38596,38597,38598,38601],{},"x[i]",[1062,38599,38600],{},"j"," 在 j 内层变化时，是按行连续写入：",[1896,38603,38605],{"className":38604,"code":37992,"language":1225},[1899],[1902,38606,37992],{"__ignoreMap":1904},[986,38608,38609],{},"所以 x 的 spatial locality 比较好。",[986,38611,38612,38613,38615],{},"但每个 x[i]",[1062,38614,38600],{}," 在这个版本里通常是最后写一次，temporal locality 不强。",[7727,38617],{},[996,38619,38621],{"id":38620},"y-的访问","y 的访问",[986,38623,38624],{},"内层 k 循环访问：",[1896,38626,38629],{"className":38627,"code":38628,"language":1225},[1899],"y[i][0], y[i][1], y[i][2], ...\n",[1902,38630,38628],{"__ignoreMap":1904},[986,38632,38200],{},[986,38634,38635],{},"所以 y 在单次 j 计算中 spatial locality 好。",[986,38637,38638,38639,2751],{},"但是注意，对于固定 i，不同 j 会重复使用同一行 y[i]",[1062,38640,2480],{},[986,38642,38643],{},"如果 cache 能装下这行，y 也有 temporal locality。",[986,38645,38646],{},"如果装不下，就会重复从 memory 拉取。",[7727,38648],{},[996,38650,38652],{"id":38651},"z-的访问","z 的访问",[986,38654,38624],{},[1896,38656,38659],{"className":38657,"code":38658,"language":1225},[1899],"z[0][j], z[1][j], z[2][j], ...\n",[1902,38660,38658],{"__ignoreMap":1904},[986,38662,38017],{},[986,38664,38665,38666,38668],{},"在 C 的 row-major 存储下，z[k]",[1062,38667,38600],{}," 相邻访问之间 stride 很大：",[1062,38670,38672],{"className":38671},[7840],[1062,38673,38675,38728],{"className":38674},[1115],[1062,38676,38678],{"className":38677},[1119],[1121,38679,38680],{"xmlns":1123,"display":3391},[1125,38681,38682,38726],{},[1128,38683,38684,38686,38688,38690,38692,38694,38696,38698,38700,38702,38704,38706,38708,38710,38712,38714,38716,38718,38720,38722,38724],{},[1138,38685,9259],{},[1138,38687,2359],{},[1138,38689,2198],{},[1138,38691,2356],{},[1138,38693,2193],{},[1138,38695,2201],{},[1146,38697,1711],{},[1138,38699,1140],{},[1146,38701,1148],{},[1138,38703,35150],{},[1138,38705,2472],{},[1138,38707,2201],{},[1138,38709,1610],{},[1138,38711,2201],{},[1138,38713,3546],{},[1138,38715,2359],{},[1142,38717,3900],{},[1138,38719,9259],{},[1138,38721,2356],{},[1138,38723,5557],{},[1138,38725,2201],{},[1160,38727,38080],{"encoding":1162},[1062,38729,38731,38764,38782],{"className":38730,"ariaHidden":1168},[1167],[1062,38732,38734,38737,38740,38743,38746,38749,38752,38755,38758,38761],{"className":38733},[1172],[1062,38735],{"className":38736,"style":2246},[1176],[1062,38738,9259],{"className":38739,"style":9315},[1181,1220],[1062,38741,2359],{"className":38742},[1181,1220],[1062,38744,2198],{"className":38745,"style":2257},[1181,1220],[1062,38747,2356],{"className":38748},[1181,1220],[1062,38750,2193],{"className":38751},[1181,1220],[1062,38753,2201],{"className":38754},[1181,1220],[1062,38756],{"className":38757,"style":1742},[1232],[1062,38759,1711],{"className":38760},[1746],[1062,38762],{"className":38763,"style":1742},[1232],[1062,38765,38767,38770,38773,38776,38779],{"className":38766},[1172],[1062,38768],{"className":38769,"style":3748},[1176],[1062,38771,1140],{"className":38772,"style":1221},[1181,1220],[1062,38774],{"className":38775,"style":1233},[1232],[1062,38777,1148],{"className":38778},[1237],[1062,38780],{"className":38781,"style":1233},[1232],[1062,38783,38785,38788,38791,38794,38797,38800,38803,38806,38809,38812,38815,38818,38821],{"className":38784},[1172],[1062,38786],{"className":38787,"style":2246},[1176],[1062,38789,35150],{"className":38790,"style":9315},[1181,1220],[1062,38792,2472],{"className":38793,"style":2530},[1181,1220],[1062,38795,2201],{"className":38796},[1181,1220],[1062,38798,1610],{"className":38799},[1181,1220],[1062,38801,2201],{"className":38802},[1181,1220],[1062,38804,3546],{"className":38805},[1181,1220],[1062,38807,2359],{"className":38808},[1181,1220],[1062,38810,3900],{"className":38811},[1232],[1062,38813,9259],{"className":38814,"style":9315},[1181,1220],[1062,38816,2356],{"className":38817},[1181,1220],[1062,38819,5557],{"className":38820,"style":5607},[1181,1220],[1062,38822,2201],{"className":38823},[1181,1220],[986,38825,38826],{},"所以 z 的 spatial locality 很差。",[986,38828,38829],{},"这通常是朴素矩阵乘法 cache 性能差的主要原因之一。",[7727,38831],{},[996,38833,31381],{"id":38834},"本页核心-11",[986,38836,38837],{},"朴素矩阵乘法的问题是：",[1896,38839,38842],{"className":38840,"code":38841,"language":1225},[1899],"y 按行访问，较好；\nx 按行写入，较好；\nz 按列访问，很差。\n",[1902,38843,38841],{"__ignoreMap":1904},[986,38845,38846],{},"所以大量 cache miss 来自 z 的 stride access。",[986,38848,38849],{},"而且当 N 很大时，工作集超过 cache，y 和 z 的复用也不充分。",[7727,38851],{},[978,38853,38855],{"id":38854},"page-150cache-tiling矩阵乘法缓存分块","Page 150｜Cache Tiling｜矩阵乘法缓存分块",[986,38857,38858],{},[992,38859],{"alt":992,"src":38860},"\u002Fimg\u002FComputerOrganization\u002FL8-9-Memory-126.png",[986,38862,38863],{},"这一页讲矩阵乘法优化：",[1896,38865,38868],{"className":38866,"code":38867,"language":1225},[1899],"Cache Tiling \u002F Blocking｜缓存分块\n",[1902,38869,38867],{"__ignoreMap":1904},[986,38871,38872],{},"代码思想是把矩阵分成小块处理：",[1896,38874,38877],{"className":38875,"code":38876,"language":2373,"meta":1904},[7050],"for(jj = 0; jj \u003C N; jj = jj + B)\n    for(kk = 0; kk \u003C N; kk = kk + B)\n        for(i = 0; i \u003C N; i++)\n            for(j = jj; j \u003C min(jj+B, N); j++) {\n                r = 0;\n                for(k = kk; k \u003C min(kk+B, N); k++)\n                    r = r + y[i][k] * z[k][j];\n                x[i][j] = x[i][j] + r;\n            }\n",[1902,38878,38876],{"__ignoreMap":1904},[7727,38880],{},[996,38882,38884],{"id":38883},"tiling-的核心思想","Tiling 的核心思想",[986,38886,38887],{},"不要一次遍历整个大矩阵，而是每次只处理一个小 tile。",[986,38889,38890],{},"这样可以让当前正在使用的数据块尽量留在 cache 中。",[986,38892,38893],{},"目标是让 working set 满足：",[1062,38895,38897],{"className":38896},[7840],[1062,38898,38900,38975],{"className":38899},[1115],[1062,38901,38903],{"className":38902},[1119],[1121,38904,38905],{"xmlns":1123,"display":3391},[1125,38906,38907,38972],{},[1128,38908,38909,38911,38913,38915,38917,38919,38921,38923,38925,38927,38929,38931,38933,38935,38937,38939,38941,38944,38946,38948,38950,38952,38954,38956,38958,38960,38962,38964,38966,38968,38970],{},[1138,38910,4125],{},[1138,38912,2475],{},[1138,38914,2198],{},[1138,38916,2480],{},[1138,38918,2356],{},[1138,38920,3546],{},[1138,38922,2216],{},[1142,38924,3900],{},[1138,38926,9259],{},[1138,38928,2201],{},[1138,38930,2359],{},[1142,38932,3900],{},[1138,38934,9259],{},[1138,38936,2356],{},[1138,38938,5557],{},[1138,38940,2201],{},[1146,38942,38943],{},"≤",[1138,38945,1702],{},[1138,38947,2370],{},[1138,38949,2373],{},[1138,38951,2376],{},[1138,38953,2201],{},[1142,38955,3900],{},[1138,38957,1702],{},[1138,38959,2370],{},[1138,38961,986],{},[1138,38963,2370],{},[1138,38965,2373],{},[1138,38967,2356],{},[1138,38969,2359],{},[1138,38971,4713],{},[1160,38973,38974],{"encoding":1162},"Working\\ Set\\ Size \\le Cache\\ Capacity",[1062,38976,38978,39035],{"className":38977,"ariaHidden":1168},[1167],[1062,38979,38981,38984,38987,38990,38993,38996,38999,39002,39005,39008,39011,39014,39017,39020,39023,39026,39029,39032],{"className":38980},[1172],[1062,38982],{"className":38983,"style":4550},[1176],[1062,38985,4125],{"className":38986,"style":1734},[1181,1220],[1062,38988,4811],{"className":38989,"style":2257},[1181,1220],[1062,38991,2480],{"className":38992,"style":2538},[1181,1220],[1062,38994,3573],{"className":38995},[1181,1220],[1062,38997,2216],{"className":38998,"style":2288},[1181,1220],[1062,39000,3900],{"className":39001},[1232],[1062,39003,9259],{"className":39004,"style":9315},[1181,1220],[1062,39006,2201],{"className":39007},[1181,1220],[1062,39009,2359],{"className":39010},[1181,1220],[1062,39012,3900],{"className":39013},[1232],[1062,39015,9259],{"className":39016,"style":9315},[1181,1220],[1062,39018,2356],{"className":39019},[1181,1220],[1062,39021,5557],{"className":39022,"style":5607},[1181,1220],[1062,39024,2201],{"className":39025},[1181,1220],[1062,39027],{"className":39028,"style":1742},[1232],[1062,39030,38943],{"className":39031},[1746],[1062,39033],{"className":39034,"style":1742},[1232],[1062,39036,39038,39041,39044,39047,39050,39053,39056,39059,39062,39065,39068,39071,39074,39077,39080],{"className":39037},[1172],[1062,39039],{"className":39040,"style":4550},[1176],[1062,39042,1702],{"className":39043,"style":1730},[1181,1220],[1062,39045,2370],{"className":39046},[1181,1220],[1062,39048,2373],{"className":39049},[1181,1220],[1062,39051,2376],{"className":39052},[1181,1220],[1062,39054,2201],{"className":39055},[1181,1220],[1062,39057,3900],{"className":39058},[1232],[1062,39060,1702],{"className":39061,"style":1730},[1181,1220],[1062,39063,2370],{"className":39064},[1181,1220],[1062,39066,986],{"className":39067},[1181,1220],[1062,39069,2370],{"className":39070},[1181,1220],[1062,39072,2373],{"className":39073},[1181,1220],[1062,39075,2356],{"className":39076},[1181,1220],[1062,39078,2359],{"className":39079},[1181,1220],[1062,39081,4713],{"className":39082,"style":2288},[1181,1220],[986,39084,39085],{},"对于矩阵乘法，粗略可以理解为让 x、y、z 的相关小块放进 cache：",[1062,39087,39089],{"className":39088},[7840],[1062,39090,39092,39174],{"className":39091},[1115],[1062,39093,39095],{"className":39094},[1119],[1121,39096,39097],{"xmlns":1123,"display":3391},[1125,39098,39099,39171],{},[1128,39100,39101,39103,39105,39107,39109,39111,39113,39115,39117,39119,39121,39123,39125,39127,39129,39131,39133,39135,39137,39139,39141,39143,39145,39147,39149,39151,39153,39155,39157,39159,39161,39163,39165,39167,39169],{},[1138,39102,4621],{},[1138,39104,2356],{},[1138,39106,2472],{},[1138,39108,2201],{},[1142,39110,3900],{},[1138,39112,2938],{},[1138,39114,2475],{},[1138,39116,2475],{},[1138,39118,2359],{},[1138,39120,986],{},[1138,39122,2198],{},[1138,39124,2356],{},[1138,39126,3546],{},[1138,39128,2359],{},[1146,39130,15243],{},[1138,39132,2064],{},[1142,39134,3900],{},[1138,39136,2359],{},[1138,39138,2356],{},[1138,39140,2472],{},[1138,39142,2201],{},[1146,39144,1647],{},[1138,39146,4713],{},[1142,39148,3900],{},[1138,39150,2359],{},[1138,39152,2356],{},[1138,39154,2472],{},[1138,39156,2201],{},[1146,39158,1647],{},[1138,39160,5557],{},[1142,39162,3900],{},[1138,39164,2359],{},[1138,39166,2356],{},[1138,39168,2472],{},[1138,39170,2201],{},[1160,39172,39173],{"encoding":1162},"Tile\\ Footprint \\approx x\\ tile + y\\ tile + z\\ tile",[1062,39175,39177,39227,39260,39293],{"className":39176,"ariaHidden":1168},[1167],[1062,39178,39180,39183,39186,39189,39192,39195,39198,39201,39205,39209,39212,39215,39218,39221,39224],{"className":39179},[1172],[1062,39181],{"className":39182,"style":4550},[1176],[1062,39184,4621],{"className":39185,"style":1734},[1181,1220],[1062,39187,2356],{"className":39188},[1181,1220],[1062,39190,2472],{"className":39191,"style":2530},[1181,1220],[1062,39193,2201],{"className":39194},[1181,1220],[1062,39196,3900],{"className":39197},[1232],[1062,39199,2938],{"className":39200,"style":1734},[1181,1220],[1062,39202,39204],{"className":39203},[1181,1220],"oo",[1062,39206,39208],{"className":39207},[1181,1220],"tp",[1062,39210,2198],{"className":39211,"style":2257},[1181,1220],[1062,39213,3573],{"className":39214},[1181,1220],[1062,39216,2359],{"className":39217},[1181,1220],[1062,39219],{"className":39220,"style":1742},[1232],[1062,39222,15243],{"className":39223},[1746],[1062,39225],{"className":39226,"style":1742},[1232],[1062,39228,39230,39233,39236,39239,39242,39245,39248,39251,39254,39257],{"className":39229},[1172],[1062,39231],{"className":39232,"style":9447},[1176],[1062,39234,2064],{"className":39235},[1181,1220],[1062,39237,3900],{"className":39238},[1232],[1062,39240,2359],{"className":39241},[1181,1220],[1062,39243,2356],{"className":39244},[1181,1220],[1062,39246,2472],{"className":39247,"style":2530},[1181,1220],[1062,39249,2201],{"className":39250},[1181,1220],[1062,39252],{"className":39253,"style":1233},[1232],[1062,39255,1647],{"className":39256},[1237],[1062,39258],{"className":39259,"style":1233},[1232],[1062,39261,39263,39266,39269,39272,39275,39278,39281,39284,39287,39290],{"className":39262},[1172],[1062,39264],{"className":39265,"style":4550},[1176],[1062,39267,4713],{"className":39268,"style":2288},[1181,1220],[1062,39270,3900],{"className":39271},[1232],[1062,39273,2359],{"className":39274},[1181,1220],[1062,39276,2356],{"className":39277},[1181,1220],[1062,39279,2472],{"className":39280,"style":2530},[1181,1220],[1062,39282,2201],{"className":39283},[1181,1220],[1062,39285],{"className":39286,"style":1233},[1232],[1062,39288,1647],{"className":39289},[1237],[1062,39291],{"className":39292,"style":1233},[1232],[1062,39294,39296,39299,39302,39305,39308,39311,39314],{"className":39295},[1172],[1062,39297],{"className":39298,"style":2246},[1176],[1062,39300,5557],{"className":39301,"style":5607},[1181,1220],[1062,39303,3900],{"className":39304},[1232],[1062,39306,2359],{"className":39307},[1181,1220],[1062,39309,2356],{"className":39310},[1181,1220],[1062,39312,2472],{"className":39313,"style":2530},[1181,1220],[1062,39315,2201],{"className":39316},[1181,1220],[986,39318,39319],{},"如果 tile size 选得合适，就能显著减少 cache miss。",[7727,39321],{},[996,39323,39325],{"id":39324},"它改善什么-locality","它改善什么 locality？",[1015,39327,39329],{"id":39328},"_1-temporal-locality","1. Temporal Locality",[986,39331,39332],{},"tiling 让同一小块数据在短时间内被反复使用。",[986,39334,39335],{},"例如 z 的一个小块被加载进 cache 后，会参与多个乘加操作，而不是用一次就被挤掉。",[986,39337,6806],{},[1062,39339,39341],{"className":39340},[7840],[1062,39342,39344,39392],{"className":39343},[1115],[1062,39345,39347],{"className":39346},[1119],[1121,39348,39349],{"xmlns":1123,"display":3391},[1125,39350,39351,39389],{},[1128,39352,39353,39355,39357,39359,39361,39363,39365,39367,39369,39371,39373,39375,39377,39379,39381,39383,39385,39387],{},[1138,39354,4621],{},[1138,39356,2201],{},[1138,39358,1610],{},[1138,39360,986],{},[1138,39362,2475],{},[1138,39364,2198],{},[1138,39366,2370],{},[1138,39368,2472],{},[1142,39370,3900],{},[1138,39372,3894],{},[1138,39374,2475],{},[1138,39376,2373],{},[1138,39378,2370],{},[1138,39380,2472],{},[1138,39382,2356],{},[1138,39384,2359],{},[1138,39386,4713],{},[1146,39388,18472],{},[1160,39390,39391],{"encoding":1162},"Temporal\\ Locality \\uparrow",[1062,39393,39395],{"className":39394,"ariaHidden":1168},[1167],[1062,39396,39398,39401,39404,39407,39410,39413,39416,39419,39422,39425,39428,39431,39434,39437,39440,39443,39446,39449],{"className":39397},[1172],[1062,39399],{"className":39400,"style":4550},[1176],[1062,39402,4621],{"className":39403,"style":1734},[1181,1220],[1062,39405,2201],{"className":39406},[1181,1220],[1062,39408,1610],{"className":39409},[1181,1220],[1062,39411,986],{"className":39412},[1181,1220],[1062,39414,4811],{"className":39415,"style":2257},[1181,1220],[1062,39417,2370],{"className":39418},[1181,1220],[1062,39420,2472],{"className":39421,"style":2530},[1181,1220],[1062,39423,3900],{"className":39424},[1232],[1062,39426,3894],{"className":39427},[1181,1220],[1062,39429,2534],{"className":39430},[1181,1220],[1062,39432,2370],{"className":39433},[1181,1220],[1062,39435,2472],{"className":39436,"style":2530},[1181,1220],[1062,39438,2356],{"className":39439},[1181,1220],[1062,39441,2359],{"className":39442},[1181,1220],[1062,39444,4713],{"className":39445,"style":2288},[1181,1220],[1062,39447],{"className":39448,"style":1742},[1232],[1062,39450,18472],{"className":39451},[1746],[7727,39453],{},[1015,39455,39457],{"id":39456},"_2-spatial-locality","2. Spatial Locality",[986,39459,39460],{},"tile 内部访问通常更连续。",[986,39462,39463],{},"尤其是 j 和 k 被限制在小范围内，访问更集中。",[986,39465,6806],{},[1062,39467,39469],{"className":39468},[7840],[1062,39470,39472,39518],{"className":39471},[1115],[1062,39473,39475],{"className":39474},[1119],[1121,39476,39477],{"xmlns":1123,"display":3391},[1125,39478,39479,39515],{},[1128,39480,39481,39483,39485,39487,39489,39491,39493,39495,39497,39499,39501,39503,39505,39507,39509,39511,39513],{},[1138,39482,9259],{},[1138,39484,986],{},[1138,39486,2370],{},[1138,39488,2359],{},[1138,39490,2356],{},[1138,39492,2370],{},[1138,39494,2472],{},[1142,39496,3900],{},[1138,39498,3894],{},[1138,39500,2475],{},[1138,39502,2373],{},[1138,39504,2370],{},[1138,39506,2472],{},[1138,39508,2356],{},[1138,39510,2359],{},[1138,39512,4713],{},[1146,39514,18472],{},[1160,39516,39517],{"encoding":1162},"Spatial\\ Locality \\uparrow",[1062,39519,39521],{"className":39520,"ariaHidden":1168},[1167],[1062,39522,39524,39527,39530,39533,39536,39539,39542,39545,39548,39551,39554,39557,39560,39563,39566,39569,39572],{"className":39523},[1172],[1062,39525],{"className":39526,"style":4550},[1176],[1062,39528,9259],{"className":39529,"style":9315},[1181,1220],[1062,39531,986],{"className":39532},[1181,1220],[1062,39534,2370],{"className":39535},[1181,1220],[1062,39537,2359],{"className":39538},[1181,1220],[1062,39540,17225],{"className":39541},[1181,1220],[1062,39543,2472],{"className":39544,"style":2530},[1181,1220],[1062,39546,3900],{"className":39547},[1232],[1062,39549,3894],{"className":39550},[1181,1220],[1062,39552,2534],{"className":39553},[1181,1220],[1062,39555,2370],{"className":39556},[1181,1220],[1062,39558,2472],{"className":39559,"style":2530},[1181,1220],[1062,39561,2356],{"className":39562},[1181,1220],[1062,39564,2359],{"className":39565},[1181,1220],[1062,39567,4713],{"className":39568,"style":2288},[1181,1220],[1062,39570],{"className":39571,"style":1742},[1232],[1062,39573,18472],{"className":39574},[1746],[7727,39576],{},[996,39578,39580],{"id":39579},"为什么比-naïve-好","为什么比 naïve 好？",[986,39582,39583],{},"朴素矩阵乘法的问题是访问范围太大。",[986,39585,39586],{},"一个数据还没来得及复用，就可能被其他数据挤出 cache。",[986,39588,39589],{},"tiling 把大问题切成小问题，让一小片数据在 cache 中反复使用。",[986,39591,39592],{},"这相当于把 memory access 从：",[1896,39594,39597],{"className":39595,"code":39596,"language":1225},[1899],"全矩阵范围内大跨度访问\n",[1902,39598,39596],{"__ignoreMap":1904},[986,39600,6087],{},[1896,39602,39605],{"className":39603,"code":39604,"language":1225},[1899],"小块范围内集中访问\n",[1902,39606,39604],{"__ignoreMap":1904},[7727,39608],{},[996,39610,31381],{"id":39611},"本页核心-12",[986,39613,39614],{},"Cache tiling 是软件层面最经典的 cache optimization。",[986,39616,39617],{},"它的本质是：",[1896,39619,39622],{"className":39620,"code":39621,"language":1225},[1899],"通过改变循环顺序和计算粒度，让 working set fit in cache。\n",[1902,39623,39621],{"__ignoreMap":1904},[986,39625,39626],{},"它同时改善：",[1062,39628,39630],{"className":39629},[7840],[1062,39631,39633,39678],{"className":39632},[1115],[1062,39634,39636],{"className":39635},[1119],[1121,39637,39638],{"xmlns":1123,"display":3391},[1125,39639,39640,39676],{},[1128,39641,39642,39644,39646,39648,39650,39652,39654,39656,39658,39660,39662,39664,39666,39668,39670,39672,39674],{},[1138,39643,4621],{},[1138,39645,2201],{},[1138,39647,1610],{},[1138,39649,986],{},[1138,39651,2475],{},[1138,39653,2198],{},[1138,39655,2370],{},[1138,39657,2472],{},[1142,39659,3900],{},[1138,39661,3894],{},[1138,39663,2475],{},[1138,39665,2373],{},[1138,39667,2370],{},[1138,39669,2472],{},[1138,39671,2356],{},[1138,39673,2359],{},[1138,39675,4713],{},[1160,39677,38467],{"encoding":1162},[1062,39679,39681],{"className":39680,"ariaHidden":1168},[1167],[1062,39682,39684,39687,39690,39693,39696,39699,39702,39705,39708,39711,39714,39717,39720,39723,39726,39729],{"className":39683},[1172],[1062,39685],{"className":39686,"style":4550},[1176],[1062,39688,4621],{"className":39689,"style":1734},[1181,1220],[1062,39691,2201],{"className":39692},[1181,1220],[1062,39694,1610],{"className":39695},[1181,1220],[1062,39697,986],{"className":39698},[1181,1220],[1062,39700,4811],{"className":39701,"style":2257},[1181,1220],[1062,39703,2370],{"className":39704},[1181,1220],[1062,39706,2472],{"className":39707,"style":2530},[1181,1220],[1062,39709,3900],{"className":39710},[1232],[1062,39712,3894],{"className":39713},[1181,1220],[1062,39715,2534],{"className":39716},[1181,1220],[1062,39718,2370],{"className":39719},[1181,1220],[1062,39721,2472],{"className":39722,"style":2530},[1181,1220],[1062,39724,2356],{"className":39725},[1181,1220],[1062,39727,2359],{"className":39728},[1181,1220],[1062,39730,4713],{"className":39731,"style":2288},[1181,1220],[986,39733,37831],{},[1062,39735,39737],{"className":39736},[7840],[1062,39738,39740,39783],{"className":39739},[1115],[1062,39741,39743],{"className":39742},[1119],[1121,39744,39745],{"xmlns":1123,"display":3391},[1125,39746,39747,39781],{},[1128,39748,39749,39751,39753,39755,39757,39759,39761,39763,39765,39767,39769,39771,39773,39775,39777,39779],{},[1138,39750,9259],{},[1138,39752,986],{},[1138,39754,2370],{},[1138,39756,2359],{},[1138,39758,2356],{},[1138,39760,2370],{},[1138,39762,2472],{},[1142,39764,3900],{},[1138,39766,3894],{},[1138,39768,2475],{},[1138,39770,2373],{},[1138,39772,2370],{},[1138,39774,2472],{},[1138,39776,2356],{},[1138,39778,2359],{},[1138,39780,4713],{},[1160,39782,20156],{"encoding":1162},[1062,39784,39786],{"className":39785,"ariaHidden":1168},[1167],[1062,39787,39789,39792,39795,39798,39801,39804,39807,39810,39813,39816,39819,39822,39825,39828,39831],{"className":39788},[1172],[1062,39790],{"className":39791,"style":4550},[1176],[1062,39793,9259],{"className":39794,"style":9315},[1181,1220],[1062,39796,986],{"className":39797},[1181,1220],[1062,39799,2370],{"className":39800},[1181,1220],[1062,39802,2359],{"className":39803},[1181,1220],[1062,39805,17225],{"className":39806},[1181,1220],[1062,39808,2472],{"className":39809,"style":2530},[1181,1220],[1062,39811,3900],{"className":39812},[1232],[1062,39814,3894],{"className":39815},[1181,1220],[1062,39817,2534],{"className":39818},[1181,1220],[1062,39820,2370],{"className":39821},[1181,1220],[1062,39823,2472],{"className":39824,"style":2530},[1181,1220],[1062,39826,2356],{"className":39827},[1181,1220],[1062,39829,2359],{"className":39830},[1181,1220],[1062,39832,4713],{"className":39833,"style":2288},[1181,1220],[986,39835,39836],{},"但 tile size 不能随便选。",[986,39838,39839],{},"B 太小，循环 overhead 大，复用不足；B 太大，tile 放不进 cache，miss 又会上升。",[7727,39841],{},[978,39843,39845],{"id":39844},"page-122150-总结这一段整体逻辑","Page 122–150 总结｜这一段整体逻辑",[986,39847,39848,39849,39852,39853,39856,39857,2751],{},"这部分从 ",[982,39850,39851],{},"cache 硬件层级优化"," 逐渐过渡到 ",[982,39854,39855],{},"写策略","，最后进入 ",[982,39858,39859],{},"软件 locality 优化",[7727,39861],{},[996,39863,39865],{"id":39864},"_1-多级缓存降低-miss-penalty","1. 多级缓存降低 Miss Penalty",[986,39867,39868],{},"核心公式：",[1062,39870,39872],{"className":39871},[7840],[1062,39873,39875,40030],{"className":39874},[1115],[1062,39876,39878],{"className":39877},[1119],[1121,39879,39880],{"xmlns":1123,"display":3391},[1125,39881,39882,40028],{},[1128,39883,39884,39886,39888,39890,39892,39894,39896,39898,39900,39902,39904,39906,39908,39910,39912,39914,39916,39918,39920,39922,39924,39926,39928,39930,39932,39934,39936,39938,39940,39942,39944,39946,39948,39950,39952,39954,39956,39958,39960,39962,39964,39966,39968,39970,39972,39974,39976,39978,39980,39982,39984,39986,39988,39990,39992,39994,39996,39998,40000,40002,40004,40006,40008,40010,40012,40014,40016,40018,40020,40022,40024,40026],{},[1138,39885,2190],{},[1138,39887,1155],{},[1138,39889,2190],{},[1138,39891,4621],{},[1146,39893,1711],{},[1138,39895,3894],{},[1134,39897,1644],{},[1142,39899,3900],{},[1138,39901,2353],{},[1138,39903,2356],{},[1138,39905,2359],{},[1142,39907,3900],{},[1138,39909,4621],{},[1138,39911,2356],{},[1138,39913,1610],{},[1138,39915,2201],{},[1146,39917,1647],{},[1138,39919,3894],{},[1134,39921,1644],{},[1142,39923,3900],{},[1138,39925,1155],{},[1138,39927,2356],{},[1138,39929,2204],{},[1138,39931,2204],{},[1142,39933,3900],{},[1138,39935,2211],{},[1138,39937,2370],{},[1138,39939,2359],{},[1138,39941,2201],{},[1146,39943,1148],{},[1146,39945,7078],{"stretchy":2219},[1138,39947,3894],{},[1134,39949,1136],{},[1142,39951,3900],{},[1138,39953,2353],{},[1138,39955,2356],{},[1138,39957,2359],{},[1142,39959,3900],{},[1138,39961,4621],{},[1138,39963,2356],{},[1138,39965,1610],{},[1138,39967,2201],{},[1146,39969,1647],{},[1138,39971,3894],{},[1134,39973,1136],{},[1142,39975,3900],{},[1138,39977,1155],{},[1138,39979,2356],{},[1138,39981,2204],{},[1138,39983,2204],{},[1142,39985,3900],{},[1138,39987,2211],{},[1138,39989,2370],{},[1138,39991,2359],{},[1138,39993,2201],{},[1146,39995,1148],{},[1138,39997,3894],{},[1134,39999,1136],{},[1142,40001,3900],{},[1138,40003,1155],{},[1138,40005,2356],{},[1138,40007,2204],{},[1138,40009,2204],{},[1142,40011,3900],{},[1138,40013,1705],{},[1138,40015,2201],{},[1138,40017,3546],{},[1138,40019,2370],{},[1138,40021,2472],{},[1138,40023,2359],{},[1138,40025,4713],{},[1146,40027,7088],{"stretchy":2219},[1160,40029,26692],{"encoding":1162},[1062,40031,40033,40060,40105,40153,40201,40249],{"className":40032,"ariaHidden":1168},[1167],[1062,40034,40036,40039,40042,40045,40048,40051,40054,40057],{"className":40035},[1172],[1062,40037],{"className":40038,"style":1726},[1176],[1062,40040,2190],{"className":40041},[1181,1220],[1062,40043,1155],{"className":40044,"style":1221},[1181,1220],[1062,40046,2190],{"className":40047},[1181,1220],[1062,40049,4621],{"className":40050,"style":1734},[1181,1220],[1062,40052],{"className":40053,"style":1742},[1232],[1062,40055,1711],{"className":40056},[1746],[1062,40058],{"className":40059,"style":1742},[1232],[1062,40061,40063,40066,40069,40072,40075,40078,40081,40084,40087,40090,40093,40096,40099,40102],{"className":40062},[1172],[1062,40064],{"className":40065,"style":3748},[1176],[1062,40067,3894],{"className":40068},[1181,1220],[1062,40070,1644],{"className":40071},[1181],[1062,40073,3900],{"className":40074},[1232],[1062,40076,2353],{"className":40077,"style":2397},[1181,1220],[1062,40079,2356],{"className":40080},[1181,1220],[1062,40082,2359],{"className":40083},[1181,1220],[1062,40085,3900],{"className":40086},[1232],[1062,40088,4621],{"className":40089,"style":1734},[1181,1220],[1062,40091,14477],{"className":40092},[1181,1220],[1062,40094,2201],{"className":40095},[1181,1220],[1062,40097],{"className":40098,"style":1233},[1232],[1062,40100,1647],{"className":40101},[1237],[1062,40103],{"className":40104,"style":1233},[1232],[1062,40106,40108,40111,40114,40117,40120,40123,40126,40129,40132,40135,40138,40141,40144,40147,40150],{"className":40107},[1172],[1062,40109],{"className":40110,"style":3748},[1176],[1062,40112,3894],{"className":40113},[1181,1220],[1062,40115,1644],{"className":40116},[1181],[1062,40118,3900],{"className":40119},[1232],[1062,40121,1155],{"className":40122,"style":1221},[1181,1220],[1062,40124,2356],{"className":40125},[1181,1220],[1062,40127,2505],{"className":40128},[1181,1220],[1062,40130,3900],{"className":40131},[1232],[1062,40133,2211],{"className":40134,"style":2281},[1181,1220],[1062,40136,2370],{"className":40137},[1181,1220],[1062,40139,2359],{"className":40140},[1181,1220],[1062,40142,2201],{"className":40143},[1181,1220],[1062,40145],{"className":40146,"style":1233},[1232],[1062,40148,1148],{"className":40149},[1237],[1062,40151],{"className":40152,"style":1233},[1232],[1062,40154,40156,40159,40162,40165,40168,40171,40174,40177,40180,40183,40186,40189,40192,40195,40198],{"className":40155},[1172],[1062,40157],{"className":40158,"style":2277},[1176],[1062,40160,7078],{"className":40161},[2292],[1062,40163,3894],{"className":40164},[1181,1220],[1062,40166,1136],{"className":40167},[1181],[1062,40169,3900],{"className":40170},[1232],[1062,40172,2353],{"className":40173,"style":2397},[1181,1220],[1062,40175,2356],{"className":40176},[1181,1220],[1062,40178,2359],{"className":40179},[1181,1220],[1062,40181,3900],{"className":40182},[1232],[1062,40184,4621],{"className":40185,"style":1734},[1181,1220],[1062,40187,14477],{"className":40188},[1181,1220],[1062,40190,2201],{"className":40191},[1181,1220],[1062,40193],{"className":40194,"style":1233},[1232],[1062,40196,1647],{"className":40197},[1237],[1062,40199],{"className":40200,"style":1233},[1232],[1062,40202,40204,40207,40210,40213,40216,40219,40222,40225,40228,40231,40234,40237,40240,40243,40246],{"className":40203},[1172],[1062,40205],{"className":40206,"style":3748},[1176],[1062,40208,3894],{"className":40209},[1181,1220],[1062,40211,1136],{"className":40212},[1181],[1062,40214,3900],{"className":40215},[1232],[1062,40217,1155],{"className":40218,"style":1221},[1181,1220],[1062,40220,2356],{"className":40221},[1181,1220],[1062,40223,2505],{"className":40224},[1181,1220],[1062,40226,3900],{"className":40227},[1232],[1062,40229,2211],{"className":40230,"style":2281},[1181,1220],[1062,40232,2370],{"className":40233},[1181,1220],[1062,40235,2359],{"className":40236},[1181,1220],[1062,40238,2201],{"className":40239},[1181,1220],[1062,40241],{"className":40242,"style":1233},[1232],[1062,40244,1148],{"className":40245},[1237],[1062,40247],{"className":40248,"style":1233},[1232],[1062,40250,40252,40255,40258,40261,40264,40267,40270,40273,40276,40279,40282,40285,40288,40291,40294],{"className":40251},[1172],[1062,40253],{"className":40254,"style":2277},[1176],[1062,40256,3894],{"className":40257},[1181,1220],[1062,40259,1136],{"className":40260},[1181],[1062,40262,3900],{"className":40263},[1232],[1062,40265,1155],{"className":40266,"style":1221},[1181,1220],[1062,40268,2356],{"className":40269},[1181,1220],[1062,40271,2505],{"className":40272},[1181,1220],[1062,40274,3900],{"className":40275},[1232],[1062,40277,1705],{"className":40278,"style":1734},[1181,1220],[1062,40280,2201],{"className":40281},[1181,1220],[1062,40283,14580],{"className":40284},[1181,1220],[1062,40286,2472],{"className":40287,"style":2530},[1181,1220],[1062,40289,2359],{"className":40290},[1181,1220],[1062,40292,4713],{"className":40293,"style":2288},[1181,1220],[1062,40295,7088],{"className":40296},[2302],[986,40298,40299],{},"多级 cache 的意义是：",[1896,40301,40304],{"className":40302,"code":40303,"language":1225},[1899],"L1 miss 不直接去 DRAM，而是先去 L2\u002FL3。\n",[1902,40305,40303],{"__ignoreMap":1904},[986,40307,40308],{},"所以它主要优化：",[1062,40310,40312],{"className":40311},[7840],[1062,40313,40315,40350],{"className":40314},[1115],[1062,40316,40318],{"className":40317},[1119],[1121,40319,40320],{"xmlns":1123,"display":3391},[1125,40321,40322,40348],{},[1128,40323,40324,40326,40328,40330,40332,40334,40336,40338,40340,40342,40344,40346],{},[1138,40325,1155],{},[1138,40327,2356],{},[1138,40329,2204],{},[1138,40331,2204],{},[1142,40333,3900],{},[1138,40335,1705],{},[1138,40337,2201],{},[1138,40339,3546],{},[1138,40341,2370],{},[1138,40343,2472],{},[1138,40345,2359],{},[1138,40347,4713],{},[1160,40349,20252],{"encoding":1162},[1062,40351,40353],{"className":40352,"ariaHidden":1168},[1167],[1062,40354,40356,40359,40362,40365,40368,40371,40374,40377,40380,40383,40386],{"className":40355},[1172],[1062,40357],{"className":40358,"style":4550},[1176],[1062,40360,1155],{"className":40361,"style":1221},[1181,1220],[1062,40363,2356],{"className":40364},[1181,1220],[1062,40366,2505],{"className":40367},[1181,1220],[1062,40369,3900],{"className":40370},[1232],[1062,40372,1705],{"className":40373,"style":1734},[1181,1220],[1062,40375,2201],{"className":40376},[1181,1220],[1062,40378,14580],{"className":40379},[1181,1220],[1062,40381,2472],{"className":40382,"style":2530},[1181,1220],[1062,40384,2359],{"className":40385},[1181,1220],[1062,40387,4713],{"className":40388,"style":2288},[1181,1220],[7727,40390],{},[996,40392,40394],{"id":40393},"_2-l1-l2-l3-的设计目标不同","2. L1 \u002F L2 \u002F L3 的设计目标不同",[1896,40396,40399],{"className":40397,"code":40398,"language":1225},[1899],"L1：小而快，追求 hit time\nL2\u002FL3：更大，追求低 miss rate\nDRAM：最大，但最慢\n",[1902,40400,40398],{"__ignoreMap":1904},[986,40402,40403],{},"所以 cache 层级越靠近 CPU，越重视速度；越远离 CPU，越重视容量。",[7727,40405],{},[996,40407,40409],{"id":40408},"_3-写策略处理-cache-与-memory-的一致性","3. 写策略处理 Cache 与 Memory 的一致性",[986,40411,40412],{},"写策略主要有：",[1896,40414,40417],{"className":40415,"code":40416,"language":1225},[1899],"Write-through\nWrite-back\n",[1902,40418,40416],{"__ignoreMap":1904},[986,40420,40421],{},"write-through：",[1896,40423,40426],{"className":40424,"code":40425,"language":1225},[1899],"简单，但写流量大\n",[1902,40427,40425],{"__ignoreMap":1904},[986,40429,40430],{},"write-back：",[1896,40432,40435],{"className":40433,"code":40434,"language":1225},[1899],"写流量小，但需要 dirty bit，控制复杂\n",[1902,40436,40434],{"__ignoreMap":1904},[986,40438,40439],{},"常见组合：",[1896,40441,40443],{"className":40442,"code":34337,"language":1225},[1899],[1902,40444,34337],{"__ignoreMap":1904},[7727,40446],{},[996,40448,40450],{"id":40449},"_4-write-buffer-优化写入和-read-miss","4. Write Buffer 优化写入和 Read Miss",[986,40452,40453],{},"write buffer 可以让 store 不阻塞 CPU。",[986,40455,40456],{},"同时 read miss 可以优先于 write buffer 中的写请求，从而降低：",[1062,40458,40460],{"className":40459},[7840],[1062,40461,40463,40519],{"className":40462},[1115],[1062,40464,40466],{"className":40465},[1119],[1121,40467,40468],{"xmlns":1123,"display":3391},[1125,40469,40470,40516],{},[1128,40471,40472,40474,40476,40478,40480,40482,40484,40486,40488,40490,40492,40494,40496,40498,40500,40502,40504,40506,40508,40510,40512,40514],{},[1138,40473,35150],{},[1138,40475,5426],{},[1138,40477,5426],{},[1138,40479,2201],{},[1138,40481,2373],{},[1138,40483,2359],{},[1138,40485,2356],{},[1138,40487,17107],{},[1138,40489,2201],{},[1142,40491,3900],{},[1138,40493,1155],{},[1138,40495,2356],{},[1138,40497,2204],{},[1138,40499,2204],{},[1142,40501,3900],{},[1138,40503,1705],{},[1138,40505,2201],{},[1138,40507,3546],{},[1138,40509,2370],{},[1138,40511,2472],{},[1138,40513,2359],{},[1138,40515,4713],{},[1160,40517,40518],{"encoding":1162},"Effective\\ Miss\\ Penalty",[1062,40520,40522],{"className":40521,"ariaHidden":1168},[1167],[1062,40523,40525,40528,40531,40534,40537,40540,40543,40546,40549,40552,40555,40558,40561,40564,40567,40570,40573,40576,40579,40582],{"className":40524},[1172],[1062,40526],{"className":40527,"style":4550},[1176],[1062,40529,35150],{"className":40530,"style":9315},[1181,1220],[1062,40532,5426],{"className":40533,"style":5505},[1181,1220],[1062,40535,5426],{"className":40536,"style":5505},[1181,1220],[1062,40538,35282],{"className":40539},[1181,1220],[1062,40541,2359],{"className":40542},[1181,1220],[1062,40544,2356],{"className":40545},[1181,1220],[1062,40547,17107],{"className":40548,"style":2288},[1181,1220],[1062,40550,2201],{"className":40551},[1181,1220],[1062,40553,3900],{"className":40554},[1232],[1062,40556,1155],{"className":40557,"style":1221},[1181,1220],[1062,40559,2356],{"className":40560},[1181,1220],[1062,40562,2505],{"className":40563},[1181,1220],[1062,40565,3900],{"className":40566},[1232],[1062,40568,1705],{"className":40569,"style":1734},[1181,1220],[1062,40571,2201],{"className":40572},[1181,1220],[1062,40574,14580],{"className":40575},[1181,1220],[1062,40577,2472],{"className":40578,"style":2530},[1181,1220],[1062,40580,2359],{"className":40581},[1181,1220],[1062,40583,4713],{"className":40584,"style":2288},[1181,1220],[986,40586,40587],{},"但必须检查地址冲突：",[1062,40589,40591],{"className":40590},[7840],[1062,40592,40594,40673],{"className":40593},[1115],[1062,40595,40597],{"className":40596},[1119],[1121,40598,40599],{"xmlns":1123,"display":3391},[1125,40600,40601,40671],{},[1128,40602,40603,40605,40607,40609,40611,40613,40615,40617,40619,40621,40623,40625,40627,40629,40631,40633,40635,40637,40639,40641,40643,40645,40647,40649,40651,40653,40655,40657,40659,40661,40663,40665,40667,40669],{},[1138,40604,2211],{},[1138,40606,2201],{},[1138,40608,2370],{},[1138,40610,2193],{},[1142,40612,3900],{},[1138,40614,2190],{},[1138,40616,2193],{},[1138,40618,2193],{},[1138,40620,2198],{},[1138,40622,2201],{},[1138,40624,2204],{},[1138,40626,2204],{},[1146,40628,1711],{},[1146,40630,1711],{},[1138,40632,4125],{},[1138,40634,2198],{},[1138,40636,2356],{},[1138,40638,2359],{},[1138,40640,2201],{},[1142,40642,3900],{},[1138,40644,5567],{},[1138,40646,3909],{},[1138,40648,5426],{},[1138,40650,5426],{},[1138,40652,2201],{},[1138,40654,2198],{},[1142,40656,3900],{},[1138,40658,2190],{},[1138,40660,2193],{},[1138,40662,2193],{},[1138,40664,2198],{},[1138,40666,2201],{},[1138,40668,2204],{},[1138,40670,2204],{},[1160,40672,25295],{"encoding":1162},[1062,40674,40676,40718],{"className":40675,"ariaHidden":1168},[1167],[1062,40677,40679,40682,40685,40688,40691,40694,40697,40700,40703,40706,40709,40712,40715],{"className":40678},[1172],[1062,40680],{"className":40681,"style":2246},[1176],[1062,40683,2211],{"className":40684,"style":2281},[1181,1220],[1062,40686,2201],{"className":40687},[1181,1220],[1062,40689,2370],{"className":40690},[1181,1220],[1062,40692,2193],{"className":40693},[1181,1220],[1062,40695,3900],{"className":40696},[1232],[1062,40698,2190],{"className":40699},[1181,1220],[1062,40701,2253],{"className":40702},[1181,1220],[1062,40704,2198],{"className":40705,"style":2257},[1181,1220],[1062,40707,2261],{"className":40708},[1181,1220],[1062,40710],{"className":40711,"style":1742},[1232],[1062,40713,25338],{"className":40714},[1746],[1062,40716],{"className":40717,"style":1742},[1232],[1062,40719,40721,40724,40727,40730,40733,40736,40739,40742,40745,40748,40751,40754,40757,40760,40763,40766,40769],{"className":40720},[1172],[1062,40722],{"className":40723,"style":4550},[1176],[1062,40725,4125],{"className":40726,"style":1734},[1181,1220],[1062,40728,2198],{"className":40729,"style":2257},[1181,1220],[1062,40731,2356],{"className":40732},[1181,1220],[1062,40734,2359],{"className":40735},[1181,1220],[1062,40737,2201],{"className":40738},[1181,1220],[1062,40740,3900],{"className":40741},[1232],[1062,40743,5567],{"className":40744,"style":5632},[1181,1220],[1062,40746,3909],{"className":40747},[1181,1220],[1062,40749,5426],{"className":40750,"style":5505},[1181,1220],[1062,40752,5426],{"className":40753,"style":5505},[1181,1220],[1062,40755,15320],{"className":40756,"style":2257},[1181,1220],[1062,40758,3900],{"className":40759},[1232],[1062,40761,2190],{"className":40762},[1181,1220],[1062,40764,2253],{"className":40765},[1181,1220],[1062,40767,2198],{"className":40768,"style":2257},[1181,1220],[1062,40770,2261],{"className":40771},[1181,1220],[986,40773,40774],{},"同地址时要等待或 forwarding。",[7727,40776],{},[996,40778,40780],{"id":40779},"_5-进一步结构优化","5. 进一步结构优化",[986,40782,40783],{},"这几页还讲了几种 cache 结构优化：",[1294,40785,40786,40799],{},[1297,40787,40788],{},[1300,40789,40790,40793,40796],{},[1303,40791,40792],{},"技术",[1303,40794,40795],{},"主要改善",[1303,40797,40798],{},"代价",[1313,40800,40801,40812,40823,40834],{},[1300,40802,40803,40806,40809],{},[1318,40804,40805],{},"Sub-block",[1318,40807,40808],{},"降低 tag overhead 和 miss penalty",[1318,40810,40811],{},"valid bits 更多，控制复杂",[1300,40813,40814,40817,40820],{},[1318,40815,40816],{},"Victim cache",[1318,40818,40819],{},"减少 conflict miss",[1318,40821,40822],{},"额外小型 FA cache",[1300,40824,40825,40828,40831],{},[1318,40826,40827],{},"Way prediction",[1318,40829,40830],{},"降低 set-associative hit time",[1318,40832,40833],{},"预测错误会 slow hit",[1300,40835,40836,40839,40842],{},[1318,40837,40838],{},"Pipelined write",[1318,40840,40841],{},"提高写吞吐",[1318,40843,40844],{},"load\u002Fstore hazard 更复杂",[7727,40846],{},[996,40848,40850],{"id":40849},"_6-软件优化-locality","6. 软件优化 Locality",[986,40852,40853],{},"最后几页强调：cache 性能不只靠硬件，也靠程序访问模式。",[1294,40855,40856,40865],{},[1297,40857,40858],{},[1300,40859,40860,40863],{},[1303,40861,40862],{},"软件优化",[1303,40864,40795],{},[1313,40866,40867,40875,40882],{},[1300,40868,40869,40872],{},[1318,40870,40871],{},"Loop interchange",[1318,40873,40874],{},"spatial locality",[1300,40876,40877,40880],{},[1318,40878,40879],{},"Loop fusion",[1318,40881,13006],{},[1300,40883,40884,40887],{},[1318,40885,40886],{},"Cache tiling",[1318,40888,40889],{},"temporal locality + spatial locality",[986,40891,34855],{},[1896,40893,40896],{"className":40894,"code":40895,"language":1225},[1899],"让程序访问更连续，让数据复用更快发生，让 working set 尽量留在 cache 中。\n",[1902,40897,40895],{"__ignoreMap":1904},[7727,40899],{},[978,40901,40902],{"id":40902},"最终复习压缩版",[1896,40904,40907],{"className":40905,"code":40906,"language":1225},[1899],"Multi-level cache：降低 miss penalty。\nLocal miss rate：本级访问中的 miss 比例。\nGlobal miss rate：从 CPU 总访问角度看的 miss 比例。\nL1：追求 hit time。\nL2\u002FL3：追求 miss rate，减少 DRAM access。\nWrite-through：简单，但写流量大。\nWrite-back：高效，但需要 dirty bit，控制复杂。\nWrite allocate：write miss 时先取入 cache。\nNo-write-allocate：write miss 时直接写 memory。\nSub-block：一个 tag 管多个小块，减少 tag overhead。\nVictim cache：保存刚被驱逐的块，减少 conflict miss。\nWay prediction：预测命中的 way，降低常见 hit time。\nLoop interchange：把跨行 stride 访问改成连续访问，改善 spatial locality。\nLoop fusion：缩短数据复用距离，改善 temporal locality。\nCache tiling：让小块 working set 留在 cache，同时改善 temporal 和 spatial locality。\n",[1902,40908,40906],{"__ignoreMap":1904},[986,40910,40911],{},"所有内容最终还是回到 AMAT：",[1062,40913,40915],{"className":40914},[7840],[1062,40916,40918,41001],{"className":40917},[1115],[1062,40919,40921],{"className":40920},[1119],[1121,40922,40923],{"xmlns":1123,"display":3391},[1125,40924,40925,40999],{},[1128,40926,40927,40929,40931,40933,40935,40937,40939,40941,40943,40945,40947,40949,40951,40953,40955,40957,40959,40961,40963,40965,40967,40969,40971,40973,40975,40977,40979,40981,40983,40985,40987,40989,40991,40993,40995,40997],{},[1138,40928,2190],{},[1138,40930,1155],{},[1138,40932,2190],{},[1138,40934,4621],{},[1146,40936,1711],{},[1138,40938,2353],{},[1138,40940,2356],{},[1138,40942,2359],{},[1142,40944,3900],{},[1138,40946,4621],{},[1138,40948,2356],{},[1138,40950,1610],{},[1138,40952,2201],{},[1146,40954,1647],{},[1138,40956,1155],{},[1138,40958,2356],{},[1138,40960,2204],{},[1138,40962,2204],{},[1142,40964,3900],{},[1138,40966,2211],{},[1138,40968,2370],{},[1138,40970,2359],{},[1138,40972,2201],{},[1146,40974,1148],{},[1138,40976,1155],{},[1138,40978,2356],{},[1138,40980,2204],{},[1138,40982,2204],{},[1142,40984,3900],{},[1138,40986,1705],{},[1138,40988,2201],{},[1138,40990,3546],{},[1138,40992,2370],{},[1138,40994,2472],{},[1138,40996,2359],{},[1138,40998,4713],{},[1160,41000,18258],{"encoding":1162},[1062,41002,41004,41031,41067,41106],{"className":41003,"ariaHidden":1168},[1167],[1062,41005,41007,41010,41013,41016,41019,41022,41025,41028],{"className":41006},[1172],[1062,41008],{"className":41009,"style":1726},[1176],[1062,41011,2190],{"className":41012},[1181,1220],[1062,41014,1155],{"className":41015,"style":1221},[1181,1220],[1062,41017,2190],{"className":41018},[1181,1220],[1062,41020,4621],{"className":41021,"style":1734},[1181,1220],[1062,41023],{"className":41024,"style":1742},[1232],[1062,41026,1711],{"className":41027},[1746],[1062,41029],{"className":41030,"style":1742},[1232],[1062,41032,41034,41037,41040,41043,41046,41049,41052,41055,41058,41061,41064],{"className":41033},[1172],[1062,41035],{"className":41036,"style":3748},[1176],[1062,41038,2353],{"className":41039,"style":2397},[1181,1220],[1062,41041,2356],{"className":41042},[1181,1220],[1062,41044,2359],{"className":41045},[1181,1220],[1062,41047,3900],{"className":41048},[1232],[1062,41050,4621],{"className":41051,"style":1734},[1181,1220],[1062,41053,14477],{"className":41054},[1181,1220],[1062,41056,2201],{"className":41057},[1181,1220],[1062,41059],{"className":41060,"style":1233},[1232],[1062,41062,1647],{"className":41063},[1237],[1062,41065],{"className":41066,"style":1233},[1232],[1062,41068,41070,41073,41076,41079,41082,41085,41088,41091,41094,41097,41100,41103],{"className":41069},[1172],[1062,41071],{"className":41072,"style":3748},[1176],[1062,41074,1155],{"className":41075,"style":1221},[1181,1220],[1062,41077,2356],{"className":41078},[1181,1220],[1062,41080,2505],{"className":41081},[1181,1220],[1062,41083,3900],{"className":41084},[1232],[1062,41086,2211],{"className":41087,"style":2281},[1181,1220],[1062,41089,2370],{"className":41090},[1181,1220],[1062,41092,2359],{"className":41093},[1181,1220],[1062,41095,2201],{"className":41096},[1181,1220],[1062,41098],{"className":41099,"style":1233},[1232],[1062,41101,1148],{"className":41102},[1237],[1062,41104],{"className":41105,"style":1233},[1232],[1062,41107,41109,41112,41115,41118,41121,41124,41127,41130,41133,41136,41139],{"className":41108},[1172],[1062,41110],{"className":41111,"style":4550},[1176],[1062,41113,1155],{"className":41114,"style":1221},[1181,1220],[1062,41116,2356],{"className":41117},[1181,1220],[1062,41119,2505],{"className":41120},[1181,1220],[1062,41122,3900],{"className":41123},[1232],[1062,41125,1705],{"className":41126,"style":1734},[1181,1220],[1062,41128,2201],{"className":41129},[1181,1220],[1062,41131,14580],{"className":41132},[1181,1220],[1062,41134,2472],{"className":41135,"style":2530},[1181,1220],[1062,41137,2359],{"className":41138},[1181,1220],[1062,41140,4713],{"className":41141,"style":2288},[1181,1220],{"title":1904,"searchDepth":41143,"depth":41143,"links":41144},4,[41145,41168,41183,41262,41289,41290,41295,41299,41300,41306,41312,41320,41324,41325,41326,41331,41332,41337,41341,41342,41346,41350,41355,41361,41366,41377,41382,41383,41390,41395,41399,41405,41406,41412,41418,41423,41427,41433,41438,41444,41453,41461],{"id":980,"depth":2046,"text":984,"children":41146},[41147,41148,41157,41167],{"id":998,"depth":3842,"text":999},{"id":1010,"depth":3842,"text":1010,"children":41149},[41150,41151,41152,41153,41154,41156],{"id":1017,"depth":41143,"text":1018},{"id":1029,"depth":41143,"text":1030},{"id":1038,"depth":41143,"text":1039},{"id":1050,"depth":41143,"text":1051},{"id":1059,"depth":41143,"text":41155},"1T-1C | 单晶体管动态RAM Dennard, IBM",{"id":1075,"depth":41143,"text":1076},{"id":1087,"depth":3842,"text":1088,"children":41158},[41159,41163,41166],{"id":1091,"depth":41143,"text":1092,"children":41160},[41161],{"id":1096,"depth":41162,"text":41155},5,{"id":1108,"depth":41143,"text":1109,"children":41164},[41165],{"id":1363,"depth":41162,"text":1364},{"id":1430,"depth":41143,"text":1431},{"id":1492,"depth":3842,"text":1493},{"id":1533,"depth":2046,"text":1536,"children":41169},[41170,41171,41175,41179,41180],{"id":1539,"depth":3842,"text":1540},{"id":1814,"depth":3842,"text":1815,"children":41172},[41173,41174],{"id":1866,"depth":41162,"text":1866},{"id":2018,"depth":41143,"text":2019},{"id":2556,"depth":3842,"text":2557,"children":41176},[41177,41178],{"id":2568,"depth":41162,"text":2569},{"id":2609,"depth":41162,"text":2610},{"id":2640,"depth":3842,"text":2641},{"id":2680,"depth":3842,"text":2681,"children":41181},[41182],{"id":2819,"depth":41143,"text":2820},{"id":2845,"depth":2046,"text":2846,"children":41184},[41185,41186,41195,41209,41212,41258,41259],{"id":2849,"depth":3842,"text":2850},{"id":2867,"depth":3842,"text":2868,"children":41187},[41188,41191,41192],{"id":2871,"depth":41143,"text":2871,"children":41189},[41190],{"id":2879,"depth":41162,"text":2880},{"id":3323,"depth":41143,"text":3323},{"id":3399,"depth":41143,"text":3400,"children":41193},[41194],{"id":4410,"depth":41162,"text":4411},{"id":4447,"depth":3842,"text":4448,"children":41196},[41197,41200,41201,41202,41206],{"id":4451,"depth":41143,"text":4452,"children":41198},[41199],{"id":4932,"depth":41162,"text":4932},{"id":4940,"depth":41143,"text":4941},{"id":4967,"depth":41143,"text":4968},{"id":5164,"depth":41143,"text":5165,"children":41203},[41204,41205],{"id":5518,"depth":41162,"text":5518},{"id":5921,"depth":41162,"text":5921},{"id":6005,"depth":41143,"text":6006,"children":41207},[41208],{"id":6079,"depth":41162,"text":6080},{"id":6104,"depth":3842,"text":6105,"children":41210},[41211],{"id":6120,"depth":41143,"text":6120},{"id":6675,"depth":3842,"text":6676,"children":41213},[41214,41215,41220,41221,41222,41223,41228,41229,41230,41231,41232,41237,41242,41243,41247,41254,41255,41256,41257],{"id":6984,"depth":41143,"text":6985},{"id":6999,"depth":41143,"text":7000,"children":41216},[41217,41218,41219],{"id":7216,"depth":41162,"text":7217},{"id":7785,"depth":41162,"text":7786},{"id":8039,"depth":41162,"text":8040},{"id":8189,"depth":41143,"text":8190},{"id":8426,"depth":41143,"text":8427},{"id":8505,"depth":41143,"text":8506},{"id":8563,"depth":41143,"text":8564,"children":41224},[41225,41226,41227],{"id":8575,"depth":41162,"text":8576},{"id":8588,"depth":41162,"text":8589},{"id":8601,"depth":41162,"text":8602},{"id":8956,"depth":41143,"text":8957},{"id":9224,"depth":41143,"text":9225},{"id":10227,"depth":41143,"text":10228},{"id":10245,"depth":41143,"text":10246},{"id":10262,"depth":41143,"text":10263,"children":41233},[41234,41235,41236],{"id":10784,"depth":41162,"text":10785},{"id":11130,"depth":41162,"text":11131},{"id":11817,"depth":41162,"text":11818},{"id":12071,"depth":41143,"text":12072,"children":41238},[41239,41240,41241],{"id":12426,"depth":41162,"text":12427},{"id":12472,"depth":41162,"text":12473},{"id":12501,"depth":41162,"text":5921},{"id":12511,"depth":41143,"text":12512},{"id":12554,"depth":41143,"text":12555,"children":41244},[41245,41246],{"id":12569,"depth":41162,"text":12570},{"id":12713,"depth":41162,"text":12714},{"id":12915,"depth":41143,"text":12916,"children":41248},[41249,41250,41251,41252,41253],{"id":12943,"depth":41162,"text":12944},{"id":12956,"depth":41162,"text":12957},{"id":12975,"depth":41162,"text":12976},{"id":12996,"depth":41162,"text":12997},{"id":13108,"depth":41162,"text":13109},{"id":13557,"depth":41143,"text":13558},{"id":13574,"depth":41143,"text":8576},{"id":13586,"depth":41143,"text":13587},{"id":13870,"depth":41143,"text":8589},{"id":13988,"depth":3842,"text":13988},{"id":14301,"depth":3842,"text":14302,"children":41260},[41261],{"id":15773,"depth":41143,"text":15773},{"id":16047,"depth":2046,"text":16048,"children":41263},[41264,41269,41274,41275,41276,41277],{"id":16051,"depth":3842,"text":16052,"children":41265},[41266,41267,41268],{"id":16060,"depth":41143,"text":16061},{"id":16119,"depth":41143,"text":16120},{"id":16147,"depth":41143,"text":16148},{"id":16170,"depth":3842,"text":16171,"children":41270},[41271,41272,41273],{"id":16187,"depth":41143,"text":16190},{"id":16396,"depth":41143,"text":16399},{"id":16720,"depth":41143,"text":16723},{"id":16991,"depth":3842,"text":16992},{"id":17460,"depth":3842,"text":17461},{"id":17517,"depth":3842,"text":17518},{"id":17589,"depth":3842,"text":17589,"children":41278},[41279,41280,41283,41288],{"id":17647,"depth":41143,"text":17648},{"id":17691,"depth":41143,"text":17692,"children":41281},[41282],{"id":17727,"depth":41162,"text":17728},{"id":17797,"depth":41143,"text":17798,"children":41284},[41285,41286,41287],{"id":17806,"depth":41162,"text":17807},{"id":17826,"depth":41162,"text":17827},{"id":17838,"depth":41162,"text":17839},{"id":17882,"depth":41143,"text":17882},{"id":18158,"depth":2046,"text":18159},{"id":18835,"depth":2046,"text":18836,"children":41291},[41292,41293,41294],{"id":18851,"depth":3842,"text":18852},{"id":19001,"depth":3842,"text":19002},{"id":19353,"depth":3842,"text":19354},{"id":19761,"depth":2046,"text":19762,"children":41296},[41297,41298],{"id":19913,"depth":3842,"text":19914},{"id":19949,"depth":3842,"text":19950},{"id":19983,"depth":2046,"text":19984},{"id":20402,"depth":2046,"text":20403,"children":41301},[41302,41303,41304,41305],{"id":20649,"depth":3842,"text":20650},{"id":20797,"depth":3842,"text":20798},{"id":20965,"depth":3842,"text":20966},{"id":21064,"depth":3842,"text":21064},{"id":21121,"depth":2046,"text":21122,"children":41307},[41308,41309,41310,41311],{"id":21146,"depth":3842,"text":21147},{"id":21266,"depth":3842,"text":21267},{"id":21655,"depth":3842,"text":21656},{"id":21767,"depth":3842,"text":21064},{"id":21824,"depth":2046,"text":21825,"children":41313},[41314,41315,41316,41317,41318,41319],{"id":21862,"depth":3842,"text":21862},{"id":23027,"depth":3842,"text":23028},{"id":23502,"depth":3842,"text":23503},{"id":23984,"depth":3842,"text":23985},{"id":24353,"depth":3842,"text":24354},{"id":24830,"depth":3842,"text":24831},{"id":24948,"depth":2046,"text":24949,"children":41321},[41322,41323],{"id":24989,"depth":3842,"text":24990},{"id":25200,"depth":3842,"text":25200},{"id":25414,"depth":2046,"text":25415},{"id":25902,"depth":2046,"text":25903},{"id":27595,"depth":2046,"text":27596,"children":41327},[41328,41329,41330],{"id":27607,"depth":3842,"text":27608},{"id":28205,"depth":3842,"text":28206},{"id":28838,"depth":3842,"text":28839},{"id":29292,"depth":2046,"text":29293},{"id":30877,"depth":2046,"text":30878,"children":41333},[41334,41335,41336],{"id":30889,"depth":3842,"text":30890},{"id":31022,"depth":3842,"text":31023},{"id":31381,"depth":3842,"text":31381},{"id":31401,"depth":2046,"text":31402,"children":41338},[41339,41340],{"id":31422,"depth":3842,"text":31423},{"id":31492,"depth":3842,"text":31493},{"id":31526,"depth":2046,"text":31527},{"id":32494,"depth":2046,"text":32495,"children":41343},[41344,41345],{"id":32537,"depth":3842,"text":32538},{"id":32704,"depth":3842,"text":32705},{"id":32741,"depth":2046,"text":32742,"children":41347},[41348,41349],{"id":32768,"depth":3842,"text":32769},{"id":32795,"depth":3842,"text":32796},{"id":32842,"depth":2046,"text":32843,"children":41351},[41352,41353,41354],{"id":32877,"depth":3842,"text":32878},{"id":32907,"depth":3842,"text":32908},{"id":33033,"depth":3842,"text":33034},{"id":33054,"depth":2046,"text":33055,"children":41356},[41357,41358,41359,41360],{"id":33066,"depth":3842,"text":33067},{"id":33294,"depth":3842,"text":33295},{"id":33599,"depth":3842,"text":33600},{"id":33614,"depth":3842,"text":33615},{"id":34102,"depth":2046,"text":34103,"children":41362},[41363,41364,41365],{"id":34114,"depth":3842,"text":34115},{"id":34160,"depth":3842,"text":34161},{"id":34206,"depth":3842,"text":34206},{"id":34226,"depth":2046,"text":34227,"children":41367},[41368,41372,41376],{"id":34238,"depth":3842,"text":34239,"children":41369},[41370,41371],{"id":34242,"depth":41143,"text":34243},{"id":34264,"depth":41143,"text":34265},{"id":34286,"depth":3842,"text":34287,"children":41373},[41374,41375],{"id":34290,"depth":41143,"text":32824},{"id":34310,"depth":41143,"text":32818},{"id":34330,"depth":3842,"text":34330},{"id":34382,"depth":2046,"text":34383,"children":41378},[41379,41380,41381],{"id":34394,"depth":3842,"text":34395},{"id":34522,"depth":3842,"text":34523},{"id":34555,"depth":3842,"text":34206},{"id":34572,"depth":2046,"text":34573},{"id":34634,"depth":2046,"text":34635,"children":41384},[41385,41386,41387,41388,41389],{"id":34646,"depth":3842,"text":34646},{"id":34773,"depth":3842,"text":34774},{"id":34788,"depth":3842,"text":34789},{"id":34803,"depth":3842,"text":34804},{"id":34826,"depth":3842,"text":31381},{"id":34843,"depth":2046,"text":34844,"children":41391},[41392,41393,41394],{"id":34881,"depth":3842,"text":34882},{"id":34902,"depth":3842,"text":34903},{"id":34928,"depth":3842,"text":31381},{"id":35058,"depth":2046,"text":35059,"children":41396},[41397,41398],{"id":35338,"depth":3842,"text":35339},{"id":35578,"depth":3842,"text":31381},{"id":35598,"depth":2046,"text":35599,"children":41400},[41401,41402,41403,41404],{"id":35610,"depth":3842,"text":35611},{"id":36199,"depth":3842,"text":36200},{"id":36225,"depth":3842,"text":36226},{"id":36257,"depth":3842,"text":31381},{"id":36271,"depth":2046,"text":36272},{"id":36783,"depth":2046,"text":36784,"children":41407},[41408,41409,41410,41411],{"id":36801,"depth":3842,"text":36802},{"id":36907,"depth":3842,"text":36908},{"id":36930,"depth":3842,"text":36931},{"id":37142,"depth":3842,"text":31381},{"id":37159,"depth":2046,"text":37160,"children":41413},[41414,41415,41416,41417],{"id":37177,"depth":3842,"text":37178},{"id":37192,"depth":3842,"text":37193},{"id":37223,"depth":3842,"text":37224},{"id":37421,"depth":3842,"text":31381},{"id":37438,"depth":2046,"text":37439,"children":41419},[41420,41421,41422],{"id":37455,"depth":3842,"text":37456},{"id":37624,"depth":3842,"text":37625},{"id":37681,"depth":3842,"text":31381},{"id":37708,"depth":2046,"text":37709,"children":41424},[41425,41426],{"id":37752,"depth":3842,"text":37753},{"id":37930,"depth":3842,"text":31381},{"id":37947,"depth":2046,"text":37948,"children":41428},[41429,41430,41431,41432],{"id":37982,"depth":3842,"text":37983},{"id":38002,"depth":3842,"text":38002},{"id":38187,"depth":3842,"text":38187},{"id":38311,"depth":3842,"text":31381},{"id":38328,"depth":2046,"text":38329,"children":41434},[41435,41436,41437],{"id":38368,"depth":3842,"text":38002},{"id":38395,"depth":3842,"text":38395},{"id":38544,"depth":3842,"text":31381},{"id":38567,"depth":2046,"text":38568,"children":41439},[41440,41441,41442,41443],{"id":38593,"depth":3842,"text":38594},{"id":38620,"depth":3842,"text":38621},{"id":38651,"depth":3842,"text":38652},{"id":38834,"depth":3842,"text":31381},{"id":38854,"depth":2046,"text":38855,"children":41445},[41446,41447,41451,41452],{"id":38883,"depth":3842,"text":38884},{"id":39324,"depth":3842,"text":39325,"children":41448},[41449,41450],{"id":39328,"depth":41143,"text":39329},{"id":39456,"depth":41143,"text":39457},{"id":39579,"depth":3842,"text":39580},{"id":39611,"depth":3842,"text":31381},{"id":39844,"depth":2046,"text":39845,"children":41454},[41455,41456,41457,41458,41459,41460],{"id":39864,"depth":3842,"text":39865},{"id":40393,"depth":3842,"text":40394},{"id":40408,"depth":3842,"text":40409},{"id":40449,"depth":3842,"text":40450},{"id":40779,"depth":3842,"text":40780},{"id":40849,"depth":3842,"text":40850},{"id":40902,"depth":2046,"text":40902},[903],"DRAM 结构与发展历史、存储器阵列与行\u002F列访问，以及存储器层次相关笔记","md",null,{"slots":41467},{},{"text":792,"minutes":793,"time":794,"words":795},{"title":790,"description":41463},{"loc":789,"images":41471},[41472,41473,41474,41475,41476,41477,41478,41479,41480,41481,41482,41483,41484,41485,41486,41487,41488,41489,41490,41491,41492,41493,41494,41495,41496,41497,41498,41499,41500,41501,41502,41503,41504,41505,41506,41507,41508,41509,41510,41511,41512,41513,41514,41515,41516,41517,41518,41519,41520,41521,41522,41523,41524,41525,41526,41527,41528,41529,41530,41531,41532,41533,41534,41535,41536,41537,41538,41539,41540,41541,41542,41543,41544,41545,41546,41547,41548,41549,41550,41551,41552,41553,41554,41555,41556,41557,41558,41559,41560,41561,41562,41563,41564,41565,41566,41567,41568,41569,41570,41571,41572,41573,41574,41575,41576,41577,41578,41579,41580,41581,41582,41583,41584,41585,41586,41587,41588,41589,41590,41591,41592,41593,41594,41595,41596,41597],{"loc":994},{"loc":1007},{"loc":1023},{"loc":1035},{"loc":1044},{"loc":1056},{"loc":1069},{"loc":1084},{"loc":1103},{"loc":1342},{"loc":1436},{"loc":1498},{"loc":1584},{"loc":1863},{"loc":1883},{"loc":1891},{"loc":2024},{"loc":2562},{"loc":2655},{"loc":2663},{"loc":2692},{"loc":2876},{"loc":2896},{"loc":3159},{"loc":3203},{"loc":3211},{"loc":3228},{"loc":3235},{"loc":3339},{"loc":3346},{"loc":3405},{"loc":3418},{"loc":3626},{"loc":3872},{"loc":4325},{"loc":4332},{"loc":4416},{"loc":4471},{"loc":4479},{"loc":4937},{"loc":4946},{"loc":4973},{"loc":5170},{"loc":5523},{"loc":6022},{"loc":6029},{"loc":6117},{"loc":6681},{"loc":6993},{"loc":7014},{"loc":7022},{"loc":7231},{"loc":7239},{"loc":7711},{"loc":7791},{"loc":8108},{"loc":8115},{"loc":8209},{"loc":8216},{"loc":8399},{"loc":8432},{"loc":8511},{"loc":8572},{"loc":8976},{"loc":8983},{"loc":9230},{"loc":10236},{"loc":10254},{"loc":10268},{"loc":12077},{"loc":12517},{"loc":12566},{"loc":12740},{"loc":12928},{"loc":12993},{"loc":13114},{"loc":13513},{"loc":13568},{"loc":14332},{"loc":15778},{"loc":16057},{"loc":16159},{"loc":16176},{"loc":17002},{"loc":17469},{"loc":17523},{"loc":17594},{"loc":17653},{"loc":17697},{"loc":17733},{"loc":17774},{"loc":17803},{"loc":17812},{"loc":17832},{"loc":17844},{"loc":17887},{"loc":21127},{"loc":21830},{"loc":24954},{"loc":25420},{"loc":25908},{"loc":27601},{"loc":29298},{"loc":30883},{"loc":31407},{"loc":32500},{"loc":32747},{"loc":32848},{"loc":33060},{"loc":34108},{"loc":34232},{"loc":34388},{"loc":34578},{"loc":34640},{"loc":34849},{"loc":35064},{"loc":35604},{"loc":36277},{"loc":36789},{"loc":37165},{"loc":37444},{"loc":37714},{"loc":37953},{"loc":38334},{"loc":38573},{"loc":38860},[41599,41600],"计算机组成原理","课程笔记","tech","Oqoeig6x7Jy33gKJGNHRHG9SLX88xrSz_7zIMYlCTQ0",[41604,41605],{"title":782,"path":781,"stem":780,"date":653,"type":41601,"children":-1},{"title":799,"path":798,"stem":797,"date":653,"type":41601,"children":-1},1789057281839]