From c25d2eaf19721fc36d8d59fad3a4f44a64917358 Mon Sep 17 00:00:00 2001 From: "(Tim) Efthimis Kritikos" Date: Tue, 21 Mar 2023 12:38:35 +0000 Subject: [PATCH] Added a high level state diagram of the processor --- README.md | 3 + readme_files/9086_overview.odg | Bin 0 -> 46292 bytes readme_files/9086_overview.svg | 535 +++++++++++++++++++++++++++++++++ 3 files changed, 538 insertions(+) create mode 100644 readme_files/9086_overview.odg create mode 100644 readme_files/9086_overview.svg diff --git a/README.md b/README.md index 4c9c327..e38ec53 100644 --- a/README.md +++ b/README.md @@ -25,5 +25,8 @@ Specifically this list shows the software needed and the versions used during de After that you can run `make` on the top level directory and it should build everything and start the simulation +### High level design overview +9086 logo + ### License All parts of this project are licensed under the GNU General Public License version 3 or later diff --git a/readme_files/9086_overview.odg b/readme_files/9086_overview.odg new file mode 100644 index 0000000000000000000000000000000000000000..5bada3fbb1144d26649f746106a150e8c6fa16e8 GIT binary patch literal 46292 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 MzYI62If`ELE+^;M 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IF + + + + + + DECODE + + + + + + MEMIOREAD + + + + + + EXECUTE + + + + + + MEMIOWRITE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FETCH + + + + + + + + + + + + + SECOND FETCH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DECODE + + + + + + + + + + + + + LOAD 16BIT ARG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LOAD 16BIT ARG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + READ MEM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EXECUTE + + + + + + + + + + + + + + + + + + + WRITE MEM + + + + + + + + + + + + + WRITE I/O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Microcode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file