Dynamic control structures and their use in emulation

This thesis describes an architecture for a parallel microcomputer system that permits a systematic and flexible approach to the emulation of a wide variety of complex sequential and parallel intermediate machine languages in a dynamically varying Processor-Memory-Switch (PKS) environment. This architecture is based on the view that complex emulators can be best structured in terms of a set of microprocessors that interact in a highly structure manner. These highly structured interaction patterns are defined through the concept of a virtual PMS environment. This concept embodies the capability for reconfiguring both the internal and the external environment of a microcomputer system: the number of internal working registers of each microprocessor; the structure of memory, e.g., its size and word length; and the number of microprocessors and functional units, and their interconnection and interaction patterns. The virtual PMS is implemented in the microcomputer architecture by adding a new global level of hardware control. A particular virtual PMS is dynamically defined by modifying the syntax (i.e., the number of data elements and their relationship) of the data structure for control used by this global hardware control level. The representational capabilities of this architecture have been examined through the microprogramming of an emulator for a sophisticated parallel machine language, Adams’ Graph Machine Language. The emulator of this machine language has demonstrated the versatility and usefulness of the concept of a virtual PMS by requiring less than 600 64-bit microinstructions to be programmed, while at the same time being able to exploit fully the implicit parallelism of a graph machine program. In addition, the dynamic execution characteristics of this architecture have been studied through the use of a detailed simulator of a hardware organization for this microcomputer architecture. The simulator has been used to verify quantitatively that this organization permits parallel activity on the virtual PMS to be mapped without significant overhead onto the physical PMS. In particular, the simulation results indicate that where sufficient parallel activity exists, the addition of microprocessors to the PMS configuration will reduce in a linear way the time it takes to execute the computation. The simulation results have also indicated that the logical hardware design, with the appropriate PMS configuration, can efficiently handle sustained parallel activity, involving highly structured interaction patterns, of greater than sixteen microprocessors. . . . 111

[1]  Stanley E. Lass,et al.  A fourth-generation computer organization , 1899, AFIPS Spring Joint Computing Conference.

[2]  James P. Anderson,et al.  D825- a Multiple-Computer System for Command and Control , 1899 .

[3]  Philip S. Abrams,et al.  An APL machine , 1970 .

[4]  Victor R. Lesser An Introduction to the Direct Emulation of Control Structures by a Parallel Microcomputer , 1971, IEEE Transactions on Computers.

[5]  Michael J. Flynn,et al.  Microprogramming: An Introduction and a Viewpoint , 1971, IEEE Transactions on Computers.

[6]  Donald E. Knuth The art of computer programming: fundamental algorithms , 1969 .

[7]  R. Karp,et al.  Properties of a model for parallel computations: determinacy , 1966 .

[8]  Victor Lesser,et al.  A multi-level computer organization designed to separate data-accessing from the computation , 1968 .

[9]  M. Lehman,et al.  A survey of problems and preliminary results concerning parallel processing and parallel processors , 1966 .

[10]  Donald E. Knuth,et al.  Additional comments on a problem in concurrent programming control , 1966, CACM.

[11]  Samir S. Husson,et al.  Microprogramming: principles and practices , 1971, SIGM.

[12]  Gordon Bell,et al.  A new architecture for mini-computers: the DEC PDP-11 , 1970, AFIPS '70 (Spring).

[13]  Victor Lesser,et al.  DIRECT EMULATION OF CONTROL STRUCTURES BY A PARALLEL MICRO-COMPUTER. , 1970 .

[14]  Butler W. Lampson,et al.  A scheduling philosophy for multiprocessing systems , 1968, CACM.

[15]  David A. Fisher,et al.  Control Mechanisms for Parallelism in Programs. , 1968 .

[16]  Donald H. Gibson Considerations in block-oriented systems design , 1967, AFIPS '67 (Spring).