{"id":"https://openalex.org/W4238566657","doi":"https://doi.org/10.1145/70082.68200","title":"Program optimization for instruction caches","display_name":"Program optimization for instruction caches","publication_year":1989,"publication_date":"1989-04-01","ids":{"openalex":"https://openalex.org/W4238566657","doi":"https://doi.org/10.1145/70082.68200"},"language":"en","primary_location":{"id":"doi:10.1145/70082.68200","doi":"https://doi.org/10.1145/70082.68200","is_oa":true,"landing_page_url":"https://doi.org/10.1145/70082.68200","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/70082.68200","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 third 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/70082.68200","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5044652899","display_name":"Scott McFarling","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"S. McFarling","raw_affiliation_strings":["Computer Systems Laboratory, Stanford University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Computer Systems Laboratory, Stanford University","institution_ids":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5044652899"],"corresponding_institution_ids":["https://openalex.org/I97018004"],"apc_list":null,"apc_paid":null,"fwci":6.0043,"has_fulltext":true,"cited_by_count":173,"citation_normalized_percentile":{"value":0.96878901,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"183","last_page":"191"},"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.9961000084877014,"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.9961000084877014,"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.000699999975040555,"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"}},{"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"}}],"keywords":[{"id":"https://openalex.org/keywords/direct-mapped-cache","display_name":"direct-mapped cache","score":0.9190000295639038},{"id":"https://openalex.org/keywords/profile-guided-optimization","display_name":"profile-guided optimization","score":0.6769999861717224},{"id":"https://openalex.org/keywords/conditionals","display_name":"conditionals","score":0.6489999890327454},{"id":"https://openalex.org/keywords/call-graph","display_name":"call graph","score":0.6069999933242798},{"id":"https://openalex.org/keywords/set-associative-cache","display_name":"set-associative cache","score":0.7229999899864197},{"id":"https://openalex.org/keywords/cache-size","display_name":"cache size","score":0.5989999771118164}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8912285566329956},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.8552140593528748},{"id":"https://openalex.org/C38556500","wikidata":"https://www.wikidata.org/wiki/Q13404475","display_name":"Cache algorithms","level":4,"score":0.7767752408981323},{"id":"https://openalex.org/C25536678","wikidata":"https://www.wikidata.org/wiki/Q5015977","display_name":"Cache invalidation","level":5,"score":0.7252168655395508},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6633738279342651},{"id":"https://openalex.org/C59687516","wikidata":"https://www.wikidata.org/wiki/Q5015938","display_name":"Cache-oblivious algorithm","level":5,"score":0.6559371948242188},{"id":"https://openalex.org/C201148951","wikidata":"https://www.wikidata.org/wiki/Q5015976","display_name":"Cache coloring","level":4,"score":0.6453853249549866},{"id":"https://openalex.org/C167713795","wikidata":"https://www.wikidata.org/wiki/Q352090","display_name":"Smart Cache","level":5,"score":0.6358705163002014},{"id":"https://openalex.org/C113166858","wikidata":"https://www.wikidata.org/wiki/Q5015981","display_name":"Cache pollution","level":5,"score":0.6355624198913574},{"id":"https://openalex.org/C36340418","wikidata":"https://www.wikidata.org/wiki/Q7124288","display_name":"Page cache","level":5,"score":0.5497364401817322},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.42569148540496826},{"id":"https://openalex.org/C189783530","wikidata":"https://www.wikidata.org/wiki/Q352090","display_name":"CPU cache","level":3,"score":0.38478052616119385},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3621239960193634},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.12902167439460754}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/70082.68200","doi":"https://doi.org/10.1145/70082.68200","is_oa":true,"landing_page_url":"https://doi.org/10.1145/70082.68200","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/70082.68200","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 third international conference on Architectural support for programming languages and operating systems","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/70082.68200","doi":"https://doi.org/10.1145/70082.68200","is_oa":true,"landing_page_url":"https://doi.org/10.1145/70082.68200","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/70082.68200","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 third 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"},{"id":"https://openalex.org/F4320332815","display_name":"Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4238566657.pdf","grobid_xml":"https://content.openalex.org/works/W4238566657.grobid-xml"},"referenced_works_count":11,"referenced_works":["https://openalex.org/W1969660388","https://openalex.org/W1975435962","https://openalex.org/W1987225815","https://openalex.org/W2002292054","https://openalex.org/W2016884886","https://openalex.org/W2017276153","https://openalex.org/W2025605512","https://openalex.org/W2156387035","https://openalex.org/W2294693415","https://openalex.org/W6817935147","https://openalex.org/W7099698923"],"related_works":["https://openalex.org/W7036640362","https://openalex.org/W1564146033","https://openalex.org/W128831403","https://openalex.org/W2122207386","https://openalex.org/W7070894863","https://openalex.org/W1967186960","https://openalex.org/W2105517782","https://openalex.org/W2121084586","https://openalex.org/W7096337842","https://openalex.org/W1995395807"],"abstract_inverted_index":{"This":[0,58,68],"paper":[1,59],"presents":[2,61],"an":[3,29,74,113,180,224],"optimization":[4],"algorithm":[5,12,108,131,198,217],"for":[6,50,78,116,136,149,155,172],"reducing":[7],"instruction":[8,175],"cache":[9,25,31,45,115,157,163,176,195,205,232],"misses.":[10],"The":[11,139,159],"uses":[13],"profile":[14,127],"information":[15],"to":[16,72],"reposition":[17],"programs":[18,79,154,228,239],"in":[19],"memory":[20],"so":[21],"that":[22],"a":[23,48,62,84,150,166,173,191,208,230],"direct-mapped":[24,174,231],"behaves":[26],"much":[27],"like":[28],"optimal":[30,75,114,225],"with":[32,83,125,134,146],"full":[33,36],"associativity":[34],"and":[35,82],"knowledge":[37],"of":[38,65,121,141,152,194,210,243],"the":[39,44,56,66,107,117,122,126,130,197,204,216,244],"future.":[40],"For":[41,165,179,213],"best":[42],"results,":[43],"should":[46],"have":[47,233],"mechanism":[49],"excluding":[51],"certain":[52],"instructions":[53],"designated":[54],"by":[55,187,207],"compiler.":[57],"first":[60],"reduced":[63],"form":[64,69],"algorithm.":[67],"is":[70,132,199],"shown":[71],"produce":[73],"miss":[76,170,184,235],"rate":[77],"without":[80],"conditionals":[81,97],"tree":[85],"call":[86],"graph,":[87],"assuming":[88],"basic":[89],"blocks":[90],"can":[91],"be":[92],"reordered":[93],"at":[94],"will.":[95],"If":[96],"are":[98,102,144,177],"allowed,":[99],"but":[100],"there":[101],"no":[103],"loops":[104],"within":[105],"conditionals,":[106],"does":[109],"as":[110,112,200,202],"well":[111],"worst":[118],"case":[119],"execution":[120],"program":[123],"consistent":[124],"information.":[128],"Next,":[129],"extended":[133],"heuristics":[135,143],"general":[137],"programs.":[138],"effectiveness":[140],"these":[142],"demonstrated":[145],"empirical":[147],"results":[148],"set":[151],"10":[153],"various":[156],"sizes.":[158],"improvement":[160],"depends":[161],"on":[162,229,240],"size.":[164,246],"512":[167,214],"word":[168,182],"cache,":[169,183],"rates":[171,185,236],"halved.":[178],"8K":[181],"fall":[186],"over":[188],"75%.":[189],"Over":[190],"wide":[192],"range":[193],"sizes":[196],"effective":[201],"increasing":[203],"size":[206],"factor":[209],"3":[211],"times.":[212],"words,":[215],"generates":[218],"only":[219],"32%":[220],"more":[221],"misses":[222],"than":[223,237],"cache.":[226],"Optimized":[227],"lower":[234],"unoptimized":[238],"set-associative":[241],"caches":[242],"same":[245]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":2},{"year":2014,"cited_by_count":1},{"year":2012,"cited_by_count":4}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2022-05-12T00:00:00"}
