SlideShare una empresa de Scribd logo
1 de 3
ARM Core variant:

    Flat memory model

    Memory protection unit model

    Memory management unit model

Flat memory model:

    Linear memory addressing , allowing direct access addressing of all memory locations

    Simple interface for programmers, clean design.
    Greatest flexibility
    Minimum hardware and CPU real estate for simple controller applications
    Maximum execution speed
    Not suitable for general computing or multi-tasking operating systems, as any task
     can corrupt the state of another task.
    ARM7TDMI,ARM7EJ-S



Memory Protection Unit

    For multi-tasking platforms protection required of resources like:

           o   Memory device

           o   Peripheral Devices ( memory mapped mostly)

    Processors equipped with hardware unit , MPU, that actively protects system resources.

    MPU uses REGIONS to manage protection

    MPU based processor do not understand virtual memory concept.

What is a REGION:

    Set of attributes associated with an area of memory



How define Regions

    CP15 registers to define regions

    Define size and location of instruction and Data regions

    Set access permission for each region

    Set cache/Write buffer attributes for each region
About Regions:

     Regions can overlap other regions

     Regions are assigned priority number

     When overlapping, attributes of higher priority region takes precedence over other

     Regions starting address is multiple of its size

     Size range from 4KB – 4GB

     Example: OS protected Regions, Peripheral Region, Task1 Region, Task2 Region etc…

     ARM946E-S



MMU

     Protection of Resources

     Provides resourced to enable Virtual memory

     ARM1026EJ-S

Core instructions to support Multi-processor/core systems:

     Instruction to provide lock-free atomic “read-modify-write” operation

     LL/SC ( Load-link / Store-conditional )

     Purpose is to maintain shared-data integrity by preventing 2 masters making conflicting
      access at the same time.

     Armv6 onwards (also armv5te) provides LL/SC instructions : LDREX/STREX to provide
      exclusive access.

Memory Alias:

     Accessing a memory region through different address range (alias)

     For example 0x10000000 alias address maps to physical address 0x00000000

     Specific to chip design and works at hardware level

     Alias generator block that captures the CPU address to get the actual address

     Nothing to do with software.

     In our case : Arm9 can have 3 alias memory addressing :
      0x10000000,0x20000000,0x30000000 mapping to physical RAM at 0x00000000
Type of Embedded core

Más contenido relacionado

La actualidad más candente

Linux architecture
Linux architectureLinux architecture
Linux architecturemcganesh
 
Board support package_on_linux
Board support package_on_linuxBoard support package_on_linux
Board support package_on_linuxVandana Salve
 
linux device driver
linux device driverlinux device driver
linux device driverRahul Batra
 
Linuxdd[1]
Linuxdd[1]Linuxdd[1]
Linuxdd[1]mcganesh
 
brief intro to Linux device drivers
brief intro to Linux device driversbrief intro to Linux device drivers
brief intro to Linux device driversAlexandre Moreno
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module ProgrammingSaurabh Bangad
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingStephan Cadene
 
Kernel module programming
Kernel module programmingKernel module programming
Kernel module programmingVandana Salve
 
Kernel compilation
Kernel compilationKernel compilation
Kernel compilationmcganesh
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systemsVandana Salve
 
Introduction to Linux Kernel
Introduction to Linux KernelIntroduction to Linux Kernel
Introduction to Linux KernelStryker King
 
Linux kernel architecture
Linux kernel architectureLinux kernel architecture
Linux kernel architectureSHAJANA BASHEER
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom BoardPatrick Bellasi
 
Linux Kernel Image
Linux Kernel ImageLinux Kernel Image
Linux Kernel Image艾鍗科技
 

La actualidad más candente (20)

Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
Board support package_on_linux
Board support package_on_linuxBoard support package_on_linux
Board support package_on_linux
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Linuxdd[1]
Linuxdd[1]Linuxdd[1]
Linuxdd[1]
 
brief intro to Linux device drivers
brief intro to Linux device driversbrief intro to Linux device drivers
brief intro to Linux device drivers
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module Programming
 
LINUX Device Drivers
LINUX Device DriversLINUX Device Drivers
LINUX Device Drivers
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 
Kernel module programming
Kernel module programmingKernel module programming
Kernel module programming
 
Kernel compilation
Kernel compilationKernel compilation
Kernel compilation
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
 
Linux Device Driver’s
Linux Device Driver’sLinux Device Driver’s
Linux Device Driver’s
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Introduction to Linux Kernel
Introduction to Linux KernelIntroduction to Linux Kernel
Introduction to Linux Kernel
 
Linux kernel architecture
Linux kernel architectureLinux kernel architecture
Linux kernel architecture
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
 
Linux Kernel Image
Linux Kernel ImageLinux Kernel Image
Linux Kernel Image
 
linux kernel overview 2013
linux kernel overview 2013linux kernel overview 2013
linux kernel overview 2013
 

Similar a Type of Embedded core

Similar a Type of Embedded core (20)

ARM architcture
ARM architcture ARM architcture
ARM architcture
 
Module-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdfModule-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdf
 
Unit 1 four part pocessor and memory
Unit 1 four part pocessor and memoryUnit 1 four part pocessor and memory
Unit 1 four part pocessor and memory
 
ARM Processor architecture
ARM Processor  architectureARM Processor  architecture
ARM Processor architecture
 
L6 primary-memory
L6 primary-memoryL6 primary-memory
L6 primary-memory
 
Cache performance-x86-2009
Cache performance-x86-2009Cache performance-x86-2009
Cache performance-x86-2009
 
Memory managment
Memory managmentMemory managment
Memory managment
 
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptx
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptxCOMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptx
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptx
 
Rahman
RahmanRahman
Rahman
 
Multilevel arch & str org.& mips, 8086, memory
Multilevel arch & str org.& mips, 8086, memoryMultilevel arch & str org.& mips, 8086, memory
Multilevel arch & str org.& mips, 8086, memory
 
Unit vi (2)
Unit vi (2)Unit vi (2)
Unit vi (2)
 
301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog
 
ARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture IllustrationARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture Illustration
 
Computer architecture
Computer architecture Computer architecture
Computer architecture
 
Memory
MemoryMemory
Memory
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - Review
 
Cache memory
Cache memoryCache memory
Cache memory
 
Linux Internals - Interview essentials 3.0
Linux Internals - Interview essentials 3.0Linux Internals - Interview essentials 3.0
Linux Internals - Interview essentials 3.0
 
Basicarchitecturememory
BasicarchitecturememoryBasicarchitecturememory
Basicarchitecturememory
 
2. the memory systems (module2)
2. the memory systems (module2)2. the memory systems (module2)
2. the memory systems (module2)
 

Type of Embedded core

  • 1. ARM Core variant:  Flat memory model  Memory protection unit model  Memory management unit model Flat memory model:  Linear memory addressing , allowing direct access addressing of all memory locations  Simple interface for programmers, clean design.  Greatest flexibility  Minimum hardware and CPU real estate for simple controller applications  Maximum execution speed  Not suitable for general computing or multi-tasking operating systems, as any task can corrupt the state of another task.  ARM7TDMI,ARM7EJ-S Memory Protection Unit  For multi-tasking platforms protection required of resources like: o Memory device o Peripheral Devices ( memory mapped mostly)  Processors equipped with hardware unit , MPU, that actively protects system resources.  MPU uses REGIONS to manage protection  MPU based processor do not understand virtual memory concept. What is a REGION:  Set of attributes associated with an area of memory How define Regions  CP15 registers to define regions  Define size and location of instruction and Data regions  Set access permission for each region  Set cache/Write buffer attributes for each region
  • 2. About Regions:  Regions can overlap other regions  Regions are assigned priority number  When overlapping, attributes of higher priority region takes precedence over other  Regions starting address is multiple of its size  Size range from 4KB – 4GB  Example: OS protected Regions, Peripheral Region, Task1 Region, Task2 Region etc…  ARM946E-S MMU  Protection of Resources  Provides resourced to enable Virtual memory  ARM1026EJ-S Core instructions to support Multi-processor/core systems:  Instruction to provide lock-free atomic “read-modify-write” operation  LL/SC ( Load-link / Store-conditional )  Purpose is to maintain shared-data integrity by preventing 2 masters making conflicting access at the same time.  Armv6 onwards (also armv5te) provides LL/SC instructions : LDREX/STREX to provide exclusive access. Memory Alias:  Accessing a memory region through different address range (alias)  For example 0x10000000 alias address maps to physical address 0x00000000  Specific to chip design and works at hardware level  Alias generator block that captures the CPU address to get the actual address  Nothing to do with software.  In our case : Arm9 can have 3 alias memory addressing : 0x10000000,0x20000000,0x30000000 mapping to physical RAM at 0x00000000