Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

A Practical Introduction to Computer Architecture

A Practical Introduction to Computer Architecture It is a great pleasure to write a preface to this book. In my view, the content is unique in that it blends traditional teaching approaches with the use of mathematics and a mainstream Hardware Design Language (HDL) as formalisms to describe key concepts. The book keeps the “machine” separate from the “application” by strictly following a bottom-up approach: it starts with transistors and logic gates and only introduces assembly language programs once their execution by a processor is clearly de ned. Using a HDL, Verilog in this case, rather than static circuit diagrams is a big deviation from traditional books on computer architecture. Static circuit diagrams cannot be explored in a hands-on way like the corresponding Verilog model can. In order to understand why I consider this shift so important, one must consider how computer architecture, a subject that has been studied for more than 50 years, has evolved. In the pioneering days computers were constructed by hand. An entire computer could (just about) be described by drawing a circuit diagram. Initially, such d- grams consisted mostly of analogue components before later moving toward d- ital logic gates. The advent of digital electronics led to more complex cells, such as half-adders, ip- ops, and decoders being recognised as useful building blocks.; This book’s unique approach encourages readers to derive their own conclusions via experimentation, enabling them to discover for themselves the fundamental and exciting topics of computer architecture. Each chapter concludes with a set of example problems. ; It is a great pleasure to write a preface to this book. In my view, the content is unique in that it blends traditional teaching approaches with the use of mathematics and a mainstream Hardware Design Language (HDL) as formalisms to describe key concepts. The book keeps the “machine” separate from the “application” by strictly following a bottom-up approach: it starts with transistors and logic gates and only introduces assembly language programs once their execution by a processor is clearly de ned. Using a HDL, Verilog in this case, rather than static circuit diagrams is a big deviation from traditional books on computer architecture. Static circuit diagrams cannot be explored in a hands-on way like the corresponding Verilog model can. In order to understand why I consider this shift so important, one must consider how computer architecture, a subject that has been studied for more than 50 years, has evolved. In the pioneering days computers were constructed by hand. An entire computer could (just about) be described by drawing a circuit diagram. Initially, such d- grams consisted mostly of analogue components before later moving toward d- ital logic gates. The advent of digital electronics led to more complex cells, such as half-adders, ip- ops, and decoders being recognised as useful building blocks.; Tools and Techniques.- Mathematical Preliminaries.- Basics of Digital Logic.- Hardware Design Using Verilog.- Processor Design.- A Historical and Functional Perspective.- Basic Processor Design.- Measuring Performance.- Arithmetic and Logic.- Memory and Storage.- Advanced Processor Design.- The Hardware/Software Interface.- Linkers and Assemblers.- Compilers.- Operating Systems.- Efficient Programming.- Appendices.- SPIM: A MIPS32 Simulator.; From the reviews: "The first impression is that the book tries to cover all aspects of computer design. … To summarize, the book lives up to its title. It is a practical and interesting introduction to computer architecture. … It is a good reference book that could be used as a guide in a computer architecture curriculum." (Javier Castillo, ACM Computing Reviews, August, 2009) “Page … has tried to include ‘topics every computer science student should have at least a basic grasp of.’ … The book is clearly written and technically accurate. The exercises are good, with extensive solutions provided. The volume admirably serves its goal of offering a comprehensive introduction to computer science. Summing Up: Highly recommended. Lower- and upper-division undergraduates, two-year technical program students, research/faculty, practitioners, and general readers.” (C. Vickery, Choice, Vol. 47 (4), December, 2009); Computer architecture, which underpins computer science, is a topic in which "getting things done" is paramount: The ability to understand trade-offs before selecting between and implementing well-considered design options is often as important as the study of those options at a more theoretical level. This easy-to-follow A Practical Introduction to Computer Architecture blends traditional teaching approaches with the use of mathematics, together with the use of a hardware description language (Verilog) and a concrete processor (MIPS32) as vehicles for "hands-on" modelling and experimenting with digital logic and processor design. This unique approach encourages readers to derive their own conclusions via experimentation, enabling them to discover for themselves the fundamental and exciting topics of computer architecture. The book is divided into three parts, covering each of the three levels of abstraction: the digital logic layer, the instruction set and micro-architecture layer, and the hardware/software interface. The first part deals with the basic tools and techniques which underpin the rest of the book, whereas the second part deals with the broad topic of processor design and implementation. The final part bridges the gap between hardware and software by examining the programming tools and operating-system concepts that support the development and execution of programs. Topics and features: • Includes a wide-ranging introductory chapter, familiarising the reader with both the subject and the book’s contents • Outlines basic methods for evaluating processors, with a focus on performance • Investigates advanced topics in processor design, such as superscalar and vector processors • Presents a detailed description of a development tool-chain • Provides a stand-alone tutorial on using SPIM, a MIPS32 simulator • Focuses on aspects of compilers which are closely tied to the processor, covering register allocation, instruction selection and scheduling • Explores real implementations of concepts such as scheduling and interrupt handling • Examines the concept of efficient programming • Concludes every chapter with a set of example problems, and contains an appendix that discusses solutions • Supplies additional supportive material, such as example source code and electronic lecture slides, at http://www.cs.bris.ac.uk/home/page/teaching/pica.html This practical, reader-friendly textbook has been written with undergraduates in mind, and is suitable for self-study. The book can also be used by postgraduate students as a supportive reference for use in combination with more specialised textbooks. Dr. Dan Page is a lecturer at the University of Bristol, affiliated with both the Languages and Architecture Group and the Cryptography and Information Security Group. He was one of the founders of Identum (now part of Trend Micro), which is involved in delivering cryptographic expertise and products to industrial customers. ; Provides a practically driven approach to teaching computer architecture, while still offering breadth and continuity to the reader Inclusion of mathematical preliminaries, enforces the linkage between the theory and practice Uses Verilog as a means to bridge the gap between a high-level, systems architecture approach and a low-level, digital logic approach, offering a level of integration between the topics http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png

A Practical Introduction to Computer Architecture

648 pages

Loading next page...
 
/lp/springer-e-books/a-practical-introduction-to-computer-architecture-B0H3Jkduz7

References

References for this paper are not available at this time. We will be adding them shortly, thank you for your patience.

Publisher
Springer London
Copyright
Copyright © Springer Basel AG
DOI
10.1007/978-1-84882-256-6
Publisher site
See Book on Publisher Site

Abstract

It is a great pleasure to write a preface to this book. In my view, the content is unique in that it blends traditional teaching approaches with the use of mathematics and a mainstream Hardware Design Language (HDL) as formalisms to describe key concepts. The book keeps the “machine” separate from the “application” by strictly following a bottom-up approach: it starts with transistors and logic gates and only introduces assembly language programs once their execution by a processor is clearly de ned. Using a HDL, Verilog in this case, rather than static circuit diagrams is a big deviation from traditional books on computer architecture. Static circuit diagrams cannot be explored in a hands-on way like the corresponding Verilog model can. In order to understand why I consider this shift so important, one must consider how computer architecture, a subject that has been studied for more than 50 years, has evolved. In the pioneering days computers were constructed by hand. An entire computer could (just about) be described by drawing a circuit diagram. Initially, such d- grams consisted mostly of analogue components before later moving toward d- ital logic gates. The advent of digital electronics led to more complex cells, such as half-adders, ip- ops, and decoders being recognised as useful building blocks.; This book’s unique approach encourages readers to derive their own conclusions via experimentation, enabling them to discover for themselves the fundamental and exciting topics of computer architecture. Each chapter concludes with a set of example problems. ; It is a great pleasure to write a preface to this book. In my view, the content is unique in that it blends traditional teaching approaches with the use of mathematics and a mainstream Hardware Design Language (HDL) as formalisms to describe key concepts. The book keeps the “machine” separate from the “application” by strictly following a bottom-up approach: it starts with transistors and logic gates and only introduces assembly language programs once their execution by a processor is clearly de ned. Using a HDL, Verilog in this case, rather than static circuit diagrams is a big deviation from traditional books on computer architecture. Static circuit diagrams cannot be explored in a hands-on way like the corresponding Verilog model can. In order to understand why I consider this shift so important, one must consider how computer architecture, a subject that has been studied for more than 50 years, has evolved. In the pioneering days computers were constructed by hand. An entire computer could (just about) be described by drawing a circuit diagram. Initially, such d- grams consisted mostly of analogue components before later moving toward d- ital logic gates. The advent of digital electronics led to more complex cells, such as half-adders, ip- ops, and decoders being recognised as useful building blocks.; Tools and Techniques.- Mathematical Preliminaries.- Basics of Digital Logic.- Hardware Design Using Verilog.- Processor Design.- A Historical and Functional Perspective.- Basic Processor Design.- Measuring Performance.- Arithmetic and Logic.- Memory and Storage.- Advanced Processor Design.- The Hardware/Software Interface.- Linkers and Assemblers.- Compilers.- Operating Systems.- Efficient Programming.- Appendices.- SPIM: A MIPS32 Simulator.; From the reviews: "The first impression is that the book tries to cover all aspects of computer design. … To summarize, the book lives up to its title. It is a practical and interesting introduction to computer architecture. … It is a good reference book that could be used as a guide in a computer architecture curriculum." (Javier Castillo, ACM Computing Reviews, August, 2009) “Page … has tried to include ‘topics every computer science student should have at least a basic grasp of.’ … The book is clearly written and technically accurate. The exercises are good, with extensive solutions provided. The volume admirably serves its goal of offering a comprehensive introduction to computer science. Summing Up: Highly recommended. Lower- and upper-division undergraduates, two-year technical program students, research/faculty, practitioners, and general readers.” (C. Vickery, Choice, Vol. 47 (4), December, 2009); Computer architecture, which underpins computer science, is a topic in which "getting things done" is paramount: The ability to understand trade-offs before selecting between and implementing well-considered design options is often as important as the study of those options at a more theoretical level. This easy-to-follow A Practical Introduction to Computer Architecture blends traditional teaching approaches with the use of mathematics, together with the use of a hardware description language (Verilog) and a concrete processor (MIPS32) as vehicles for "hands-on" modelling and experimenting with digital logic and processor design. This unique approach encourages readers to derive their own conclusions via experimentation, enabling them to discover for themselves the fundamental and exciting topics of computer architecture. The book is divided into three parts, covering each of the three levels of abstraction: the digital logic layer, the instruction set and micro-architecture layer, and the hardware/software interface. The first part deals with the basic tools and techniques which underpin the rest of the book, whereas the second part deals with the broad topic of processor design and implementation. The final part bridges the gap between hardware and software by examining the programming tools and operating-system concepts that support the development and execution of programs. Topics and features: • Includes a wide-ranging introductory chapter, familiarising the reader with both the subject and the book’s contents • Outlines basic methods for evaluating processors, with a focus on performance • Investigates advanced topics in processor design, such as superscalar and vector processors • Presents a detailed description of a development tool-chain • Provides a stand-alone tutorial on using SPIM, a MIPS32 simulator • Focuses on aspects of compilers which are closely tied to the processor, covering register allocation, instruction selection and scheduling • Explores real implementations of concepts such as scheduling and interrupt handling • Examines the concept of efficient programming • Concludes every chapter with a set of example problems, and contains an appendix that discusses solutions • Supplies additional supportive material, such as example source code and electronic lecture slides, at http://www.cs.bris.ac.uk/home/page/teaching/pica.html This practical, reader-friendly textbook has been written with undergraduates in mind, and is suitable for self-study. The book can also be used by postgraduate students as a supportive reference for use in combination with more specialised textbooks. Dr. Dan Page is a lecturer at the University of Bristol, affiliated with both the Languages and Architecture Group and the Cryptography and Information Security Group. He was one of the founders of Identum (now part of Trend Micro), which is involved in delivering cryptographic expertise and products to industrial customers. ; Provides a practically driven approach to teaching computer architecture, while still offering breadth and continuity to the reader Inclusion of mathematical preliminaries, enforces the linkage between the theory and practice Uses Verilog as a means to bridge the gap between a high-level, systems architecture approach and a low-level, digital logic approach, offering a level of integration between the topics

Published: Apr 14, 2009

There are no references for this article.