{"id":"https://openalex.org/W1979318138","doi":"https://doi.org/10.1145/1216374.1216377","title":"Allocating architected registers through differential encoding","display_name":"Allocating architected registers through differential encoding","publication_year":2007,"publication_date":"2007-04-01","ids":{"openalex":"https://openalex.org/W1979318138","doi":"https://doi.org/10.1145/1216374.1216377","mag":"1979318138"},"language":"en","primary_location":{"id":"doi:10.1145/1216374.1216377","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1216374.1216377","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1216374.1216377","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1216374.1216377","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103447779","display_name":"Xiaotong Zhuang","orcid":null},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Xiaotong Zhuang","raw_affiliation_strings":["Georgia Institute of Technology, Atlanta, GA","Georgia Institute of Technology Atlanta, GA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology, Atlanta, GA","institution_ids":["https://openalex.org/I130701444"]},{"raw_affiliation_string":"Georgia Institute of Technology Atlanta, GA","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5061235810","display_name":"Santosh Pande","orcid":"https://orcid.org/0000-0001-6723-8062"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Santosh Pande","raw_affiliation_strings":["Georgia Institute of Technology, Atlanta, GA","Georgia Institute of Technology Atlanta, GA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology, Atlanta, GA","institution_ids":["https://openalex.org/I130701444"]},{"raw_affiliation_string":"Georgia Institute of Technology Atlanta, GA","institution_ids":["https://openalex.org/I130701444"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I130701444"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.06530414,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":"29","issue":"2","first_page":"9","last_page":"9"},"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.9998999834060669,"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.9998999834060669,"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/T10363","display_name":"Low-power high-performance VLSI design","score":0.9970999956130981,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9954000115394592,"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/computer-science","display_name":"Computer science","score":0.9158751964569092},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.7766265869140625},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.691997766494751},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6733773350715637},{"id":"https://openalex.org/keywords/processor-register","display_name":"Processor register","score":0.6048949956893921},{"id":"https://openalex.org/keywords/operand","display_name":"Operand","score":0.5688560605049133},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.5470893383026123},{"id":"https://openalex.org/keywords/encoding","display_name":"Encoding (memory)","score":0.5343306064605713},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.5334582328796387},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5301870703697205},{"id":"https://openalex.org/keywords/software-pipelining","display_name":"Software pipelining","score":0.5094757676124573},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.49758484959602356},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.46152985095977783},{"id":"https://openalex.org/keywords/memory-address","display_name":"Memory address","score":0.20630410313606262},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.19996079802513123},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.18406450748443604}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9158751964569092},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.7766265869140625},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.691997766494751},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6733773350715637},{"id":"https://openalex.org/C2871975","wikidata":"https://www.wikidata.org/wiki/Q187466","display_name":"Processor register","level":4,"score":0.6048949956893921},{"id":"https://openalex.org/C55526617","wikidata":"https://www.wikidata.org/wiki/Q719375","display_name":"Operand","level":2,"score":0.5688560605049133},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.5470893383026123},{"id":"https://openalex.org/C125411270","wikidata":"https://www.wikidata.org/wiki/Q18653","display_name":"Encoding (memory)","level":2,"score":0.5343306064605713},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.5334582328796387},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5301870703697205},{"id":"https://openalex.org/C188854837","wikidata":"https://www.wikidata.org/wiki/Q268469","display_name":"Software pipelining","level":3,"score":0.5094757676124573},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.49758484959602356},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.46152985095977783},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.20630410313606262},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.19996079802513123},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.18406450748443604},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.0},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1216374.1216377","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1216374.1216377","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1216374.1216377","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/1216374.1216377","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1216374.1216377","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1216374.1216377","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Affordable and clean energy","id":"https://metadata.un.org/sdg/7","score":0.5400000214576721}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1979318138.pdf","grobid_xml":"https://content.openalex.org/works/W1979318138.grobid-xml"},"referenced_works_count":25,"referenced_works":["https://openalex.org/W184362337","https://openalex.org/W1519538706","https://openalex.org/W1686420892","https://openalex.org/W1985255904","https://openalex.org/W2003804316","https://openalex.org/W2012512596","https://openalex.org/W2023335354","https://openalex.org/W2032094184","https://openalex.org/W2034491267","https://openalex.org/W2044636417","https://openalex.org/W2082643502","https://openalex.org/W2097978379","https://openalex.org/W2103078980","https://openalex.org/W2103552119","https://openalex.org/W2121945276","https://openalex.org/W2131929304","https://openalex.org/W2132929529","https://openalex.org/W2142550124","https://openalex.org/W2143917519","https://openalex.org/W2145456033","https://openalex.org/W2156141263","https://openalex.org/W2164568582","https://openalex.org/W2167822297","https://openalex.org/W2169314615","https://openalex.org/W4243954167"],"related_works":["https://openalex.org/W18945967","https://openalex.org/W2092816959","https://openalex.org/W4249499534","https://openalex.org/W2012512596","https://openalex.org/W2907464940","https://openalex.org/W2107117025","https://openalex.org/W2152533950","https://openalex.org/W4231898311","https://openalex.org/W1592003496","https://openalex.org/W2156141263"],"abstract_inverted_index":{"Micro-architecture":[0],"designers":[1],"are":[2,122,135,213],"very":[3,188],"cautious":[4],"about":[5,309],"expanding":[6,142],"the":[7,15,20,25,29,37,57,60,67,72,88,125,138,143,168,174,203,209,232,263,305],"number":[8,61,119,264],"of":[9,62,74,120,171,234,265],"architected":[10,63,133,205],"and":[11,31,34,53,77,113,237,252,267,304],"exposed":[12,65,123],"registers":[13,64,90,121,134,163,206,251],"in":[14,91,167,198,230,317],"instruction":[16],"set":[17],"because":[18],"increasing":[19],"register":[21,82,154,220,226,299],"field":[22,170],"adds":[23],"to":[24,51,66,98,164,215,248],"code":[26,144,282],"size,":[27],"raises":[28],"I-cache":[30],"memory":[32],"pressure,":[33],"may":[35],"complicate":[36],"processor":[38],"pipeline.":[39],"Especially":[40],"for":[41],"low-end":[42,238,273],"processors,":[43],"encoding":[44,155,176,218,260],"space":[45],"could":[46,69,95],"be":[47,85,96,165,185,315],"extremely":[48],"limited":[49],"due":[50,97],"area":[52],"power":[54],"considerations.":[55],"On":[56],"other":[58],"hand,":[59],"compiler":[68,75,108],"directly":[70],"affect":[71],"effectiveness":[73],"analysis":[76],"optimization.":[78],"For":[79,271,286],"high-performance":[80],"computers,":[81],"pressure":[83,300],"can":[84,184,207,242,293,314],"higher":[86],"than":[87,173],"available":[89,136],"some":[92],"regions.":[93],"This":[94],"optimizations":[99],"like":[100],"aggressive":[101],"function":[102],"inlining,":[103],"software":[104,246],"pipelining,":[105],"etc.":[106],"The":[107],"cannot":[109],"effectively":[110],"perform":[111],"compilation":[112],"optimization":[114],"if":[115],"only":[116],"a":[117,152,272,287],"small":[118],"through":[124],"ISA.":[126],"Therefore,":[127],"it":[128,197,244,292],"is":[129,228,308],"crucial":[130],"that":[131,160,182,202,224,258],"more":[132,162,250],"at":[137],"compiler's":[139],"disposal,":[140],"without":[141],"size":[145,283],"significantly.":[146],"In":[147],"this":[148,183],"article,":[149],"we":[150,195,241,275],"devise":[151],"new":[153],"scheme,":[156],"called":[157],"differential":[158,193,217,225,259],"encoding,":[159,194],"allows":[161],"addressed":[166],"operand":[169],"instructions":[172],"direct":[175],"currently":[177],"being":[178],"used.":[179],"We":[180,222],"show":[181,257],"implemented":[186],"with":[187,219,245,297],"low":[189],"overhead.":[190],"Based":[191],"upon":[192],"apply":[196],"several":[199],"ways":[200],"such":[201],"extra":[204],"benefit":[208],"performance.":[210],"Three":[211],"schemes":[212],"devised":[214],"integrate":[216],"allocation.":[221],"demonstrate":[223],"allocation":[227],"helpful":[229],"improving":[231],"performance":[233],"both":[235],"high-end":[236,288],"processors.":[239],"Moreover,":[240,311],"combine":[243],"pipelining":[247],"provide":[249],"reduce":[253],"spills.":[254],"Our":[255],"results":[256],"significantly":[261,294],"reduces":[262],"spills":[266],"speeds-up":[268],"program":[269],"execution.":[270],"configuration,":[274],"achieve":[276],"over":[277],"14%":[278],"speedup":[279,307],"while":[280],"keeping":[281],"almost":[284],"unaffected.":[285],"VLIW":[289],"in-order":[290],"machine,":[291],"speed-up":[295],"loops":[296],"high":[298],"(about":[301],"80%":[302],"speedup)":[303],"overall":[306],"15%.":[310],"our":[312],"scheme":[313],"applied":[316],"an":[318],"adaptive":[319],"manner,":[320],"making":[321],"its":[322],"overhead":[323],"much":[324],"smaller.":[325]},"counts_by_year":[{"year":2017,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
