Dept. of Computer Science and Engineering
Oregon Graduate Center
The G-Machine is an abstract architecture that supports languages with graph computing models by utilizing software technologies to provide efficient graph manipulation on sequential machines. Graph computing models are different than those for standard imperative languages, and support for graph manipulation is generally lacking on machines designed for standard imperative languages. The architecture is stack-based and manipulates graphs via pointers, a pointer stack, and tagged memories. The tags and pointer stack also help provide an effective method of performing "lazy" evaluation, a computing technique that allows for execution of many complex algorithms. In this thesis, the abstract G-Machine Architecture has been redefined to provide a co-processor implementation. The heart of the G-Machine co-processor is the Program Execution Unit (PCU), a conceptually simple processor which can be implemented in a variety of ways. A design for the PCU is shown that is simple to build and program, utilizes existing technology, and provides complete support for the abstract G-Machine architecture.
Vireday, Richard Pierre, "Bit-sliced design of a graph reduction processor" (1986). Scholar Archive. 224.