Building a wavecache
A microarchitecture and instruction set that supports multiple, simultaneously executing threads. The approach is disclosed in regard to its applicability in connection with a recently developed microarchitecture called "WaveScalar." WaveScalar is a compiler that breaks a control flow grap...
Gespeichert in:
Hauptverfasser: | , , , , , , , |
---|---|
Format: | Patent |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | |
---|---|
container_issue | |
container_start_page | |
container_title | |
container_volume | |
creator | OSKIN MARK HENRY EGGERS SUSAN JANE SWANSON STEVEN JAMES MERCALDI MARTHA ALLEN SCHWERIN ANDREW MICHALSKI PETERSEN ANDREW KINOSHITA MICHELSON KENNETH ALAN PUTNAM ANDREW RICHARD |
description | A microarchitecture and instruction set that supports multiple, simultaneously executing threads. The approach is disclosed in regard to its applicability in connection with a recently developed microarchitecture called "WaveScalar." WaveScalar is a compiler that breaks a control flow graph for a program into pieces called waves having instructions that are partially ordered (i.e., a wave contains no back-edges), and for which control enters at a single point. Certain aspects of the present approach are also generally applicable to executing multiple threads on a more conventional microarchitecture. In one aspect of this approach, instructions are provided that enable and disable wave-ordered memory. Additional memory access instructions bypass wave-ordered memory, exposing additional parallelism. Also, a lightweight, interthread synchronization is employed that models hardware queue locks. Finally, a simple fence instruction is used to allow applications to handle relaxed memory consistency. |
format | Patent |
fullrecord | <record><control><sourceid>epo_EVB</sourceid><recordid>TN_cdi_epo_espacenet_US7490218B2</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>US7490218B2</sourcerecordid><originalsourceid>FETCH-epo_espacenet_US7490218B23</originalsourceid><addsrcrecordid>eNrjZBBxKs3MScnMS1dIVChPLEtNTkzOSOVhYE1LzClO5YXS3AwKbq4hzh66qQX58anFBYnJqXmpJfGhweYmlgZGhhZORsZEKAEA9vIgQQ</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>Building a wavecache</title><source>esp@cenet</source><creator>OSKIN MARK HENRY ; EGGERS SUSAN JANE ; SWANSON STEVEN JAMES ; MERCALDI MARTHA ALLEN ; SCHWERIN ANDREW MICHALSKI ; PETERSEN ANDREW KINOSHITA ; MICHELSON KENNETH ALAN ; PUTNAM ANDREW RICHARD</creator><creatorcontrib>OSKIN MARK HENRY ; EGGERS SUSAN JANE ; SWANSON STEVEN JAMES ; MERCALDI MARTHA ALLEN ; SCHWERIN ANDREW MICHALSKI ; PETERSEN ANDREW KINOSHITA ; MICHELSON KENNETH ALAN ; PUTNAM ANDREW RICHARD</creatorcontrib><description>A microarchitecture and instruction set that supports multiple, simultaneously executing threads. The approach is disclosed in regard to its applicability in connection with a recently developed microarchitecture called "WaveScalar." WaveScalar is a compiler that breaks a control flow graph for a program into pieces called waves having instructions that are partially ordered (i.e., a wave contains no back-edges), and for which control enters at a single point. Certain aspects of the present approach are also generally applicable to executing multiple threads on a more conventional microarchitecture. In one aspect of this approach, instructions are provided that enable and disable wave-ordered memory. Additional memory access instructions bypass wave-ordered memory, exposing additional parallelism. Also, a lightweight, interthread synchronization is employed that models hardware queue locks. Finally, a simple fence instruction is used to allow applications to handle relaxed memory consistency.</description><language>eng</language><subject>CALCULATING ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; PHYSICS</subject><creationdate>2009</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&date=20090210&DB=EPODOC&CC=US&NR=7490218B2$$EHTML$$P50$$Gepo$$Hfree_for_read</linktohtml><link.rule.ids>230,308,776,881,25542,76289</link.rule.ids><linktorsrc>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&date=20090210&DB=EPODOC&CC=US&NR=7490218B2$$EView_record_in_European_Patent_Office$$FView_record_in_$$GEuropean_Patent_Office$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>OSKIN MARK HENRY</creatorcontrib><creatorcontrib>EGGERS SUSAN JANE</creatorcontrib><creatorcontrib>SWANSON STEVEN JAMES</creatorcontrib><creatorcontrib>MERCALDI MARTHA ALLEN</creatorcontrib><creatorcontrib>SCHWERIN ANDREW MICHALSKI</creatorcontrib><creatorcontrib>PETERSEN ANDREW KINOSHITA</creatorcontrib><creatorcontrib>MICHELSON KENNETH ALAN</creatorcontrib><creatorcontrib>PUTNAM ANDREW RICHARD</creatorcontrib><title>Building a wavecache</title><description>A microarchitecture and instruction set that supports multiple, simultaneously executing threads. The approach is disclosed in regard to its applicability in connection with a recently developed microarchitecture called "WaveScalar." WaveScalar is a compiler that breaks a control flow graph for a program into pieces called waves having instructions that are partially ordered (i.e., a wave contains no back-edges), and for which control enters at a single point. Certain aspects of the present approach are also generally applicable to executing multiple threads on a more conventional microarchitecture. In one aspect of this approach, instructions are provided that enable and disable wave-ordered memory. Additional memory access instructions bypass wave-ordered memory, exposing additional parallelism. Also, a lightweight, interthread synchronization is employed that models hardware queue locks. Finally, a simple fence instruction is used to allow applications to handle relaxed memory consistency.</description><subject>CALCULATING</subject><subject>COMPUTING</subject><subject>COUNTING</subject><subject>ELECTRIC DIGITAL DATA PROCESSING</subject><subject>PHYSICS</subject><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2009</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNrjZBBxKs3MScnMS1dIVChPLEtNTkzOSOVhYE1LzClO5YXS3AwKbq4hzh66qQX58anFBYnJqXmpJfGhweYmlgZGhhZORsZEKAEA9vIgQQ</recordid><startdate>20090210</startdate><enddate>20090210</enddate><creator>OSKIN MARK HENRY</creator><creator>EGGERS SUSAN JANE</creator><creator>SWANSON STEVEN JAMES</creator><creator>MERCALDI MARTHA ALLEN</creator><creator>SCHWERIN ANDREW MICHALSKI</creator><creator>PETERSEN ANDREW KINOSHITA</creator><creator>MICHELSON KENNETH ALAN</creator><creator>PUTNAM ANDREW RICHARD</creator><scope>EVB</scope></search><sort><creationdate>20090210</creationdate><title>Building a wavecache</title><author>OSKIN MARK HENRY ; EGGERS SUSAN JANE ; SWANSON STEVEN JAMES ; MERCALDI MARTHA ALLEN ; SCHWERIN ANDREW MICHALSKI ; PETERSEN ANDREW KINOSHITA ; MICHELSON KENNETH ALAN ; PUTNAM ANDREW RICHARD</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-epo_espacenet_US7490218B23</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng</language><creationdate>2009</creationdate><topic>CALCULATING</topic><topic>COMPUTING</topic><topic>COUNTING</topic><topic>ELECTRIC DIGITAL DATA PROCESSING</topic><topic>PHYSICS</topic><toplevel>online_resources</toplevel><creatorcontrib>OSKIN MARK HENRY</creatorcontrib><creatorcontrib>EGGERS SUSAN JANE</creatorcontrib><creatorcontrib>SWANSON STEVEN JAMES</creatorcontrib><creatorcontrib>MERCALDI MARTHA ALLEN</creatorcontrib><creatorcontrib>SCHWERIN ANDREW MICHALSKI</creatorcontrib><creatorcontrib>PETERSEN ANDREW KINOSHITA</creatorcontrib><creatorcontrib>MICHELSON KENNETH ALAN</creatorcontrib><creatorcontrib>PUTNAM ANDREW RICHARD</creatorcontrib><collection>esp@cenet</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>OSKIN MARK HENRY</au><au>EGGERS SUSAN JANE</au><au>SWANSON STEVEN JAMES</au><au>MERCALDI MARTHA ALLEN</au><au>SCHWERIN ANDREW MICHALSKI</au><au>PETERSEN ANDREW KINOSHITA</au><au>MICHELSON KENNETH ALAN</au><au>PUTNAM ANDREW RICHARD</au><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>Building a wavecache</title><date>2009-02-10</date><risdate>2009</risdate><abstract>A microarchitecture and instruction set that supports multiple, simultaneously executing threads. The approach is disclosed in regard to its applicability in connection with a recently developed microarchitecture called "WaveScalar." WaveScalar is a compiler that breaks a control flow graph for a program into pieces called waves having instructions that are partially ordered (i.e., a wave contains no back-edges), and for which control enters at a single point. Certain aspects of the present approach are also generally applicable to executing multiple threads on a more conventional microarchitecture. In one aspect of this approach, instructions are provided that enable and disable wave-ordered memory. Additional memory access instructions bypass wave-ordered memory, exposing additional parallelism. Also, a lightweight, interthread synchronization is employed that models hardware queue locks. Finally, a simple fence instruction is used to allow applications to handle relaxed memory consistency.</abstract><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | |
ispartof | |
issn | |
language | eng |
recordid | cdi_epo_espacenet_US7490218B2 |
source | esp@cenet |
subjects | CALCULATING COMPUTING COUNTING ELECTRIC DIGITAL DATA PROCESSING PHYSICS |
title | Building a wavecache |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-05T00%3A26%3A13IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-epo_EVB&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=OSKIN%20MARK%20HENRY&rft.date=2009-02-10&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EUS7490218B2%3C/epo_EVB%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |