Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef REQUEST_H
#define REQUEST_H
#include <stdint.h>
#include <iostream>
#include <map>
namespace MCsim
{
enum RequestType
{
DATA_READ,
DATA_WRITE,
};
class Request
{
public:
Request(unsigned int id, RequestType requestType, unsigned int size, unsigned long long addr, void *data) : requestType(requestType),
requestorID(id),
requestSize(size),
address(addr),
data(data),
returnTime(0)
{
}
// Fields
RequestType requestType;
unsigned int requestorID;
unsigned int requestSize;
unsigned long long address;
void *data;
unsigned int arriveTime;
unsigned int returnTime;
unsigned int rank;
unsigned int bankGroup;
unsigned int bank;
unsigned int subArray;
unsigned int row;
unsigned int col;
unsigned int addressMap[4];
// Rank, BankGroup, Bank, SubArray
};
} // namespace MCsim
#endif /* REQUEST_H */