[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rep:Re: [f-cpu] virtually or physically-addressed cache ?



Ok, lookup at this case (something like a memory pipe) in the same address space :

- a thread wants to share a memory space where it could only read.
- another thread wants to share the same memory space where it could only write.

The only solution is having two different virtual addresses with different access rights pointing upon the
same physical addresses.

With virtual-addressed cache and virtual tags, the thread wouldn't read the right value after the other
thread write because they use different entries in the cache.

So even with your lazy solution, it is still impossible to do so.

The only solution is having two TLB entries but just one cache entry for both.

An extended case : 1 provider, n consumers

- a thread wants to share a memory space where it could read and write.
- n threads wants to share the same memory space where it could only read.

Same topo.

Etc.

My opinion is that we should never try to put anything in the sofware corner. The end user is not an
hardware person but a software person who would like to have choice to use a unique address space or
seperate address spaces for his/her processes. Your software solution happens not to fullfil all the
requirements that a hardware solution (virtual/physical-addressed cache but with physical tags) can fullfil.


----- Original Message -----
From: Marco Al <marco@simplex.nl>
To: <f-cpu@seul.org>
Sent: Sunday, March 03, 2002 7:46 PM
Subject: Re: Rep:Re: [f-cpu] virtually or physically-addressed cache ?


> From: "Christophe"
>
> > Lazy solution for my opinion.
>
> So?
>
> > Not viable for micro kernel or exo kernel which really counts upon sharing
> > some physical pages in different virtual addresses with different access
> > rights.
>
> You only need per process memory protection, the actual location in memory
> is entirely arbitrary. In fact sharing data at different addresses in
> different memory spaces is a big pain in the ass ... you cant share data
> with embedded non relative pointers.
>
> There's a lot of microkernels meant for 64 bit architectures which use a
> global address space in fact.
>
> > Anyway, if an OS programmer wants to use per process address spaces, he
> > should be able to do so.
>
> Why?
>
> Marco
>
> *************************************************************
> To unsubscribe, send an e-mail to majordomo@seul.org with
> unsubscribe f-cpu       in the body. http://f-cpu.seul.org/

*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/