From 13513060cec5dac7c6de720f6f4429dcf500b8ba Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Fri, 14 Jun 2024 17:40:04 +0200 Subject: [PATCH] added Mips Basic Pipe --- lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio | 1 + lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio.pdf | Bin 0 -> 19989 bytes 2 files changed, 1 insertion(+) create mode 100644 lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio create mode 100644 lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio.pdf diff --git a/lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio b/lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio new file mode 100644 index 0000000..3489416 --- /dev/null +++ b/lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio @@ -0,0 +1 @@ +7VxNj9owEP01HLsidkLCcZfttmpVqRKHtqcqIl6w1sTImAL99XWITWIbmizN1ya9IDzEjjPvjT0znjCCs/XhAws3qy80QmQExtFhBB9HAEyhJz4TwTEVeME0FSwZjlKRkwnm+DeSwrGU7nCEttqFnFLC8UYXLmgcowXXZCFjdK9f9kyJftdNuESWYL4IiS39hiO+SqUB8DP5R4SXK3VnZyKfbx2qi+WTbFdhRPc5EXw/gjNGKU+/rQ8zRBLdKb2k/Z6u/HqeGEMxL9PhZffpeYp/ftzsHZ89LcE8+EzeyVF+hWQnH1hOlh+VBhjdxRFKBhmP4MN+hTmab8JF8uteQC5kK74mouWIr3I4xDg6XJ2nc356wRpE14izo7hEdXCkBiVjHKXAfaZ/V4pWedVPpDCUkC/PQ2daEV+kYl6hJLd7SoKdU5JfrCQxijBb0XgQtrBJhAtCd1EjCgOmwlyvlMJgXfoKSugrju6TJeykqHC7xQtdLTrphCLY8XvSuPMcXwl+nASO6yrB4yF//eMx3/qKGBZPh5gUpjNCkbVEGloXa3LIlogX0cNGJ6d974L2lYwhEnL8S5/GJUjkHb5SLCaYgQ918AMD1C3dsQWSnfJLqDEOnOjjWOxI1WANdCLI+alv58y0Ps7ofAFeEV0OmKdcC3xPttOuqpV1TBr5frezLMWpeBEqZKPbKht9g0XurXQExpo2bZaOykerZQ1zJjolvbKUdDQ6ggI+/tuyV0jIt7E8TlydR35VhDQHqpuQtjs754mDD8ZiIuMZZ8QiqHApuE7JLWf0Bc0ooQkhYhonHsszJsQQhQQv44TXghUJdx4SBwWL0OFe/rDGUZTc5qJ7oxO/Cg9nrCvfsz3CSZMOjgNKgDHGcX8RcTzDHGDbkMAh20fn0CgRV+a2T6nVq3tn2V2rrV3GjOtv9sIdw5sHZkxb9y7jDQu3InWXxs0rIEDduE0GhZuZIro96m3b3sqklnqEW1X2Btu2txpTXHps6BfFhmUxLxGptcqNqjIHjhErnOfXFDXsTJZwRE/9xhZHeuOBmvaoNqS2HFB1ZvCGDPTt5+zMXdkcqGbLAxdTJKd+jgV+byyve6ZnJ0f+ZnpFPs1WsIari6kYVMmeMNEP0bprYmacAUFV8WHDfg+wsyxDxxbC4C6oBl17qMbxHVbexq/ILL1pwUB1w2anbWbkpb97nrnlqcPB1ra8MumXFitE3K5ViIDX5T06VSJSGEYrNnRmmXMrqhHxWq4RAY1lXbpQJFJ4AN89nlUVSXrmetVwWlad9Q+k+uPtrWhm/tciSGmmtVzWoVbQC8fWQik9P7Z2O1bWAa/X2GRg9Lqsw7KrtgsJoJ1MGpB9dA6NEumfpl8XsHyF1l8XgMNKopgA3B5etHwYD4dV/FKo7tK4tXwYD6stfulDUtqrLiltD9U4vjUmi3p2lmua4u1x0bTdCBzaqR5ORVs5fzYDeuP1WRhe8PqCRr2+yrMhXTcjvyIrst73bdiKlN+bQ+6Z0XXOjtRbPH00JDO1c8GOpk3akVvijfT/+1gasNWVSW66Jsm9mL849evxFmYmLmqsSRLN7H8mUtSyP+uA7/8A \ No newline at end of file diff --git a/lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio.pdf b/lib/CPUs/MIPS/doc/Mips Basic Pipe.drawio.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b8d48624cc899dcc397b798c9ef1032842b071c5 GIT binary patch literal 19989 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 literal 0 HcmV?d00001