LogSeq/assets/Computer_Organization_and_Design_1681729306797_0.edn
2023-05-04 10:59:09 +08:00

9812 lines
525 KiB
Clojure
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{:highlights [{:id #uuid "643d272b-2fe2-4179-b16c-9532f2d48406",
:page 2,
:position {:bounding {:x1 73.31606835126877,
:y1 38.84820556640625,
:x2 109.55702751874924,
:y2 55.991058349609375,
:width 593.9994499999999,
:height 732.5994499999999},
:rects ({:x1 73.31606835126877,
:y1 38.84820556640625,
:x2 109.55702751874924,
:y2 55.991058349609375,
:width 593.9994499999999,
:height 732.5994499999999}),
:page 2},
:content {:text "Praise "},
:properties {:color "yellow"}}
{:id #uuid "643d2848-6edf-4c05-92c7-4a7de1b9cd22",
:page 25,
:position {:bounding {:x1 0,
:y1 140.00000762939453,
:x2 470.8191048502922,
:y2 512.5268096923828,
:width 593.9994499999999,
:height 732.5994499999999},
:rects ({:x1 0,
:y1 140.00000762939453,
:x2 0,
:y2 163.42858123779297,
:width 593.9994499999999,
:height 732.5994499999999}
{:x1 0,
:y1 156.00000953674316,
:x2 0,
:y2 179.4285831451416,
:width 593.9994499999999,
:height 732.5994499999999}
{:x1 255.91966027021408,
:y1 407.2857360839844,
:x2 379.47709435224533,
:y2 442.1428680419922,
:width 593.9994499999999,
:height 732.5994499999999}
{:x1 255.91966027021408,
:y1 442.47325134277344,
:x2 470.8191048502922,
:y2 477.3303680419922,
:width 593.9994499999999,
:height 732.5994499999999}
{:x1 255.91966027021408,
:y1 447.04466247558594,
:x2 470.8191048502922,
:y2 473.4464569091797,
:width 593.9994499999999,
:height 732.5994499999999}
{:x1 255.91966027021408,
:y1 477.66966247558594,
:x2 397.95658653974533,
:y2 512.5268096923828,
:width 593.9994499999999,
:height 732.5994499999999}),
:page 25},
:content {:text "Computer Abstractions and Technology"},
:properties {:color "yellow"}}
{:id #uuid "643e2b82-f5a5-411e-9571-d494858c175a",
:page 27,
:position {:bounding {:x1 553.43212890625,
:y1 908.0536193847656,
:x2 624.8553466796875,
:y2 924.6250305175781,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 553.43212890625,
:y1 908.0536193847656,
:x2 624.8553466796875,
:y2 924.6250305175781,
:width 863.9992,
:height 1065.5991999999999}),
:page 27},
:content {:text "omnipresent"},
:properties {:color "green"}}
{:id #uuid "643e2b9c-0bc2-4b02-b2b1-33e25539d5b9",
:page 28,
:position {:bounding {:x1 0,
:y1 12,
:x2 498.81360626220703,
:y2 172.09822463989258,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 0,
:y1 12,
:x2 0,
:y2 35.428571701049805,
:width 863.9992,
:height 1065.5991999999999}
{:x1 86.39286041259766,
:y1 123.97321701049805,
:x2 498.81360626220703,
:y2 149.68750381469727,
:width 863.9992,
:height 1065.5991999999999}
{:x1 86.39286041259766,
:y1 146.38393783569336,
:x2 226.94168853759766,
:y2 172.09822463989258,
:width 863.9992,
:height 1065.5991999999999}),
:page 28},
:content {:text "Classes of Computing Applications and Their Characteristics"},
:properties {:color "yellow"}}
{:id #uuid "643e473a-2f03-419b-ad3a-8309c33dff15",
:page 30,
:position {:bounding {:x1 207.63892364501953,
:y1 970.6697082519531,
:x2 241.33112335205078,
:y2 987.2411346435547,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 207.63892364501953,
:y1 970.6697082519531,
:x2 241.33112335205078,
:y2 987.2411346435547,
:width 863.9992,
:height 1065.5991999999999}),
:page 30},
:content {:text "credo"},
:properties {:color "green"}}
{:id #uuid "643e47b3-cc6c-4fd1-83a9-0510b16a5e9c",
:page 31,
:position {:bounding {:x1 287.8634338378906,
:y1 357.6785888671875,
:x2 353.5062561035156,
:y2 374.25001525878906,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 287.8634338378906,
:y1 357.6785888671875,
:x2 353.5062561035156,
:y2 374.25001525878906,
:width 863.9992,
:height 1065.5991999999999}),
:page 31},
:content {:text "unraveling"},
:properties {:color "green"}}
{:id #uuid "643e485f-8de8-41bf-86ac-812ba202f4c8",
:page 32,
:position {:bounding {:x1 86.39286231994629,
:y1 415.26788330078125,
:x2 149.92363929748535,
:y2 431.8393249511719,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 86.39286231994629,
:y1 415.26788330078125,
:x2 149.92363929748535,
:y2 431.8393249511719,
:width 863.9992,
:height 1065.5991999999999}),
:page 32},
:content {:text "acronyms"},
:properties {:color "green"}}
{:id #uuid "643e4871-3ebb-4578-9227-b40a534adeac",
:page 33,
:position {:bounding {:x1 380.1160888671875,
:y1 165.65179443359375,
:x2 436.89744567871094,
:y2 182.22323608398438,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 380.1160888671875,
:y1 165.65179443359375,
:x2 436.89744567871094,
:y2 182.22323608398438,
:width 863.9992,
:height 1065.5991999999999}),
:page 33},
:content {:text "leverages"},
:properties {:color "green"}}
{:id #uuid "643e4882-a5ea-4bff-9b5f-17f585313142",
:page 33,
:position {:bounding {:x1 371.8235626220703,
:y1 258.44643783569336,
:x2 429.9593811035156,
:y2 275.0178642272949,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 371.8235626220703,
:y1 258.44643783569336,
:x2 429.9593811035156,
:y2 275.0178642272949,
:width 863.9992,
:height 1065.5991999999999}),
:page 33},
:content {:text "intrinsics"},
:properties {:color "green"}}
{:id #uuid "643e492d-5e63-4b9b-93f7-4f44bf50158e",
:page 34,
:position {:bounding {:x1 138.9148178100586,
:y1 307.9196472167969,
:x2 171.75586700439453,
:y2 324.49107360839844,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 138.9148178100586,
:y1 307.9196472167969,
:x2 171.75586700439453,
:y2 324.49107360839844,
:width 863.9992,
:height 1065.5991999999999}),
:page 34},
:content {:text "weave"},
:properties {:color "green"}}
{:id #uuid "643ea1cf-af0e-45ba-97b3-376fd21ee1e3",
:page 36,
:position {:bounding {:x1 199.328125,
:y1 173.046875,
:x2 434.9623718261719,
:y2 205.046875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 199.328125,
:y1 173.046875,
:x2 434.9623718261719,
:y2 205.046875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 36},
:content {:text "Below Your Program"},
:properties {:color "yellow"}}
{:id #uuid "643ea1d7-cd7d-4e81-8d6f-c268aab04f68",
:page 37,
:position {:bounding {:x1 247.859375,
:y1 304.578125,
:x2 823.193115234375,
:y2 331.578125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 304.578125,
:x2 823.193115234375,
:y2 331.578125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 37},
:content {:text "From a High-Level Language to the Language of Hardware"},
:properties {:color "yellow"}}
{:id #uuid "643ea295-e170-403a-a43d-71777bb41d9b",
:page 39,
:position {:bounding {:x1 353.59375,
:y1 743.8125,
:x2 555.0101928710938,
:y2 775.8125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 353.59375,
:y1 743.8125,
:x2 555.0101928710938,
:y2 775.8125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 39},
:content {:text "Under the Covers"},
:properties {:color "yellow"}}
{:id #uuid "643ea2f7-1fa7-4c12-ad2d-34a90d6968b7",
:page 40,
:position {:bounding {:x1 0,
:y1 60,
:x2 657.2033081054688,
:y2 323.234375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 60,
:x2 0,
:y2 84,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 124.390625,
:y1 283.4375,
:x2 657.2033081054688,
:y2 302.4375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 124.390625,
:y1 304.234375,
:x2 284.16424560546875,
:y2 323.234375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 40},
:content {:text "The five classic components of a computer are input, output, memory, datapath, and control"},
:properties {:color "yellow"}}
{:id #uuid "643ea8f8-7e5f-42e3-a04a-01cd91f25d13",
:page 41,
:position {:bounding {:x1 749.75,
:y1 562.5625,
:x2 796.0540161132812,
:y2 581.5625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 749.75,
:y1 562.5625,
:x2 796.0540161132812,
:y2 581.5625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 41},
:content {:text "raster "},
:properties {:color "green"}}
{:id #uuid "643ea91c-7643-4563-9341-f85096313a3b",
:page 41,
:position {:bounding {:x1 386.3125,
:y1 188.15625,
:x2 609.7650146484375,
:y2 207.15625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 386.3125,
:y1 188.15625,
:x2 609.7650146484375,
:y2 207.15625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 41},
:content {:text "liquid crystal displays (LCDs)"},
:properties {:color "yellow"}}
{:id #uuid "643ea931-ff7e-4bd7-96d1-b7eab4dcc563",
:page 41,
:position {:bounding {:x1 427.7265625,
:y1 229.765625,
:x2 451.1986083984375,
:y2 248.765625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 427.7265625,
:y1 229.765625,
:x2 451.1986083984375,
:y2 248.765625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 41},
:content {:text "rod"},
:properties {:color "green"}}
{:id #uuid "643ea93a-fa50-486a-b74a-d96f2a4df9aa",
:page 41,
:position {:bounding {:x1 247.859375,
:y1 250.5625,
:x2 291.3988037109375,
:y2 269.5625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 250.5625,
:x2 291.3988037109375,
:y2 269.5625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 41},
:content {:text "helix "},
:properties {:color "green"}}
{:id #uuid "643ead73-e1a6-4f10-82c5-2760a4ce839f",
:page 41,
:position {:bounding {:x1 0,
:y1 156,
:x2 842.2203369140625,
:y2 373.578125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 156,
:x2 0,
:y2 180,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 473.3229675292969,
:y1 333.765625,
:x2 842.2203369140625,
:y2 352.765625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.875,
:y1 354.578125,
:x2 710.2962036132812,
:y2 373.578125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 41},
:content {:text "an active matrix that has a tiny transistor switch at each pixel to precisely control current and make sharper images"},
:properties {:color "yellow"}}
{:id #uuid "643eaede-f413-4717-9136-e28363909bb3",
:page 42,
:position {:bounding {:x1 289.65826416015625,
:y1 742.828125,
:x2 331.68316650390625,
:y2 761.828125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 289.65826416015625,
:y1 742.828125,
:x2 331.68316650390625,
:y2 761.828125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 42},
:content {:text "brawn "},
:properties {:color "green"}}
{:id #uuid "643eb029-9fe9-4013-a4a2-1365e195333b",
:page 45,
:position {:bounding {:x1 0,
:y1 721.328125,
:x2 811.6236572265625,
:y2 804,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 578.546875,
:y1 721.328125,
:x2 811.6236572265625,
:y2 740.328125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 279.0625,
:y1 742.140625,
:x2 701.9657592773438,
:y2 761.140625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 0,
:y1 780,
:x2 0,
:y2 804,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 45},
:content {:text "instruction set architecture—the interface between the hardware and low-level software."},
:properties {:color "yellow"}}
{:id #uuid "643eb311-6b10-4fa3-9aa3-dfd5a59acf2c",
:page 47,
:position {:bounding {:x1 0,
:y1 592,
:x2 786.3966064453125,
:y2 1002.890625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 592,
:x2 0,
:y2 608,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 939.671875,
:x2 786.3966064453125,
:y2 971.671875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 970.890625,
:x2 497.5023193359375,
:y2 1002.890625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 47},
:content {:text "Technologies for Building Processors and Memory"},
:properties {:color "yellow"}}
{:id #uuid "643eb37e-2927-4100-b8b3-c76bbe5450f4",
:page 48,
:position {:bounding {:x1 93.8125,
:y1 600.53125,
:x2 169.7906951904297,
:y2 619.53125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.8125,
:y1 600.53125,
:x2 169.7906951904297,
:y2 619.53125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 48},
:content {:text "quadrupled "},
:properties {:color "green"}}
{:id #uuid "643eb66d-0294-46ab-a182-20021b2495c5",
:page 48,
:position {:bounding {:x1 0,
:y1 368,
:x2 688.2901000976562,
:y2 723.515625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 368,
:x2 0,
:y2 384,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 338.58538818359375,
:y1 683.71875,
:x2 688.2901000976562,
:y2 702.71875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 93.8125,
:y1 704.515625,
:x2 352.2237548828125,
:y2 723.515625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 48},
:content {:text " add materials to silicon that allow tiny areas to transform into one of three devices:"},
:properties {:color "yellow"}}
{:id #uuid "643ec3be-027e-48b5-90e0-cd4a5e901691",
:page 51,
:position {:bounding {:x1 353.59375,
:y1 910.046875,
:x2 503.3207702636719,
:y2 942.046875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 353.59375,
:y1 910.046875,
:x2 503.3207702636719,
:y2 942.046875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 51},
:content {:text "Performance"},
:properties {:color "yellow"}}
{:id #uuid "643fb234-d566-4913-a03b-c574e6a623c4",
:page 52,
:position {:bounding {:x1 86.36607360839844,
:y1 991.27685546875,
:x2 176.85842895507812,
:y2 1007.8482971191406,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 86.36607360839844,
:y1 991.27685546875,
:x2 176.85842895507812,
:y2 1007.8482971191406,
:width 863.9992,
:height 1065.5991999999999}),
:page 52},
:content {:text "response time"},
:properties {:color "yellow"}}
{:id #uuid "643fb242-9401-42fa-bddc-d93e571b6e99",
:page 53,
:position {:bounding {:x1 228.7946548461914,
:y1 146.44644165039062,
:x2 304.45003509521484,
:y2 163.01788330078125,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 228.7946548461914,
:y1 146.44644165039062,
:x2 304.45003509521484,
:y2 163.01788330078125,
:width 863.9992,
:height 1065.5991999999999}),
:page 53},
:content {:text "throughput"},
:properties {:color "yellow"}}
{:id #uuid "643fe045-80bb-4c47-b601-3fdc9175581d",
:page 54,
:position {:bounding {:x1 115.19643020629883,
:y1 424.18751525878906,
:x2 282.72221755981445,
:y2 445.3303680419922,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 115.19643020629883,
:y1 424.18751525878906,
:x2 282.72221755981445,
:y2 445.3303680419922,
:width 863.9992,
:height 1065.5991999999999}),
:page 54},
:content {:text "Relative Performance"},
:properties {:color "yellow"}}
{:id #uuid "6440d1fd-a2c1-4d4c-a493-3b5c7d91448e",
:page 55,
:position {:bounding {:x1 228.79464721679688,
:y1 262.22322845458984,
:x2 449.4032897949219,
:y2 287.9375228881836,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 228.79464721679688,
:y1 262.22322845458984,
:x2 449.4032897949219,
:y2 287.9375228881836,
:width 863.9992,
:height 1065.5991999999999}),
:page 55},
:content {:text "Measuring Performance"},
:properties {:color "yellow"}}
{:id #uuid "6440d4c6-9dc2-4712-9d25-6386325581e5",
:page 56,
:position {:bounding {:x1 86.39286041259766,
:y1 838.2232666015625,
:x2 391.7691421508789,
:y2 863.9375457763672,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 86.39286041259766,
:y1 838.2232666015625,
:x2 391.7691421508789,
:y2 863.9375457763672,
:width 863.9992,
:height 1065.5991999999999}),
:page 56},
:content {:text "CPU Performance and Its Factors"},
:properties {:color "yellow"}}
{:id #uuid "6440d70f-cde0-41ca-af1b-82d5a777a7a8",
:page 58,
:position {:bounding {:x1 86.39286041259766,
:y1 368.2232360839844,
:x2 311.6122817993164,
:y2 393.9375,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 86.39286041259766,
:y1 368.2232360839844,
:x2 311.6122817993164,
:y2 393.9375,
:width 863.9992,
:height 1065.5991999999999}),
:page 58},
:content {:text "Instruction Performance"},
:properties {:color "yellow"}}
{:id #uuid "6440d99c-e080-4352-8c2d-7d35e897a2ee",
:page 59,
:position {:bounding {:x1 228.7946548461914,
:y1 565.5357360839844,
:x2 588.4113845825195,
:y2 591.2500305175781,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 228.7946548461914,
:y1 565.5357360839844,
:x2 588.4113845825195,
:y2 591.2500305175781,
:width 863.9992,
:height 1065.5991999999999}),
:page 59},
:content {:text "The Classic CPU Performance Equation"},
:properties {:color "yellow"}}
{:id #uuid "6440dc59-a80f-4185-9692-8e4122cad4b4",
:page 61,
:position {:bounding {:x1 0,
:y1 76.00000762939453,
:x2 716.0443725585938,
:y2 335.08036041259766,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 0,
:y1 76.00000762939453,
:x2 0,
:y2 99.42858123779297,
:width 863.9992,
:height 1065.5991999999999}
{:x1 445.0782775878906,
:y1 299.31250762939453,
:x2 716.0443725585938,
:y2 315.88394927978516,
:width 863.9992,
:height 1065.5991999999999}
{:x1 257.50000762939453,
:y1 318.50894927978516,
:x2 464.11612701416016,
:y2 335.08036041259766,
:width 863.9992,
:height 1065.5991999999999}),
:page 61},
:content {:text "e only complete and reliable measure of computer performance is time. Fo"},
:properties {:color "yellow"}}
{:id #uuid "6440dcd2-ae75-4a59-a2c5-aff6e3bf7953",
:page 61,
:position {:bounding {:x1 0,
:y1 428.0000343322754,
:x2 740.8743286132812,
:y2 926.2500610351562,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 0,
:y1 428.0000343322754,
:x2 0,
:y2 451.4286060333252,
:width 863.9992,
:height 1065.5991999999999}
{:x1 721.9046630859375,
:y1 890.4732666015625,
:x2 740.8743286132812,
:y2 907.0447082519531,
:width 863.9992,
:height 1065.5991999999999}
{:x1 228.79464721679688,
:y1 909.6786193847656,
:x2 708.3522338867188,
:y2 926.2500610351562,
:width 863.9992,
:height 1065.5991999999999}),
:page 61},
:content {:text "PI, however, depends on a wide variety of design details in the computer, incl"},
:properties {:color "yellow"}}
{:id #uuid "6440df39-4ac7-4efc-b59a-64db6354ca0f",
:page 63,
:position {:bounding {:x1 326.4018020629883,
:y1 514.6339569091797,
:x2 489.9254837036133,
:y2 543.7768249511719,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 326.4018020629883,
:y1 514.6339569091797,
:x2 489.9254837036133,
:y2 543.7768249511719,
:width 863.9992,
:height 1065.5991999999999}),
:page 63},
:content {:text "The Power Wall"},
:properties {:color "yellow"}}
{:id #uuid "6440e306-7625-4883-b3f0-fbdca42d92e3",
:page 65,
:position {:bounding {:x1 417.2405548095703,
:y1 496.7321472167969,
:x2 471.40818786621094,
:y2 513.3036193847656,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 417.2405548095703,
:y1 496.7321472167969,
:x2 471.40818786621094,
:y2 513.3036193847656,
:width 863.9992,
:height 1065.5991999999999}),
:page 65},
:content {:text "slammed "},
:properties {:color "green"}}
{:id #uuid "6440e5e4-e02f-43e3-9311-64f8b6d67f75",
:page 65,
:position {:bounding {:x1 441.11253356933594,
:y1 323.9107360839844,
:x2 491.07579040527344,
:y2 340.4821472167969,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 441.11253356933594,
:y1 323.9107360839844,
:x2 491.07579040527344,
:y2 340.4821472167969,
:width 863.9992,
:height 1065.5991999999999}),
:page 65},
:content {:text "faucets "},
:properties {:color "green"}}
{:id #uuid "6440e73c-8061-47b2-bc37-522db24f1707",
:page 65,
:position {:bounding {:x1 641.3332366943359,
:y1 362.3125228881836,
:x2 692.1140594482422,
:y2 378.8839340209961,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 641.3332366943359,
:y1 362.3125228881836,
:x2 692.1140594482422,
:y2 378.8839340209961,
:width 863.9992,
:height 1065.5991999999999}),
:page 65},
:content {:text "unwieldy"},
:properties {:color "green"}}
{:id #uuid "6440e8c9-0024-4751-8233-43e8cea16699",
:page 66,
:position {:bounding {:x1 508.92555236816406,
:y1 891.5893249511719,
:x2 560.0033416748047,
:y2 908.1607360839844,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 508.92555236816406,
:y1 891.5893249511719,
:x2 560.0033416748047,
:y2 908.1607360839844,
:width 863.9992,
:height 1065.5991999999999}),
:page 66},
:content {:text "startling"},
:properties {:color "green"}}
{:id #uuid "6440e99d-0c7d-4acb-9ba7-9172e1d383d8",
:page 68,
:position {:bounding {:x1 528.641414642334,
:y1 242.46429443359375,
:x2 575.1994895935059,
:y2 259.03570556640625,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 528.641414642334,
:y1 242.46429443359375,
:x2 575.1994895935059,
:y2 259.03570556640625,
:width 863.9992,
:height 1065.5991999999999}),
:page 68},
:content {:text "stiffer "},
:properties {:color "green"}}
{:id #uuid "6440e9ca-16a4-48ed-9648-adafb74ce097",
:page 66,
:position {:bounding {:x1 0,
:y1 12,
:x2 547.5527496337891,
:y2 203.55357360839844,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 0,
:y1 12,
:x2 0,
:y2 35.42857360839844,
:width 863.9992,
:height 1065.5991999999999}
{:x1 184.00001525878906,
:y1 145.5982208251953,
:x2 544.1925201416016,
:y2 174.74107360839844,
:width 863.9992,
:height 1065.5991999999999}
{:x1 184.00001525878906,
:y1 174.4107208251953,
:x2 547.5527496337891,
:y2 203.55357360839844,
:width 863.9992,
:height 1065.5991999999999}),
:page 66},
:content {:text "The Sea Change: The Switch from Uniprocessors to Multiprocessors"},
:properties {:color "yellow"}}
{:id #uuid "6440ea56-fdd5-426f-9a76-d5b5a7465c55",
:page 72,
:position {:bounding {:x1 183.99107933044434,
:y1 330.39288330078125,
:x2 409.33734703063965,
:y2 359.5357360839844,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 183.99107933044434,
:y1 330.39288330078125,
:x2 409.33734703063965,
:y2 359.5357360839844,
:width 863.9992,
:height 1065.5991999999999}),
:page 72},
:content {:text "Fallacies and Pitfalls"},
:properties {:color "yellow"}}
{:id #uuid "6440ebb6-a98d-465f-8345-3da49486f653",
:page 75,
:position {:bounding {:x1 535.8978118896484,
:y1 443.8303756713867,
:x2 587.0798187255859,
:y2 460.4017868041992,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 535.8978118896484,
:y1 443.8303756713867,
:x2 587.0798187255859,
:y2 460.4017868041992,
:width 863.9992,
:height 1065.5991999999999}),
:page 75},
:content {:text "preclude"},
:properties {:color "green"}}
{:id #uuid "6440ebc6-59b1-4b7e-ae67-75559989873b",
:page 75,
:position {:bounding {:x1 460.8224639892578,
:y1 606.258936882019,
:x2 535.8962554931641,
:y2 622.8304090499878,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 460.8224639892578,
:y1 606.258936882019,
:x2 535.8962554931641,
:y2 622.8304090499878,
:width 863.9992,
:height 1065.5991999999999}),
:page 75},
:content {:text "constituent"},
:properties {:color "green"}}
{:id #uuid "6440ebd7-8c0c-4a18-9d86-bd95714f58ac",
:page 75,
:position {:bounding {:x1 554.0714569091797,
:y1 737.4375,
:x2 649.8496551513672,
:y2 754.0089721679688,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 554.0714569091797,
:y1 737.4375,
:x2 649.8496551513672,
:y2 754.0089721679688,
:width 863.9992,
:height 1065.5991999999999}),
:page 75},
:content {:text "unimpeachable"},
:properties {:color "green"}}
{:id #uuid "6440ec21-aef2-4494-8b50-d16a83c0d9bb",
:page 72,
:position {:bounding {:x1 501.0765686035156,
:y1 500.40181732177734,
:x2 559.4037475585938,
:y2 516.9732284545898,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 501.0765686035156,
:y1 500.40181732177734,
:x2 559.4037475585938,
:y2 516.9732284545898,
:width 863.9992,
:height 1065.5991999999999}),
:page 72},
:content {:text "ensnared "},
:properties {:color "green"}}
{:id #uuid "6441170f-b51b-453a-b612-0b71b2b6032d",
:page 72,
:position {:bounding {:x1 666.24658203125,
:y1 732.15625,
:x2 741.0265502929688,
:y2 752.15625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 666.24658203125,
:y1 732.15625,
:x2 741.0265502929688,
:y2 752.15625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 72},
:content {:text "corollary"},
:properties {:color "green"}}
{:id #uuid "64411718-be78-469d-9b83-0dfd9c83338b",
:page 72,
:position {:bounding {:x1 558.261962890625,
:y1 732.15625,
:x2 666.2598266601562,
:y2 752.15625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 558.261962890625,
:y1 732.15625,
:x2 666.2598266601562,
:y2 752.15625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 72},
:content {:text "demoralizing "},
:properties {:color "green"}}
{:id #uuid "64411720-4c6a-49ce-8a72-4aa19e7b8482",
:page 72,
:position {:bounding {:x1 164.79791259765625,
:y1 754.546875,
:x2 220.84051513671875,
:y2 774.546875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 164.79791259765625,
:y1 754.546875,
:x2 220.84051513671875,
:y2 774.546875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 72},
:content {:text " plague"},
:properties {:color "green"}}
{:id #uuid "6441179d-ae59-49b4-8903-874cb5b7c9cd",
:page 72,
:position {:bounding {:x1 416.296875,
:y1 911.34375,
:x2 530.962646484375,
:y2 931.34375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 416.296875,
:y1 911.34375,
:x2 530.962646484375,
:y2 931.34375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 72},
:content {:text "Amdahls Law"},
:properties {:color "yellow"}}
{:id #uuid "6441212c-596a-463c-a47a-04478b16268b",
:page 73,
:position {:bounding {:x1 330.93280029296875,
:y1 555.578125,
:x2 649.2786865234375,
:y2 574.578125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 330.93280029296875,
:y1 555.578125,
:x2 649.2786865234375,
:y2 574.578125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 73},
:content {:text "Computers at low utilization use little power."},
:properties {:color "yellow"}}
{:id #uuid "64412369-dd7a-4a26-9979-be7179f38df6",
:page 74,
:position {:bounding {:x1 301.421875,
:y1 240.859375,
:x2 599.467041015625,
:y2 259.859375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 301.421875,
:y1 240.859375,
:x2 599.467041015625,
:y2 259.859375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 74},
:content {:text "MIPS (million instructions per second)"},
:properties {:color "yellow"}}
{:id #uuid "64412821-6b54-47a0-9317-a4b042989fdf",
:page 83,
:position {:bounding {:x1 0,
:y1 124,
:x2 728.5886840820312,
:y2 807.890625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 124,
:x2 0,
:y2 148,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 0,
:y1 140,
:x2 0,
:y2 164,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 403.265625,
:y1 641.984375,
:x2 657.0306396484375,
:y2 696.984375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 403.265625,
:y1 697.4375,
:x2 728.5886840820312,
:y2 752.4375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 403.265625,
:y1 704.4375,
:x2 728.5886840820312,
:y2 746.03125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 403.265625,
:y1 752.890625,
:x2 597.96435546875,
:y2 807.890625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 83},
:content {:text "Instructions: Language of the Computer"},
:properties {:color "yellow"}}
{:id #uuid "64412a38-84ed-4f97-b83d-911772eb7158",
:page 86,
:position {:bounding {:x1 93.59375,
:y1 490.46875,
:x2 158.8719024658203,
:y2 509.46875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 490.46875,
:x2 158.8719024658203,
:y2 509.46875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 86},
:content {:text "palatable"},
:properties {:color "green"}}
{:id #uuid "64412bbd-513c-4e00-8576-7ef88749e552",
:page 86,
:position {:bounding {:x1 581.6553955078125,
:y1 428.0625,
:x2 652.463623046875,
:y2 447.0625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 581.6553955078125,
:y1 428.0625,
:x2 652.463623046875,
:y2 447.0625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 86},
:content {:text "rationale "},
:properties {:color "green"}}
{:id #uuid "64412ca1-c9b5-4d6b-ba19-d353992dd2f1",
:page 86,
:position {:bounding {:x1 199.328125,
:y1 587.8125,
:x2 641.960693359375,
:y2 619.8125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 199.328125,
:y1 587.8125,
:x2 641.960693359375,
:y2 619.8125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 86},
:content {:text "Operations of the Computer Hardware"},
:properties {:color "yellow"}}
{:id #uuid "64412cc0-59a8-4a38-9094-1a7bd916a41f",
:page 89,
:position {:bounding {:x1 353.59375,
:y1 882.46875,
:x2 778.74755859375,
:y2 914.46875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 353.59375,
:y1 882.46875,
:x2 778.74755859375,
:y2 914.46875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 89},
:content {:text "Operands of the Computer Hardware"},
:properties {:color "yellow"}}
{:id #uuid "64412fc0-7ad1-4c8a-9c03-c198e741605b",
:page 91,
:position {:bounding {:x1 639.25,
:y1 561.546875,
:x2 838.1859130859375,
:y2 580.546875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 639.25,
:y1 561.546875,
:x2 838.1859130859375,
:y2 580.546875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 91},
:content {:text "data transfer instructions"},
:properties {:color "yellow"}}
{:id #uuid "6441425c-134d-449d-ae39-4db48a67054c",
:page 92,
:position {:bounding {:x1 186.765625,
:y1 986.609375,
:x2 351.5075378417969,
:y2 1005.609375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 186.765625,
:y1 986.609375,
:x2 351.5075378417969,
:y2 1005.609375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 92},
:content {:text "alignment restriction"},
:properties {:color "yellow"}}
{:id #uuid "64414940-7d06-4339-af0b-974b1b34dbc5",
:page 93,
:position {:bounding {:x1 0,
:y1 28,
:x2 842.7676391601562,
:y2 523.3125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 28,
:x2 0,
:y2 52,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 788.0542602539062,
:y1 483.515625,
:x2 842.7676391601562,
:y2 502.515625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 504.3125,
:x2 414.9499816894531,
:y2 523.3125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 93},
:content {:text " MIPS is in the big-endian camp. "},
:properties {:color "yellow"}}
{:id #uuid "64414a51-2d38-48ff-b0c0-bc53f9c5fadb",
:page 95,
:position {:bounding {:x1 247.859375,
:y1 134.015625,
:x2 577.7615356445312,
:y2 161.015625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 134.015625,
:x2 577.7615356445312,
:y2 161.015625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 95},
:content {:text "Constant or Immediate Operands"},
:properties {:color "yellow"}}
{:id #uuid "64414af2-05ea-4a88-baf6-a19462b4c3a9",
:page 95,
:position {:bounding {:x1 0,
:y1 284,
:x2 842.5028076171875,
:y2 617.953125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 284,
:x2 0,
:y2 308,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 0,
:y1 300,
:x2 0,
:y2 324,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 268.65625,
:y1 557.359375,
:x2 336.2773132324219,
:y2 576.359375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 347.0625,
:y1 557.359375,
:x2 468.8554382324219,
:y2 576.359375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 479.640625,
:y1 557.359375,
:x2 597.2772827148438,
:y2 576.359375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 608.0625,
:y1 557.359375,
:x2 707.7147827148438,
:y2 576.359375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 718.5,
:y1 557.359375,
:x2 842.5028076171875,
:y2 576.359375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 578.15625,
:x2 842.1734008789062,
:y2 597.15625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 598.953125,
:x2 517.081298828125,
:y2 617.953125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 95},
:content {:text "Constant operands occur frequently, and by including constants inside arithmetic instructions, operations are much faster and use less energy than if constants were loaded from memory."},
:properties {:color "yellow"}}
{:id #uuid "64414b4e-cf31-4e7f-8320-2f1bbcbf9b32",
:page 96,
:position {:bounding {:x1 0,
:y1 156,
:x2 688.129638671875,
:y2 410.859375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 156,
:x2 0,
:y2 180,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 201.921875,
:y1 370.796875,
:x2 688.129638671875,
:y2 391.796875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 93.59375,
:y1 389.859375,
:x2 226.82322692871094,
:y2 410.859375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 96},
:content {:text "Since MIPS supports negative constants, there is no need for subtract immediate in MIPS."},
:properties {:color "yellow"}}
{:id #uuid "64414b5f-de73-4bbc-812d-8ebd0f082ea0",
:page 96,
:position {:bounding {:x1 162.12307739257812,
:y1 458.59375,
:x2 554.4741821289062,
:y2 499.59375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 162.12307739257812,
:y1 458.59375,
:x2 162.1279296875,
:y2 499.59375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 199.328125,
:y1 465.140625,
:x2 554.4741821289062,
:y2 497.140625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 96},
:content {:text "Signed and Unsigned Numbers"},
:properties {:color "yellow"}}
{:id #uuid "64414bb1-c764-493b-b555-4e241a31f255",
:page 96,
:position {:bounding {:x1 297.890625,
:y1 669.390625,
:x2 394.86053466796875,
:y2 688.390625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 297.890625,
:y1 669.390625,
:x2 394.86053466796875,
:y2 688.390625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 96},
:content {:text "binary digits "},
:properties {:color "yellow"}}
{:id #uuid "64414c34-4dc9-4127-9938-faf0374b6c29",
:page 97,
:position {:bounding {:x1 0,
:y1 492,
:x2 842.3908081054688,
:y2 988.28125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 492,
:x2 0,
:y2 516,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 430.45306396484375,
:y1 948.46875,
:x2 842.3908081054688,
:y2 967.46875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 969.28125,
:x2 314.7354736328125,
:y2 988.28125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 97},
:content {:text "inary bit patterns above are simply representatives of numbers. "},
:properties {:color "yellow"}}
{:id #uuid "64414d2f-3ea8-45a6-9a7a-b84f74a554cf",
:page 103,
:position {:bounding {:x1 316.3887023925781,
:y1 165.890625,
:x2 828.2520141601562,
:y2 206.890625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 316.3887023925781,
:y1 165.890625,
:x2 316.3935546875,
:y2 206.890625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 172.4375,
:x2 828.2520141601562,
:y2 204.4375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 103},
:content {:text "Representing Instructions in the Computer"},
:properties {:color "yellow"}}
{:id #uuid "64414d4d-71a4-44df-9475-d710bfee40d3",
:page 98,
:position {:bounding {:x1 373.484375,
:y1 240.859375,
:x2 513.6807250976562,
:y2 259.859375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 373.484375,
:y1 240.859375,
:x2 513.6807250976562,
:y2 259.859375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 98},
:content {:text "sign and magnitude"},
:properties {:color "yellow"}}
{:id #uuid "64414e6e-e6f7-4d05-865f-a18455c509ba",
:page 99,
:position {:bounding {:x1 727.3969116210938,
:y1 968.546875,
:x2 756.0888061523438,
:y2 987.546875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 727.3969116210938,
:y1 968.546875,
:x2 756.0888061523438,
:y2 987.546875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 99},
:content {:text "moot"},
:properties {:color "green"}}
{:id #uuid "64414fbb-4773-4332-bf21-f533847d0bde",
:page 99,
:position {:bounding {:x1 0,
:y1 316,
:x2 842.350341796875,
:y2 925.140625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 316,
:x2 0,
:y2 340,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 814.171875,
:y1 885.34375,
:x2 842.350341796875,
:y2 904.34375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.8125,
:y1 906.140625,
:x2 314.9574890136719,
:y2 925.140625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 99},
:content {:text "sign extension"},
:properties {:color "yellow"}}
{:id #uuid "64415085-a9e5-4193-a5d1-9c90f5d63ea8",
:page 101,
:position {:bounding {:x1 0,
:y1 444,
:x2 842.400146484375,
:y2 1068.03125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 444,
:x2 0,
:y2 468,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 0,
:y1 460,
:x2 0,
:y2 484,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 0,
:y1 476,
:x2 0,
:y2 500,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 986.609375,
:x2 842.400146484375,
:y2 1005.609375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 1007.421875,
:x2 842.3902587890625,
:y2 1026.421875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 1028.21875,
:x2 842.3952026367188,
:y2 1047.21875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 1049.03125,
:x2 767.5921630859375,
:y2 1068.03125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 101},
:content {:text "This trick works because positive twos complement numbers really have an infinite number of 0s on the left and negative twos complement numbers have an infinite number of 1s. The binary bit pattern representing a number hides leading bits to fit the width of the hardware; sign extension simply restores some of them."},
:properties {:color "yellow"}}
{:id #uuid "64415118-595d-4125-b641-333d82a58006",
:page 110,
:position {:bounding {:x1 199.328125,
:y1 463.25,
:x2 417.72845458984375,
:y2 495.25,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 199.328125,
:y1 463.25,
:x2 417.72845458984375,
:y2 495.25,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 110},
:content {:text "Logical Operations"},
:properties {:color "yellow"}}
{:id #uuid "64415179-3df0-431e-9e53-8608796931dd",
:page 105,
:position {:bounding {:x1 247.859375,
:y1 495.25,
:x2 366.1187744140625,
:y2 522.25,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 495.25,
:x2 366.1187744140625,
:y2 522.25,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 105},
:content {:text "MIPS Fields"},
:properties {:color "yellow"}}
{:id #uuid "64415292-0727-4366-8717-ecca11267baf",
:page 106,
:position {:bounding {:x1 114.390625,
:y1 136.84375,
:x2 571.34375,
:y2 155.84375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 114.390625,
:y1 136.84375,
:x2 571.34375,
:y2 155.84375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 106},
:content {:text "Design Principle 3: Good design demands good compromises."},
:properties {:color "yellow"}}
{:id #uuid "644152aa-00c2-4542-abaf-7048e6d37904",
:page 90,
:position {:bounding {:x1 114.390625,
:y1 331,
:x2 380.34375,
:y2 350,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 114.390625,
:y1 331,
:x2 380.34375,
:y2 350,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 90},
:content {:text "Design Principle 2: Smaller is faster."},
:properties {:color "yellow"}}
{:id #uuid "644152b5-ee31-4da9-86e4-33d7472f04c3",
:page 88,
:position {:bounding {:x1 114.390625,
:y1 310.203125,
:x2 454.88836669921875,
:y2 329.203125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 114.390625,
:y1 310.203125,
:x2 454.88836669921875,
:y2 329.203125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 88},
:content {:text "Design Principle 1: Simplicity favors regularity."},
:properties {:color "yellow"}}
{:id #uuid "644154b4-a07e-46fd-aa88-178297b61434",
:page 113,
:position {:bounding {:x1 353.59375,
:y1 172.4375,
:x2 747.692138671875,
:y2 204.4375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 353.59375,
:y1 172.4375,
:x2 747.692138671875,
:y2 204.4375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 113},
:content {:text "Instructions for Making Decisions"},
:properties {:color "yellow"}}
{:id #uuid "644156a7-b2b5-4010-97e3-a432f077cd33",
:page 113,
:position {:bounding {:x1 537.546875,
:y1 553.484375,
:x2 697.383056640625,
:y2 572.484375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 537.546875,
:y1 553.484375,
:x2 697.383056640625,
:y2 572.484375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 113},
:content {:text "conditional branches"},
:properties {:color "yellow"}}
{:id #uuid "644156f5-e485-4140-be11-6ef87a585383",
:page 119,
:position {:bounding {:x1 0,
:y1 364,
:x2 772.2033081054688,
:y2 890.21875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 364,
:x2 0,
:y2 388,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 827,
:x2 772.2033081054688,
:y2 859,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 858.21875,
:x2 463.2795104980469,
:y2 890.21875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 119},
:content {:text "Supporting Procedures in Computer Hardware"},
:properties {:color "yellow"}}
{:id #uuid "64415778-92af-4d30-b3b4-0b3dddd397f4",
:page 115,
:position {:bounding {:x1 247.859375,
:y1 294.1875,
:x2 307.3605651855469,
:y2 321.1875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 294.1875,
:x2 307.3605651855469,
:y2 321.1875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 115},
:content {:text "Loops"},
:properties {:color "yellow"}}
{:id #uuid "6441591a-02ed-4556-8fd7-5fdb310063e7",
:page 117,
:position {:bounding {:x1 607.9564819335938,
:y1 292.859375,
:x2 691.715087890625,
:y2 311.859375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 607.9564819335938,
:y1 292.859375,
:x2 691.715087890625,
:y2 311.859375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 117},
:content {:text "dichotomy "},
:properties {:color "green"}}
{:id #uuid "644159a7-3b96-4924-8260-0cb300307c86",
:page 118,
:position {:bounding {:x1 93.59375,
:y1 551.15625,
:x2 335.29815673828125,
:y2 578.15625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 551.15625,
:x2 335.29815673828125,
:y2 578.15625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 118},
:content {:text "Case/Switch Statement"},
:properties {:color "yellow"}}
{:id #uuid "64416330-597c-4245-8d53-a5dc643ea05f",
:page 121,
:position {:bounding {:x1 369.87750244140625,
:y1 504.59375,
:x2 412.9659118652344,
:y2 523.59375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 369.87750244140625,
:y1 504.59375,
:x2 412.9659118652344,
:y2 523.59375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 121},
:content {:text "spill "},
:properties {:color "green"}}
{:id #uuid "64416615-2966-4adb-a524-845337e588d3",
:page 125,
:position {:bounding {:x1 247.859375,
:y1 984.671875,
:x2 733.875,
:y2 1003.671875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 984.671875,
:x2 330.5800476074219,
:y2 1003.671875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 342.703125,
:y1 984.671875,
:x2 733.875,
:y2 1003.671875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 328.84375,
:y1 987.671875,
:x2 330.5800476074219,
:y2 1001.53125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 342.703125,
:y1 987.671875,
:x2 733.875,
:y2 1001.53125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 125},
:content {:text "FIGURE 2.11 What is and what is not preserved across a procedure call. "},
:properties {:color "yellow"}}
{:id #uuid "64416671-9318-4296-9588-c0421c02cdd2",
:page 127,
:position {:bounding {:x1 666.8914794921875,
:y1 396.171875,
:x2 771.6559448242188,
:y2 415.171875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 666.8914794921875,
:y1 396.171875,
:x2 771.6559448242188,
:y2 415.171875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 127},
:content {:text " wax and wane."},
:properties {:color "green"}}
{:id #uuid "6441667f-2639-458b-91fd-8bf6b5a2c6ae",
:page 126,
:position {:bounding {:x1 93.59375,
:y1 221.375,
:x2 532.6923217773438,
:y2 248.375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 221.375,
:x2 532.6923217773438,
:y2 248.375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 126},
:content {:text "Allocating Space for New Data on the Stack"},
:properties {:color "yellow"}}
{:id #uuid "64416688-3f6e-444e-b265-3e4a36ec51b8",
:page 126,
:position {:bounding {:x1 153.53125,
:y1 317.125,
:x2 436.0551452636719,
:y2 336.125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 153.53125,
:y1 317.125,
:x2 436.0551452636719,
:y2 336.125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 126},
:content {:text "procedure frame or activation record"},
:properties {:color "yellow"}}
{:id #uuid "644167c0-1ac2-42df-b01d-4fff03a393e7",
:page 129,
:position {:bounding {:x1 353.59375,
:y1 492.546875,
:x2 679.142333984375,
:y2 524.546875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 353.59375,
:y1 492.546875,
:x2 679.142333984375,
:y2 524.546875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 129},
:content {:text "Communicating with People"},
:properties {:color "yellow"}}
{:id #uuid "6441f1a7-4442-466f-9edc-776f6e0e6ecb",
:page 134,
:position {:bounding {:x1 0,
:y1 316.00001525878906,
:x2 605.1144943237305,
:y2 767.5714416503906,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 0,
:y1 316.00001525878906,
:x2 0,
:y2 339.4285888671875,
:width 863.9992,
:height 1065.5991999999999}
{:x1 183.99108123779297,
:y1 709.6250305175781,
:x2 605.1144943237305,
:y2 738.7679138183594,
:width 863.9992,
:height 1065.5991999999999}
{:x1 183.99108123779297,
:y1 738.4286193847656,
:x2 342.1378707885742,
:y2 767.5714416503906,
:width 863.9992,
:height 1065.5991999999999}),
:page 134},
:content {:text "MIPS Addressing for 32-bit Immediates and Addresses"},
:properties {:color "yellow"}}
{:id #uuid "6441fb16-91e4-42d8-94bf-5718dd9fc91b",
:page 135,
:position {:bounding {:x1 229.19644385576248,
:y1 123.97320556640625,
:x2 479.9560721516609,
:y2 149.6875,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 229.19644385576248,
:y1 123.97320556640625,
:x2 479.9560721516609,
:y2 149.6875,
:width 863.9992,
:height 1065.5991999999999}),
:page 135},
:content {:text "32-Bit Immediate Operands"},
:properties {:color "yellow"}}
{:id #uuid "64427722-3a05-43f1-b00e-7dcc30cc74ff",
:page 136,
:position {:bounding {:x1 90,
:y1 542.046875,
:x2 422.8097839355469,
:y2 568.046875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 90,
:y1 542.046875,
:x2 422.8097839355469,
:y2 568.046875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 136},
:content {:text "Addressing in Branches and Jumps"},
:properties {:color "yellow"}}
{:id #uuid "64427a40-988f-4430-aaa5-84d3926c6234",
:page 139,
:position {:bounding {:x1 238.328125,
:y1 670.796875,
:x2 460.3167419433594,
:y2 696.796875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 238.328125,
:y1 670.796875,
:x2 460.3167419433594,
:y2 696.796875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 139},
:content {:text "MIPS Addressing Mode"},
:properties {:color "yellow"}}
{:id #uuid "644284b0-dd95-46e5-829f-4509200e5f8d",
:page 144,
:position {:bounding {:x1 0,
:y1 12,
:x2 514.0201416015625,
:y2 213.90625,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 0,
:y1 12,
:x2 0,
:y2 36,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 191.65625,
:y1 152.90625,
:x2 514.0201416015625,
:y2 183.90625,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 191.65625,
:y1 182.90625,
:x2 371.8042297363281,
:y2 213.90625,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 144},
:content {:text "Parallelism and Instructions: Synchronization"},
:properties {:color "yellow"}}
{:id #uuid "64428502-8d37-4bad-a24f-6edfa9796740",
:page 144,
:position {:bounding {:x1 397.2828063964844,
:y1 623.78125,
:x2 468.74755859375,
:y2 640.78125,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 397.2828063964844,
:y1 623.78125,
:x2 468.74755859375,
:y2 640.78125,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 144},
:content {:text "interpose "},
:properties {:color "green"}}
{:id #uuid "64428547-07fb-49e2-9e3f-a7ac95b7e8e0",
:page 144,
:position {:bounding {:x1 0,
:y1 348,
:x2 661.6920166015625,
:y2 640.78125,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 0,
:y1 348,
:x2 0,
:y2 372,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 110.85981750488281,
:y1 603.78125,
:x2 661.6920166015625,
:y2 621.28125,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 89.984375,
:y1 623.78125,
:x2 211.47445678710938,
:y2 640.78125,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 144},
:content {:text "a set of hardware primitives with the ability to atomically read and modify a memory location. "},
:properties {:color "yellow"}}
{:id #uuid "64428b6e-1dba-4bd4-ab91-d18ae9cb9cf6",
:page 146,
:position {:bounding {:x1 191.65625,
:y1 564.28125,
:x2 582.6159057617188,
:y2 595.28125,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 191.65625,
:y1 564.28125,
:x2 582.6159057617188,
:y2 595.28125,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 146},
:content {:text "Translating and Starting a Program"},
:properties {:color "yellow"}}
{:id #uuid "64428b72-2291-4380-a2ad-dc5cdc82315e",
:page 147,
:position {:bounding {:x1 238.328125,
:y1 723.046875,
:x2 339.53802490234375,
:y2 749.046875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 238.328125,
:y1 723.046875,
:x2 339.53802490234375,
:y2 749.046875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 147},
:content {:text "Assembler"},
:properties {:color "yellow"}}
{:id #uuid "64428b7b-0678-4fc3-a105-71fdc6185144",
:page 147,
:position {:bounding {:x1 570.09375,
:y1 835.21875,
:x2 711.56201171875,
:y2 852.21875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 570.09375,
:y1 835.21875,
:x2 711.56201171875,
:y2 852.21875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 147},
:content {:text "pseudoinstructions"},
:properties {:color "yellow"}}
{:id #uuid "64428c72-5e4f-4f33-a1ac-cadd4610f04a",
:page 148,
:position {:bounding {:x1 483.49981689453125,
:y1 457.578125,
:x2 550.3284912109375,
:y2 474.578125,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 483.49981689453125,
:y1 457.578125,
:x2 550.3284912109375,
:y2 474.578125,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 148},
:content {:text "succinct "},
:properties {:color "green"}}
{:id #uuid "64428ce2-cd44-4d6d-a311-dc7aa3f656ab",
:page 148,
:position {:bounding {:x1 0,
:y1 284,
:x2 661.7095947265625,
:y2 574.59375,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 0,
:y1 284,
:x2 0,
:y2 308,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 0,
:y1 300,
:x2 0,
:y2 324,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 232.85025024414062,
:y1 517.578125,
:x2 661.5416259765625,
:y2 534.578125,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 89.953125,
:y1 537.59375,
:x2 661.7095947265625,
:y2 555.09375,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 89.953125,
:y1 557.59375,
:x2 523.1761474609375,
:y2 574.59375,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 148},
:content {:text "The assembler turns the assembly language program into an object file, which is a combination of machine language instructions, data, and information needed to place instructions properly in memory."},
:properties {:color "yellow"}}
{:id #uuid "64428f56-bd42-4cc4-a4dd-bf8b05e76fc3",
:page 148,
:position {:bounding {:x1 109.984375,
:y1 677.546875,
:x2 593.8244018554688,
:y2 694.546875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 109.984375,
:y1 677.546875,
:x2 593.8244018554688,
:y2 694.546875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 148},
:content {:text "The object file for UNIX systems typically contains six distinct pieces:"},
:properties {:color "yellow"}}
{:id #uuid "64428f9a-632e-4bdb-80d5-56febc2bb977",
:page 149,
:position {:bounding {:x1 238.328125,
:y1 263.71875,
:x2 297.9342041015625,
:y2 289.71875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 238.328125,
:y1 263.71875,
:x2 297.9342041015625,
:y2 289.71875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 149},
:content {:text "Linker"},
:properties {:color "yellow"}}
{:id #uuid "6442903b-ae86-4608-8d83-60771782b088",
:page 149,
:position {:bounding {:x1 250.91757202148438,
:y1 475.890625,
:x2 301.21282958984375,
:y2 492.890625,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 250.91757202148438,
:y1 475.890625,
:x2 301.21282958984375,
:y2 492.890625,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 149},
:content {:text "stitches"},
:properties {:color "green"}}
{:id #uuid "6442909f-b0b5-4706-8454-f89466e3ff7e",
:page 149,
:position {:bounding {:x1 0,
:y1 284,
:x2 666.59375,
:y2 603.375,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 0,
:y1 284,
:x2 0,
:y2 308,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 0,
:y1 300,
:x2 0,
:y2 324,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 258.34375,
:y1 525.890625,
:x2 271.93621826171875,
:y2 543.390625,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 283.34375,
:y1 525.890625,
:x2 661.54150390625,
:y2 543.390625,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 258.34375,
:y1 555.875,
:x2 666.59375,
:y2 573.375,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 258.34375,
:y1 585.875,
:x2 271.93621826171875,
:y2 603.375,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 283.34375,
:y1 585.875,
:x2 613.0980224609375,
:y2 602.875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 149},
:content {:text "1. Place code and data modules symbolically in memory.2. Determine the addresses of data and instruction labels.3. Patch both the internal and external references."},
:properties {:color "yellow"}}
{:id #uuid "644292fb-c10c-43f6-8152-941b009e14c2",
:page 152,
:position {:bounding {:x1 90,
:y1 630.765625,
:x2 365.6099548339844,
:y2 656.765625,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 90,
:y1 630.765625,
:x2 365.6099548339844,
:y2 656.765625,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 152},
:content {:text "Dynamically Linked Libraries"},
:properties {:color "yellow"}}
{:id #uuid "6442957a-fb16-4069-8e74-d470c01ba18c",
:page 150,
:position {:bounding {:x1 120,
:y1 173.421875,
:x2 278.09564208984375,
:y2 195.421875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 120,
:y1 173.421875,
:x2 278.09564208984375,
:y2 195.421875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 150},
:content {:text "Linking Object Files"},
:properties {:color "yellow"}}
{:id #uuid "644295c2-95e3-4da8-ba89-5470c9049fce",
:page 152,
:position {:bounding {:x1 0,
:y1 476,
:x2 661.6468505859375,
:y2 909.921875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 0,
:y1 476,
:x2 0,
:y2 500,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 639.5968627929688,
:y1 872.921875,
:x2 661.6468505859375,
:y2 889.921875,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 89.96875,
:y1 892.921875,
:x2 587.3895263671875,
:y2 909.921875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 152},
:content {:text "the library routines are not linked and loaded until the program is run"},
:properties {:color "yellow"}}
{:id #uuid "64429b75-4433-4e39-8085-ad2e791dbf33",
:page 168,
:position {:bounding {:x1 617.359375,
:y1 525.203125,
:x2 680.5186157226562,
:y2 542.203125,
:width 899.9999999999999,
:height 1110},
:rects ({:x1 617.359375,
:y1 525.203125,
:x2 680.5186157226562,
:y2 542.203125,
:width 899.9999999999999,
:height 1110}),
:page 168},
:content {:text "anatomy"},
:properties {:color "green"}}
{:id #uuid "6442a05d-69ba-4161-9ffa-bb305a17fcf1",
:page 209,
:position {:bounding {:x1 546.7271118164062,
:y1 699.28125,
:x2 599.3779907226562,
:y2 716.28125,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 546.7271118164062,
:y1 699.28125,
:x2 599.3779907226562,
:y2 716.28125,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 209},
:content {:text "toiled "},
:properties {:color "green"}}
{:id #uuid "6442a09e-3edb-4593-833a-626506177900",
:page 168,
:position {:bounding {:x1 0,
:y1 -4,
:x2 744.137451171875,
:y2 227.03125,
:width 899.9999999999999,
:height 1110},
:rects ({:x1 0,
:y1 -4,
:x2 0,
:y2 20,
:width 899.9999999999999,
:height 1110}
{:x1 340,
:y1 166.03125,
:x2 744.137451171875,
:y2 197.03125,
:width 899.9999999999999,
:height 1110}
{:x1 339.984375,
:y1 196.03125,
:x2 529.687744140625,
:y2 227.03125,
:width 899.9999999999999,
:height 1110}),
:page 168},
:content {:text "Advanced Material: Compiling C and Interpreting Java"},
:properties {:color "yellow"}}
{:id #uuid "6442a0b8-5961-423d-bbcf-96cf55fd55cf",
:page 164,
:position {:bounding {:x1 191.65625,
:y1 439.5625,
:x2 445.9940185546875,
:y2 470.5625,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 191.65625,
:y1 439.5625,
:x2 445.9940185546875,
:y2 470.5625,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 164},
:content {:text "Arrays versus Pointers"},
:properties {:color "yellow"}}
{:id #uuid "6442a0c7-e518-46f3-979d-9c104093343b",
:page 155,
:position {:bounding {:x1 312.6637878417969,
:y1 838.71875,
:x2 777.023681640625,
:y2 878.71875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 312.6637878417969,
:y1 838.71875,
:x2 312.66748046875,
:y2 878.71875,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 339.984375,
:y1 845.046875,
:x2 777.023681640625,
:y2 876.046875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 155},
:content {:text "A C Sort Example to Put It All Together"},
:properties {:color "yellow"}}
{:id #uuid "6442a152-baff-4ccb-aee2-2f548e14903e",
:page 198,
:position {:bounding {:x1 191.65625,
:y1 641.71875,
:x2 504.3375549316406,
:y2 672.71875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 191.65625,
:y1 641.71875,
:x2 504.3375549316406,
:y2 672.71875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 198},
:content {:text "Real Stuff: x86 Instructions"},
:properties {:color "yellow"}}
{:id #uuid "6442a15d-dfe5-49b0-9b78-5f109e674e2f",
:page 194,
:position {:bounding {:x1 164.3356475830078,
:y1 683.71875,
:x2 629.4019775390625,
:y2 723.71875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 164.3356475830078,
:y1 683.71875,
:x2 164.33935546875,
:y2 723.71875,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 191.65625,
:y1 690.046875,
:x2 629.4019775390625,
:y2 721.046875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 194},
:content {:text "Real Stuff: ARMv7 (32-bit) Instructions"},
:properties {:color "yellow"}}
{:id #uuid "6442a1ad-0491-48d7-84b7-7feba159d9dd",
:page 207,
:position {:bounding {:x1 339.984375,
:y1 656.71875,
:x2 777.7301025390625,
:y2 687.71875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 339.984375,
:y1 656.71875,
:x2 777.7301025390625,
:y2 687.71875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 207},
:content {:text "Real Stuff: ARMv8 (64-bit) Instructions"},
:properties {:color "yellow"}}
{:id #uuid "6442a2ee-8c2e-4ed2-a67f-23db50972a71",
:page 207,
:position {:bounding {:x1 435.46380615234375,
:y1 794.21875,
:x2 501.17572021484375,
:y2 811.21875,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 435.46380615234375,
:y1 794.21875,
:x2 501.17572021484375,
:y2 811.21875,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 207},
:content {:text "headstart "},
:properties {:color "green"}}
{:id #uuid "6442a5d0-e073-4cd4-a6c6-1bb664ee952a",
:page 225,
:position {:bounding {:x1 0,
:y1 92,
:x2 655.75,
:y2 723.34375,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 0,
:y1 92,
:x2 0,
:y2 116,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 387.75,
:y1 618.015625,
:x2 655.75,
:y2 670.015625,
:width 899.9991666666666,
:height 1109.9991666666665}
{:x1 387.75,
:y1 671.34375,
:x2 597.1577758789062,
:y2 723.34375,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 225},
:content {:text "Arithmetic for Computers"},
:properties {:color "yellow"}}
{:id #uuid "64433ef2-0591-499f-b056-b2664d81156e",
:page 227,
:position {:bounding {:x1 704.2803039550781,
:y1 423.5893096923828,
:x2 740.8642883300781,
:y2 440.16075134277344,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 704.2803039550781,
:y1 423.5893096923828,
:x2 740.8642883300781,
:y2 440.16075134277344,
:width 863.9992,
:height 1065.5991999999999}),
:page 227},
:content {:text "quirks"},
:properties {:color "green"}}
{:id #uuid "64433f1c-c023-429e-88d0-46cad778477c",
:page 227,
:position {:bounding {:x1 326.40179443359375,
:y1 532.0000152587891,
:x2 594.3108520507812,
:y2 561.1428680419922,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 326.40179443359375,
:y1 532.0000152587891,
:x2 594.3108520507812,
:y2 561.1428680419922,
:width 863.9992,
:height 1065.5991999999999}),
:page 227},
:content {:text "Addition and Subtraction"},
:properties {:color "yellow"}}
{:id #uuid "644347f7-9833-4208-99f7-655f94b5a7b5",
:page 230,
:position {:bounding {:x1 86.39286041259766,
:y1 753.0268096923828,
:x2 217.24692916870117,
:y2 772.4553985595703,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 86.39286041259766,
:y1 753.0268096923828,
:x2 217.24692916870117,
:y2 772.4553985595703,
:width 863.9992,
:height 1065.5991999999999}
{:x1 147.13393783569336,
:y1 755.8839874267578,
:x2 147.87097549438477,
:y2 770.2857818603516,
:width 863.9992,
:height 1065.5991999999999}),
:page 230},
:content {:text "saturating operation"},
:properties {:color "yellow"}}
{:id #uuid "64434f2d-d63b-4840-96da-918f7a04cb97",
:page 232,
:position {:bounding {:x1 184,
:y1 157.5982208251953,
:x2 332.73944091796875,
:y2 186.74107360839844,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 184,
:y1 157.5982208251953,
:x2 332.73944091796875,
:y2 186.74107360839844,
:width 863.9992,
:height 1065.5991999999999}),
:page 232},
:content {:text "Multiplication"},
:properties {:color "yellow"}}
{:id #uuid "64434f3c-f512-4f58-a6f2-05e7aa355ec6",
:page 232,
:position {:bounding {:x1 235.86517333984375,
:y1 231.5893096923828,
:x2 279.46649169921875,
:y2 248.1607208251953,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 235.86517333984375,
:y1 231.5893096923828,
:x2 279.46649169921875,
:y2 248.1607208251953,
:width 863.9992,
:height 1065.5991999999999}),
:page 232},
:content {:text "vexing "},
:properties {:color "green"}}
{:id #uuid "64435253-b5bf-4832-ad91-025cede3bafd",
:page 233,
:position {:bounding {:x1 0,
:y1 12.000003814697266,
:x2 732.5079040527344,
:y2 561.294677734375,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 0,
:y1 12.000003814697266,
:x2 0,
:y2 35.42857360839844,
:width 863.9992,
:height 1065.5991999999999}
{:x1 228.79464721679688,
:y1 513.1785888671875,
:x2 732.5079040527344,
:y2 538.8928833007812,
:width 863.9992,
:height 1065.5991999999999}
{:x1 228.79464721679688,
:y1 535.5803833007812,
:x2 315.58619689941406,
:y2 561.294677734375,
:width 863.9992,
:height 1065.5991999999999}),
:page 233},
:content {:text "Sequential Version of the Multiplication Algorithm and Hardware"},
:properties {:color "yellow"}}
{:id #uuid "64435d8f-d70f-4968-be40-ddbf8ef5a19e",
:page 236,
:position {:bounding {:x1 86.39286231994629,
:y1 473.482177734375,
:x2 283.00904273986816,
:y2 499.1964416503906,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 86.39286231994629,
:y1 473.482177734375,
:x2 283.00904273986816,
:y2 499.1964416503906,
:width 863.9992,
:height 1065.5991999999999}),
:page 236},
:content {:text "Signed Multiplication"},
:properties {:color "yellow"}}
{:id #uuid "6443dd4d-c534-4911-9e81-3b4b0ef396d9",
:page 236,
:position {:bounding {:x1 93.59375,
:y1 776.125,
:x2 300.3530578613281,
:y2 803.125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 776.125,
:x2 300.3530578613281,
:y2 803.125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 236},
:content {:text "Faster Multiplication"},
:properties {:color "yellow"}}
{:id #uuid "6443e016-d955-4433-9956-46ad682890ae",
:page 237,
:position {:bounding {:x1 62.390625,
:y1 443.59375,
:x2 349.03125,
:y2 462.59375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 62.390625,
:y1 443.59375,
:x2 137.87673950195312,
:y2 462.59375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 150,
:y1 443.59375,
:x2 349.03125,
:y2 462.59375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 136.140625,
:y1 446.59375,
:x2 137.87673950195312,
:y2 460.453125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 150,
:y1 446.59375,
:x2 349.03125,
:y2 460.453125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 237},
:content {:text "FIGURE 3.7 Fast multiplication hardware. "},
:properties {:color "yellow"}}
{:id #uuid "6443e24f-a691-45aa-809c-2e01aca20e0b",
:page 238,
:position {:bounding {:x1 199.328125,
:y1 170.453125,
:x2 292.5164489746094,
:y2 202.453125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 199.328125,
:y1 170.453125,
:x2 292.5164489746094,
:y2 202.453125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 238},
:content {:text "Division"},
:properties {:color "yellow"}}
{:id #uuid "6443e2eb-9d81-471b-9033-0e325140b4f2",
:page 238,
:position {:bounding {:x1 93.59375,
:y1 948.0625,
:x2 439.3006591796875,
:y2 975.0625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 948.0625,
:x2 439.3006591796875,
:y2 975.0625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 238},
:content {:text "A Division Algorithm and Hardware"},
:properties {:color "yellow"}}
{:id #uuid "6444043e-8c74-474e-a4f0-b2011ebb9b10",
:page 243,
:position {:bounding {:x1 247.859375,
:y1 196.3125,
:x2 396.3778991699219,
:y2 223.3125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 196.3125,
:x2 396.3778991699219,
:y2 223.3125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 243},
:content {:text "Faster Division"},
:properties {:color "yellow"}}
{:id #uuid "644410ff-f158-431d-ab11-22f32e63a6da",
:page 245,
:position {:bounding {:x1 354.453125,
:y1 484.4375,
:x2 516.92431640625,
:y2 516.4375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 354.453125,
:y1 484.4375,
:x2 516.92431640625,
:y2 516.4375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 245},
:content {:text "Floating Point"},
:properties {:color "yellow"}}
{:id #uuid "644494f0-4e7e-4356-bf49-5d7f61999a78",
:page 245,
:position {:bounding {:x1 675.703125,
:y1 1052.6875,
:x2 768.59375,
:y2 1071.6875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 675.703125,
:y1 1052.6875,
:x2 768.59375,
:y2 1071.6875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 245},
:content {:text "binary point "},
:properties {:color "yellow"}}
{:id #uuid "644495bf-6828-4439-a332-f5a9a176adaf",
:page 246,
:position {:bounding {:x1 93.59375,
:y1 486.578125,
:x2 392.5970764160156,
:y2 513.578125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 486.578125,
:x2 392.5970764160156,
:y2 513.578125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 246},
:content {:text "Floating-Point Representation"},
:properties {:color "yellow"}}
{:id #uuid "6444979f-bc17-4cf6-9a68-0a7098db96b6",
:page 247,
:position {:bounding {:x1 334.75,
:y1 240.859375,
:x2 400.4542541503906,
:y2 259.859375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 334.75,
:y1 240.859375,
:x2 400.4542541503906,
:y2 259.859375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 247},
:content {:text "overflow"},
:properties {:color "yellow"}}
{:id #uuid "644497a1-f169-4386-8e44-cf46566f6d47",
:page 247,
:position {:bounding {:x1 291.40625,
:y1 386.46875,
:x2 369.6996154785156,
:y2 405.46875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 291.40625,
:y1 386.46875,
:x2 369.6996154785156,
:y2 405.46875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 247},
:content {:text "underflow"},
:properties {:color "yellow"}}
{:id #uuid "6444991d-e3c9-4161-863e-2c65db02a575",
:page 248,
:position {:bounding {:x1 187.8125,
:y1 314.625,
:x2 490.260986328125,
:y2 333.625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 187.8125,
:y1 314.625,
:x2 490.260986328125,
:y2 333.625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 248},
:content {:text "EEE 754 encoding of floating-point numbers."},
:properties {:color "yellow"}}
{:id #uuid "64449f20-2e2b-4aba-a152-fb5013cee9df",
:page 252,
:position {:bounding {:x1 93.59375,
:y1 134.015625,
:x2 321.47088623046875,
:y2 161.015625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 134.015625,
:x2 321.47088623046875,
:y2 161.015625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 252},
:content {:text "Floating-Point Addition"},
:properties {:color "yellow"}}
{:id #uuid "6444a190-55ce-4d72-b776-f65bd79c402e",
:page 254,
:position {:bounding {:x1 93.59375,
:y1 944.09375,
:x2 348.40087890625,
:y2 963.09375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 944.09375,
:x2 179.45521545410156,
:y2 963.09375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 191.59375,
:y1 944.09375,
:x2 348.40087890625,
:y2 963.09375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 177.71875,
:y1 947.09375,
:x2 179.45521545410156,
:y2 960.953125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 191.59375,
:y1 947.09375,
:x2 348.40087890625,
:y2 960.953125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 254},
:content {:text "FIGURE 3.14 Floating-point addition."},
:properties {:color "yellow"}}
{:id #uuid "6444a33a-1be3-46cf-88d7-bda594ff889b",
:page 256,
:position {:bounding {:x1 93.59375,
:y1 883.96875,
:x2 673.90625,
:y2 902.96875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 883.96875,
:x2 673.90625,
:y2 902.96875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 175.984375,
:y1 886.96875,
:x2 673.90625,
:y2 900.828125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 256},
:content {:text "FIGURE 3.15 Block diagram of an arithmetic unit dedicated to floating-point addition. "},
:properties {:color "yellow"}}
{:id #uuid "6444a351-91c2-4d55-b74d-e9b3bf0b1f3f",
:page 255,
:position {:bounding {:x1 247.859375,
:y1 651.25,
:x2 530.6401977539062,
:y2 678.25,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 651.25,
:x2 530.6401977539062,
:y2 678.25,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 255},
:content {:text "Floating-Point Multiplication"},
:properties {:color "yellow"}}
{:id #uuid "6444a4ea-ad13-4a57-a881-cb7cbae7f65f",
:page 260,
:position {:bounding {:x1 93.59375,
:y1 354.84375,
:x2 441.69140625,
:y2 381.84375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 354.84375,
:x2 441.69140625,
:y2 381.84375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 260},
:content {:text "Floating-Point Instructions in MIPS"},
:properties {:color "yellow"}}
{:id #uuid "6444a660-b04c-4dd5-9f03-1df86f5feaf2",
:page 271,
:position {:bounding {:x1 0,
:y1 44,
:x2 842.415771484375,
:y2 213.796875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 44,
:x2 0,
:y2 68,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 752.640625,
:y1 173.734375,
:x2 842.415771484375,
:y2 194.734375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 192.796875,
:x2 311.15625,
:y2 213.796875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 195.796875,
:x2 311.15625,
:y2 211.390625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 271},
:content {:text "denormalized numbers "},
:properties {:color "yellow"}}
{:id #uuid "6444a815-7f89-4638-9bc0-a2539cf80a27",
:page 258,
:position {:bounding {:x1 93.59375,
:y1 1041.15625,
:x2 385.296875,
:y2 1060.15625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 1041.15625,
:x2 177.00209045410156,
:y2 1060.15625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 189.140625,
:y1 1041.15625,
:x2 385.296875,
:y2 1060.15625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 175.265625,
:y1 1044.15625,
:x2 177.00209045410156,
:y2 1058.015625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 189.140625,
:y1 1044.15625,
:x2 385.296875,
:y2 1058.015625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 258},
:content {:text "FIGURE 3.16 Floating-point multiplication. "},
:properties {:color "yellow"}}
{:id #uuid "6444ac21-f605-497c-b86e-4d36484f6e3a",
:page 267,
:position {:bounding {:x1 247.859375,
:y1 662.046875,
:x2 447.9642028808594,
:y2 689.046875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 247.859375,
:y1 662.046875,
:x2 447.9642028808594,
:y2 689.046875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 267},
:content {:text "Accurate Arithmetic"},
:properties {:color "yellow"}}
{:id #uuid "6444aca4-859a-4303-b126-5b4fb95801ea",
:page 267,
:position {:bounding {:x1 806.2191162109375,
:y1 861.78125,
:x2 842.4893188476562,
:y2 880.78125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 806.2191162109375,
:y1 861.78125,
:x2 842.4893188476562,
:y2 880.78125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 267},
:content {:text "vague"},
:properties {:color "green"}}
{:id #uuid "6444ae4a-b788-41ca-bf5a-f3e65eae3f37",
:page 268,
:position {:bounding {:x1 592.3890380859375,
:y1 1032.90625,
:x2 661.2162475585938,
:y2 1053.90625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 592.3890380859375,
:y1 1032.90625,
:x2 661.2162475585938,
:y2 1053.90625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 268},
:content {:text "equitable "},
:properties {:color "green"}}
{:id #uuid "6444af4d-4e28-41ab-97b9-a4442cbe9d9a",
:page 268,
:position {:bounding {:x1 449.90625,
:y1 785.515625,
:x2 612.969970703125,
:y2 804.515625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 449.90625,
:y1 785.515625,
:x2 612.969970703125,
:y2 804.515625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 268},
:content {:text "units in the last place"},
:properties {:color "yellow"}}
{:id #uuid "6444b015-6430-4fce-b780-988a0caa63f5",
:page 268,
:position {:bounding {:x1 0,
:y1 588,
:x2 688.1290893554688,
:y2 1015.78125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 588,
:x2 0,
:y2 612,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 114.390625,
:y1 975.71875,
:x2 688.1290893554688,
:y2 996.71875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 93.59375,
:y1 994.78125,
:x2 444.5287780761719,
:y2 1015.78125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 93.59375,
:y1 997.78125,
:x2 159.84375,
:y2 1013.375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 268},
:content {:text "IEEE 754 has four rounding modes: always round up (toward +∞), always round down(toward ∞), truncate, and round to nearest even. "},
:properties {:color "yellow"}}
{:id #uuid "6444bd6c-1170-4f97-932b-af66246ff486",
:page 271,
:position {:bounding {:x1 0,
:y1 316,
:x2 790.759521484375,
:y2 620.75,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 316,
:x2 0,
:y2 340,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 557.546875,
:x2 790.759521484375,
:y2 589.546875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 561.546875,
:x2 790.759521484375,
:y2 585.8125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 316.56256103515625,
:y1 564.859375,
:x2 316.5673522949219,
:y2 605.859375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 588.75,
:x2 592.74365234375,
:y2 620.75,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 271},
:content {:text "Parallelism and Computer Arithmetic: Subword Parallelism"},
:properties {:color "yellow"}}
{:id #uuid "6444bda7-e1ae-495b-86eb-5507878df5d8",
:page 273,
:position {:bounding {:x1 0,
:y1 12,
:x2 819.5148315429688,
:y2 222.390625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 12,
:x2 0,
:y2 36,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 159.1875,
:x2 819.5148315429688,
:y2 191.1875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 353.59375,
:y1 190.390625,
:x2 814.6624145507812,
:y2 222.390625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 273},
:content {:text "Real Stuff: Streaming SIMD Extensions and Advanced Vector Extensions in x86"},
:properties {:color "yellow"}}
{:id #uuid "6444bdac-2bc0-490a-ac86-88c702b83c65",
:page 274,
:position {:bounding {:x1 0,
:y1 316,
:x2 657.3746948242188,
:y2 751.546875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 316,
:x2 0,
:y2 340,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 199.328125,
:y1 688.34375,
:x2 657.3746948242188,
:y2 720.34375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 199.328125,
:y1 719.546875,
:x2 376.00164794921875,
:y2 751.546875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 274},
:content {:text "Going Faster: Subword Parallelism and Matrix Multiply"},
:properties {:color "yellow"}}
{:id #uuid "6444bdb2-6eb9-44b2-afcf-0a844265f162",
:page 278,
:position {:bounding {:x1 199.328125,
:y1 173.046875,
:x2 443.4531555175781,
:y2 205.046875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 199.328125,
:y1 173.046875,
:x2 443.4531555175781,
:y2 205.046875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 278},
:content {:text "Fallacies and Pitfalls"},
:properties {:color "yellow"}}
{:id #uuid "6444be95-7530-4e08-bdf8-c05ea9cc5b9d",
:page 291,
:position {:bounding {:x1 403.265625,
:y1 641.984375,
:x2 686.9777221679688,
:y2 696.984375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 403.265625,
:y1 641.984375,
:x2 686.9777221679688,
:y2 696.984375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 291},
:content {:text "The Processor"},
:properties {:color "yellow"}}
{:id #uuid "6444bfc1-7314-4629-ae26-defc51e37a96",
:page 273,
:position {:bounding {:x1 0,
:y1 188,
:x2 842.2236328125,
:y2 476.046875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 188,
:x2 0,
:y2 212,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 400.0690002441406,
:y1 436.25,
:x2 842.2236328125,
:y2 455.25,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 457.046875,
:x2 400.125732421875,
:y2 476.046875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 273},
:content {:text "s multiple floating-point operands to be packed into a single128-bit SSE2 register"},
:properties {:color "yellow"}}
{:id #uuid "6444c0b0-7629-423c-b600-03286f22c6bd",
:page 274,
:position {:bounding {:x1 365.40625,
:y1 840.59375,
:x2 432.7281188964844,
:y2 859.59375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 365.40625,
:y1 840.59375,
:x2 432.7281188964844,
:y2 859.59375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 274},
:content {:text "DGEMM"},
:properties {:color "yellow"}}
{:id #uuid "6444c121-8df1-44b0-8077-5258bb7e907d",
:page 278,
:position {:bounding {:x1 114.390625,
:y1 845.28125,
:x2 457.6161193847656,
:y2 864.28125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 114.390625,
:y1 845.28125,
:x2 457.6161193847656,
:y2 864.28125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 278},
:content {:text "Pitfall: Floating-point addition is not associative."},
:properties {:color "yellow"}}
{:id #uuid "6444c19b-acea-4882-994b-06a1c34e86fb",
:page 281,
:position {:bounding {:x1 802.3090209960938,
:y1 240.859375,
:x2 842.3967895507812,
:y2 259.859375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 802.3090209960938,
:y1 240.859375,
:x2 842.3967895507812,
:y2 259.859375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 281},
:content {:text "glitch"},
:properties {:color "green"}}
{:id #uuid "6444c1c5-55d6-4ee4-a522-7775b374d047",
:page 279,
:position {:bounding {:x1 0,
:y1 524,
:x2 842.4055786132812,
:y2 1020.953125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 524,
:x2 0,
:y2 548,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 294.65625,
:y1 981.15625,
:x2 842.4055786132812,
:y2 1000.15625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 294.65625,
:y1 1001.953125,
:x2 475.7760314941406,
:y2 1020.953125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 279},
:content {:text "Pitfall: The MIPS instruction add immediate unsigned (addiu) sign-extends its 16-bit immediate field."},
:properties {:color "yellow"}}
{:id #uuid "6444c1f0-95bb-4cb4-b82c-b68e52f8b53b",
:page 279,
:position {:bounding {:x1 0,
:y1 108,
:x2 842.5020141601562,
:y2 459.359375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 108,
:x2 0,
:y2 132,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 355.520263671875,
:y1 419.546875,
:x2 842.5020141601562,
:y2 438.546875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 294.65625,
:y1 440.359375,
:x2 495.71368408203125,
:y2 459.359375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 279},
:content {:text "Parallel execution strategies that work for integer data types also work for floating-point data types."},
:properties {:color "yellow"}}
{:id #uuid "6444c22c-5633-40b1-9a04-dc9ac66b5cbd",
:page 279,
:position {:bounding {:x1 351.69964599609375,
:y1 825.1875,
:x2 412.1089782714844,
:y2 844.1875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 351.69964599609375,
:y1 825.1875,
:x2 412.1089782714844,
:y2 844.1875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 279},
:content {:text "quandary"},
:properties {:color "green"}}
{:id #uuid "6444e82b-27ec-4755-9dd9-e1d543ab66d3",
:page 293,
:position {:bounding {:x1 299.19644927978516,
:y1 145.94643783569336,
:x2 419.9450454711914,
:y2 172.8035774230957,
:width 791.9992666666667,
:height 976.7992666666668},
:rects ({:x1 299.19644927978516,
:y1 145.94643783569336,
:x2 419.9450454711914,
:y2 172.8035774230957,
:width 791.9992666666667,
:height 976.7992666666668}),
:page 293},
:content {:text "Introduction"},
:properties {:color "yellow"}}
{:id #uuid "6444e833-44e0-4dd0-82f9-cdcdac95dc04",
:page 293,
:position {:bounding {:x1 209.7321548461914,
:y1 718.0893249511719,
:x2 460.35633087158203,
:y2 741.5178833007812,
:width 791.9992666666667,
:height 976.7992666666668},
:rects ({:x1 209.7321548461914,
:y1 718.0893249511719,
:x2 460.35633087158203,
:y2 741.5178833007812,
:width 791.9992666666667,
:height 976.7992666666668}),
:page 293},
:content {:text "A Basic MIPS Implementation"},
:properties {:color "yellow"}}
{:id #uuid "64477d00-f17e-40fd-8178-6e21175025a0",
:page 297,
:position {:bounding {:x1 326.4018020629883,
:y1 549.2589721679688,
:x2 604.1650466918945,
:y2 578.4017944335938,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 326.4018020629883,
:y1 549.2589721679688,
:x2 604.1650466918945,
:y2 578.4017944335938,
:width 863.9992,
:height 1065.5991999999999}),
:page 297},
:content {:text "Logic Design Conventions"},
:properties {:color "yellow"}}
{:id #uuid "64477e93-0b18-4efa-83c0-2c8e71b90457",
:page 295,
:position {:bounding {:x1 0,
:y1 236.00000858306885,
:x2 778.7985534667969,
:y2 791.0089721679688,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 0,
:y1 236.00000858306885,
:x2 0,
:y2 259.42858028411865,
:width 863.9992,
:height 1065.5991999999999}
{:x1 229.9821491241455,
:y1 758.669677734375,
:x2 301.1390609741211,
:y2 775.8125610351562,
:width 863.9992,
:height 1065.5991999999999}
{:x1 312.33929443359375,
:y1 758.669677734375,
:x2 778.7985534667969,
:y2 775.8125610351562,
:width 863.9992,
:height 1065.5991999999999}
{:x1 229.9821491241455,
:y1 773.8660888671875,
:x2 625.4215412139893,
:y2 791.0089721679688,
:width 863.9992,
:height 1065.5991999999999}),
:page 295},
:content {:text "FIGURE 4.1 An abstract view of the implementation of the MIPS subset showing the major functional units and the major connections between them."},
:properties {:color "yellow"}}
{:id #uuid "64477f1f-1cb6-4a55-bfad-148b4a3fb467",
:page 296,
:position {:bounding {:x1 86.39285278320312,
:y1 849.8660888671875,
:x2 806.3987197875977,
:y2 867.0089416503906,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 86.39285278320312,
:y1 849.8660888671875,
:x2 156.51278686523438,
:y2 867.0089416503906,
:width 863.9992,
:height 1065.5991999999999}
{:x1 167.70536041259766,
:y1 849.8660888671875,
:x2 806.3987197875977,
:y2 867.0089416503906,
:width 863.9992,
:height 1065.5991999999999}),
:page 296},
:content {:text "FIGURE 4.2 The basic implementation of the MIPS subset, including the necessary multiplexors and control lines."},
:properties {:color "yellow"}}
{:id #uuid "6447833a-b83a-40a0-98fa-59b6fa78c15c",
:page 297,
:position {:bounding {:x1 301.9325180053711,
:y1 757.6607360839844,
:x2 601.143913269043,
:y2 774.232177734375,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 301.9325180053711,
:y1 757.6607360839844,
:x2 601.143913269043,
:y2 774.232177734375,
:width 863.9992,
:height 1065.5991999999999}),
:page 297},
:content {:text "outputs depend only on the current inputs. Gi"},
:properties {:color "yellow"}}
{:id #uuid "644a2196-f210-49e3-bf47-5439713057aa",
:page 297,
:position {:bounding {:x1 0,
:y1 588.0000348091125,
:x2 693.9726257324219,
:y2 885.3750610351562,
:width 791.9992666666667,
:height 976.7992666666668},
:rects ({:x1 0,
:y1 588.0000348091125,
:x2 0,
:y2 611.428608417511,
:width 791.9992666666667,
:height 976.7992666666668}
{:x1 556.4678649902344,
:y1 852.3482666015625,
:x2 693.9726257324219,
:y2 867.7768249511719,
:width 791.9992666666667,
:height 976.7992666666668}
{:x1 209.73214721679688,
:y1 869.9464721679688,
:x2 375.1971130371094,
:y2 885.3750610351562,
:width 791.9992666666667,
:height 976.7992666666668}),
:page 297},
:content {:text "ate elements completely characterize the computer. "},
:properties {:color "yellow"}}
{:id #uuid "644a2259-9a11-4a2d-bbb8-bc71ef75b9ab",
:page 298,
:position {:bounding {:x1 79.19643020629883,
:y1 395.5357208251953,
:x2 236.16705703735352,
:y2 414.96429443359375,
:width 791.9992666666667,
:height 976.7992666666668},
:rects ({:x1 79.19643020629883,
:y1 395.5357208251953,
:x2 236.16705703735352,
:y2 414.96429443359375,
:width 791.9992666666667,
:height 976.7992666666668}),
:page 298},
:content {:text "Clocking Methodology"},
:properties {:color "yellow"}}
{:id #uuid "644a22b7-e481-4b81-b97d-717955fa09f6",
:page 300,
:position {:bounding {:x1 149.82401657104492,
:y1 389.3928527832031,
:x2 395.9063301086426,
:y2 427.1071472167969,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 149.82401657104492,
:y1 389.3928527832031,
:x2 149.8267707824707,
:y2 427.1071472167969,
:width 863.9992,
:height 1065.5991999999999}
{:x1 184.00000381469727,
:y1 395.6607360839844,
:x2 395.9063301086426,
:y2 424.8036193847656,
:width 863.9992,
:height 1065.5991999999999}),
:page 300},
:content {:text "Building a Datapath"},
:properties {:color "yellow"}}
{:id #uuid "644a24c1-45e7-4763-8284-25b7d875d2b6",
:page 298,
:position {:bounding {:x1 0,
:y1 428.00000762939453,
:x2 598.3082046508789,
:y2 684.6339416503906,
:width 863.9992,
:height 1065.5991999999999},
:rects ({:x1 0,
:y1 428.00000762939453,
:x2 0,
:y2 451.42857360839844,
:width 863.9992,
:height 1065.5991999999999}
{:x1 161.30164337158203,
:y1 648.8571472167969,
:x2 598.3082046508789,
:y2 665.4285888671875,
:width 863.9992,
:height 1065.5991999999999}
{:x1 86.39286231994629,
:y1 668.0625,
:x2 556.7596836090088,
:y2 684.6339416503906,
:width 863.9992,
:height 1065.5991999999999}),
:page 298},
:content {:text "any collection of combinational logic must have its inputs come from a set of state elements and its outputs written into a set of state elements. The"},
:properties {:color "yellow"}}
{:id #uuid "644a5b33-a765-4cfb-a990-55668110f7cc",
:page 302,
:position {:bounding {:x1 100.796875,
:y1 466.25,
:x2 182.9783477783203,
:y2 486.25,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 466.25,
:x2 182.9783477783203,
:y2 486.25,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 181.109375,
:y1 469.25,
:x2 182.9783477783203,
:y2 484.1875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 302},
:content {:text "FIGURE 4.6 "},
:properties {:color "yellow"}}
{:id #uuid "644a5b95-b5ad-4568-b41c-783f59940a6c",
:page 301,
:position {:bounding {:x1 266.921875,
:y1 630.921875,
:x2 359.7619323730469,
:y2 650.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 630.921875,
:x2 359.7619323730469,
:y2 650.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 301},
:content {:text "register file"},
:properties {:color "yellow"}}
{:id #uuid "644a5d36-fabb-4719-831d-fbcfe797b925",
:page 301,
:position {:bounding {:x1 0,
:y1 364,
:x2 907.2101440429688,
:y2 1076.53125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 364,
:x2 0,
:y2 388,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 463.6072998046875,
:y1 1034.125,
:x2 907.2101440429688,
:y2 1054.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 1056.53125,
:x2 621.906982421875,
:y2 1076.53125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 301},
:content {:text "ALU, which takes two 32-bit inputs and produces a 32-bit result, as well as a 1-bit signal if the result is "},
:properties {:color "yellow"}}
{:id #uuid "644a603d-78ee-4284-ab39-8ae5dfb19818",
:page 302,
:position {:bounding {:x1 89.6875,
:y1 775.5625,
:x2 161.90756225585938,
:y2 792.5625,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 89.6875,
:y1 775.5625,
:x2 161.90756225585938,
:y2 792.5625,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 302},
:content {:text "FIGURE 4.7"},
:properties {:color "yellow"}}
{:id #uuid "644a610a-9f03-4213-a7f0-87a0d519909b",
:page 303,
:position {:bounding {:x1 428.7957458496094,
:y1 132.109375,
:x2 692.9248657226562,
:y2 149.109375,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 428.7957458496094,
:y1 132.109375,
:x2 692.9248657226562,
:y2 149.109375,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 303},
:content {:text "load word and store word instructions"},
:properties {:color "yellow"}}
{:id #uuid "644a6150-f971-4fb1-a2be-e2fd0d068e1c",
:page 303,
:position {:bounding {:x1 515.953125,
:y1 291.59375,
:x2 600.89404296875,
:y2 308.59375,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 515.953125,
:y1 291.59375,
:x2 600.89404296875,
:y2 308.59375,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 303},
:content {:text "sign-extend"},
:properties {:color "yellow"}}
{:id #uuid "644a6212-7e80-4d72-9242-2e719b8a43d8",
:page 304,
:position {:bounding {:x1 89.6875,
:y1 368.515625,
:x2 164.03997802734375,
:y2 385.515625,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 89.6875,
:y1 368.515625,
:x2 164.03997802734375,
:y2 385.515625,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 304},
:content {:text "FIGURE 4.8 "},
:properties {:color "yellow"}}
{:id #uuid "644a627d-01be-4bb7-b84d-c7b66c1a48a0",
:page 303,
:position {:bounding {:x1 257.46875,
:y1 391.25,
:x2 542.051025390625,
:y2 408.6875,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 257.46875,
:y1 391.25,
:x2 542.051025390625,
:y2 408.6875,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 303},
:content {:text "The beq instruction has three operands"},
:properties {:color "yellow"}}
{:id #uuid "644a62f9-c49b-4e03-9ef3-deafe6f9f37d",
:page 305,
:position {:bounding {:x1 237.53125,
:y1 726.265625,
:x2 495.87689208984375,
:y2 752.265625,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 237.53125,
:y1 726.265625,
:x2 495.87689208984375,
:y2 752.265625,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 305},
:content {:text "Creating a Single Datapath"},
:properties {:color "yellow"}}
{:id #uuid "644a6306-3290-4abd-b506-7234340a9977",
:page 308,
:position {:bounding {:x1 191.015625,
:y1 433.578125,
:x2 569.1622924804688,
:y2 464.578125,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 191.015625,
:y1 433.578125,
:x2 569.1622924804688,
:y2 464.578125,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 308},
:content {:text "A Simple Implementation Scheme"},
:properties {:color "yellow"}}
{:id #uuid "644a6329-781d-4c60-b194-ac5aafba89f6",
:page 303,
:position {:bounding {:x1 590.515625,
:y1 411.1875,
:x2 759.890625,
:y2 428.1875,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 590.515625,
:y1 411.1875,
:x2 759.890625,
:y2 428.1875,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 303},
:content {:text "branch target address "},
:properties {:color "yellow"}}
{:id #uuid "644a64b3-3c73-48cb-b5b6-428a3cf7e961",
:page 305,
:position {:bounding {:x1 236.640625,
:y1 569.25,
:x2 308.070068359375,
:y2 586.25,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 236.640625,
:y1 569.25,
:x2 308.070068359375,
:y2 586.25,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 305},
:content {:text "FIGURE 4.9 "},
:properties {:color "yellow"}}
{:id #uuid "644a6592-a327-499f-81ae-1b4a6e7be71a",
:page 305,
:position {:bounding {:x1 0,
:y1 60,
:x2 807.4412231445312,
:y2 856.078125,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 0,
:y1 60,
:x2 0,
:y2 84,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 0,
:y1 76,
:x2 0,
:y2 100,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 661.4886474609375,
:y1 799.203125,
:x2 807.4412231445312,
:y2 816.203125,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 237.53125,
:y1 819.140625,
:x2 807.3871459960938,
:y2 836.578125,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 237.53125,
:y1 839.078125,
:x2 462.2960510253906,
:y2 856.078125,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 305},
:content {:text "ttempt to execute all instructions in one clock cycle. This means that no datapath resource can be used more than once per instruction"},
:properties {:color "yellow"}}
{:id #uuid "644a6f81-bceb-4923-afcb-437fcbc26b91",
:page 305,
:position {:bounding {:x1 0,
:y1 156,
:x2 807.4341430664062,
:y2 975.703125,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 0,
:y1 156,
:x2 0,
:y2 180,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 0,
:y1 172,
:x2 0,
:y2 196,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 257.46875,
:y1 918.828125,
:x2 807.4341430664062,
:y2 935.828125,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 237.53125,
:y1 938.765625,
:x2 807.1917724609375,
:y2 956.203125,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 237.53125,
:y1 958.703125,
:x2 615.1503295898438,
:y2 975.703125,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 305},
:content {:text "To share a datapath element between two different instruction classes, we may need to allow multiple connections to the input of an element, using a multiplexor and control signal to select among the multiple inputs."},
:properties {:color "yellow"}}
{:id #uuid "644a6fb3-921e-4395-b132-f4be1a542268",
:page 307,
:position {:bounding {:x1 0,
:y1 60,
:x2 807.3056640625,
:y2 995.609375,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 0,
:y1 60,
:x2 0,
:y2 84,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 59.796875,
:y1 962.84375,
:x2 142.28915405273438,
:y2 979.84375,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 153.90625,
:y1 962.84375,
:x2 807.3056640625,
:y2 979.84375,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 59.796875,
:y1 978.609375,
:x2 190.8125,
:y2 995.609375,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 307},
:content {:text "FIGURE 4.11 The simple datapath for the core MIPS architecture combines the elements required by different instruction classes. "},
:properties {:color "yellow"}}
{:id #uuid "644a7005-84e0-47ae-8f10-0bc02cd041f3",
:page 308,
:position {:bounding {:x1 89.6875,
:y1 630.59375,
:x2 242.380126953125,
:y2 656.59375,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 89.6875,
:y1 630.59375,
:x2 242.380126953125,
:y2 656.59375,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 308},
:content {:text "The ALU Control"},
:properties {:color "yellow"}}
{:id #uuid "644a71a0-c19d-40aa-bef1-eefdb8b311df",
:page 310,
:position {:bounding {:x1 89.6875,
:y1 570.796875,
:x2 394.6741638183594,
:y2 596.796875,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 89.6875,
:y1 570.796875,
:x2 394.6741638183594,
:y2 596.796875,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 310},
:content {:text "Designing the Main Control Unit"},
:properties {:color "yellow"}}
{:id #uuid "644a7223-c882-446f-adf5-3b819386c6c2",
:page 321,
:position {:bounding {:x1 303.3843688964844,
:y1 515.96875,
:x2 627.2344970703125,
:y2 555.96875,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 303.3843688964844,
:y1 515.96875,
:x2 303.3891906738281,
:y2 555.96875,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 338.859375,
:y1 523.28125,
:x2 627.2344970703125,
:y2 554.28125,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 321},
:content {:text "An Overview of Pipelining"},
:properties {:color "yellow"}}
{:id #uuid "644a7236-aa52-48a8-8f9a-faa5ca23fa99",
:page 321,
:position {:bounding {:x1 650.2341918945312,
:y1 700.21875,
:x2 707.15869140625,
:y2 717.21875,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 650.2341918945312,
:y1 700.21875,
:x2 707.15869140625,
:y2 717.21875,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 321},
:content {:text "anatomy "},
:properties {:color "green"}}
{:id #uuid "644a72c6-9a8f-407f-95df-031a6598d422",
:page 309,
:position {:bounding {:x1 389.8470764160156,
:y1 371.328125,
:x2 584.930908203125,
:y2 388.328125,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 389.8470764160156,
:y1 371.328125,
:x2 584.930908203125,
:y2 388.328125,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 309},
:content {:text " multiple levels of decoding"},
:properties {:color "yellow"}}
{:id #uuid "644a7930-5ef2-44e8-a468-9315b8cad591",
:page 320,
:position {:bounding {:x1 89.6875,
:y1 791.046875,
:x2 604.5728759765625,
:y2 817.046875,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 89.6875,
:y1 791.046875,
:x2 604.5728759765625,
:y2 817.046875,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 320},
:content {:text "Why a Single-Cycle Implementation Is Not Used Today"},
:properties {:color "yellow"}}
{:id #uuid "644a795f-d067-4a11-ba2d-8e37d43e9b1d",
:page 321,
:position {:bounding {:x1 0,
:y1 60,
:x2 807.3050537109375,
:y2 228.84375,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 0,
:y1 60,
:x2 0,
:y2 84,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 257.46875,
:y1 191.90625,
:x2 807.3050537109375,
:y2 208.90625,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 237.53125,
:y1 211.84375,
:x2 373.38385009765625,
:y2 228.84375,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 321},
:content {:text "Because we must assume that the clock cycle is equal to the worst-case delay for all instructions"},
:properties {:color "yellow"}}
{:id #uuid "644a7f5b-f357-4235-b3cf-034877a5946d",
:page 324,
:position {:bounding {:x1 0,
:y1 220,
:x2 659.5869140625,
:y2 609.46875,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 0,
:y1 220,
:x2 0,
:y2 244,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 109.625,
:y1 572.53125,
:x2 659.5869140625,
:y2 589.53125,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 89.6875,
:y1 592.46875,
:x2 575.0608520507812,
:y2 609.46875,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 324},
:content {:text "Under ideal conditions and with a large number of instructions, the speed-up from pipelining is approximately equal to the number of pipe stages; "},
:properties {:color "yellow"}}
{:id #uuid "644a80a5-e321-4d67-a16a-98fd02db800c",
:page 326,
:position {:bounding {:x1 89.6875,
:y1 763.484375,
:x2 250.363037109375,
:y2 789.484375,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 89.6875,
:y1 763.484375,
:x2 250.363037109375,
:y2 789.484375,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 326},
:content {:text "Pipeline Hazards"},
:properties {:color "yellow"}}
{:id #uuid "644a817b-8d05-418d-829b-8952b2fa2f5c",
:page 326,
:position {:bounding {:x1 0,
:y1 12,
:x2 659.4647827148438,
:y2 208.90625,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 0,
:y1 12,
:x2 0,
:y2 36,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 0,
:y1 28,
:x2 0,
:y2 52,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 0,
:y1 44,
:x2 0,
:y2 68,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 109.625,
:y1 132.109375,
:x2 659.4647827148438,
:y2 149.109375,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 89.703125,
:y1 152.046875,
:x2 659.4535522460938,
:y2 169.484375,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 89.703125,
:y1 171.984375,
:x2 659.295654296875,
:y2 189.421875,
:width 896.9991694444444,
:height 1106.2991694444445}
{:x1 89.703125,
:y1 191.90625,
:x2 177.4521484375,
:y2 208.90625,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 326},
:content {:text "Pipelining improves performance by increasing instruction throughput, as opposed to decreasing the execution time of an individual instruction, but instruction throughput is the important metric because real programs execute billions of instructions."},
:properties {:color "yellow"}}
{:id #uuid "644a8196-0384-44b9-b141-c2e78451cb7e",
:page 326,
:position {:bounding {:x1 89.6875,
:y1 231.921875,
:x2 479.58782958984375,
:y2 257.921875,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 89.6875,
:y1 231.921875,
:x2 479.58782958984375,
:y2 257.921875,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 326},
:content {:text "Designing Instruction Sets for Pipelining"},
:properties {:color "yellow"}}
{:id #uuid "644a85c9-d4a3-40e1-abca-0bf71ae67004",
:page 326,
:position {:bounding {:x1 403.8125,
:y1 816.484375,
:x2 457.62005615234375,
:y2 833.484375,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 403.8125,
:y1 816.484375,
:x2 457.62005615234375,
:y2 833.484375,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 326},
:content {:text "hazards"},
:properties {:color "yellow"}}
{:id #uuid "644a8636-5eb3-45d2-ab01-a0acd29747b0",
:page 335,
:position {:bounding {:x1 338.859375,
:y1 673.5,
:x2 688.626708984375,
:y2 704.5,
:width 896.9991694444444,
:height 1106.2991694444445},
:rects ({:x1 338.859375,
:y1 673.5,
:x2 688.626708984375,
:y2 704.5,
:width 896.9991694444444,
:height 1106.2991694444445}),
:page 335},
:content {:text "Pipelined Datapath and Control"},
:properties {:color "yellow"}}
{:id #uuid "644a8737-93a8-474b-8029-1eff257568e0",
:page 326,
:position {:bounding {:x1 314.484375,
:y1 1009.859375,
:x2 457.5510559082031,
:y2 1029.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 314.484375,
:y1 1009.859375,
:x2 457.5510559082031,
:y2 1029.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 326},
:content {:text "structural hazard"},
:properties {:color "yellow"}}
{:id #uuid "644a8932-4413-4859-866c-c008e57947bd",
:page 326,
:position {:bounding {:x1 0,
:y1 556,
:x2 741.2244262695312,
:y2 1074.65625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 556,
:x2 0,
:y2 580,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 572,
:x2 0,
:y2 596,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 579.0609130859375,
:y1 1009.859375,
:x2 741.1514892578125,
:y2 1029.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 1032.25,
:x2 741.2244262695312,
:y2 1052.25,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 1054.65625,
:x2 141.3165740966797,
:y2 1074.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 326},
:content {:text " the hardware cannot support the combination of instructions that we want to execute in the same clock cycle"},
:properties {:color "yellow"}}
{:id #uuid "644a8a16-8e43-4d26-a968-8af915459447",
:page 327,
:position {:bounding {:x1 266.921875,
:y1 323.84375,
:x2 386.0304870605469,
:y2 348.84375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 323.84375,
:x2 386.0304870605469,
:y2 348.84375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 327},
:content {:text "Data Hazards"},
:properties {:color "yellow"}}
{:id #uuid "644a8a51-e14d-4e22-91d9-6f4382e713c2",
:page 327,
:position {:bounding {:x1 0,
:y1 140,
:x2 907.3533325195312,
:y2 395.1875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 140,
:x2 0,
:y2 164,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 352.78125,
:x2 907.3533325195312,
:y2 372.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 375.1875,
:x2 454.4201354980469,
:y2 395.1875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 327},
:content {:text "Data hazards occur when the pipeline must be stalled because one step must wait for another to complete."},
:properties {:color "yellow"}}
{:id #uuid "644a8a7e-d974-4972-8bcc-8b2e457e8c11",
:page 327,
:position {:bounding {:x1 0,
:y1 236,
:x2 907.0315551757812,
:y2 529.609375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 236,
:x2 0,
:y2 260,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 495.23016357421875,
:y1 487.203125,
:x2 907.0315551757812,
:y2 507.203125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 509.609375,
:x2 683.9834594726562,
:y2 529.609375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 327},
:content {:text " data hazards arise from the dependence of one instruction on an earlier one that is still in the pipelin"},
:properties {:color "yellow"}}
{:id #uuid "644a8c19-dd9f-4025-9fc7-f7e6881f1ae6",
:page 327,
:position {:bounding {:x1 550.71875,
:y1 873.609375,
:x2 759.578125,
:y2 893.609375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 550.71875,
:y1 873.609375,
:x2 759.578125,
:y2 893.609375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 327},
:content {:text "forwarding or bypassing."},
:properties {:color "yellow"}}
{:id #uuid "644a8dc0-abb5-4c17-bece-30484d124bc7",
:page 330,
:position {:bounding {:x1 100.796875,
:y1 831.578125,
:x2 243.79457092285156,
:y2 856.578125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 831.578125,
:x2 243.79457092285156,
:y2 856.578125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 330},
:content {:text "Control Hazards"},
:properties {:color "yellow"}}
{:id #uuid "644a8e47-9fcf-4944-8036-1c831ec18918",
:page 329,
:position {:bounding {:x1 334.421875,
:y1 616,
:x2 441.6344909667969,
:y2 636,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 334.421875,
:y1 616,
:x2 441.6344909667969,
:y2 636,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 329},
:content {:text "pipeline stall"},
:properties {:color "yellow"}}
{:id #uuid "644a8f6f-732d-41f9-ab03-66062a7b157b",
:page 330,
:position {:bounding {:x1 0,
:y1 412,
:x2 741.1054077148438,
:y2 902.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 412,
:x2 0,
:y2 436,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 595.4471435546875,
:y1 860.515625,
:x2 741.1054077148438,
:y2 880.515625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 882.921875,
:x2 682.7373657226562,
:y2 902.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 330},
:content {:text " the need to make a decision based on the results of one instruction while others are executing."},
:properties {:color "yellow"}}
{:id #uuid "644a8f8f-6a6e-400a-bc18-c48d24b3ab6e",
:page 330,
:position {:bounding {:x1 337.9380187988281,
:y1 927.734375,
:x2 393.2940673828125,
:y2 947.734375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 337.9380187988281,
:y1 927.734375,
:x2 393.2940673828125,
:y2 947.734375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 330},
:content {:text "filthy "},
:properties {:color "green"}}
{:id #uuid "644a92cc-7301-491e-961a-64310ef0252b",
:page 332,
:position {:bounding {:x1 327.859375,
:y1 388.28125,
:x2 413.6094970703125,
:y2 408.28125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 327.859375,
:y1 388.28125,
:x2 413.6094970703125,
:y2 408.28125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 332},
:content {:text "prediction"},
:properties {:color "yellow"}}
{:id #uuid "644a935b-84fe-4103-8915-a1df599e9915",
:page 333,
:position {:bounding {:x1 471.71087646484375,
:y1 326.671875,
:x2 522.9216918945312,
:y2 346.671875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 471.71087646484375,
:y1 326.671875,
:x2 522.9216918945312,
:y2 346.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 333},
:content {:text "stark "},
:properties {:color "green"}}
{:id #uuid "644a9505-08fd-47ae-b202-3f2f2534dd90",
:page 333,
:position {:bounding {:x1 782.5,
:y1 740.734375,
:x2 902.1681518554688,
:y2 762.734375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 782.5,
:y1 740.734375,
:x2 902.1681518554688,
:y2 762.734375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 333},
:content {:text "delayed decision"},
:properties {:color "yellow"}}
{:id #uuid "644a95de-ca6f-4036-b50a-629008ebd1ad",
:page 334,
:position {:bounding {:x1 639.671142578125,
:y1 979.125,
:x2 741.217529296875,
:y2 999.125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 639.671142578125,
:y1 979.125,
:x2 741.217529296875,
:y2 999.125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 334},
:content {:text " Nonetheless,"},
:properties {:color "green"}}
{:id #uuid "644bcbf6-66f0-4f82-b542-bf07ceb22716",
:page 337,
:position {:bounding {:x1 0,
:y1 204,
:x2 906.9348754882812,
:y2 481.09375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 204,
:x2 0,
:y2 228,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 220,
:x2 0,
:y2 244,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 607.0811157226562,
:y1 416.28125,
:x2 906.771240234375,
:y2 436.28125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 438.6875,
:x2 906.9348754882812,
:y2 458.6875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 461.09375,
:x2 444.40277099609375,
:y2 481.09375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 337},
:content {:text " To retain the value of an individual instruction for its other four stages, the value read from instruction memory must be saved in a register."},
:properties {:color "yellow"}}
{:id #uuid "644bcd54-fb9c-4d04-a133-9397d29534b8",
:page 339,
:position {:bounding {:x1 0,
:y1 572,
:x2 907.150146484375,
:y2 1041.109375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 572,
:x2 0,
:y2 596,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 725.92822265625,
:y1 998.703125,
:x2 907.150146484375,
:y2 1018.703125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.96875,
:y1 1021.109375,
:x2 837.6973266601562,
:y2 1041.109375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 339},
:content {:text "any information needed in a later pipe stage must be passed to that stage via a pipeline register"},
:properties {:color "yellow"}}
{:id #uuid "644bd29e-d65e-4a73-89cc-124f907838ef",
:page 343,
:position {:bounding {:x1 0,
:y1 204,
:x2 907.2296752929688,
:y2 1093.359375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 204,
:x2 0,
:y2 228,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 220,
:x2 0,
:y2 244,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 236,
:x2 0,
:y2 260,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 668.2852783203125,
:y1 1006.140625,
:x2 907.2072143554688,
:y2 1026.140625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 1028.546875,
:x2 907.0008544921875,
:y2 1048.546875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 1050.953125,
:x2 907.2296752929688,
:y2 1070.953125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 1073.359375,
:x2 539.208984375,
:y2 1093.359375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 343},
:content {:text "each logical component of the datapath—such as instruction memory, register read ports, ALU, data memory, and register write port—can be used only within a single pipeline stage. Otherwise, we would have a structural hazard"},
:properties {:color "yellow"}}
{:id #uuid "644bd357-ff90-42bc-9342-dc73102adee0",
:page 345,
:position {:bounding {:x1 266.921875,
:y1 574.71875,
:x2 644.1444702148438,
:y2 604.71875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 574.71875,
:x2 644.1444702148438,
:y2 604.71875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 345},
:content {:text "Graphically Representing Pipelines"},
:properties {:color "yellow"}}
{:id #uuid "644bd45a-f008-440b-b367-2dad2a7267fc",
:page 349,
:position {:bounding {:x1 266.921875,
:y1 406.71875,
:x2 453.29779052734375,
:y2 436.71875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 406.71875,
:x2 453.29779052734375,
:y2 436.71875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 349},
:content {:text "Pipelined Control"},
:properties {:color "yellow"}}
{:id #uuid "644bd711-ebfb-429c-a340-6c17191eda7d",
:page 352,
:position {:bounding {:x1 174.78517150878906,
:y1 963.234375,
:x2 730.9315795898438,
:y2 1008.234375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 174.78517150878906,
:y1 963.234375,
:x2 174.7899932861328,
:y2 1008.234375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 214.65625,
:y1 970.203125,
:x2 730.9315795898438,
:y2 1005.203125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 352},
:content {:text "Data Hazards: Forwarding versus Stalling"},
:properties {:color "yellow"}}
{:id #uuid "644bd891-f33c-43a9-87ba-b071ec181876",
:page 365,
:position {:bounding {:x1 380.796875,
:y1 888.484375,
:x2 580.9854125976562,
:y2 923.484375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 380.796875,
:y1 888.484375,
:x2 580.9854125976562,
:y2 923.484375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 365},
:content {:text "Control Hazards"},
:properties {:color "yellow"}}
{:id #uuid "644bd898-be2d-4c8e-bec3-50823b9a7b28",
:page 367,
:position {:bounding {:x1 266.921875,
:y1 144.640625,
:x2 546.9251708984375,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 144.640625,
:x2 546.9251708984375,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 367},
:content {:text "Assume Branch Not Taken"},
:properties {:color "yellow"}}
{:id #uuid "644be99c-0fd5-44e6-9e17-769890c257a0",
:page 362,
:position {:bounding {:x1 100.796875,
:y1 232.265625,
:x2 358.4082336425781,
:y2 262.265625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 232.265625,
:x2 358.4082336425781,
:y2 262.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 362},
:content {:text "Data Hazards and Stalls"},
:properties {:color "yellow"}}
{:id #uuid "644be9a8-d6e8-45d7-a345-bb57935e4ad6",
:page 363,
:position {:bounding {:x1 517.015625,
:y1 690.6875,
:x2 556.4736328125,
:y2 710.6875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 517.015625,
:y1 690.6875,
:x2 556.4736328125,
:y2 710.6875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 363},
:content {:text "nops"},
:properties {:color "yellow"}}
{:id #uuid "644bed0a-1ca6-4433-bc2a-78c9e2a15a33",
:page 367,
:position {:bounding {:x1 338.9303283691406,
:y1 426.734375,
:x2 418.94647216796875,
:y2 446.734375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 338.9303283691406,
:y1 426.734375,
:x2 418.94647216796875,
:y2 446.734375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 367},
:content {:text "percolate "},
:properties {:color "green"}}
{:id #uuid "644bee58-04af-4372-9825-73ca79d86ba3",
:page 370,
:position {:bounding {:x1 100.796875,
:y1 144.640625,
:x2 390.66241455078125,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 144.640625,
:x2 390.66241455078125,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 370},
:content {:text "Dynamic Branch Prediction"},
:properties {:color "yellow"}}
{:id #uuid "644bef12-3410-4f93-a0a7-cdc121cba36d",
:page 367,
:position {:bounding {:x1 266.921875,
:y1 495.578125,
:x2 611.3236694335938,
:y2 525.578125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 495.578125,
:x2 611.3236694335938,
:y2 525.578125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 367},
:content {:text "Reducing the Delay of Branches"},
:properties {:color "yellow"}}
{:id #uuid "644bf9bb-3d27-429c-a8f2-904365f0820e",
:page 370,
:position {:bounding {:x1 0,
:y1 236,
:x2 741.1400146484375,
:y2 513.90625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 236,
:x2 0,
:y2 260,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 455.25,
:y1 471.5,
:x2 741.1400146484375,
:y2 491.5,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.8125,
:y1 493.90625,
:x2 203.6959228515625,
:y2 513.90625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 370},
:content {:text "branch prediction buffer or branch history table"},
:properties {:color "yellow"}}
{:id #uuid "644bfdc9-5a90-451e-a203-745016f515fc",
:page 373,
:position {:bounding {:x1 723.814453125,
:y1 436.875,
:x2 814.6109008789062,
:y2 458.875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 723.814453125,
:y1 436.875,
:x2 814.6109008789062,
:y2 458.875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 373},
:content {:text "tournament "},
:properties {:color "green"}}
{:id #uuid "644bfe19-3e1d-4c8b-9308-afa36426b843",
:page 374,
:position {:bounding {:x1 214.65625,
:y1 970.203125,
:x2 353.6936340332031,
:y2 1005.203125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 214.65625,
:y1 970.203125,
:x2 353.6936340332031,
:y2 1005.203125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 374},
:content {:text "Exceptions"},
:properties {:color "yellow"}}
{:id #uuid "644bfe25-cb9d-4a2c-baf2-6fdcee9c09f4",
:page 373,
:position {:bounding {:x1 0,
:y1 76,
:x2 906.880615234375,
:y2 274.0625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 76,
:x2 0,
:y2 100,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 855.796875,
:y1 231.546875,
:x2 906.880615234375,
:y2 253.546875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 252.0625,
:x2 365.0625,
:y2 274.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 255.0625,
:x2 361.0292663574219,
:y2 271.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 373},
:content {:text "branch target buffer."},
:properties {:color "yellow"}}
{:id #uuid "644bfee0-90fc-478c-826d-24ab4df5a0ea",
:page 373,
:position {:bounding {:x1 738.734375,
:y1 334.203125,
:x2 902.1599731445312,
:y2 356.203125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 738.734375,
:y1 334.203125,
:x2 902.1599731445312,
:y2 356.203125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 373},
:content {:text "correlating predictors"},
:properties {:color "yellow"}}
{:id #uuid "644bfff0-bc59-4a00-b420-68865d47619d",
:page 375,
:position {:bounding {:x1 266.921875,
:y1 885.21875,
:x2 848.4404296875,
:y2 915.21875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 885.21875,
:x2 848.4404296875,
:y2 915.21875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 375},
:content {:text "How Exceptions Are Handled in the MIPS Architecture"},
:properties {:color "yellow"}}
{:id #uuid "644c8153-402f-49e9-a33e-ddfb342f09ca",
:page 376,
:position {:bounding {:x1 313.421875,
:y1 332.578125,
:x2 455.89288330078125,
:y2 349.578125,
:width 899.9991666666666,
:height 1109.9991666666665},
:rects ({:x1 313.421875,
:y1 332.578125,
:x2 455.89288330078125,
:y2 349.578125,
:width 899.9991666666666,
:height 1109.9991666666665}),
:page 376},
:content {:text "vectored interrupts"},
:properties {:color "yellow"}}
{:id #uuid "644c81bd-46b7-455c-82a5-300e283528bd",
:page 376,
:position {:bounding {:x1 100.796875,
:y1 1058,
:x2 549.7010498046875,
:y2 1088,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 1058,
:x2 549.7010498046875,
:y2 1088,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 376},
:content {:text "Exceptions in a Pipelined Implementation"},
:properties {:color "yellow"}}
{:id #uuid "644c821f-5e4e-496e-900c-579241acdf55",
:page 376,
:position {:bounding {:x1 620.03125,
:y1 326.671875,
:x2 729.8056640625,
:y2 346.671875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 620.03125,
:y1 326.671875,
:x2 729.8056640625,
:y2 346.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 376},
:content {:text "Cause register"},
:properties {:color "yellow"}}
{:id #uuid "644c8287-e87a-4b27-aa58-a48b8bbbedf9",
:page 375,
:position {:bounding {:x1 0,
:y1 593.375,
:x2 907.0874633789062,
:y2 1052.890625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 593.375,
:x2 0,
:y2 617.375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 835.015625,
:y1 1010.5,
:x2 907.0874633789062,
:y2 1030.5,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 1032.890625,
:x2 448.2140197753906,
:y2 1052.890625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 375},
:content {:text "exception program counter (EPC) "},
:properties {:color "yellow"}}
{:id #uuid "644c835e-e733-4552-9104-450e7190c367",
:page 377,
:position {:bounding {:x1 813.891845703125,
:y1 483.46875,
:x2 891.5256958007812,
:y2 503.46875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 813.891845703125,
:y1 483.46875,
:x2 891.5256958007812,
:y2 503.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 377},
:content {:text "clobbered "},
:properties {:color "green"}}
{:id #uuid "644cc90a-7230-4fef-92ba-4e4e8679589c",
:page 380,
:position {:bounding {:x1 0,
:y1 45.78125,
:x2 741.2799682617188,
:y2 257.0625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 45.78125,
:x2 0,
:y2 69.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 62.375,
:x2 0,
:y2 86.375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 675.5715942382812,
:y1 192.265625,
:x2 741.2799682617188,
:y2 212.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 214.65625,
:x2 741.0421142578125,
:y2 234.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 237.0625,
:x2 718.4612426757812,
:y2 257.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 380},
:content {:text "multiple exceptions can occur simultaneously in a single clock cycle. The solution is to prioritize the exceptions so that it is easy to determine which is serviced first."},
:properties {:color "yellow"}}
{:id #uuid "644cce08-6ba0-4c7f-8181-8453c74b4161",
:page 381,
:position {:bounding {:x1 380.796875,
:y1 526.9375,
:x2 725.642333984375,
:y2 561.9375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 380.796875,
:y1 526.9375,
:x2 725.642333984375,
:y2 561.9375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 381},
:content {:text "Parallelism via Instructions"},
:properties {:color "yellow"}}
{:id #uuid "644cd47e-72cb-474f-9e9a-3d3078497428",
:page 382,
:position {:bounding {:x1 200.44284057617188,
:y1 550.65625,
:x2 524.9210815429688,
:y2 570.65625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 200.44284057617188,
:y1 550.65625,
:x2 524.9210815429688,
:y2 570.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 382},
:content {:text "two primary and distinct responsibilities "},
:properties {:color "yellow"}}
{:id #uuid "644cd48f-6601-4c02-a0ee-b98f62d0360a",
:page 382,
:position {:bounding {:x1 151.1875,
:y1 606.65625,
:x2 457.2739562988281,
:y2 626.65625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 151.1875,
:y1 606.65625,
:x2 457.2739562988281,
:y2 626.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 382},
:content {:text "Packaging instructions into issue slots"},
:properties {:color "yellow"}}
{:id #uuid "644cd494-d0c1-4529-8776-629f0ae97c5c",
:page 382,
:position {:bounding {:x1 158.65072631835938,
:y1 774.671875,
:x2 442.3482666015625,
:y2 794.671875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 158.65072631835938,
:y1 774.671875,
:x2 442.3482666015625,
:y2 794.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 382},
:content {:text "ealing with data and control hazards: "},
:properties {:color "yellow"}}
{:id #uuid "644cd562-7690-4b77-9f18-39ebb9352846",
:page 382,
:position {:bounding {:x1 100.796875,
:y1 966.71875,
:x2 398.2737731933594,
:y2 996.71875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 966.71875,
:x2 398.2737731933594,
:y2 996.71875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 382},
:content {:text "The Concept of Speculation"},
:properties {:color "yellow"}}
{:id #uuid "644cd60e-9c4d-4851-bb99-6b4cbb757bb1",
:page 383,
:position {:bounding {:x1 266.921875,
:y1 955.515625,
:x2 491.38311767578125,
:y2 985.515625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 955.515625,
:x2 491.38311767578125,
:y2 985.515625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 383},
:content {:text "Static Multiple Issue"},
:properties {:color "yellow"}}
{:id #uuid "644cd795-5c31-4de1-841f-cb72e375cbc7",
:page 383,
:position {:bounding {:x1 784,
:y1 1036,
:x2 882.3548583984375,
:y2 1056,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 784,
:y1 1036,
:x2 882.3548583984375,
:y2 1056,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 383},
:content {:text "issue packet"},
:properties {:color "yellow"}}
{:id #uuid "644cd983-c322-42e8-ad23-2e827defebd4",
:page 384,
:position {:bounding {:x1 385.703125,
:y1 169.859375,
:x2 687.7310791015625,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 385.703125,
:y1 169.859375,
:x2 687.7310791015625,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 384},
:content {:text "Very Long Instruction Word (VLIW)"},
:properties {:color "yellow"}}
{:id #uuid "644cdb59-f65c-4c2d-acc2-d6f9d170a82c",
:page 386,
:position {:bounding {:x1 203,
:y1 147.453125,
:x2 293.7076721191406,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 203,
:y1 147.453125,
:x2 293.7076721191406,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 386},
:content {:text "use latency"},
:properties {:color "yellow"}}
{:id #uuid "644cddad-ba7d-49a8-98c6-135fd2f68e1c",
:page 388,
:position {:bounding {:x1 100.796875,
:y1 356.3125,
:x2 478.797119140625,
:y2 386.3125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 356.3125,
:x2 478.797119140625,
:y2 386.3125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 388},
:content {:text "Dynamic Multiple-Issue Processors"},
:properties {:color "yellow"}}
{:id #uuid "644ce000-671e-44ce-b00d-86ae035f3a14",
:page 388,
:position {:bounding {:x1 0,
:y1 178.53125,
:x2 741.1646118164062,
:y2 479.203125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 178.53125,
:x2 0,
:y2 202.53125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 195.125,
:x2 0,
:y2 219.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 288.123779296875,
:y1 414.390625,
:x2 740.8720092773438,
:y2 434.390625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 436.796875,
:x2 741.1646118164062,
:y2 456.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 459.203125,
:x2 266.7744445800781,
:y2 479.203125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 388},
:content {:text "the simplest superscalar processors, instructions issue in order, and the processor decides whether zero, one, or more instructions can issue in a given clock cycl"},
:properties {:color "yellow"}}
{:id #uuid "644ce05f-7da8-4b02-b0df-b75533c76703",
:page 388,
:position {:bounding {:x1 0,
:y1 278.09375,
:x2 741.0226440429688,
:y2 591.203125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 278.09375,
:x2 0,
:y2 302.09375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 299.7768249511719,
:y1 548.8125,
:x2 741.0226440429688,
:y2 568.8125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 571.203125,
:x2 375.1717224121094,
:y2 591.203125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 388},
:content {:text "he code, whether scheduled or not, is guaranteed by the hardware to execute correctly"},
:properties {:color "yellow"}}
{:id #uuid "644ce149-5f2f-449d-8b6d-86d589aad536",
:page 388,
:position {:bounding {:x1 100.796875,
:y1 1071.4375,
:x2 360.6474914550781,
:y2 1096.4375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 1071.4375,
:x2 360.6474914550781,
:y2 1096.4375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 388},
:content {:text "Dynamic Pipeline Scheduling"},
:properties {:color "yellow"}}
{:id #uuid "644ce15b-b779-4624-bce4-fd2ae0541d0d",
:page 388,
:position {:bounding {:x1 0,
:y1 410.84375,
:x2 740.9900512695312,
:y2 792.796875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 410.84375,
:x2 0,
:y2 434.84375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 427.4375,
:x2 0,
:y2 451.4375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 423.2906188964844,
:y1 728.015625,
:x2 740.9900512695312,
:y2 748.015625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.828125,
:y1 750.40625,
:x2 740.8865356445312,
:y2 770.40625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 772.796875,
:x2 182.68533325195312,
:y2 792.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 388},
:content {:text " Dynamic pipeline scheduling chooses which instructions to execute in a given clock cycle while trying to avoid hazards and stalls."},
:properties {:color "yellow"}}
{:id #uuid "644ce1dc-44b6-40f1-ad39-c34e660c9b32",
:page 388,
:position {:bounding {:x1 0,
:y1 659.75,
:x2 740.7516479492188,
:y2 1165.1875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 659.75,
:x2 0,
:y2 683.75,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 551.123291015625,
:y1 1122.796875,
:x2 740.7516479492188,
:y2 1142.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 1145.1875,
:x2 235.17799377441406,
:y2 1165.1875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 388},
:content {:text "pipeline is divided into three major units"},
:properties {:color "yellow"}}
{:id #uuid "644ce2ec-c9bd-44a6-a51f-aaa9cf8a996b",
:page 392,
:position {:bounding {:x1 100.796875,
:y1 641.3125,
:x2 557.764892578125,
:y2 671.3125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 641.3125,
:x2 557.764892578125,
:y2 671.3125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 392},
:content {:text "Energy Effi ciency and Advanced Pipelining"},
:properties {:color "yellow"}}
{:id #uuid "644ce31a-b366-4d64-b5a3-1831372d21dc",
:page 392,
:position {:bounding {:x1 0,
:y1 444.03125,
:x2 740.9482421875,
:y2 853.796875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 444.03125,
:x2 0,
:y2 468.03125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 123.1875,
:y1 811.40625,
:x2 740.9482421875,
:y2 831.40625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 833.796875,
:x2 506.8180847167969,
:y2 853.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 392},
:content {:text "The belief is that while the simpler processors are not as fast as their sophisticated brethren, they deliver better performance per joule,"},
:properties {:color "yellow"}}
{:id #uuid "644ce676-1db2-4399-9079-22b6f3fd4edf",
:page 387,
:position {:bounding {:x1 711.5625,
:y1 595.921875,
:x2 859.9411010742188,
:y2 615.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 711.5625,
:y1 595.921875,
:x2 859.9411010742188,
:y2 615.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 387},
:content {:text "register renaming"},
:properties {:color "yellow"}}
{:id #uuid "644ce786-f08e-4cae-914b-00a472d9a40c",
:page 387,
:position {:bounding {:x1 0,
:y1 560.1875,
:x2 906.9197998046875,
:y2 817.53125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 560.1875,
:x2 0,
:y2 584.1875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 523.7973022460938,
:y1 775.125,
:x2 906.9197998046875,
:y2 795.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 300.53125,
:y1 797.53125,
:x2 861.3727416992188,
:y2 817.53125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 387},
:content {:text " an ordering forced purely by the reuse of a name, rather than a real data dependence that is also called a true dependence."},
:properties {:color "yellow"}}
{:id #uuid "644ce915-4863-48fd-85f2-66e679623a7f",
:page 390,
:position {:bounding {:x1 292.765625,
:y1 550.671875,
:x2 484.02313232421875,
:y2 570.671875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 292.765625,
:y1 550.671875,
:x2 484.02313232421875,
:y2 570.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 390},
:content {:text "out-of-order execution"},
:properties {:color "yellow"}}
{:id #uuid "644ce918-496d-430b-b631-212a7cf9b925",
:page 390,
:position {:bounding {:x1 151.28125,
:y1 685.078125,
:x2 288.2050476074219,
:y2 705.078125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 151.28125,
:y1 685.078125,
:x2 288.2050476074219,
:y2 705.078125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 390},
:content {:text "in-order commit"},
:properties {:color "yellow"}}
{:id #uuid "644ce9f1-d463-48b9-9ed7-98f218281b02",
:page 392,
:position {:bounding {:x1 281.7327880859375,
:y1 195.984375,
:x2 587.93798828125,
:y2 215.984375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 281.7327880859375,
:y1 195.984375,
:x2 587.93798828125,
:y2 215.984375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 392},
:content {:text "sustaining that issue rate is very difficult"},
:properties {:color "yellow"}}
{:id #uuid "644cea96-46cb-48b6-bd1c-e3f43205e6cb",
:page 393,
:position {:bounding {:x1 0,
:y1 261.5,
:x2 885.9683837890625,
:y2 1098.96875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 261.5,
:x2 0,
:y2 285.5,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 380.796875,
:y1 1030.359375,
:x2 885.9683837890625,
:y2 1065.359375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 380.796875,
:y1 1063.96875,
:x2 595.0975341796875,
:y2 1098.96875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 393},
:content {:text "Real Stuff: The ARM Cortex-A8 and Intel Core i7 Pipelines"},
:properties {:color "yellow"}}
{:id #uuid "644cec43-c523-4d68-b48d-c209e2223e18",
:page 396,
:position {:bounding {:x1 277.42724609375,
:y1 590.984375,
:x2 365.765869140625,
:y2 610.984375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 277.42724609375,
:y1 590.984375,
:x2 365.765869140625,
:y2 610.984375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 396},
:content {:text "intermingled"},
:properties {:color "green"}}
{:id #uuid "644ced6c-a427-48bd-9ec2-31e925e0376f",
:page 396,
:position {:bounding {:x1 100.796875,
:y1 635.78125,
:x2 242.24644470214844,
:y2 655.78125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 635.78125,
:x2 242.24644470214844,
:y2 655.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 396},
:content {:text "microarchitecture"},
:properties {:color "yellow"}}
{:id #uuid "644cee04-6588-4d06-becc-375612443e67",
:page 396,
:position {:bounding {:x1 0,
:y1 112.15625,
:x2 741.0690307617188,
:y2 745.390625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 112.15625,
:x2 0,
:y2 136.15625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 128.75,
:x2 0,
:y2 152.75,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 684.8281860351562,
:y1 680.578125,
:x2 740.839599609375,
:y2 700.578125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 702.984375,
:x2 741.0690307617188,
:y2 722.984375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 725.390625,
:x2 705.0948486328125,
:y2 745.390625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 396},
:content {:text "egister renaming explicitly renames the architectural registers in a processor (16 in the case of the 64-bit version of the x86 architecture) to a larger set of physical registers"},
:properties {:color "yellow"}}
{:id #uuid "644cef9a-7da3-441e-b1db-51045ca2d1d4",
:page 396,
:position {:bounding {:x1 0,
:y1 211.71875,
:x2 741.2365112304688,
:y2 879.796875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 211.71875,
:x2 0,
:y2 235.71875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 228.3125,
:x2 0,
:y2 252.3125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 566.44140625,
:y1 814.984375,
:x2 741.0755004882812,
:y2 834.984375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 837.390625,
:x2 741.2365112304688,
:y2 857.390625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 859.796875,
:x2 702.9525146484375,
:y2 879.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 396},
:content {:text "register renaming offers another approach to recovery in the event of incorrect speculation: simply undo the mappings that have occurred since the first incorrectly speculated instruction."},
:properties {:color "yellow"}}
{:id #uuid "644cf0f0-aa33-425f-8a79-6b0d4a21d9ae",
:page 394,
:position {:bounding {:x1 0,
:y1 145.34375,
:x2 741.0554809570312,
:y2 859.796875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 145.34375,
:x2 0,
:y2 169.34375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 161.9375,
:x2 0,
:y2 185.9375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 484.8671569824219,
:y1 795,
:x2 740.91796875,
:y2 815,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 817.40625,
:x2 741.0554809570312,
:y2 837.40625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.765625,
:y1 839.796875,
:x2 267.10772705078125,
:y2 859.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 394},
:content {:text "a two-level branch predictor using both a 512-entry branch target buffer, a 4096-entry global history buffer, and an8-entry return stack"},
:properties {:color "yellow"}}
{:id #uuid "644cf33e-7f2f-444a-bf58-1107e02a4c84",
:page 400,
:position {:bounding {:x1 0,
:y1 311.28125,
:x2 608.4768676757812,
:y2 790.546875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 311.28125,
:x2 0,
:y2 335.28125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 214.640625,
:y1 721.9375,
:x2 608.4768676757812,
:y2 756.9375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 214.640625,
:y1 726.9375,
:x2 608.4768676757812,
:y2 753.078125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 181.3711700439453,
:y1 729.890625,
:x2 181.37518310546875,
:y2 774.890625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 214.640625,
:y1 755.546875,
:x2 606.5133056640625,
:y2 790.546875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 400},
:content {:text "Going Faster: Instruction-Level Parallelism and Matrix Multiply"},
:properties {:color "yellow"}}
{:id #uuid "644cf620-c517-42e0-958b-d2c58bbbcd09",
:page 434,
:position {:bounding {:x1 214.671875,
:y1 183.796875,
:x2 477.58172607421875,
:y2 218.796875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 214.671875,
:y1 183.796875,
:x2 477.58172607421875,
:y2 218.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 434},
:content {:text "Fallacies and Pitfalls"},
:properties {:color "yellow"}}
{:id #uuid "644cf7e2-0f30-4889-9edc-11ce3892141b",
:page 451,
:position {:bounding {:x1 0,
:y1 261.5,
:x2 837.935546875,
:y2 869.34375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 261.5,
:x2 0,
:y2 285.5,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 278.09375,
:x2 0,
:y2 302.09375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 434.28125,
:y1 690.90625,
:x2 763.1229248046875,
:y2 749.90625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 434.28125,
:y1 750.625,
:x2 837.935546875,
:y2 809.625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 434.28125,
:y1 758.625,
:x2 837.935546875,
:y2 803.421875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 434.28125,
:y1 810.34375,
:x2 638.3452758789062,
:y2 869.34375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 451},
:content {:text "Large and Fast: Exploiting Memory Hierarchy"},
:properties {:color "yellow"}}
{:id #uuid "644dd4f0-dd17-4ca2-9360-413444e36db3",
:page 453,
:position {:bounding {:x1 353.59375,
:y1 170.453125,
:x2 496.2897033691406,
:y2 202.453125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 353.59375,
:y1 170.453125,
:x2 496.2897033691406,
:y2 202.453125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 453},
:content {:text "Introduction"},
:properties {:color "yellow"}}
{:id #uuid "644dd503-3bcd-4ea2-a786-4083fa6b3162",
:page 453,
:position {:bounding {:x1 299.6767272949219,
:y1 707.546875,
:x2 449.609375,
:y2 726.546875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 299.6767272949219,
:y1 707.546875,
:x2 449.609375,
:y2 726.546875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 453},
:content {:text " principle of locality "},
:properties {:color "yellow"}}
{:id #uuid "644dd50b-6aaa-43a1-8d27-9d28861bdcaf",
:page 453,
:position {:bounding {:x1 0,
:y1 493.8125,
:x2 842.2708129882812,
:y2 861.6875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 493.8125,
:x2 0,
:y2 517.8125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 289.453125,
:y1 821.890625,
:x2 842.2708129882812,
:y2 840.890625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 289.453125,
:y1 842.6875,
:x2 452.4861145019531,
:y2 861.6875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 453},
:content {:text "Temporal locality (locality in time): if an item is referenced, it will tend to be referenced again soon. "},
:properties {:color "yellow"}}
{:id #uuid "644dd512-c64d-4d7d-802b-c3defdbc2712",
:page 453,
:position {:bounding {:x1 0,
:y1 543.59375,
:x2 842.517822265625,
:y2 934.484375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 543.59375,
:x2 0,
:y2 567.59375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 289.453125,
:y1 897.1875,
:x2 842.517822265625,
:y2 913.65625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 289.453125,
:y1 915.484375,
:x2 698.4974365234375,
:y2 934.484375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 453},
:content {:text "Spatial locality (locality in space): if an item is referenced, items whose addresses are close by will tend to be referenced soon"},
:properties {:color "yellow"}}
{:id #uuid "644dd51d-6572-412f-befc-e033934ac377",
:page 454,
:position {:bounding {:x1 235.09375,
:y1 756.96875,
:x2 376.8136901855469,
:y2 775.96875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 235.09375,
:y1 756.96875,
:x2 376.8136901855469,
:y2 775.96875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 454},
:content {:text "memory hierarchy"},
:properties {:color "yellow"}}
{:id #uuid "644dd57e-591e-46e3-b782-07db59abfde9",
:page 454,
:position {:bounding {:x1 0,
:y1 261.5,
:x2 688.328125,
:y2 942.375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 261.5,
:x2 0,
:y2 285.5,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 366.3660888671875,
:y1 902.5625,
:x2 688.328125,
:y2 921.5625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 93.609375,
:y1 923.375,
:x2 659.7514038085938,
:y2 942.375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 454},
:content {:text "a level closer to the processor is generally a subset of any level further away, and all the data is stored at the lowest level"},
:properties {:color "yellow"}}
{:id #uuid "644dd5b6-a024-4b08-93ee-0b8a9f0bf8ec",
:page 455,
:position {:bounding {:x1 0,
:y1 45.78125,
:x2 842.27587890625,
:y2 575.328125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 45.78125,
:x2 0,
:y2 69.78125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 284.5386962890625,
:y1 535.515625,
:x2 842.27587890625,
:y2 554.515625,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 556.328125,
:x2 598.8756713867188,
:y2 575.328125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 455},
:content {:text "the minimum unit of information that can be either present or not present in the two-level hierarchy is called a block or a line"},
:properties {:color "yellow"}}
{:id #uuid "644dd61b-eaa7-4f0d-beab-103b48546ceb",
:page 455,
:position {:bounding {:x1 311.67889404296875,
:y1 597.921875,
:x2 835.1909790039062,
:y2 616.921875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 311.67889404296875,
:y1 597.921875,
:x2 835.1909790039062,
:y2 616.921875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 455},
:content {:text " data requested by the processor appears in some block in the upper level"},
:properties {:color "yellow"}}
{:id #uuid "644dd84f-f268-4600-a025-ab1372e99e01",
:page 455,
:position {:bounding {:x1 0,
:y1 261.5,
:x2 842.36181640625,
:y2 866.515625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 261.5,
:x2 0,
:y2 285.5,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 0,
:y1 278.09375,
:x2 0,
:y2 302.09375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 527.078125,
:y1 805.921875,
:x2 842.36181640625,
:y2 824.921875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 826.71875,
:x2 842.333740234375,
:y2 845.71875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 847.515625,
:x2 453.10198974609375,
:y2 866.515625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 455},
:content {:text "Hit time is the time to access the upper level of the memory hierarchy, which includes the time needed to determine whether the access is a hit or a miss"},
:properties {:color "yellow"}}
{:id #uuid "644dd859-a7c9-4058-b89f-6f638f885927",
:page 455,
:position {:bounding {:x1 0,
:y1 311.28125,
:x2 842.4488525390625,
:y2 928.921875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 311.28125,
:x2 0,
:y2 335.28125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 0,
:y1 327.875,
:x2 0,
:y2 351.875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 329.4430236816406,
:y1 868.328125,
:x2 842.4488525390625,
:y2 887.328125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.859375,
:y1 889.125,
:x2 842.1237182617188,
:y2 908.125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 247.875,
:y1 909.921875,
:x2 348.2171936035156,
:y2 928.921875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 455},
:content {:text "The miss penalty is the time to replace a block in the upper level with the corresponding block from the lower level, plus the time to deliver this block to the processor "},
:properties {:color "yellow"}}
{:id #uuid "644dd921-308b-4b4d-9440-e082bb44cfae",
:page 457,
:position {:bounding {:x1 353.59375,
:y1 614,
:x2 607.1904907226562,
:y2 646,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 353.59375,
:y1 614,
:x2 607.1904907226562,
:y2 646,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 457},
:content {:text "Memory Technologies"},
:properties {:color "yellow"}}
{:id #uuid "644dd962-ebaf-4014-b8ec-4e24525359bb",
:page 458,
:position {:bounding {:x1 93.59375,
:y1 135.75,
:x2 271.2381286621094,
:y2 162.75,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 135.75,
:x2 271.2381286621094,
:y2 162.75,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 458},
:content {:text "SRAM Technology"},
:properties {:color "yellow"}}
{:id #uuid "644dd9ad-2f6e-445e-b4e8-4e4b45eece09",
:page 458,
:position {:bounding {:x1 93.59375,
:y1 420.015625,
:x2 271.64337158203125,
:y2 447.015625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 420.015625,
:x2 271.64337158203125,
:y2 447.015625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 458},
:content {:text "DRAM Technology"},
:properties {:color "yellow"}}
{:id #uuid "644dd9cc-74f0-4484-8a39-a3715e2b9194",
:page 462,
:position {:bounding {:x1 199.328125,
:y1 917.546875,
:x2 447.82061767578125,
:y2 949.546875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 199.328125,
:y1 917.546875,
:x2 447.82061767578125,
:y2 949.546875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 462},
:content {:text "The Basics of Caches"},
:properties {:color "yellow"}}
{:id #uuid "644ddaac-b1da-455d-848f-547ea2fb90cf",
:page 458,
:position {:bounding {:x1 303.8086242675781,
:y1 474.15625,
:x2 680.7739868164062,
:y2 493.15625,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 303.8086242675781,
:y1 474.15625,
:x2 680.7739868164062,
:y2 493.15625,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 458},
:content {:text " kept in a cell is stored as a charge in a capacitor"},
:properties {:color "yellow"}}
{:id #uuid "644ddb68-1f5e-483b-a1a0-df3979e962d1",
:page 458,
:position {:bounding {:x1 0,
:y1 311.28125,
:x2 688.2505493164062,
:y2 597.171875,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 311.28125,
:x2 0,
:y2 335.28125,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 401.9202880859375,
:y1 557.359375,
:x2 688.2505493164062,
:y2 576.359375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 93.59375,
:y1 578.171875,
:x2 274.78826904296875,
:y2 597.171875,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 458},
:content {:text "it cannot be kept indefinitely and must periodically be refreshed"},
:properties {:color "yellow"}}
{:id #uuid "644ddb9a-f0f6-4161-8105-6d74ecad0ece",
:page 458,
:position {:bounding {:x1 114.390625,
:y1 619.78125,
:x2 607.2032470703125,
:y2 638.78125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 114.390625,
:y1 619.78125,
:x2 607.2032470703125,
:y2 638.78125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 458},
:content {:text "To refresh the cell, we merely read its contents and write it back."},
:properties {:color "yellow"}}
{:id #uuid "644ddddd-fd99-4cd6-b551-3e4cf0221948",
:page 460,
:position {:bounding {:x1 93.59375,
:y1 579.3125,
:x2 233.587890625,
:y2 606.3125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 579.3125,
:x2 233.587890625,
:y2 606.3125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 460},
:content {:text "Flash Memory"},
:properties {:color "yellow"}}
{:id #uuid "644ddde0-69a4-4dc6-8a66-3e802d201809",
:page 460,
:position {:bounding {:x1 93.59375,
:y1 842.78125,
:x2 224.43426513671875,
:y2 869.78125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.59375,
:y1 842.78125,
:x2 224.43426513671875,
:y2 869.78125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 460},
:content {:text "Disk Memory"},
:properties {:color "yellow"}}
{:id #uuid "644dded8-ffe3-4d2e-abbe-d4374b5b30af",
:page 462,
:position {:bounding {:x1 93.578125,
:y1 841.03125,
:x2 121.7721939086914,
:y2 860.03125,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 93.578125,
:y1 841.03125,
:x2 121.7721939086914,
:y2 860.03125,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 462},
:content {:text "rugg"},
:properties {:color "green"}}
{:id #uuid "644ddfbe-a7cf-4048-b794-baae5d8891db",
:page 458,
:position {:bounding {:x1 0,
:y1 410.84375,
:x2 688.0891723632812,
:y2 721.984375,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 0,
:y1 410.84375,
:x2 0,
:y2 434.84375,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 525.9468383789062,
:y1 682.1875,
:x2 688.0891723632812,
:y2 701.1875,
:width 935.9991333333334,
:height 1154.3991333333333}
{:x1 93.59375,
:y1 702.984375,
:x2 158.0232391357422,
:y2 721.984375,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 458},
:content {:text " a two-level decoding structure"},
:properties {:color "yellow"}}
{:id #uuid "644ddfe7-91ad-4c6b-9a67-075bf4eb6f33",
:page 458,
:position {:bounding {:x1 267.9812927246094,
:y1 807,
:x2 569.225830078125,
:y2 826,
:width 935.9991333333334,
:height 1154.3991333333333},
:rects ({:x1 267.9812927246094,
:y1 807,
:x2 569.225830078125,
:y2 826,
:width 935.9991333333334,
:height 1154.3991333333333}),
:page 458},
:content {:text "RAMs buffer rows for repeated access. "},
:properties {:color "yellow"}}
{:id #uuid "644de60d-55a9-44f8-b1c7-4f9848b62994",
:page 458,
:position {:bounding {:x1 0,
:y1 643.15625,
:x2 741.0474853515625,
:y2 1090.78125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 643.15625,
:x2 0,
:y2 667.15625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 498.9104919433594,
:y1 1048.375,
:x2 741.0474853515625,
:y2 1068.375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.8125,
:y1 1070.78125,
:x2 505.6158447265625,
:y2 1090.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 458},
:content {:text "s, DRAMs added clocks and are properly called Synchronous DRAMs or SDRAMs"},
:properties {:color "yellow"}}
{:id #uuid "644de669-6f2d-4853-83db-3b84b1f86a1e",
:page 460,
:position {:bounding {:x1 188.66165161132812,
:y1 147.453125,
:x2 309.0065002441406,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 188.66165161132812,
:y1 147.453125,
:x2 309.0065002441406,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 460},
:content {:text "multiple banks,"},
:properties {:color "yellow"}}
{:id #uuid "644de81f-f1ed-42b6-8b51-d6e72b8162bd",
:page 477,
:position {:bounding {:x1 0,
:y1 327.875,
:x2 781.8217163085938,
:y2 779.34375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 327.875,
:x2 0,
:y2 351.875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 380.796875,
:y1 710.734375,
:x2 781.8217163085938,
:y2 745.734375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 380.796875,
:y1 744.34375,
:x2 542.0493774414062,
:y2 779.34375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 477},
:content {:text "Measuring and Improving Cache Performance"},
:properties {:color "yellow"}}
{:id #uuid "644dea78-9ad9-4322-a05d-1b30789b85a8",
:page 497,
:position {:bounding {:x1 380.796875,
:y1 341.140625,
:x2 765.6166381835938,
:y2 376.140625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 380.796875,
:y1 341.140625,
:x2 765.6166381835938,
:y2 376.140625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 497},
:content {:text "Dependable Memory Hierarchy"},
:properties {:color "yellow"}}
{:id #uuid "644deab8-5929-424b-a0bb-9944268d757e",
:page 564,
:position {:bounding {:x1 349.58758544921875,
:y1 176.828125,
:x2 643.7067260742188,
:y2 221.828125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 349.58758544921875,
:y1 176.828125,
:x2 349.59136962890625,
:y2 221.828125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 380.796875,
:y1 183.796875,
:x2 643.7067260742188,
:y2 218.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 564},
:content {:text "Fallacies and Pitfalls"},
:properties {:color "yellow"}}
{:id #uuid "644deb2b-3128-4949-a7d8-8d812e57d1e5",
:page 463,
:position {:bounding {:x1 266.921875,
:y1 281.875,
:x2 828.0704345703125,
:y2 301.875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 281.875,
:x2 828.0704345703125,
:y2 301.875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 463},
:content {:text "requests are each one word and the blocks also consist of a single word"},
:properties {:color "yellow"}}
{:id #uuid "644decf0-302e-44bc-8ebe-0e195d66565d",
:page 463,
:position {:bounding {:x1 0,
:y1 344.46875,
:x2 907.9876708984375,
:y2 570.671875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 344.46875,
:x2 0,
:y2 368.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 859.859375,
:y1 528.265625,
:x2 907.9876708984375,
:y2 548.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 550.671875,
:x2 333.3367614746094,
:y2 570.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 463},
:content {:text "direct mapped"},
:properties {:color "yellow"}}
{:id #uuid "644dee3d-839d-44c0-a772-b26b029987da",
:page 463,
:position {:bounding {:x1 731.4375,
:y1 909.0625,
:x2 764.3681640625,
:y2 929.0625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 731.4375,
:y1 909.0625,
:x2 764.3681640625,
:y2 929.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 463},
:content {:text "tags"},
:properties {:color "yellow"}}
{:id #uuid "644deeaa-657f-43c4-a7c7-c39e34d21b8c",
:page 463,
:position {:bounding {:x1 0,
:y1 692.9375,
:x2 907.1323852539062,
:y2 973.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 692.9375,
:x2 0,
:y2 716.9375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 728.8388671875,
:y1 931.46875,
:x2 907.1323852539062,
:y2 951.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 953.859375,
:x2 587.0823974609375,
:y2 973.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 463},
:content {:text " whether a word in the cache corresponds to the requested word."},
:properties {:color "yellow"}}
{:id #uuid "644def1f-26c4-4e81-b269-d1c341ec1ecc",
:page 465,
:position {:bounding {:x1 333.765625,
:y1 192.265625,
:x2 818.2476196289062,
:y2 212.265625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 333.765625,
:y1 192.265625,
:x2 818.2476196289062,
:y2 212.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 465},
:content {:text "valid bit to indicate whether an entry contains a valid address. I"},
:properties {:color "yellow"}}
{:id #uuid "644df14a-7c1b-4f37-8c27-7bacb9d683d9",
:page 467,
:position {:bounding {:x1 489.10015869140625,
:y1 393.875,
:x2 766.8451538085938,
:y2 413.875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 489.10015869140625,
:y1 393.875,
:x2 766.8451538085938,
:y2 413.875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 467},
:content {:text " referenced address is divided into"},
:properties {:color "yellow"}}
{:id #uuid "644df720-1c8b-4503-b63c-25eedb390c05",
:page 470,
:position {:bounding {:x1 100.796875,
:y1 454.921875,
:x2 551.3345336914062,
:y2 474.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 454.921875,
:x2 551.3345336914062,
:y2 474.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 470},
:content {:text "Larger blocks exploit spatial locality to lower miss rate"},
:properties {:color "yellow"}}
{:id #uuid "644df84e-9877-44a2-8caf-09b4145b6616",
:page 471,
:position {:bounding {:x1 266.921875,
:y1 841.65625,
:x2 516.0225830078125,
:y2 871.65625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 841.65625,
:x2 516.0225830078125,
:y2 871.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 471},
:content {:text "Handling Cache Misses"},
:properties {:color "yellow"}}
{:id #uuid "644dfa55-2147-43e0-92c4-b6eff3c77fd4",
:page 472,
:position {:bounding {:x1 100.796875,
:y1 765.125,
:x2 271.49884033203125,
:y2 795.125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 765.125,
:x2 271.49884033203125,
:y2 795.125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 472},
:content {:text "Handling Writes"},
:properties {:color "yellow"}}
{:id #uuid "644dfb90-ed84-4674-9b19-933cc0d6452f",
:page 472,
:position {:bounding {:x1 526.015625,
:y1 912.796875,
:x2 641.71240234375,
:y2 932.796875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 526.015625,
:y1 912.796875,
:x2 641.71240234375,
:y2 932.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 472},
:content {:text "write-through"},
:properties {:color "yellow"}}
{:id #uuid "644dfbc5-1c5c-438b-a90d-ff3d1de00f5d",
:page 472,
:position {:bounding {:x1 519.83056640625,
:y1 935.203125,
:x2 603.7498779296875,
:y2 955.203125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 519.83056640625,
:y1 935.203125,
:x2 603.7498779296875,
:y2 955.203125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 472},
:content {:text "rite miss. "},
:properties {:color "yellow"}}
{:id #uuid "644dfc5f-ed37-45c4-930e-f6457dac22d8",
:page 473,
:position {:bounding {:x1 778.28125,
:y1 483.46875,
:x2 865.2328491210938,
:y2 503.46875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 778.28125,
:y1 483.46875,
:x2 865.2328491210938,
:y2 503.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 473},
:content {:text "write-back"},
:properties {:color "yellow"}}
{:id #uuid "644dfcad-d2f6-4e50-8b65-f539c7a54f7a",
:page 473,
:position {:bounding {:x1 608.953125,
:y1 192.265625,
:x2 705.637939453125,
:y2 212.265625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 608.953125,
:y1 192.265625,
:x2 705.637939453125,
:y2 212.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 473},
:content {:text "write buffer"},
:properties {:color "yellow"}}
{:id #uuid "644dfe25-7d59-43b0-bf19-3a3a1c46ff0b",
:page 473,
:position {:bounding {:x1 665.5625,
:y1 863.90625,
:x2 778.5169677734375,
:y2 885.90625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 665.5625,
:y1 863.90625,
:x2 778.5169677734375,
:y2 885.90625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 473},
:content {:text "no write allocate"},
:properties {:color "yellow"}}
{:id #uuid "644dfedb-3afe-4afb-9b56-6ac3c2067783",
:page 473,
:position {:bounding {:x1 0,
:y1 609.96875,
:x2 907.1980285644531,
:y2 1009.09375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 609.96875,
:x2 0,
:y2 633.96875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 352.8171691894531,
:y1 966.5625,
:x2 907.1980285644531,
:y2 988.5625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 987.09375,
:x2 596.3480224609375,
:y2 1009.09375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 473},
:content {:text "implementing stores efficiently in a cache that uses a write-back strategy is more complex than in a write-through cache"},
:properties {:color "yellow"}}
{:id #uuid "644e0503-5ee5-4da8-bf62-04b2fa91e5f9",
:page 557,
:position {:bounding {:x1 0,
:y1 12.59375,
:x2 719.8433837890625,
:y2 238.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 12.59375,
:x2 0,
:y2 36.59375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 214.671875,
:y1 170.3125,
:x2 719.8433837890625,
:y2 205.3125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 214.671875,
:y1 203.921875,
:x2 565.1284790039062,
:y2 238.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 557},
:content {:text "Real Stuff: The ARM Cortex-A8 and Intel Core i7 Memory Hierarchies"},
:properties {:color "yellow"}}
{:id #uuid "644e053c-0254-41ad-ba8c-25527b64a217",
:page 561,
:position {:bounding {:x1 0,
:y1 145.34375,
:x2 732.6088256835938,
:y2 954.640625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 145.34375,
:x2 0,
:y2 169.34375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 222.484375,
:y1 886.03125,
:x2 732.6088256835938,
:y2 921.03125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 222.484375,
:y1 919.640625,
:x2 323.8851623535156,
:y2 954.640625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 561},
:content {:text "Going Faster: Cache Blocking and Matrix Multiply"},
:properties {:color "yellow"}}
{:id #uuid "644e0550-6991-4b86-9765-612e71bed268",
:page 503,
:position {:bounding {:x1 380.796875,
:y1 184.921875,
:x2 594.44091796875,
:y2 219.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 380.796875,
:y1 184.921875,
:x2 594.44091796875,
:y2 219.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 503},
:content {:text "Virtual Machines"},
:properties {:color "yellow"}}
{:id #uuid "644e0592-d4f8-4c4c-ab53-67473f40e1a9",
:page 478,
:position {:bounding {:x1 123.1875,
:y1 147.453125,
:x2 205.58966064453125,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 123.1875,
:y1 147.453125,
:x2 205.58966064453125,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 478},
:content {:text "CPU time c"},
:properties {:color "yellow"}}
{:id #uuid "644e0631-3612-4778-86c2-e6f062b426ab",
:page 478,
:position {:bounding {:x1 482.8622131347656,
:y1 898.5625,
:x2 561.0653686523438,
:y2 918.5625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 482.8622131347656,
:y1 898.5625,
:x2 561.0653686523438,
:y2 918.5625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 478},
:content {:text "proximity "},
:properties {:color "green"}}
{:id #uuid "644e0696-a447-4ddd-9bd3-dca459b91853",
:page 478,
:position {:bounding {:x1 134.92254638671875,
:y1 306.140625,
:x2 348.28961181640625,
:y2 326.140625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 134.92254638671875,
:y1 306.140625,
:x2 348.28961181640625,
:y2 326.140625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 478},
:content {:text "memory-stall clock cycles"},
:properties {:color "yellow"}}
{:id #uuid "644e084a-1d64-423e-9083-ebc373cbb373",
:page 478,
:position {:bounding {:x1 0,
:y1 278.09375,
:x2 741.1640625,
:y2 767.484375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 278.09375,
:x2 0,
:y2 302.09375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 294.6875,
:x2 0,
:y2 318.6875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 311.28125,
:x2 0,
:y2 335.28125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 327.875,
:x2 0,
:y2 351.875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 335.8281555175781,
:y1 657.875,
:x2 741.085205078125,
:y2 677.875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 680.265625,
:x2 741.0316772460938,
:y2 700.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 702.671875,
:x2 741.1640625,
:y2 722.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 725.078125,
:x2 741.0303344726562,
:y2 745.078125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 747.484375,
:x2 153.41270446777344,
:y2 767.484375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 478},
:content {:text "For a write-through scheme, we have two sources of stalls: write misses, which usually require that we fetch the block before continuing the write (see the Elaboration on page 394 for more details on dealing with writes), and write buffer stalls, which occur when the write buffer is full when a write occurs."},
:properties {:color "yellow"}}
{:id #uuid "644e09e3-eb95-42e2-a1f9-f0cf60fecaa2",
:page 479,
:position {:bounding {:x1 300.53125,
:y1 671.46875,
:x2 583.33447265625,
:y2 696.46875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 300.53125,
:y1 671.46875,
:x2 583.33447265625,
:y2 696.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 479},
:content {:text "Calculating Cache Performance"},
:properties {:color "yellow"}}
{:id #uuid "644e0b77-e7b1-4e9c-ab3f-ce39337117e3",
:page 481,
:position {:bounding {:x1 581.234375,
:y1 326.671875,
:x2 886.5971069335938,
:y2 346.671875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 581.234375,
:y1 326.671875,
:x2 886.5971069335938,
:y2 346.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 481},
:content {:text "average memory access time (AMAT) "},
:properties {:color "yellow"}}
{:id #uuid "644e0c19-d858-42e5-bfdb-223ff5ebba0d",
:page 481,
:position {:bounding {:x1 0,
:y1 394.25,
:x2 828.27099609375,
:y2 1005.265625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 394.25,
:x2 0,
:y2 418.25,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 561.064697265625,
:y1 949.125,
:x2 828.27099609375,
:y2 979.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 975.265625,
:x2 368.169921875,
:y2 1005.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 481},
:content {:text "More Flexible Placement of Blocks"},
:properties {:color "yellow"}}
{:id #uuid "644e4d64-9421-4a8c-81da-fadceab42bb3",
:page 482,
:position {:bounding {:x1 0,
:y1 12.59375,
:x2 741.0325317382812,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 12.59375,
:x2 0,
:y2 36.59375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 450.13397216796875,
:y1 147.453125,
:x2 741.0325317382812,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 169.859375,
:x2 518.7457885742188,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 482},
:content {:text " block can be placed in any location in the cache. Such a scheme is called fully associative"},
:properties {:color "yellow"}}
{:id #uuid "644e4ddb-92f5-4356-9d47-5b85740a265f",
:page 482,
:position {:bounding {:x1 0,
:y1 78.96875,
:x2 740.9896240234375,
:y2 279.46875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 78.96875,
:x2 0,
:y2 102.96875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 548.1449584960938,
:y1 237.0625,
:x2 740.9896240234375,
:y2 257.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.78125,
:y1 259.46875,
:x2 486.60113525390625,
:y2 279.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 482},
:content {:text " is done in parallel with a comparator associated with each cache entry. "},
:properties {:color "yellow"}}
{:id #uuid "644e4e73-39fe-4103-bada-1a4e86531b6a",
:page 482,
:position {:bounding {:x1 0,
:y1 161.9375,
:x2 741.0661010742188,
:y2 391.453125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 161.9375,
:x2 0,
:y2 185.9375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 173.25,
:y1 349.078125,
:x2 741.0661010742188,
:y2 369.078125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 371.453125,
:x2 422.7994689941406,
:y2 391.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 482},
:content {:text "set associative. In a set-associative cache, there are a fixed number of locations where each block can be placed."},
:properties {:color "yellow"}}
{:id #uuid "644e5139-a913-4f1f-bbdd-2d577612cdea",
:page 482,
:position {:bounding {:x1 0,
:y1 195.125,
:x2 741.1727294921875,
:y2 481.0625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 195.125,
:x2 0,
:y2 219.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 211.71875,
:x2 0,
:y2 235.71875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 228.3125,
:x2 0,
:y2 252.3125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 500.36907958984375,
:y1 393.859375,
:x2 741.0692749023438,
:y2 413.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 416.265625,
:x2 741.0618896484375,
:y2 436.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 438.671875,
:x2 741.1727294921875,
:y2 458.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.8125,
:y1 461.0625,
:x2 397.96142578125,
:y2 481.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 482},
:content {:text " An n-way set-associative cache consists of a number of sets, each of which consists of n blocks. Each block in the memory maps to a unique set in the cache given by the index field, and a block can be placed in any element of that set."},
:properties {:color "yellow"}}
{:id #uuid "644e52a9-4e90-4437-8996-7853fc809075",
:page 483,
:position {:bounding {:x1 0,
:y1 45.78125,
:x2 907.2402954101562,
:y2 279.46875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 45.78125,
:x2 0,
:y2 69.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 237.0625,
:x2 907.2402954101562,
:y2 257.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 259.46875,
:x2 476.5473937988281,
:y2 279.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 483},
:content {:text "Since the block may be placed in any element of the set, all the tags of all the elements of the set must be searched. "},
:properties {:color "yellow"}}
{:id #uuid "644e5618-0945-4d89-a683-8cd52d59afcd",
:page 485,
:position {:bounding {:x1 0,
:y1 676.34375,
:x2 907.2940063476562,
:y2 1093.359375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 676.34375,
:x2 0,
:y2 700.34375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 692.9375,
:x2 0,
:y2 716.9375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 740.952392578125,
:y1 1028.546875,
:x2 907.2940063476562,
:y2 1048.546875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 1050.953125,
:x2 907.2346801757812,
:y2 1070.953125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 1073.359375,
:x2 679.9581298828125,
:y2 1093.359375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 485},
:content {:text ". Going from one-way to two-way associativity decreases the miss rate by about 15%, but there is little further improvement in going to higher associativity."},
:properties {:color "yellow"}}
{:id #uuid "644e56c6-038e-47e7-a076-0f1841c1aa14",
:page 488,
:position {:bounding {:x1 100.796875,
:y1 144.640625,
:x2 461.8929748535156,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 144.640625,
:x2 461.8929748535156,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 488},
:content {:text "Choosing Which Block to Replace"},
:properties {:color "yellow"}}
{:id #uuid "644e56e1-7ffd-40fe-beed-5235db719d5a",
:page 486,
:position {:bounding {:x1 211.421875,
:y1 438.890625,
:x2 458.118408203125,
:y2 458.890625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 211.421875,
:y1 438.890625,
:x2 458.118408203125,
:y2 458.890625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 486},
:content {:text "The three portions of an address"},
:properties {:color "yellow"}}
{:id #uuid "644e5979-bafa-4d26-90ba-9c98218d5f04",
:page 488,
:position {:bounding {:x1 278.2115478515625,
:y1 493.921875,
:x2 717.9171142578125,
:y2 513.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 278.2115478515625,
:y1 493.921875,
:x2 717.9171142578125,
:y2 513.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 488},
:content {:text "As associativity increases, implementing LRU gets harder;"},
:properties {:color "yellow"}}
{:id #uuid "644e598a-08a7-49f3-966b-e994a472e499",
:page 489,
:position {:bounding {:x1 266.921875,
:y1 144.640625,
:x2 819.427734375,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 144.640625,
:x2 819.427734375,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 489},
:content {:text "Reducing the Miss Penalty Using Multilevel Caches"},
:properties {:color "yellow"}}
{:id #uuid "644e59e3-12be-418f-bd07-bb228ec2a8ac",
:page 489,
:position {:bounding {:x1 632.5867919921875,
:y1 359.53125,
:x2 692.3053588867188,
:y2 379.53125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 632.5867919921875,
:y1 359.53125,
:x2 692.3053588867188,
:y2 379.53125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 489},
:content {:text "incurred"},
:properties {:color "green"}}
{:id #uuid "644e5adc-7d6c-4136-8fa7-7849417949da",
:page 492,
:position {:bounding {:x1 100.796875,
:y1 429.125,
:x2 480.2625427246094,
:y2 459.125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 429.125,
:x2 480.2625427246094,
:y2 459.125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 492},
:content {:text "Software Optimization via Blocking"},
:properties {:color "yellow"}}
{:id #uuid "644e5aff-0474-4748-afcb-ae57e4dd7292",
:page 490,
:position {:bounding {:x1 0,
:y1 195.125,
:x2 741.0721435546875,
:y2 651,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 195.125,
:x2 0,
:y2 219.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 123.203125,
:y1 608.59375,
:x2 741.0721435546875,
:y2 628.59375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 631,
:x2 164.02743530273438,
:y2 651,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 490},
:content {:text "The design considerations for a primary and secondary cache are significantly differen"},
:properties {:color "yellow"}}
{:id #uuid "644e5faf-a110-4d73-bb7f-74376764029b",
:page 495,
:position {:bounding {:x1 744.015625,
:y1 782.53125,
:x2 868.2014770507812,
:y2 804.53125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 744.015625,
:y1 782.53125,
:x2 868.2014770507812,
:y2 804.53125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 495},
:content {:text "global miss rate"},
:properties {:color "yellow"}}
{:id #uuid "644e610b-15ef-47cd-8701-7bf7be87f16c",
:page 533,
:position {:bounding {:x1 0,
:y1 161.9375,
:x2 813.3172607421875,
:y2 604.875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 161.9375,
:x2 0,
:y2 185.9375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 380.796875,
:y1 536.265625,
:x2 813.3172607421875,
:y2 571.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 380.796875,
:y1 569.875,
:x2 499.8416442871094,
:y2 604.875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 533},
:content {:text "A Common Framework for Memory Hierarchy"},
:properties {:color "yellow"}}
{:id #uuid "644f4178-a1ca-40e3-b488-3ce044954e46",
:page 506,
:position {:bounding {:x1 190.59375,
:y1 913.25,
:x2 364.2764587402344,
:y2 944.25,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 190.59375,
:y1 913.25,
:x2 364.2764587402344,
:y2 944.25,
:width 895,
:height 1103.8335266977099}),
:page 506},
:content {:text "Virtual Memory"},
:properties {:color "yellow"}}
{:id #uuid "644f418c-dea9-442d-9f38-a60aef123e15",
:page 540,
:position {:bounding {:x1 0,
:y1 195.125,
:x2 650.6184692382812,
:y2 742.0625,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 195.125,
:x2 0,
:y2 219.125,
:width 895,
:height 1103.8335266977099}
{:x1 190.59375,
:y1 681.21875,
:x2 650.6184692382812,
:y2 712.21875,
:width 895,
:height 1103.8335266977099}
{:x1 190.59375,
:y1 711.0625,
:x2 342.8138427734375,
:y2 742.0625,
:width 895,
:height 1103.8335266977099}),
:page 540},
:content {:text "Using a Finite-State Machine to Control a Simple Cache"},
:properties {:color "yellow"}}
{:id #uuid "644f41a2-4c7b-4b27-b75e-ea06924fa51e",
:page 545,
:position {:bounding {:x1 0,
:y1 178.53125,
:x2 727.0083618164062,
:y2 443.71875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 178.53125,
:x2 0,
:y2 202.53125,
:width 895,
:height 1103.8335266977099}
{:x1 338.109375,
:y1 382.890625,
:x2 727.0083618164062,
:y2 413.890625,
:width 895,
:height 1103.8335266977099}
{:x1 338.109375,
:y1 386.890625,
:x2 727.0083618164062,
:y2 410.09375,
:width 895,
:height 1103.8335266977099}
{:x1 310.714111328125,
:y1 388.84375,
:x2 310.71783447265625,
:y2 428.84375,
:width 895,
:height 1103.8335266977099}
{:x1 338.109375,
:y1 412.71875,
:x2 533.0243530273438,
:y2 443.71875,
:width 895,
:height 1103.8335266977099}),
:page 545},
:content {:text "Parallelism and Memory Hierarchy: Cache Coherence"},
:properties {:color "yellow"}}
{:id #uuid "644f41d0-39d8-476b-8d62-08e2bf5979ef",
:page 550,
:position {:bounding {:x1 0,
:y1 -4,
:x2 776.084716796875,
:y2 207.546875,
:width 895.0008784267393,
:height 1103.8344051244492},
:rects ({:x1 0,
:y1 -4,
:x2 0,
:y2 20,
:width 895.0008784267393,
:height 1103.8344051244492}
{:x1 338.09375,
:y1 146.71875,
:x2 770.6126708984375,
:y2 177.71875,
:width 895.0008784267393,
:height 1103.8344051244492}
{:x1 338.109375,
:y1 176.546875,
:x2 776.084716796875,
:y2 207.546875,
:width 895.0008784267393,
:height 1103.8344051244492}),
:page 550},
:content {:text "Parallelism and the Memory Hierarchy: Redundant Arrays of Inexpensive Disks"},
:properties {:color "yellow"}}
{:id #uuid "644f4473-da2b-4f3c-8d32-89b90b80f0b2",
:page 497,
:position {:bounding {:x1 550.5711059570312,
:y1 532.90625,
:x2 769.3416137695312,
:y2 549.90625,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 550.5711059570312,
:y1 532.90625,
:x2 769.3416137695312,
:y2 549.90625,
:width 895,
:height 1103.8335266977099}),
:page 497},
:content {:text "wo states of delivered service"},
:properties {:color "yellow"}}
{:id #uuid "644f4518-efff-41a8-8445-5b9e2434e9cd",
:page 497,
:position {:bounding {:x1 0,
:y1 327.875,
:x2 805.4036254882812,
:y2 699.46875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 327.875,
:x2 0,
:y2 351.875,
:width 895,
:height 1103.8335266977099}
{:x1 237,
:y1 662.171875,
:x2 805.4036254882812,
:y2 679.578125,
:width 895,
:height 1103.8335266977099}
{:x1 237,
:y1 682.0625,
:x2 475.21478271484375,
:y2 699.46875,
:width 895,
:height 1103.8335266977099}),
:page 497},
:content {:text "Transitions from state 1 to state 2 are caused by failures, and transitions from state2 to state 1 are called restorations."},
:properties {:color "yellow"}}
{:id #uuid "644f4535-12cc-4669-bdbe-4d72b5066fae",
:page 497,
:position {:bounding {:x1 475.21478271484375,
:y1 682.0625,
:x2 777.3880004882812,
:y2 699.0625,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 475.21478271484375,
:y1 682.0625,
:x2 777.3880004882812,
:y2 699.0625,
:width 895,
:height 1103.8335266977099}),
:page 497},
:content {:text " Failures can be permanent or intermittent."},
:properties {:color "yellow"}}
{:id #uuid "644f456f-e4bb-44be-8352-ad557cd80060",
:page 497,
:position {:bounding {:x1 256.875,
:y1 761.625,
:x2 691.90673828125,
:y2 779.03125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 256.875,
:y1 761.625,
:x2 691.90673828125,
:y2 779.03125,
:width 895,
:height 1103.8335266977099}),
:page 497},
:content {:text "Reliability is a measure of the continuous service accomplishment—"},
:properties {:color "yellow"}}
{:id #uuid "644f4583-1a89-4136-b6e8-ae34cd452815",
:page 497,
:position {:bounding {:x1 603.03125,
:y1 781.515625,
:x2 805.4700927734375,
:y2 798.921875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 603.03125,
:y1 781.515625,
:x2 805.4700927734375,
:y2 798.921875,
:width 895,
:height 1103.8335266977099}),
:page 497},
:content {:text " mean time to failure (MTTF)"},
:properties {:color "yellow"}}
{:id #uuid "644f458b-0d1e-4799-be33-b9251e95d4fe",
:page 497,
:position {:bounding {:x1 515.15625,
:y1 801.40625,
:x2 683.6367797851562,
:y2 818.8125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 515.15625,
:y1 801.40625,
:x2 683.6367797851562,
:y2 818.8125,
:width 895,
:height 1103.8335266977099}),
:page 497},
:content {:text "annual failure rate (AFR),"},
:properties {:color "yellow"}}
{:id #uuid "644f45a7-aaf5-4489-bce0-cb66c22f42cf",
:page 498,
:position {:bounding {:x1 89.5,
:y1 210.625,
:x2 573.3622436523438,
:y2 228.03125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 89.5,
:y1 210.625,
:x2 573.3622436523438,
:y2 228.03125,
:width 895,
:height 1103.8335266977099}),
:page 498},
:content {:text "Service interruption is measured as mean time to repair (MTTR)."},
:properties {:color "yellow"}}
{:id #uuid "644f4623-bf70-495e-93f7-358fc369d438",
:page 498,
:position {:bounding {:x1 0,
:y1 62.375,
:x2 657.9952392578125,
:y2 247.921875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 62.375,
:x2 0,
:y2 86.375,
:width 895,
:height 1103.8335266977099}
{:x1 580.984375,
:y1 210.625,
:x2 657.9952392578125,
:y2 227.625,
:width 895,
:height 1103.8335266977099}
{:x1 89.5,
:y1 230.515625,
:x2 532.0099487304688,
:y2 247.921875,
:width 895,
:height 1103.8335266977099}),
:page 498},
:content {:text "Mean time between failures (MTBF) is simply the sum of MTTF + MTTR"},
:properties {:color "yellow"}}
{:id #uuid "644f46aa-3ee6-4b4c-95c5-74c326fd758e",
:page 498,
:position {:bounding {:x1 0,
:y1 95.5625,
:x2 658.2128295898438,
:y2 307.1875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 95.5625,
:x2 0,
:y2 119.5625,
:width 895,
:height 1103.8335266977099}
{:x1 0,
:y1 112.15625,
:x2 0,
:y2 136.15625,
:width 895,
:height 1103.8335266977099}
{:x1 518.4440307617188,
:y1 250.40625,
:x2 658.0137939453125,
:y2 267.8125,
:width 895,
:height 1103.8335266977099}
{:x1 89.515625,
:y1 270.296875,
:x2 658.2128295898438,
:y2 287.703125,
:width 895,
:height 1103.8335266977099}
{:x1 89.515625,
:y1 290.1875,
:x2 386.98046875,
:y2 307.1875,
:width 895,
:height 1103.8335266977099}),
:page 498},
:content {:text "vailability is then a measure of service accomplishment with respect to the alternation between the two states of accomplishment and interruption. Av"},
:properties {:color "yellow"}}
{:id #uuid "644f4720-89b2-4fd5-813f-1a9f18579745",
:page 498,
:position {:bounding {:x1 499.9492492675781,
:y1 776.53125,
:x2 629.5648193359375,
:y2 793.53125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 499.9492492675781,
:y1 776.53125,
:x2 629.5648193359375,
:y2 793.53125,
:width 895,
:height 1103.8335266977099}),
:page 498},
:content {:text "ys to improve MTTF"},
:properties {:color "yellow"}}
{:id #uuid "644f47cb-b392-4558-a654-ce01bcf35209",
:page 499,
:position {:bounding {:x1 0,
:y1 78.96875,
:x2 805.533447265625,
:y2 280.75,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 78.96875,
:x2 0,
:y2 102.96875,
:width 895,
:height 1103.8335266977099}
{:x1 0,
:y1 95.5625,
:x2 0,
:y2 119.5625,
:width 895,
:height 1103.8335266977099}
{:x1 737.203125,
:y1 223.96875,
:x2 805.533447265625,
:y2 240.96875,
:width 895,
:height 1103.8335266977099}
{:x1 237,
:y1 243.859375,
:x2 805.4169311523438,
:y2 261.265625,
:width 895,
:height 1103.8335266977099}
{:x1 237,
:y1 263.75,
:x2 363.4007568359375,
:y2 280.75,
:width 895,
:height 1103.8335266977099}),
:page 499},
:content {:text "Hamming distance is just the minimum number of bits that are different between any two correct bit patter"},
:properties {:color "yellow"}}
{:id #uuid "644f48cc-4cf6-4eb8-96e5-93812335f425",
:page 499,
:position {:bounding {:x1 0,
:y1 195.125,
:x2 805.4410400390625,
:y2 400.078125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 195.125,
:x2 0,
:y2 219.125,
:width 895,
:height 1103.8335266977099}
{:x1 603.3729248046875,
:y1 363.1875,
:x2 805.4410400390625,
:y2 380.1875,
:width 895,
:height 1103.8335266977099}
{:x1 237,
:y1 383.078125,
:x2 417.2783508300781,
:y2 400.078125,
:width 895,
:height 1103.8335266977099}),
:page 499},
:content {:text " In a parity code, the number of 1s in a word is counted"},
:properties {:color "yellow"}}
{:id #uuid "644f497d-9fb1-4ec1-b8a0-845652868073",
:page 499,
:position {:bounding {:x1 0,
:y1 510.40625,
:x2 805.6414794921875,
:y2 887.359375,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 510.40625,
:x2 0,
:y2 534.40625,
:width 895,
:height 1103.8335266977099}
{:x1 0,
:y1 527,
:x2 0,
:y2 551,
:width 895,
:height 1103.8335266977099}
{:x1 600.6638793945312,
:y1 830.578125,
:x2 805.6292724609375,
:y2 847.578125,
:width 895,
:height 1103.8335266977099}
{:x1 237.015625,
:y1 850.46875,
:x2 805.6414794921875,
:y2 867.875,
:width 895,
:height 1103.8335266977099}
{:x1 237.015625,
:y1 870.359375,
:x2 554.1123657226562,
:y2 887.359375,
:width 895,
:height 1103.8335266977099}),
:page 499},
:content {:text "Actually, a 1-bit parity scheme can detect any odd number of errors; however, the probability of having 3 errors is much lower than the probability of having two, s"},
:properties {:color "yellow"}}
{:id #uuid "644f49ab-9ec8-46f0-9dcb-86eb1da64df2",
:page 499,
:position {:bounding {:x1 353.921875,
:y1 989.703125,
:x2 621.8609619140625,
:y2 1006.703125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 353.921875,
:y1 989.703125,
:x2 621.8609619140625,
:y2 1006.703125,
:width 895,
:height 1103.8335266977099}),
:page 499},
:content {:text "Hamming Error Correction Code (ECC) "},
:properties {:color "yellow"}}
{:id #uuid "644f4c11-76c4-4c50-8278-f5a18415cad6",
:page 501,
:position {:bounding {:x1 681.3995361328125,
:y1 609.953125,
:x2 714.12548828125,
:y2 626.953125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 681.3995361328125,
:y1 609.953125,
:x2 714.12548828125,
:y2 626.953125,
:width 895,
:height 1103.8335266977099}),
:page 501},
:content {:text "Voila"},
:properties {:color "green"}}
{:id #uuid "644f4df8-30ce-44fd-bc9f-973ccbb7fd6f",
:page 500,
:position {:bounding {:x1 89.484375,
:y1 810.328125,
:x2 167.55105590820312,
:y2 827.328125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 89.484375,
:y1 810.328125,
:x2 167.55105590820312,
:y2 827.328125,
:width 895,
:height 1103.8335266977099}),
:page 500},
:content {:text "FIGURE 5.24"},
:properties {:color "yellow"}}
{:id #uuid "644f4e40-7352-4c4a-9a9c-5bdfb79ada0a",
:page 501,
:position {:bounding {:x1 292.1812438964844,
:y1 689.515625,
:x2 654.66845703125,
:y2 706.515625,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 292.1812438964844,
:y1 689.515625,
:x2 654.66845703125,
:y2 706.515625,
:width 895,
:height 1103.8335266977099}),
:page 501},
:content {:text "orrect single bit errors and detect double bit errors"},
:properties {:color "yellow"}}
{:id #uuid "644f511d-3a0f-4204-acd0-40eca3d58610",
:page 503,
:position {:bounding {:x1 438.3125,
:y1 569.890625,
:x2 609.9945678710938,
:y2 586.890625,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 438.3125,
:y1 569.890625,
:x2 609.9945678710938,
:y2 586.890625,
:width 895,
:height 1103.8335266977099}),
:page 503},
:content {:text "System Virtual Machines"},
:properties {:color "yellow"}}
{:id #uuid "644f5195-6bdf-4db1-9e4a-5b4dbc959df6",
:page 503,
:position {:bounding {:x1 0,
:y1 394.25,
:x2 805.4554443359375,
:y2 746.03125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 394.25,
:x2 0,
:y2 418.25,
:width 895,
:height 1103.8335266977099}
{:x1 558.453125,
:y1 709.140625,
:x2 805.4554443359375,
:y2 726.546875,
:width 895,
:height 1103.8335266977099}
{:x1 236.953125,
:y1 729.03125,
:x2 312.9337158203125,
:y2 746.03125,
:width 895,
:height 1103.8335266977099}),
:page 503},
:content {:text "virtual machine monitor (VMM) or hypervisor;"},
:properties {:color "yellow"}}
{:id #uuid "644f51a9-f75b-4d73-91dd-89fbaa91ffe9",
:page 503,
:position {:bounding {:x1 0,
:y1 410.84375,
:x2 805.5147705078125,
:y2 785.8125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 410.84375,
:x2 0,
:y2 434.84375,
:width 895,
:height 1103.8335266977099}
{:x1 0,
:y1 427.4375,
:x2 0,
:y2 451.4375,
:width 895,
:height 1103.8335266977099}
{:x1 702.1157836914062,
:y1 729.03125,
:x2 805.5147705078125,
:y2 746.03125,
:width 895,
:height 1103.8335266977099}
{:x1 236.953125,
:y1 748.921875,
:x2 805.4592895507812,
:y2 766.328125,
:width 895,
:height 1103.8335266977099}
{:x1 236.953125,
:y1 768.8125,
:x2 273.8589172363281,
:y2 785.8125,
:width 895,
:height 1103.8335266977099}),
:page 503},
:content {:text "The underlying hardware platform is called the host, and its resources are shared among the guest VMs. "},
:properties {:color "yellow"}}
{:id #uuid "644f5241-37dc-4efa-acc9-9ae8739b7e19",
:page 504,
:position {:bounding {:x1 175.8031768798828,
:y1 818,
:x2 614.6698150634766,
:y2 835,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 175.8031768798828,
:y1 818,
:x2 614.6698150634766,
:y2 835,
:width 895,
:height 1103.8335266977099}),
:page 504},
:content {:text "the cost of processor virtualization depends on the workload."},
:properties {:color "yellow"}}
{:id #uuid "644f5287-cac6-46c8-ad60-8cee1ca0c57c",
:page 504,
:position {:bounding {:x1 0,
:y1 444.03125,
:x2 657.8370361328125,
:y2 854.890625,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 444.03125,
:x2 0,
:y2 468.03125,
:width 895,
:height 1103.8335266977099}
{:x1 621.8643798828125,
:y1 818,
:x2 657.8370361328125,
:y2 835,
:width 895,
:height 1103.8335266977099}
{:x1 89.46875,
:y1 837.890625,
:x2 561.8729858398438,
:y2 854.890625,
:width 895,
:height 1103.8335266977099}),
:page 504},
:content {:text "Userlevel processor-bound programs have zero virtualization overhead"},
:properties {:color "yellow"}}
{:id #uuid "644f52a8-98fb-466b-92cf-7c0f942382b2",
:page 504,
:position {:bounding {:x1 0,
:y1 477.21875,
:x2 657.763916015625,
:y2 914.5625,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 477.21875,
:x2 0,
:y2 501.21875,
:width 895,
:height 1103.8335266977099}
{:x1 0,
:y1 493.8125,
:x2 0,
:y2 517.8125,
:width 895,
:height 1103.8335266977099}
{:x1 484.4814453125,
:y1 857.78125,
:x2 657.7326049804688,
:y2 874.78125,
:width 895,
:height 1103.8335266977099}
{:x1 89.46875,
:y1 877.671875,
:x2 657.763916015625,
:y2 895.078125,
:width 895,
:height 1103.8335266977099}
{:x1 89.46875,
:y1 897.5625,
:x2 500.3424377441406,
:y2 914.5625,
:width 895,
:height 1103.8335266977099}),
:page 504},
:content {:text ". I/O-intensive workloads are generally also OS-intensive, executing many system calls and privileged instructions that can result in high virtualization overhead"},
:properties {:color "yellow"}}
{:id #uuid "644f52db-8deb-4e8b-8a11-e59b2bbfbe26",
:page 505,
:position {:bounding {:x1 237,
:y1 191.625,
:x2 651.793212890625,
:y2 217.625,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 237,
:y1 191.625,
:x2 651.793212890625,
:y2 217.625,
:width 895,
:height 1103.8335266977099}),
:page 505},
:content {:text "Requirements of a Virtual Machine Monitor"},
:properties {:color "yellow"}}
{:id #uuid "644f533e-a31c-4916-bb47-2c97eae78310",
:page 505,
:position {:bounding {:x1 0,
:y1 112.15625,
:x2 805.3128051757812,
:y2 331.125,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 112.15625,
:x2 0,
:y2 136.15625,
:width 895,
:height 1103.8335266977099}
{:x1 276.78125,
:y1 294.234375,
:x2 805.3128051757812,
:y2 311.234375,
:width 895,
:height 1103.8335266977099}
{:x1 276.78125,
:y1 314.125,
:x2 391.06964111328125,
:y2 331.125,
:width 895,
:height 1103.8335266977099}),
:page 505},
:content {:text "Guest software should behave on a VM exactly as if it were running on the native hardware,"},
:properties {:color "yellow"}}
{:id #uuid "644f5340-0e7e-4ea2-b337-2779d4092da5",
:page 505,
:position {:bounding {:x1 0,
:y1 161.9375,
:x2 805.3598022460938,
:y2 400.734375,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 161.9375,
:x2 0,
:y2 185.9375,
:width 895,
:height 1103.8335266977099}
{:x1 276.78125,
:y1 363.84375,
:x2 805.3598022460938,
:y2 380.84375,
:width 895,
:height 1103.8335266977099}
{:x1 276.78125,
:y1 383.734375,
:x2 332.2265625,
:y2 400.734375,
:width 895,
:height 1103.8335266977099}),
:page 505},
:content {:text "Guest software should not be able to change allocation of real system resources directly."},
:properties {:color "yellow"}}
{:id #uuid "644f5381-dd30-4674-b37e-ce080e71a4a2",
:page 505,
:position {:bounding {:x1 237.015625,
:y1 977.109375,
:x2 302.90594482421875,
:y2 994.109375,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 237.015625,
:y1 977.109375,
:x2 302.90594482421875,
:y2 994.109375,
:width 895,
:height 1103.8335266977099}),
:page 505},
:content {:text "culprits "},
:properties {:color "green"}}
{:id #uuid "644f5401-cfe8-439b-af2e-d91bc6dae442",
:page 505,
:position {:bounding {:x1 276.78125,
:y1 662.1875,
:x2 601.4721069335938,
:y2 679.1875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 276.78125,
:y1 662.1875,
:x2 601.4721069335938,
:y2 679.1875,
:width 895,
:height 1103.8335266977099}),
:page 505},
:content {:text "At least two processor modes, system and user."},
:properties {:color "yellow"}}
{:id #uuid "644f5403-7aab-4e4e-ae71-87aa2d22bbbd",
:page 505,
:position {:bounding {:x1 0,
:y1 410.84375,
:x2 805.4798583984375,
:y2 748.796875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 0,
:y1 410.84375,
:x2 0,
:y2 434.84375,
:width 895,
:height 1103.8335266977099}
{:x1 0,
:y1 427.4375,
:x2 0,
:y2 451.4375,
:width 895,
:height 1103.8335266977099}
{:x1 276.78125,
:y1 692.015625,
:x2 805.432861328125,
:y2 709.015625,
:width 895,
:height 1103.8335266977099}
{:x1 276.78125,
:y1 711.90625,
:x2 805.4798583984375,
:y2 729.3125,
:width 895,
:height 1103.8335266977099}
{:x1 276.78125,
:y1 731.796875,
:x2 549.4064331054688,
:y2 748.796875,
:width 895,
:height 1103.8335266977099}),
:page 505},
:content {:text "A privileged subset of instructions that is available only in system mode, resulting in a trap if executed in user mode; all system resources must be controllable only via these instructions."},
:properties {:color "yellow"}}
{:id #uuid "644f5b71-6ca0-47f3-8a20-9cc15c1fa0e0",
:page 515,
:position {:bounding {:x1 491.40692138671875,
:y1 593.421875,
:x2 535.9385375976562,
:y2 613.421875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 491.40692138671875,
:y1 593.421875,
:x2 535.9385375976562,
:y2 613.421875,
:width 895,
:height 1103.8335266977099}),
:page 515},
:content {:text "duality"},
:properties {:color "green"}}
{:id #uuid "644f5d06-3450-4d12-96e5-374712790d9e",
:page 517,
:position {:bounding {:x1 237,
:y1 127.96875,
:x2 629.7202758789062,
:y2 153.96875,
:width 895,
:height 1103.8335266977099},
:rects ({:x1 237,
:y1 127.96875,
:x2 629.7202758789062,
:y2 153.96875,
:width 895,
:height 1103.8335266977099}),
:page 517},
:content {:text "Making Address Translation Fast: the TLB"},
:properties {:color "yellow"}}
{:id #uuid "644f5d6e-0c4e-48ad-9284-7b6247cc3d15",
:page 517,
:position {:bounding {:x1 0,
:y1 244.90625,
:x2 907.3583374023438,
:y2 513.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 244.90625,
:x2 0,
:y2 268.90625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 469.1830139160156,
:y1 471.515625,
:x2 907.15673828125,
:y2 491.515625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 493.921875,
:x2 907.3583374023438,
:y2 513.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 517},
:content {:text "each tag entry in the TLB holds a portion of the virtual page number, and each data entry of the TLB holds a physical page number."},
:properties {:color "yellow"}}
{:id #uuid "644f5d87-be05-4020-a8e8-d23c4a0fcfa4",
:page 518,
:position {:bounding {:x1 0,
:y1 12.59375,
:x2 740.8578491210938,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 12.59375,
:x2 0,
:y2 36.59375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 147.453125,
:x2 740.8578491210938,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 169.859375,
:x2 695.7022705078125,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 518},
:content {:text "Because we access the TLB instead of the page table on every reference, the TLB will need to include other status bits, such as the dirty and the reference bits."},
:properties {:color "yellow"}}
{:id #uuid "644f5f4f-8fce-4a04-9ccc-eb988f0e3ed3",
:page 518,
:position {:bounding {:x1 0,
:y1 659.75,
:x2 740.7456359863281,
:y2 1130.671875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 659.75,
:x2 0,
:y2 683.75,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 192.20095825195312,
:y1 1088.265625,
:x2 740.7456359863281,
:y2 1108.265625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.78125,
:y1 1110.671875,
:x2 182.6654510498047,
:y2 1130.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 518},
:content {:text ", many systems provide some support for randomly choosing an entry to replace."},
:properties {:color "yellow"}}
{:id #uuid "644f6050-cd77-4d32-afdb-3bf8a90302b7",
:page 519,
:position {:bounding {:x1 266.921875,
:y1 825.28125,
:x2 757.0388793945312,
:y2 855.28125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 825.28125,
:x2 757.0388793945312,
:y2 855.28125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 519},
:content {:text "Integrating Virtual Memory, TLBs, and Caches"},
:properties {:color "yellow"}}
{:id #uuid "644f60d4-72c9-41e9-b976-d1ed1c07d830",
:page 521,
:position {:bounding {:x1 67.1875,
:y1 893.96875,
:x2 747.1136474609375,
:y2 913.96875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 67.1875,
:y1 893.96875,
:x2 158.2177276611328,
:y2 913.96875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 175.359375,
:y1 893.96875,
:x2 747.1136474609375,
:y2 913.96875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 155.765625,
:y1 896.96875,
:x2 158.2177276611328,
:y2 911.90625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 175.359375,
:y1 896.96875,
:x2 747.1136474609375,
:y2 911.90625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 521},
:content {:text "FIGURE 5.31 Processing a read or a write-through in the Intrinsity FastMATH TLB and cache."},
:properties {:color "yellow"}}
{:id #uuid "644f60f0-680e-4aa0-a0de-165342178045",
:page 519,
:position {:bounding {:x1 266.921875,
:y1 145.0625,
:x2 514.7265014648438,
:y2 170.0625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 145.0625,
:x2 514.7265014648438,
:y2 170.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 519},
:content {:text "The Intrinsity FastMATH TLB"},
:properties {:color "yellow"}}
{:id #uuid "644f61e2-eb58-44d5-8b89-b55c3708f25a",
:page 519,
:position {:bounding {:x1 0,
:y1 195.125,
:x2 907.2587890625,
:y2 462.84375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 195.125,
:x2 0,
:y2 219.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 211.71875,
:x2 0,
:y2 235.71875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 624.4932861328125,
:y1 398.03125,
:x2 907.2587890625,
:y2 418.03125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 420.4375,
:x2 906.9342651367188,
:y2 440.4375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 442.84375,
:x2 378.9739074707031,
:y2 462.84375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 519},
:content {:text ". When a TLB miss occurs, the MIPS hardware saves the page number of the reference in a special register and generates an exception. "},
:properties {:color "yellow"}}
{:id #uuid "644f6250-82e1-4286-b25a-e4f4eb0eb622",
:page 519,
:position {:bounding {:x1 0,
:y1 294.6875,
:x2 907.3255615234375,
:y2 574.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 294.6875,
:x2 0,
:y2 318.6875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 532.453125,
:x2 907.3255615234375,
:y2 552.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 554.859375,
:x2 809.8880004882812,
:y2 574.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 519},
:content {:text "Using a special set of system instructions that can update the TLB, the operating system places the physical address from the page table into the TLB"},
:properties {:color "yellow"}}
{:id #uuid "644f62a6-7b6d-4434-bc3d-233892af468f",
:page 519,
:position {:bounding {:x1 0,
:y1 361.0625,
:x2 907.4433288574219,
:y2 664.46875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 361.0625,
:x2 0,
:y2 385.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 373.6523132324219,
:y1 622.0625,
:x2 907.4433288574219,
:y2 642.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 644.46875,
:x2 394.92498779296875,
:y2 664.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 519},
:content {:text "A true page fault occurs if the page table entry does not have a valid physical address"},
:properties {:color "yellow"}}
{:id #uuid "644f62bd-6a29-40bc-a634-15fed6bc1ec9",
:page 519,
:position {:bounding {:x1 0,
:y1 377.65625,
:x2 906.948974609375,
:y2 686.875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 377.65625,
:x2 0,
:y2 401.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 402.91021728515625,
:y1 644.46875,
:x2 906.948974609375,
:y2 664.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.90625,
:y1 666.875,
:x2 747.1682739257812,
:y2 686.875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 519},
:content {:text " The hardware maintains an index that indicates the recommended entry to replace; the recommended entry is chosen randomly."},
:properties {:color "yellow"}}
{:id #uuid "644f6370-8fd9-4a5e-92e3-09b74f6baa04",
:page 522,
:position {:bounding {:x1 0,
:y1 145.34375,
:x2 741.0742797851562,
:y2 539.15625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 145.34375,
:x2 0,
:y2 169.34375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 424.4248352050781,
:y1 496.625,
:x2 741.0742797851562,
:y2 518.625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 517.15625,
:x2 477.369384765625,
:y2 539.15625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 522},
:content {:text "all memory addresses are translated to physical addresses before the cache is accessed"},
:properties {:color "yellow"}}
{:id #uuid "644f6397-14d2-491c-9cef-bbfd6e5cca8f",
:page 522,
:position {:bounding {:x1 370.203125,
:y1 642.1875,
:x2 567.4990844726562,
:y2 664.1875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 370.203125,
:y1 642.1875,
:x2 567.4990844726562,
:y2 664.1875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 522},
:content {:text "virtually addressed cache"},
:properties {:color "yellow"}}
{:id #uuid "644f6434-eb87-405e-9190-4f67466af467",
:page 523,
:position {:bounding {:x1 0,
:y1 45.78125,
:x2 907.22119140625,
:y2 229.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 45.78125,
:x2 0,
:y2 69.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 367.328125,
:y1 187.328125,
:x2 907.22119140625,
:y2 209.328125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 425.453125,
:y1 190.328125,
:x2 907.22119140625,
:y2 207.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 207.859375,
:x2 597.1638793945312,
:y2 229.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 523},
:content {:text "aliasing. Aliasing occurs when the same object has two names—in this case, two virtual addresses for the same page."},
:properties {:color "yellow"}}
{:id #uuid "644f6491-3e52-4db7-a824-5988e124ee1c",
:page 523,
:position {:bounding {:x1 0,
:y1 178.53125,
:x2 907.1993408203125,
:y2 394.109375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 178.53125,
:x2 0,
:y2 202.53125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 304.64227294921875,
:y1 351.578125,
:x2 907.1993408203125,
:y2 373.578125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 372.109375,
:x2 326.41583251953125,
:y2 394.109375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 523},
:content {:text "common compromise between these two design points is caches that are virtually indexed"},
:properties {:color "yellow"}}
{:id #uuid "644f65b8-c079-42ce-a6b6-e1c56dbf45e9",
:page 525,
:position {:bounding {:x1 266.921875,
:y1 625.546875,
:x2 665.9844360351562,
:y2 655.546875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 625.546875,
:x2 665.9844360351562,
:y2 655.546875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 525},
:content {:text "Handling TLB Misses and Page Faults"},
:properties {:color "yellow"}}
{:id #uuid "644f65cf-03a5-4132-b091-e08b9ce9002a",
:page 523,
:position {:bounding {:x1 266.921875,
:y1 560.796875,
:x2 761.182861328125,
:y2 590.796875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 560.796875,
:x2 761.182861328125,
:y2 590.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 523},
:content {:text "Implementing Protection with Virtual Memory"},
:properties {:color "yellow"}}
{:id #uuid "644f65f9-38a8-4ead-90f5-494c0b2e3191",
:page 523,
:position {:bounding {:x1 0,
:y1 593.375,
:x2 907.5158081054688,
:y2 1075.65625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 593.375,
:x2 0,
:y2 617.375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 317.296875,
:y1 1033.25,
:x2 907.5158081054688,
:y2 1053.25,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 317.328125,
:y1 1055.65625,
:x2 365.8406066894531,
:y2 1075.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 523},
:content {:text "Provide a portion of the processor state that a user process can read but not write."},
:properties {:color "yellow"}}
{:id #uuid "644f660f-7534-4124-9b7e-32cd2ce2c77a",
:page 524,
:position {:bounding {:x1 0,
:y1 45.78125,
:x2 741.2855224609375,
:y2 245.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 45.78125,
:x2 0,
:y2 69.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 151.15625,
:y1 203.453125,
:x2 741.2855224609375,
:y2 223.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 151.1875,
:y1 225.859375,
:x2 400.7629089355469,
:y2 245.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 524},
:content {:text "Provide mechanisms whereby the processor can go from user mode to supervisor mode and vice versa. T"},
:properties {:color "yellow"}}
{:id #uuid "644f67c6-de09-4546-b3a6-cbb286cca5bb",
:page 525,
:position {:bounding {:x1 491.1572570800781,
:y1 728.421875,
:x2 864.9146728515625,
:y2 748.421875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 491.1572570800781,
:y1 728.421875,
:x2 864.9146728515625,
:y2 748.421875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 525},
:content {:text " a TLB miss can indicate one of two possibilities:"},
:properties {:color "yellow"}}
{:id #uuid "644f6897-2635-4cb9-ae6b-2515dc05694b",
:page 525,
:position {:bounding {:x1 0,
:y1 527,
:x2 907.3702392578125,
:y2 938.8125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 527,
:x2 0,
:y2 551,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 543.59375,
:x2 0,
:y2 567.59375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 289.328125,
:y1 874,
:x2 907.208251953125,
:y2 894,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 896.40625,
:x2 907.3702392578125,
:y2 916.40625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 918.8125,
:x2 575.9363403320312,
:y2 938.8125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 525},
:content {:text "MIPS traditionally handles a TLB miss in software. It brings in the page table entry from memory and then re-executes the instruction that caused the TLB miss. Upon re-executing, it will get a TLB hit. "},
:properties {:color "yellow"}}
{:id #uuid "644f68df-1f9b-4430-a2ea-09ee1ca7361f",
:page 526,
:position {:bounding {:x1 0,
:y1 145.34375,
:x2 741.370361328125,
:y2 369.078125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 145.34375,
:x2 0,
:y2 169.34375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 499.1952209472656,
:y1 326.671875,
:x2 741.370361328125,
:y2 346.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 349.078125,
:x2 581.2405395507812,
:y2 369.078125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 526},
:content {:text " We must prevent the write into memory from actually completing when there is a page fault; "},
:properties {:color "yellow"}}
{:id #uuid "644f6974-151b-46fa-afe2-ceed4ec48722",
:page 527,
:position {:bounding {:x1 0,
:y1 377.65625,
:x2 907.0743408203125,
:y2 1067.203125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 377.65625,
:x2 0,
:y2 401.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 394.25,
:x2 0,
:y2 418.25,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 553.9938354492188,
:y1 1002.40625,
:x2 906.9071044921875,
:y2 1022.40625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 1024.796875,
:x2 907.0743408203125,
:y2 1044.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 1047.203125,
:x2 448.5799255371094,
:y2 1067.203125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 527},
:content {:text "S. When a TLB miss occurs, the MIPS hardware saves the page number of the reference in a special register called BadVAddr and generates an exception."},
:properties {:color "yellow"}}
{:id #uuid "644f69a6-31f7-4f57-8c78-75a19f0d83fd",
:page 528,
:position {:bounding {:x1 0,
:y1 29.1875,
:x2 745.125,
:y2 195.46875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 29.1875,
:x2 0,
:y2 53.1875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 169.859375,
:x2 430.2232971191406,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 446.515625,
:y1 169.859375,
:x2 745.125,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 430.21875,
:y1 183.46875,
:x2 446.5349426269531,
:y2 195.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 528},
:content {:text "Control is transferred to address 8000 0000 hex, the location of the TLB miss handler."},
:properties {:color "yellow"}}
{:id #uuid "644f69dd-753d-4df6-b0fc-4f112a12f0ce",
:page 528,
:position {:bounding {:x1 0,
:y1 112.15625,
:x2 741.0813598632812,
:y2 301.875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 112.15625,
:x2 0,
:y2 136.15625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 211.48458862304688,
:y1 259.46875,
:x2 741.0813598632812,
:y2 279.46875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 281.875,
:x2 162.4828338623047,
:y2 301.875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 528},
:content {:text " MIPS hardware places everything you need in the special Context register"},
:properties {:color "yellow"}}
{:id #uuid "644f6cf2-142f-4b34-a4c1-06de2a87879a",
:page 530,
:position {:bounding {:x1 100.796875,
:y1 966.6875,
:x2 595.5134887695312,
:y2 986.6875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 966.6875,
:x2 191.0458221435547,
:y2 986.6875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 208.203125,
:y1 966.6875,
:x2 595.5134887695312,
:y2 986.6875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 188.59375,
:y1 969.6875,
:x2 191.0458221435547,
:y2 984.625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 530},
:content {:text "FIGURE 5.34 MIPS code to save and restore state on an exception."},
:properties {:color "yellow"}}
{:id #uuid "644f6d39-ad59-4a15-81a9-8dede8bef344",
:page 529,
:position {:bounding {:x1 0,
:y1 161.9375,
:x2 907.2249145507812,
:y2 445.390625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 161.9375,
:x2 0,
:y2 185.9375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 178.53125,
:x2 0,
:y2 202.53125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 889.2879028320312,
:y1 382.328125,
:x2 907.2086181640625,
:y2 404.328125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 402.859375,
:x2 907.2249145507812,
:y2 424.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 405.859375,
:x2 907.2249145507812,
:y2 422.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 423.390625,
:x2 877.2501831054688,
:y2 445.390625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 426.390625,
:x2 868.0960693359375,
:y2 443.1875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 529},
:content {:text "To avoid the problem of a page fault during this low-level exception code, MIPS sets aside a portion of its address space that cannot have page faults, called unmapped. "},
:properties {:color "yellow"}}
{:id #uuid "644f6d8d-7c2f-4cb7-b689-eb282d35f411",
:page 529,
:position {:bounding {:x1 0,
:y1 510.40625,
:x2 907.2192993164062,
:y2 956.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 510.40625,
:x2 0,
:y2 534.40625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 889.5509033203125,
:y1 914.328125,
:x2 907.2192993164062,
:y2 936.328125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 934.859375,
:x2 538.9133911132812,
:y2 956.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 937.859375,
:x2 538.3015747070312,
:y2 954.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 529},
:content {:text "he VMM maintains a shadow page table "},
:properties {:color "yellow"}}
{:id #uuid "644f6e31-ed3f-4bbf-8f30-53fe28e9e518",
:page 534,
:position {:bounding {:x1 100.796875,
:y1 144.640625,
:x2 562.2498779296875,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 144.640625,
:x2 562.2498779296875,
:y2 174.640625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 534},
:content {:text "Question 1: Where Can a Block Be Placed?"},
:properties {:color "yellow"}}
{:id #uuid "644f6e76-bf1e-4def-b9c0-75f1faf3b5c6",
:page 534,
:position {:bounding {:x1 0,
:y1 45.78125,
:x2 741.2048950195312,
:y2 267.515625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 45.78125,
:x2 0,
:y2 69.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 62.375,
:x2 0,
:y2 86.375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 633.9576416015625,
:y1 202.703125,
:x2 740.6068115234375,
:y2 222.703125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 225.109375,
:x2 741.2048950195312,
:y2 245.109375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 247.515625,
:x2 658.7503051757812,
:y2 267.515625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 534},
:content {:text ". As mentioned above, this entire range of schemes can be thought of as variations on a set-associative scheme where the number of sets and the number of blocks per set varies"},
:properties {:color "yellow"}}
{:id #uuid "644f6ec3-e710-4abf-94a2-9f0c362e40e8",
:page 535,
:position {:bounding {:x1 266.921875,
:y1 261.125,
:x2 640.56201171875,
:y2 291.125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 261.125,
:x2 640.56201171875,
:y2 291.125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 535},
:content {:text "Question 2: How Is a Block Found?"},
:properties {:color "yellow"}}
{:id #uuid "644f6f0b-c5e3-4c38-90ec-67e3118b5c3d",
:page 536,
:position {:bounding {:x1 0,
:y1 62.375,
:x2 619.14111328125,
:y2 294.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 62.375,
:x2 0,
:y2 86.375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 238.71875,
:x2 619.14111328125,
:y2 268.71875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 264.859375,
:x2 257.1506042480469,
:y2 294.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 536},
:content {:text "Question 3: Which Block Should Be Replaced on a Cache Miss?"},
:properties {:color "yellow"}}
{:id #uuid "644f6f9a-a898-4b20-88c0-588c940ec793",
:page 536,
:position {:bounding {:x1 123.1875,
:y1 849.359375,
:x2 604.78759765625,
:y2 869.359375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 123.1875,
:y1 849.359375,
:x2 604.78759765625,
:y2 869.359375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 536},
:content {:text "In virtual memory, some form of LRU is always approximated, "},
:properties {:color "yellow"}}
{:id #uuid "644f6fd5-59c8-41e3-8ede-402475ac6a72",
:page 536,
:position {:bounding {:x1 100.796875,
:y1 1007.78125,
:x2 517.4418334960938,
:y2 1037.78125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 1007.78125,
:x2 517.4418334960938,
:y2 1037.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 536},
:content {:text "Question 4: What Happens on a Write?"},
:properties {:color "yellow"}}
{:id #uuid "644f6ffe-256a-4252-af5b-5a2a8d03fc2e",
:page 538,
:position {:bounding {:x1 0,
:y1 95.5625,
:x2 691.6080932617188,
:y2 339.65625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 95.5625,
:x2 0,
:y2 119.5625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 283.515625,
:x2 691.6080932617188,
:y2 313.515625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 100.796875,
:y1 309.65625,
:x2 447.66424560546875,
:y2 339.65625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 538},
:content {:text "The Three Cs: An Intuitive Model for Understanding the Behavior of Memory Hierarchies"},
:properties {:color "yellow"}}
{:id #uuid "644f731a-a08e-4b86-ace7-800cf640accb",
:page 543,
:position {:bounding {:x1 266.921875,
:y1 900.90625,
:x2 638.3157348632812,
:y2 930.90625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 266.921875,
:y1 900.90625,
:x2 638.3157348632812,
:y2 930.90625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 543},
:content {:text "FSM for a Simple Cache Controller"},
:properties {:color "yellow"}}
{:id #uuid "644f7695-12e8-4ffe-a6c7-105b596300de",
:page 545,
:position {:bounding {:x1 622.5238037109375,
:y1 752.28125,
:x2 701.558349609375,
:y2 772.28125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 622.5238037109375,
:y1 752.28125,
:x2 701.558349609375,
:y2 772.28125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 545},
:content {:text "simplistic"},
:properties {:color "green"}}
{:id #uuid "644f76e2-d5bc-47b0-90dd-c7ff33f07f13",
:page 545,
:position {:bounding {:x1 440.9375,
:y1 819.484375,
:x2 868.5563354492188,
:y2 839.484375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 440.9375,
:y1 819.484375,
:x2 868.5563354492188,
:y2 839.484375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 545},
:content {:text "coherence, defines what values can be returned by a read"},
:properties {:color "yellow"}}
{:id #uuid "644f76e7-a61d-4f42-9c8a-adc7eb920a8c",
:page 545,
:position {:bounding {:x1 0,
:y1 444.03125,
:x2 906.9946899414062,
:y2 884.296875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 444.03125,
:x2 0,
:y2 468.03125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 433.640625,
:y1 841.890625,
:x2 906.9946899414062,
:y2 861.890625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 864.296875,
:x2 341.8331604003906,
:y2 884.296875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 545},
:content {:text "consistency, determines when a written value will be returned by a read."},
:properties {:color "yellow"}}
{:id #uuid "644f77a6-d507-4b1a-bc25-7f42648fd943",
:page 545,
:position {:bounding {:x1 508.3617858886719,
:y1 886.703125,
:x2 757.6348266601562,
:y2 906.703125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 508.3617858886719,
:y1 886.703125,
:x2 757.6348266601562,
:y2 906.703125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 545},
:content {:text "t. A memory system is coherent if"},
:properties {:color "yellow"}}
{:id #uuid "644f77b5-83a5-4fb1-b3a6-3a2db489da39",
:page 545,
:position {:bounding {:x1 0,
:y1 493.8125,
:x2 907.5958251953125,
:y2 985.09375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 493.8125,
:x2 0,
:y2 517.8125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 510.40625,
:x2 0,
:y2 534.40625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 317.328125,
:y1 920.296875,
:x2 907.4578247070312,
:y2 940.296875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 317.34375,
:y1 942.703125,
:x2 907.5958251953125,
:y2 962.703125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 317.34375,
:y1 965.09375,
:x2 663.4116821289062,
:y2 985.09375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 545},
:content {:text "A read by a processor P to a location X that follows a write by P to X, with no writes of X by another processor occurring between the write and the read by P, always returns the value written by P."},
:properties {:color "yellow"}}
{:id #uuid "644f77c2-e346-4ffc-bb20-a1b3933fe9fc",
:page 545,
:position {:bounding {:x1 0,
:y1 560.1875,
:x2 907.429443359375,
:y2 1085.90625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 560.1875,
:x2 0,
:y2 584.1875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 576.78125,
:x2 0,
:y2 600.78125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 317.34375,
:y1 1021.09375,
:x2 907.429443359375,
:y2 1041.09375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 317.34375,
:y1 1043.5,
:x2 907.169677734375,
:y2 1063.5,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 317.34375,
:y1 1065.90625,
:x2 842.5884399414062,
:y2 1085.90625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 545},
:content {:text "A read by a processor to location X that follows a write by another processor to X returns the written value if the read and write are sufficiently separated in time and no other writes to X occur between the two accesses. "},
:properties {:color "yellow"}}
{:id #uuid "644f77ca-4b61-4296-8a04-a7781102a0a2",
:page 546,
:position {:bounding {:x1 0,
:y1 12.59375,
:x2 741.32861328125,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 12.59375,
:x2 0,
:y2 36.59375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 151.203125,
:y1 147.453125,
:x2 741.23828125,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 151.203125,
:y1 169.859375,
:x2 741.32861328125,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 546},
:content {:text "Writes to the same location are serialized; that is, two writes to the same location by any two processors are seen in the same order by all processors."},
:properties {:color "yellow"}}
{:id #uuid "644f7883-18c3-43d5-a7ed-51fac0fb3d83",
:page 546,
:position {:bounding {:x1 100.796875,
:y1 585.921875,
:x2 532.67236328125,
:y2 615.921875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 100.796875,
:y1 585.921875,
:x2 532.67236328125,
:y2 615.921875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 546},
:content {:text "Basic Schemes for Enforcing Coherence"},
:properties {:color "yellow"}}
{:id #uuid "644f78a3-7065-435c-8ee6-21ae194c1961",
:page 546,
:position {:bounding {:x1 0,
:y1 361.0625,
:x2 741.06005859375,
:y2 719.984375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 361.0625,
:x2 0,
:y2 385.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 145.59375,
:y1 677.59375,
:x2 741.06005859375,
:y2 697.59375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 145.59375,
:y1 699.984375,
:x2 306.5242614746094,
:y2 719.984375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 546},
:content {:text "Migration: A data item can be moved to a local cache and used there in a transparent fashion."},
:properties {:color "yellow"}}
{:id #uuid "644f78b7-c9fa-4854-824d-a8d0952ad3be",
:page 547,
:position {:bounding {:x1 0,
:y1 12.59375,
:x2 907.3712158203125,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 12.59375,
:x2 0,
:y2 36.59375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 311.71875,
:y1 147.453125,
:x2 907.3712158203125,
:y2 167.453125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 311.71875,
:y1 169.859375,
:x2 703.0508422851562,
:y2 189.859375,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 547},
:content {:text "Replication: When shared data are being simultaneously read, the caches make a copy of the data item in the local cache."},
:properties {:color "yellow"}}
{:id #uuid "644f7956-11ad-4140-b966-6d2061ae6fb2",
:page 547,
:position {:bounding {:x1 317.953125,
:y1 293.0625,
:x2 520.6416015625,
:y2 313.0625,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 317.953125,
:y1 293.0625,
:x2 520.6416015625,
:y2 313.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 547},
:content {:text "cache coherence protocols."},
:properties {:color "yellow"}}
{:id #uuid "644f797d-e82e-49fc-97b0-df7034494d5f",
:page 547,
:position {:bounding {:x1 0,
:y1 361.0625,
:x2 907.1931762695312,
:y2 708.796875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 361.0625,
:x2 0,
:y2 385.0625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 867.71875,
:y1 666.390625,
:x2 907.1931762695312,
:y2 686.390625,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.921875,
:y1 688.796875,
:x2 417.3125,
:y2 708.796875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 547},
:content {:text "write invalidate protocol "},
:properties {:color "yellow"}}
{:id #uuid "644f7a3d-783f-49d2-b697-91200284b2c8",
:page 547,
:position {:bounding {:x1 655.859375,
:y1 337.875,
:x2 723.5240478515625,
:y2 357.875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 655.859375,
:y1 337.875,
:x2 723.5240478515625,
:y2 357.875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 547},
:content {:text "snooping"},
:properties {:color "yellow"}}
{:id #uuid "644f7ab7-b97c-41a9-8780-e9281ab19565",
:page 547,
:position {:bounding {:x1 0,
:y1 178.53125,
:x2 907.2083129882812,
:y2 425.078125,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 178.53125,
:x2 0,
:y2 202.53125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 703.4710083007812,
:y1 382.671875,
:x2 907.2083129882812,
:y2 402.671875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 405.078125,
:x2 463.968017578125,
:y2 425.078125,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 547},
:content {:text "aches are all accessible via some broadcast medium (a"},
:properties {:color "yellow"}}
{:id #uuid "644f7ad5-2103-4b23-a6c0-0417d431eb02",
:page 547,
:position {:bounding {:x1 0,
:y1 195.125,
:x2 907.2833862304688,
:y2 469.875,
:width 1007.9990666666666,
:height 1243.1990666666666},
:rects ({:x1 0,
:y1 195.125,
:x2 0,
:y2 219.125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 0,
:y1 211.71875,
:x2 0,
:y2 235.71875,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 652.778564453125,
:y1 405.078125,
:x2 907.2833862304688,
:y2 425.078125,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 427.484375,
:x2 906.9097290039062,
:y2 447.484375,
:width 1007.9990666666666,
:height 1243.1990666666666}
{:x1 266.9375,
:y1 449.875,
:x2 562.030029296875,
:y2 469.875,
:width 1007.9990666666666,
:height 1243.1990666666666}),
:page 547},
:content {:text "ll cache controllers monitor or snoop on the medium to determine whether or not they have a copy of a block that is requested on a bus or switch access."},
:properties {:color "yellow"}}
{:id #uuid "644fae8b-080a-4bed-8e02-08519a34b547",
:page 558,
:position {:bounding {:x1 0,
:y1 78.96875,
:x2 971.784423828125,
:y2 910.328125,
:width 1079.999,
:height 1331.999},
:rects ({:x1 0,
:y1 78.96875,
:x2 0,
:y2 102.96875,
:width 1079.999,
:height 1331.999}
{:x1 338.08489990234375,
:y1 865.328125,
:x2 971.784423828125,
:y2 886.328125,
:width 1079.999,
:height 1331.999}
{:x1 286,
:y1 889.328125,
:x2 938.430419921875,
:y2 910.328125,
:width 1079.999,
:height 1331.999}),
:page 558},
:content {:text " A popular technique is to break the cache into banks and allow multiple, independent, parallel accesses, provided the accesses are to different banks."},
:properties {:color "yellow"}}
{:id #uuid "644faeff-a7cf-4a48-b257-50e090ca62be",
:page 558,
:position {:bounding {:x1 454.953125,
:y1 1033.34375,
:x2 621.8716430664062,
:y2 1054.34375,
:width 1079.999,
:height 1331.999},
:rects ({:x1 454.953125,
:y1 1033.34375,
:x2 621.8716430664062,
:y2 1054.34375,
:width 1079.999,
:height 1331.999}),
:page 558},
:content {:text "nonblocking cache"},
:properties {:color "yellow"}}
{:id #uuid "644faf31-abe7-4938-b43a-15ca77c5a20a",
:page 559,
:position {:bounding {:x1 278.2077331542969,
:y1 207.0625,
:x2 622.2258911132812,
:y2 228.0625,
:width 1079.999,
:height 1331.999},
:rects ({:x1 278.2077331542969,
:y1 207.0625,
:x2 622.2258911132812,
:y2 228.0625,
:width 1079.999,
:height 1331.999}),
:page 559},
:content {:text " prefetch mechanism for data accesses. I"},
:properties {:color "yellow"}}
{:id #uuid "644fafd9-52b6-4378-b808-35d07dd67108",
:page 561,
:position {:bounding {:x1 408.576416015625,
:y1 1054.875,
:x2 455.5439147949219,
:y2 1075.875,
:width 1079.999,
:height 1331.999},
:rects ({:x1 408.576416015625,
:y1 1054.875,
:x2 455.5439147949219,
:y2 1075.875,
:width 1079.999,
:height 1331.999}),
:page 561},
:content {:text "saga "},
:properties {:color "green"}}
{:id #uuid "644fb0c3-4e0b-41ea-8edb-01e11b936c65",
:page 568,
:position {:bounding {:x1 313.4110412597656,
:y1 531.0625,
:x2 423.11773681640625,
:y2 552.0625,
:width 1079.999,
:height 1331.999},
:rects ({:x1 313.4110412597656,
:y1 531.0625,
:x2 423.11773681640625,
:y2 552.0625,
:width 1079.999,
:height 1331.999}),
:page 568},
:content {:text "underscored "},
:properties {:color "green"}}
{:id #uuid "644fb0df-1bf0-479c-bb16-de1b6729faa4",
:page 565,
:position {:bounding {:x1 0,
:y1 62.375,
:x2 793.4855346679688,
:y2 284.078125,
:width 1079.999,
:height 1331.999},
:rects ({:x1 0,
:y1 62.375,
:x2 0,
:y2 86.375,
:width 1079.999,
:height 1331.999}
{:x1 131.96875,
:y1 239.0625,
:x2 793.4855346679688,
:y2 260.0625,
:width 1079.999,
:height 1331.999}
{:x1 131.96875,
:y1 263.078125,
:x2 349.8017578125,
:y2 284.078125,
:width 1079.999,
:height 1331.999}),
:page 565},
:content {:text "Pitfall: Having less set associativity for a shared cache than the number of cores or threads sharing that cache."},
:properties {:color "yellow"}}
{:id #uuid "644fb152-58ba-4049-b461-37264438cfde",
:page 586,
:position {:bounding {:x1 0,
:y1 128.75,
:x2 931.8724975585938,
:y2 868.8125,
:width 1079.999,
:height 1331.999},
:rects ({:x1 0,
:y1 128.75,
:x2 0,
:y2 152.75,
:width 1079.999,
:height 1331.999}
{:x1 465.3125,
:y1 740.828125,
:x2 915.080810546875,
:y2 804.828125,
:width 1079.999,
:height 1331.999}
{:x1 465.3125,
:y1 804.8125,
:x2 931.8724975585938,
:y2 868.8125,
:width 1079.999,
:height 1331.999}),
:page 586},
:content {:text "Parallel Processors from Client to Cloud"},
:properties {:color "yellow"}}],
:extra {:page 588}}