Performance effects of architectural complexity in the Intel 432

The Intel 432 is noteworthy as an architecture incorporating a large amount of functionality that most other systems perform by software. It has, in effect, “migrated” this functionality from the software into the microcode and hardware. The benefits of functional migration have recently been a subject of intense controversy, with critics claiming that a complex architecture is inherently less efficient than a simple architecture with good software support. This paper examines the performance impact of the incorporation of several kinds of functionality into the Intel 432. Among these are the addressing structure, the caches, instruction alignment, the buses, and the way that garbage collection is handled. A set of several benchmarks is used to quantify the performance effect of each of these decisions. The results indicate that the 432 could have been speeded up very significantly if a small number of implementation decisions had been made differently, and if incrementally better technology had been used in its construction. Even with these modifications, however, the 432 would still have only one-fourth to one times the speed of its contemporaries. These figures may represent the real cost of the 432's style of object-based programming environment.

[1]  David A. Patterson,et al.  Reduced instruction set computers , 1985, CACM.

[2]  Ware Myers Computer Graphics: Reaching the User , 1981, Computer.

[3]  Elliott I. Organick,et al.  A programmer's view of the intel 432 system. mcgraw hill , 1983 .

[4]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[5]  Maurice V. Wilkes,et al.  The Cambridge CAP computer and its operating system (Operating and programming systems series) , 1979 .

[6]  Samuel H. Fuller,et al.  Measurement and Evaluation of Alternative Computer Architectures , 1977, Computer.

[7]  Konrad Lai,et al.  Supporting ada memory management in the iAPX-432 , 1982, ASPLOS I.

[8]  JOHN L. HENNESSY,et al.  VLSI Processor Architecture , 1984, IEEE Transactions on Computers.

[9]  Douglas W. Jones Systematic protection mechanism design , 1982, ASPLOS I.

[10]  Reinhold Weicker,et al.  Dhrystone: a synthetic systems programming benchmark , 1984, CACM.

[11]  Robert Paul Colwell The performance effects of functional migration and architectural complexity in object-oriented systems (risc) , 1985 .

[12]  Doran Wilde,et al.  The instruction decoding unit for the VLSI 432 general data processor , 1981 .

[13]  William A. Wulf Compilers and Computer Architecture , 1981, Computer.

[14]  Trevor Mudge,et al.  OBJECT-BASED COMPUTER ARCHITECTURES. , 1983 .

[15]  Glen G. Langdon,et al.  The IEEE Computer Society Model Program in Computer Science and Engineering , 1984, Computer.

[16]  Marvin V. Zelkowitz,et al.  Programming Languages: Design and Implementation , 1975 .

[17]  Anita K. Jones The Object Model: A Conceptual Tool for Structuring Software , 1978, Operating Systems.

[18]  Norman P. Jouppi,et al.  Hardware/software tradeoffs for increased performance , 1982, ASPLOS I.

[19]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[20]  Henry M. Levy,et al.  Capability-Based Computer Systems , 1984 .

[21]  Dave Johnson,et al.  The Intel 432: A VLSI Architecture for Fault-Tolerant Computer Systems , 1984, Computer.

[22]  William A. Wulf,et al.  HYDRA/C.Mmp, An Experimental Computer System , 1981 .

[23]  Terry A. Welch An investigation of descriptor oriented architecture , 1976, ISCA.

[24]  Robert P. Colwell,et al.  Fast Object-Oriented Procedure Calls: Lessons from the Intel 432 , 1986, ISCA.

[25]  David A. Patterson,et al.  A performance evaluation of the Intel iAPX 432 , 1982, CARN.

[26]  Doran Wilde,et al.  The interface processor for the Intel VLSI 432 32-bit computer , 1981 .

[27]  Elliott Irving Organick,et al.  Interpreting machines: Architecture and programming of the B1700/B1800 series (Operating and programming systems series) , 1978 .

[28]  Dwight D. Hill,et al.  An analysis of C machine support for other block-structured languages , 1983, CARN.

[29]  Konrad Lai,et al.  Interprocess communication and processor dispatching on the Intel 432 , 1983, TOCS.

[30]  Douglas W. Clark,et al.  Performance of the VAX-11/780 translation buffer: simulation and measurement , 1985, TOCS.

[31]  Bruce R. Schatz,et al.  An Overview of the Production-Quality Compiler-Compiler Project , 1980, Computer.

[32]  David A. Patterson,et al.  Retrospective on High-Level Language Computer Architecture , 1980, ISCA.

[33]  Douglas W. Clark,et al.  Cache Performance in the VAX-11/780 , 1983, TOCS.

[34]  Robert S. Fabry,et al.  Capability-based addressing , 1974, CACM.