The soul of a BIOS chip??


Ok this may sound absurd or weird (or both lol) but I’ve been curious for quite a while now about what powers a BIOS chip? I get it, it must be some sort of code or programming but how exactly does a BIOS chip come to life (which then powers a PC / laptop, for example)? Like is there some sort of a master device or a piece of code that you just insert into a piece of metal & plastic?

P.s.: I’m REALLY hoping someone actually reads & replies. Thanks in advance guys!

In: 2

4 Answers

Anonymous 0 Comments

Electricity and logic gates, repeat as necessary.

Electricity flows through conductive material. If you’re clever about what that material is and how it’s arranged, you can make it do certain things like go down path A or path B in certain circumstances. This is called a *logic gate*. Pile up a whole bunch of those in particular orders and you can make the electricity do increasingly sophisticated things. After a certain point it’s sophisticated enough to function as a computer.

There’s actually a game available on Steam called “Turing Complete” that’s a really great way to understand this. It starts you out with a single simple logic gate and builds in complexity step by step until you’ve built a functional computer.

Anonymous 0 Comments

The BIOS is actually the name you’re looking for. It stands for Basic Input/Output System and is a primordial chunk of machine code called firmware installed on a physical chip called the EPROM. When you power on your computer the motherboard loads the BIOS into low-level memory and the BIOS is what performs the Power-On Self-Test, detects the hardware currently installed, and finds the bootloader installed on the system hard drive and loads that so the rest of the Operating System can start.

It’s actually largely outdated with most modern computers using a new system called UEFI or the Unified Extensible Firmware Interface. With BIOS different manufacturers invented their own firmware, eventually someone reverse engineered the IBM firmware allowing other manufacturers to build PCs that were “IBM Compatible”, if you’re old enough to remember that term from back in the day. UEFI is an open standard for Windows, Linux, and kindof Mac that allows for much more nuanced control of hardware by the OS itself as well as loading of more complex bootloaders. Though it basically does the same thing as BIOS did, just fancier.

Anonymous 0 Comments

A BIOS chip is just a non-volatile memory chip. It responds to an address input by outputting the data stored at that address. Like all devices attached to the system bus it needs to respond to a certain range of addresses. For example 32-bit Intel and compatible AMD CPUs require that BIOS be located at 0xFFFFFFF0 address and below because the very first byte CPU reads once powered is at 0xFFFFFFF0 address. If for example you have a 16 MB BIOS storage chip you need to make it respond to 0xFF000000 – 0xFFFFFFFF range of addresses. To do that you need an additional chip that checks if the upper 8 bits on the address bus are all ones. If they are then the chip should enable “Chip Select” pin of the BIOS storage chip. “Chip Select” disables/enables the whole chip. That’s it. You now have a device that can boot (after you write the BIOS code to the chip of course).

As for the BIOS code, it’s kind of super stripped-down operating system with built-in primitive device drivers and ability to run a single built-in application without any memory protection like in a real OS. Once it’s finished it passes control to the real OS and turns itself into a library (a passive collection of code and data) that the OS can optionally use to communicate with devices in a limited way.

I wouldn’t say BIOS powers a PC / laptop. It just initializes the builtin devices and tells the OS the configuration parameters of the devices. You could in theory completely get rid of BIOS and just have a small invisible to user bootloader. ARM based Android phones run a real Linux-based OS without any BIOS.

Anonymous 0 Comments

A BIOS chip is just a Flash memory. You can ask it: “Hey, what’s the value at position 1234?” and it will answer: “10101101”. And that’s basically it.

The purpose of the BIOS chip is to memorize a single EXE file. This EXE file is a program, that will be executed each time your computer starts. All you see until Windows/Linux gets loaded is done by this program. The loading of the staring EXE of Windows/Linux is also done by this program.

When the CPU gets powered up, it always starts executing a program from some predefined position – let’s say, 999999990. So it asks: “what’s at position 999999990?” The motherboard redirects requests for positions 999****** to the BIOS chip. So the CPU starts reading an EXE file from the BIOS chip.