Le 09/07/12 18:30, Michael Walle a écrit :
> 
> 
> Yann Sionneau <[email protected]> schrieb:
> 
>> I just copy pasted Milkymist MMU documentation on github wiki : 
>> https://github.com/fallen/milkymist-mmu/wiki
>> From now on I will update this one with more and more informations 
>> about the current MMU implementation/specifications
>>
>> Le 09/07/2012 12:04, Werner Almesberger a écrit :
>>> Yann Sionneau wrote:
>>>> *TLB size : 1024 entries
>>> 1024+1024 is pretty big. I found Longsoon 2E has 16+64 [1], Itanic
>>> has 96+128, PowerPC 405 has 64 (unified ?) [3], only Intel i7 comes
>>> somewhat close with 576 entries per core. [4]
>> Indeed it's pretty big, I think we still have a lot of unused resources
>>
>> in the Spartan-6 FPGA so it's not a problem if I use a lot of BlockRAM.
>> Anyway the size of the TLB can be changed pretty easily in the Verilog 
>> code, there is a parameter called "dtlb_sets" (or itlb_sets) which 
>> contains 1024 for now.
>>
>> I agree we may have to do some benchmarking to chose wisely the more 
>> adapted value :)
>>>
>>> [1]
>> http://www.datasheetarchive.com/STLS2E02/Datasheet-045/DSA0019307.html
>>> [2] http://www.informit.com/articles/article.aspx?p=29961&seqNum=4
>>> [3] http://www.xilinx.com/ipcenter/processor_central/embedded/mmu.htm
>>> [4]
>> http://www.lostcircuits.com/mambo//index.php?option=com_content&task=view&id=31&Itemid=1&limit=1&limitstart=4
>>>
>>>> - 5'h4 : Switch to kernel mode (for debugging and developpment
>> purposes only,
>>>> will be removed later on)
>>>> - 5'h8 : Switch to user mode (for debugging and developpment
>> purposes only,
>>>> will be removed later on)
>>> When these are removed, how do you switch between user and kernel
>> mode ?
>> Upon any exception, both TLB are going into "kernel mode".
>> Upon "eret" (return from exception) both TLB are going into "user
>> mode".
>>
>> I should change the name of those modes, "kernel" and "user" does not 
>> reflect the real thing.
>> Because Linux kernel will run in "user mode".
> 
> in user mode? the mmu will be enabled if the kernel is running?
> 

Yes, as far as I understood on arch with MMU (x86, m68k, openrisc etc)
kernel runs with MMU (TLB) activated.

Kernel runs using virtual addresses.
By kernel I mean kernel threads, and syscalls.

Basically the only things (maybe except one thing or two but I cannot
think of what exactly) that runs in physical addressing mode (MMU
disabled) are the exception handlers/vectors.

I am by no mean a Linux expert, so please if someone thinks I am wrong
please tell me, I am trying to learn and to understand here :)

But that's what I've understood so far !

-- 
Yann Sionneau

_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode

Reply via email to