« this is a test | Main | Persnickety details about ARM7TDMI »

October 25, 2004

ARM processor details

[ARM7TDMI] Looking at running some verifiaction experiments on a new platform.
  • ARM7TDMI seems to be a more entry level processor. 32 bit everywhere fully static, which I think means there's no pipelines, reordering or other fun stuff. We do have gdb support for this one. reference manual Simple three stage dlx-like pipeline. I think this would make a good first pipelined machine.
  • ARM1156T2-S Has an 8 or 9 stage integer pipeline. Which is cool. No MMU, which is also good. But our gdb compiler doesn't support it.
  • ARM1176 Also has the 8 stage integer pipeline.
  • arm arm1020t reference manual. has an mmu and a well-documented 6 stage pipe.
An extensive and tedious search of the arm-elf-gcc compiler reveals that we have code generation support for at least the following architectures:
     -mcpu=name
           This specifies the name of the target ARM processor.  GCC uses this
           name to determine what kind of instructions it can emit when gener-
           ating assembly code.  Permissible names are: arm2, arm250, arm3,
           arm6, arm60, arm600, arm610, arm620, arm7, arm7m, arm7d, arm7dm,
           arm7di, arm7dmi, arm70, arm700, arm700i, arm710, arm710c, arm7100,
           arm7500, arm7500fe, arm7tdmi, arm8, strongarm, strongarm110, stron-
           garm1100, arm8, arm810, arm9, arm9e, arm920, arm920t, arm940t,
           arm9tdmi, arm10tdmi, arm1020t, xscale.

       -mtune=name
           This option is very similar to the -mcpu= option, except that
           instead of specifying the actual target processor type, and hence
           restricting which instructions can be used, it specifies that GCC
           should tune the performance of the code as if the target were of
           the type specified in this option, but still choosing the instruc-
           tions that it will generate based on the cpu specified by a -mcpu=
           option.  For some ARM implementations better performance can be
           obtained by using this option.

       -march=name
           This specifies the name of the target ARM architecture.  GCC uses
           this name to determine what kind of instructions it can emit when
           generating assembly code.  This option can be used in conjunction
           with or instead of the -mcpu= option.  Permissible names are:
           armv2, armv2a, armv3, armv3m, armv4, armv4t, armv5, armv5t,
           armv5te.

Posted by jones at October 25, 2004 08:44 PM

Comments

Post a comment

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


Remember me?