Abstract

Multi-threaded node architectures have been proposed as a promising means to tolerate latency of memory accesses in a multiprocessor system. In this paper, we propose a novel organization of high-speed memories, known as the register-cache, for a multi-threaded architecture. As the term suggests, it is organized both as a register file and a cache. Viewed from the execution unit, its contents are addressable as ordinary CPU registers using relatively short addresses. From the main memory perspective, it is content addressable, i.e. its contents are tagged just as in conventional caches. In this register-cache organization, a number of registers are grouped into a block of registers where a register in a block is accessed using an offset from the address of the block, an offset value which is embedded in the compiler generated code. The binding of register block locations to register-cache line addresses is adaptively performed at runtime, thus resulting in a dynamically allocated register file. In this execution model, a program is compiled into a number of instruction threads called super-actors. A super-actor becomes ready for execution only when its input data are physically residing in the register-cache and space is reserved in the register-cache to store its result. Therefore, the execution unit will never stall or ‘freeze’ when accessing instruction or data. Another advantage is that since registers are dynamically assigned at runtime, register allocation difficulties at compile-time, e.g. allocating registers for subscripted variables of large arrays, can be avoided. Architectural support for overlapping executions of super-actors and main memory operations are provided so that the available concurrency in the underlying machine can be better utilized. The preliminary simulation results seem to be very encouraging: with software pipelined loops, a register-cache of moderate size can keep the execution unit usefully busy.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call