Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Documentation/gpu: Add explanation about AMD Pipes and Queues

Pipes and Queues are two common vocabulary that pervades discussions
around amdgpu core features. The definition and explanation of those
components are spread around multiple places in the code, mailing list,
and Gitlab, which sometimes leads to the wrong interpretation of these
concepts. This commit attempts to centralize the definition and
explanation of Pipe and Queue from amdgpu perspective in a kernel doc.
Most of the information in this doc was derived from:

- https://lore.kernel.org/amd-gfx/CADnq5_Pcz2x4aJzKbVrN3jsZhD6sTydtDw=6PaN4O3m4t+Grtg@mail.gmail.com/T/#m9a670b55ab20e0f7c46c80f802a0a4be255a719d
- https://gitlab.freedesktop.org/mesa/mesa/-/issues/11759

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Rodrigo Siqueira <siqueira@igalia.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Rodrigo Siqueira and committed by
Alex Deucher
4ede6d20 c6a1c23d

+1329
+50
Documentation/gpu/amdgpu/driver-core.rst
··· 98 98 The name is a vestige of old hardware where it was originally added 99 99 and doesn't really have much relation to what the engine does now. 100 100 101 + 102 + GFX, Compute, and SDMA Overall Behavior 103 + ======================================= 104 + 105 + .. note:: For simplicity, whenever the term block is used in this section, it 106 + means GFX, Compute, and SDMA. 107 + 108 + GFX, Compute and SDMA share a similar form of operation that can be abstracted 109 + to facilitate understanding of the behavior of these blocks. See the figure 110 + below illustrating the common components of these blocks: 111 + 112 + .. kernel-figure:: pipe_and_queue_abstraction.svg 113 + 114 + In the central part of this figure, you can see two hardware elements, one called 115 + **Pipes** and another called **Queues**; it is important to highlight that Queues 116 + must be associated with a Pipe and vice-versa. Every specific hardware IP may have 117 + a different number of Pipes and, in turn, a different number of Queues; for 118 + example, GFX 11 has two Pipes and two Queues per Pipe for the GFX front end. 119 + 120 + Pipe is the hardware that processes the instructions available in the Queues; 121 + in other words, it is a thread executing the operations inserted in the Queue. 122 + One crucial characteristic of Pipes is that they can only execute one Queue at 123 + a time; no matter if the hardware has multiple Queues in the Pipe, it only runs 124 + one Queue per Pipe. 125 + 126 + Pipes have the mechanics of swapping between queues at the hardware level. 127 + Nonetheless, they only make use of Queues that are considered mapped. Pipes can 128 + switch between queues based on any of the following inputs: 129 + 130 + 1. Command Stream; 131 + 2. Packet by Packet; 132 + 3. Other hardware requests the change (e.g., MES). 133 + 134 + Queues within Pipes are defined by the Hardware Queue Descriptors (HQD). 135 + Associated with the HQD concept, we have the Memory Queue Descriptor (MQD), 136 + which is responsible for storing information about the state of each of the 137 + available Queues in the memory. The state of a Queue contains information such 138 + as the GPU virtual address of the queue itself, save areas, doorbell, etc. The 139 + MQD also stores the HQD registers, which are vital for activating or 140 + deactivating a given Queue. The scheduling firmware (e.g., MES) is responsible 141 + for loading HQDs from MQDs and vice versa. 142 + 143 + The Queue-switching process can also happen with the firmware requesting the 144 + preemption or unmapping of a Queue. The firmware waits for the HQD_ACTIVE bit 145 + to change to low before saving the state into the MQD. To make a different 146 + Queue become active, the firmware copies the MQD state into the HQD registers 147 + and loads any additional state. Finally, it sets the HQD_ACTIVE bit to high to 148 + indicate that the queue is active. The Pipe will then execute work from active 149 + Queues. 150 + 101 151 Driver Structure 102 152 ================ 103 153
+1279
Documentation/gpu/amdgpu/pipe_and_queue_abstraction.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + 4 + <svg 5 + width="395.47891mm" 6 + height="234.73715mm" 7 + viewBox="0 0 395.47891 234.73714" 8 + version="1.1" 9 + id="svg1" 10 + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" 11 + sodipodi:docname="pipe_and_queue_abstraction.svg" 12 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14 + xmlns="http://www.w3.org/2000/svg" 15 + xmlns:svg="http://www.w3.org/2000/svg"> 16 + <sodipodi:namedview 17 + id="namedview1" 18 + pagecolor="#ffffff" 19 + bordercolor="#000000" 20 + borderopacity="0.25" 21 + inkscape:showpageshadow="2" 22 + inkscape:pageopacity="0.0" 23 + inkscape:pagecheckerboard="0" 24 + inkscape:deskcolor="#d1d1d1" 25 + inkscape:document-units="mm" 26 + inkscape:zoom="1.6489689" 27 + inkscape:cx="713.17296" 28 + inkscape:cy="466.65527" 29 + inkscape:window-width="3840" 30 + inkscape:window-height="2083" 31 + inkscape:window-x="0" 32 + inkscape:window-y="0" 33 + inkscape:window-maximized="1" 34 + inkscape:current-layer="layer1" /> 35 + <defs 36 + id="defs1"> 37 + <marker 38 + style="overflow:visible" 39 + id="Dot" 40 + refX="0" 41 + refY="0" 42 + orient="auto" 43 + inkscape:stockid="Dot" 44 + markerWidth="1" 45 + markerHeight="1" 46 + viewBox="0 0 1 1" 47 + inkscape:isstock="true" 48 + inkscape:collect="always" 49 + preserveAspectRatio="xMidYMid"> 50 + <path 51 + transform="scale(0.5)" 52 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 53 + d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z" 54 + sodipodi:nodetypes="sssss" 55 + id="path110" /> 56 + </marker> 57 + <marker 58 + style="overflow:visible" 59 + id="marker109" 60 + refX="0" 61 + refY="0" 62 + orient="auto-start-reverse" 63 + inkscape:stockid="Stylized triangle arrow" 64 + markerWidth="1" 65 + markerHeight="1" 66 + viewBox="0 0 1 1" 67 + inkscape:isstock="true" 68 + inkscape:collect="always" 69 + preserveAspectRatio="xMidYMid"> 70 + <path 71 + transform="scale(0.5)" 72 + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" 73 + d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z" 74 + id="path109" /> 75 + </marker> 76 + <marker 77 + style="overflow:visible" 78 + id="ArrowTriangleStylized" 79 + refX="0" 80 + refY="0" 81 + orient="auto-start-reverse" 82 + inkscape:stockid="Stylized triangle arrow" 83 + markerWidth="1" 84 + markerHeight="1" 85 + viewBox="0 0 1 1" 86 + inkscape:isstock="true" 87 + inkscape:collect="always" 88 + preserveAspectRatio="xMidYMid"> 89 + <path 90 + transform="scale(0.5)" 91 + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" 92 + d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 z" 93 + id="path108" /> 94 + </marker> 95 + <marker 96 + style="overflow:visible" 97 + id="ArrowWide" 98 + refX="0" 99 + refY="0" 100 + orient="auto-start-reverse" 101 + inkscape:stockid="Wide arrow" 102 + markerWidth="1" 103 + markerHeight="1" 104 + viewBox="0 0 1 1" 105 + inkscape:isstock="true" 106 + inkscape:collect="always" 107 + preserveAspectRatio="xMidYMid"> 108 + <path 109 + style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" 110 + d="M 3,-3 0,0 3,3" 111 + transform="rotate(180,0.125,0)" 112 + sodipodi:nodetypes="ccc" 113 + id="path1" /> 114 + </marker> 115 + <marker 116 + style="overflow:visible" 117 + id="Triangle" 118 + refX="0" 119 + refY="0" 120 + orient="auto-start-reverse" 121 + inkscape:stockid="Triangle arrow" 122 + markerWidth="1" 123 + markerHeight="1" 124 + viewBox="0 0 1 1" 125 + inkscape:isstock="true" 126 + inkscape:collect="always" 127 + preserveAspectRatio="xMidYMid"> 128 + <path 129 + transform="scale(0.5)" 130 + style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt" 131 + d="M 5.77,0 -2.88,5 V -5 Z" 132 + id="path135" /> 133 + </marker> 134 + <marker 135 + style="overflow:visible" 136 + id="ArrowWideHeavy" 137 + refX="0" 138 + refY="0" 139 + orient="auto-start-reverse" 140 + inkscape:stockid="Wide, heavy arrow" 141 + markerWidth="1" 142 + markerHeight="1" 143 + viewBox="0 0 1 1" 144 + inkscape:isstock="true" 145 + inkscape:collect="always" 146 + preserveAspectRatio="xMidYMid"> 147 + <path 148 + style="fill:context-stroke;fill-rule:evenodd;stroke:none" 149 + d="m 1,0 -3,3 h -2 l 3,-3 -3,-3 h 2 z" 150 + id="path71" /> 151 + </marker> 152 + </defs> 153 + <g 154 + inkscape:label="Layer 1" 155 + inkscape:groupmode="layer" 156 + id="layer1" 157 + transform="translate(149.03517,55.110629)"> 158 + <circle 159 + style="fill:#ffeeaa;fill-opacity:1;stroke:#1a1a1a;stroke-width:0.733436;stroke-dasharray:none;stroke-dashoffset:0" 160 + id="path98" 161 + cx="-35.757576" 162 + cy="-10.495151" 163 + r="44.24876" /> 164 + <rect 165 + style="fill:none;stroke:#000000;stroke-width:0.878057;stroke-dasharray:none" 166 + id="rect1" 167 + width="167.79619" 168 + height="24.831829" 169 + x="14.21942" 170 + y="57.862854" /> 171 + <g 172 + id="g11" 173 + transform="translate(24.021362,-46.545299)"> 174 + <rect 175 + style="fill:none;stroke:#006680;stroke-width:0.459999;stroke-dasharray:none" 176 + id="rect2" 177 + width="131.09708" 178 + height="5.8163381" 179 + x="23.245802" 180 + y="107.16314" /> 181 + <path 182 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 183 + d="m 37.884707,107.26337 v 5.53565" 184 + id="path2" 185 + sodipodi:nodetypes="cc" /> 186 + <path 187 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 188 + d="m 52.466233,107.26337 v 5.53565" 189 + id="path3" 190 + sodipodi:nodetypes="cc" /> 191 + <path 192 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 193 + d="m 67.047758,107.26337 v 5.53565" 194 + id="path4" 195 + sodipodi:nodetypes="cc" /> 196 + <path 197 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 198 + d="m 81.629283,107.26337 v 5.53565" 199 + id="path5" 200 + sodipodi:nodetypes="cc" /> 201 + <path 202 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 203 + d="m 96.210809,107.26337 v 5.53565" 204 + id="path6" 205 + sodipodi:nodetypes="cc" /> 206 + <path 207 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 208 + d="m 110.79233,107.26337 v 5.53565" 209 + id="path7" 210 + sodipodi:nodetypes="cc" /> 211 + <path 212 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 213 + d="m 125.37386,107.26337 v 5.53565" 214 + id="path8" 215 + sodipodi:nodetypes="cc" /> 216 + <path 217 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 218 + d="m 139.95538,107.26337 v 5.53565" 219 + id="path9" 220 + sodipodi:nodetypes="cc" /> 221 + <text 222 + xml:space="preserve" 223 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 224 + x="86.713425" 225 + y="110.1963" 226 + id="text11"><tspan 227 + sodipodi:role="line" 228 + id="tspan11" 229 + style="stroke:#006680;stroke-width:0.5" 230 + x="86.713425" 231 + y="110.1963">. . .</tspan></text> 232 + </g> 233 + <g 234 + id="g18" 235 + transform="translate(24.021362,-32.25779)"> 236 + <rect 237 + style="fill:none;stroke:#006680;stroke-width:0.459999;stroke-dasharray:none" 238 + id="rect11" 239 + width="131.09708" 240 + height="5.8163381" 241 + x="23.245802" 242 + y="107.16314" /> 243 + <path 244 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 245 + d="m 37.884707,107.26337 v 5.53565" 246 + id="path11" 247 + sodipodi:nodetypes="cc" /> 248 + <path 249 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 250 + d="m 52.466233,107.26337 v 5.53565" 251 + id="path12" 252 + sodipodi:nodetypes="cc" /> 253 + <path 254 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 255 + d="m 67.047758,107.26337 v 5.53565" 256 + id="path13" 257 + sodipodi:nodetypes="cc" /> 258 + <path 259 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 260 + d="m 81.629283,107.26337 v 5.53565" 261 + id="path14" 262 + sodipodi:nodetypes="cc" /> 263 + <path 264 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 265 + d="m 96.210809,107.26337 v 5.53565" 266 + id="path15" 267 + sodipodi:nodetypes="cc" /> 268 + <path 269 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 270 + d="m 110.79233,107.26337 v 5.53565" 271 + id="path16" 272 + sodipodi:nodetypes="cc" /> 273 + <path 274 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 275 + d="m 125.37386,107.26337 v 5.53565" 276 + id="path17" 277 + sodipodi:nodetypes="cc" /> 278 + <path 279 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 280 + d="m 139.95538,107.26337 v 5.53565" 281 + id="path18" 282 + sodipodi:nodetypes="cc" /> 283 + <text 284 + xml:space="preserve" 285 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 286 + x="86.713425" 287 + y="110.1963" 288 + id="text18"><tspan 289 + sodipodi:role="line" 290 + id="tspan18" 291 + style="stroke:#006680;stroke-width:0.5" 292 + x="86.713425" 293 + y="110.1963">. . .</tspan></text> 294 + </g> 295 + <text 296 + xml:space="preserve" 297 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 298 + x="113.37768" 299 + y="68.463142" 300 + id="text19"><tspan 301 + sodipodi:role="line" 302 + id="tspan19" 303 + style="writing-mode:tb-rl;stroke-width:0.5" 304 + x="113.37768" 305 + y="68.463142">. . .</tspan></text> 306 + <text 307 + xml:space="preserve" 308 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 309 + x="25.005701" 310 + y="55.308445" 311 + id="text844-2-9"><tspan 312 + sodipodi:role="line" 313 + x="25.005701" 314 + y="55.308445" 315 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 316 + id="tspan2868">Pipe[0]</tspan></text> 317 + <text 318 + xml:space="preserve" 319 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 320 + x="-74.441521" 321 + y="63.075123" 322 + id="text844-2-9-4"><tspan 323 + sodipodi:role="line" 324 + x="-74.441521" 325 + y="63.075123" 326 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 327 + id="tspan2868-7">MQD</tspan></text> 328 + <text 329 + xml:space="preserve" 330 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 331 + x="30.264952" 332 + y="65.490654" 333 + id="text20"><tspan 334 + sodipodi:role="line" 335 + x="30.264952" 336 + y="65.490654" 337 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 338 + id="tspan20">Queue[0]</tspan></text> 339 + <text 340 + xml:space="preserve" 341 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 342 + x="30.264952" 343 + y="79.249001" 344 + id="text21"><tspan 345 + sodipodi:role="line" 346 + x="30.264952" 347 + y="79.249001" 348 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 349 + id="tspan21">Queue[n]</tspan></text> 350 + <text 351 + xml:space="preserve" 352 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 353 + x="30.264952" 354 + y="71.84066" 355 + id="text22"><tspan 356 + sodipodi:role="line" 357 + x="30.264952" 358 + y="71.84066" 359 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 360 + id="tspan22">...</tspan></text> 361 + <g 362 + id="g71" 363 + transform="translate(-23.283342)"> 364 + <rect 365 + style="fill:#ffffff;fill-opacity:0;stroke:#000000;stroke-width:0.5;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0" 366 + id="rect67" 367 + width="18.533583" 368 + height="114.96632" 369 + x="250.9435" 370 + y="54.754276" 371 + ry="6.0427966" /> 372 + </g> 373 + <rect 374 + style="fill:#1a1a1a;fill-opacity:0;stroke:#000000;stroke-width:0.499999;stroke-dasharray:none;stroke-dashoffset:0" 375 + id="rect68" 376 + width="188.21231" 377 + height="139.5948" 378 + x="4.0113592" 379 + y="37.597778" 380 + ry="0" /> 381 + <g 382 + id="g43" 383 + transform="translate(0,40.745853)"> 384 + <rect 385 + style="fill:none;stroke:#000000;stroke-width:0.878057;stroke-dasharray:none" 386 + id="rect22" 387 + width="167.79619" 388 + height="24.831829" 389 + x="14.21942" 390 + y="57.862854" /> 391 + <g 392 + id="g30" 393 + transform="translate(24.021362,-46.545299)"> 394 + <rect 395 + style="fill:none;stroke:#006680;stroke-width:0.459999;stroke-dasharray:none" 396 + id="rect23" 397 + width="131.09708" 398 + height="5.8163381" 399 + x="23.245802" 400 + y="107.16314" /> 401 + <path 402 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 403 + d="m 37.884707,107.26337 v 5.53565" 404 + id="path23" 405 + sodipodi:nodetypes="cc" /> 406 + <path 407 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 408 + d="m 52.466233,107.26337 v 5.53565" 409 + id="path24" 410 + sodipodi:nodetypes="cc" /> 411 + <path 412 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 413 + d="m 67.047758,107.26337 v 5.53565" 414 + id="path25" 415 + sodipodi:nodetypes="cc" /> 416 + <path 417 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 418 + d="m 81.629283,107.26337 v 5.53565" 419 + id="path26" 420 + sodipodi:nodetypes="cc" /> 421 + <path 422 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 423 + d="m 96.210809,107.26337 v 5.53565" 424 + id="path27" 425 + sodipodi:nodetypes="cc" /> 426 + <path 427 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 428 + d="m 110.79233,107.26337 v 5.53565" 429 + id="path28" 430 + sodipodi:nodetypes="cc" /> 431 + <path 432 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 433 + d="m 125.37386,107.26337 v 5.53565" 434 + id="path29" 435 + sodipodi:nodetypes="cc" /> 436 + <path 437 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 438 + d="m 139.95538,107.26337 v 5.53565" 439 + id="path30" 440 + sodipodi:nodetypes="cc" /> 441 + <text 442 + xml:space="preserve" 443 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 444 + x="86.713425" 445 + y="110.1963" 446 + id="text30"><tspan 447 + sodipodi:role="line" 448 + id="tspan30" 449 + style="stroke:#006680;stroke-width:0.5" 450 + x="86.713425" 451 + y="110.1963">. . .</tspan></text> 452 + </g> 453 + <g 454 + id="g38" 455 + transform="translate(24.021362,-32.25779)"> 456 + <rect 457 + style="fill:none;stroke:#006680;stroke-width:0.459999;stroke-dasharray:none" 458 + id="rect30" 459 + width="131.09708" 460 + height="5.8163381" 461 + x="23.245802" 462 + y="107.16314" /> 463 + <path 464 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 465 + d="m 37.884707,107.26337 v 5.53565" 466 + id="path31" 467 + sodipodi:nodetypes="cc" /> 468 + <path 469 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 470 + d="m 52.466233,107.26337 v 5.53565" 471 + id="path32" 472 + sodipodi:nodetypes="cc" /> 473 + <path 474 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 475 + d="m 67.047758,107.26337 v 5.53565" 476 + id="path33" 477 + sodipodi:nodetypes="cc" /> 478 + <path 479 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 480 + d="m 81.629283,107.26337 v 5.53565" 481 + id="path34" 482 + sodipodi:nodetypes="cc" /> 483 + <path 484 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 485 + d="m 96.210809,107.26337 v 5.53565" 486 + id="path35" 487 + sodipodi:nodetypes="cc" /> 488 + <path 489 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 490 + d="m 110.79233,107.26337 v 5.53565" 491 + id="path36" 492 + sodipodi:nodetypes="cc" /> 493 + <path 494 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 495 + d="m 125.37386,107.26337 v 5.53565" 496 + id="path37" 497 + sodipodi:nodetypes="cc" /> 498 + <path 499 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 500 + d="m 139.95538,107.26337 v 5.53565" 501 + id="path38" 502 + sodipodi:nodetypes="cc" /> 503 + <text 504 + xml:space="preserve" 505 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 506 + x="86.713425" 507 + y="110.1963" 508 + id="text38"><tspan 509 + sodipodi:role="line" 510 + id="tspan38" 511 + style="stroke:#006680;stroke-width:0.5" 512 + x="86.713425" 513 + y="110.1963">. . .</tspan></text> 514 + </g> 515 + <text 516 + xml:space="preserve" 517 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 518 + x="113.37768" 519 + y="68.463142" 520 + id="text39"><tspan 521 + sodipodi:role="line" 522 + id="tspan39" 523 + style="writing-mode:tb-rl;stroke-width:0.5" 524 + x="113.37768" 525 + y="68.463142">. . .</tspan></text> 526 + <text 527 + xml:space="preserve" 528 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 529 + x="25.005701" 530 + y="55.308445" 531 + id="text40"><tspan 532 + sodipodi:role="line" 533 + x="25.005701" 534 + y="55.308445" 535 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 536 + id="tspan40">Pipe[1]</tspan></text> 537 + <text 538 + xml:space="preserve" 539 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 540 + x="30.264952" 541 + y="65.490654" 542 + id="text41"><tspan 543 + sodipodi:role="line" 544 + x="30.264952" 545 + y="65.490654" 546 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 547 + id="tspan41">Queue[0]</tspan></text> 548 + <text 549 + xml:space="preserve" 550 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 551 + x="30.264952" 552 + y="79.249001" 553 + id="text42"><tspan 554 + sodipodi:role="line" 555 + x="30.264952" 556 + y="79.249001" 557 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 558 + id="tspan42">Queue[n]</tspan></text> 559 + <text 560 + xml:space="preserve" 561 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 562 + x="30.264952" 563 + y="71.84066" 564 + id="text43"><tspan 565 + sodipodi:role="line" 566 + x="30.264952" 567 + y="71.84066" 568 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 569 + id="tspan43">...</tspan></text> 570 + </g> 571 + <g 572 + id="g64" 573 + transform="translate(0,85.195881)"> 574 + <rect 575 + style="fill:none;stroke:#000000;stroke-width:0.878057;stroke-dasharray:none" 576 + id="rect43" 577 + width="167.79619" 578 + height="24.831829" 579 + x="14.21942" 580 + y="57.862854" /> 581 + <g 582 + id="g51" 583 + transform="translate(24.021362,-46.545299)"> 584 + <rect 585 + style="fill:none;stroke:#006680;stroke-width:0.459999;stroke-dasharray:none" 586 + id="rect44" 587 + width="131.09708" 588 + height="5.8163381" 589 + x="23.245802" 590 + y="107.16314" /> 591 + <path 592 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 593 + d="m 37.884707,107.26337 v 5.53565" 594 + id="path44" 595 + sodipodi:nodetypes="cc" /> 596 + <path 597 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 598 + d="m 52.466233,107.26337 v 5.53565" 599 + id="path45" 600 + sodipodi:nodetypes="cc" /> 601 + <path 602 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 603 + d="m 67.047758,107.26337 v 5.53565" 604 + id="path46" 605 + sodipodi:nodetypes="cc" /> 606 + <path 607 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 608 + d="m 81.629283,107.26337 v 5.53565" 609 + id="path47" 610 + sodipodi:nodetypes="cc" /> 611 + <path 612 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 613 + d="m 96.210809,107.26337 v 5.53565" 614 + id="path48" 615 + sodipodi:nodetypes="cc" /> 616 + <path 617 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 618 + d="m 110.79233,107.26337 v 5.53565" 619 + id="path49" 620 + sodipodi:nodetypes="cc" /> 621 + <path 622 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 623 + d="m 125.37386,107.26337 v 5.53565" 624 + id="path50" 625 + sodipodi:nodetypes="cc" /> 626 + <path 627 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 628 + d="m 139.95538,107.26337 v 5.53565" 629 + id="path51" 630 + sodipodi:nodetypes="cc" /> 631 + <text 632 + xml:space="preserve" 633 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 634 + x="86.713425" 635 + y="110.1963" 636 + id="text51"><tspan 637 + sodipodi:role="line" 638 + id="tspan51" 639 + style="stroke:#006680;stroke-width:0.5" 640 + x="86.713425" 641 + y="110.1963">. . .</tspan></text> 642 + </g> 643 + <g 644 + id="g59" 645 + transform="translate(24.021362,-32.25779)"> 646 + <rect 647 + style="fill:none;stroke:#006680;stroke-width:0.459999;stroke-dasharray:none" 648 + id="rect51" 649 + width="131.09708" 650 + height="5.8163381" 651 + x="23.245802" 652 + y="107.16314" /> 653 + <path 654 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 655 + d="m 37.884707,107.26337 v 5.53565" 656 + id="path52" 657 + sodipodi:nodetypes="cc" /> 658 + <path 659 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 660 + d="m 52.466233,107.26337 v 5.53565" 661 + id="path53" 662 + sodipodi:nodetypes="cc" /> 663 + <path 664 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 665 + d="m 67.047758,107.26337 v 5.53565" 666 + id="path54" 667 + sodipodi:nodetypes="cc" /> 668 + <path 669 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 670 + d="m 81.629283,107.26337 v 5.53565" 671 + id="path55" 672 + sodipodi:nodetypes="cc" /> 673 + <path 674 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 675 + d="m 96.210809,107.26337 v 5.53565" 676 + id="path56" 677 + sodipodi:nodetypes="cc" /> 678 + <path 679 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 680 + d="m 110.79233,107.26337 v 5.53565" 681 + id="path57" 682 + sodipodi:nodetypes="cc" /> 683 + <path 684 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 685 + d="m 125.37386,107.26337 v 5.53565" 686 + id="path58" 687 + sodipodi:nodetypes="cc" /> 688 + <path 689 + style="fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 690 + d="m 139.95538,107.26337 v 5.53565" 691 + id="path59" 692 + sodipodi:nodetypes="cc" /> 693 + <text 694 + xml:space="preserve" 695 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 696 + x="86.713425" 697 + y="110.1963" 698 + id="text59"><tspan 699 + sodipodi:role="line" 700 + id="tspan59" 701 + style="stroke:#006680;stroke-width:0.5" 702 + x="86.713425" 703 + y="110.1963">. . .</tspan></text> 704 + </g> 705 + <text 706 + xml:space="preserve" 707 + style="font-size:3.175px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 708 + x="113.37768" 709 + y="68.463142" 710 + id="text60"><tspan 711 + sodipodi:role="line" 712 + id="tspan60" 713 + style="writing-mode:tb-rl;stroke-width:0.5" 714 + x="113.37768" 715 + y="68.463142">. . .</tspan></text> 716 + <text 717 + xml:space="preserve" 718 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 719 + x="25.005701" 720 + y="55.308445" 721 + id="text61"><tspan 722 + sodipodi:role="line" 723 + x="25.005701" 724 + y="55.308445" 725 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 726 + id="tspan61">Pipe[n]</tspan></text> 727 + <text 728 + xml:space="preserve" 729 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 730 + x="30.264952" 731 + y="65.490654" 732 + id="text62"><tspan 733 + sodipodi:role="line" 734 + x="30.264952" 735 + y="65.490654" 736 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 737 + id="tspan62">Queue[0]</tspan></text> 738 + <text 739 + xml:space="preserve" 740 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 741 + x="30.264952" 742 + y="79.249001" 743 + id="text63"><tspan 744 + sodipodi:role="line" 745 + x="30.264952" 746 + y="79.249001" 747 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 748 + id="tspan63">Queue[n]</tspan></text> 749 + <text 750 + xml:space="preserve" 751 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 752 + x="30.264952" 753 + y="71.84066" 754 + id="text64"><tspan 755 + sodipodi:role="line" 756 + x="30.264952" 757 + y="71.84066" 758 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 759 + id="tspan64">...</tspan></text> 760 + </g> 761 + <text 762 + xml:space="preserve" 763 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.76111px;font-family:Serif;-inkscape-font-specification:Serif;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#000000;fill-opacity:0;stroke:#006680;stroke-width:0.499999;stroke-dasharray:none" 764 + x="92.18071" 765 + y="128.21965" 766 + id="text65"><tspan 767 + sodipodi:role="line" 768 + id="tspan65" 769 + style="font-size:7.76111px;writing-mode:tb-rl;fill:#1a1a1a;stroke:#000000;stroke-width:0.5" 770 + x="92.18071" 771 + y="128.21965">...</tspan></text> 772 + <text 773 + xml:space="preserve" 774 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.7611px;font-family:Serif;-inkscape-font-specification:Serif;text-align:start;writing-mode:tb-rl;direction:ltr;text-anchor:start;fill:#1a1a1a;fill-opacity:0;stroke:#000000;stroke-width:0.499999;stroke-dasharray:none" 775 + x="198.72205" 776 + y="80.708267" 777 + id="text66"><tspan 778 + sodipodi:role="line" 779 + id="tspan66" 780 + style="stroke-width:0.5" 781 + x="198.72205" 782 + y="80.708267" /></text> 783 + <text 784 + xml:space="preserve" 785 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 786 + x="97.905846" 787 + y="44.725101" 788 + id="text68"><tspan 789 + sodipodi:role="line" 790 + x="97.905846" 791 + y="44.725101" 792 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 793 + id="tspan68">Hardware Block</tspan></text> 794 + <text 795 + xml:space="preserve" 796 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:vertical-lr;text-orientation:upright;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 797 + x="236.36934" 798 + y="112.10503" 799 + id="text68-7"><tspan 800 + sodipodi:role="line" 801 + x="236.36934" 802 + y="112.10503" 803 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;writing-mode:vertical-lr;text-orientation:upright;text-anchor:middle;stroke-width:0.0690111" 804 + id="tspan68-4">EXECUTION</tspan></text> 805 + <rect 806 + style="fill:#1a1a1a;fill-opacity:0;stroke:#000000;stroke-width:0.940575;stroke-dasharray:7.5246, 0.940575;stroke-dashoffset:0" 807 + id="rect68-1" 808 + width="68.749969" 809 + height="141.2751" 810 + x="-129.49162" 811 + y="37.881134" 812 + ry="0" /> 813 + <text 814 + xml:space="preserve" 815 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 816 + x="-114.4223" 817 + y="44.966106" 818 + id="text68-2"><tspan 819 + sodipodi:role="line" 820 + x="-114.4223" 821 + y="44.966106" 822 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 823 + id="tspan68-9">Memory</tspan></text> 824 + <text 825 + xml:space="preserve" 826 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.7px;font-family:Serif;-inkscape-font-specification:Serif;text-align:start;writing-mode:tb-rl;direction:ltr;text-orientation:upright;text-anchor:start;fill:#1a1a1a;fill-opacity:0;stroke:#000000;stroke-width:0.499999;stroke-dasharray:none;stroke-dashoffset:0" 827 + x="212.6013" 828 + y="64.823341" 829 + id="text69"><tspan 830 + sodipodi:role="line" 831 + id="tspan69" 832 + style="font-size:12.7px;stroke-width:0.5" 833 + x="212.6013" 834 + y="64.823341" /></text> 835 + <g 836 + id="g72"> 837 + <path 838 + style="font-weight:bold;font-size:16.9333px;line-height:1.25;-inkscape-font-specification:'sans-serif Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.0690111" 839 + d="m 185.24734,83.96512 h 1.28693 c 1.20226,0.01693 2.09973,-1.015998 2.0828,-2.370662 v -9.393759 c -0.0169,-0.711199 0.33866,-1.066798 1.10066,-1.066798 h 0.2032 0.0677 v -1.557864 c -1.0668,0.01693 -1.38853,-0.270933 -1.37159,-1.236131 V 58.96308 c 0.0339,-1.354664 -0.88054,-2.387595 -2.0828,-2.370662 h -1.28693 v 1.676397 h 0.62653 c 0.57573,0 0.77893,0.321733 0.762,1.100664 v 9.122827 c 0,1.219198 0.44027,1.710263 1.64253,1.862663 -1.20226,0.135466 -1.64253,0.626532 -1.64253,1.84573 v 9.122826 c 0.0169,0.660399 -0.23707,0.965198 -0.762,0.965198 h -0.62653 z" 840 + id="text70" 841 + aria-label="}" 842 + sodipodi:nodetypes="ccccsccccccccscscscscc" /> 843 + <path 844 + style="fill:#1a1a1a;fill-opacity:0;stroke:#000000;stroke-width:1.25;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 845 + d="M 190.40199,70.278769 H 224.6663" 846 + id="path70" /> 847 + </g> 848 + <path 849 + style="font-weight:bold;font-size:16.9333px;line-height:1.25;-inkscape-font-specification:'sans-serif Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.0690111" 850 + d="m -88.44114,74.337891 h 1.28693 c 1.20226,0.01693 2.09973,-1.015998 2.0828,-2.370662 V 62.57347 c -0.0169,-0.711199 0.33866,-1.066798 1.10066,-1.066798 h 0.2032 0.0677 v -1.557864 c -1.0668,0.01693 -1.38853,-0.270933 -1.37159,-1.236131 v -9.376826 c 0.0339,-1.354664 -0.88054,-2.387595 -2.0828,-2.370662 h -1.28693 v 1.676397 h 0.62653 c 0.57573,0 0.77893,0.321733 0.762,1.100664 v 9.122827 c 0,1.219198 0.44027,1.710263 1.64253,1.862663 -1.20226,0.135466 -1.64253,0.626532 -1.64253,1.84573 v 9.122826 c 0.0169,0.660399 -0.23707,0.965198 -0.762,0.965198 h -0.62653 z" 851 + id="text70-1" 852 + aria-label="}" 853 + sodipodi:nodetypes="ccccsccccccccscscscscc" /> 854 + <text 855 + xml:space="preserve" 856 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.9333px;font-family:Serif;-inkscape-font-specification:Serif;text-align:start;writing-mode:tb-rl;direction:ltr;text-orientation:upright;text-anchor:start;fill:#1a1a1a;fill-opacity:0;stroke:#000000;stroke-width:1.25;stroke-dasharray:none;stroke-dashoffset:0" 857 + x="200.88817" 858 + y="38.990276" 859 + id="text72"><tspan 860 + sodipodi:role="line" 861 + id="tspan72" 862 + style="stroke-width:1.25" 863 + x="200.88817" 864 + y="38.990276" /></text> 865 + <text 866 + xml:space="preserve" 867 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 868 + x="205.12828" 869 + y="60.090775" 870 + id="text73"><tspan 871 + sodipodi:role="line" 872 + x="205.12828" 873 + y="60.090775" 874 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 875 + id="tspan73">e.g.,:</tspan><tspan 876 + sodipodi:role="line" 877 + x="205.12828" 878 + y="68.028275" 879 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 880 + id="tspan74">queue[0]</tspan></text> 881 + <g 882 + id="g75" 883 + transform="translate(0,40.745853)"> 884 + <path 885 + style="font-weight:bold;font-size:16.9333px;line-height:1.25;-inkscape-font-specification:'sans-serif Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.0690111" 886 + d="m 185.24734,83.96512 h 1.28693 c 1.20226,0.01693 2.09973,-1.015998 2.0828,-2.370662 v -9.393759 c -0.0169,-0.711199 0.33866,-1.066798 1.10066,-1.066798 h 0.2032 0.0677 v -1.557864 c -1.0668,0.01693 -1.38853,-0.270933 -1.37159,-1.236131 V 58.96308 c 0.0339,-1.354664 -0.88054,-2.387595 -2.0828,-2.370662 h -1.28693 v 1.676397 h 0.62653 c 0.57573,0 0.77893,0.321733 0.762,1.100664 v 9.122827 c 0,1.219198 0.44027,1.710263 1.64253,1.862663 -1.20226,0.135466 -1.64253,0.626532 -1.64253,1.84573 v 9.122826 c 0.0169,0.660399 -0.23707,0.965198 -0.762,0.965198 h -0.62653 z" 887 + id="path74" 888 + aria-label="}" 889 + sodipodi:nodetypes="ccccsccccccccscscscscc" /> 890 + <path 891 + style="fill:#1a1a1a;fill-opacity:0;stroke:#000000;stroke-width:1.25;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 892 + d="M 190.40199,70.278769 H 224.6663" 893 + id="path75" /> 894 + </g> 895 + <text 896 + xml:space="preserve" 897 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 898 + x="205.12828" 899 + y="100.83664" 900 + id="text76"><tspan 901 + sodipodi:role="line" 902 + x="205.12828" 903 + y="100.83664" 904 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 905 + id="tspan75">e.g.,:</tspan><tspan 906 + sodipodi:role="line" 907 + x="205.12828" 908 + y="108.77414" 909 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 910 + id="tspan76">queue[4]</tspan></text> 911 + <g 912 + id="g77" 913 + transform="translate(0,85.725048)"> 914 + <path 915 + style="font-weight:bold;font-size:16.9333px;line-height:1.25;-inkscape-font-specification:'sans-serif Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.0690111" 916 + d="m 185.24734,83.96512 h 1.28693 c 1.20226,0.01693 2.09973,-1.015998 2.0828,-2.370662 v -9.393759 c -0.0169,-0.711199 0.33866,-1.066798 1.10066,-1.066798 h 0.2032 0.0677 v -1.557864 c -1.0668,0.01693 -1.38853,-0.270933 -1.37159,-1.236131 V 58.96308 c 0.0339,-1.354664 -0.88054,-2.387595 -2.0828,-2.370662 h -1.28693 v 1.676397 h 0.62653 c 0.57573,0 0.77893,0.321733 0.762,1.100664 v 9.122827 c 0,1.219198 0.44027,1.710263 1.64253,1.862663 -1.20226,0.135466 -1.64253,0.626532 -1.64253,1.84573 v 9.122826 c 0.0169,0.660399 -0.23707,0.965198 -0.762,0.965198 h -0.62653 z" 917 + id="path76" 918 + aria-label="}" 919 + sodipodi:nodetypes="ccccsccccccccscscscscc" /> 920 + <path 921 + style="fill:#1a1a1a;fill-opacity:0;stroke:#000000;stroke-width:1.25;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#ArrowWideHeavy)" 922 + d="M 190.40199,70.278769 H 224.6663" 923 + id="path77" /> 924 + </g> 925 + <text 926 + xml:space="preserve" 927 + style="font-style:normal;font-weight:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 928 + x="205.12828" 929 + y="145.81558" 930 + id="text78"><tspan 931 + sodipodi:role="line" 932 + x="205.12828" 933 + y="145.81558" 934 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 935 + id="tspan77">e.g.,:</tspan><tspan 936 + sodipodi:role="line" 937 + x="205.12828" 938 + y="153.75308" 939 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 940 + id="tspan78">queue[n]</tspan></text> 941 + <g 942 + id="g81"> 943 + <text 944 + xml:space="preserve" 945 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 946 + x="-18.502264" 947 + y="65.642387" 948 + id="text79"><tspan 949 + sodipodi:role="line" 950 + x="-18.502264" 951 + y="65.642387" 952 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#800000;stroke-width:0.0690111" 953 + id="tspan79">HQD</tspan></text> 954 + <ellipse 955 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0" 956 + id="path79" 957 + cx="-18.407015" 958 + cy="63.2188" 959 + rx="13.317666" 960 + ry="4.4124799" /> 961 + <path 962 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Triangle)" 963 + d="M -4.6361224,63.2188 H 10.606988" 964 + id="path80" /> 965 + </g> 966 + <g 967 + id="g82" 968 + transform="translate(0,14.287503)"> 969 + <text 970 + xml:space="preserve" 971 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 972 + x="-18.502264" 973 + y="65.642387" 974 + id="text81"><tspan 975 + sodipodi:role="line" 976 + x="-18.502264" 977 + y="65.642387" 978 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#800000;stroke-width:0.0690111" 979 + id="tspan81">HQD</tspan></text> 980 + <ellipse 981 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0" 982 + id="ellipse81" 983 + cx="-18.407015" 984 + cy="63.2188" 985 + rx="13.317666" 986 + ry="4.4124799" /> 987 + <path 988 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Triangle)" 989 + d="M -4.6361224,63.2188 H 10.606988" 990 + id="path81" /> 991 + </g> 992 + <g 993 + id="g83" 994 + transform="translate(0,40.745853)"> 995 + <text 996 + xml:space="preserve" 997 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 998 + x="-18.502264" 999 + y="65.642387" 1000 + id="text82"><tspan 1001 + sodipodi:role="line" 1002 + x="-18.502264" 1003 + y="65.642387" 1004 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#800000;stroke-width:0.0690111" 1005 + id="tspan82">HQD</tspan></text> 1006 + <ellipse 1007 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0" 1008 + id="ellipse82" 1009 + cx="-18.407015" 1010 + cy="63.2188" 1011 + rx="13.317666" 1012 + ry="4.4124799" /> 1013 + <path 1014 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Triangle)" 1015 + d="M -4.6361224,63.2188 H 10.606988" 1016 + id="path82" /> 1017 + </g> 1018 + <g 1019 + id="g84" 1020 + transform="translate(0,55.033362)"> 1021 + <text 1022 + xml:space="preserve" 1023 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1024 + x="-18.502264" 1025 + y="65.642387" 1026 + id="text83"><tspan 1027 + sodipodi:role="line" 1028 + x="-18.502264" 1029 + y="65.642387" 1030 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#800000;stroke-width:0.0690111" 1031 + id="tspan83">HQD</tspan></text> 1032 + <ellipse 1033 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0" 1034 + id="ellipse83" 1035 + cx="-18.407015" 1036 + cy="63.2188" 1037 + rx="13.317666" 1038 + ry="4.4124799" /> 1039 + <path 1040 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Triangle)" 1041 + d="M -4.6361224,63.2188 H 10.606988" 1042 + id="path83" /> 1043 + </g> 1044 + <g 1045 + id="g85" 1046 + transform="translate(0,85.195881)"> 1047 + <text 1048 + xml:space="preserve" 1049 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1050 + x="-18.502264" 1051 + y="65.642387" 1052 + id="text84"><tspan 1053 + sodipodi:role="line" 1054 + x="-18.502264" 1055 + y="65.642387" 1056 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#800000;stroke-width:0.0690111" 1057 + id="tspan84">HQD</tspan></text> 1058 + <ellipse 1059 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0" 1060 + id="ellipse84" 1061 + cx="-18.407015" 1062 + cy="63.2188" 1063 + rx="13.317666" 1064 + ry="4.4124799" /> 1065 + <path 1066 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Triangle)" 1067 + d="M -4.6361224,63.2188 H 10.606988" 1068 + id="path84" /> 1069 + </g> 1070 + <g 1071 + id="g86" 1072 + transform="translate(0,99.48339)"> 1073 + <text 1074 + xml:space="preserve" 1075 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1076 + x="-18.502264" 1077 + y="65.642387" 1078 + id="text85"><tspan 1079 + sodipodi:role="line" 1080 + x="-18.502264" 1081 + y="65.642387" 1082 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#800000;stroke-width:0.0690111" 1083 + id="tspan85">HQD</tspan></text> 1084 + <ellipse 1085 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0" 1086 + id="ellipse85" 1087 + cx="-18.407015" 1088 + cy="63.2188" 1089 + rx="13.317666" 1090 + ry="4.4124799" /> 1091 + <path 1092 + style="fill:#800000;fill-opacity:0;stroke:#800000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Triangle)" 1093 + d="M -4.6361224,63.2188 H 10.606988" 1094 + id="path85" /> 1095 + </g> 1096 + <text 1097 + xml:space="preserve" 1098 + style="font-style:normal;font-weight:normal;font-size:5.64444px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1099 + x="-35.2131" 1100 + y="54.673237" 1101 + id="text86"><tspan 1102 + sodipodi:role="line" 1103 + x="-35.2131" 1104 + y="54.673237" 1105 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 1106 + id="tspan86">Registers</tspan></text> 1107 + <path 1108 + style="fill:#800000;fill-opacity:0;stroke:#1a1a1a;stroke-width:1;stroke-dasharray:1, 1;stroke-dashoffset:0;marker-end:url(#ArrowWide)" 1109 + d="m -45.247972,57.442462 v 5.888987 h 11.344412" 1110 + id="path86" 1111 + sodipodi:nodetypes="ccc" /> 1112 + <text 1113 + xml:space="preserve" 1114 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1115 + x="-74.441521" 1116 + y="82.441582" 1117 + id="text87"><tspan 1118 + sodipodi:role="line" 1119 + x="-74.441521" 1120 + y="82.441582" 1121 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 1122 + id="tspan87">MQD</tspan></text> 1123 + <text 1124 + xml:space="preserve" 1125 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1126 + x="-74.441521" 1127 + y="99.240776" 1128 + id="text88"><tspan 1129 + sodipodi:role="line" 1130 + x="-74.441521" 1131 + y="99.240776" 1132 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 1133 + id="tspan88">MQD</tspan></text> 1134 + <text 1135 + xml:space="preserve" 1136 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1137 + x="-74.441521" 1138 + y="116.03998" 1139 + id="text89"><tspan 1140 + sodipodi:role="line" 1141 + x="-74.441521" 1142 + y="116.03998" 1143 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 1144 + id="tspan89">MQD</tspan></text> 1145 + <text 1146 + xml:space="preserve" 1147 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1148 + x="-74.441521" 1149 + y="132.83917" 1150 + id="text90"><tspan 1151 + sodipodi:role="line" 1152 + x="-74.441521" 1153 + y="132.83917" 1154 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 1155 + id="tspan90">MQD</tspan></text> 1156 + <text 1157 + xml:space="preserve" 1158 + style="font-style:normal;font-weight:normal;font-size:7.05556px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1159 + x="-74.441521" 1160 + y="168.3002" 1161 + id="text91"><tspan 1162 + sodipodi:role="line" 1163 + x="-74.441521" 1164 + y="168.3002" 1165 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 1166 + id="tspan91">MQD</tspan></text> 1167 + <text 1168 + xml:space="preserve" 1169 + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1170 + x="-74.441521" 1171 + y="148.1461" 1172 + id="text92"><tspan 1173 + sodipodi:role="line" 1174 + x="-74.441521" 1175 + y="148.1461" 1176 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.5833px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;writing-mode:tb-rl;text-anchor:middle;stroke-width:0.0690111" 1177 + id="tspan92">...</tspan></text> 1178 + <g 1179 + id="g97" 1180 + transform="translate(-5.8208336)"> 1181 + <rect 1182 + style="fill:#aaffcc;fill-opacity:1;stroke:#1a1a1a;stroke-width:0.5;stroke-dasharray:none;stroke-dashoffset:0" 1183 + id="rect96" 1184 + width="58.726093" 1185 + height="27.598055" 1186 + x="-142.96434" 1187 + y="46.852512" /> 1188 + <text 1189 + xml:space="preserve" 1190 + style="font-style:normal;font-weight:normal;font-size:4.23333px;line-height:1.25;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1191 + x="-139.74622" 1192 + y="52.62756" 1193 + id="text93"><tspan 1194 + sodipodi:role="line" 1195 + x="-139.74622" 1196 + y="52.62756" 1197 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1198 + id="tspan93">HQD Registers</tspan><tspan 1199 + sodipodi:role="line" 1200 + x="-139.74622" 1201 + y="57.91922" 1202 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1203 + id="tspan95">Queue Address in the GPU</tspan><tspan 1204 + sodipodi:role="line" 1205 + x="-139.74622" 1206 + y="63.210884" 1207 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1208 + id="tspan96">Doorbell</tspan><tspan 1209 + sodipodi:role="line" 1210 + x="-139.74622" 1211 + y="68.502548" 1212 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1213 + id="tspan97">...</tspan><tspan 1214 + sodipodi:role="line" 1215 + x="-139.74622" 1216 + y="73.794212" 1217 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1218 + id="tspan94" /></text> 1219 + </g> 1220 + <text 1221 + xml:space="preserve" 1222 + style="font-style:normal;font-weight:normal;font-size:4.23333px;line-height:1.25;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1223 + x="-61.293022" 1224 + y="-19.380915" 1225 + id="text93-1"><tspan 1226 + sodipodi:role="line" 1227 + x="-61.293022" 1228 + y="-19.380915" 1229 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 1230 + id="tspan104">SWITCH QUEUE:</tspan><tspan 1231 + sodipodi:role="line" 1232 + x="-61.293022" 1233 + y="-14.089252" 1234 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1235 + id="tspan101">WAIT FOR HQD_ACTIVE = 0</tspan><tspan 1236 + sodipodi:role="line" 1237 + x="-61.293022" 1238 + y="-8.7975903" 1239 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1240 + id="tspan105">SAVE QUEUE STATE TO THE MQD</tspan><tspan 1241 + sodipodi:role="line" 1242 + x="-61.293022" 1243 + y="-3.505928" 1244 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1245 + id="tspan102">COPY NEW MQD STATE</tspan><tspan 1246 + sodipodi:role="line" 1247 + x="-61.293022" 1248 + y="1.7857342" 1249 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:start;text-anchor:start;stroke-width:0.0690111" 1250 + id="tspan103">SET HQD_ACTIVE = 1</tspan></text> 1251 + <circle 1252 + style="fill:#ffeeaa;fill-opacity:1;stroke:#1a1a1a;stroke-width:1.88976;stroke-dasharray:none;stroke-dashoffset:0" 1253 + id="path97" 1254 + cx="0" 1255 + cy="0" 1256 + r="0" 1257 + transform="matrix(0.26458333,0,0,0.26458333,-149.03517,37.347779)" /> 1258 + <text 1259 + xml:space="preserve" 1260 + style="font-style:normal;font-weight:normal;font-size:5.64444px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0690111" 1261 + x="-36.659206" 1262 + y="-44.828983" 1263 + id="text106"><tspan 1264 + sodipodi:role="line" 1265 + x="-36.659206" 1266 + y="-44.828983" 1267 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.0690111" 1268 + id="tspan106">Firmware</tspan></text> 1269 + <path 1270 + style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;marker-start:url(#marker109);marker-end:url(#ArrowTriangleStylized)" 1271 + d="M -84.242601,-9.1838245 H -98.041629 V 33.17598" 1272 + id="path106" /> 1273 + <path 1274 + style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Dot)" 1275 + d="M 9.9745536,-9.3442784 H 29.549918 V 37.170287" 1276 + id="path107" 1277 + sodipodi:nodetypes="ccc" /> 1278 + </g> 1279 + </svg>