Embedded Specific 8051 Memory Areas (cont.) Internal data memory Resides within the 8051 MCU and is read/write Up to 256 bytes of internal data is supported Very fast access because it is 8-bit addressable Types of internal data memory: data – the first 128 bytes, uses direct addressing idata – all 256 bytes, uses indirect addressing bdata – 16 bytes of bit addressable memory SFR memory 128 bytes of memory for Special Function Registers Cannot be accessed indirectly History of development: 8051 was designed to use 128 bytes of memory, was good for small devices To support compatibility with previous devices, new devices keep its architecture but expanded it with new features This caused a variety of memory types and system complicity Copyright © 2011 DSR Corporation 1 2. Embedded Specific 8051 Memory Areas (cont.) External Data Memory Read/write memory, up to 64 KByte Indirectly accessible Peripheral device may be mapped to this memory space => memory-mapped I/O 8051 memory types to access external memory xdata refers to any location in the 64K Byte address space of external data Copyright © 2011 DSR Corporation 2 Processing Order: Cooperative vs. Preemptive Cooperative Multitasking Preemptive Multitasking Process A Process B1 Process A (low priority, cyclic) Process B2 Process B (low priority) OS Process C Process C (high priority, cyclic) Process D Process D (high priority) Processes (tasks) are run in an infinite loop If task takes too much time (B), need to divide it No overhead occurs Copyright © 2011 DSR Corporation Scheduling is performed by the OS Long task is suspended if needed Overhead: caused by OS internals 3