Le 04/01/13 09:24, David Jin a écrit : > Hi Yann, > > I am interested in LM32 CPU. I had seed the mmu code that you commit > in the mikymist git hub. > Because of my limited CPU knowledge, so I understand it more difficult > without document and design chart etc. > > If you have some design document or train of thought, do you can share > to me? > Ithink that these documents will helps me to understand LM32 and MMU. > > Hi David,
Please post to Milkymist mailing list as well, as the MMU project is a child of the Milkymist project, the MMU project is a work in progress of the Milkymist community I started a year ago. If you are searching for informations about LatticeMico32 processor, then you can have a look at its datasheet which explains pretty well the basics (pipeline architecture, registers, exceptions, cache, instruction set architecture). A bit of informations over there: http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm You can check out LatticeMico32 datasheet over there: http://www.latticesemi.com/documents/lm32_archman.pdf Most up to date LM32 MMU code is available over there since Michael Walle (aka mwalle on IRC) did an awesome job of cleaning/fixing/implementing new features on the MMU project: https://github.com/mwalle/milkymist/commits/mmu The basic idea of LM32 MMU is to do the TLB (translation lookaside buffer) lookup in parallel of the cache lookup. Therefore both I/D cache and I/D TLB are virtually indexed (using lowest significant bits of virtual address as indexes) and cache is physically tagged (using the page frame number which is the most significant bits). TLB is virtually tagged though. For now the supported page size is 4 kB. Unfortunately I don't think we have any drawing/schematic about the MMU design, there has been discussions about it on this Mailing list and on #milkymist IRC channel on Freenode. You can search for MMU keyword over there in IRC logs: http://en.qi-hardware.com/mmlogs/ You can try to read these threads in the mailing list archives: - http://lists.milkymist.org/pipermail/devel-milkymist.org/2012-June/003043.html - http://lists.milkymist.org/pipermail/devel-milkymist.org/2012-July/003062.html - http://lists.milkymist.org/pipermail/devel-milkymist.org/2012-July/003063.html - http://lists.milkymist.org/pipermail/devel-milkymist.org/2012-July/003133.html - http://lists.milkymist.org/pipermail/devel-milkymist.org/2012-October/003162.html If you have any question regarding LM32 MMU implementation please ask away ! Best regards, -- Yann Sionneau _______________________________________________ http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org IRC: #milkymist@Freenode
