{"id":"https://openalex.org/W2118033008","doi":"https://doi.org/10.1145/1723112.1723125","title":"Designing hardware with dynamic memory abstraction","display_name":"Designing hardware with dynamic memory abstraction","publication_year":2010,"publication_date":"2010-02-21","ids":{"openalex":"https://openalex.org/W2118033008","doi":"https://doi.org/10.1145/1723112.1723125","mag":"2118033008"},"language":"en","primary_location":{"id":"doi:10.1145/1723112.1723125","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1723112.1723125","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays","raw_type":"proceedings-article"},"type":"article","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/A5024332004","display_name":"Ji\u0159\u0131 \u0160im\u0161a","orcid":"https://orcid.org/0009-0009-8941-7227"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jiri Simsa","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101711903","display_name":"Satnam Singh","orcid":"https://orcid.org/0009-0006-4229-0554"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]},{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"Satnam Singh","raw_affiliation_strings":["Microsoft Research UK, Cambridge, United Kingdom","Microsoft Research UK, Cambridge, United Kingdom#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research UK, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]},{"raw_affiliation_string":"Microsoft Research UK, Cambridge, United Kingdom#TAB#","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5024332004"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":1.7697,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.86167147,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"69","last_page":"72"},"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.9997000098228455,"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.9997000098228455,"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.9993000030517578,"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.9990000128746033,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8119632005691528},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.7290124893188477},{"id":"https://openalex.org/keywords/factor","display_name":"Factor (programming language)","score":0.6133482456207275},{"id":"https://openalex.org/keywords/c-dynamic-memory-allocation","display_name":"C dynamic memory allocation","score":0.5547870397567749},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5035223364830017},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.46494072675704956},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.4123251736164093},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.39403700828552246},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.3866042494773865},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3516104221343994},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.28228121995925903},{"id":"https://openalex.org/keywords/semiconductor-memory","display_name":"Semiconductor memory","score":0.2254907488822937}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8119632005691528},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.7290124893188477},{"id":"https://openalex.org/C2781039887","wikidata":"https://www.wikidata.org/wiki/Q1391724","display_name":"Factor (programming language)","level":2,"score":0.6133482456207275},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.5547870397567749},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5035223364830017},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.46494072675704956},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.4123251736164093},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39403700828552246},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.3866042494773865},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3516104221343994},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.28228121995925903},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.2254907488822937},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1723112.1723125","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1723112.1723125","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":19,"referenced_works":["https://openalex.org/W1537636533","https://openalex.org/W1551086194","https://openalex.org/W1557880268","https://openalex.org/W1568427190","https://openalex.org/W1596289985","https://openalex.org/W1925669739","https://openalex.org/W2034248530","https://openalex.org/W2036673855","https://openalex.org/W2049600101","https://openalex.org/W2060108852","https://openalex.org/W2103581911","https://openalex.org/W2107698458","https://openalex.org/W2109341644","https://openalex.org/W2112432448","https://openalex.org/W2124272195","https://openalex.org/W2153997259","https://openalex.org/W2168113051","https://openalex.org/W4285719527","https://openalex.org/W6676037026"],"related_works":["https://openalex.org/W2766468145","https://openalex.org/W2035024447","https://openalex.org/W3004399614","https://openalex.org/W2361476655","https://openalex.org/W2944895246","https://openalex.org/W92825922","https://openalex.org/W4379141974","https://openalex.org/W4379518516","https://openalex.org/W2486766535","https://openalex.org/W3104774169"],"abstract_inverted_index":{"Recent":[0],"progress":[1],"in":[2,33,92,103],"program":[3],"analysis":[4],"has":[5],"produced":[6],"tools":[7],"that":[8],"are":[9],"able":[10],"to":[11,42,90,101],"compute":[12],"upper":[13],"bounds":[14],"on":[15],"the":[16,27,82,109],"use":[17,28],"of":[18,29,81,94,105],"dynamic":[19,30],"memory.":[20],"This":[21],"opens":[22],"up":[23,89,100],"a":[24,65,87,98],"space":[25],"for":[26,57],"memory":[31],"abstraction":[32],"high-level":[34],"synthesis.":[35],"In":[36],"this":[37,74],"paper,":[38],"we":[39],"explain":[40],"how":[41],"design":[43],"hardware":[44,66],"using":[45],"C":[46,59],"programs":[47,60],"with":[48,61],"malloc()":[49],"and":[50,97],"free().":[51],"A":[52],"compilation":[53],"process":[54],"is":[55,76],"outlined":[56],"transforming":[58],"heap":[62],"operations":[63],"into":[64],"description":[67],"language.":[68],"As":[69],"demonstrated":[70],"by":[71,86],"our":[72],"experiments,":[73],"approach":[75],"feasible.":[77],"Further,":[78],"automatic":[79],"parallelization":[80],"generated":[83],"circuits":[84],"improves":[85],"factor":[88,99],"1.9":[91],"terms":[93,104],"clock":[95,106],"frequency":[96],"2.7":[102],"cycles":[107],"over":[108],"previous":[110],"work.":[111]},"counts_by_year":[{"year":2017,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2026-04-28T14:05:53.105641","created_date":"2025-10-10T00:00:00"}
