Author: J. Clark Scott
Publisher: John C Scott
Release Date: 2009-07-04
This book thoroughly explains how computers work. It starts by fully examining a NAND gate, then goes on to build every piece and part of a small, fully operational computer. The necessity and use of codes is presented in parallel with the apprioriate pieces of hardware. The book can be easily understood by anyone whether they have a technical background or not. It could be used as a textbook.
Author: Charles Petzold
Publisher: Microsoft Press
Release Date: 2000-10-11
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
Author: Jerome H. Saltzer
Publisher: Morgan Kaufmann
Release Date: 2009-05-21
Principles of Computer System Design is the first textbook to take a principles-based approach to the computer system design. It identifies, examines, and illustrates fundamental concepts in computer system design that are common across operating systems, networks, database systems, distributed systems, programming languages, software engineering, security, fault tolerance, and architecture. Through carefully analyzed case studies from each of these disciplines, it demonstrates how to apply these concepts to tackle practical system design problems. To support the focus on design, the text identifies and explains abstractions that have proven successful in practice such as remote procedure call, client/service organization, file systems, data integrity, consistency, and authenticated messages. Most computer systems are built using a handful of such abstractions. The text describes how these abstractions are implemented, demonstrates how they are used in different systems, and prepares the reader to apply them in future designs. The book is recommended for junior and senior undergraduate students in Operating Systems, Distributed Systems, Distributed Operating Systems and/or Computer Systems Design courses; and professional computer systems designers. Features: Concepts of computer system design guided by fundamental principles. Cross-cutting approach that identifies abstractions common to networking, operating systems, transaction systems, distributed systems, architecture, and software engineering. Case studies that make the abstractions real: naming (DNS and the URL); file systems (the UNIX file system); clients and services (NFS); virtualization (virtual machines); scheduling (disk arms); security (TLS). Numerous pseudocode fragments that provide concrete examples of abstract concepts. Extensive support. The authors and MIT OpenCourseWare provide on-line, free of charge, open educational resources, including additional chapters, course syllabi, board layouts and slides, lecture videos, and an archive of lecture schedules, class assignments, and design projects.
Many aspects of the internal and external workings of computers can be viewed as a series of communication processes. Communication complexity is the mathematical theory of such communication processes. It is also often used as an abstract model of other aspects of computation. This book surveys this mathematical theory, concentrating on the question of how much communication is necessary for any particular process. The first part of the book is devoted to the simple two-party model introduced by Yao in 1979, which is still the most widely studied model. The second part treats newer models developed to deal with more complicated communication processes. Finally, applications of these models, including computer networks, VLSI circuits, and data structures, are treated in the third part of the book. This is an essential resource for graduate students and researchers in theoretical computer science, circuits, networks and information theory.
Author: Daniel Page
Publisher: Springer Science & Business Media
Release Date: 2009-04-21
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.
Author: Roger Young
Publisher: How Computers Work
Release Date: 2009-04-17
Computers are the most complex machines that have ever been created. This book will tell you how they work, and no technical knowledge is required. It explains in great detail the operation of a simple but functional computer. Although transistors are mentioned, relays are used in the example circuitry for simplicity. Did you ever wonder what a bit, a pixel, a latch, a word (of memory), a data bus, an address bus, a memory, a register, a processor, a timing diagram, a clock (of a processor), an instruction, or machine code is? Unlike most explanations of how computers work which are a lot of analogies or require a background in electrical engineering, this book will tell you precisely what each of them is and how each of them works without requiring any previous knowledge of computers, programming, or electronics. This book starts out very simple and gets more complex as it goes along, but everything is explained. The processor and memory are mainly covered.
Computer Systems Architecture provides IT professionals and students with the necessary understanding of computer hardware. It addresses the ongoing issues related to computer hardware and discusses the solutions supplied by the industry. The book describes trends in computing solutions that led to the current available infrastructures, tracing the initial need for computers to recent concepts such as the Internet of Things. It covers computers’ data representation, explains how computer architecture and its underlying meaning changed over the years, and examines the implementations and performance enhancements of the central processing unit (CPU). It then discusses the organization, hierarchy, and performance considerations of computer memory as applied by the operating system and illustrates how cache memory significantly improves performance. The author proceeds to explore the bus system, algorithms for ensuring data integrity, input and output (I/O) components, methods for performing I/O, various aspects relevant to software engineering, and nonvolatile storage devices, such as hard drives and technologies for enhancing performance and reliability. He also describes virtualization and cloud computing and the emergence of software-based systems’ architectures. Accessible to software engineers and developers as well as students in IT disciplines, this book enhances readers’ understanding of the hardware infrastructure used in software engineering projects. It enables readers to better optimize system usage by focusing on the principles used in hardware systems design and the methods for enhancing performance.
This textbook for a one-semester course in Digital Systems Design describes the basic methods used to develop “traditional” Digital Systems, based on the use of logic gates and flip flops, as well as more advanced techniques that enable the design of very large circuits, based on Hardware Description Languages and Synthesis tools. It was originally designed to accompany a MOOC (Massive Open Online Course) created at the Autonomous University of Barcelona (UAB), currently available on the Coursera platform. Readers will learn what a digital system is and how it can be developed, preparing them for steps toward other technical disciplines, such as Computer Architecture, Robotics, Bionics, Avionics and others. In particular, students will learn to design digital systems of medium complexity, describe digital systems using high level hardware description languages, and understand the operation of computers at their most basic level. All concepts introduced are reinforced by plentiful illustrations, examples, exercises, and applications. For example, as an applied example of the design techniques presented, the authors demonstrate the synthesis of a simple processor, leaving the student in a position to enter the world of Computer Architecture and Embedded Systems.
Author: Roland Backhouse
Publisher: John Wiley & Sons
Release Date: 2011-10-24
An entertaining and captivating way to learn the fundamentals of using algorithms to solve problems The algorithmic approach to solving problems in computer technology is an essential tool. With this unique book, algorithm guru Roland Backhouse shares his four decades of experience to teach the fundamental principles of using algorithms to solve problems. Using fun and well-known puzzles to gradually introduce different aspects of algorithms in mathematics and computing. Backhouse presents you with a readable, entertaining, and energetic book that will motivate and challenge you to open your mind to the algorithmic nature of problem solving. Provides a novel approach to the mathematics of problem solving focusing on the algorithmic nature of problem solving Uses popular and entertaining puzzles to teach you different aspects of using algorithms to solve mathematical and computing challenges Features a theory section that supports each of the puzzles presented throughout the book Assumes only an elementary understanding of mathematics Let Roland Backhouse and his four decades of experience show you how you can solve challenging problems with algorithms!