Commit graph

1603 commits

Author SHA1 Message Date
Ron Dreslinski
1b2c81b9d7 Add more prefetcher support.
SConscript:
    Add GHB prefetcher to build list
python/m5/objects/BaseCache.mpy:
    Add parameters about when to remove prefetches and wether or not to use cpuid to differentiate access patterns

--HG--
extra : convert_revision : 1d3fef21910f2f34b8c28d01b5f6e86eef53357c
2005-04-04 16:25:22 -04:00
Ron Dreslinski
a07340f6cd Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/prefetcher

--HG--
extra : convert_revision : b89d95b6b09a70dc060747f9703643af008c2ddd
2005-04-04 08:34:16 -04:00
Ron Dreslinski
4889d8f788 Added support for multiple prefetch address from single access (depth of prefetch) also added the ability to squash some prefetchs to match the GHB technique
python/m5/objects/BaseCache.mpy:
    Added parameters

--HG--
extra : convert_revision : 92b646eb61455d283a5c2ac0b3f8fbd62e39fb87
2005-04-02 20:36:08 -05:00
Ron Dreslinski
46a832eb3b Rework some statistics and add some prefetcher statistics. Also remove an unneeded function call.
--HG--
extra : convert_revision : b40cfc16f237ec03aac15d42fe34d5676b0c71c1
2005-04-02 18:40:59 -05:00
Steve Reinhardt
a72deba708 Fix up Python ParamContext support.
--HG--
extra : convert_revision : cd2fe692b42016c4e2a84cd5c8f615c16217254a
2005-04-02 01:20:47 -05:00
Ron Dreslinski
9f2d8346c7 Set the time in the request to proprley calculate latencies
--HG--
extra : convert_revision : cd54e924ad89cebbd797beda7dbbdae53eec66a7
2005-04-01 21:08:03 -05:00
Ron Dreslinski
23396b1438 Make sure to calculate the new state properly in coherence protocol
--HG--
extra : convert_revision : 5a983f5d2e225d4be205faa9bacffc2258452efc
2005-04-01 21:07:08 -05:00
Ron Dreslinski
fdceb0f00c Some hand merges
--HG--
rename : objects/BaseCache.mpy => python/m5/objects/BaseCache.mpy
extra : convert_revision : b24ff4c1feb480cf280207d4bbdfe08ef80d1aa2
2005-04-01 19:39:23 -05:00
Ron Dreslinski
c21bf8e7ae Another pass at the prefetcher. Now it works with both miss and access reference streams.
Reworked how it is instattiated and how it communicates with other cache objects.

SConscript:
    Compile all the prefetcher files
objects/BaseCache.mpy:
    Add parameters for prefetcher

--HG--
extra : convert_revision : 2faa81c17673420ffae72a50a27e310d4c0f4135
2005-04-01 19:26:44 -05:00
Ron Dreslinski
9ba57eafc2 Remove a printf that shouldn't be there, Fix some errors with full system config files that wasn't using coherence in MP cases
--HG--
extra : convert_revision : 32670b9252fd4be61ab4dcc8d90f4251d9db5069
2005-04-01 18:25:34 -05:00
Ron Dreslinski
13608a9b85 Rework the way the prefetcher is used. Now we copy the request from the prefetch queue and into the mq when issued
objects/BaseCache.mpy:
    Add some parameters for prefetcher

--HG--
extra : convert_revision : 1a2e6d2ce5359fab0a4d5d4639a701131101d68c
2005-03-30 15:05:58 -05:00
Ron Dreslinski
cda8f99a56 First pass at a prefetcher
SConscript:
    Add prefetcher to the compilation
base/traceflags.py:
    Add a trace flag for hardware prefetches

--HG--
extra : convert_revision : bc210192a2b75b1470b2cd9d5d470fc61cb11315
2005-03-30 04:46:04 -05:00
Nathan Binkert
43a9caa221 expose variables for number of global events per simulated second,
millisecond, microsecond, etc. so that the user can explicitly
convert between system ticks and time and know what sorts of
expensive operations are being used for that conversion.

arch/alpha/alpha_tru64_process.cc:
arch/alpha/pseudo_inst.cc:
dev/etherdump.cc:
dev/etherlink.cc:
dev/ns_gige.cc:
dev/sinic.cc:
dev/tsunami_io.cc:
dev/uart.cc:
sim/stat_control.cc:
sim/syscall_emul.hh:
    Use the new variables for getting the event clock
dev/etherdump.hh:
    delete variables that are no longer needed.

--HG--
extra : convert_revision : d95fc7d44909443e1b7952a24ef822ef051c7cf2
2005-03-29 07:55:44 -05:00
Nathan Binkert
a86b95cb18 If we find the mysql libraries on the machine, just compile
with mysql and remove the special compile type.

SConscript:
    If we find the mysql libraries on the machine, just compile
    with mysql.
build/SConstruct:
    we always use mysql, and we got rid of the FS_MEASURE

--HG--
extra : convert_revision : a7c4277c890e1b6390ef06288114c9bdde11b178
2005-03-28 00:41:28 -05:00
Nathan Binkert
1cd15e8e4a style
--HG--
extra : convert_revision : 3a45fb5dbd0975f60a37e0e0c3ab27450b7d749e
2005-03-25 23:03:31 -05:00
Nathan Binkert
40bab977bc Better handling of latency/frequency parameter types
python/m5/config.py:
    Addr is slightly different from memory size in that Addr
    will take non strings.
    Deal with the fact that the convert.toFoo functions only accept
    strings.
    Add RootFrequency as a special type for the Root.frequency
    parameter which is not scaled.
    Add ClockPeriod parameter type.
python/m5/convert.py:
    Be more strict about what's allowed.
    Only accept strings as inputs for these conversion functions.
    If the user wants to accept something else, they need to deal
    with the failure and convert other types on their own.
python/m5/objects/Bus.mpy:
    Use the new ClockPeriod parameter type
python/m5/objects/Root.mpy:
    Can't use integers for frequency anymore
python/m5/smartdict.py:
    rename SmartDict.Proxy to just Variable.  Create a new class
    UndefinedVariable that is returned when the user tries to get
    a variable that is not in the dict.  Undefined variable evaluates
    to false, and will cause an error elsewhere.

--HG--
extra : convert_revision : 1d55246fd1af65106f102396234827d6401ef9ce
2005-03-25 22:59:29 -05:00
Nathan Binkert
7e1995a29c Better exceptions in python config
python/m5/config.py:
    Don't raise a new exception, just modify and re-raise the old one.

--HG--
extra : convert_revision : 47f6da3a8cb2ee18a6b400863e7ea80ab0c9a5ea
2005-03-25 22:32:00 -05:00
Ron Dreslinski
59f43580bc Update so that statistics can be plotted correctly
util/stats/stats.py:
    Changed some stuff for graphing purposes:
    full_cpu is now full0
    frequencies are now s,m,f,q not s,6,8,q
    L2 is now l2
    etherdev is now etherdev0

    May want to consider fact that NAT box should be the sum of etherdev0 and etherdev1 (not in script yet)

--HG--
extra : convert_revision : 39a7d0bcf1b9354a77c12de5981e8277408ba791
2005-03-24 15:52:30 -05:00
Nathan Binkert
50269754f9 Simple python cleanup
--HG--
extra : convert_revision : 1c2d3551f8057ae9fdb9fc5a6a853ad380afdc49
2005-03-24 14:30:00 -05:00
Nathan Binkert
c5b63bc4c1 Improvements to send.py to allow the user to specify the jobfile
util/pbs/send.py:
    Allow the user to specify the jobfile

--HG--
extra : convert_revision : 0e21d2b03355bb7e8938c828bbaa441dc51afd1a
2005-03-24 12:25:34 -05:00
Nathan Binkert
d10412d565 Improve toBool
python/m5/convert.py:
    an empty string should still be false

--HG--
extra : convert_revision : dd9900794d94cd018b57ec81bcbce1d412e2a83e
2005-03-24 12:24:54 -05:00
Nathan Binkert
eeff53841a Add Frequency and Latency as new parameter types and use them
where we can

python/m5/config.py:
    Add two new parameter types: Frequency and Latency.  These will soon
    be an integral part of the tick is picosecond thing.  If the value
    can be converted directly to an integer without any special tricks,
    we assume that the number is the exact value desired.  Otherwise,
    we convert the number assuming that it is in Hz or s.
python/m5/objects/Bus.mpy:
    Use the new Latency and Frequency types where we can

--HG--
extra : convert_revision : b3cff6020db83fb819507c348451c98697d1cf27
2005-03-24 12:24:17 -05:00
Nathan Binkert
257be74341 Formatting fixes
--HG--
extra : convert_revision : 9a726945b7a1decbecf460df6714257b88742dc8
2005-03-23 22:58:47 -05:00
Ali Saidi
97064c5216 Add some new config files
--HG--
extra : convert_revision : b454144b3c00c101e970269c6c084d601cee971f
2005-03-23 15:57:38 -05:00
Ali Saidi
5d85dbd458 Change the colors slightly and text (this was for steve's talk way
back when)

--HG--
extra : convert_revision : b24a30b613710fe657f05bea46d45e9b13912d8e
2005-03-23 15:57:10 -05:00
Ali Saidi
a8182f74df update profile code to use shared categories file
util/stats/stats.py:
    add database command to help

--HG--
extra : convert_revision : 5d77e9d3e142f884d08d34b730c385c41c6bcafb
2005-03-23 15:55:09 -05:00
Ali Saidi
903c984770 Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : ed00a0f85ed796a19a3112d0dd5b775c1dbcf2b8
2005-03-23 15:52:03 -05:00
Ali Saidi
2be988074c Add nhfsstone benchmark and update the latencies of various Monet things
--HG--
extra : convert_revision : 37ff30f90e44a2db21582503ce8b181e0979c7a4
2005-03-23 15:51:25 -05:00
Ron Dreslinski
d4e9175c24 Removing unneccasry dprintf that makes traces nearly impossible to read when busses have alot of devices connected to them
--HG--
extra : convert_revision : 1a23dd815840d5863bb0ab58698d8eab8382bf38
2005-03-23 15:23:32 -05:00
Nathan Binkert
153130e558 First step in fixing up parameter handling. Clean up the
way ranges work, more fully support metric prefixes for all
integer types, and convert memory sized parameters to the
MemorySize type.

python/m5/config.py:
    - no more _Param and _ParamProxy stuff.  Use the names
    ParamBase and ParamFactory to hopefully make it clearer
    what we intend.
    - Get rid of RangeSize and the old Range class and more fully flesh
    out the Range class to deal with types of parameters and different
    kinds of ranges.
    - Call toInteger on the CheckedInt types so we can use metric prefixes
    in strings for all integers.
    - Get rid of the K, M, and G constants.  Use the proper type or call
    one of the functions in the convert package.
python/m5/convert.py:
    Simple way to deal with both floating point and integer strings.
python/m5/objects/BaseCache.mpy:
python/m5/objects/Ethernet.mpy:
    This is a MemorySize typed parameter

--HG--
extra : convert_revision : 92b4ea662d723abdd6c0a49065b79c25400fac9b
2005-03-23 13:25:48 -05:00
Ali Saidi
df70e5825d Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : d5e2af1b6ed4dae9e7cc7912f84b9cab83a4d07c
2005-03-22 16:32:51 -05:00
Ali Saidi
68129d3384 Yet another validation test
--HG--
extra : convert_revision : 41fd3b0b3edf06b0bae80fd70f7f7b3c46872dc7
2005-03-22 16:32:44 -05:00
Nathan Binkert
48e0b9ed4d style
python/m5/convert.py:
python/m5/smartdict.py:
    follow our naming convention

--HG--
extra : convert_revision : d57a103dfbad1fb6a076bfacdca226c4b1893fb8
2005-03-22 14:51:31 -05:00
Nathan Binkert
ac547c6489 Fix a bug introduced with the multidict commit.
python/m5/config.py:
    search for any base class that is a confignode instead of those
    that derive from param type so that non-type classes work
    too.  (Those that are just derived from ConfigNode and not
    SimObject.)

--HG--
extra : convert_revision : 422181b2e5efd4675ec34adcffecfb58eee0e4e7
2005-03-22 14:47:18 -05:00
Nathan Binkert
5f2b3a6e5d clean up python exceptions
python/m5/config.py:
    clean up exception output a bit.

--HG--
extra : convert_revision : a27e75276ffc9001f44c44595172cf2b455e5e23
2005-03-22 14:42:05 -05:00
Nathan Binkert
95865117bc Remove lisa's extra printf
--HG--
extra : convert_revision : 24c566c17a8fd10e5ecc0b18f36659b4ab2dcded
2005-03-22 14:41:23 -05:00
Nathan Binkert
3583fb6830 Use the multidict in the python config stuff. Makes code a bit
cleaner.

python/m5/config.py:
    Use the multidict instead of the separately coded _getparam
    and _getvalue stuff.  While we're at it, when we see a default
    parameter, we stick it into the dictionary right away.

--HG--
extra : convert_revision : d6f6f5cc454a479e27718ec7952cd7559229ebe7
2005-03-22 00:53:01 -05:00
Nathan Binkert
62ce65c378 We don't support multiple inheritence very well, so we'll
just disable it for real.

--HG--
extra : convert_revision : 893b17fce3e2d9cc69d58bb2fc6a45d61e02d709
2005-03-22 00:40:21 -05:00
Nathan Binkert
eebe4e7fcc Sort the sim objects in the python output
python/m5/config.py:
    Turn back on the sorting of sim objects so we get consistent
    output.  This can lead to slight changes in stats.

--HG--
extra : convert_revision : 8ef9bd534cd2344acd69af7f52ee90b8b1afeb24
2005-03-22 00:08:54 -05:00
Steve Reinhardt
fc04f8015f Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5-head

--HG--
extra : convert_revision : a1cca61433e2cc9fd99d1a2361d32ea5c91b09c7
2005-03-19 08:47:19 -05:00
Ron Dreslinski
634b38fc41 Make each etherdev have it's own pci_dev number
--HG--
extra : convert_revision : 362908e62452f38288e6720c6ff86bab2ef938d8
2005-03-18 17:17:35 -05:00
Ron Dreslinski
c8831cfd36 Hand merged some changes
--HG--
extra : convert_revision : e1650bedf602cea54dd59452ae853786b54724bd
2005-03-18 14:50:48 -05:00
Ron Dreslinski
a64dd990a0 Use the correct version of linux
--HG--
extra : convert_revision : 04e0abb48c9bf6f015879c388bbef834c6f8014c
2005-03-18 14:43:06 -05:00
Ron Dreslinski
fbfea4b34e Reworked the configurations to properly use dual/quad checkpoints
--HG--
extra : convert_revision : 65af704e9a19ae4d63f65a133b3c45aaaeb81f4f
2005-03-18 14:41:29 -05:00
Steve Reinhardt
c929ee2c10 Byproducts of aborted attempt to refine 'parent' proxy semantics.
Mostly cleanup of mpy_importer.mpy_parse().

python/m5/__init__.py:
    Move panic() up to top in case we want to use it
    in mpy_importer (though I ended up not doing that
    after all).
python/m5/config.py:
    Add a couple of comments and a check for expressions
    like parent.any.foo (which is illegal).

--HG--
extra : convert_revision : dfc99ac9b1a2d91a736ca0b773b6d3c528a4f3cc
2005-03-18 13:34:28 -05:00
Lisa Hsu
3efabb6579 re-implement SplitLIFO so that LIFO now applies to individual sets (LRU-style sets) rather than across the whole partition.
--HG--
extra : convert_revision : 684fd9e39f9890181951b8b06f78236c950bf810
2005-03-17 16:08:01 -05:00
Lisa Hsu
fe764e1276 nake systems parameterizable in the number of NICS. appropriately hook up new nibridges and busses for this scenario.
--HG--
extra : convert_revision : a6f3f2167300ba695bc4c92a5a9a5648bc897c6a
2005-03-17 15:32:10 -05:00
Lisa Hsu
3d51dc4132 Merge zizzer:/bk/m5 into zed.eecs.umich.edu:/z/hsul/work/m5/pact05
--HG--
extra : convert_revision : a0a10fccc03edcc5164536ea853788b982e332d7
2005-03-17 14:34:03 -05:00
Lisa Hsu
5977324255 allow the call to len on Value proxy.
--HG--
extra : convert_revision : 1a0aaf8db5ef60e0e7fc053bf4605eb90bb6e9e0
2005-03-17 14:31:08 -05:00
Steve Reinhardt
8b9e38c303 Merge zizzer.eecs.umich.edu:/z/stever/bk/m5-head
into zizzer.eecs.umich.edu:/z/stever/bk/m5-py

--HG--
extra : convert_revision : 39f30bd052c0f2b88524311d674bad7a0fae6358
2005-03-16 23:10:22 -05:00