2

Packages

i386, ia64, i636, x86_64, i486, amd32, amd64, sparc, powerpc, arm, noarch... am I missing anything?

Processors

  • intel - atom, i5, i7
  • nvidia - tegra
  • amd - 32, 64 am I missing anything?

Questions

  1. Can someone help me match the package with the processor?
  2. Which processors are 64bit?
  3. Can I run 32bit packages on 64bit processors?
N.N.
  • 18,219
  • 3
    That is three different questions. This site works better if you ask one question at the time so I suggest that you split them up. The second question might be more on topic on http://superuser.com . For the third question you seem to not have done your homework, it's already asked on the site, see e.g. http://askubuntu.com/questions/20355/running-32-bit-app-under-64-bit-linux – N.N. Aug 30 '11 at 17:09
  • The reason I'm posting here is because launchpad/ubuntu will give me options for like 3 or 4 different processor types to download the package. – Joshua Robison Aug 30 '11 at 17:18
  • 1
    @Joshua: thats why you should use Synaptic or Download Center for downloading software: it will automatically pick the right package for your machine. If launchpad must be used, add the PPA to your software sources. Never manually download packages from web unless you really know what you doing. – MestreLion Aug 31 '11 at 07:10
  • ill keep that in mind – Joshua Robison Aug 31 '11 at 11:05

3 Answers3

7

This is a very broad question, I'll try to answer it making groups.

1.- Big Iron, old architectures, you shouldn't care about them unless you're into them.

  • sparc -> Sun Sparc, a cpu for big iron
  • powerpc -> Power PC, you're only likely to find it in old macs.
  • ia64 -> Itanium, again you are not going to find this in a PC.

2.- Not PC, but a very current and used architecture:

  • arm -> Arm, you will find this CPUs everywhere, from phones and tablets to TVs and routers. But not in what is normally called a PC. The NVidia Tegra is an Arm CPU integrated with a couple of other chips, including a GPU.

3.- 32 bits PC architecture, the packages that you should use if you installed Ubuntu 32 bits, but that can also work on 64 bits. Older Atoms (series Z5xx, Z6xx, N2xx and 2xx) are 32 bits CPUs:

  • i386 -> Intel 386 CPU or compatible, includes anything from the last 20 years.
  • i686 -> Intel Pentium M, newer and compatible chips. Your usually AMD or Intel chip is going to be able to handle them.
  • amd32 -> AMD 32, any processor that you can find today will be able to use that package.

4.- 64 bits PC architecture, you can only use this if you have a 64 bits CPU and a 64 bits Ubuntu installed. Most if the Atoms, all i5, i7 and all current AMD processors are here.

  • x86_64 -> Any 64 bits CPU computer, you will need a 64bits cpu (most of the newer ones), and a 64 bit version of Ubuntu installed.
  • amd64 -> It's just another name for x86_64.

5.- Everyody can use them:

  • noarch -> This packages are usually scripts, files or programs in some interpreted language, they will be useful to any computer.
Javier Rivera
  • 35,153
  • 3
    +1... very good answer! a few notes, tough: early atoms (N2xx) are not 64 bits.. only from N450 upwards. x86_64 is not exactly amd64.. its intel's version of amd64, with a few (subtle) differences. Both AMD and Intel CPUs will run amd64. Also, for i386, you can safely say 20 years, not 10 ;) – MestreLion Aug 30 '11 at 18:15
  • 1
    @MestreLion: Thanks, I edited the post to address most of your points. But (there is always a but). I can't find any reference to differences between x86_64 and AMD64. There are some places where they said that AMD renamed X86_64 to AMD64 somewhere in 2003. You will find lots of discussions about it on open source forums, as most people perceived x86_64 as more vendor neutral. Are you sure about the differences, what are they? – Javier Rivera Aug 31 '11 at 06:51
  • 2
    Seems we are all correct: it was created by AMD and indeed conceived as x86_64 and renamed to AMD64 when launched in 2003. Both AMD and Intel use the same standard. However, AMD and Intel's implementation of that specification is different. See http://en.wikipedia.org/wiki/X86-64, section "Differences between AMD64 and Intel 64" and "Industry naming conventions" – MestreLion Aug 31 '11 at 07:04
  • This is a great answer : D Nobody commented on the atom : ( – Joshua Robison Aug 31 '11 at 11:10
  • @Joshua: did you actually read the answer? He did comment on the atom... i even suggested additional info on them and he updated the answer. "Older Atoms (series Z5xx, Z6xx, N2xx) are 32 bits, while modern ones (from N4xx onwards) are 64" – MestreLion Aug 31 '11 at 11:29
  • @MestreLion, sorry. I focused on the table's and scanned quickly over the summaries so I didn't see any Atom --> anywhere. So I missed the info. – Joshua Robison Aug 31 '11 at 11:48
  • @Joshua: Because Atom is a processor, not an architecture. Its a common misunderstanding... read my answer below, and, if you fint it useful, upvote it – MestreLion Aug 31 '11 at 12:06
3

You seem to be misunderstanding processor with architecture. A processor is hardware component. An architecture is the "machine language" it understands: its set of instructions, registers size, etc.

So, different processors, from different families, can "speak" the same "language", meaning that they understand same binary code and act accordingly. For example, both (ancient) 386 and 486 processors understand i386 code. Pentium introduced some "extensions", like MMX, SSE, etc.

Some processors also understand more than one instruction set, for backwards-compatibility: for example, all modern AMD (and Intel) CPUs are compatible with both i386 and amd64.

A detailed list of architectures (with links to which processors support them) can be found here: http://en.wikipedia.org/wiki/List_of_CPU_architectures

Last but not least, for your last question, the answer would be: yes, you can run 32bit packages in 64bit processors, since most will understand both architectures, as long as your OS is also 32-bit!

MestreLion
  • 20,086
2

In general, things ending in "86" or "32" are 32-bit and things ending in "64" are 64 bit.

So, i386, i486, x86, i686 and AMD32 are 32-bit. And IA64, x64, x86-64 and AMD64 are 64-bit.

PowerPC can be 32-bit or 64-bit depending on the model.

ARM is 32-bit.

SPARC can be either depending on the model.

Processors can vary as well. Depending on the model, the Intel Atom processors can either be 32-bit or 64-bit.

Starting with the Core2 processors, all of Intel's newest processors are 64-bit. This includes the Core i3, i5, i7 series.

Tegra uses ARM, so it's a 32-bit model as well.

In general, you can run 32-bit applications on 64-bit processors. The compatibility issue arises with a 64-bit operating system. Ubuntu comes in both 32-bit and 64-bit variants, and not all 32-bit software will run in a 64-bit operating system. Developers often make compatibility packages that you can use. Here is an Ubuntu documentation article discussing the differences between 32-bit and 64-bit on Ubuntu. See the bottom for compatibility options.

Kris Harper
  • 13,477