• Complain

Robert G. Plantz - Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly

Here you can read online Robert G. Plantz - Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2022, publisher: No Starch Press, genre: Computer / Science. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Robert G. Plantz Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly
  • Book:
    Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly
  • Author:
  • Publisher:
    No Starch Press
  • Genre:
  • Year:
    2022
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

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 isnt 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 languageHow the operating system manages hardware resources with exceptions and interruptsHow data is encoded in memoryHow hardware switches handle decimal dataHow program code gets transformed into machine code the computer understandsHow pieces of hardware like the CPU, input/output, and memory interact to make the entire system work.--------------------------------------Unlike other books about assembly language and computer organisation, Introduction to Computer Organization is written with the understanding that most programmers will never have to write x86-64 assembly language or design hardware. This book is written to give those programmers a practical and concrete understanding of whats happening in a computer in the hopes that that knowledge will help them become a better programmer in their chosen field. Readers learn how transistors are used to construct the binary switches that are used to implement the logic circuits that make up a computer; how these circuits are programmed to implement basic programming constructs; and how data items are organised and manipulated. By the end of the book readers should have a strong understanding of how binary is used to store data; how Boolean logic works, and how its implemented in a computer; the basics of computer hardware; assembly language; program flow; and Input/Output.---------------------------------------------Author BioBob Plantz was a professor at Sonoma State for 21 years, teaching a variety of core computing classes. He started his career designing electronics for the horizon scanners on the Gemini spacecraft and Apollo Lunar Module. After that, he got his PhD in electrical engineering at UC Berkeley, and went on to work as a software engineer for eight years before becoming an educator.

Robert G. Plantz: author's other books


Who wrote Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly? Find out the surname, the name of the author of the book and a list of all author's works by series.

Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Introduction to Computer Organization An Under-the-Hood Look at Hardware and - photo 1
Introduction to Computer Organization
An Under-the-Hood Look at Hardware and x86-64 Assembly

by Robert G. Plantz

INTRODUCTION TO COMPUTER ORGANIZATION Copyright 2022 by Robert G Plantz All - photo 2

INTRODUCTION TO COMPUTER ORGANIZATION. Copyright 2022 by Robert G. Plantz.

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.

First printing

25 24 23 22 21 1 2 3 4 5 6 7 8 9

ISBN-13: 978-1-7185-0009-9 (print)
ISBN-13: 978-1-7185-0010-5 (ebook)

Publisher: William Pollock
Managing Editor: Jill Franklin
Production Manager: Rachel Monaghan
Production Editor: Paula Williamson
Developmental Editor: Alex Freed
Cover Illustrator: Gina Redman
Interior Design: Octopod Studios
Technical Reviewers: William Young and Mike Lyle
Copyeditor: Kim Wimpsett
Compositor: Jeff Lytle, Happenstance Type-O-Rama
Proofreader: Sharon Wilkey

For information on book distributors or translations, please contact No Starch Press, Inc. directly:
No Starch Press, Inc.
245 8th Street, San Francisco, CA 94103
phone: 1.415.863.9900; info@nostarch.com
www.nostarch.com

Library of Congress Cataloging-in-Publication Data

Library of Congress Control Number: 2021950164

No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other product and company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.

The information in this book is distributed on an As Is basis, without warranty. While every precaution has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in it.

About the Author

After obtaining his PhD in electrical engineering from UC Berkeley, Bob Plantz took a position in a physiology research lab at UC San Francisco where he programmed a Data General minicomputer. Following that, he spent several years in industry where he wrote assembly language on half a dozen different architectures at the software/hardware interface level. He then transitioned into a 21-year university teaching career in computer science.

About the Technical Reviewers

Dr. William Young is Associate Professor of Instruction in the Department of Computer Science at the University of Texas at Austin. Prior to joining the UT faculty in 2001, he had 20 years of experience in industry. He specializes in formal methods and computer security, but often teaches computer architecture, among other courses.

Mike Lyle got his start designing computers for Hughes Aircraft (which only built one plane) to control radar and sonar systems, and then with Sperry-Univac designing operating systems for telecommunication computers. He then taught computer design at UC Berkeley for seven years, and at Sonoma State University for 15 years.

Preface

This book introduces the concepts of how computer hardware works from a programmers point of view. The hardware is controlled by a set of machine instructions. The way in which these instructions control the hardware is called the instruction set architecture (ISA). A programmers job is to design a sequence of these instructions that will cause the hardware to perform operations to solve a problem.

Nearly all computer programs are written in a high-level language. Some of these languages are general purpose, and others are geared toward a specific type of application. But they are all intended to provide a programmer with a set of programming constructs more suitable for solving problems in human terms than working directly with the instruction set architecture and the details of the hardware.

Who This Book Is For

Have you ever wondered whats 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. Well be looking at both the hardware components and the machine-level instructions used to control the hardware.

Im assuming that you know the basics of how to program in a high-level language, but you dont need to be an expert programmer. After discussing the hardware components, well 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 wont emphasize writing applications in assembly language. Higher-level languageslike C++, Java, and Pythonare 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.

About This Book

The guidelines I followed in creating this book are as follows:

  1. Learning is easier if it builds on concepts you already know.
  2. Real-world hardware and software make a more interesting platform for learning theoretical concepts.
  3. The tools used for learning should be inexpensive and readily available.
The Programming in the Book

This book is based on the x86-64 instruction set architecture, which is the 64-bit version of the x86 (32-bit) instruction set architecture. It is also known by the names AMD64, x86_64, x64, and Intel 64. All the programming in the book was done using the GNU programming environment running under the Ubuntu Linux operating system. The programs should work with most common Linux distributions with few, if any, modifications.

Were using C as our high-level language, with some C++ in a later chapter. Dont worry if you dont know C/C++. All our C/C++ programming will be very simple, and Ill explain what you need to know as we go.

An important issue that arises when learning assembly language is using the keyboard and terminal screen in an application. Programming input from a keyboard and output to a screen is complex, well beyond the expertise of a beginner. The GNU programming environment includes the C standard library. Keeping with the real-world criterion of this book, well use the functions in that library, which are easily called from assembly language, for using the keyboard and screen in our applications.

The x86-64 instruction set architecture includes some 1,500 instructions. The exact number depends on what you consider to be a different instruction, but there are far too many to memorize. Some assembly language books deal with this issue by inventing an idealized instruction set architecture to illustrate the concepts. Again, keeping with the real-world nature of this book, well use the standard x86-64 instruction set but only a small subset of the instructions that will be sufficient to illustrate the basic concepts.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly»

Look at similar books to Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly»

Discussion, reviews of the book Introduction To Computer Organisation - An Under-the-Hood Look at Hardware and x86-64 Assembly and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.