BIOS chipset (Legacy BIOS) and BIOS Mode: UEFI Firmware


BIOS and UEFI (having an "EFI" partition on a disk or a usb stick) is Firmware for computers.

Firmware is a combination of persistent memory, program code, and the data stored therein. Typical examples of devices containing Firmware are embedded systems such as traffic lights, consumer appliances, digital watches, computers, computer peripherals, mobile phones, and digital cameras. The Firmware contained in these devices provides the control program for the device.

BIOS is an acronym for Basic Input/Output System and also known as System BIOS, ROM BIOS, or PC BIOS. It was a type of Firmware used during the booting process (power-on/start up) on IBM PC compatible computers. BIOS Firmware is built into PCs, and it is the first software they run when powered on. The name itself originated in 1975 from the Basic Input/Output System used in the CP/M operating system.

Click here for a listing of the original IBM BIOS from 1981. While protected by copyright, by openly publishing that BIOS source code, IBM allowed the best programmers worldwide to launch what became industry standards for spreadsheets, word processing, and database systems on desktop computers. To the benefit of all.

New computers these days, since about 2012 in particular, have a technically and somewhat different kind of Firmware called UEFI, having an "EFI" partition on the hard drive.

Please note that computer peripherals will of course contain other Firmware besides BIOS/UEFI/EFI. Network cards, video cards, raid controllers, hard-drives, flash drives, SSDs, and sound cards (just to name a few) can all have Firmware (RAM and registers) embedded inside.


Interface steps

On power startup, BIOS chipset Firmware or UEFI Firmware does initial hardware checking, then loads Operating System and low level drivers, associating each driver with at least one interrupt service routine (or handler). The Operating System provides a unified approach to the main memory on the motherboard.

Read following steps 1,2,3,4 as Low to High. 4,3,2,1 High to Low.

  1. Hardware (e.g. keyboard, mouse, speakers, microphone, camera, screen, printer, motherboard, memory, disk drive)
  2. Firmware (software written by the hardware manufacturer and built into the device)
  3. Operating System Firmware Interface (First program that runs when computer switched on e.g. UEFI or BIOS or ARM trusted firmware. Tests each Hardware device, establishes the Hardware driven Interrupts (e.g. coming from a keyboard to a PS/2 or USB port), enables access to each different device's firmware (its registers and microcode) over PCI USB SATA ARM Buses, establishes Low Level Driver commands to access x86 or x64 or ARM motherboards.) These Driver commands may be supplied by the manufacturer, or may reside in the operating system kernel.
  4. Operating System Kernel e.g. Windows, Linux, iOS, MacOS. To prevent "bottlenecks", the kernel may give Direct Memory Access to certain Hardware Drivers allowing the CPU central processor to run other tasks. The screen may also have a dedicated GPU graphics processing unit to speed up image processing.
  5. Operating System Runtime Interface e.g. Java VM Runtime, Windows Runtime, Android Runtime, Objective-C / MacOS, iOS Runtime. Windows also has a Client-Server Runtime subsystem (CSRSS) that handles Console Windows. This runtime interface accesses the kernel via Software driven Interrupts.
  6. User Software e.g. Microsoft Office, Google Office, Java applications (that run Java Bytecode), Windows dot net applications (that use Microsoft's Common Intermediate Language or CIL), Apple software that uses Mach Object file format, also Web Browsers that can download and process web pages that were written and saved on the Internet using HTML source code.
    User software itself is "object code" or "machine code" that interfaces with the Runtime Library Interface. The object code gets itself generated by software programmers who write English-like source code while referring to an API (Application Programming Interface) that accesses source code libraries. The source code they write is compiled (via a compiler program) that translates the source code files into object code files, with the object code then being copied to the computer's local hard drive, awaiting the local operator's instructions.
  7. Operator Input

A bit of history. With SW software, Windows 32-bit NTVDM.exe executable ran inside CSRSS for years supplying a stable interface for SWCS software, minimal graphics, but maximum text-based data enquiry, audit trails and reports input and output.

Run dxdiag.exe from a command line prompt in Windows to see the details of all video and audio hardware installed.

Run msinfo32.exe to see its BIOS version. If it shows BIOS MODE: UEFI, then it's running UEFI.

The SMBIOS version number has been loosely related to the Windows version the hardware is most likely to ship with:

If you've used PCs long enough, you know the frustration of trying to get to the BIOS screen so you can adjust settings like the order of boot devices. Every PC has a different magic keystroke, which must be pressed at exactly the right time.

On modern UEFI-equipped devices running Windows 10, the task is much simpler. Open Settings > Update & security > Recovery and then, under the Advanced Startup heading, click Restart now. (You have to be signed in as an administrator, naturally.)

That restarts your PC to a special startup menu. Click Troubleshoot, then click Advanced options to get to the screen which includes the UEFI Firmware Settings option.

Other advanced options on this screen let you roll back a problem with System Restore or change startup settings. If you're looking for good old Safe Mode, you'll find it under the Startup Settings menu.

If going through Settings seems too complicated, there's an even faster shortcut. From the Windows desktop, click Start, click Power, and then hold down Shift as you click Restart.

** End of File.