Mercurial > hg > aboriginal
annotate www/architectures.html @ 1439:d2b121fc1567
Use the ext4 driver for ext3 and ext2 filesystems.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sat, 10 Sep 2011 08:03:10 -0500 |
parents | d4eb237dcc6f |
children | 2ae38e4a36db |
rev | line source |
---|---|
881
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1 <html> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
2 <title>Target architectures</title> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
3 <body> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
4 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
5 <!--#include file="header.html" --> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
6 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
7 <hr /><h1><a name="arm" \><center>ARM</center></h1> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
8 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
9 <p>The ARM processor is popular in the embedded space because it has the best |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
10 power consumption to performance ratio, meaning it has the longest battery |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
11 life and smallest amount of heat generated for a given computing task.</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
12 |
1341
d4eb237dcc6f
Many typos, spotted by Alan Post.
Rob Landley <rob@landley.net>
parents:
1109
diff
changeset
|
13 <h2>Processor vs architecture</h2> |
881
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
14 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
15 <p>Although ARM hardware has many different processor designs with varying |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
16 clock speeds, cache sizes, and integrated peripherals, from a software |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
17 perspective what matters is ARM |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
18 <a href=http://www.arm.com/products/CPUs/architecture.html>architectures</a>, which are the different |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
19 instruction sets a compiler can produce. The architecture names have a "v" |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
20 in them and the processor designs don't, so "ARM922T" is a hardware processor |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
21 design which implements the "ARMv4T" software instruction set.</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
22 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
23 <p>The basic architectures are numbered: ARMv3, ARMv4, ARMv5, ARMv6, and |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
24 ARMv7. An ARMv5 capable processor can run ARMv4 binaries, ARMv6 can run ARMv5, |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
25 and so on. Each new architecture is a superset of the old ones, and the main |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
26 reason to compile for newer platforms is efficiency: faster speed and better |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
27 battery life. (I.E. they work about like i386, i486, i586, and i686 do in |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
28 the x86 world. Recompiling ARMv4 code to ARMv5 code provides about a 25% |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
29 speedup on the same hardware.)</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
30 |
1341
d4eb237dcc6f
Many typos, spotted by Alan Post.
Rob Landley <rob@landley.net>
parents:
1109
diff
changeset
|
31 <p>The oldest architecture this compatibility goes back to is ARMv3 (which |
881
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
32 introduced 32-bit addressing), but that hardware is now obsolete. (Not just no |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
33 longer being sold, but mostly cycled out of the installed base.) The oldest |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
34 architecture still in use is "ARMv4", which should run on any ARM hardware |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
35 still in use today (except ARMv7M, which is ARM in name only).</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
36 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
37 <h2>Architecture extensions</h2> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
38 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
39 <p>ARM architectures can have several instruction set extensions, indicated |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
40 by letters after the ARMv# part. Some (such as the letter "E" denoting the |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
41 "Jazelle" bytecode interpreter, which provides hardware acceleration for |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
42 running Java bytecode) can safely be ignored if you're not using them, and |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
43 others are essentially always there in certain architectures (such as the DSP |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
44 extension signified by the letter "E" which always seems to be present in |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
45 ARMv5). But some are worth mentioning:</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
46 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
47 <p>The "Thumb" extension (ARMv4T) adds |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
48 a smaller instruction set capable of fitting more code in a given amount |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
49 of memory. Unfortunately thumb instructions sometimes run more slowly, and |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
50 the instruction set isn't complete enough to implement a kernel, so they |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
51 supplement rather than replace the conventional ARM instruction set. Note |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
52 that all ARMv5 and later processors include Thumb support by default, only |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
53 ARMv4T offers it as an extension. Also, a new "Thumb2" fixes most of the |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
54 deficiencies of the original Thumb, and is part of the ARMv7 architecture.</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
55 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
56 <p>The VFP (Vector Floating Point) coprocessor provides hardware floating |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
57 point acceleration. There are some older hardware floating point options, |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
58 and some newer ones backwards compatible with VFP, but in general you can |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
59 treat a chip as either "software floating point" or "VFP".</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
60 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
61 <p>The other detail is "l" vs "b" for little-endian and big-endian. |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
62 In theory ARM can do both (this is a compiler distinction, not a hardware |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
63 distinction), but in practice little-endian is almost universally |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
64 used on ARM, and most boards are wired up to support little-endian only even if |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
65 the processor itself can theoretically handle both.</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
66 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
67 <p>So for example, "armv4tl" is ARMv4 with Thumb extensions, little endian.</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
68 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
69 <h2>Application Binary Interface</h2> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
70 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
71 <p>Linux initially implemented a somewhat ad-hoc ABI for ARM with |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
72 <a href=http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Why-ARMs-EABI-matters/>poor |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
73 performance and several limitations</a>, and when ARM got around to documenting |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
74 a new one the main downside was that it was incompatible with the old |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
75 binaries.</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
76 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
77 <p>So ARM has two ABIs that can run on the same hardware, the old one is |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
78 called OABI and the new one is |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
79 <a href=http://wiki.debian.org/ArmEabiPort>EABI</a>. (This is a bit like |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
80 the way BSD binaries won't run under Linux even though the hardware's the |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
81 same, or the long ago switch from |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
82 <a href=http://www.linuxjournal.com/article/1059>aout to ELF</a> executable |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
83 formats.</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
84 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
85 <p>The oldest hardware that can run EABI is ARMv4T, so ARMv4 hardware |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
86 without the Thumb extensions still has to use OABI. (The kernel, C |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
87 library, and compiler must all agree which ABI is in use or the binaries |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
88 won't run.)</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
89 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
90 <h2>Further Reading</h2> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
91 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
92 <p>In theory the best reference for ARM processors is the |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
93 <a href=http://www.arm.com>website of ARM Limited</a>, but unfortunately |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
94 they make it somewhat hard to find information about their |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
95 <a href=http://www.arm.com/products/CPUs/ARM920T.html>older products</a> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
96 and <a href=http://www.arm.com/products/CPUs/families/ARM7Family.html>many |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
97 of their pages</a> are more concerned with advertising their newest products |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
98 than giving the requested information. Wikipedia may be less frustrating, |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
99 and occasionally even accurate.</p> |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
100 |
890
368cdbe5b0ee
Update www/header.html to include more information.
Rob Landley <rob@landley.net>
parents:
881
diff
changeset
|
101 <hr /><h1><a name="m68k" \><center>Motorola 68000</center></h2> |
368cdbe5b0ee
Update www/header.html to include more information.
Rob Landley <rob@landley.net>
parents:
881
diff
changeset
|
102 <hr /><h1><a name="mips" \><center>Mips</center></h1> |
1109
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
103 <P ALIGN=LEFT>Originally the acronym MIPS stood for: Microprocessor |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
104 without Interlocked Pipeline Stages. The phrase describes a RISC |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
105 architecture design goal of the Stanford University team led by John |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
106 L. Hennessy in 1981. It is also a <A HREF="http://www.mips.com/media/files/mips_trademark.pdf">registered |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
107 trademark</A> of MIPS Technologies, Inc.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
108 <P ALIGN=LEFT>During the first two decades, the company's main |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
109 business was the production of complete processors. During the most |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
110 recent decade, the company's main business has been the licensing of |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
111 their processor architecture for inclusion into products of other |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
112 firms.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
113 <P ALIGN=LEFT>The MIPS processor core designs of MIPS Technologies, |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
114 Inc. have a significant portion of the custom silicon market place. |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
115 This is a result of the <A HREF="http://www.mips.com/customers/licensees/">number |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
116 of licensees</A> that use the MIPS processor core design as a |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
117 component of their own products. Their component cores are used in |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
118 silicon designs of all sizes, from Smart Cards to complex SoC (System |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
119 on Chip) parts. |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
120 </P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
121 <P ALIGN=LEFT>The major point that the company emphasizes about their |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
122 designs is through-put performance versus silicon area. One of Dr. |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
123 Hennessy's original objectives. Dr. Hennessy is now the 10th |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
124 president of Stanford University.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
125 <P ALIGN=LEFT>The official version of this summary can be found at |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
126 <A HREF="http://mips.com/" NAME="mips.com">the company website.</A></P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
127 <H2>Processors vs Cores</H2> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
128 <P>During the first two decades, the company built complete |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
129 processors. They also licensed their processor designs to other |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
130 manufacturers. Here, “processors” can be thought of as some |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
131 device that you plug or solder onto a circuit board. These complete |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
132 devices where predominately revision 1 MIPS architecture.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
133 <P>During the most recent decade the company licensed others to |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
134 include their Intellectual Property (processor core designs) into the |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
135 products of those other companies. Here, “cores” can be thought |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
136 of as include files that a silicon designer plugs into their design |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
137 system.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
138 <P>These core designs are available to the MIPS licensees as sets of |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
139 features. The licensee of MIPS can mix and match the feature sets to |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
140 suit their own design goals. These core designs are predominately |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
141 the revision 2 MIPS architecture. |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
142 </P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
143 <P>This can be a great advantage to the licensee; they only spend |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
144 silicon area on the features their design needs. At the same time |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
145 this can be a great headache to anyone who is trying to match |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
146 compiler code generation to whatever collection of features are |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
147 present on a specific device.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
148 <P>Also a great headache even to the authors of software build |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
149 systems. With a MIPS Technology device, the authors of the build |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
150 system can not simply say: “Look at the model number and insert |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
151 that model number into configuration file xyz”. Some other means |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
152 of guiding the build system user is required and often build systems |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
153 don't even try.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
154 <H2>Compilers vs Features</H2> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
155 <P>Here is where the above headache begins to be felt.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
156 <P>On the bright side, MIPS Technologies provides their licensees |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
157 reference software materials. This includes a MIPS designed system |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
158 boot loader that can report all the key facts about the core it is |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
159 running on at power-up time. Not all licensees use this system boot |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
160 loader but many do use it.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
161 <P>The boot loader report or the output report of a similar hardware |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
162 feature detection program is your best guide to knowing what compiler |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
163 options you should be using for your build system. It will at least |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
164 identify the base architecture by name or number.</P> |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
165 <P>In general, you want to select the overall architecture option |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
166 that matches the base architecture design. That should (if the |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
167 compiler your using is at all sane) get you code that will run at |
f5b13cbc77d7
Michael S. Zick wrote up some mips documentation for the architectures page.
Rob Landley <rob@landley.net>
parents:
890
diff
changeset
|
168 least well enough to discover all of the hardware details.</P> |
890
368cdbe5b0ee
Update www/header.html to include more information.
Rob Landley <rob@landley.net>
parents:
881
diff
changeset
|
169 <hr /><h1><a name="ppc" \><center>PowerPC</center></h1> |
368cdbe5b0ee
Update www/header.html to include more information.
Rob Landley <rob@landley.net>
parents:
881
diff
changeset
|
170 <hr /><h1><a name="sh4" \><center>Super Hitachi</center></h1> |
368cdbe5b0ee
Update www/header.html to include more information.
Rob Landley <rob@landley.net>
parents:
881
diff
changeset
|
171 <hr /><h1><a name="sparc" \><center>Sparc</center></h1> |
368cdbe5b0ee
Update www/header.html to include more information.
Rob Landley <rob@landley.net>
parents:
881
diff
changeset
|
172 <hr /><h1><a name="x86" \><center>x86</center></h1> |
881
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
173 |
0da87d1ef528
Update the web page. Put the left-side nav bar back, move about page to "about.html" and make news.html the default index. Add architectures page. Note that IRC discussion is now on #edev.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
174 <!--#include file="footer.html" --> |