Skip to main content
Log in

A Novel Memory Structure for Embedded Systems: Flexible Sequential and Random Access Memory

  • Special Section on Advanced Computer Systems Architecture
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

The on-chip memory performance of embedded systems directly affects the system designers' decision about how to allocate expensive silicon area. A novel memory architecture, flexible sequential and random access memory (FSRAM), is investigated for embedded systems. To realize sequential accesses, small “links” are added to each row in the RAM array to point to the next row to be prefetched. The potential cache pollution is ameliorated by a small sequential access buffer (SAB). To evaluate the architecture-level performance of FSRAM, we ran the Mediabench benchmark programs on a modified version of the SimpleScalar simulator. Our results show that the FSRAM improves the performance of a baseline processor with a 16KB data cache up to 55%, with an average of 9%; furthermore, the FSRAM reduces 53.1% of the data cache miss count on average due to its prefetching effect. We also designed RTL and SPICE models of the FSRAM, which show that the FSRAM significantly improves memory access time, while reducing power consumption, with negligible area overhead.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Panda P R, Dutt N D, Nicolau A. Data cache sizing for embedded processor applications. Technical Report TCS-TR-97-31, University of California, Irvine, June 1997.

  2. Panda P R, Dutt N D, Nicolau A. Architectural exploration and optimization of local memory in embedded systems. International Symposium on System Synthesis (ISSS 97), Antwerp, Sept. 1997.

  3. Shiue W, Chakrabati C. Memory exploration for low power embedded systems. In IEEE/ACM Proc. 36th. Design Automation Conference (DAC'99), New Orleans, Louisana, U.S.A., June 1999.

  4. Moon J, Athas W C, Beerel P A, Draper J T. Low-power sequential access memory design. IEEE 2002 Custom Integrated Circuits Conference, Orlando, FL, U.S.A., June 2002, pp.741–744.

  5. Sbeyti H, Niar S, Eeckhout L. Adaptive prefetching for multimedia applications in embedded systems. DATE'04, EDA IEEE, Paris, France, February 16–18, 2004.

  6. Pimentel A D, Hertzberger L O, Struik P, Wolf P. Hardware versus hybrid data prefetching in multimedia processors: A case study. In Proc. the IEEE Int. Performance, Computing and Communications Conference (IPCCC 2000), Phoenix, USA, Feb. 2000, pp.525–531.

  7. Zucker D F, Flynn M J, Lee R B. A comparison of hardware prefetching techniques for multimedia benchmarks. In Proceedings of the International Conferences on Multimedia Computing and Systems, Himshima, Japan, June 1996, p.236.

  8. V De La Luz, M Kandemir, I Kolcu. Automatic data migration for reducing energy consumption in multi-bank memory systems. Design Automation Conference, Anaheim, CA, U.S.A., 2002, pp.213–218.

  9. Ying Chen, Karthik Ranganathan, Amit Puthenveetil, Kia Bazargan, David J Lilja. FSRAM: Flexible sequential and random access memory for embedded systems. Laboratory for Advanced Research in Computing Technology and Compilers, Technical Report No. ARCTiC 04-01, February, 2004.

  10. Doug Burger, Todd M Austin. The SimpleScalar tool set version 2.0. Technical Report 1342, Computer Sciences Department, University of Wisconsin, June 1997.

  11. Lee L, Potkonjak M, Mangione-Smith W H. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems. In Proc. the 30th Annual International Symposium on Microarchitecture (Micro 30), December 1997, pp.330–335.

  12. Intel Corporation. The Intel XScale Microarchitecture technical summary. Technical report, 2001. http://www.intel.com/design/intelxscale/xscaledatasheet4.htm

  13. http://www.cse.psu.edu/~mdl/mediabench.tar.gz

  14. Smith J E, Hsu W C. Prefetching in supercomputer instruction caches. In Proc. Supercomputing92, 1992, pp.588–597.

  15. VanderWiel S P, Lilja D J. Data prefetch mechanisms. ACM Computing Surveys, June 2000, 32(2): 174–199.

    Article  Google Scholar 

  16. Lilja D J. Measuring Computer Performance. Cambridge University Press, 2000.

  17. Joseph D, Grunwald D. Prefetching using Markov predictors. In Proc. the International Symposium on Computer Architecture, Denver, Colorado, U.S.A., June 1997, pp.252–263.

  18. Koppelman D M. Neighborhood prefetching on multiprocessors using instruction history. International Conference on Parallel Architectures and Compilation Techniques, October 2000, pp.123–132.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ying Chen.

Additional information

Supported in part by the Minnesota Supercomputing Institute.

Ying Chen received her Ph.D. and M.S. degrees in electrical engineering from the University of Minnesota and the B.S. degree in electrical engineering from Tsinghua University. Starting from fall of 2005, she will work as an assistant professor at San Francisco State University. Her main research interests include hardware verification methodology, multiprocessors, multithreaded architectures, memory systems, and reconfigurable computing. She is a student member of the IEEE.

Karthik Ranganathan received his Bachelors degree in electronics engineering from the University of Mumbai, India. He was an ECE Department Fellow as well as a Graduate Teaching Assistant at the University of Minnesota. He has interned with the VLSI division at Seagate Technologies and with the Applications Engineering group at Cypress Semiconductor. Subsequently, he graduated with a Master's Degree in electrical engineering from the University of Minnesota. He has been a Product/Test Engineer with the Data Communications Division at Cypress Semiconductor for about 2 years. He is currently a Sr. Product Engineer working with the “CCD” Division of Cypress Semiconductor Corp.

Vasudev V. Pai received the B.E. (Hons.) degree in electrical and electronics engineering from Birla Institute of Technology and Science, Pilani, India and the M.S. degree in electrical engineering from the University of Minnesota, Twin Cities in 2000 and 2005, respectively. He was with IBM Corporation from 2000 to 2002 where he worked on the hardware verification of the Power4 processor at Austin, TX. He has also held internships at Texas Instruments and Cypress Semiconductor. Currently, he is working as a digital design engineer at Marvell Semiconductor, Santa Clara, CA.

David J. Lilja received the Ph.D. and M.S. degrees, both in electrical engineering, from the University of Illinois at Urbana-Champaign, and a B.S. degree in computer engineering from Iowa State University in Ames. He currently is a professor and Head of Electrical and Computer Engineering, and a Fellow of the Minnesota Supercomputing Institute, at the University of Minnesota in Minneapolis. He also serves as a member of the graduate faculties in computer science and scientific computation. He has been a visiting senior engineer in the Hardware Performance Analysis group at IBM in Rochester, Minnesota, and a visiting professor at the University of Western Australia in Perth. Previously, he worked as a research assistant at the Center for Supercomputing Research and Development at the University of Illinois, and as a development engineer at Tandem Computers Incorporated (now a division of Hewlett-Packard) in Cupertino, California. He has chaired and served on the program committees of numerous conferences; was a distinguished visitor of the IEEE Computer Society; is a member of the IEEE and the ACM; and is a registered Professional Engineer in Electrical Engineering in Minnesota and California. His primary research interests are in high-performance computer architecture, parallel computing, hardware-software interactions, nano-computing, and performance analysis.

Kia Bazargan received his Bachelors degree in computer science from Sharif University in Tehran, Iran, and his M.S. and Ph.D. degrees in electrical and computer engineering from Northwestern University in Evanston, IL in 1998 and 2000 respectively. He is currently an assistant professor in the electrical and computer engineering at the University of Minnesota. He has served on the technical program committee of a number of IEEE sponsored conferences (e.g., ISPD, ICCAD, ASP-DAC, GLSVLSI). He was a guest co-editor of ACM Transactions on Embedded Computing Systems (ACM TECS), Special Issue on Dynamically Adaptable Embedded Systems in 2003. He is an Associate Editor of IEEE Transaction on Computer-Aided Design of Integrated Circuits and Systems. He was a recipient of NSF CAREER award in 2004. His research interests are computer-aided design, FPGAs and reconfigurable computing.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chen, Y., Ranganathan, K., Pai, V.V. et al. A Novel Memory Structure for Embedded Systems: Flexible Sequential and Random Access Memory. J Comput Sci Technol 20, 596–606 (2005). https://doi.org/10.1007/s11390-005-0596-x

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-005-0596-x

Keywords

Navigation