12

I noticed those items x86, i386, i686, amd64, i5, i7, archtecture, processor from the web, from my own notebook, from book readings.

But I am really confused by those terminologies. I try my best to elaborate my confusion, though you might understand it. The main obstacle ahead is I cannot organize my mind on the mainline behind those terms.

  1. Is there any difference between term architecture and processor?
  2. x86 and i5 are architecture or processor?
  3. What is the relation between OS bit (32-bit windows or 64-bit windows) and x86 bit (32-bit processor, not sure yet)?
  4. The architecture (or processor) mentioned above are all designed by Intel? Is it just a open standard that manufacturers (AMD & Intel) follows?

I have searched the Internet, especially the wikipedia, but the more I read the article there, the more I confused.

19

The term architecture covers a lot more than just the processor. There is a lot of other hardware components that are crucial to an OS kernel. The first example that comes to my mind is the interrupt controller, which is separate from the processor, but depending on actual model may be put inside the same chip as the processor.

This entire collection of hardware components, is called the architecture. If you include some core software components as well, you have what is commonly called a platform.

Also the term architecture is a bit more abstract than processor, you'll sometimes architecture referring to the design and processor referring to the physical piece of hardware.

x86 is a family of processors. In that family i386 was the first to have paging and 32 bit support. Lots of software has been written requiring those, so often you'll see software with that processor as their minimum requirement. For standard PCs, the i386 was obsolete decades ago, but it lived longer on some embedded systems.

By the time i686 name was coined, there were enough different processors in the family, that this term doesn't refer to a specific processor. But there is a set of important features, that must be present in order for the i686 term to apply. i686 was state of the art about a decade ago. Today some systems have dropped support for processors without all the features covered by the i686 term.

AMD64 is the name of a 64 bit architecture designed by AMD to succeed x86. At the time AMD64 managed to be more successful than the 64 bit architecture marketed by Intel. This was due to AMD64 CPUs being cheaper, backward compatible, and consuming less power. Eventually Intel realized that they had to start making AMD compatible CPUs to remain competitive. They would however not market them as such, which is a major reason why some synonyms for AMD64 has come into existence.

The term x86 covers all the 8, 16, and 32 bit CPUs in the family, and depending on who you ask also the 64 bit CPUs.

i5 and i7 are sub-families of CPUs manufactured by Intel.

| improve this answer | |
  • 1
    One minor addition, x64 is the generic term user in Linux that describes AMD64 and Intel's respective 64-bit modes. – Tero Kilkanen Jul 5 '14 at 16:21
  • 3
    @TeroKilkanen Wikiepedia mentions the following names: x86-64, x64, x86_64, AMD64, IA-32e, EM64T. All of them are referring to the same architecture. Picking among them is driven by marketing or personal preference, except from cases where you have to follow somebody else's convention due to software compatibility reasons. Of the various terms my personal preference is AMD64, because I think AMD deserves credit for their effort in striking just the right balance between preserving backward compatibility and getting rid of legacy cruft. – kasperd Jul 5 '14 at 19:11

Not the answer you're looking for? Browse other questions tagged or ask your own question.