We Need to Talk!
The CPU needs some method to talk to
the devices to tell them what to do
The devices need some way to send data
to, and receive data from the CPU
We need to expand our logical model from
the CPU chapter
CPU
RAM
Northbridge
Address Bus
EDB
CPU
RAM
Northbridge
Address Bus
EDB
Southbridge
keyboard
Video Card
Chipset
Address Bus
Northbridge
CPU
RAM
EDB
Chipset
Southbridge
Keyboard
Controller
Hard Disk Drive
Video Card
845 Chipset
925 Chipset
Keyboard
How we communicate with the keyboard
Problems
Different motherboards have different
keyboard controllers
We need specific code to talk to the
controller
We need a place to store this specific
programming and the programming for
other devices (optical drive, floppy, etc.)
Solution
Use a ROM chip
Does not forget when power is removed,
like RAM does
Specific to motherboard and devices on it
Read only, code does not change
Can hold lots of programs, like a chapter
book
Called firmware
IBMs BIOS
BIOS
BIO
System ROM
Holds all the support programming for
basic devices
Is given a specific address space, or
range of memory addresses for its code
1 MB
(384 KB)
640 KB
Conventional Memory
Address 0
Basic Hardware
CPU
Mouse
Keyboard
Video card
RAM
Network card
Sound Card
Floppy drive
Hard Disk drive
Zip drive
USB ports
CD-ROM drive
Basic Hardware
CPU
Mouse
Keyboard
Video card
RAM
Network card
Sound Card
Floppy drive
Hard Disk drive
Zip drive
USB ports
CD-ROM drive
Stored Information
Stores access/write code for keyboard
Stores access/write code for system
speaker
Stores access/write code for other chips
(functions) on motherboard
Does not change (more on this in a
moment)
CMOS
Complimentary Metal Oxide
Semiconductor how it was made
Stores specific information about your
system:
Amount of RAM present
Type of hard disk drive
Date and Time
Chipset
Address Bus
Northbridge
CPU
RAM
EDB
Chipset
Southbridge
BIOS
And
CMOS
Keyboard
Controller
20
Mouse
Video Card
BIOS
All devices need BIOS code to
interoperate with CPU. Some is stored
directly in System BIOS chip, most is
stored elsewhere.
One of the functions of BIOS is to provide
the CMOS Setup Utility, or Setup, which
allows us to change CMOS data.
BIOS
information
CMOS
information
CMOS or Setup
Option to use this program is early in the
boot cycle long before system loads
Operating System
Different key(s) to enter different Setups
You should only get to Setup on purpose
Program stored in BIOS, but only edits
data in CMOS
First CMOS was set of switches!
Same parent
Award Software
company
Phoenix Technologies
AMI American Megatrends Inc.
They write BIOS with lots of options;
motherboard maker picks sections to be
used
Long gone are IBMs patents on BIOS
Setup
Lots of screens and subscreens
You dont need to know about all settings
on all screens
Motherboard book is mildly helpful on
some options
You should know generally where things
can be found
Here is where
you set the boot
order
When adding a
modem, you might
want to turn both of
these off.
Old CMOS
Stored the hard drive geometry which
was NOT found on the drives label
Old systems had a nasty habit of loosing
CMOS data and requiring a trip to the
repair shop to get fixed
I spent many an hour hacking drive
geometry values by trial and error
15
New CMOS
Did you notice the High Performance
option?
Did you see the Setup Defaults option?
BIOS can talk to hard disk drive and get
all the information it needs.
About the worst that happens today is the
need to reset date and time.
Chip Evolution
EPROM Erasable Programmable ROM;
used ultra-violet light (sunlight) to erase
EEPROM Electrically Erasable what
we use today
Flash ROM another name for EEPROM
NVRAM Non-volatile RAM. Really not
so, still needs battery power
The Three-In-One
We have BIOS that stores code and
access program to CMOS
We have CMOS that stores changeable
information about our system
We have RTC (Real Time Clock) that
keeps track of date and time
All three are now rolled into one chip
More Battery
Sometimes we WANT to reset CMOS:
A forgotten password
Too aggressive overclocking
Incorrect low-level settings on some screen
10
More BIOS
Option ROM put a BIOS chip on the
card/device
Video is most common for this
SCSI cards
Network cards have socket, chip is extra
Software Solutions
Device Drivers very flexible, but must
wait until OS starts loading.
CONFIG.SYS DOS utility program, runs
before DOS really gets going
SYSTEM.INI Introduced with Win 1 to 3,
another text file. Win 9x wont boot without
it; XP will
The Registry Introduced with Win 95.
Binary database of information
Software Help
Control Panel Graphical window to the
Registry
Device Manager Another graphical path
to the Registry
REGISTRY EDITOR(s):
REGEDIT
REGEDT32
POST, cont.
Until video card is done, we are in the
dark and could get Beep Codes for
errors. Dont memorize them. Constant
beeping is either memory or video error.
Once the video card has checked itself
out, we could get error codes/messages
on the monitor as other devices report
status
5
POST, cont.
About this time, we get the option to run
CMOS Setup routine
POST is done; control passes to
Bootstrap Loader. Its job is to find OS.
Looks for the Boot Sector on floppy/hard
disk drive(s)
Boot Order
Somewhere in CMOS Setup is the ability
to set the boot order, or the order in which
the bootstrap loader will search for an OS.
I set my systems to: CD/DVD drive, floppy
and then hard disk drive.
Usually, if a bootable CD is found, you get
the option to boot from it (by pressing any
key). Do nothing and loader continues the
search for an OS.
POST Cards
Can be purchased; probably about extinct
now.
I could have used one about three times in
my career so far.
If another (known good) video card and/or
memory wont boot, motherboard is
toasted.
UEFI
At least Sandy Bridge processor and
current motherboard.
32/64-bit replacement for BIOS
Allows use of 3 TB+ drives without
partitioning it down
Good topic for an Internet search some
rainy Saturday