Hi,

I am doing dependence analysis of instruction in out of order chip multi 
processor. please tell me where did the pipeline stage implemented for out of 
order chip multi processor particularly dependency check  stage  and writeback 
stage .
and also please tell me where did Reorder Buffer and LSQ implemented for out of 
order CMP.

Thanking you
Balachandran
LSU
From ssomogyi at ece.cmu.edu  Thu Oct 18 09:56:37 2007
From: ssomogyi at ece.cmu.edu (Stephen Somogyi)
List-Post: [email protected]
Date: Thu Oct 18 09:56:45 2007
Subject: [Simflex] please tell me the where did the pipeline stage
        implemented.
In-Reply-To: <[email protected]>
References: <[email protected]>
Message-ID: <[email protected]>

Hi Balachandran,

In Flexus, instruction dependences are handled in the out-of-order core
module, which is found in components/uArch/.  Note that dependences are
handled in a somewhat abstract way, so it might take a little while to
figure out the code.

The load-store queue is called "theMemQueue" (look in CoreModel/memunit.cpp
for examples on how it is used).  The reorder buffer is named "theROB"
(look in CoreModel/cycle.cpp for some examples).

Cheers,
Stephen


On Mon, 15 Oct 2007, Balachandran Ramadass wrote:

> Hi,
>
> I am doing dependence analysis of instruction in out of order chip multi
> processor. please tell me where did the pipeline stage implemented for
> out of order chip multi processor particularly dependency check stage
> and writeback stage . and also please tell me where did Reorder Buffer
> and LSQ implemented for out of order CMP.
>
> Thanking you
> Balachandran
> LSU
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
>
From laiqiong.yan at gmail.com  Wed Oct 17 08:57:18 2007
From: laiqiong.yan at gmail.com (=?GB2312?B?27PAtMft?=)
List-Post: [email protected]
Date: Fri Oct 19 10:20:06 2007
Subject: [Simflex] 'CLK_TCK ' do not declare????
Message-ID: <[email protected]>

Dear all,

I want to use TurboSMARTSim as my simulator, then use it to get the
simulated time of a program. but when i run 'make config-pisa', 'make', the
command line tells me 'CLK_TCK' could not be declared. my GCC's version is
4.1.2, my OS is Fedora 6, would you like to help me?
BTW, I want to get the accurate runtime of a program run on a single thread
platform. Would you like to recommend me some available simulators to me?
Any suggestions from you are appreciated. Thanks.

Best wishes,

Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
http://sos.ece.cmu.edu/pipermail/simflex/attachments/20071017/3dbead3e/attachment.html
From kavadias at ics.forth.gr  Thu Oct 18 10:24:55 2007
From: kavadias at ics.forth.gr (Êáââáäßáò ÓôáìÜôçò (Kavvadias Stamatis))
List-Post: [email protected]
Date: Fri Oct 19 10:20:19 2007
Subject: [Simflex] Possible AMD platform problem with test application in
        the Flexus-Getting-Started-2.1.1 guide
Message-ID: <[email protected]>

Hi,

I have a problem running the test application (in flexus-test-app directory
of the distribution). When running ./create-initial-flexpoint TraceFlex, I get:

---------------------------------------------------------------
{0} godzilla5.ics.forth.gr | STEVEN # ./create-initial-flexpoint TraceFlex
Starting initial flexpoint creation of flexus_test with TraceFlex in 
/scratch/kavadias/SimFLEX/flexus-2.1.1/flexus-test-app/runs/kavadias-TraceFlex-18Oct07-152725
Launching job
Opening debug output file: debug.out
Opening debug output file: stats.out
Successfully parsed debug configurations from debug.cfg
Initializing Flexus::ConfigurationManager...done
Initializing Flexus::ComponentManager...done
Entered init_local
1 <startup.cpp:109> {0}- Initializing Flexus.

Flexus (C) 2006 The SimFlex Project
Eric Chung, Brian Gold, Nikos Hardavellas, Jangwook Kim, Ippokratis Pandis,
Minglong Shao, Jared Smolens, Stephen Somogyi, Thomas Wenisch, Roland Wunderlich
Anastassia Ailamaki, Babak Falsafi and James C. Hoe.

Flexus Simics simulator - Built as TraceFlex 2.1

2 <ComponentManager.cpp:81> {0}- Instantiating system with a width factor of: 1
3 <SimicsTracer.cpp:555> {0}- Initializing SimicsTracerManager.
4 <SimicsTracer.cpp:662> {0}- Connecting: cpu0
5 <SimicsTracer.cpp:665> {0}- DecoupledFeeder connects Flexus cpu0 to Simics 
object cpu0
warning: converting string->object: cpu0
6 <SimicsTracer.cpp:684> {0}- Creating DMA map object
7 <SimicsTracer.cpp:726> {0}- Connecting to DMA memory map
8 <SimicsTracer.cpp:567> {0}- Done initializing SimicsTracerManager.
9 <BPWarm.hpp:55> {0}- bpwarm port InsnOut is not wired
10 <FastCache.hpp:69> {0}- L1d port SnoopOut is not wired
11 <FastCache.hpp:69> {0}- L1d port Reads is not wired
12 <FastCache.hpp:69> {0}- L1d port Writes is not wired
13 <FastCache.hpp:69> {0}- L1i port SnoopOut is not wired
14 <FastCache.hpp:69> {0}- L1i port Reads is not wired
15 <FastCache.hpp:69> {0}- L1i port Writes is not wired
16 <FastCache.hpp:69> {0}- L2 port Reads is not wired
17 <FastCache.hpp:69> {0}- L2 port Writes is not wired
18 <FastBus.hpp:73> {0}- bus port Writes is not wired
19 <FastBus.hpp:73> {0}- bus port Reads is not wired
20 <FastBus.hpp:73> {0}- bus port Evictions is not wired
21 <FastBus.hpp:73> {0}- bus port Flushes is not wired
22 <FastBus.hpp:73> {0}- bus port Invalidations is not wired
23 <wiring.cpp:79> {0}-  initializing Parameters...
24 <flexus.cpp:369> {0}- Set stat interval to : 10000000
25 <flexus.cpp:389> {0}- Set profile interval to : 10000000
26 <flexus.cpp:394> {0}- Set timestamp interval to : 1000000
Warning: The 'flexus-TraceFlex-v9-iface-gcc' module unexpectedly defined the 
'DMATracer' class
Opening debug output file: termination.out
Successfully parsed debug configurations from termination.dbg.cfg
27 <ComponentManager.cpp:96> {0}- Initalizing components...
28 <SimicsTracer.cpp:602> {0}- >>>>> OK
29 <flexus.cpp:262> {0}- Timestamp: 2007-Oct-18 15:27:26
30 <FastCacheImpl.cpp:123> {0}- Running with MT width 1
31 <flexus.cpp:262> {1000000}- Timestamp: 2007-Oct-18 15:27:28
32 <flexus.cpp:262> {2000000}- Timestamp: 2007-Oct-18 15:27:29
33 <flexus.cpp:262> {3000000}- Timestamp: 2007-Oct-18 15:27:31
34 <flexus.cpp:262> {4000000}- Timestamp: 2007-Oct-18 15:27:33
35 <flexus.cpp:262> {5000000}- Timestamp: 2007-Oct-18 15:27:35
36 <flexus.cpp:262> {6000000}- Timestamp: 2007-Oct-18 15:27:36
37 <flexus.cpp:262> {7000000}- Timestamp: 2007-Oct-18 15:27:38
38 <flexus.cpp:262> {8000000}- Timestamp: 2007-Oct-18 15:27:40
39 <flexus.cpp:262> {9000000}- Timestamp: 2007-Oct-18 15:27:42
40 <flexus.cpp:262> {10000000}- Timestamp: 2007-Oct-18 15:27:43
41 <flexus.cpp:273> {10000000}- Saving stats at: 10000000
42 <flexus.cpp:292> {10000000}- Writing profile at: 10000000
(*** Simics ***) Simics getting shaky, switching to 'safe' mode.
Simics (main thread) received a segmentation fault. Will try to recuperate.
simics>

[After pressing Ctrl-D]

./run-job: line 259: cd: flex_state_out: No such file or directory
all.measurement.out
configuration.out
configuration.simics
console.out
debug.cfg
debug.out
go.sh
go.tmp
iteration.trace.cfg
load-flexpoint.simics
load.simics
postload.simics
preload.simics
profile.out
save.simics
start.noflexus.simics
start.simics
stats_db.out.gz
stats.out
termination.dbg.cfg
termination.out
trace-debug.cfg

---------------------------------------------------------------


I am running flexus on a dual AMD Opteron machine.

The OS is: Red Hat Enterprise Linux Server release 5 (Tikanga)
(Red Hat 4.1.1-52)

I installed gcc-4.1.0 (just in case) and build flexus with that:

---------------------------------------------------------------
{0} godzilla5.ics.forth.gr | STEVEN # /scratch/kavadias/gcc-4.1.0/bin/g++-4.1.0 
-v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: 
../gcc-4.1.0/configure --program-suffix=-4.1.0 --with-prefix=/home/gcc-4.1.0 
--with-suffix=-4.1.0 --disable-threads --enable-languages=c,c++
Thread model: single
gcc version 4.1.0
---------------------------------------------------------------

My simics version is (the oldest I could download):

---------------------------------------------------------------
{0} godzilla5.ics.forth.gr | STEVEN # ./simics --version
Simics simics-2.2.19 (Tue Aug 16 20:23:17 CEST 2005)
C-compiler:   gcc gcc (GCC) 3.4.1
C++-compiler: g++ g++ (GCC) 3.4.1
(HOST_64_BIT)

---------------------------------------------------------------

I had to change in makefile.defs:
GCC_LIB_PATH=$(GCC_PATH)/lib
with
GCC_LIB_PATH=$(GCC_PATH)/lib64
and add -fPIC to compilation flags in order to make TraceFlex, UniFlex.OoO and 
stat-manager


Because of a known problem with make 3.81 
(https://sos.ece.cmu.edu/pipermail/simflex/2006-July/000236.html)
I had to make core and core-simics manually:
(make core SELECTED_CC=gcc TARGET_PLATFORM=v9 SELECTED_DEBUG=iface 
FLEXUS_ROOT=/scratch/kavadias/SimFLEX/flexus-2.1.1
and
make simics SELECTED_CC=gcc TARGET_PLATFORM=v9 SELECTED_DEBUG=iface 
FLEXUS_ROOT=/scratch/kavadias/SimFLEX/flexus-2.1.1

in /scratch/kavadias/SimFLEX/flexus-2.1.1/core)

In order to run ./prepare-test-app I do make uninstall in FLEXUS_ROOT
and then make install again before running ./create-initial-flexpoint TraceFlex 
 which crashes
as described above.

Does someone understand where is the problem? Can anyone please help me with 
this??
If not, is there any sense in trying to aquire a version of simics with 32-bit 
libraries from virtutech
and compile flexus with 32-bit libraries as well (maybe the -fPIC flag 
exaggerates some bad
behavior?) ???

Thanks,

Stamatis Kavadias 

Reply via email to