{"id":"https://openalex.org/W1985255904","doi":"https://doi.org/10.1145/291069.291010","title":"Compiler-controlled memory","display_name":"Compiler-controlled memory","publication_year":1998,"publication_date":"1998-10-01","ids":{"openalex":"https://openalex.org/W1985255904","doi":"https://doi.org/10.1145/291069.291010","mag":"1985255904"},"language":"en","primary_location":{"id":"doi:10.1145/291069.291010","doi":"https://doi.org/10.1145/291069.291010","is_oa":true,"landing_page_url":"https://doi.org/10.1145/291069.291010","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/384265.291010","source":{"id":"https://openalex.org/S7407086669","display_name":"International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the eighth international conference on Architectural support for programming languages and operating systems","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/384265.291010","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5073381111","display_name":"Keith D. Cooper","orcid":"https://orcid.org/0000-0003-4288-4847","observed_orcids":["https://orcid.org/0000-0003-4288-4847"]},"institutions":[{"id":"https://openalex.org/I74775410","display_name":"Rice University","ror":"https://ror.org/008zs3103","country_code":"US","type":"education","lineage":["https://openalex.org/I74775410"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Keith D. Cooper","raw_affiliation_strings":["Computer Science Department, Rice University, 6100 Main Street, MS 132, Houston, Texas","Computer Science Department, Rice University, 6100 Main Street, MS 132, Houston, Texas#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Computer Science Department, Rice University, 6100 Main Street, MS 132, Houston, Texas","institution_ids":["https://openalex.org/I74775410"]},{"raw_affiliation_string":"Computer Science Department, Rice University, 6100 Main Street, MS 132, Houston, Texas#TAB#","institution_ids":["https://openalex.org/I74775410"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076377812","display_name":"Timothy J. Harvey","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I74775410","display_name":"Rice University","ror":"https://ror.org/008zs3103","country_code":"US","type":"education","lineage":["https://openalex.org/I74775410"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Timothy J. Harvey","raw_affiliation_strings":["Computer Science Department, Rice University, 6100 Main Street, MS 132, Houston, Texas","Computer Science Department, Rice University, 6100 Main Street, MS 132, Houston, Texas#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Computer Science Department, Rice University, 6100 Main Street, MS 132, Houston, Texas","institution_ids":["https://openalex.org/I74775410"]},{"raw_affiliation_string":"Computer Science Department, Rice University, 6100 Main Street, MS 132, Houston, Texas#TAB#","institution_ids":["https://openalex.org/I74775410"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I74775410"],"apc_list":null,"apc_paid":null,"fwci":4.3657,"has_fulltext":true,"cited_by_count":83,"citation_normalized_percentile":{"value":0.94594595,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":87,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"2","last_page":"11"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.00039999998989515007,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.00019999999494757503,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/register-allocation","display_name":"register allocation","score":0.9789999723434448},{"id":"https://openalex.org/keywords/register-spilling","display_name":"register spilling","score":0.7490000128746033},{"id":"https://openalex.org/keywords/cache-performance","display_name":"cache performance","score":0.6769999861717224},{"id":"https://openalex.org/keywords/memory-hierarchy","display_name":"memory hierarchy","score":0.6349999904632568},{"id":"https://openalex.org/keywords/dsp-microprocessor","display_name":"DSP microprocessor","score":0.7820000052452087},{"id":"https://openalex.org/keywords/memory-access-patterns","display_name":"memory access patterns","score":0.4000000059604645}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.892043948173523},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7733855247497559},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5378187894821167},{"id":"https://openalex.org/C63511323","wikidata":"https://www.wikidata.org/wiki/Q908936","display_name":"Interleaved memory","level":4,"score":0.519015908241272},{"id":"https://openalex.org/C74426580","wikidata":"https://www.wikidata.org/wiki/Q719484","display_name":"Memory map","level":3,"score":0.47983309626579285},{"id":"https://openalex.org/C68366613","wikidata":"https://www.wikidata.org/wiki/Q5156378","display_name":"Compiler correctness","level":3,"score":0.45713576674461365},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.43467992544174194},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.43112921714782715},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.4306173026561737},{"id":"https://openalex.org/C51290061","wikidata":"https://www.wikidata.org/wiki/Q1936765","display_name":"Uniform memory access","level":4,"score":0.42158880829811096},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3509240746498108},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.336515873670578},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.33325397968292236},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.24708044528961182},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.19056951999664307},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.18305760622024536}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/291069.291010","doi":"https://doi.org/10.1145/291069.291010","is_oa":true,"landing_page_url":"https://doi.org/10.1145/291069.291010","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/384265.291010","source":{"id":"https://openalex.org/S7407086669","display_name":"International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the eighth international conference on Architectural support for programming languages and operating systems","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.117.516","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.516","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.rice.edu/~harv/my_papers/asplos.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.13.2062","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.2062","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.rice.edu/~keith/EMBED/asplos98.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.57.6162","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.6162","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://softlib.cs.rice.edu/MSCP/papers/asplos98.ps.gz","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/291069.291010","doi":"https://doi.org/10.1145/291069.291010","is_oa":true,"landing_page_url":"https://doi.org/10.1145/291069.291010","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/384265.291010","source":{"id":"https://openalex.org/S7407086669","display_name":"International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the eighth international conference on Architectural support for programming languages and operating systems","raw_type":"proceedings-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1985255904.pdf","grobid_xml":"https://content.openalex.org/works/W1985255904.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W1498962072","https://openalex.org/W1555915743","https://openalex.org/W1861747532","https://openalex.org/W1964262399","https://openalex.org/W1966831167","https://openalex.org/W1983096721","https://openalex.org/W2002427499","https://openalex.org/W2063249715","https://openalex.org/W2066202680","https://openalex.org/W2088704572","https://openalex.org/W2099958604","https://openalex.org/W2101483132","https://openalex.org/W2119609467","https://openalex.org/W2136698618","https://openalex.org/W2142550124","https://openalex.org/W2151328120","https://openalex.org/W2166696935","https://openalex.org/W2167013139","https://openalex.org/W2171564459","https://openalex.org/W2244841219","https://openalex.org/W2295099251","https://openalex.org/W2997120644","https://openalex.org/W3004313105","https://openalex.org/W4234369945","https://openalex.org/W4234392772","https://openalex.org/W4238963734","https://openalex.org/W4292169167","https://openalex.org/W6863951927"],"related_works":["https://openalex.org/W7099377843","https://openalex.org/W2171421243","https://openalex.org/W1870686413","https://openalex.org/W1499709058","https://openalex.org/W7099812797","https://openalex.org/W7096025979","https://openalex.org/W7198807090","https://openalex.org/W1996490457","https://openalex.org/W4253563554","https://openalex.org/W2349934444"],"abstract_inverted_index":{"Optimizations":[0],"aimed":[1],"at":[2],"reducing":[3],"the":[4,31,43,47,64,68,92,110,116,121,124,130,135,144,173,185,194,210,213,261,275],"impact":[5,202],"of":[6,25,46,75,123,146,193,212,277],"memory":[7,36,87,97,107,117,152,161,175,190,198,215,271,278],"operations":[8,108,112],"on":[9,15,30,209,221,231],"execution":[10],"speed":[11],"have":[12,208],"long":[13],"concentrated":[14],"improving":[16],"cache":[17],"performance.":[18],"These":[19],"efforts":[20],"achieve":[21],"a.":[22],"reasonable":[23],"level":[24],"success.":[26],"The":[27,49,177],"primary":[28],"limit":[29],"compiler's":[32],"ability":[33],"to":[34,60,86,143,154,183,196,239,266,270],"improve":[35],"behavior":[37,45],"is":[38,57],"its":[39],"imperfect":[40],"knowledge":[41,102],"about":[42,103],"run-time":[44],"program.":[48,282],"compiler":[50,69,93,178],"cannot":[51],"completely":[52],"predict":[53],"runtime":[54],"access":[55],"patterns.There":[56],"an":[58],"exception":[59],"this":[61],"rule.":[62],"During":[63],"register":[65,262],"allocation":[66],"phase,":[67],"often":[70],"must":[71],"insert":[72],"substantial":[73],"amounts":[74],"spill":[76,148,181,205],"code;":[77],"that":[78,81,203,249,259],"is,":[79],"instructions":[80,182,206],"move":[82],"values":[83,269],"from":[84,115,172,251],"registers":[85],"and":[88,199],"back":[89],"again.":[90],"Because":[91],"itself":[94],"inserts":[95],"these":[96],"instructions,":[98],"it":[99],"has":[100],"more":[101],"them":[104],"than":[105],"other":[106],"in":[109,134,167],"program.Spill-code":[111],"are":[113],"disjoint":[114],"manipulations":[118],"required":[119,279],"by":[120,280],"semantics":[122],"program":[125],"being":[126],"compiled,":[127],"and,":[128],"indeed,":[129],"two":[131,236],"can":[132,162,179,227,272],"interfere":[133],"cache.":[136],"This":[137,158],"paper":[138,234],"proposes":[139],"a":[140,168,242,281],"hardware":[141],"solution":[142],"problem":[145],"increased":[147],"costs---a":[149],"small":[150,159],"compiler-controlled":[151],"(CCM)":[153],"hold":[155],"spilled":[156,268],"values.":[157],"random-access":[160],"(and":[163],"should)":[164],"be":[165,228,255],"placed":[166],"distinct":[169],"address":[170],"space":[171],"main":[174,197,214],"hierarchy.":[176,216],"target":[180],"use":[184],"CCM,":[186],"moving":[187],"most":[188],"compiler-inserted":[189],"traffic":[191],"out":[192],"pathway":[195],"eliminating":[200],"any":[201],"those":[204,232],"would":[207],"state":[211],"Such":[217],"memories":[218],"already":[219],"exist":[220],"some":[222],"DSP":[223],"microprocessors.":[224],"Our":[225],"techniques":[226],"applied":[229],"directly":[230],"chips.This":[233],"presents":[235],"compiler-based":[237],"methods":[238],"exploit":[240],"such":[241],"memory,":[243],"along":[244],"with":[245],"experimental":[246],"results":[247],"showing":[248],"speedups":[250],"using":[252,260],"CCM":[253],"may":[254],"sizable.":[256],"It":[257],"shows":[258],"allocation's":[263],"coloring":[264],"paradigm":[265],"assign":[267],"greatly":[273],"reduce":[274],"amount":[276]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
