Reducing fetch architecture complexity using procedure inlining

View/Open
Cita com:
hdl:2117/112123
Document typeConference report
Defense date2004
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Rights accessOpen Access
Abstract
Fetch engine performance is seriously limited by the branch prediction table access latency. This fact has lead to the development of hardware mechanisms, like prediction overriding, aimed to tolerate this latency. However, prediction overriding requires additional support and recovery mechanisms, which increases the fetch architecture complexity. In this paper, we show that this increase in complexity can be avoided if the interaction between the fetch architecture and software code optimizations is taken into account. We use aggressive procedure inlining to generate long streams of instructions that are used by the fetch engine as the basic prediction unit. We call instruction stream to a sequence of instructions from the target of a taken branch to the next taken branch. These instruction streams are long enough to feed the execution engine with instructions during multiple cycles, while a new stream prediction is being generated, and thus hiding the prediction table access latency. Our results show that the length of instruction streams compensates the increase in the instruction cache miss rate caused by inlining. We show that, using procedure inlining, the need for a prediction overriding mechanism is avoided, reducing the fetch engine complexity.
CitationSantana, O., Ramírez, A., Valero, M. Reducing fetch architecture complexity using procedure inlining. A: Workshop on Interaction between Compilers and Computer Architecture. "INTERACT-8 2004: Eighth Workshop on Interaction between Compilers and Computer Architectures". Madrid: Institute of Electrical and Electronics Engineers (IEEE), 2004, p. 97-106.
ISBN0-7695-2061-8
Publisher versionhttp://ieeexplore.ieee.org/document/1299514/
Files | Description | Size | Format | View |
---|---|---|---|---|
01299514.pdf | 1,334Mb | View/Open |
All rights reserved. This work is protected by the corresponding intellectual and industrial
property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public
communication or transformation of this work are prohibited without permission of the copyright holder