<html><body>
<DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">-Richard. <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">Thank you for some real numbers.  Ok, a few note to add to your very good description of the issue at hand. I found that my hard drive has a spin up time of about 3~5 seconds so thats out of the picture. Solved that issue by switching from a HDD to a Compact Flash (CF), no spin up, almost no seek time.<SPAN style="mso-spacerun: yes">  </SPAN>The board (Via EPIA-MII) has a built on CF slot.<SPAN style="mso-spacerun: yes">  </SPAN>Linux bios allowed me to boot from the CF.<SPAN style="mso-spacerun: yes">  </SPAN>Also there is one other number we need to look at.<SPAN style="mso-spacerun: yes">  </SPAN>How long does it take for FILO to load?<SPAN style="mso-spacerun: yes">  </SPAN>I have no clue on numbers for FILO.<SPAN style="mso-spacerun: yes">  </SPAN>The 2 step process LinuxBios <SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"><SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"></SPAN></SPAN> kernel (LBK), or the 3 set process, LinuxBios <SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"><SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"></SPAN></SPAN> FILO <SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"><SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"></SPAN></SPAN> kernel (LBFK).<SPAN style="mso-spacerun: yes">  </SPAN>In the LBFK process all the transaction are faster, but the second step my slow down the process long enough to make the LBK process faster. I am not very sure here and there are still just ideas and I need to do some real testing.<SPAN style="mso-spacerun: yes">  </SPAN>In the long run I may be forced to use LBFK as the smallest 2.6 kernel I have been able to compile comes in at 404k+linuxbios > ROM.<SPAN style="mso-spacerun: yes">  </SPAN>I think 512KB is the biggest ROM chip out there that will work with this board.</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">-Adam</P></DIV>
<DIV> </DIV>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">-------------- Original message -------------- <BR><BR>> On Fri, 11 Feb 2005 08:32:43 -0800, Adam Talbot <TALBOTX@COMCAST.NET>wrote: <BR>> > How fast is the ROM chip MB/s. In my case a SST 39SF020A 70-4C-NH. I was <BR>> > trying to figure out what would be faster... Linuxbios calling a 2.6 kernel <BR>> > off the hard drive, or loading my 2.6 kernel out of the rom file. I have the <BR>> > 512k rom chips, so I have room to add my kernel. If I put my kernel into <BR>> > the rom, can I just call it as a payload? <BR>> > -Adam <BR>> <BR>> Your challenge won't be loading speed but rather getting a kernel in 512k. <BR>> <BR>> That said my first guess is that in ROM is going to be much faster on <BR>> all but a few special cases but lets just do some math and see... <BR>> <BR>> For loading from the BIOS chip you are talking ISA cycles. Which is <BR>> approx 1uS per cycle but you are only going to get 8 bits at a time <BR>> unless you happend to have a 16-Bit flash. <BR>> <BR>> Lets neglect RAM speed since it should be the same in both cases. <BR>> <BR>> The string copy functions of x86 assembly will let you set up a block <BR>> memory move with basiclly no overhead. So you should be able to load <BR>> the entire ROM into a block of RAM in 525 mS. <BR>> <BR>> Reading from IDE will happen over the PCI bus which is much faster. I <BR>> don't really know what the actual cycle time of PCI is sine it varies <BR>> but the clock is 4 tims faster so lets assume we can get 4x the cycle <BR>> rate or 250 ns per cycle. Ide devices are 16 bit so we are going to <BR>> approx 8x the data rate. However, the HD involes a seek for every <BR>> 512 16 bit words. I don't think FILO takes advantage of the streaming <BR>> commands. So for every 1kb we are talking 128uS of data time and 10 <BR>> to 12 ms avg seek. so 512 x 12.128 mS give you 6.2 seconds. <BR>> <BR>> But thats a worst case number and neglects the cache of a modern HD. <BR>> If the HD is able to cache up the entire 512k so the seek times are 0 <BR>> then the number would have a low of .128 mS * 512 = 65mS. That's <BR>> negelecting the overhead with issuing the read commands to the IDE <BR>> device so in reality its higher than that. <BR>> <BR>> So the only answer is you have to test and see. Could be faster could <BR>> be slower. Also if you take in account harddisk spinup time from a <BR>> cold boot which is always going to be larger than .5s it in ROM will <BR>> be faster. But if you use something like a compact flash you don't <BR>> have the hd platter spinup time. Then its going to depend on the <BR>> device. <BR>> <BR>> I'd be intersted in hearing about your results. <BR>> <BR>> -- <BR>> Richard A. Smith </BLOCKQUOTE></body></html>