Skip to main content

Advertisement

A Shared Memory Module for Asynchronous Arrays of Processors

Article metrics

Abstract

A shared memory module connecting multiple independently clocked processors is presented. The memory module itself is independently clocked, supports hardware address generation, mutual exclusion, and multiple addressing modes. The architecture supports independent address generation and data generation/consumption by different processors which increases efficiency and simplifies programming for many embedded and DSP tasks. Simultaneous access by different processors is arbitrated using a least-recently-serviced priority scheme. Simulations show high throughputs over a variety of memory loads. A standard cell implementation shares an 8 K-word SRAM among four processors, and can support a 64 K-word SRAM with no additional changes. It cycles at 555 MHz and occupies 1.2 mm2 in 0.18 μ m CMOS.

[1 2 3 4 5 6 7 8 9 10 11 12]

References

  1. 1.

    Burks AW, Goldstine HH, von Neumann J: Preliminary discussion of the logical design of an electronic computing instrument. In Collected Works of John von Neumann. Volume 5. Edited by: Taub AH. The Macmillan, New York, NY, USA; 1963:34-79.

  2. 2.

    Hennessy JL, Patterson DA: Computer Architecture, A Quantitative Approach. 3rd edition. Morgan Kaufmann, San Francisco, Calif, USA; 2003. chapter Memory Hierarchy Design

  3. 3.

    Yu Z, Meeuwsen MJ, Apperson R, et al.: An asynchronous array of simple processors for DSP applications. IEEE International Solid-State Circuits Conference (ISSCC '06), February 2006, San Francisco, Calif, USA 428-429.

  4. 4.

    Banakar R, Steinke S, Lee B-S, Balakrishnan M, Marwedel P: Scratchpad memory: a design alternative for cache on-chip memory inembedded systems. Proceedings of the 10th International Symposium on Hardware/Software Codesign (CODES '02), May 2002, Estes Park, Colo, USA 73-78.

  5. 5.

    Panda PR, Dutt ND, Nicolau A: On-chip vs. off-chip memory: the data partitioning problem in embedded processor-based systems. ACM Transactions on Design Automation of Electronic Systems 2000,5(3):682-704. 10.1145/348019.348570

  6. 6.

    Patterson D, Anderson T, Cardwell N, et al.: A case for intelligent RAM. IEEE Micro 1997,17(2):34-44. 10.1109/40.592312

  7. 7.

    Mai K, Paaske T, Jayasena N, Ho R, Dally WJ, Horowitz MA: Smart memories: a modular reconfigurable architecture. Proceedings of the 27th Annual International Symposium on Computer Architecture (ISCA '00), June 2000, Vancouver, BC, Canada 161-171.

  8. 8.

    Baas BM: A parallel programmable energy-efficient architecture for computationally-intensive DSP systems. Proceedings of the 37th Asilomar Conference on Signals, Systems and Computers (ACSSC '03), November 2003, Pacific Grove, Calif, USA 2: 2185-2192.

  9. 9.

    Meeuwsen MJ, Sattari O, Baas BM: A full-rate software implementation of an IEEE 802.11a compliant digital baseband transmitter. Proceedings of IEEE Workshop on Signal Processing Systems (SIPS '04), October 2004, Austin, Tex, USA 124-129.

  10. 10.

    Chapiro DM: Globally-asynchronous locally-synchronous systems, Ph.D. thesis. Stanford University, Stanford, Calif, USA; 1994.

  11. 11.

    Apperson RW: A dual-clock FIFO for the reliable transfer of high-throughput data between unrelated clock domains, M.S. thesis. University of California, Davis, Davis, Calif, USA; 2004.

  12. 12.

    Mai K, Ho R, Alon E, et al.: Architecture and circuit techniques for a 1.1-GHz 16-kb reconfigurable memory in 0.18- μ m CMOS. IEEE Journal of Solid-State Circuits 2005,40(1):261-275. 10.1109/JSSC.2004.837992

Download references

Author information

Correspondence to Michael J Meeuwsen.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article

Keywords

  • High Throughput
  • Control Structure
  • Shared Memory
  • Memory Load
  • Electronic Circuit