Автор: Robert Plantz
Издательство: No Starch Press
Год: 2022
Страниц: 515
Язык: английский
Формат: pdf (true), epub
Размер: 10.1 MB, 10.1 MB
Introduction to Computer Organization gives programmers a practical understanding of what happens in a computer when you execute your code. You may never have to write x86-64 assembly language or design hardware yourself, but knowing how the hardware and software works will give you greater control and confidence over your coding decisions. We start with high level fundamental concepts like memory organization, binary logic, and data types and then explore how they are implemented at the assembly language level.
The goal isn’t to make you an assembly programmer, but to help you comprehend what happens behind the scenes between running your program and seeing “Hello World” displayed on the screen. Classroom-tested for over a decade, this book will demystify topics like:
•How to translate a high-level language code into assembly language
•How the operating system manages hardware resources with exceptions and interrupts
•How data is encoded in memory
•How hardware switches handle decimal data
•How program code gets transformed into machine code the computer understands
•How pieces of hardware like the CPU, input/output, and memory interact to make the entire system work.
Author Robert Plantz takes a practical approach to the material, providing examples and exercises on every page, without sacrificing technical details. Learning how to think like a computer will help you write better programs, in any language, even if you never look at another line of assembly code again.
Who This Book Is For:
Have you ever wondered what’s going on “under the hood” when you write a program in a high-level language? You know that computers can be programmed to make decisions, but how do they do that? You probably know that data is stored in bits, but what does that mean when storing a decimal number? My goal in this book is to answer these and many other questions about how computers work. We’ll be looking at both the hardware components and the machine-level instructions used to control the hardware. I’m assuming that you know the basics of how to program in a high-level language, but you don’t need to be an expert programmer. After discussing the hardware components, we’ll look at and write lots of programs in assembly language, the language that translates directly into the machine instructions. Unlike most assembly language books, we won’t emphasize writing applications in assembly language. Higher-level languages—like C++, Java, and Python—are much more efficient for creating applications. Writing in assembly language is a tedious, error-prone, time-consuming process, so it should be avoided whenever possible. Our goal here is to study programming concepts, not to create applications.
Скачать Introduction to Computer Organization: An Under the Hood Look at Hardware and x86-64 Assembly
True PDF:
ePub: