Design Article
Fastboot technology for ultra small Intel Atom processor designs
Gerhard Szczuka, Ben Biron
10/5/2009 10:00 AM EDT
Traditionally, x86 systems have relied on boot firmware called the BIOS (Basic Input Output System), which provides a wide range of device compatibility and detects the system configuration at boot time. However, neither of these capabilities rank high in embedded application requirements. Embedded solutions are typically niche, purpose-specific, or mass-produced devices with the exact same configuration for each device. Some of these applications require boot-times in milliseconds. So the question is: How can developers achieve a fast, BIOS-less boot on open x86 processors, rather than on dedicated controllers? Such an approach would be ideal for:
• real-time control and communication in automotive and security applications
• machine controls such as soft PLCs and HMIs
• mobile applications for measurement and diagnostics
• mobile medical applications, and
• all other "sleeping" (Sleep state S5 = off) applications with a wake-on-x functions
In the automotive sector, instant-on is advantageous for a range of applications, i.e. when a driver turns on the ignition, he wants to have all the vehicle's functions displayed instantly. This is not just a desirable goal for applications such as media consoles or navigation systems which have to instantly start. Car status data is an even more important application area, as data has to be shown on the PC display when the car is started or for real-time car control, which is realized via an embedded PC. Furthermore, instant-on is important for business applications, where data has to be available immediately without the driver having to use the ignition key, e.g. fork-lift truck drivers, courier service drivers, bus and lorry drivers etc. as even when a vehicle is stationary, work processes have to be carried out in order to save valuable time. Additionally, when the system switches itself off when not in use, energy and costs are being saved. This is where instant-on is an absolute must. Furthermore, applications which require regular updates, i.e of traffic data, even when a vehicle is switched off, could also profit from instant-on, as the on time is reduced saving battery operating time.
BIOS boot time
The BIOS can be seen as a miniature operating system responsible for interfacing with the hardware. The portion of the BIOS that has the greatest effect on boot time is the boot code. This code, which executes on system power up, detects and initializes devices attached to the system.




Les Slater
10/5/2009 12:40 PM EDT
Watched the youtube video and noticed that one thing they left out to speed boot was memory test. Also the loading of OS image from FLASH, presumably via software previously loaded. Not checking memory bothers me. I thought about it for a while and concluded there would be a significant market for a northbridge chip that included a small amount of FLASH that could be DMA'd into system RAM. It could then be read back with some sufficiently robust checksum to RAM. This would also be Xored with FLASH to verify both RAM and FLASH integrity. The bit width of the FLASH could be sufficiently large to match the RAM speed. The amount of FLASH would not be prohibitive, it would just have to be process compatible. The economics of this would not be as clear if the northbridge became integrated into the processor die but still would merit consideration.
Sign in to Reply
Les Slater
10/5/2009 1:21 PM EDT
With 16MB of SYSTEM RAM and 800MB transfer rate, a pass would only take 21 ms. A few passes should suffice for a reasonable memory test.
Sign in to Reply
AndyGryc
10/6/2009 5:21 PM EDT
No, they aren't testing RAM or Flash to acheive that speed. Testing the RAM isn't necessarily straightforward: RAM has a lot of different ways it can fail, and many of those only show up with certain addresses and certain bit combinations. A flash image can be tested reasonably robustly with a 32-bit CRC. All of those take a lot of time, though. If you're building an embedded device that can't receive firmware updates (not a PC that requires a BIOS), it won't matter if RAM or flash is corrupt, since the system has failed anyway. If its a system that requires guaranteed reliability, you can use dual flash images and a ROM, or voting technology or something else to ensure you boot properly even in face of failure. The point demonstrated though is that you can bring even a PC up super fast if you do the minimum necessary and avoid the BIOS.
Sign in to Reply