Muutke küpsiste eelistusi

Computer Architecture with Python and ARM: Learn how computers work, program your own, and explore assembly language on Raspberry Pi [Pehme köide]

  • Formaat: Paperback / softback, 412 pages, kõrgus x laius: 235x191 mm
  • Ilmumisaeg: 31-Jul-2023
  • Kirjastus: Packt Publishing Limited
  • ISBN-10: 1837636672
  • ISBN-13: 9781837636679
  • Formaat: Paperback / softback, 412 pages, kõrgus x laius: 235x191 mm
  • Ilmumisaeg: 31-Jul-2023
  • Kirjastus: Packt Publishing Limited
  • ISBN-10: 1837636672
  • ISBN-13: 9781837636679
Learn computer architecture with Python and ARM, simulating assembly program execution and designing a computer simulator Purchase of the print or Kindle book includes a free PDF eBook

Key Features

Build a computer simulator with Python: Learn computer architecture by designing and constructing a simulator Python for architecture: Use Python to simulate and execute assembly language instructions ARM programming on Raspberry Pi: Explore ARM assembly language and run programs on Raspberry Pi

Book DescriptionThis comprehensive guide offers a unique and immersive learning experience by combining Python programming with ARM architecture. Starting with an introduction to computer architecture and the flow of data within a computer system, youll progress to building your own interpreter using Python. Youll see how this foundation enables the simulation of computer operations and learn ways to enhance a simulator by adding new instructions and displaying improved results. As you advance, youll explore the TC1 Assembler and Simulator Program to gain insights into instruction analysis and explore practical examples of simulators. This will help you build essential skills in understanding complex computer instructions, strengthening your grasp of computer architecture. Moreover, youll be introduced to the Raspberry Pi operating system, preparing you to delve into the detailed language of the ARM computer. This includes exploring the ARM instruction set architecture, data-processing instructions, subroutines, and the stack. With clear explanations, practical examples, and coding exercises, this resource will enable you to design and construct your own computer simulator, simulate assembly language programs, and leverage the Raspberry Pi for ARM programming.What you will learn

Master the core principles of computer architecture Understand the role of registers, memory, and data flow in computers Discover how to design and implement a computer simulator using Python Simulate and execute assembly language programs on the simulator Enhance the simulator using new instructions for improved output Analyze complex computer instructions for deeper architectural understanding Explore the ARM instruction set and data processing on the Raspberry Pi Develop proficiency in writing, assembling, and running ARM code on the Raspberry Pi

Who this book is forThis book is for university students studying computer science, particularly those enrolled in a computer architecture module. With its practical approach and succinct explanations, it is also suitable for hobbyists, enthusiasts, and self-learners seeking a deeper understanding of computer systems. The book assumes foundational knowledge of number bases, binary arithmetic, and Boolean logic concepts. While it primarily caters to the computer science field, this book is less geared toward electrical or electronics engineering.
Table of Contents

Introduction to the computer
Computer architecture: Data flow in a computer
Crafting an interpreter: First steps
A little more Python
Analyzing the Instruction
The Different Types of Computing Technologies
Adding New Instructions
Displaying results
Examples of simulators
"Basics of the Raspberry Pi operating system"
"ARM instruction set architecture"
ARM data-processing instructions
Appendix I: Examples of ARM code
Dr. Alan Clements is a retired professor of computer science from the University of Teesside, UK. He is an esteemed author of major texts on computer hardware and architecture, recognized for his contributions to computer science education. With a Ph.D. in Electronics and a distinguished career, Dr. Clements has made significant advancements in microcomputer design and microprocessor systems. He has received prestigious accolades such as the 2007 Taylor Booth Award for CS Education and has been an active member of the Computer Society. As a Fellow of the IEEE, Dr. Clements has played a pivotal role in promoting excellence in computer architecture education and chaired the IEEE's "Computer Society International Design Competition" for eight years.