[gem5-users] What is the default coherence mechanism in gem5 for multicore systems?

2019-12-11 Thread Francisco Carlos
Hi all,

I am currently running simulation in a multicore processor. I connect the 
memory system as follow:

for i in range(np):
system.cpu[i].icache = L1_ICache()
system.cpu[i].dcache = L1_DCache()
system.cpu[i].icache.connectCPU(system.cpu[i])
system.cpu[i].dcache.connectCPU(system.cpu[i])

system.l2cache = L2Cache()
system.l2bus = L2XBar()

#np means number of processor and it is a parameter
for i in range(np):
system.cpu[i].icache.connectBus(system.l2bus)
system.cpu[i].dcache.connectBus(system.l2bus)
system.l2cache.connectCPUSideBus(system.l2bus)
system.l2cache.connectMemSideBus(system.membus)

In summary, to each core I have private Icache and Dcache which are connected 
to an L2 shared cache.

So, my question is: how is the coherence guaranteed in the system, since I do 
not provide this information in my configuration file? Is there a default 
coherency used in the gem5? If so, which is it?

Thanks in advance.

--
Francisco Carlos Silva Junior
Ph.D student at University of Brasilia

___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] What is the default coherence mechanism in gem5 for multicore systems?

2019-12-11 Thread Abhishek Singh
Hi,
The default is MI protocol in classic cache model, there are various
protocols which you can find in build_opts directory.
Also, you can find the build info by using —build-info flag.
For example ./build/X86/gem5.opt —build-info

On Wed, Dec 11, 2019 at 10:11 AM Francisco Carlos 
wrote:

> Hi all,
>
> I am currently running simulation in a multicore processor. I connect the
> memory system as follow:
>
> for i in range(np):
> system.cpu[i].icache = L1_ICache()
> system.cpu[i].dcache = L1_DCache()
> system.cpu[i].icache.connectCPU(system.cpu[i])
> system.cpu[i].dcache.connectCPU(system.cpu[i])
>
> system.l2cache = L2Cache()
> system.l2bus = L2XBar()
>
> #np means number of processor and it is a parameter
> for i in range(np):
> system.cpu[i].icache.connectBus(system.l2bus)
> system.cpu[i].dcache.connectBus(system.l2bus)
> system.l2cache.connectCPUSideBus(system.l2bus)
> system.l2cache.connectMemSideBus(system.membus)
> In summary, to each core I have private Icache and Dcache which are
> connected to an L2 shared cache.
>
> So, my question is: how is the coherence guaranteed in the system, since I
> do not provide this information in my configuration file? Is there a
> default coherency used in the gem5? If so, which is it?
>
> Thanks in advance.
>
>
> --
> Francisco Carlos Silva Junior
> Ph.D student at University of Brasilia
>
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] What is the default coherence mechanism in gem5 for multicore systems?

2019-12-11 Thread Giacomo Travaglini
The PROTOCOL env var (available in build_opts) is used in Ruby only.
For the classic memory system, MOESI is used.

Giacomo

From: gem5-users  on behalf of Abhishek Singh 

Sent: 11 December 2019 16:32
To: gem5 users mailing list 
Subject: Re: [gem5-users] What is the default coherence mechanism in gem5 for 
multicore systems?

Hi,
The default is MI protocol in classic cache model, there are various protocols 
which you can find in build_opts directory.
Also, you can find the build info by using —build-info flag.
For example ./build/X86/gem5.opt —build-info

On Wed, Dec 11, 2019 at 10:11 AM Francisco Carlos 
mailto:juninho.u...@hotmail.com>> wrote:
Hi all,

I am currently running simulation in a multicore processor. I connect the 
memory system as follow:

for i in range(np):
system.cpu[i].icache = L1_ICache()
system.cpu[i].dcache = L1_DCache()
system.cpu[i].icache.connectCPU(system.cpu[i])
system.cpu[i].dcache.connectCPU(system.cpu[i])

system.l2cache = L2Cache()
system.l2bus = L2XBar()

#np means number of processor and it is a parameter
for i in range(np):
system.cpu[i].icache.connectBus(system.l2bus)
system.cpu[i].dcache.connectBus(system.l2bus)
system.l2cache.connectCPUSideBus(system.l2bus)
system.l2cache.connectMemSideBus(system.membus)

In summary, to each core I have private Icache and Dcache which are connected 
to an L2 shared cache.

So, my question is: how is the coherence guaranteed in the system, since I do 
not provide this information in my configuration file? Is there a default 
coherency used in the gem5? If so, which is it?

Thanks in advance.

--
Francisco Carlos Silva Junior
Ph.D student at University of Brasilia

___
gem5-users mailing list
gem5-users@gem5.org<mailto:gem5-users@gem5.org>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] What is the default coherence mechanism in gem5 for multicore systems?

2019-12-11 Thread Abhishek Singh
Thank you for the clarification.

On Wed, Dec 11, 2019 at 11:40 AM Giacomo Travaglini <
giacomo.travagl...@arm.com> wrote:

> The PROTOCOL env var (available in build_opts) is used in Ruby only.
> For the classic memory system, MOESI is used.
>
> Giacomo
> --
> *From:* gem5-users  on behalf of Abhishek
> Singh 
> *Sent:* 11 December 2019 16:32
> *To:* gem5 users mailing list 
> *Subject:* Re: [gem5-users] What is the default coherence mechanism in
> gem5 for multicore systems?
>
> Hi,
> The default is MI protocol in classic cache model, there are various
> protocols which you can find in build_opts directory.
> Also, you can find the build info by using —build-info flag.
> For example ./build/X86/gem5.opt —build-info
>
> On Wed, Dec 11, 2019 at 10:11 AM Francisco Carlos <
> juninho.u...@hotmail.com> wrote:
>
> Hi all,
>
> I am currently running simulation in a multicore processor. I connect the
> memory system as follow:
>
> for i in range(np):
> system.cpu[i].icache = L1_ICache()
> system.cpu[i].dcache = L1_DCache()
> system.cpu[i].icache.connectCPU(system.cpu[i])
> system.cpu[i].dcache.connectCPU(system.cpu[i])
>
> system.l2cache = L2Cache()
> system.l2bus = L2XBar()
>
> #np means number of processor and it is a parameter
> for i in range(np):
> system.cpu[i].icache.connectBus(system.l2bus)
> system.cpu[i].dcache.connectBus(system.l2bus)
> system.l2cache.connectCPUSideBus(system.l2bus)
> system.l2cache.connectMemSideBus(system.membus)
> In summary, to each core I have private Icache and Dcache which are
> connected to an L2 shared cache.
>
> So, my question is: how is the coherence guaranteed in the system, since I
> do not provide this information in my configuration file? Is there a
> default coherency used in the gem5? If so, which is it?
>
> Thanks in advance.
>
>
> --
> Francisco Carlos Silva Junior
> Ph.D student at University of Brasilia
>
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium. Thank you.
>
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] What is the default coherence mechanism in gem5 for multicore systems?

2019-12-11 Thread Giacomo Travaglini
No problem! 🙂

From: Abhishek Singh 
Sent: 11 December 2019 16:59
To: Giacomo Travaglini 
Cc: gem5 users mailing list 
Subject: Re: [gem5-users] What is the default coherence mechanism in gem5 for 
multicore systems?

Thank you for the clarification.

On Wed, Dec 11, 2019 at 11:40 AM Giacomo Travaglini 
mailto:giacomo.travagl...@arm.com>> wrote:
The PROTOCOL env var (available in build_opts) is used in Ruby only.
For the classic memory system, MOESI is used.

Giacomo

From: gem5-users 
mailto:gem5-users-boun...@gem5.org>> on behalf of 
Abhishek Singh 
mailto:abhishek.singh199...@gmail.com>>
Sent: 11 December 2019 16:32
To: gem5 users mailing list mailto:gem5-users@gem5.org>>
Subject: Re: [gem5-users] What is the default coherence mechanism in gem5 for 
multicore systems?

Hi,
The default is MI protocol in classic cache model, there are various protocols 
which you can find in build_opts directory.
Also, you can find the build info by using —build-info flag.
For example ./build/X86/gem5.opt —build-info

On Wed, Dec 11, 2019 at 10:11 AM Francisco Carlos 
mailto:juninho.u...@hotmail.com>> wrote:
Hi all,

I am currently running simulation in a multicore processor. I connect the 
memory system as follow:

for i in range(np):
system.cpu[i].icache = L1_ICache()
system.cpu[i].dcache = L1_DCache()
system.cpu[i].icache.connectCPU(system.cpu[i])
system.cpu[i].dcache.connectCPU(system.cpu[i])

system.l2cache = L2Cache()
system.l2bus = L2XBar()

#np means number of processor and it is a parameter
for i in range(np):
system.cpu[i].icache.connectBus(system.l2bus)
system.cpu[i].dcache.connectBus(system.l2bus)
system.l2cache.connectCPUSideBus(system.l2bus)
system.l2cache.connectMemSideBus(system.membus)

In summary, to each core I have private Icache and Dcache which are connected 
to an L2 shared cache.

So, my question is: how is the coherence guaranteed in the system, since I do 
not provide this information in my configuration file? Is there a default 
coherency used in the gem5? If so, which is it?

Thanks in advance.

--
Francisco Carlos Silva Junior
Ph.D student at University of Brasilia

___
gem5-users mailing list
gem5-users@gem5.org<mailto:gem5-users@gem5.org>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] What is the default coherence mechanism in gem5 for multicore systems?

2019-12-11 Thread Francisco Carlos
Thank you both, Abhishek and Giocomo, for your quick reply.


--
Francisco Carlos Silva Junior
Ph.D Student

De: gem5-users  em nome de Giacomo Travaglini 

Enviado: quarta-feira, 11 de dezembro de 2019 14:02
Para: Abhishek Singh 
Cc: gem5 users mailing list 
Assunto: Re: [gem5-users] What is the default coherence mechanism in gem5 for 
multicore systems?

No problem! 🙂

From: Abhishek Singh 
Sent: 11 December 2019 16:59
To: Giacomo Travaglini 
Cc: gem5 users mailing list 
Subject: Re: [gem5-users] What is the default coherence mechanism in gem5 for 
multicore systems?

Thank you for the clarification.

On Wed, Dec 11, 2019 at 11:40 AM Giacomo Travaglini 
mailto:giacomo.travagl...@arm.com>> wrote:
The PROTOCOL env var (available in build_opts) is used in Ruby only.
For the classic memory system, MOESI is used.

Giacomo

From: gem5-users 
mailto:gem5-users-boun...@gem5.org>> on behalf of 
Abhishek Singh 
mailto:abhishek.singh199...@gmail.com>>
Sent: 11 December 2019 16:32
To: gem5 users mailing list mailto:gem5-users@gem5.org>>
Subject: Re: [gem5-users] What is the default coherence mechanism in gem5 for 
multicore systems?

Hi,
The default is MI protocol in classic cache model, there are various protocols 
which you can find in build_opts directory.
Also, you can find the build info by using —build-info flag.
For example ./build/X86/gem5.opt —build-info

On Wed, Dec 11, 2019 at 10:11 AM Francisco Carlos 
mailto:juninho.u...@hotmail.com>> wrote:
Hi all,

I am currently running simulation in a multicore processor. I connect the 
memory system as follow:

for i in range(np):
system.cpu[i].icache = L1_ICache()
system.cpu[i].dcache = L1_DCache()
system.cpu[i].icache.connectCPU(system.cpu[i])
system.cpu[i].dcache.connectCPU(system.cpu[i])

system.l2cache = L2Cache()
system.l2bus = L2XBar()

#np means number of processor and it is a parameter
for i in range(np):
system.cpu[i].icache.connectBus(system.l2bus)
system.cpu[i].dcache.connectBus(system.l2bus)
system.l2cache.connectCPUSideBus(system.l2bus)
system.l2cache.connectMemSideBus(system.membus)

In summary, to each core I have private Icache and Dcache which are connected 
to an L2 shared cache.

So, my question is: how is the coherence guaranteed in the system, since I do 
not provide this information in my configuration file? Is there a default 
coherency used in the gem5? If so, which is it?

Thanks in advance.

--
Francisco Carlos Silva Junior
Ph.D student at University of Brasilia

___
gem5-users mailing list
gem5-users@gem5.org<mailto:gem5-users@gem5.org>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users