#milkymist IRC log for Tuesday, 2011-07-05

wpwraklekernel: we've been discussing MMU on qi-hw. just a wild idea: would it help with having a physically indexed cache if you'd kick off a TLB lookup on each register assignment ? this way, you'd get all base registers on an earlier instruction. you still wouldn't have the offset, though. if offsets are generally small, you could of course ignore this problem ...02:03
kristianpaulcleared on read, hum..03:43
GitHub109[extras-m1] shiyele pushed 1 new commit to master: http://bit.ly/kMe4tX03:50
GitHub109[extras-m1/master] added raumfahrtagentur logo - Wolfgang Spraul03:50
GitHub39[rtems-yaffs2] xiangfu pushed 1 new commit to master: http://bit.ly/kUAwue03:51
GitHub39[rtems-yaffs2/master] Fix mkdir with '/' of an existing directory on SSD creates bogus object(issue #25) - Xiangfu Liu03:51
GitHub0[extras-m1] shiyele pushed 1 new commit to master: http://bit.ly/iMu47q04:39
GitHub0[extras-m1/master] added attributions - Wolfgang Spraul04:39
GitHub133[extras-m1] yizhangsh pushed 1 new commit to master: http://bit.ly/jK3YHR05:35
GitHub133[extras-m1/master] add variation design for artwork 02 - Yi Zhang05:35
GitHub186[extras-m1] yizhangsh pushed 1 new commit to master: http://bit.ly/mnZIW905:49
GitHub186[extras-m1/master] add flickr credential for the photos - Yi Zhang05:49
GitHub75[extras-m1] yizhangsh pushed 1 new commit to master: http://bit.ly/jhjehu05:51
GitHub75[extras-m1/master] increased case credential size - Yi Zhang05:51
lekernelwhat does the MMU have to do with registers?07:41
wpwraklekernel: (mmu) LB and friends use a register as the base address. if we assume that offsets are usually small and TLB flushes rare, you may get a "zero-cost" TLB lookup by just threating all values stored in a register as a potential base address. you'd still have to check if in the end, (rX & PAGE_MASK)+offset < PAGE_SIZE. if not, the looked-up translation would be valid. if not, you'd need to stall and do a new lookup.09:26
wpwraklekernel: whether this would work or not depends on what the code usually looks like. could be anything from highly efficient to useless09:26
lekernelwhat's LB?09:27
lekernelso what you are describing is merely a single-entry TLB?09:27
lekerneli'd guess this would be slow09:27
wpwraklekernel: Load Byte (or any load, for that matter). i hope i found the right place for the instruction set: http://sourceware.org/cgen/gen-doc/lm32-insn.html#insn-lb09:28
wpwrak(TLB) the real TLB can be anything. you'd just trigger a TLB lookup each time you store a value in the register file, and store the lookup result alongside with the register09:29
lekernelhow does one deal with context switches?09:30
lekernelor simply minor page faults?09:30
wpwraklekernel: on context switch, you would invalidate the cached lookups. TLB miss would just be recorded as such.09:31
lekernelso what happens on a memory operation for which there is no cached TLB value?09:32
lekerneleg you execute LB, but there's no TLB information in the register09:33
wpwraklekernel: you would calculate the new address, stall for one cycle, and do a TLB lookup in that time. you should probably have a means to write back the result if certain constraints are met09:34
lekernelsounds painful09:34
wpwraklekernel: (write back) to the TLB shadow09:34
wpwrakdepends a bit on how often you hit this :)09:34
wpwrakthe larger your offset, the worse09:34
lekernelhard to write, potentially use quite some hw resources, no advantage over what i described on the ml earlier, and bug bait09:35
wpwraklekernel: it would allow the caches to use physical addresses09:36
wpwraklekernel: don't know how it would compare on hw resources09:36
lekernela physically addressed cache is only useful when it reduces the mess you have to do at context switch. having to invalidate the TLB cache in the register file nulls that out.09:38
wpwraki was thinking more of all the assorted aliasing issues09:39
wpwraknot sure how bad invalidation would be. if you just write back the looked up value, you lose 1 cycle per register that's actually used as a pointer09:40
lekernelthere are no aliasing issues if you put constraints on the page size09:40
wpwraki saw you mention things like shared pages having to map to the same virtual address ?09:41
lekernelnah, that was wrong09:42
wpwrakah, okay09:42
wpwrakit scared me a bit :)09:42
wolfspraullekernel: quick question - the 4 page brochure you made, do you want that printed on 2 separate A4 pages, or on one A3 folder in the middle?10:28
Action: lekernel is discovering myhdl in more detail, looks great!10:46
larscthe python thing?10:47
GitHub177[extras-m1] yizhangsh pushed 1 new commit to master: http://bit.ly/knwfYN10:53
GitHub177[extras-m1/master] add credential, milkymist trademark note, etc. - Yi Zhang10:53
kristianpaulwhat looks great exactly? code that it generates? high level descriptions?11:20
wolfspraulI demoed m1 to rez from corelabs.cn (who once wanted to work on the case but then never really got off the ground)11:58
wolfsprauloverall he liked it, and there is a chance one of his engineers has time to play with it for 2-3 months in August-October, so I will follow up once that guy is back from vacation at the end of July11:59
wolfspraulit was interesting the way the conversation went. the first thing he asked about resolution.12:01
wolfspraulhe thought 1024x768 was the minimum for large displays12:02
wolfspraulthen later we talked about how the m1 documentation can explain the product to current users of Arduino, openframeworks, processing12:02
wolfspraulso we see. I will follow up once his engineer is back... all good there, maybe they can use m1 in a future event, or start working with it and understanding it better12:04
lekernelkristianpaul, this for example http://www.myhdl.org/doku.php/users:cfelton:projects:fxintbv13:23
kristianpaulabout resolution, may bey i'm wrong but gui resolustion can go up to 1024x768, but is the same case for render?13:56
roh*sigh*. next time i should buy a fitting laser and just do it myself. *mailpingpong*14:38
roh4-5 of such batches should basically do it.14:39
wpwrak(resolution) yeah, what is is really ? i see "SVGA", which means 800x600, i see "1280x1024" on wikipedia, and i see "> 1024x768" on milkymist.org15:19
wpwrakkristianpaul: dodn15:20
kristianpauli think render is 800x600 and 16b bits depth?15:20
wpwraklet's try this again15:20
wpwrakkristianpaul: didn't you once say that your screen wouldn't even detect something as low as 800x600 ?15:20
kristianpaulyeah, but was not my screeen it was asigned to me when i was in labsurlab15:21
wpwrakah, i see15:22
kristianpaulhum, but usually lcd screens detect resoulustion from the source15:24
kristianpaulafaik i never tried the mm1 on my home LCD screen, just in the analog one15:24
wpwrakanalog = CRT ?15:24
kristianpaulhe, yes :)15:25
wpwrakbtw, i wonder if on http://milkymist.org/mmone.html it wouldn't be better to s/turnkey/turn-key/15:26
wpwrakwhen skimming quickly, i always stop wondering "what turkey ?" before reading it again :)15:27
kristianpaulor just mentioned other related words like out of the box?15:29
kristianpaulworks out of the box,etc..15:30
kristianpaulyeah, wikipedia redirect as well from turnkey to turn-key15:32
--- Wed Jul 6 201100:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!