summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
Diffstat (limited to 'inc')
-rw-r--r--inc/accessor.h3
-rw-r--r--inc/definitions.h32
-rw-r--r--inc/response.h1
-rw-r--r--inc/storage.h2
-rw-r--r--inc/utils.h2
5 files changed, 37 insertions, 3 deletions
diff --git a/inc/accessor.h b/inc/accessor.h
index fb4999d..eb56785 100644
--- a/inc/accessor.h
+++ b/inc/accessor.h
@@ -4,7 +4,10 @@
enum Accessor {
IDLE,
+ WRITE,
MEM,
+ EXEC,
+ DCDE,
FETCH,
L1CACHE,
SIDE,
diff --git a/inc/definitions.h b/inc/definitions.h
index ff2f7c6..3238a8b 100644
--- a/inc/definitions.h
+++ b/inc/definitions.h
@@ -11,6 +11,10 @@
* The total number of words in a line
*/
#define LINE_SIZE static_cast<int>(pow(2, 2))
+/**
+ * Number of bits in a word
+ */
+#define WORD_SPEC 32
/**
* The number of bits to specify a memory word
@@ -28,7 +32,8 @@
* The total number of lines in l1 cache
*/
#define L1_CACHE_WORD_SPEC 7
-#define L1_CACHE_LINE_SPEC static_cast<unsigned int>(L1_CACHE_WORD_SPEC - LINE_SPEC)
+#define L1_CACHE_LINE_SPEC \
+ static_cast<unsigned int>(L1_CACHE_WORD_SPEC - LINE_SPEC)
#define L1_CACHE_LINES static_cast<int>(pow(2, L1_CACHE_LINE_SPEC))
/**
@@ -47,6 +52,31 @@
#define GPR_NUM 16
/**
+ * The number of vector registers
+ */
+#define V_NUM 8
+
+/**
+ * The number of bits to specify an instruction type
+ */
+#define TYPE_SIZE 2
+
+/**
+ * The number of bits to specify a register
+ */
+#define REG_SIZE 5
+
+/**
+ * The number of bits to specify an R-Type opcode.
+ */
+#define R_OPCODE_SIZE 5
+
+/**
+ * The number of bits to specify an opcode.
+ */
+#define OPCODE_SIZE 4
+
+/**
* Return the N least-significant bits from integer K using a bit mask
* @param the integer to be parsed
* @param the number of bits to be parsed
diff --git a/inc/response.h b/inc/response.h
index 6cd6678..05e9352 100644
--- a/inc/response.h
+++ b/inc/response.h
@@ -6,6 +6,7 @@ enum Response {
OK,
WAIT,
BLOCKED,
+ STALLED,
};
std::ostream &operator<<(std::ostream &os, Response r);
diff --git a/inc/storage.h b/inc/storage.h
index ff1fbcb..d6fa094 100644
--- a/inc/storage.h
+++ b/inc/storage.h
@@ -80,7 +80,7 @@ class Storage
/**
* The accessor currently being serviced.
*/
- enum Accessor requester;
+ Accessor requester;
/**
* The number of cycles until the current request is completed.
*/
diff --git a/inc/utils.h b/inc/utils.h
index df8d374..a375b68 100644
--- a/inc/utils.h
+++ b/inc/utils.h
@@ -10,7 +10,7 @@
* @param the resulting index
* @param the resulting offset
*/
-void get_bit_fields(int address, int *tag, int *index, int *offset);
+void get_cache_fields(int address, int *tag, int *index, int *offset);
/**
* Formats a string using snprintf.