Stanford VLSI Group Homepage

  • Increase font size
  • Default font size
  • Decrease font size
Home Research Projects

A Memory System Design Framework

Research Area: Smart memories
Status: Not started  
Members:  
 
Description:
The move to chip level multiprocessors (CMP), where multiple processor cores are integrated on the same die, fundamentally shifts the focus and complexity of the systems towards the memory subsystem. The memory subsystem serves as the primary means for data storage, sharing and communication that processors need to perform meaningful computations. Moreover, appearance of innovative proposals for multiprocessor memory systems, such as streaming and transactional memory, diversifies the semantics requirements that need to be provided in the memory system implementation. In this dissertation we observe that while having different semantics, all major memory models in today's multiprocessors rely on very similar hardware resources and operations at the implementation level. The different memory access semantics are generated by altering how the primitive hardware operations are composed. We propose a universal memory system architecture that implements the shared resources and exports the common operations, enabling a user to implement different memory protocols by "programming" the operations that occur in the memory system. The system consists of storage elements for storing data and state information, communication channels for performing data transfers and exchanging control messages, and associated controllers which sequencing and carry out control operations. We present Smart Memories as a concrete example of such reconfigurable memory system and discuss its architecture and hardware mechanisms that provide flexibility. We also explain how protocols can be mapped to this hardware substrate by providing a simple example. Our study shows that the performance impact of the flexible hardware mechanisms are generally small, less than 20% compared to an ideal memory system, in almost all cases across three different memory models. The impact on the physical aspects of the system is more significant, consuming 60% more dynamic power and twice the area in configurable controllers compared to controllers specialized for a specific protocol.

Profile Information

Application afterLoad: 0.000 seconds, 0.26 MB
Application afterInitialise: 0.034 seconds, 2.41 MB
Application afterRoute: 0.041 seconds, 2.94 MB
Application afterDispatch: 0.081 seconds, 5.80 MB
Application afterRender: 0.119 seconds, 6.93 MB

Memory Usage

7309532

23 queries logged

  1. SELECT *
      FROM jos_session
      WHERE session_id = '493efc6fbeaa80365a4f9a5549a1e8c6'
  2. DELETE
      FROM jos_session
      WHERE ( time < '1369059046' )
  3. SELECT *
      FROM jos_session
      WHERE session_id = '493efc6fbeaa80365a4f9a5549a1e8c6'
  4. INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` )
      VALUES ( '493efc6fbeaa80365a4f9a5549a1e8c6','1369059946','','0','1','0' )
  5. SELECT *
      FROM jos_components
      WHERE parent = 0
  6. SELECT folder AS type, element AS name, params
      FROM jos_plugins
      WHERE published >= 1
      AND access <= 0
      ORDER BY ordering
  7. SELECT m.*, c.`option` AS component
      FROM jos_menu AS m
      LEFT JOIN jos_components AS c
      ON m.componentid = c.id
      WHERE m.published = 1
      ORDER BY m.sublevel, m.parent, m.ordering
  8. SELECT template
      FROM jos_templates_menu
      WHERE client_id = 0
      AND (menuid = 0 OR menuid = 65)
      ORDER BY menuid DESC
      LIMIT 0, 1
  9. SELECT *
      FROM jos_jresearch_project
      WHERE id = '14'
  10. SELECT *
      FROM `jos_jresearch_project_internal_author`
      WHERE `id_project` = '14'
      ORDER BY `order`
  11. SELECT *
      FROM `jos_jresearch_project_external_author`
      WHERE `id_project` = '14'
      ORDER BY `order`
  12. SELECT *
      FROM `jos_jresearch_project_financier`
      WHERE `id_project` = '14'
  13. SELECT *
      FROM jos_jresearch_research_area
      WHERE id = '10'
  14. SELECT *
      FROM jos_jresearch_member
      WHERE id = '22'
  15. SELECT *
      FROM jos_jresearch_member
      WHERE id = '20'
  16. SELECT *
      FROM jos_jresearch_member
      WHERE id = '5'
  17. SELECT *
      FROM jos_jresearch_member
      WHERE id = '2'
  18. SELECT *
      FROM jos_jresearch_member
      WHERE id = '1'
  19. SELECT *
      FROM jos_jresearch_member
      WHERE id = '4'
  20. SELECT id, title, module, position, content, showtitle, control, params
      FROM jos_modules AS m
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      WHERE m.published = 1
      AND m.access <= 0
      AND m.client_id = 0
      AND ( mm.menuid = 65 OR mm.menuid = 0 )
      ORDER BY position, ordering
  21. SELECT parent, menutype, ordering
      FROM jos_menu
      WHERE id = 65
      LIMIT 1
  22. SELECT count(*)
      FROM jos_menu AS m

      WHERE menutype='aboutvlsi'
      AND published='1'
      AND access <= '0'
      AND parent=0
      AND ordering < 3
  23. SELECT *, RAND() AS ordering
      FROM jos_banner
      WHERE showBanner = 1
      AND (imptotal = 0 OR impmade < imptotal)
      AND cid = 1
      AND catid = 33
      ORDER BY sticky DESC, ordering
      LIMIT 0, 1

Language Files Loaded

Untranslated Strings Diagnostic

None

Untranslated Strings Designer

None