Re: [uClinux-dev] execute in place - yes or no?

2008-07-07 Thread Michael Schnell
This paper compares several virtual memory designs, including combinations of hierarchical and inverted page tables on hardware managed and software-managed translation lookaside buffers (TLBs). we are on the uCLinux forum. So I supposed the main interest is on non-MMU systems (even thoug

Re: [uClinux-dev] execute in place - yes or no?

2008-07-05 Thread Robin Getz
On Thu 19 Jun 2008 08:42, Greg Ungerer pondered: > But all processors running with virtual memory will have to > deal with a TLB, and the extra cycle costs associated with > TLB misses. As well as the work required to create and manage > the page tables. http://www.engr.umd.edu/~blj/papers/asplos

Re: [uClinux-dev] execute in place - yes or no?

2008-06-19 Thread Greg Ungerer
Hi Josef, Wolf, Josef wrote: rwarner wrote: Have you seen this paper on why an mmu might not be wanted in a embedded system? http://www.linuxdevices.com/articles/AT2598317046.html also in .pdf @ http://opensrc.sec.samsung.com/document/uc-linux-04_sait.pdf I've also thought that the memory

Re: [uClinux-dev] execute in place - yes or no?

2008-06-17 Thread Michael Schnell
This paper states that this issue is caused by the (ARM specific) cache on the logical address space. What should be expected for other architectures? How is cache designed on PPC and intel platforms? Are there differencies to expect? I might be wrong, but AFAIK, ARM is the only architectu

Re: [uClinux-dev] execute in place - yes or no?

2008-06-17 Thread Wolf, Josef
rwarner wrote: > Have you seen this paper on why an mmu might not be wanted in > a embedded system? > > http://www.linuxdevices.com/articles/AT2598317046.html > also in .pdf @ > http://opensrc.sec.samsung.com/document/uc-linux-04_sait.pdf > > > I've also thought that the memory page swapping t

Re: [uClinux-dev] execute in place - yes or no?

2008-04-18 Thread Michael Schnell
I used to program FPGAs (one board had 36 large ones :-), but I'm working an a dedicated CPU now because of unit cost in a price sensitive project. Seems OK, but I feel that the ratio is decreasing. I have the impression that all FPGAs are either _much_ more expensive than a CPU ($100s comp

Re: [uClinux-dev] execute in place - yes or no?

2008-04-18 Thread Jamie Lokier
Michael Schnell wrote: > Thanks a lot for telling us your experiences. > > I feel very happy that I chose an FPGA and not a dedicated hardware CPU, > so I can decide at any time if I want an MMU or not. :) Yes, FPGAs are nice in that way. I like being able to add special instructions and coproc

Re: [uClinux-dev] execute in place - yes or no?

2008-04-18 Thread Michael Schnell
Thanks a lot for telling us your experiences. I feel very happy that I chose an FPGA and not a dedicated hardware CPU, so I can decide at any time if I want an MMU or not. :) -Michael ___ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailma

Re: [uClinux-dev] execute in place - yes or no?

2008-04-18 Thread Jamie Lokier
Greg Ungerer wrote: > >Another is some handy programs (with no alternative) like iptables > >don't work, because they depend heavily on loading shared libraries at > >runtime. (Or does that work?) ... > It wasn't that hard to rework. Look at the code in > uClinux/dist/iptables. At the top of the

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Greg Ungerer
Hi Jamie, Jamie Lokier wrote: Andrew Kohlsmith (lists) wrote: On April 17, 2008 12:43:37 pm Jamie Lokier wrote: Video streaming i would consider a large scale system. Why was a non MMU processor selected for a video streaming application? Price and availability of a chip that did good video

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Jamie Lokier
Andrew Kohlsmith (lists) wrote: > On April 17, 2008 12:43:37 pm Jamie Lokier wrote: > > > Video streaming i would consider a large scale system. Why was a non > > > MMU processor selected for a video streaming application? > > > > Price and availability of a chip that did good video (HDTV even), a

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Andrew Kohlsmith (lists)
On April 17, 2008 12:43:37 pm Jamie Lokier wrote: > > Video streaming i would consider a large scale system. Why was a non > > MMU processor selected for a video streaming application? > > Price and availability of a chip that did good video (HDTV even), and > we didn't know the no-MMU penalty at

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Jamie Lokier
rwarner wrote: > Video streaming i would consider a large scale system. Why was a non > MMU processor selected for a video streaming application? Price and availability of a chip that did good video (HDTV even), and we didn't know the no-MMU penalty at the time. We did compare with some other d

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread rwarner
Jamie Lokier wrote: rwarner wrote: For headless systems and ones semi-stagnant in memory allocation/reallocation an MMU-less system has many advantages. However, what they also do is run an "ssh" command every 30 seconds to report home. That's enough to start the fragmentation problems. This i

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Jamie Lokier
rwarner wrote: > >>For headless systems and ones semi-stagnant in memory > >>allocation/reallocation an MMU-less system has many advantages. > > >However, what they also do is run an "ssh" command every 30 seconds to > >report home. That's enough to start the fragmentation problems. > This is in

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread rwarner
Stanislav Meduna wrote: rwarner wrote: You are aware that the ARM Ltd site has MMU based kernels with XIP? What core/processor are you using? # cat /proc/cpuinfo Processor : ARM7TDMI rev 0 (v4l) BogoMIPS: 20.28 Features: swp 26bit CPU implementer : 0x41 CPU architecture:

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread rwarner
Jamie Lokier wrote: Yes, i some instances it is necessary. I worked on an avionics platform that used 4K page sizes, so it was constantly paging in and out memory for execution. The interesting thing was i also used a non-MMU OS on the same processor PPC750 and noted the non MMU OS executed m

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Stanislav Meduna
rwarner wrote: You are aware that the ARM Ltd site has MMU based kernels with XIP? What core/processor are you using? # cat /proc/cpuinfo Processor : ARM7TDMI rev 0 (v4l) BogoMIPS: 20.28 Features: swp 26bit CPU implementer : 0x41 CPU architecture: 3 CPU variant : 0x00

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Jamie Lokier
rwarner wrote: > >Perhaps. The biggest problem with not having an MMU is memory > >fragmentation. Basically, you can't keep allocating large contiguous > >segments, but you need that to run ordinary executables and other > >things. > > > >On my application, I need to keep about 8MB free out of 32

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread rwarner
Stanislav Meduna wrote: Jamie Lokier wrote: Have you seen this paper on why an mmu might not be wanted in a embedded system? Perhaps. The biggest problem with not having an MMU is memory fragmentation. Basically, you can't keep allocating large contiguous segments, but you need that to run

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Stanislav Meduna
Jamie Lokier wrote: Have you seen this paper on why an mmu might not be wanted in a embedded system? Perhaps. The biggest problem with not having an MMU is memory fragmentation. Basically, you can't keep allocating large contiguous segments, but you need that to run ordinary executables and

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread rwarner
Jamie Lokier wrote: rwarner wrote: Michael Schnell wrote: I suppose due to hardware improvements, in the future even small systems will have MMUs, so I thinks there is not too much priority on these nommu issues. The NIOS will definitively get one, optionally , too, but in the moment I don't

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Jamie Lokier
rwarner wrote: > Michael Schnell wrote: > >I suppose due to hardware improvements, in the future even small systems > >will have MMUs, so I thinks there is not too much priority on these > >nommu issues. The NIOS will definitively get one, optionally , too, but > >in the moment I don't consider

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread rwarner
Michael Schnell wrote: I suppose due to hardware improvements, in the future even small systems will have MMUs, so I thinks there is not too much priority on these nommu issues. The NIOS will definitively get one, optionally , too, but in the moment I don't consider to switch to that as the

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Jamie Lokier
Michael Schnell wrote: > >Even PC-relative references have this problem, not just absolutes. > > Right you are, but I don't think the compiler generates PC-relative > addresses to locations in the data-segment. It does. Look at the GOTPC relocs used by ARM, for example. -- Jamie ___

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Michael Schnell
Even PC-relative references have this problem, not just absolutes. Right you are, but I don't think the compiler generates PC-relative addresses to locations in the data-segment. -Michael ___ uClinux-dev mailing list uClinux-dev@uclinux.org http:

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Jamie Lokier
Michael Schnell wrote: > >You forgot that the text segment may contain > >references to data or bss. > Ah, I did not suppose that there would be such absolute references, > which would mean that that loader needs to modify the content of the > text segment according to where it allocates the dat

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Michael Schnell
That doesn't work. What do you do about relocations in the code which point to addresses in the data segment? I did not assume that this method would be used. I see now. Thanks ! Normal (non-XIP) code references data through addresses in the instructions directly, because that is faster an

Re: [uClinux-dev] execute in place - yes or no?

2008-04-17 Thread Michael Schnell
You forgot that the text segment may contain references to data or bss. Ah, I did not suppose that there would be such absolute references, which would mean that that loader needs to modify the content of the text segment according to where it allocates the data segment. I assumed the data s

Re: [uClinux-dev] execute in place - yes or no?

2008-04-16 Thread Jamie Lokier
Michael Schnell wrote: > >That's because code/data position independence requires the compiler > >to generate special code, and support from the linker, but loadable > >modules don't require any compiler support - they are easy. > > > The load address of the code segment of a loadable module is n

Re: [uClinux-dev] execute in place - yes or no?

2008-04-16 Thread Erwin Authried
Am Mittwoch, den 16.04.2008, 16:32 +0200 schrieb Michael Schnell: > > That's because code/data position independence requires the compiler > > to generate special code, and support from the linker, but loadable > > modules don't require any compiler support - they are easy. > > > The load addres

Re: [uClinux-dev] execute in place - yes or no?

2008-04-16 Thread Michael Schnell
That's because code/data position independence requires the compiler to generate special code, and support from the linker, but loadable modules don't require any compiler support - they are easy. The load address of the code segment of a loadable module is not known at compile time. Thus it

Re: [uClinux-dev] execute in place - yes or no?

2008-04-16 Thread Jamie Lokier
Michael Schnell wrote: > Thanks for the explanation. > > I did come to this conclusion when thinking about the issue :). > > What I find astonishing, is that some (seemingly many) non-MMU > architectures don't support XIP (completely position independent code > segment) and don't support using

Re: [uClinux-dev] execute in place - yes or no?

2008-04-16 Thread Michael Schnell
Thanks for the explanation. I did come to this conclusion when thinking about the issue :). What I find astonishing, is that some (seemingly many) non-MMU architectures don't support XIP (completely position independent code segment) and don't support using a common code segment when starting

Re: [uClinux-dev] execute in place - yes or no?

2008-04-15 Thread Greg Ungerer
Hi Bob, Bob Brusa wrote: I am looking into the question: How many resources (flash and RAM) are required to run a (typical) uClinux-system? This depends on a lot of things, so it is hard to give any reasonable answer. As a data point I have built uClinux systems that had 1MB of RAM and 1MB of

Re: [uClinux-dev] execute in place - yes or no?

2008-04-15 Thread Greg Ungerer
Hi Michael, Michael Schnell wrote: Some architectures can do execute in place (XIP), some can't. (I did not yet find out the exact reasons.) Generally you need to be able to do the following for what we call "XIP" in uClinux: 1. compiler can generate position independent code(*) 2. compiler

Re: [uClinux-dev] execute in place - yes or no?

2008-04-14 Thread Erwin Authried
Am Montag, den 14.04.2008, 16:16 +0200 schrieb Michael Schnell: > Some architectures can do execute in place (XIP), some can't. (I did not > yet find out the exact reasons.) > > RAM usually is a lot faster than Flash, so XIP might be not desirable. > > -Michael XIP isn't necessarily for flash o

Re: [uClinux-dev] execute in place - yes or no?

2008-04-14 Thread Jamie Lokier
Michael Schnell wrote: > Some architectures can do execute in place (XIP), some can't. (I did not > yet find out the exact reasons.) > > RAM usually is a lot faster than Flash, so XIP might be not desirable. However, XIP is possible in RAM too. If RAM is fast but you don't have a lot of it, or

Re: [uClinux-dev] execute in place - yes or no?

2008-04-14 Thread Michael Schnell
Some architectures can do execute in place (XIP), some can't. (I did not yet find out the exact reasons.) RAM usually is a lot faster than Flash, so XIP might be not desirable. -Michael ___ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailm

Re: [uClinux-dev] execute in place - yes or no?

2008-04-14 Thread Remco Poelstra
Bob Brusa schreef: Hi I am looking into the question: How many resources (flash and RAM) are required to run a (typical) uClinux-system? At some places I read, that each piece of software that is part of (uC)linux is loaded from disk, decompressed and executed in RAM. On the other hand: From m

[uClinux-dev] execute in place - yes or no?

2008-04-14 Thread Bob Brusa
Hi I am looking into the question: How many resources (flash and RAM) are required to run a (typical) uClinux-system? At some places I read, that each piece of software that is part of (uC)linux is loaded from disk, decompressed and executed in RAM. On the other hand: From my previous (int