{"id":"https://openalex.org/W2128609716","doi":"https://doi.org/10.1145/1086297.1086311","title":"A post-compilation register reassignment technique for improving hamming distance code compression","display_name":"A post-compilation register reassignment technique for improving hamming distance code compression","publication_year":2005,"publication_date":"2005-09-24","ids":{"openalex":"https://openalex.org/W2128609716","doi":"https://doi.org/10.1145/1086297.1086311","mag":"2128609716"},"language":"en","primary_location":{"id":"doi:10.1145/1086297.1086311","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1086297.1086311","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5068373975","display_name":"Montserrat Ros","orcid":"https://orcid.org/0000-0002-5598-7987"},"institutions":[{"id":"https://openalex.org/I90745801","display_name":"University of New England","ror":"https://ror.org/04r659a56","country_code":"AU","type":"education","lineage":["https://openalex.org/I90745801"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Montserrat Ros","raw_affiliation_strings":["The University of New England, Armidale, Australia","The University of New England , Armidale, Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of New England, Armidale, Australia","institution_ids":["https://openalex.org/I90745801"]},{"raw_affiliation_string":"The University of New England , Armidale, Australia","institution_ids":["https://openalex.org/I90745801"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5113995152","display_name":"Peter Sutton","orcid":null},"institutions":[{"id":"https://openalex.org/I165143802","display_name":"The University of Queensland","ror":"https://ror.org/00rqy9422","country_code":"AU","type":"education","lineage":["https://openalex.org/I165143802"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Peter Sutton","raw_affiliation_strings":["The University of Queensland, Brisbane, Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Queensland, Brisbane, Australia","institution_ids":["https://openalex.org/I165143802"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":14,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"97","last_page":"104"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T11269","display_name":"Algorithms and Data Compression","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994999766349792,"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/T11697","display_name":"Numerical Methods and Algorithms","score":0.993399977684021,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.8277521729469299},{"id":"https://openalex.org/keywords/register-file","display_name":"Register file","score":0.7114273309707642},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6106119751930237},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.5961229801177979},{"id":"https://openalex.org/keywords/unreachable-code","display_name":"Unreachable code","score":0.5773099064826965},{"id":"https://openalex.org/keywords/processor-register","display_name":"Processor register","score":0.5415142178535461},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5313050746917725},{"id":"https://openalex.org/keywords/dead-code","display_name":"Dead code","score":0.5117949843406677},{"id":"https://openalex.org/keywords/hamming-code","display_name":"Hamming code","score":0.5031351447105408},{"id":"https://openalex.org/keywords/constant-weight-code","display_name":"Constant-weight code","score":0.4894184172153473},{"id":"https://openalex.org/keywords/redundant-code","display_name":"Redundant code","score":0.48755496740341187},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.41950395703315735},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.39262494444847107},{"id":"https://openalex.org/keywords/concatenated-error-correction-code","display_name":"Concatenated error correction code","score":0.3534888029098511},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.2884710431098938},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.26086559891700745},{"id":"https://openalex.org/keywords/decoding-methods","display_name":"Decoding methods","score":0.22898587584495544},{"id":"https://openalex.org/keywords/block-code","display_name":"Block code","score":0.22356146574020386},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2198081910610199},{"id":"https://openalex.org/keywords/memory-address","display_name":"Memory address","score":0.1555863320827484},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.14790168404579163},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.13473889231681824}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8277521729469299},{"id":"https://openalex.org/C117280010","wikidata":"https://www.wikidata.org/wiki/Q180944","display_name":"Register file","level":3,"score":0.7114273309707642},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6106119751930237},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.5961229801177979},{"id":"https://openalex.org/C50951305","wikidata":"https://www.wikidata.org/wiki/Q2482534","display_name":"Unreachable code","level":5,"score":0.5773099064826965},{"id":"https://openalex.org/C2871975","wikidata":"https://www.wikidata.org/wiki/Q187466","display_name":"Processor register","level":4,"score":0.5415142178535461},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5313050746917725},{"id":"https://openalex.org/C47434764","wikidata":"https://www.wikidata.org/wiki/Q1770035","display_name":"Dead code","level":5,"score":0.5117949843406677},{"id":"https://openalex.org/C73150493","wikidata":"https://www.wikidata.org/wiki/Q853922","display_name":"Hamming code","level":4,"score":0.5031351447105408},{"id":"https://openalex.org/C197242373","wikidata":"https://www.wikidata.org/wiki/Q5163613","display_name":"Constant-weight code","level":5,"score":0.4894184172153473},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.48755496740341187},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.41950395703315735},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.39262494444847107},{"id":"https://openalex.org/C78944582","wikidata":"https://www.wikidata.org/wiki/Q5158264","display_name":"Concatenated error correction code","level":4,"score":0.3534888029098511},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.2884710431098938},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.26086559891700745},{"id":"https://openalex.org/C57273362","wikidata":"https://www.wikidata.org/wiki/Q576722","display_name":"Decoding methods","level":2,"score":0.22898587584495544},{"id":"https://openalex.org/C157125643","wikidata":"https://www.wikidata.org/wiki/Q884707","display_name":"Block code","level":3,"score":0.22356146574020386},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2198081910610199},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.1555863320827484},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.14790168404579163},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.13473889231681824},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"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/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/1086297.1086311","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1086297.1086311","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.519.11","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.519.11","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://itee.uq.edu.au/~peters/papers/ros_sutton_cases2005.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.91.6030","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.91.6030","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.elec.uow.edu.au/staff/montse/_papers/2005-CASES-b28-ros.pdf","raw_type":"text"},{"id":"pmh:oai:espace.library.uq.edu.au:UQ:102941","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4306402388","display_name":"Queensland's institutional digital repository (The University of Queensland)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I165143802","host_organization_name":"The University of Queensland","host_organization_lineage":["https://openalex.org/I165143802"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Conference Paper"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":29,"referenced_works":["https://openalex.org/W1528788915","https://openalex.org/W1572612613","https://openalex.org/W1591546244","https://openalex.org/W1592328955","https://openalex.org/W1656564876","https://openalex.org/W1930553226","https://openalex.org/W1994252796","https://openalex.org/W2010185999","https://openalex.org/W2029307214","https://openalex.org/W2032813112","https://openalex.org/W2090413701","https://openalex.org/W2091671815","https://openalex.org/W2099961767","https://openalex.org/W2107611658","https://openalex.org/W2114067856","https://openalex.org/W2122095039","https://openalex.org/W2142614413","https://openalex.org/W2149047095","https://openalex.org/W2162314586","https://openalex.org/W2294934420","https://openalex.org/W2913813246","https://openalex.org/W2953510982","https://openalex.org/W4246434167","https://openalex.org/W4255974533","https://openalex.org/W4365799951","https://openalex.org/W6631660285","https://openalex.org/W6634375941","https://openalex.org/W6640188264","https://openalex.org/W6658057515"],"related_works":["https://openalex.org/W2161969548","https://openalex.org/W2036000779","https://openalex.org/W1539844444","https://openalex.org/W2025383691","https://openalex.org/W2042804080","https://openalex.org/W2391342321","https://openalex.org/W1818370264","https://openalex.org/W4206106662","https://openalex.org/W2380710632","https://openalex.org/W2093178562"],"abstract_inverted_index":{"Code":[0,170],"compression":[1,6,171,187,212],"is":[2,204],"a":[3,51,87,112,164,205],"field":[4],"where":[5,105],"ratios":[7,172],"between":[8,95],"compiler-generated":[9],"code":[10,14,47,68,71,143,186],"and":[11,41,85,135,232,234],"subsequent":[12],"compressed":[13],"are":[15],"highly":[16],"dependent":[17],"on":[18,32,76,166],"decisions":[19],"made":[20],"at":[21,139,197],"compile":[22],"time.":[23],"Most":[24],"optimizations":[25,108],"employed":[26],"by":[27,82,163,168],"compilers":[28],"tend":[29],"to":[30,63,91,142,189],"focus":[31],"parameters":[33],"such":[34,195],"as":[35],"program":[36,165,182],"performance,":[37],"minimizing":[38],"resource":[39],"dependencies":[40],"sometimes":[42],"the":[43,55,77,106,132,149,157,193],"option":[44],"of":[45,58,79,131,148,159,173],"reducing":[46],"size.This":[48],"paper":[49,155],"describes":[50],"post-compilation":[52],"technique":[53,152,206],"for":[54,115,209],"greedy":[56],"reassignment":[57,98,151,203],"general":[59],"purpose":[60,201],"scratch":[61],"registers":[62,74,80],"improve":[64],"Hamming":[65,93],"distance":[66],"based":[67,75],"compression.":[69],"The":[70],"translation":[72],"renumbers":[73],"frequency":[78],"used":[81],"isomorphic":[83],"instructions":[84],"employs":[86],"Gray":[88],"coding":[89],"scheme":[90],"reduce":[92,127],"distances":[94],"similar":[96],"instructions.Register":[97],"has":[99],"been":[100],"successfully":[101],"implemented":[102],"in":[103,153,211,217],"areas":[104],"compiler":[107],"do":[109],"not":[110],"include":[111,225],"particular":[113],"metric,":[114],"example,":[116],"power":[117,129],"savings.":[118],"Pro-gram":[119],"values":[120],"can":[121],"be":[122,223],"reassigned":[123],"register":[124,136,150,202,227,230,236],"numbers":[125],"that":[126,207,221],"overall":[128],"consumption":[130],"address":[133],"bus":[134],"file":[137],"decoder,":[138],"no":[140,215],"cost":[141],"size":[144],"or":[145],"performance.The":[146],"application":[147],"this":[154],"reduced":[156],"number":[158],"dictionary":[160],"vectors":[161],"required":[162],"average":[167],"9.74%.":[169],"register-reassigned":[174],"binaries":[175],"were":[176],"consistently":[177],"around":[178],"3-4%":[179],"(of":[180],"original":[181,190],"size)":[183],"lower":[184],"than":[185],"applied":[188],"binaries,":[191],"with":[192,214],"highest":[194],"reduction":[196],"nearly":[198],"7%.":[199],"General":[200],"allows":[208],"gains":[210],"efficiency":[213],"penalty":[216],"hardware.":[218],"Other":[219],"techniques":[220],"could":[222],"trialed":[224],"commutative":[226],"switching,":[228],"dead":[229],"detection":[231],"assignment":[233],"complete":[235],"re-allocation.":[237]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2015,"cited_by_count":2}],"updated_date":"2026-07-15T18:14:33.161393","created_date":"2025-10-10T00:00:00"}
