| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <!-- Created with Inkscape (http://www.inkscape.org/) --> |
| |
| <svg |
| xmlns:dc="http://purl.org/dc/elements/1.1/" |
| xmlns:cc="http://creativecommons.org/ns#" |
| xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
| xmlns:svg="http://www.w3.org/2000/svg" |
| xmlns="http://www.w3.org/2000/svg" |
| xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
| xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
| width="256.42984" |
| height="260.51199" |
| id="svg2" |
| version="1.1" |
| inkscape:version="0.48.3.1 r9886" |
| sodipodi:docname="memorybarrier.svg"> |
| <defs |
| id="defs4"> |
| <marker |
| inkscape:stockid="Arrow2Send" |
| orient="auto" |
| refY="0" |
| refX="0" |
| id="Arrow2Send" |
| style="overflow:visible"> |
| <path |
| id="path3892" |
| style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" |
| d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" |
| transform="matrix(-0.3,0,0,-0.3,0.69,0)" |
| inkscape:connector-curvature="0" /> |
| </marker> |
| <marker |
| inkscape:stockid="Arrow1Send" |
| orient="auto" |
| refY="0" |
| refX="0" |
| id="Arrow1Send" |
| style="overflow:visible"> |
| <path |
| id="path3874" |
| d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" |
| style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" |
| transform="matrix(-0.2,0,0,-0.2,-1.2,0)" |
| inkscape:connector-curvature="0" /> |
| </marker> |
| <marker |
| inkscape:stockid="Arrow1Lend" |
| orient="auto" |
| refY="0" |
| refX="0" |
| id="Arrow1Lend" |
| style="overflow:visible"> |
| <path |
| id="path3862" |
| d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" |
| style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" |
| transform="matrix(-0.8,0,0,-0.8,-10,0)" |
| inkscape:connector-curvature="0" /> |
| </marker> |
| <marker |
| inkscape:stockid="Arrow1Mend" |
| orient="auto" |
| refY="0" |
| refX="0" |
| id="Arrow1Mend" |
| style="overflow:visible"> |
| <path |
| id="path3885" |
| d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" |
| style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" |
| transform="matrix(-0.4,0,0,-0.4,-4,0)" |
| inkscape:connector-curvature="0" /> |
| </marker> |
| <marker |
| inkscape:stockid="Arrow1Sstart" |
| orient="auto" |
| refY="0" |
| refX="0" |
| id="Arrow1Sstart" |
| style="overflow:visible"> |
| <path |
| id="path3888" |
| d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" |
| style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" |
| transform="matrix(0.2,0,0,0.2,1.2,0)" |
| inkscape:connector-curvature="0" /> |
| </marker> |
| <marker |
| inkscape:stockid="Arrow1Mstart" |
| orient="auto" |
| refY="0" |
| refX="0" |
| id="Arrow1Mstart" |
| style="overflow:visible"> |
| <path |
| id="path3882" |
| d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" |
| style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" |
| transform="matrix(0.4,0,0,0.4,4,0)" |
| inkscape:connector-curvature="0" /> |
| </marker> |
| <marker |
| inkscape:stockid="Arrow1Lstart" |
| orient="auto" |
| refY="0" |
| refX="0" |
| id="Arrow1Lstart" |
| style="overflow:visible"> |
| <path |
| id="path3876" |
| d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" |
| style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" |
| transform="matrix(0.8,0,0,0.8,10,0)" |
| inkscape:connector-curvature="0" /> |
| </marker> |
| </defs> |
| <sodipodi:namedview |
| id="base" |
| pagecolor="#ffffff" |
| bordercolor="#666666" |
| borderopacity="1.0" |
| inkscape:pageopacity="0.0" |
| inkscape:pageshadow="2" |
| inkscape:zoom="2.6733249" |
| inkscape:cx="131.79186" |
| inkscape:cy="129.87858" |
| inkscape:document-units="px" |
| inkscape:current-layer="layer2" |
| showgrid="false" |
| fit-margin-top="0.05" |
| fit-margin-left="0.05" |
| fit-margin-right="0.05" |
| fit-margin-bottom="0.05" |
| inkscape:window-width="853" |
| inkscape:window-height="874" |
| inkscape:window-x="472" |
| inkscape:window-y="224" |
| inkscape:window-maximized="0" /> |
| <metadata |
| id="metadata7"> |
| <rdf:RDF> |
| <cc:Work |
| rdf:about=""> |
| <dc:format>image/svg+xml</dc:format> |
| <dc:type |
| rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
| <dc:title /> |
| </cc:Work> |
| </rdf:RDF> |
| </metadata> |
| <g |
| inkscape:label="Layer 1" |
| inkscape:groupmode="layer" |
| id="layer1" |
| transform="translate(-26.137646,-782.64273)"> |
| <g |
| inkscape:groupmode="layer" |
| id="layer2" |
| inkscape:label="Big Arrows"> |
| <g |
| transform="translate(0,53.92809)" |
| id="g5416"> |
| <path |
| inkscape:connector-curvature="0" |
| id="path5410" |
| d="m 148.07004,883.3019 -92.49253,0 0,-28.51194" |
| style="fill:none;stroke:#00ff00;stroke-width:15.3268261;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> |
| <path |
| inkscape:connector-curvature="0" |
| id="path5414" |
| d="m 143.3907,866.79847 0.36641,31.87817 1.83208,-2.93133 10.99248,-12.82455 z" |
| style="fill:#00ff00;fill-opacity:1;stroke:#00ff00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> |
| <path |
| style="fill:#64c8c8;fill-opacity:1;stroke:#64c8c8;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
| d="m 228.58167,956.79847 -0.36641,31.87817 -1.83208,-2.93133 -10.99248,-12.82455 z" |
| id="path5450" |
| inkscape:connector-curvature="0" /> |
| <path |
| style="fill:none;stroke:#64c8c8;stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" |
| d="m 124.51701,753.84375 -40.399132,0 190.399602,0 0,219.20269 -46.38419,0" |
| id="path5456" |
| inkscape:connector-curvature="0" /> |
| <text |
| xml:space="preserve" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| x="54.018097" |
| y="885.10663" |
| id="text5458" |
| sodipodi:linespacing="125%"><tspan |
| sodipodi:role="line" |
| x="54.018097" |
| y="885.10663" |
| id="tspan5462">Given Y0 before Y1 ...</tspan></text> |
| <text |
| sodipodi:linespacing="125%" |
| id="text5466" |
| y="755.90924" |
| x="94.846237" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| xml:space="preserve"><tspan |
| id="tspan5468" |
| y="755.90924" |
| x="94.846237" |
| sodipodi:role="line">.... memory barriers guarantee X0 before X1.</tspan></text> |
| <path |
| style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" |
| d="M 73.316938,131.01848 154.86333,25.905928" |
| id="path5470" |
| inkscape:connector-curvature="0" |
| transform="translate(26.137646,740.75144)" /> |
| </g> |
| </g> |
| <g |
| transform="translate(0,53.928085)" |
| id="g3022"> |
| <g |
| id="g4938" |
| transform="translate(-6,-40)"> |
| <rect |
| transform="translate(26.663998,740.34064)" |
| y="40.960808" |
| x="6.0236483" |
| height="25.299324" |
| width="57.827026" |
| id="rect4930" |
| style="fill:#96c8fe;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> |
| <text |
| sodipodi:linespacing="125%" |
| id="text4932" |
| y="791.81049" |
| x="61.421471" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| xml:space="preserve"><tspan |
| style="text-align:center;text-anchor:middle" |
| y="791.81049" |
| x="61.421471" |
| id="tspan4934" |
| sodipodi:role="line">Memory</tspan><tspan |
| style="text-align:center;text-anchor:middle" |
| id="tspan4936" |
| y="801.81049" |
| x="61.421471" |
| sodipodi:role="line">Reference X0</tspan></text> |
| </g> |
| <g |
| id="g4944" |
| transform="translate(-6,4)"> |
| <rect |
| style="fill:#fe9696;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" |
| id="rect4946" |
| width="57.827026" |
| height="25.299324" |
| x="6.0236483" |
| y="40.960808" |
| transform="translate(26.663998,740.34064)" /> |
| <text |
| xml:space="preserve" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| x="61.421471" |
| y="791.81049" |
| id="text4948" |
| sodipodi:linespacing="125%"><tspan |
| sodipodi:role="line" |
| id="tspan4950" |
| x="61.421471" |
| y="791.81049" |
| style="text-align:center;text-anchor:middle">Memory</tspan><tspan |
| sodipodi:role="line" |
| x="61.421471" |
| y="801.81049" |
| id="tspan4952" |
| style="text-align:center;text-anchor:middle">Barrier</tspan></text> |
| </g> |
| <path |
| style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" |
| d="m 55.601159,766.60077 0,16.86622" |
| id="path5150" |
| inkscape:connector-curvature="0" /> |
| <path |
| inkscape:connector-curvature="0" |
| id="path5346" |
| d="m 55.601159,810.60077 0,16.86622" |
| style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" /> |
| <g |
| id="g5348" |
| transform="translate(-6,48)"> |
| <rect |
| style="fill:#96c8fe;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" |
| id="rect5350" |
| width="57.827026" |
| height="25.299324" |
| x="6.0236483" |
| y="40.960808" |
| transform="translate(26.663998,740.34064)" /> |
| <text |
| xml:space="preserve" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| x="61.421471" |
| y="791.81049" |
| id="text5352" |
| sodipodi:linespacing="125%"><tspan |
| sodipodi:role="line" |
| id="tspan5354" |
| x="61.421471" |
| y="791.81049" |
| style="text-align:center;text-anchor:middle">Memory</tspan><tspan |
| sodipodi:role="line" |
| x="61.421471" |
| y="801.81049" |
| id="tspan5356" |
| style="text-align:center;text-anchor:middle">Reference Y0</tspan></text> |
| </g> |
| <g |
| transform="translate(124,89.95315)" |
| id="g5360"> |
| <rect |
| style="fill:#96c8fe;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" |
| id="rect5362" |
| width="57.827026" |
| height="25.299324" |
| x="6.0236483" |
| y="40.960808" |
| transform="translate(26.663998,740.34064)" /> |
| <text |
| xml:space="preserve" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| x="61.421471" |
| y="791.81049" |
| id="text5364" |
| sodipodi:linespacing="125%"><tspan |
| sodipodi:role="line" |
| id="tspan5366" |
| x="61.421471" |
| y="791.81049" |
| style="text-align:center;text-anchor:middle">Memory</tspan><tspan |
| sodipodi:role="line" |
| x="61.421471" |
| y="801.81049" |
| id="tspan5368" |
| style="text-align:center;text-anchor:middle">Reference Y1</tspan></text> |
| </g> |
| <g |
| transform="translate(124,134)" |
| id="g5370"> |
| <rect |
| transform="translate(26.663998,740.34064)" |
| y="40.960808" |
| x="6.0236483" |
| height="25.299324" |
| width="57.827026" |
| id="rect5372" |
| style="fill:#fe9696;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> |
| <text |
| sodipodi:linespacing="125%" |
| id="text5374" |
| y="791.81049" |
| x="61.421471" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| xml:space="preserve"><tspan |
| style="text-align:center;text-anchor:middle" |
| y="791.81049" |
| x="61.421471" |
| id="tspan5376" |
| sodipodi:role="line">Memory</tspan><tspan |
| style="text-align:center;text-anchor:middle" |
| id="tspan5378" |
| y="801.81049" |
| x="61.421471" |
| sodipodi:role="line">Barrier</tspan></text> |
| </g> |
| <path |
| inkscape:connector-curvature="0" |
| id="path5380" |
| d="m 185.60116,896.60077 0,16.86622" |
| style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" /> |
| <path |
| style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" |
| d="m 185.60116,940.60077 0,16.86622" |
| id="path5382" |
| inkscape:connector-curvature="0" /> |
| <g |
| transform="translate(124,178)" |
| id="g5384"> |
| <rect |
| transform="translate(26.663998,740.34064)" |
| y="40.960808" |
| x="6.0236483" |
| height="25.299324" |
| width="57.827026" |
| id="rect5386" |
| style="fill:#96c8fe;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> |
| <text |
| sodipodi:linespacing="125%" |
| id="text5388" |
| y="791.81049" |
| x="61.421471" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| xml:space="preserve"><tspan |
| style="text-align:center;text-anchor:middle" |
| y="791.81049" |
| x="61.421471" |
| id="tspan5390" |
| sodipodi:role="line">Memory</tspan><tspan |
| style="text-align:center;text-anchor:middle" |
| id="tspan5392" |
| y="801.81049" |
| x="61.421471" |
| sodipodi:role="line">Reference X1</tspan></text> |
| </g> |
| <text |
| xml:space="preserve" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| x="173.78671" |
| y="864.54791" |
| id="text3243" |
| sodipodi:linespacing="125%"><tspan |
| sodipodi:role="line" |
| id="tspan3245" |
| x="173.78671" |
| y="864.54791">CPU 1</tspan></text> |
| <text |
| sodipodi:linespacing="125%" |
| id="text3247" |
| y="734.70215" |
| x="43.683189" |
| style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" |
| xml:space="preserve"><tspan |
| y="734.70215" |
| x="43.683189" |
| id="tspan3249" |
| sodipodi:role="line">CPU 0</tspan></text> |
| </g> |
| </g> |
| </svg> |