Department of Computer Science and Technology

Technical reports

A methodology for automated design of computer instruction sets

Jeremy Peter Bennett

March 1988, 147 pages

This technical report is based on a dissertation submitted January 1987 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Emmanuel College.

DOI: 10.48456/tr-129


With semiconductor technology providing scope for increasingly complex computer architectures, there is a need more than ever to rationalise the methodology behind computer design. In the 1970’s, byte stream architectures offered a rationalisation of computer design well suited to microcoded hardware. In the 1980’s, RISC technology has emerged to simplify computer design and permit full advantage to be taken of very large scale integration. However, such approaches achieve their aims by simplifying the problem to a level where it is within the comprehension of a simple human being. Such an effort is not sufficient. There is a need to provide a methodology that takes the burden of design detail away from the human designer, leaving him free to cope with the underlying principles involved.

In this dissertation I present a methodology for the design of computer instruction sets that is capable of automation in large part, removing the drudgery of individual instruction selection. The methodology does not remove the need for the designer’s skill, but rather allows precise refinement of his ideas to obtain an optimal instruction set.

In developing this methodology a number of pieces of software have been designed and implemented. Compilers have been written to generate trial instruction sets. An instruction set generator program has been written and the instruction set it proposes evaluated. Finally a prototype language for instruction set design has been devised and implemented.

Full text

PDF (5.8 MB)

BibTeX record

  author =	 {Bennett, Jeremy Peter},
  title = 	 {{A methodology for automated design of computer instruction
  year = 	 1988,
  month = 	 mar,
  url = 	 {},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-129},
  number = 	 {UCAM-CL-TR-129}