Abstract
A software configurable processor (SCP) is a hybrid device that couples a conventional processor datapath with programmable logic to allow application programs to dynamically customize the instruction set. SCP architectures can offer significant performance gains by exploiting data parallelism, operator specialization and deep pipelines. The S5000 is a family of high performance software configurable processors for embedded applications. The S5000 consists of a conventional 32-bit RISC processor coupled with a programmable Instruction Set Extension Fabric (ISEF). To develop an application for the S5 the programmer identifies critical sections to be accelerated, writes one or more extension instructions as functions in a variant of the C programming language, and accesses those functions from the application program. Performance gains of more than an order of magnitude over the unaccelerated processor can be achieved.
Similar content being viewed by others
References
G. Estrin, “Organization of Computer Systems: The Fixed-Plus Variable Structure Computer,” in Proc. Western Joint Computer Conf., Am. Inst. Electrical Engineers, New York, 1960, pp. 33–40.
C. G. Bell, J. C. Mudge, and J. E. McNamara, Computer Engineering, Digital, 1978.
R. E. Gonzalez, “Xtensa: A Configurable and Extensible Processor,” IEEE MICRO, vol. 20, no. 2, 2000, pp. 60–70 March/April.
P. M. Athanas and H. F. Silverman, “Processor Reconfiguration through Instruction Set Metamorphosis: Architecture and Compiler,” Computer, vol. 26, no. 3, 1993, pp. 11–18, March.
D. A. Buell, J. M. Arnold, and W. J. Kleinfelder, Splash 2 FPGAs in a Custom Computing Machine, IEEE Computer Society, Los Alamitos, CA, 1996, pp. 171–176.
R. Razdan and M. J. Smith, “A High-performance Microarchitecture with Hardware-Programmable Functional Units,” in International Symposium on Microarchitecture, ACM Press, San Jose, CA, 1994, pp. 172–180.
R. D. Wittig and P. Chow, “OneChip: An FPGA Processor with Reconfigurable Logic,” in IEEE Symposium on FPGAs for Custom Computing Machines, CS, Napa, CA, 1996, pp. 126–135.
Z. A. Ye, A. Moshovos, S. Hauck, and P. Bannerjee, “CHIMAERA: A High-performance Architecture with a Tightly-Coupled Reconfigurable Function Unit,” in International Symposium on Computer Architecture, 2000, pp. 225–235.
J. Cong, Y. Fan, G. Han, and Z. Zhang, “Application-Specific Instruction Generation for Configurable Processor Architectures,” in International Symposium on Field-Programmable Gate Arrays, ACM, Monterey, CA, 2004, pp. 183–189.
J. Becker and A. Thomas, “Scalable Processor Instruction Set Extension,” IEEE Des. Test Comput., vol. 22, no. 2, 2005, pp. 136–148, March/April.
C. R. Rupp, M. Landguth, T. Garverick, E. Gomersall, H. Holt, J. M. Arnold, and M. Gokhale, “The NAPA Adaptive Processing Architecture,” in IEEE Symposium on FPGAs for Custom Computing Machines, CS, Napa, CA, 1998, pp. 28–37.
J. Hauser and J. Wawrzynek, “Garp: A MIPS Processor with a Reconfigurable Coprocessor,” in IEEE Symposium on FPGAs for Custom Computing Machines, CS, Napa, CA, 1997, pp. 12–21.
M. Borgatti, F. Lertora, B. Foret, and L. Cali, “A Reconfigurable System Featuring Dynamically Extensible Embedded Microprocessor, FPGA, and Customizable I/O,” IEEE J. Solid-State Circuits, vol. 38, no. 3, 2003, pp. 521–529 March.
Tensilica, Inc., http://www.tensilica.com.
Embedded Microprocessor Benchmark Consortium, http://www.eembc.org.
Acknowledgements
The S5 architecture is the product of the efforts of many people. I would especially like to thank the rest of the Stretch Architecture team: Gary Banta, Ricardo Gonzalez, Scott Johnson, Charle’ Rupp, Albert Wang, and Mark Williams.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Arnold, J.M. The Architecture and Development Flow of the S5 Software Configurable Processor. J VLSI Sign Process Syst Sign Image Video Technol 47, 3–14 (2007). https://doi.org/10.1007/s11265-006-0012-y
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-006-0012-y