The search functionality is under construction.
The search functionality is under construction.

Author Search Result

[Author] Naruki KURATA(2hit)

1-2hit
  • Address Order Violation Detection with Parallel Counting Bloom Filters

    Naruki KURATA  Ryota SHIOYA  Masahiro GOSHIMA  Shuichi SAKAI  

     
    PAPER

      Vol:
    E98-C No:7
      Page(s):
    580-593

    To eliminate CAMs from the load/store queues, several techniques to detect memory access order violation with hash filters composed of RAMs have been proposed. This paper proposes a technique with parallel counting Bloom filters (PCBF). A Bloom filter has extremely low false positive rates owing to multiple hash functions. Although some existing researches claim the use of Bloom filters, none of them make mention to multiple hash functions. This paper also addresses the problem relevant to the variety of access sizes of load/store instructions. The evaluation results show that our technique, with only 2720-bit Bloom filters, achieves a relative IPC of 99.0% while the area and power consumption are greatly reduced to 14.3% and 22.0% compared to a conventional model with CAMs. The filter is much smaller than usual branch predictors.

  • Register Indirect Jump Target Forwarding

    Ryota SHIOYA  Naruki KURATA  Takashi TOYOSHIMA  Masahiro GOSHIMA  Shuichi SAKAI  

     
    PAPER-Computer System

      Vol:
    E96-D No:2
      Page(s):
    278-288

    Object-oriented languages have recently become common, making register indirect jumps more important than ever. In object-oriented languages, virtual functions are heavily used because they improve programming productivity greatly. Virtual function calls usually consist of register indirect jumps, and consequently, programs written in object-oriented languages contain many register indirect jumps. The prediction of the targets of register indirect jumps is more difficult than the prediction of the direction of conditional branches. Many predictors have been proposed for register indirect jumps, but they cannot predict the jump targets with high accuracy or require very complex hardware. We propose a method that resolves jump targets by forwarding execution results. Our proposal dynamically finds the producers of register indirect jumps in virtual function calls. After the execution of the producers, the execution results are forwarded to the processor's front-end. The jump targets can be resolved by the forwarded execution results without requiring prediction. Our proposal improves the performance of programs that include unpredictable register indirect jumps, because it does not rely on prediction but instead uses actual execution results. Our evaluation shows that the IPC improvement using our proposal is as high as 5.4% on average and 9.8% at maximum.