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