ARM v4T
CS2253 Owen Kaser, UNBSJ
ARM v4T CS2253 Owen Kaser, UNBSJ ARM v4T History of ARM - - PowerPoint PPT Presentation
ARM v4T CS2253 Owen Kaser, UNBSJ ARM v4T History of ARM processors R is for RISC Registers Status flags and conditional execution Memory Example program History of ARM v4T Acorn Computers in the UK, early 1980s
CS2253 Owen Kaser, UNBSJ
design trends then.
was licensed to other companies to manufacture or add extra components, as part of a System-on-a-Chip.
Nokia phone...
dates from early 1990s.
simpler Thumb ISA, where instructions can be 16 bits
(though old are still being produced).
– in contrast to the extremely complicated CPUs of the
late 1970s (VAX had an “evaluate polynomial” instruction, for instance) A “CISC” machine has some advantages, in “code density”.
– complex means expensive to make, and hard to make
run fast.
– RISC tried to simplify ISAs, so implementation can be
simple and fast.
run in 1 clock cycle.
formats.
explicit Load and Store instructions.
than the current value of R1. Sign extend it and put it in R2. Modify R1 to be increased by 10.
taking R2 and shifting it left 2, then adding that value to R3. In each case, the technical ARM documentation can tell you how the instruction would be encoded into bits.
– 4 keep track of how recent instructions went (“status flags”) – 8 allow you to see and control the processor configuration
(“control bits”). We don't need them initially.
– First instruction sets flags while incrementing the low-order 32
bits
– Second instruction runs conditionally and only increments the
high-order 32 bits if the Z flag is set
– Maybe low-order bits in R1 and high-order in R2
memory has its own address, starting from address 0.
memory (at least for a given running program). [But note that some addresses are typically carved out for non-memory.]
that is a multiple of 4: the alignment rule. Similarly, 2-byte transfers must begin at an even address.
– Put the constant 0 into R1 – Put the constant 10 into R2 – Add R1 and R2, put the result into R1 – Subtract the constant 1 from R2 and set the status flags – If the Z flag is not set, reset the PC to contain the address of the
3rd instruction above.
code, if you are willing to slog through the reference manuals enough.