Does m5 have classes for switch or router for network on chip.  If they are where can i find them.  Also where are the classes for network on chip.

On 4/13/06, [EMAIL PROTECTED] < [EMAIL PROTECTED]> wrote:
Send m5sim-users mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
         https://lists.sourceforge.net/lists/listinfo/m5sim-users
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of m5sim-users digest..."


Today's Topics:

   1. connecting L1 to L2 (justin kemp)

--__--__--

Message: 1
Date: Thu, 13 Apr 2006 14:55:56 -0500
From: "justin kemp" < [EMAIL PROTECTED]>
To: [email protected]
Subject: [m5sim-users] connecting L1 to L2

------=_Part_8136_6433175.1144958156240
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi!!!
To M5 team and sim users.
I am new to m5 and trying to learn m5.
I have studied the following code and i would like to understand how L1
cache is connected to L2 cache.

For example the particular lines

ToL2Bus
ToMemBus

I want to understand that in detail what is the purpose of those two lines.


from m5 import *

## Memory Configuration#################################
## L1Cache configuration ###########

class BaseL1Cache(BaseCache):
    size =3D '64kB'
    assoc =3D 2
    block_size =3D 64
    mshrs =3D 4
    tgts_per_mshr =3D 8

class IL1(BaseL1Cache):
    latency =3D Parent.clock.period
    mshrs =3D 8
class DL1(BaseL1Cache):
    latency =3D 3 * Parent.clock.period
    mshrs =3D 32

## L2Cache configuration ###########

class ToL2Bus(Bus):
    width =3D 64
    clock =3D Parent.clock.period

class L2(BaseCache):
    size =3D '2MB'
    assoc =3D '32ki'
    block_size =3D 64
    latency =3D 10 * Parent.clock.period
    mshrs =3D 92
    tgts_per_mshr =3D 16

class ToMemBus(Bus):
    width =3D 16
    clock =3D 1 * Parent.clock.period

class SDRAM(BaseMemory):
    latency =3D 100 * Parent.clock.period
    uncacheable_latency =3D 1000 * Parent.clock.period
## CPU Configuration #################################################

class CPU(SimpleCPU):
    icache =3D IL1(out_bus=3DParent.toL2bus)
    dcache =3D DL1(out_bus=3DParent.toL2bus)

## Benchmark configuration #####

class Bzip_test_random(LiveProcess):
    executable =3D '/home/mihara/m5_1.1//bench/bin/bzip200.peak.ev6'
    cmd =3D 'bzip200.peak.ev6 /home/mihara/m5_1.1/bench/input/test.random 2=
'

class Gzip_test_random(LiveProcess):
    executable =3D '/home/mihara/m5_1.1/bench/bin/gzip00.peak.ev6'
    cmd =3D 'gzip00.peak.ev6 /home/mihara/m5_1.1/bench/input/test.random'


## system configuration ########

class Simple_CMP(Root):
    Coherence =3D CoherenceProtocol(protocol=3D'msi')
    cpu0 =3D CPU()
    cpu1 =3D CPU()
    SimpleCPU.max_insts_any_thread =3D 1000000000
    Workload =3D Bzip_test_random()
    Workload2 =3D Gzip_test_random()
    cpu0.workload =3D Workload
    cpu1.workload =3D Workload2
    cpu0.dcache.protocol =3D Coherence
    cpu1.dcache.protocol =3D Coherence
    cpu0.icache.protocol =3D Coherence
    cpu1.icache.protocol =3D Coherence
    l2 =3D L2(in_bus=3DParent.toL2bus, out_bus=3DParent.toMembus)
    toMembus =3D ToMemBus()
    sdram =3D SDRAM(in_bus=3DParent.toMembus)
    toL2bus =3D ToL2Bus()
    hier =3D HierParams(do_data=3DFalse, do_events=3DTrue)

root =3D Simple_CMP()

------=_Part_8136_6433175.1144958156240
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

<div>Hi!!!</div>
<div>To M5 team and sim users.</div>
<div>I am new to m5 and trying to learn m5.</div>
<div>I have studied the following code and i would like to understand how L=
1 cache is connected to L2 cache.</div>
<div>&nbsp;</div>
<div>For example the particular lines</div>
<div>&nbsp;</div>
<div>ToL2Bus</div>
<div>ToMemBus</div>
<div>&nbsp;</div>
<div>I want to understand that in detail what is the purpose of those two l=
ines.</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>from m5 import *<br><br>## Memory Configuration#######################=
##########<br>## L1Cache configuration ###########<br><br>class BaseL1Cache=
(BaseCache):<br>&nbsp;&nbsp;&nbsp; size =3D '64kB'<br>&nbsp;&nbsp;&nbsp; as=
soc =3D 2<br>&nbsp;&nbsp;&nbsp; block_size =3D 64
<br>&nbsp;&nbsp;&nbsp; mshrs =3D 4<br>&nbsp;&nbsp;&nbsp; tgts_per_mshr =3D =
8<br><br>class IL1(BaseL1Cache):<br>&nbsp;&nbsp;&nbsp; latency =3D Parent.c=
lock.period<br>&nbsp;&nbsp;&nbsp; mshrs =3D 8<br>class DL1(BaseL1Cache):<br=
>&nbsp;&nbsp;&nbsp; latency =3D 3 * Parent.clock.period<br>&nbsp;&nbsp;&nbs=
p; mshrs =3D 32<br><br>
## L2Cache configuration ###########<br><br>class ToL2Bus(Bus):<br>&nbsp;&n=
bsp;&nbsp; width =3D 64<br>&nbsp;&nbsp;&nbsp; clock =3D Parent.clock.period=
<br><br>class L2(BaseCache):<br>&nbsp;&nbsp;&nbsp; size =3D '2MB'<br>&nbsp;=
&nbsp;&nbsp; assoc =3D '32ki'<br>&nbsp;&nbsp;&nbsp; block_size =3D 64<br>&n=
bsp;&nbsp;&nbsp; latency =3D 10 *=20
Parent.clock.period<br>&nbsp;&nbsp;&nbsp; mshrs =3D 92<br>&nbsp;&nbsp;&nbsp=
; tgts_per_mshr =3D 16<br><br>class ToMemBus(Bus):<br>&nbsp;&nbsp;&nbsp; wi=
dth =3D 16<br>&nbsp;&nbsp;&nbsp; clock =3D 1 * Parent.clock.period<br><br>c=
lass SDRAM(BaseMemory):<br>&nbsp;&nbsp;&nbsp; latency =3D 100 * Parent.cloc=
k.period
<br>&nbsp;&nbsp;&nbsp; uncacheable_latency =3D 1000 * Parent.clock.period<b=
r>## CPU Configuration #################################################<br=
><br>class CPU(SimpleCPU):<br>&nbsp;&nbsp;&nbsp; icache =3D IL1(out_bus=3DP=
arent.toL2bus)<br>&nbsp;&nbsp;&nbsp; dcache =3D DL1(out_bus=3D
Parent.toL2bus)<br><br>## Benchmark configuration #####<br><br>class Bzip_t=
est_random(LiveProcess):<br>&nbsp;&nbsp;&nbsp; executable =3D '/home/mihara=
/m5_1.1//bench/bin/bzip200.peak.ev6'<br>&nbsp;&nbsp;&nbsp; cmd =3D 'bzip200=
.peak.ev6 /home/mihara/m5_1.1/bench/input/test.random 2'
<br><br>class Gzip_test_random(LiveProcess):<br>&nbsp;&nbsp;&nbsp; executab=
le =3D '/home/mihara/m5_1.1/bench/bin/gzip00.peak.ev6'<br>&nbsp;&nbsp;&nbsp=
; cmd =3D 'gzip00.peak.ev6 /home/mihara/m5_1.1/bench/input/test.random'<br>=
<br><br>## system configuration ########
<br><br>class Simple_CMP(Root):<br>&nbsp;&nbsp;&nbsp; Coherence =3D Coheren=
ceProtocol(protocol=3D'msi')<br>&nbsp;&nbsp;&nbsp; cpu0 =3D CPU()<br>&nbsp;=
&nbsp;&nbsp; cpu1 =3D CPU()<br>&nbsp;&nbsp;&nbsp; SimpleCPU.max_insts_any_t=
hread =3D 1000000000<br>&nbsp;&nbsp;&nbsp; Workload =3D Bzip_test_random()<=
br>&nbsp;&nbsp;&nbsp; Workload2 =3D Gzip_test_random()&nbsp;&nbsp;&nbsp;=20
<br>&nbsp;&nbsp;&nbsp; cpu0.workload =3D Workload<br>&nbsp;&nbsp;&nbsp; cpu=
1.workload =3D Workload2&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; cpu0.dcac=
he.protocol =3D Coherence<br>&nbsp;&nbsp;&nbsp; cpu1.dcache.protocol =3D Co=
herence<br>&nbsp;&nbsp;&nbsp; cpu0.icache.protocol =3D Coherence<br>&nbsp;&=
nbsp;&nbsp; cpu1.icache.protocol =3D Coherence
<br>&nbsp;&nbsp;&nbsp; l2 =3D L2(in_bus=3DParent.toL2bus, out_bus=3DParent.=
toMembus)<br>&nbsp;&nbsp;&nbsp; toMembus =3D ToMemBus()<br>&nbsp;&nbsp;&nbs=
p; sdram =3D SDRAM(in_bus=3DParent.toMembus)<br>&nbsp;&nbsp;&nbsp; toL2bus =
=3D ToL2Bus()<br>&nbsp;&nbsp;&nbsp; hier =3D HierParams(do_data=3DFalse, do=
_events=3DTrue)<br>
<br>root =3D Simple_CMP()<br>&nbsp;</div>

------=_Part_8136_6433175.1144958156240--



--__--__--

_______________________________________________
m5sim-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/m5sim-users


End of m5sim-users Digest

Reply via email to