x86 Hardware design – What everyone should know

Three chips

The x86 use often three chip solution, but it’s not a rule. Mobile platforms many time use only two chips. The chips used to be known as CPU (to support different CPU speeds and models), North Bridge (mostly memory interface + graphic interface or graphics), South Bridge (peripherals). These days manufacturers use different names such GMCH, SCH, PCH, …

Picture: Intel N270 (Three chips) / Intel ATOM Z5xx / Intel CORE i7

Power sequencing

x86 boards support several power states. The most well know are:

  • S0 – Board is ON
  • S3 – Board is in Sleep (when you close your laptop, without shutting down)
  • S5 – Board is OFF, but can be switched pressing Power button
  • G3 – Disconnected from Main power

Power rails are split into several power domains: by voltage (+5V, +3.3V, …) and by power state (S0, S3, …). For example +3.3V rail is split into: +V3.3A (Always ON or also know as S5), +V3.3 (S3) and +V3.3S (S0).

More about power states: see ACPI specification

Power sequencing is controlled by South Bridge. Mobile platforms use a Embedded controller instead. The embedded controller integrates often also other features – keyboard interface, volume control, ambient light sensor for automatic display backlight control, …

High Currents & High Heat

When designing a x86 board, it’s important to know how a lot of heat will be taken away. Power supplies are designed to support currents up to tens of Amps. PCB layout has to take this into consideration and wide tracks / planes + multiple VIAs are required for power tracks.

BIOS

BIOS development is one of the key parts of x86 board development. It’s done by BIOS companies (Phoenix (Award), Insyde, … ) or by BIOS developers (they own a licence to source code of BIOS). Basic BIOS binaries are provided together with development platform, but must be customized based on the new board design. BIOS customization may easily cost around $900 per day.

Manufacturers of peripheral chips provide binaries for BIOS e.g Video BIOS, Ethernet BIOS (to support booting over Ethernet …), SATA BIOS (to support RAIDS …).

Open source BIOSes are also available – for example Coreboot (formerly known as LinuxBIOS)

A replacement for the older BIOS has been developed. The replacemnt is known as UEFI and is supported by several big manufacturers such Intel, AMD, IBM …

Booting

Initially, BIOS is executed directly from BIOS FLASH memory. Once system memory has been initialized (together with some other code),  the BIOS starts running from DDR.

BIOS Debugging

Before video interface is initialized, a serial console or JTAG can be used to debug BIOS. Standard BIOS diagnostic output is called POST code. This code differentiate between manufacturers. BIOS POST code is a two/four digits hex value written by BIOS software on port 0x80. For easier diagnostic, this code can be read by POST code diagnostic cards.

Do you have any questions or you think something else is also important? Leave a comment.

Please LIKE, Share, ReTweet. Thank you.

11 thoughts on “x86 Hardware design – What everyone should know

  1. Hi Robert!

    Can you share some reference schematic for very simple x86 system, for example for Atom (with only CPU and NB)? It would be interesting to see how complex/simple it really is.

    I work as a HW designer but I only do simple embedded stuff regarding building automation systems (PIC, MSP430 and such).

    I like your blog very much, please keep it up!

    -Mikko

    Like

    1. Hi Mikko, 

      thank you.

      Unfortunately, I can not help you with the  x86 reference schematic, as all reference designs I have used are under NDA and it’s not possible to share them, but … 

      … some time ago a friend of mine send me a link with ATOM laptop schematic in pdf. He was fixing his netbook and he found it somewhere (I don’t remember where). Have a look on Internet.

      Like

      1. hi
        these reference designs, how was it acquired. how did you approach, any fees, stuff like that.
        thanks.

        Like

      2. yup. i ll like to know the approach you took to get the reference design from Intel. i ll like to try my hand on it.

        Like

      3. Like Robert mentioned in his first reply, you have to sign an NDA (Non-Disclosure Agreement). I doubt Intel will sign NDA to release their design documents with private people. I don’t want to be mean, but reading your post it seems like you stand no chance in designing a working board. It would, of course, be very interesting to look at the documents and etc. but I highly doubt that’s going to happen. Sorry.

        Like

      4. yes i know the possibility if it’s an individual you wont get it. the reason i am asking is, there exits plenty of resources to study about a topic, but taking it commercial sometimes you just dont have a clue what steps to take. So if you begin a company how will you obtain/begin the procedure. I may sound naive, but hey we all are before we know. 😉

        Like

      5. Mikko is right. Normally, you need to contact your local Intel guy. They consider, if they will release the documents to you. I believe, they check your company experience and they need to be sure you will be able to design a working board. Also, the first question they ask is: Who is your customer and how many boards they will buy.

        However, check this. It may help you: http://www.fedevel.com/welldoneblog/2013/07/design-your-own-intel-x86-motherboard/

        Like

  2. Hi Robert,

    Is there any speciality(other than usual PCB design) that we have know while starting a design using x86 architecture

    Like

    1. It’s good if you have experience with designing other kind of CPU boards e.g. ARM or MIPS, but x86 has a lot of differences mostly connected to BIOS and Power management which are very specific for this platform and you will probably learn them after you start designing these boards.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s