Workshop on Computer Architecture Education Sunday, June 5, 2005
Total Page:16
File Type:pdf, Size:1020Kb
Workshop on Computer Architecture Education Sunday, June 5, 2005 Program Committee Additional Reviewers Ed Gehringer, North Carolina State U. Jeff Jackson, Univ. of Alabama Kenny Ricks, Univ. of Alabama William Stapleton, Univ. of Alabama Jim Conrad, UNC–Charlotte Session 1. Welcome and Keynote, 8:30–9:35 8:30 Welcome, Edward F. Gehringer, workshop organizer & Kenny Ricks, organizer of special session 8:35 Keynote, “Embedded computer architectures in the MPSoC age,” Wayne Wolf, Princeton Univ .... 2 Session 2. Special Session on Embedded Systems 1, 9:35–10:30 Introduction to Special Session, Kenneth Ricks ................................................................................. 5 9:35 “Embedded systems courses at RIT,” Roy S. Czernikowski and James R. Vallino, Rochester Institute of Technology ....................................................................................................................... 6 10:00 “Experiences with the Blackfin architecture for embedded systems education,” Diana Franklin and John Seng, California Polytechnic State University – San Luis Obispo ........................................... 13 10:15 Discussion Break 10:30–11:00 Session 3. Panel on Teaching Embedded Systems 11:00–12:30 Alex Dean, North Carolina State University Yann-Hang Lee, Arizona State University Kenneth Ricks, University of Alabama Wayne Wolf, Princeton University Lunch 12:30–1:45 Session 4. Regular Papers 1:45–3:30 1:45 “SPIMbot: An engaging, problem-based approach to teaching assembly language programming,” Craig Zilles, University of Illinois .................................................................................................... 20 2:10 “QUILT: A GUI-based integrated circuit floorplanning enviroment for computer architecture research and education,” Gregory J. Briggs, Edwin J. Tan, Nicholas A. Nelson, University of Rochester, and David H. Albonesi, Cornell University..................................................................... 26 2:30 “The ‘Little Man Storage’ model,” Larry Brumbaugh and William Yurcik, National Center for Supercomputing Applications, University of Illinois ........................................................................ 32 2:50 “An emulated computer with assembler for teaching undergraduate computer architecture.” Timothy D. Stanley and Mu Wang, Brigham Young University – Hawaii ...................................... 38 3:10 Discussion Break 3:30–4:00 Session 5. Special Session on Embedded Systems 1I 4:00–5:15 4:00 “An embedded systems course and course sequence,” Kenneth G. Ricks, William A. Stapleton, and D. Jeff Jackson, University of Alabama ..................................................................................... 46 4:25 “Hardware/software co-design of embedded real-time systems from an undergraduate perspective,” Kevin C. Kassner, Dynetics Corp. and Kenneth G. Ricks, University of Alabama .... 53 4:45 “Teaching microprocessor systems desing using a SoC and embedded Linux platform,” Yann- Hang Lee and Aung Oo, Arizona State University ........................................................................... 60 5:00 Discussion Embedded Computer Architectures in the MPSoC Age Wayne Wolf Dept. of Electrical Engineering Princeton University [email protected] 1. Introduction Systems-on-chips are generally adapted to the application to meet performance, power, and cost Embedded computers are no longer used as goals. Although modern VLSI fabrication technology simple controllers. Instead, high-performance provides us with very large chips, applications keep embedded processors perform complex algorithms and getting larger. Some markets are large enough that are linked together to form multiprocessors. Embedded specialized architectures are inevitable and desirable. computing provides students different take on Multiprocessor systems-on-chips try to balance computer system design because of the requirements specialization and programmability. Programmable imposed on these systems: processors allow the SoC to be programmed after fabrication; MPSoCs are often referred to as platforms • Embedded computing systems generally require because they allow for many implementations of a real-time performance. Real-time and average- given type of system. Programmability offers many time performance are very different animals. advantages: the same chip can be used in several • Battery-powered embedded systems must meet products, reducing product cost; design tasks can be very stringent energy requirements [Aus04]. compartmentalized; and the platform chip may have a • Although the software in embedded systems can longer shelf life than a highly specialized SoC. be changed to optimize the overall system, the Because these are systems-on-chips, they generally software must also meet the specifications of the aren’t traditional symmetric multiprocessors. They may application. use hardwired function units in addition to As such, an architecturally-oriented embedded programmable processors. They may use several systems class emphasizes somewhat different concepts different instruction sets. They may have non-uniform than a traditional, general-purpose computer architect- memory spaces supported by asymmetric networks. ure class. An embedded computing architecture class Many multiprocessor systems-on-chips are must use a methodology to help students quickly get now available for several types of applications: their hands around an unfamiliar application. They • Mobile multimedia requires both high must explore a broad range of architectures. They performance and low energy consumption. should also explore trade-offs between architectural The ST Nomadik and TI OMAP architectures modifications and software modifications to meet are MPSoCs that provide specialized architec- system goals. tures for audio, video, and communications. Distributed embedded systems, which are built • Home multimedia is not as tightly constrained from networks of embedded processors, are also on power as mobile multimedia but requires widely deployed. This paper will concentrate, however, very high performance for applications like on systems-on-chips. HDTV. The Philips Nexperia architecture is a well-known MPSoC for set-top box applica- 1. Multiprocessor Systems-on-Chips tions. • Networking requires very high performance Multiprocessor systems-on-chips (MPSoCs) and provides some opportunities for [Jer04] are, first of all, systems-on-chips. They specialized parallelism. Network processors implement complete applications on a single chip. from Intel, Cisco, and others use hetero- (Although as Rich Page points out, most systems-on- geneous architectures to process packets at chips are marketing single-chip solutions---they use high rates. one chip plus all the other chips that you need to make the SoC work.) MPSoCs are systems-on-chips that include one or more programmable processors. Page 2 Workshop on Computer Architecture Education June 5, 2005 3. Architectural Challenges • Networking, either through Internet or specialized protocols. Embedded computing and MPSoCs make for a full • Digital rights management. employment act for computer architects. We are in no • File systems that are compatible with PC file danger of running out of applications that can make use systems. of large amounts of computing power and that can This wide range of functions arguably calls for a support the design effort required to create an efficient general-purpose processor; on the other hand, some of application-specific platform. Several specific these functions may call for application-specific challenges flow out of our continuing need to design hardware to meet performance/power goals. We do not MPSoCs. yet fully understand the architectural implications of Configurable processors, such as those provided the networked consumer device. by Tensilica, allow the SoC designer a convenient way Overall, methodology is an important aspect of of quickly building processors with customized embedded system design that does not often come into instruction sets. One area in which designers need help play in general-purpose systems [Wol00]. Because is figuring out which instruction set extensions should embedded system designers need to design many actually be implemented. Another important goal is systems and do so in a predictable amount of time with figuring out how to connecting configurable processors a predictable number of people, they need to develop into multiprocessor networks. methodologies that allow them to repeatably make Hardware/software co-design [DeM01] is another reasonable decisions in new design domains. Giving way to increase system performance for a particular students an insight into the design process can be as application. Accelerators, when properly designed, can important as showing them specific design outcomes. significantly and efficiently increase performance. However, the application must be carefully analyzed to 4. Benchmarks be sure that an accelerator actually improves overall performance. Benchmarks are at least important in embedded Heterogeneous multiprocessors for embedded computing as they are in general-purpose computing. applications generally implement pipelines of When you are designing an application-specific processes. Our own smart camera system [Oze05] is an system, the wrong choice of a benchmark program or example of a pipelineable application. The smart input data for that program can lead to fatal camera processes video in real time, using a number of misjudgments. distinct