Re: [Gems-users] Using GEMS with Stale Data Accesses


Date: Fri, 29 Apr 2005 02:14:07 -0400 (EDT)
From: Vince Weaver <vince@xxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] Using GEMS with Stale Data Accesses
Hello,

I'm working with Sid on trying to get the stale data accesses working
under Gems.

We can't seem to get the stale data out of the CPU's local L1 cache.
We've tried at least 5 different ways but the cache-line always comes back
all zeros.

Currently in ./ruby/system/CacheMemory.h I made a copy
of tryCacheAccess called tryCacheAccessStale.
The only change I made was to have it return "true" if
entry.m_Permission == AccessPermission_Invalid.

It is called from ./ruby/system/STD_Sequencer.h as this

bool hit = m_chip_ptr->m_L1Cache_L1DcacheMemory_vec[m_version]->
        tryCacheAccessStale( Address(line_address(request.getAddress())),
                              request.getType(),data_ptr);


I would assume this would return in data_ptr the data from this cache
block, but it doesn't.  All it returns are zeros.

Am I doing something obviously wrong here?


I've also tried using getMemoryValue() instead to get the cache block
and that didn't work either.


I appreciate any help anyone can give,

Vince

[← Prev in Thread] Current Thread [Next in Thread→]