Age | Commit message (Collapse) | Author |
|
CPU cycle ticks. This allows the user to have CPUs of different
frequencies, and also allows frequencies and latencies that are
not evenly divisible by the CPU frequency. For now, the CPU
frequency is still set to the global frequency, but soon, we'll
hopefully make the global frequency fixed at something like 1THz
and set all other frequencies independently.
arch/alpha/ev5.cc:
The cycles counter is based on the current cpu cycle.
cpu/base_cpu.cc:
frequency isn't the cpu parameter anymore, cycleTime is.
cpu/base_cpu.hh:
frequency isn't the cpu parameter anymore, cycleTime is.
create several public functions for getting the cpu frequency
and the numbers of ticks for a given number of cycles, etc.
cpu/memtest/memtest.cc:
cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
cpu/trace/trace_cpu.cc:
Now that ticks aren't cpu cycles, fixup code to advance
by the proper number of ticks.
cpu/memtest/memtest.hh:
cpu/trace/trace_cpu.hh:
Provide a function to get the number of ticks for a given
number of cycles.
dev/alpha_console.cc:
Update for changes in the way that frequencies and latencies are
accessed. Move some stuff to init()
dev/alpha_console.hh:
Need a pointer to the system and the cpu to get the frequency
so we can pass the info to the console code.
dev/etherbus.cc:
dev/etherbus.hh:
dev/etherlink.cc:
dev/etherlink.hh:
dev/ethertap.cc:
dev/ide_disk.hh:
dev/ns_gige.cc:
dev/ns_gige.hh:
update for changes in the way bandwidths are passed from
python to C++ to accomidate the new way that ticks works.
dev/ide_disk.cc:
update for changes in the way bandwidths are passed from
python to C++ to accomidate the new way that ticks works.
Add some extra debugging printfs
dev/platform.cc:
dev/sinic.cc:
dev/sinic.hh:
outline the constructor and destructor
dev/platform.hh:
outline the constructor and destructor.
don't keep track of the interrupt frequency. Only provide the
accessor function.
dev/tsunami.cc:
dev/tsunami.hh:
outline the constructor and destructor
Don't set the interrupt frequency here. Get it from the actual device
that does the interrupting.
dev/tsunami_io.cc:
dev/tsunami_io.hh:
Make the interrupt interval a configuration parameter. (And convert
the interval to the new latency/frequency stuff in the python)
kern/linux/linux_system.cc:
update for changes in the way bandwidths are passed from
python to C++ to accomidate the new way that ticks works.
For now, we must get the boot cpu's frequency as a parameter
since allowing the system to have a pointer to the boot cpu would
cause a cycle.
kern/tru64/tru64_system.cc:
For now, we must get the boot cpu's frequency as a parameter
since allowing the system to have a pointer to the boot cpu would
cause a cycle.
python/m5/config.py:
Fix support for cycle_time relative latencies and frequencies.
Add support for getting a NetworkBandwidth or a MemoryBandwidth.
python/m5/objects/BaseCPU.mpy:
All CPUs now have a cycle_time. The default is the global frequency,
but it is now possible to set the global frequency to some large value
(like 1THz) and set each CPU frequency independently.
python/m5/objects/BaseCache.mpy:
python/m5/objects/Ide.mpy:
Make this a Latency parameter
python/m5/objects/BaseSystem.mpy:
We need to pass the boot CPU's frequency to the system
python/m5/objects/Ethernet.mpy:
Update parameter types to use latency and bandwidth types
python/m5/objects/Platform.mpy:
this frequency isn't needed. We get it from the clock interrupt.
python/m5/objects/Tsunami.mpy:
The clock generator should hold the frequency
sim/eventq.hh:
Need to remove this assertion because the writeback event
queue is different from the CPU's event queue which can cause
this assertion to fail.
sim/process.cc:
Fix comment.
sim/system.hh:
Struct member to hold the boot CPU's frequency.
sim/universe.cc:
remove unneeded variable.
--HG--
extra : convert_revision : 51efe4041095234bf458d9b3b0d417f4cae16fdc
|
|
into ziff.eecs.umich.edu:/z/binkertn/research/m5/current
--HG--
extra : convert_revision : 84720ab5c8123e7bc72b20c877499a0846ea1a4f
|
|
--HG--
extra : convert_revision : 173cd24c130cb981036688d9cd8ba3e418d51068
|
|
--HG--
extra : convert_revision : 11daa94a0631da5e9c2e4262a448035491dd86e5
|
|
instruction accesses
--HG--
extra : convert_revision : 85c987561a962f21466f0c1bd0473300d341c398
|
|
--HG--
extra : convert_revision : 783a778e5eeef36eab22a7c855a5474b83ff4488
|
|
as they are received by the bus bridge.
Better Bus debugging.
--HG--
extra : convert_revision : c6329384276e0ebcf8ae12b86fddb377af66bbba
|
|
python/m5/config.py:
fix typo
--HG--
extra : convert_revision : 2208453d93149ba4af140dd78c29be4c4943b397
|
|
python/m5/convert.py:
Fix the NetworkBandwidth conversion function
--HG--
extra : convert_revision : 93d9856fe6b59827c116e15835d2ef51292bd6c4
|
|
--HG--
extra : convert_revision : 0b041556222c3892ee72e4d56c8acdda72bfc303
|
|
dev/ide_disk.cc:
Cleanup diagnostic and error messages
--HG--
extra : convert_revision : fb1bc6d9f28a10961c9d3ee1dc81b540b92653b8
|
|
dev/ide_ctrl.cc:
Better debugging
--HG--
extra : convert_revision : 854e17f9f36fe4a0b6b69fd48027d2b1b231e858
|
|
python/m5/objects/SimConsole.mpy:
the listener port is a TcpPort
--HG--
extra : convert_revision : c26fdd93d3bc35d9f1563ac1087a7f75471c9020
|
|
--HG--
extra : convert_revision : 9a14f21768f075f0c84f90feebb6d3d897286e34
|
|
python/m5/objects/Root.mpy:
sim/universe.cc:
util/stats/stats.py:
full_system isn't a useful parameter
--HG--
extra : convert_revision : 557091be1faa3cf121c55102aba4e6f4c1bd45ef
|
|
--HG--
extra : convert_revision : cb3931c72cfa737414404b7ebebfad7cfea8ef8a
|
|
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
|
|
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/prefetcher
--HG--
extra : convert_revision : b89d95b6b09a70dc060747f9703643af008c2ddd
|
|
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
|
|
unneeded function call.
--HG--
extra : convert_revision : b40cfc16f237ec03aac15d42fe34d5676b0c71c1
|
|
--HG--
extra : convert_revision : cd2fe692b42016c4e2a84cd5c8f615c16217254a
|
|
--HG--
extra : convert_revision : cd54e924ad89cebbd797beda7dbbdae53eec66a7
|
|
--HG--
extra : convert_revision : 5a983f5d2e225d4be205faa9bacffc2258452efc
|
|
--HG--
rename : objects/BaseCache.mpy => python/m5/objects/BaseCache.mpy
extra : convert_revision : b24ff4c1feb480cf280207d4bbdfe08ef80d1aa2
|
|
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
|
|
config files that wasn't using coherence in MP cases
--HG--
extra : convert_revision : 32670b9252fd4be61ab4dcc8d90f4251d9db5069
|
|
prefetch queue and into the mq when issued
objects/BaseCache.mpy:
Add some parameters for prefetcher
--HG--
extra : convert_revision : 1a2e6d2ce5359fab0a4d5d4639a701131101d68c
|
|
SConscript:
Add prefetcher to the compilation
base/traceflags.py:
Add a trace flag for hardware prefetches
--HG--
extra : convert_revision : bc210192a2b75b1470b2cd9d5d470fc61cb11315
|
|
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
|
|
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
|
|
--HG--
extra : convert_revision : 3a45fb5dbd0975f60a37e0e0c3ab27450b7d749e
|
|
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
|
|
python/m5/config.py:
Don't raise a new exception, just modify and re-raise the old one.
--HG--
extra : convert_revision : 47f6da3a8cb2ee18a6b400863e7ea80ab0c9a5ea
|
|
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
|
|
--HG--
extra : convert_revision : 1c2d3551f8057ae9fdb9fc5a6a853ad380afdc49
|
|
util/pbs/send.py:
Allow the user to specify the jobfile
--HG--
extra : convert_revision : 0e21d2b03355bb7e8938c828bbaa441dc51afd1a
|
|
python/m5/convert.py:
an empty string should still be false
--HG--
extra : convert_revision : dd9900794d94cd018b57ec81bcbce1d412e2a83e
|
|
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
|
|
--HG--
extra : convert_revision : 9a726945b7a1decbecf460df6714257b88742dc8
|
|
--HG--
extra : convert_revision : b454144b3c00c101e970269c6c084d601cee971f
|
|
back when)
--HG--
extra : convert_revision : b24a30b613710fe657f05bea46d45e9b13912d8e
|
|
util/stats/stats.py:
add database command to help
--HG--
extra : convert_revision : 5d77e9d3e142f884d08d34b730c385c41c6bcafb
|
|
--HG--
extra : convert_revision : ed00a0f85ed796a19a3112d0dd5b775c1dbcf2b8
|
|
--HG--
extra : convert_revision : 37ff30f90e44a2db21582503ce8b181e0979c7a4
|
|
busses have alot of devices connected to them
--HG--
extra : convert_revision : 1a23dd815840d5863bb0ab58698d8eab8382bf38
|
|
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
|
|
--HG--
extra : convert_revision : d5e2af1b6ed4dae9e7cc7912f84b9cab83a4d07c
|
|
--HG--
extra : convert_revision : 41fd3b0b3edf06b0bae80fd70f7f7b3c46872dc7
|
|
python/m5/convert.py:
python/m5/smartdict.py:
follow our naming convention
--HG--
extra : convert_revision : d57a103dfbad1fb6a076bfacdca226c4b1893fb8
|
|
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
|