Abstract
We have developed an environment which allows us to collect data for performance analysis by modifying the microcode of a VAX 8600. This use of microprogramming permits data to be collected with minimal system perturbation (i.e. the data is almost as good as that obtained with a hardware monitor) but at the cost and with the ease of use of a software simulator. In this paper we describe the environment that we have developed and present two examples of its use. The first example, procedure call instrumentation, illustrates a technique for gathering data on how certain architectural features are used. The second example, instruction tracing, illustrates a technique for collecting data that can then be used in trace—driven simulation.
- 1 Anant Agarwal, Richard L. Sites, and Mark Horowitz, "ATUM: A New Technique for Capturing Address Traces Using Microcode," Proceedings of the 13th Annual International Symposium on Computer Architecture, June 2-5, 1986, pp. 119127. Google Scholar
Digital Library
- 2 W. Gregg Alexander, and David B. Wortman, "Static and Dynamic Characteristics of XPL Programs," Computer, Vol. 8, No. 11, November, 1975, pp. 41-46.Google Scholar
Digital Library
- 3 C. Edward Armbruster Jr., "A Microcoded Tool to Sample the Software Instruction Address," Proceedings of the 12tb Annual Workshop on Microprogramming, 1979, pp. 68-72. Google Scholar
Digital Library
- 4 G. Chroust, A. Kreuzer, and K. Stadler, "A Microprogrammed Page Fault Monitor," Microprocessing and Microprogramming, Vol. 8, 1981, pp. 247-256.Google Scholar
Cross Ref
- 5 Douglas W. Clark, and Henry M. Levy, "Measurement and Analysis of Instruction Use in the VAX-l l/780," Proceedings of The 9th Annual Symposium on Computer Architecture, April 26-29, 1982, pp. Q-17. Google Scholar
Digital Library
- 6 Caxton C. Foster, Robert H. Gonter, and Edward M. Riseman, "Measure9 of Op-Code Utilization," IEEE Transactions on Computem, Vol. C-20, No. 5, May, 1971, pp. 582-584.Google Scholar
- 7 Wolfgang Grlitsch, and Horst KLtner, "Firmware Monitoring - History and Perpsective," Microprocessing and Microprogramming, Vol. 8, 1981, pp. 237-246.Google Scholar
Cross Ref
- 8 L. A. Halbach, "Microprogrammed Tracing Method," IBM Technical Disclosure Bulletin, Vol. 14, December, 1971, pp. 2164-2165.Google Scholar
- 9 Makoto Kobayashi, "Dynamic Profile of Instruction Sequences for the IBM system/360," IEEE Transactions on Computers, Vol. C-32, No. 9, September, 1983, pp. 854-861.Google Scholar
- 10 Amund Lunde, "Empirical Evaluation of Some Features of Instruction Set Processer Architectures," Communications of the ACM, Vol. 20, No. 3, March 1977, pp 143-153. Google Scholar
Digital Library
- 11 Richard L. Sites, personal communication.Google Scholar
- 12 Reinhold P. Weicker, "DHRYSTONE: A Synthetic Systems Programming Benchmark," Communications of the ACM, Vol. 27, No. 10, October, 1984, pp. 1013-1030. Google Scholar
Digital Library
- 13 B. A. Wichmann, "Ackermann's Function: A Study in the Efficiency of Calling Procedures," BIT, Vol. 16, 1976, pp. 193-110.Google Scholar
Cross Ref
- 14 VAX Architecture Handbook, Digital Equipment Corporation, 1981.Google Scholar
Index Terms
A microcode-based environment for noninvasive performance analysis
Recommendations
A microcode-based environment for noninvasive performance analysis
MICRO 19: Proceedings of the 19th annual workshop on MicroprogrammingWe have developed an environment which allows us to collect data for performance analysis by modifying the microcode of a VAX 8600. This use of microprogramming permits data to be collected with minimal system perturbation (i.e. the data is almost as ...
Experiments in Automatic Microcode Generation
A procedure is described which permits applications problems coded in a higher level language to be compiled to microcode for horizontally microprogrammed processors. An experimental language has been designed which is suitable for expressing ...
An Exploratory Analysis of Microcode as a Building Block for System Defenses
CCS '18: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications SecurityMicrocode is an abstraction layer used by modern x86 processors that interprets user-visible CISC instructions to hardware-internal RISC instructions. The capability to update x86 microcode enables a vendor to modify CPU behavior in-field, and thus ...






Comments