Abstract
The most successful programmable component on silicon is the microprocessor. Fueled by a well-balanced mix of efficient implementations, flexibility, and tool support, microprocessors have grown into a key component for electronic design. This chapter reviews the major features of microprocessor architectures, and in particular of RISC (Reduced Instruction Set Computer) processors. The topic of microprocessors is a very broad one; entire books are devoted to its discussion. The objectives of this chapter are more modest. Our objective is to get insight into the relation between a C program and the execution of that C program on a microprocessor. This will help us to understand the cost of the C program in terms of memory footprint and execution time. Later chapters build on this insight to discuss the detailed interaction of C programs with custom-hardware modules. The chapter covers four different aspects of C program execution on RISC processors. First, we will discuss the major architecture elements of a RISC processor and their role in C program execution. Second, we will discuss the path from C programs to assembly programs to machine instructions. Third, we will discuss the runtime organization of a C program at the level of the machine. And finally, we will discuss techniques to evaluate the quality of generated assembly code, and thus evaluate the quality of the C compiler. Much more can be said on microprocessors besides these points; the reader can find additional suggestions in the Further Reading section at the end of this chapter.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Aeroflex G (2009) Leon-3/grlib intellectual property cores. Tech. rep., http://www.gaisler.com
Committee T (1995) Tool interface standard executable and linkable format (elf) specification, version 1.2. Tech. rep., http://refspecs.freestandards.org/elf/elf.pdf
Hennessy JL, Patterson DA (2006) Computer Architecture: A Quantitative Approach, 4th Edition. Morgan Kaufmann
Qin W, Malik S (2003) Flexible and formal modeling of microprocessors with application to retargetable simulation. In: DATE ’03: Proceedings of the conference on Design, Automation and Test in Europe, p 10556
Xilinx I (2009) Picoblaze for extended spartan-3a family, virtex-4, virtex-ii, and virtex-ii pro fpgas. Tech. rep., http://www.xilinx.com/products/ipcenter/picoblaze-S3-V2-Pro.htm
Yaghmour K, Masters J, Ben-Yossef G, Gerum P (2008) Building Embedded Linux Systems, 2nd Edition. O’Reilly Media, Inc.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2010 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Schaumont, P.R. (2010). General-Purpose Embedded Cores. In: A Practical Introduction to Hardware/Software Codesign. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-6000-9_6
Download citation
DOI: https://doi.org/10.1007/978-1-4419-6000-9_6
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-5999-7
Online ISBN: 978-1-4419-6000-9
eBook Packages: EngineeringEngineering (R0)