History-based branch direction predictors for conditional branches are shown to be highly accurate. Indirect branches however, are hard to predict as they may have multiple targets corresponding to a single indirect b...
详细信息
ISBN:
(纸本)9781424456581
History-based branch direction predictors for conditional branches are shown to be highly accurate. Indirect branches however, are hard to predict as they may have multiple targets corresponding to a single indirect branch instruction. We propose the Value Based BTB Indexing (VBBI), a correlation-based target address prediction scheme for indirect jump instructions. For each static hard-to-predict indirect jump instruction, the compiler identifies a `hint instruction', whose output value strongly correlates with the target address of the indirect jump instruction. At run time, multiple target addresses of the indirect jump instruction are stored and subsequently accessed from the BTB at different indices computed using the jump instruction PC and the hint instruction output values. In case the hint instruction has not finished its execution when the jump instruction is fetched, a second and more accurate target address prediction is made when the hint instruction output is available, thus reducing the jump misprediction penalty. We compare our design to the regular BTB design and the best previously proposed indirect jump predictor, the tagged target cache (TTC). Our evaluation shows that the VBBI scheme improves the indirect jump target prediction accuracy by 48% and 18%, compared with the baseline BTB and TTC designs, respectively. This results in average performance improvement of 16.4% over the baseline BTB scheme, and 13% improvement over the TTC predictor. Out of this performance improvement 2% is contributed by target prediction overriding which is accurate 96% of the time.
A software developer's dream is to capture the vision of an application and transform into its realization. In reality the requirement of an application is affected by the implementation platforms specifications. ...
详细信息
ISBN:
(纸本)9781424460793;9780769539829
A software developer's dream is to capture the vision of an application and transform into its realization. In reality the requirement of an application is affected by the implementation platforms specifications. But recently the popularity of upcoming technologies like MDA has facilitated the clear separation of abstraction at different layers and then generation of implementation from them. Also separation of concerns is the desired feature of software development. Clearing concerns results in better modularity in both design and implementation. Aspect orientedprogramming (AOP) is another recent technology that promises separation of concerns. This paper proposes a model driven architecture with aspect weaving for ontology modelling
This paper provides a view on the developing process of the Media Independent Information Service, later referred as MIIS, described in the IEEE 802.21 standard, which has the main functionality of providing the mobil...
详细信息
ISBN:
(纸本)9781424467242;9781424467228
This paper provides a view on the developing process of the Media Independent Information Service, later referred as MIIS, described in the IEEE 802.21 standard, which has the main functionality of providing the mobile terminal information about all access points in his coverage area. Our approach is towards the management of the entire mechanism of delivering data to the device, that is realized at a central location. The first chapter describes related work on IEEE 802.21 standard, and it-s linkage with the MIIS entity. The following chapters present the general architecture of the system, important aspects of implementation, the used technologies and also a set of research directions. The final section presents a performance evaluation, giving us a clue about the system's real functioning and serving capabilities.
This paper describes the evolution of recursive functions within an object-oriented Genetic programming (OOGP) system. We evolved general solutions to factorial, Fibonacci, exponentiation, even-n-Parity, and nth-3. We...
详细信息
ISBN:
(数字)9783540331445
ISBN:
(纸本)3540331433
This paper describes the evolution of recursive functions within an object-oriented Genetic programming (OOGP) system. We evolved general solutions to factorial, Fibonacci, exponentiation, even-n-Parity, and nth-3. We report the computational effort required to evolve these methods and provide a comparison between crossover and mutation variation operators, and also undirected random search. We found that the evolutionary algorithms performed much better than undirected random search, and thats mutation outperformed crossover on most problems.
In this chapter, we present algebraic laws for a language similar to a subset of sequential Java that includes inheritance, recursive classes, dynamic binding, access control, type tests and casts, assignment, but no ...
详细信息
ISBN:
(纸本)3540462538
In this chapter, we present algebraic laws for a language similar to a subset of sequential Java that includes inheritance, recursive classes, dynamic binding, access control, type tests and casts, assignment, but no sharing. We show that these laws are complete, in the sense that they are sufficient to reduce any program to a normal form substantially close to an imperative program: classes and inheritance are used only to preserve the notion of subtyping;all classes have empty bodies, except the object class, which collects all the attributes moved up from all its subclasses. Methods are also eliminated by first resolving dynamic binding, and then in-lining their bodies in place of the calls. This suggests that our laws are expressive enough to formally derive behaviour preserving program transformations;this is illustrated through the derivation of refactorings. We present the motivation for our work in Section 1. In Section 2, we give an overview of the subset of Java that we consider. After that, in Section 3, we present the algebraic laws of our language, concentrating on its object-oriented features. Completeness of our set of laws is considered in Section 4, where we present the normal form and a reduction strategy. In Section 5 we show how the presented laws can serve as a basis for proving refactorings. Section 6 summarises our results, briefly discusses soundness of the laws, considers the impact of reference semantics, relates our results with work involving concurrency, and suggests topics for further research.
Due to the prominent improvements in the present software engineering, conversion from one programming language to another programming language becomes important task of the industry. Industrial survey shows that majo...
详细信息
ISBN:
(纸本)9781424464883;9781424464906
Due to the prominent improvements in the present software engineering, conversion from one programming language to another programming language becomes important task of the industry. Industrial survey shows that major components of development cost of all software goes to maintaining and updating the system software or application package for meeting the current scenario and / or user's satisfaction. In this paper, proposed a Software Development tool (SDT) called `Legacy Code Conversion Kit (LCCK)' for conversion of one object oriented programming language (Source Language) to another object oriented programming language (Destination Language). Design Rationale to Source Graph (DR-SG) is our proposed model that formed a graph from Design Pattern documentation and linked to a source code base. The DR-SG allows developers to trace design concepts through design documentation. This proposed work, completely and confidently satisfying high-level design goals when performing software change tasks. The result of our implementation, from C++ to Java conversion is shown in the chapters.
Exposing students to the process of programming is merely implied but not explicitly addressed in texts on programming which appear to deal with 'program' as a noun rather than as a *** present a set of princi...
详细信息
ISBN:
(纸本)159593491X
Exposing students to the process of programming is merely implied but not explicitly addressed in texts on programming which appear to deal with 'program' as a noun rather than as a *** present a set of principles and techniques as well as an informal but systematic process of decomposing a programming problem. Two examples are used to demonstrate the application of process and *** process is a carefully down-scaled version of a full and rich software engineering process particularly suited for novices learning object-orientedprogramming. In using it, we hope to achieve two things: to help novice programmers learn faster and better while at the same time laying the foundation for a more thorough treatment of the aspects of software engineering.
Java is widely applied in mobile devices and network applications due to its object-oriented features and corresponding advantages such as security, robustness, platform independence. However, almost all the current J...
详细信息
We propose union types for statically typed class-based object-oriented languages as a means to enhance the flexibility of subtyping. As its name suggests, a union type can be considered a set union of instances of se...
详细信息
ISBN:
(纸本)1595931082
We propose union types for statically typed class-based object-oriented languages as a means to enhance the flexibility of subtyping. As its name suggests, a union type can be considered a set union of instances of several types and behaves as their least common supertype. It also plays the role of an interface that 'factors out' commonality of given types-fields of the same name and methods with similar signatures. Union types can be useful for implementing heterogeneous collections and for grouping independently developed classes with similar interfaces, which has been considered difficult in languages like Java. To rigorously show the safety of union types, we formalize them on top of Featherweight Java and prove that the type system is sound. Copyright 2006 ACM.
Many modern object-oriented languages do not incorporate exception handling into the object model. Specifically, no provision is made to involve the object responsible for raising an exception in the catching mechanis...
详细信息
暂无评论