42931174
Heuristic Rule-Based Program Transformations for Enhanced Vectorization
26499349
Early performance estimation of super scalar machine models
A novel methodology and software tool for estimating the performance of high-performance machine models with concurrent, pipelined execution modes are presented. Such performance assessment is typically useful at early stages of the design cycle. Critical design decisions made with the aid of early estimators of the kind discussed can be expected to yield near-optimal final designs.<<ETX>>
18281114
Performance and functional verification of microprocessors
We address the problem of verifying the correctness of pre-silicon models of a microprocessor. We touch on the latest advances in this area by considering two different aspects of the validation problem: (a) verifying the functional integrity of the model and (b) testing the model for timing accuracy at the architectural level. The latter area, that of performance verification, is of increasing importance in the design of server-class processor chips, with one or more high performance cores on a single die. We show how simulation-based test cases can be generated under a unified defect and coverage model to detect both performance and functional bugs. We present and discuss examples of such integrated validation methodologies used in real processor development projects.
2521753
A circuit level implementation of an adaptive issue queue for power-aware microprocessors
Increasing power dissipation has become a major constraint for future performance gains in the design of microproces sors In this paper we present the circuit design of an issue queue for a superscalar processor that leverages transmis sion gate insertion to provide dynamic low cost con gura bility of size and speed A novel circuit structure dynami cally gathers statistics of issue queue activity over intervals of instruction execution These statistics are then used to change the size of an issue queue organization on the y to improve issue queue energy and performance When applied to a xed full size issue queue structure the result is up to a reduction in energy dissipation The complexity of the additional circuitry to achieve this result is almost neg ligible Furthermore self timed techniques embedded in the adaptive scheme can provide a decrease in cycle time of the CAM array read of the issue queue when we change the adaptive issue queue size from entries largest possible to entries smallest possible in our design
9413783
Optimal Code Generation for Expressions on Super Scalar Machines
31462412
Performance evaluation and validation of microprocessors
The domain of early performance analysis and microarchitecture definition is limited largely to a onedimensional perspective of net performance: that of cyclesper-instnrction (CPI). Traceor execution-driven cycle-bycycle simulators [l] are the most common toolsets used at this stage. These are often coded in a systems programming language (e.g. C, C++, PWl or Pascal). They are performance-only models in that the register and memory data values and their state changes are not modelled; only the complex pipeline flow and concurrent instruction processing semantics are simulated. The goal here is to assess CPIcentric performance and bottlenecks to aid early definition, not to ensure functional integrity. Such a simulator, which we call a CPI timer; can be implemented to run at speeds greater than 50,000 instructions per second [21. This is achieved in modelling a future processor with the simulator running on a current generation uniprocessor workstation.
15757957
Every Set of Disjoint Line Segments Admits a Binary Tree
Given a set of n disjoint line segments in the plane, we show that it is always possible to form a tree with the end-points of the segments such that each line segment is an edge of the tree, the tree has no crossing edges, and the maximum vertex degree of the tree is 3. Furthermore, there exist configurations of line segments where any such tree requires at least degree 3. We provide an O(n log n) time algorithm for constructing such a tree, and show that this is optimal.
15273479
Experimental results on quadrangulations of sets of fixed points
We consider the problem of obtaining "nice" quadrangulations of planar sets of points. For many applications "nice" means that the quadrilaterals obtained are convex if possible and as "fat" or squarish as possible. For a given set of points a quadrangulation, if it exists, may not admit all its quadrilaterals to be convex. In such cases we desire that the quadrangulations have as many convex quadrangles as possible. Solving this problem optimally is not practical. Therefore we propose and experimentally investigate a heuristic approach to solve this problem by converting "nice" triangulations to the desired quadrangulations with the aid of maximum matchings computed on the dual graph of the triangulations. We report experiments on several versions of this approach and provide theoretical justification for the good results obtained with one of these methods. The results of our experiments are particularly relevant for those applications in scattered data interpolation which require quadrangulations that should stay faithful to the original data.
15081913
All Convex Polyhedra can be Clamped with Parallel Jaw Grippers
We study various classes of polyhedra that can be clamped using parallel jaw grippers. We show that all nvertex convex polyhedra can be clamped regardless of the gripper size and present an O(n + k) time algorithm to compute all positions of a polyhedron that allow a valid clamp where k is the number of antipodal pairs of features. We also observe that all terrain polyhedra and orthogonal polyhedra can be clamped and a valid clamp can be found in linear time. Finally we show that all polyhedra can be clamped with some size of gripper.
12387977
Testing the Quality of Manufactured Balls
We consider the problem of testing the roundness of a manufactured ball, using the finger probing model of Cole and Yap [4]. When the center of the object is known, a procedure requiring O(n2) probes and O(n2) computation time is described. (Here n = |1/q|, where q is the quality of the object.) When the center of the object is not known, the procedure requires O(n2) probes and O(n4) computation time. We also give lower bounds that show that the number of probes used by these procedures is optimal.
18853139
K-Guarding Polygons on the Plane
Let P be a simple polygon with n vertices. We say that P is k-guardable if it is possible to find a set of points Q consisting of interior points of edges of P such that every point of P is visible from at least k elements in Q and no edge of P has more than one element in Q. The following question was asked by A. Lubiw at the open problem session of the Fourth Canadian Conference in Computational Geometry: For what values of k, is every simple polygon k-guardable? It has been observed by T. Shermer that comb polygons [Chv75, O'R87] are not 3-guardable; such a polygon is shown in Figure 1.