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


Date: Fri, 29 Apr 2005 09:08:42 -0500 (CDT)
From: Mike Marty <mikem@xxxxxxxxxxx>
Subject: Re: [Gems-users] Using GEMS with Stale Data Accesses
By default, when running Ruby with Simics, no data values are stored.  We
rely on Simics to provide the data value and Ruby models the timing only.

However this can be changed through the DATA_BLOCK configuration option in
ruby/rubyconfig.defaults.  Note that this is set to true for the random
tester because the tester relies on this for detecting protocol errors.

--Mike


> 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
>
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>
[← Prev in Thread] Current Thread [Next in Thread→]