Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Computer Architecture with Python and ARM

You're reading from   Computer Architecture with Python and ARM Learn how computers work, program your own, and explore assembly language on Raspberry Pi

Arrow left icon
Product type Paperback
Published in Jul 2023
Publisher Packt
ISBN-13 9781837636679
Length 412 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Alan Clements Alan Clements
Author Profile Icon Alan Clements
Alan Clements
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Part 1: Using Python to Simulate a Computer
2. Chapter 1: From Finite State Machines to Computers FREE CHAPTER 3. Chapter 2: High-Speed Introduction to Python 4. Chapter 3: Data Flow in a Computer 5. Chapter 4: Crafting an Interpreter – First Steps 6. Chapter 5: A Little More Python 7. Chapter 6: TC1 Assembler and Simulator Design 8. Chapter 7: Extending the TC1 9. Chapter 8: Simulators for Other Architectures 10. Part 2: Using Raspberry Pi to Study a Real Computer Architecture
11. Chapter 9: Raspberry Pi: An Introduction 12. Chapter 10: A Closer Look at the ARM 13. Chapter 11: ARM Addressing Modes 14. Chapter 12: Subroutines and the Stack 15. Index 16. Other Books You May Enjoy Appendices – Summary of Key Concepts

Who this book is for

For many years, I have taught computer architecture and have used simulators to teach assembly language. This approach demonstrates what instructions do but not how they do it or how they are designed, decoded, and executed. I decided to create a simple instruction simulator for class use. This book evolved from that project.

My target audience can be divided into four main groups, as follows:

  • Students who are taking a computer architecture course and would like to enhance their experience of computer architecture by experimenting with their own CPUs by means of simulation. This approach would increase the depth of their knowledge of computer architecture and enhance their understanding of the trade-offs that the computer designer faces.
  • The non-computer specialist, the layperson, and the enthusiast who would like to know how computers work. By using Python as the design language and providing an introductory course on Python, I have attempted to make the book accessible to those with little or no experience in programming.
  • The Raspberry Pi user. Raspberry Pi has had an immense impact on computer science education. This book provides a brief introduction to Raspberry Pi and shows how it is possible to write assembly language programs in the ARM’s native language. Moreover, Raspberry Pi also provides an environment (Python and its tools) that allows the reader to understand and simulate computers.
  • The reader wanting to learn Python. Although this is not a formal course on Python, it provides a goal-oriented introduction to Python; that is, it applies Python to an actual example. This approach avoids the breadth of a conventional course and enables the reader to construct a practical application with a relatively shallow learning curve.
  • I have not assumed that a beginner reader has absolutely no knowledge of computers at all. This book assumes a very basic knowledge of binary arithmetic and number bases and the basic concepts of Boolean variables.
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £16.99/month. Cancel anytime