One Step Closer To Speedier, Bootless Computers
CWmike writes "Physicists at the University of California at Riverside have made a breakthrough in developing a 'spin computer,' which would combine logic with nonvolatile memory, bypassing the need for computers to boot up. The advance could also lead to super-fast chips. The new transistor technology, which one lead scientist believes could become a reality in about five years, would reduce power consumption to the point where eventually computers, mobile phones and other electronic devices could remain on all the time. The breakthrough came when scientists at UC Riverside successfully injected a spinning electron into a resistor material called graphene, which is essentially a very thin layer of graphite. The graphene in this case is one-atom thick. The process is known as 'tunneling spin injection.' A lead scientist for the project said the clock speeds of chips made using tunneling spin injection would be 'thousands of times' faster than today's processors. He describes the tech as a totally new concept that 'will essentially give memory some brains.'"
You could have had faster booting via an OS from Japan.
http://en.wikipedia.org/wiki/BTRON
But MS and the US gov had it killed due to market intervention.
Domestic spying is now "Benign Information Gathering"
1000x in 5 years IS wishful thinking, but it isn't THAT drastically off from Moore's law, which predicts a 1000x increase every 10 to 15 years. And it's never happened overnight, but in steps every few months. Many of the "1000x-predicted" technologies that /. covered 10 years ago probably have been part of the 1000x-actual increase of the last 10 years.
Those who fail to understand communication protocols, are doomed to repeat them over port 80.
I'd settle for speedier, botless computers.
If history is any indicator, then the next version of every software program would then be 1000x slower.
Computers needing to "boot" is a relatively modern invention caused in part by hardware hotplug, backwards compatibility modes and reliability checks.
Most of the boot process is:
- Moving out of legacy modes (e.g. enabling increased capabilities from basic instructions sets to full modern ones, enabling different memory access models, enabling 64-bit etc.), ramping up core speed, enabling things like DMA and moving from "safe" memory timings to those that the chips report they can support when the negotiations finally take place, bringing up the non-boot CPU's, etc.
- Contention. Doing only a certain number of things on the bus at any one time, making the buses serial, making the buses have sub-buses and other ideas. Sometimes there is no quicker way to do things. Sometimes it *will* take 1000ms before the disk will respond that it's up to speed.
- Checking that RAM does indeed do what it's told, that a boot loader is present, that a floppy is present (yes, even on some modern BIOS's), checking IDE/SATA channels and retrieving capabilities, checking memory timings, checking PCI and USB buses, checking that disks are spinning, etc.
Some of my servers take up to 3 minutes to get to the point where they can actually load the first byte from disk to begin loading it. A lot of this time is BIOS handoff to the BIOS on the RAID cards (and sometimes the network cards), those RAID cards checking, assembling and enabling the drives, etc. With two RAID cards, we've just nearly doubled boot time. Proper (reasonable) memory checks of several GB of RAM still takes a while, even for a simple test. And yet there's still a minute or so of absolute complete waste as we start in some 8086 legacy mode and slowly have to ramp up disks, cards and our own CPU's, not to mention external hardware like USB and DVD drives "just in case". And then the OS has to go and do it all itself again later anyway.
This is why things like the LinuxBIOS (now called Coreboot) project actually work better and faster - when we KNOW what the BIOS needs to do, we find that lots of it is done twice, lots of it are unnecessary, lots of it can be delayed until we actually NEED the DVD drive, some of it can occur in the background because it will ALWAYS take a long time to start etc. But how many fixed sets of hardware does that project actually work on? Few. Because not only is it tricky to do that sort of analysis, but it's tricky to lock-down exactly what the BIOS needs to do and do better than the original BIOS.
We can have an "instant on" computer. It's easy. My ZX Spectrum did it nearly 30 years ago. My calculator does it now. The Psion organisers all did it. Most portable games consoles manage it. The thing you have to realise though is that it means: booting into a single, fixed OS that's tricky to upgrade, making power management apply to every process perfectly, fixing a set of hardware down that we know can always boot into a certain configuration very quickly, changing the way that all our chips work so they start in their best mode, not their worst (and thus probably destroying things like OS installers as we know them and making them specific to a machine type - no more installers modern OS on old computers, or old OS on modern computers), removing any sort of consistency checks and having to rely on things not going wrong or the hardware being able to handle all hardware errors (e.g. ECC memory for everything with reporting of anything it can't handle), and building every component so it doesn't "negotiate" or "initialise" but just works (e.g. even a keyboard controller can take some time to come back online at the moment, not to mention graphics, disks, USB buses, etc.).
Instant-on computers are always possible, and some of them are very useful for certain things. But generic PC's and instant-on won't happen until CPU's, disks and bus negotiations take literally fractions of a second for any operation (and thus we still do as many instructions to initialise but they take clock cycles