Presentation is loading. Please wait.

Presentation is loading. Please wait.

ARM Cortex-M0 The 8 / 32-Bit Difference

Similar presentations


Presentation on theme: "ARM Cortex-M0 The 8 / 32-Bit Difference"— Presentation transcript:

1 ARM Cortex-M0 The 8 / 32-Bit Difference
August 20, 2012 Paul Nickelsberg Orchid Technologies Engineering and Consulting, Inc.

2 Venerable 8-Bit Micros Intel 8080 / Intel 8085 Zilog Z80
Hitachi 64C180 Intel 8051 Intel 8048 Motorola 68HC05 Microchip PIC5

3 Historical Perspective
8-Bit Processor Design was a solution to the Size / Width / Time Question of the 1980’s 8-Bit Processor Design Balanced Size / Width / Time Transistor Size Instruction Sequence Data Width

4 Historical Perspective
Clock 8-Bit Data Time Byte 1 Byte 2 Byte 3 Byte 4 More Time, Less Width

5 Historical Perspective
CPU Main Memory Fetch Instruction Fetch Instruction Read Data Fetch Instruction Fetch Instruction Write Data Time Write Data Write Data Write Data Fetch Instruction Read Data

6 Historical Perspectives
Non-symmetric Processor Features HL Register and 16-Bit Pointers (Special Purpose Registers) Memory Page Registers Common Memory, Banked Memory Segment Registers I/O Space Different from Memory Space Maximum Memory Size Limits of Addresses Compiler Models – Tiny, Small, Medium, Large, Huge

7 What has changed? Feature Size Approx Year Processors 10 µm 1971
Intel 4004, 8008 3 µm 1975 Intel 8085, 8088 1.5 µm 1982 Intel 80286 1 µm 1985 Intel 80386 800 nm 1989 Intel 80486 600 nm 1994 350 nm 1995 Intel Pentium 250 nm 1998 Intel Pentium II 180 nm 1999 130 nm 2000 Intel Pentium IV 90 nm 2002 Intel Celeron 65 nm 2006 Intel Xeon

8 Credit Wikipedia From 3µm to 90nm in 30 Years

9 Low Cost 32-Bit Computing
32-Bit Processor Design was a solution to the Size / Width / Time Question of the 2000’s 32-Bit Processor Design Re-balances Size / Width / Time Transistor Size Instruction Sequence Data Width

10 Low Cost 32-Bit Computing
Clock 8-Bit Data Time Byte 1 Byte 2 Byte 3 Byte 4 More Time, Less Width Clock 32-Bit Data Time Dword Less Time, More Width

11 32-Bit Computing Examples
Timer Example Shift Register Example Adder Example Multiplier Example

12 Timer Example Using an 8MHz Input Clock, Create a 10mSec Timer
8-Bit Approach, Counts 0x using three chained timers 32-Bit Approach, Counts 0x using a single timer 8-Bit Timer 32-Bit Timer 8-Bit Timer 8-Bit Timer

13 Shift Register Example
Decode a 29-bit Serial Input Word Shift Input Carry Out Carry Out Carry Out Shift Input Byte 1 Byte 2 Byte 3 Byte 4 32-Bit Register compare compare compare compare compare AND Far less ‘house-keeping’ 8-Bit Approach, A lot of Steps 32-Bit Approach, Fewer Steps

14 Adder Example Add two 32-bit numbers A + B = C
Byte 4A 32 Bit Value A Byte 4B 32 Bit Value B Byte 3A 32 Bit Value C carry Byte 3B Byte 2A carry Byte 2B Byte 1A carry Byte 1B Byte 1C Byte 2C Byte 3C Byte 4C 8-Bit Approach, A lot of Steps 32-Bit Approach, Fewer Steps

15 Multiplier Example Multiply two 32-bit numbers A x B = C
MOV A, XL MOV B, YL MUL AB MOV R0, A MOV R1, B MOV A, XL MOV B, YH ADD A, R1 MOV R1, A MOV A, B ADDC A, #0 MOV R2, A MOV A, XH MOV B, YL MOV R1, A MOV A, B ADDC A, R2 MOV R2, A MOV A, XH MOV B, YH MUL AB ADD A, R2 ADDC A, #0 MOV R3, A MULS r0, r1, r0 8-Bit Approach, A lot of Steps 32-Bit Approach, Fewer Steps

16 Bonus, ARCTAN Example! y MORE ON THIS LATER angle MORE ON THIS LATER x
Find the angle with tangent y/x 8-Bit Approach 12MHz 32-Bit Approach 12MHz

17 ARM Cortex-M0 Features Clocking Mgnt Power Monitor
SCB SYSTICK Clocking Mgnt Power Monitor Reset Manager Fast GPIO USB Interface CAN Interface DMA Channels A/D Conversion Multiple Timers Flash Memory Smart Card Real Time Clock I2C Interface SPI Interface UART Interface SWD Debug Unique ID CRC Calculator ROM API Static Memory Nested Vector Interrupt Controller 32 Bit CPU AHB Lite Debug Access


Download ppt "ARM Cortex-M0 The 8 / 32-Bit Difference"

Similar presentations


Ads by Google