I have also tried to replace the constructor_hack
'MachineType_L1Cache' with other machineType such as 'MachineType_L3Cache'
which has already been in the genereated MachineType.h
file
However, it still failed to make. It seems that in L1Cache.sm
just the MachineType_L1Cache and MachineType_L2Cache can be used as the
MachineType parameter...
So how can new MachineType be implemented?
However, it has been suggested in some previous answer
about new components implemention that they did manage to insert
a new structure.
"I have added a writeback_buffer/victim_buffer between L1 cache and L2
cache. You can implement a victim_cache class as CacheMemory.h does. And then
instantiate it in your Protocol.sm . Pay attention, states and transitions need to be
modiefied because a cache miss firstly need to check the victim buffer and a
replacement firsty need to put into victim buffer. Moreover, you need to add a
queue such as mandatory queue (you can use the optional queue) to transfer
messages between cache and your victim buffer."
I suppose that the victimbuffer structure can be
instantiate in L1Cache.sm. Then when communication are needed from
L1 to the victimbuffer, the request message's destination should be
specified to it. Based on the analysis, we should name the
victimbuffer with new MachineType (so does the machineID.type) and new
mapping function from L1 to corresponding VictimBuffer should be defined. Am I
wrong here?
I would like someone to give me some
advice.
Thanks in advanced!
|