skip to main content
10.1145/774789.774806acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Hardware support for real-time embedded multiprocessor system-on-a-chip memory management

Published: 06 May 2002 Publication History

Abstract

The aggressive evolution of the semiconductor industry --- smaller process geometries, higher densities, and greater chip complexity --- has provided design engineers the means to create complex high-performance Systems-on-a-Chip (SoC) designs. Such SoC designs typically have more than one processor and huge memory, all on the same chip. Dealing with the global on- chip memory allocation/de-allocation in a dynamic yet deterministic way is an important issue for the upcoming billion transistor multiprocessor SoC designs. To achieve this, we propose a memory management hierarchy we call Two-Level Memory Management. To implement this memory management scheme --- which presents a paradigm shift in the way designers look at on-chip dynamic memory allocation --- we present a System-on-a-Chip Dynamic Memory Management Unit (SoCDMMU) for allocation of the global on-chip memory, which we refer to as Level Two memory management (Level One is the operating system management of memory allocated to a particular on-chip Processing Element). In this way, processing elements (heterogeneous or non-heterogeneous hardware or software) in an SoC can request and be granted portions of the global memory in a fast and deterministic time (for an example of a four processing element SoC, the dynamic memory allocation of the global on-chip memory takes sixteen cycles per allocation/deallocation in the worst case). In this paper, we show how to modify an existing Real-Time Operating System (RTOS) to support the new proposed SoCDMMU. Our example shows a multiprocessor SoC that utilizes the SoCDMMU has 440% overall speedup of the application transition time over fully shared memory that does not utilize the SoCDMMU.

References

[1]
B. Ackland et al., "A Single-Chip 1.6 Billion 16-b MAC/s Multiprocessor DSP," IEEE Journal of Solid-State Circuits, vol. 35, no. 3, pp. 412 -424, March 2000.
[2]
C. E. Kozyrakis et al., "Scalable Processors in the Billion- Transistor Era: IRAM," IEEE Computer, vol. 30, no. 9, pp. 75--78, September 1997.
[3]
D. Verkest et al., "CoWare --- A Design Environment for Heterogeneous Hardware/Software Systems," in Proceedings of the EURO-DAC '96 European Design Automation Conference with EURO-VHDL '96, October 1996, pp. 357--86.
[4]
D. Sun, D. M. Blough, and V. J. Mooney, "Atalanta: A New Multiprocessor RTOS Kernel for System-on-a-Chip Applications," Georgia Institute of Technology, Atlanta, Georgia, Technical Report GIT-CC-02-19, 2002, http://www.cc.gatech.edu/tech_reports/
[5]
E. V. Puttkamer, "A simple hardware buddy system memory allocator," IEEE Transaction on Computers, vol. 24, no. 10, pp. 953--957, October 1975.
[6]
H. Cam et al., "A high-performance hardware-efficient memory allocation technique and design," International Conference on Computer Design, October 1999, pp. 274--276.
[7]
J. M. Chang et al., "Introduction to DMMX (Dynamic Memory Management Extension)", ICCD Workshop on Hardware Support for Objects and Micro architectures for Java, October 1999, pp. 11--14.
[8]
J. M. Chang and E. F. Gehringer, "A High-Performance Memory Allocator for Object-Oriented Systems," IEEE Transactions on Computers, vol. 45, no. 3, pp. 357--366, March 1996.
[9]
J. Labrosse, MicroC/OS-ll, the Real-Time Kernel. Lawrence, KS: R&D Books, 1998.
[10]
K. Ryu, E. Shin and V. Mooney, "A Comparison of Five Different Multiprocessor SoC Bus Architectures," in Proceedings of the EUROMICRO Symposium on Digital Systems Design, Sept. 2001, pp. 202--209.
[11]
M. A. Shalan and V. Mooney, "A Dynamic Memory Management Unit for Embedded Real-Time System-on-a-Chip," International Conference on Compilers, Architecture and Synthesis for Embedded Systems, November 2000, pp. 180--186.
[12]
M. F. Komarinski and J. Godoy, "Real-Time and Embedded HOWTO," http://www.mech.kuleuven.ac.be /~bruyninc/rthowto/rtHOWTO/memory-management.html.
[13]
P. R. Panda et al., "Memory Data Organization for Improved Cache Performance In Embedded Processor Applications," ACM Transactions on Design Automation of Electronic Systems, vol. 2, no. 4, pp. 384--409, October, 1997.
[14]
P. R. Wilson et al., "Dynamic Storage Allocation: A Survey and Critical Review," International Workshop on Memory Management, September 1995, pp. 1--78.
[15]
P. Soderquist, "Memory Traffic and Data Cache Behavior of an MPEG-2 Software Decoder, "Proceedings of the International Conference on Computer Design (ICCD '97), October 1997.
[16]
S. Morgan, "Jini to the rescue," IEEE Spectrum, vol. 37, no. 4, pp. 44--49, April 2000.
[17]
S. Wuytack et al., "Memory Management for Embedded Network Applications," IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 18, no. 5, pp. 533, May 1999.
[18]
W. Srisa-an, C. D. Lo, and J. M. Chang, "A Hardware Implementation of Realloc Function," Proceedings of WVLSI'99 IEEE Annual Workshop on VLSI April 1999, pp. 106--111.
[19]
Y. Li and W.H. Wolf, "Hardware/Software Co-Synthesis with Memory Hierarchies," IEEE Transaction Computer-Aided Design of Integrated Circuits and Systems, vol. 18, no. 10, pp. 1405--1417, October 1999.
[20]
Virtex-II Pro Platform FPGAs, http://www.xilinx.com/ virtex2pro/.
[21]
ARM Software Development Products, http://www.arm. com/devtools/soft_dev_tools?OpenDocument.
[22]
Proceedings of IEEE, Special Issue on Distributed Shared Memory Systems, vol. 87, no. 3, pp. 397--532, March 1999.
[23]
eCos Reference Manual, redhat, September 2000.
[24]
pSOS System Concept, Integrated Systems, 1996.
[25]
Semiconductor Industry Association, "International Technology Roadmap for Semiconductors (ITRS)," November 2001, http://www.semichips.org.
[26]
VRTXsa Real-Time Kernel {Programmer's Guide and Reference}, Microtec Research, 1996.

Cited By

View all

Recommendations

Reviews

Pierre N. Radulescu-Banu

System-on-a-chip architectures (very suitable for embedded real-time applications) require careful attention to the management of on-chip memory. Static allocation is inefficient, while dynamic allocation is not deterministic, which makes satisfaction of real-time constraints difficult, if not impossible. The authors of this paper propose a novel approach that allows fast and deterministic dynamic allocation/de-allocation of large global on-chip memory. The approach focuses on implementing a special hardware memory management unit. The paper demonstrates how a real-time operating system might be modified to support this special hardware unit. Section 1 of the paper is introductory. Section 2 presents an overview of related work done to implement the memory management in hardware. Section 3 briefly describes the architecture of the memory management unit. There are three types of commands that the unit can execute: allocate (exclusive, read only, read write), de-allocate, and move. Section 4 presents the real-time operating system support for the memory management unit. The authors have extended Atalanta [1], an open-source, real-time operating system developed at the Georgia Institute of Technology, to add the required new functionality. Section 5 presents some experimental results, and section 6 concludes the paper. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CODES '02: Proceedings of the tenth international symposium on Hardware/software codesign
May 2002
232 pages
ISBN:1581135424
DOI:10.1145/774789
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 May 2002

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Atalanta
  2. SoCDMMU
  3. System-on-a-Chip
  4. dynamic memory management
  5. embedded systems
  6. real-time operating systems.
  7. real-time systems
  8. two-level memory management

Qualifiers

  • Article

Conference

CODES02
Sponsor:

Acceptance Rates

Overall Acceptance Rate 280 of 864 submissions, 32%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media