{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/20344"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/20344","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Data prefetch mechanisms for accelerating symbolic and numeric computation","abstract":"Despite rapid increases in CPU performance, the primary obstacles to achieving higher performance in contemporary processor organizations remain control and data hazards. Primary data cache misses are responsible for the majority of the data hazards. With CPU primary cache sizes limited by clock cycle time constraints, the performance of future CPUs is effectively going to be limited by the number of primary data cache misses whose penalty cannot be masked.","abstract_html":"Despite rapid increases in CPU performance, the primary obstacles to achieving higher performance in contemporary processor organizations remain control and data hazards. Primary data cache misses are responsible for the majority of the data hazards. With CPU primary cache sizes limited by clock cycle time constraints, the performance of future CPUs is effectively going to be limited by the number of primary data cache misses whose penalty cannot be masked.","abstract_has_math":false,"creators":["Mehrotra, Sharad"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Padua, David A."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T12:36:33Z","date_published":"2011-05-07T12:36:33Z","updated_at":"2026-07-22T22:25:15Z","subjects":["Engineering, Electronics and Electrical","Computer Science"],"languages":["eng"],"rights":["Copyright 1996 Mehrotra, Sharad"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["9780591089059","AAI9702609","(UMI)AAI9702609"],"render_values":[{"text":"9780591089059","href":null,"code":true},{"text":"AAI9702609","href":null,"code":true},{"text":"(UMI)AAI9702609","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/20344","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Padua, David A."]},{"key":"dc:creator","label":"Author","values":["Mehrotra, Sharad"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T12:36:33Z","10000-01-01","1996"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Engineering, Electronics and Electrical","Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1996 Mehrotra, Sharad"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["9780591089059","AAI9702609","(UMI)AAI9702609","http://hdl.handle.net/2142/20344"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Despite rapid increases in CPU performance, the primary obstacles to achieving higher performance in contemporary processor organizations remain control and data hazards. Primary data cache misses are responsible for the majority of the data hazards. With CPU primary cache sizes limited by clock cycle time constraints, the performance of future CPUs is effectively going to be limited by the number of primary data cache misses whose penalty cannot be masked.","To address this problem, this dissertation takes a detailed look at memory access patterns in complex, real-world programs. A simple memory reference pattern classification is introduced, which is applicable to a broad range of computations, including pointer-intensive and numeric codes. To exploit the new classification, a data prefetch device called the Indirect Reference Buffer (IRB) is proposed. The IRB extends data prefetching to indirect memory address sequences, while also handling dense scientific codes. It is distinguished from previous designs in its seamless integration of linear and indirect address prefetching. The behavior of the IRB on a suite of programs drawn from the Spec92, Spec95, and public domain codes, is measured under a variety of abstract models.","Next, a detailed hardware design for the IRB that can be easily integrated into modern CPUs is presented. In this design, the IRB is decomposed into a recurrence recognition unit (RRU) and a prefetch unit (PU). The RRU is tightly coupled to the CPU pipelines, and monitors individual load instructions in executing programs. The PU operates asynchronously with respect to the processor pipelines, and is coupled only to the processor's bus interface. This division has two important ramifications. First, it allows the PU to pull ahead of the processor as a program executes. Second, it makes it possible to tune the IRB for processors with varying memory subsystems, simply by redesigning the PU. An early embodiment of the design is evaluated via detailed timing simulation on our benchmark suite.","The dissertation concludes by outlining compile-time transformations to enhance IRB performance and offering suggestions for possible extensions to this work.","Made available in DSpace on 2011-05-07T12:36:33Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9702609.pdf: 6944132 bytes, checksum: 1b4893456f83a9e439fc0fd7b2b7693b (MD5) Previous issue date: 1996","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:43:16Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:18:54-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["Data prefetch mechanisms for accelerating symbolic and numeric computation"]}]}],"canonical_facts":{"dc:contributor":["Padua, David A."],"dc:creator":["Mehrotra, Sharad"],"dc:date":["2011-05-07T12:36:33Z","10000-01-01","1996"],"dc:description":["Despite rapid increases in CPU performance, the primary obstacles to achieving higher performance in contemporary processor organizations remain control and data hazards. Primary data cache misses are responsible for the majority of the data hazards. With CPU primary cache sizes limited by clock cycle time constraints, the performance of future CPUs is effectively going to be limited by the number of primary data cache misses whose penalty cannot be masked.","To address this problem, this dissertation takes a detailed look at memory access patterns in complex, real-world programs. A simple memory reference pattern classification is introduced, which is applicable to a broad range of computations, including pointer-intensive and numeric codes. To exploit the new classification, a data prefetch device called the Indirect Reference Buffer (IRB) is proposed. The IRB extends data prefetching to indirect memory address sequences, while also handling dense scientific codes. It is distinguished from previous designs in its seamless integration of linear and indirect address prefetching. The behavior of the IRB on a suite of programs drawn from the Spec92, Spec95, and public domain codes, is measured under a variety of abstract models.","Next, a detailed hardware design for the IRB that can be easily integrated into modern CPUs is presented. In this design, the IRB is decomposed into a recurrence recognition unit (RRU) and a prefetch unit (PU). The RRU is tightly coupled to the CPU pipelines, and monitors individual load instructions in executing programs. The PU operates asynchronously with respect to the processor pipelines, and is coupled only to the processor's bus interface. This division has two important ramifications. First, it allows the PU to pull ahead of the processor as a program executes. Second, it makes it possible to tune the IRB for processors with varying memory subsystems, simply by redesigning the PU. An early embodiment of the design is evaluated via detailed timing simulation on our benchmark suite.","The dissertation concludes by outlining compile-time transformations to enhance IRB performance and offering suggestions for possible extensions to this work.","Made available in DSpace on 2011-05-07T12:36:33Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9702609.pdf: 6944132 bytes, checksum: 1b4893456f83a9e439fc0fd7b2b7693b (MD5) Previous issue date: 1996","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:43:16Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:18:54-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["9780591089059","AAI9702609","(UMI)AAI9702609","http://hdl.handle.net/2142/20344"],"dc:language":["eng"],"dc:rights":["Copyright 1996 Mehrotra, Sharad"],"dc:subject":["Engineering, Electronics and Electrical","Computer Science"],"dc:title":["Data prefetch mechanisms for accelerating symbolic and numeric computation"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:15Z"}