multithreading - Multi threaded BIOS -
i know why bios single-threaded have 4 cores/8 cores. latest uefi technology allows gui utilities. there specific reason not implementing multi-threaded bios.
the simple answer is: diminishing returns
on pcs, boot sequence of bios/uefi takes ~5 seconds work (not counting hdd spinup latency). people, fast enough. (if want faster, put pc sleep instead of turning off.)
keep in mind many of tasks done in bios cannot parallelized. memory controller has initialized first. pci/pcie busses must enumerated before can check of subsequent devices (usb, sata, video, etc). can't boot until disks have spun up.
there are few initialization items time-consuming, , done in parallel.
- ide/sata - takes while due mechanical disk latencies.
- usb - usb devices need 100s of msec after power applied come life.
- video (any other third-party bios extensions) - takes while communicate displays , sync up.
those tasks done in parallel, might speed pc's boot time. keep in mind there, need write kernel , task scheduler. in legacy bios (pure x86 assembler), not pretty. in uefi (which c source), little more feasible. however, still requires non-trivial engineering effort minor gain (maybe 1-2 second of boot time.)
phoenix has tried introduce multi-threaded bios initialization before. far know, never took off.
Comments
Post a Comment