Sign up for our free
Industry eNewsletters
Latest question:
How do you think the new GigE standards will influence the machine vision industry?
Respond or ask your question now!









By David B. Pointer
SRC Computers
SRC Computers (Colorado Springs, Colo.) has developed a new hardware architecture and programming environment that deliver orders of magnitude more performance per processor than current high-performance microprocessors. This new architecture is called the IMPLICIT+EXPLICIT™ Architecture. Systems built with this architecture execute the user’s code, written in ANSI standard high-level languages such as C or Fortran, on a mixture of tightly coupled implicitly controlled microprocessors and explicitly controlled reconfigurable MAP processors. This allows the programmer to utilize both implicitly controlled functions, such as running a standard Linux operating system and executing legacy codes, as well as the explicitly controlled features such as the use of application specific data prefetch, data access, and functional units. This architecture is applicable to systems ranging in size from handheld devices to large multi-rack systems.
The fundamental IMPLICIT+EXPLICIT Architecture is shown in Figure 1. In this architecture, the explicit and implicit processors are peers with respect to their ability to access system memory contents. In this fashion, overhead associated with having both types of processors working together on the same program is minimized. This allows the programmer to utilize whichever processor type is best for a given portion of the overall application without concern for control handoff penalties.
In this architecture, Dense Logic Devices (DLDs) encompass a family of components that includes microprocessors, digital signal processors, and some ASICs. These processing elements are all implicitly controlled and typically are made up of fixed logic that is not altered by the user. These devices execute software-directed instructions on a step-by-step basis in fixed logic having predetermined interconnections and functionality. On the other hand, Direct Execution Logic is a family of components that is explicitly controlled and is typically reconfigurable. This includes Field Programmable Gate Arrays (FPGAs), Field Programmable Object Arrays (FPOAs) and Complex Programmable Logic Devices (CPLDs). These devices allow the programmer to establish an optimized configuration of functional units to implement desired computational, prefetch and/or data access functionality for maximizing the parallelism inherent in the particular code. The SRC implementation of a Direct Execution Logic processor is the MAP® processor.
Both DLD and DEL-based processing elements are interconnected as peers to a shared system memory in one fashion or another. It is not required that interconnects support cache coherency since data sharing can be implemented in an explicit fashion.
Computation in the MAP processor uses dynamic logic, which conforms to the application rather than forcing the application into a fixed microprocessor architecture where one size must fit all. This delivers the most efficient circuitry for any particular code in terms of the precision of the functional units and the parallelism that can be found in the code. The result is a dynamic application-specific processor that can evolve along with a given code and can be reprogrammed in a fraction of a second to handle different portions of the code. The MAP processor combines performance of a special purpose computer and the economy of a general-purpose machine.