Programming the Z80

This book has been designed as a complete self-contained text for learning programming, using the Z80. It can be used by a person who has never programmed before, and should also be of value to anyone using the Z80.
For the person who has already programmed, this book will teach specific programming techniques using (or working around) the specific characteristics of the Z80. This text covers the elementary to intermediate techniques required to start programming effectively.
This text aims at providing a true level of competence to the person who wishes to program using this microprocessor. Naturally, no book will effectively teach how to program, unless one actually practices. However, it is hoped that this book will take the reader to the point where he feels that he can start programming by himself and can solve simple or even moderately complex problems using a microcomputer.
This book is based on the author's experience in teaching more thatn 1000 persons how to program microcomputers. As a result, it is strongly structured. Chapters normally go from the simple to the complex. For readers who have already learned elementary programming, the introductory chapter may be skipped. For others who have never programmed, the final sections of some chapters may require a second reading.
The book has been designed to take the reader systematically through all the basic concepts and techniques required to build increasingly complex programs. It is, therefore, strongly suggested that the ordering of the chapters be followed. In addition, for effective results, it is important that the reader attempt to solve as many exercises as possible. The difficulty within the exercises has been carefully graduated. They are designed to verify that the material which has been presented is really understood. Without doing the programming exercises, it will not be possible to realize the full value of this book as an educational medium. Several of the exercises may require time, such as the multiplication exercise. However, by doing them, you will actually program and learn by doing. This is indispensable.
For those who hav acquired a taste for programming when reaching the end of this volume, a companion volume is planned: the Z80 application book. Other books in this series cover programming for other popular microprocessors.
For those who wish to develop their hardware knowledge, it is suggested that the reference books "From Chips to systems: an introduction to microprocessors (ref. c201A) and microprocessor interfacing techniques be consulted.
The contents of this book have been checked carefully and are believed to be reliable. However, inevitably, some typographical or other errors will be found. The author will be grateful for any comments by alert readers so that future editions may benefit from their experience. Any other suggestions for improvements, such as other programs desired, developed or found of value by readers, will be appreciated.
Read More/Download

The Second Book Of Machine Language

by Richard Mansfield
This book shows how to put together a large machine language program. All of the fundamentals were covered in my first book, Machine Language for Beginners. What remains is to put the rules to use by constructing a working program, to take the theory into the field and show how machine language is done.
Showing how to construct an assembler-written entirely in machine language would serve two useful purposes. It would illustrate advanced programming technique and also provide the reader with a powerful assembler to use in other ML programming.
This book, then, offers the reader both a detailed description of a sophisticated machine language program (the LADS assembler) and an efficient tool, a complete language with which to write other machine language programs. Every line in the LADS assembler program is described. All the subroutines are picked apart and explained. Each major routine is examined in depth.
LADS, the Label Assembler Development System, is a fast, feature-laden assembler-it compares favorably with the best assemblers available commercially. And not the least of its virtues is the fact that few programs you will ever use will be as thoroughly documented and therefore as accessible to your understanding, modification, and customization.
LADS is a learning device too. By exploring the assembler, you will learn how to go about writing your own large machine language (ML) programs. You will see how a data base is created and maintained, how to communicate with peripherals, and how to accomplish many other ML tasks. Also, because you can study the creation of a computer language, the LADS assembler, you will gain an in-depth knowledge of the intimate details of direct communication with your computer.
Most programming involves a tradeoff between three possible objectives: speed, brevity, or clarity. You can program with the goal of creating the fastest running program possible. Or you can try to write a program which uses up as little memory as possible. Or you can try to make the program as understandable as possible, maximizing the readability of the program listing with REMarks.
LADS emphasizes clarity so that its source code will serve as a learning tool and as the focus of this book. It's designed so that important events in the program can be easily explained and understood. Virtually every ML instruction, every tiny step, is commented within the source code listings following each chapter.
This doesn't mean that LADS is flabby or slow. Assembling roughly 1000 bytes a minute and taking up 5K in memory, LADS is considerably faster and more compact than most commercial assemblers. That's because, in ML, you can have the best of both worlds: You can comment as heavily as you want, but the assembler will strip off the comments when it creates the object code. In this way, clarity does not sacrifice memory or speed.
The frequent comments contribute considerably to the educational value of this assembler. Exploring LADS is a way to learn how to achieve many common programming goals and how to construct a large, significant program entirely in ML. An additional advantage of this comprehensibility is that you'll be able to modify LADS to suit yourself: Add your own pseudo-ops, define defaults, format output. All this is referred to as a language's extensibility. We'll get to this in a minute.
What BASIC is to BASIC programming, an assembler is to ML programming. LADS is a complete language. You write programs (source code) which LADS translates into the finished, executable ML (object code). Unlike less advanced assemblers, however, symbolic assemblers such as LADS can be as easy to use as higher level languages like BASIC. The source code is very simple to modify. Variables and subroutines have names. The program can be internally commented with REM-like explanations. Strings are automatic via the BYTE command. There are a variety of other built-in features, the pseudo-ops, which make it easy to save object programs, control the screen and printer listings, choose hex or decimal disassembly, and service other common programming needs.
Perhaps the best feature of LADS, though, is its extensibility. Because you have the entire source code along with detailed explanations of all the routines, you can customize LADS to suit yourself. Add as many pseudo-ops as you want. Redesign your ML programming language anytime and for any reason. Using an extensible programming language gives you control not only over the programs you design, but also over the way that they are created. You can adjust your tools to fit your own work style.
Do you often need to subtract hex numbers during assembly? It's easy to stick in a - command. Would you rather that LADS read source programs from RAM memory instead of disk files? (This makes it possible to assemble using a tape drive. It can also be a bit faster.) In Chapter 11 we'll go through the steps necessary to make this and other modifications. You'll be surprised at how easy it is.
Finally, studying the language (the LADS assembler) which produces machine language will significantly deepen your understanding of ML programming.
Read More/Download

Machine Language For Beginners

by Richard Mansfield
Introduction

Why Machine Language?
Sooner or later, many programmers find that they want to learn machine language. BASIC is a fine general-purpose tool, but it has its limitations. Machine language (often called assembly language) performs much faster. BASIC is fairly easy to learn, but most beginners do not realize that machine language can also be easy. And, just as learning Italian goes faster if you already know Spanish, if a programmer already knows BASIC, much of this knowledge will make learning machine language easier. There are many similarities.
This book is designed to teach machine language to those who have a working knowledge of BASIC. For example, Chapter 9 is a list of BASIC statements. Following each is a machine language routine which accomplishes the same task. In this way, if you know what you want to do in BASIC, you can find out how to do it in machine language.
To make it easier to write programs in machine language (called "ML" from here on), most programmers use a special program called an assembler. This is where the term "assembly language" comes from. ML and assembly language programs are both essentially the same thing. Using an assembler to create ML programs is far easier than being forced to look up and then POKE each byte into RAM memory. That's the way it used to be done, when there was too little memory in computers to hold languages (like BASIC or Assemblers) at the same time as programs created by those languages. That old style hand-programming was very laborious.
There is an assembler (in BASIC) at the end of this book which will work on most computers which use Microsoft BASIC, including the Apple, PET/CBM, VIC, and the Commodore 64. There is also a separate version for the Atari. It will let you type in ML instructions (like INC 2) and will translate them into the right numbers and POKE them for you wherever in memory you decide you want your ML program. Instructions are like BASIC commands; you build an ML program using the ML "instruction set." A complete table of all the 6502 ML instructions can be found in Appendix A.
It's a little premature, but if you're curious, INC 2 will increase the number in your computer's second memory cell by one. If the number in cell 2 is 15, it will become a 16 after INC 2. Think of it as "increment address two."
Throughout the book we'll be learning how to handle a variety of ML instructions, and the "Simple Assembler" program will be of great help. You might want to familiarize yourself with it. Knowing what it does (and using it to try the examples in this book), you will gradually build your understanding of ML, hexadecimal numbers, and the new possibilities open to the computerist who knows ML.
Seeing It Work
Chapters 2 through 8 each examine a major aspect of ML where it differs from the way BASIC works. In each chapter, examples and exercises lead the programmer to a greater understanding of the methods of ML programming. By the end of the book, you should be able to write, in ML, most of the programs and subroutines you will want or need.
Let's examine some advantages of ML, starting with the main one - ML runs extremely fast.
Here are two programs which accomplish the same thing. The first is in ML, and the second is in BASIC. They get results at very different speeds indeed, as you'll see:
Machine Language
169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 200 208 241 96
BASIC
5 FOR I=1 TO 1000: PRINT "A";: NEXT I
These two programs both print the letter "A" 1000 times on the screen. The ML version takes up 28 bytes of Random Access Memory (RAM). The BASIC version takes up 45 bytes and takes about 30 times as long to finish the job. If you want to see how quickly the ML works, you can POKE those numbers somewhere into RAM and run the ML program with a SYS (Commodore computers) or USR (Atari) or CALL (Apple). In both BASIC and ML, many instructions are followed by an argument. The instructions SYS and CALL have numbers as their arguments. In these cases, the instruction is going to turn control of the computer over to the address given as the argument. There would be an ML program waiting there. To make it easy to see this ML program's speed, we'll load it into memory without yet knowing much about it.
A disassembly is like a BASIC program's LISTing. You can give the starting address of an ML program to a disassembler and it will translate the numbers in the computer's memory into a readable series of ML instructions. See Appendix D for a disassembler that you can use to examine and study ML programs.
Read More/Download

MMIXware

by Donald E. Knuth
MMIX is a computer intended to illustrate machine-level aspects of programming. MMIX's so called RISC (Reduced Instruction Set Computer") architecture is much better able to represent the computers being built at the turn of the millennium.
This book is a collection of programs that make MMIX a virtual reality. One of the programs is an assembler, MMIXAL, which converts MMIX symbolic les to MMIX object fi les. There also are two simulators, which execute the programs in given object files.
The first simulator, called MMIX-SIM or simply MMIX, executes a program one instruction at a time and allows convenient debugging. The second simulator, MMMIX, simulates a high-performance pipeline in which many aspects of the computation are overlapped in time. MMMIX is in fact a highly con figurable meta-simulator," capable of simulating an enormous variety of di erent kinds of pipelines with any number of functional units and with many possible strategies for caching, virtual address translation, branch prediction, super-scalar instruction issue, etc., etc.
The programs in this book are somewhat primitive, because they all are based on a simple terminal interface: Users type commands and the computer types out a reply. Still, these programs are adequate to provide a basis for future developments. I'm hoping that at least one reader of this book will discover how much fun MMIX programming can be and will be motivated to create a nice graphical interface, so that other people will more easily be able to join in the fun. I don't have the time or talent to construct a good GUI myself, but I've tried to write the programs in such a way that modi cations and enhancements will be easy to make.
Read More/Download

Assemblers and Loaders

This book differs from the typical assembler text in that it is not a programming manual, and it is not concerned with any specific assembler language.Instead it concentrates on the design and implementation of assemblers and loaders. It assumes that the reader has some knowledge of computers and programming, and it aims to explain how assemblers and loaders work. Most of the discussion is general, and most of the examples are in a hypothetical, simple, assembler language. Certain examples are in the assembler languages of actual machines, and those are always specified.
This is mostly a professional book, intended for computer professionals in general, and especially for systems programmers.Ho wever, it can be used as a supplementary text in a systems programming or computer organization class at any level.
Chapter 1 introduces the one-pass and two-pass assemblers, discusses other important concepts—such as absolute- and relocatable object files—and describes assembler features such as local labels and multiple location counters. Data structures for implementing the symbol table are discussed in chapter 2.
Chapter 3 presents many directives and discusses their formats, meaning, and implementation.These directives are supported by many actual assemblers and, while not complete, this collection of directives is quite extensive.
The two important topics of macros and conditional assembly are introduced in chapter 4. The treatment of macros is as complete as practically possible. Features of the listing file are outlined, with examples, in chapter 5, while
chapter 6 is a general description of the properties of disassembler, and of three special types of assemblers.Those topics, especially meta-assemblers and high-level assemblers, are of special interest to the advanced reader.They are not new, but even experienced programmers are not always familiar with them.
Chapter 7 covers loaders.There is a very detailed example of the basic operation of a one pass linking loader, followed by features and concepts such as dynamic loading, bootstrap loader, overlays, and others.
Finally, chapter 8 contains a survey of four modern, state of the art, assemblers. Their main characteristics are described, as well as features that distinguish them from their older counterparts.
Read More/Download

The Art of Assembly Language

Why would anyone learn this stuff?
  • Your major requires a course in assembly language; i.e., you’re here against your will.
  • A programmer where you work quit. Most of the source code left behind was written in assembly language and you were elected to maintain it.
  • Your boss has the audacity to insist that you write your code in assembly against your strongest wishes.
  • Your programs run just a little too slow, or are a little too large and you think assembly language might help you get your project under control.
  • You want to understand how computers actually work.
  • You’re interested in learning how to write efficient code.
  • You want to try something new.
This is a book which teaches assembly language programming, written for college level students, written by someone who appears to know what he’s talking about, your natural tendency is to believe something if it appears in print. Having just read the above, you’re starting to assume that assembly must be pretty bad. And that, dear friend, is eighty percent of what’s wrong with assembly language. That is, people develop some very strong misconceptions about assembly language based on what they’ve heard from friends, instructors, articles, and books. Oh, assembly language is certainly not perfect. It does have many real faults. Those faults, however, are blown completely out of proportion by those unfamiliar with assembly language. The next time someone starts preaching about the evils of assembly language, ask, “how many years of assembly language programming experience do you have?” Of course assembly is hard to understand if you don’t know it.
It is surprising how many people are willing to speak out against assembly language based only on conversations they’ve had or articles they’ve read. Assembly language users also use high level languages (HLLs); assembly’s most outspoken opponents rarely use anything but HLLs. Who would you believe, an expert well versed in both types of programming languages or someone who has never taken the time to learn assembly language and develop an honest opinion of its capabilities?
Read More/Download

Programming from the Ground Up (Using Assembly Language)

By Jonathan Bartlett

This book is not a reference book, it is an introductory book. It is therefore not suitable by itself to learn how to professionally program in x86 assembly language, as some details have been left out to make the learning process smoother. The point of the book is to help the student understand how assembly language and computer programming works, not to be a reference to the subject. Reference information about a particular processor can be obtained by contacting the company which makes it.
This book teaches assembly language for x86 processors and the GNU/Linux operating system. In this book, all examples are using the GNU/Linux standard GCC tool set. You will learn computer architecture, structure of comptuer memory, CPU, data accessig methods, assembly language functions, file system, error handling, intermediate memory topics, high level lanugautes, optimization, etc and more.
In this book we will learn assembly language, although we will cover a bit of high-level languages. Hopefully by learning assembly language, your understanding of how programming and computers work will put you a step ahead.
Read More/Download

ARM Assembly Language Programming

By Peter Knaggs and Stephen Welsh
Broadly speaking, you can divide the history of computers into four periods: the mainframe, the mini, the microprocessor, and the modern post-micoprocessor. The Mainframe era was chaterrized by computers that required large buildings and teams of technicians and operators to keep them going. More often than not, both academics and students had little direct contact with the mainframe - you handed a deck of punched cards to an operator and waited for the ouput to appear hours later. During the mainframe era, academics concentrated on languages and compilers, algorithms, and operating systems.
The minicomputer era put computers in the hands of students and academics, because university departments could now buy their own minis. As minicomputers were not as complex as mainframes and because students could get direct hands-on experience, many departments of computer science and electronic engineering taught students how to program in the native language of the computer - assembly language. In those days, the mid 1970s, assembly language programming was used to teach both the control of I/O devices, and the writing of programs. The explosion of computer software had not taken place, and if you wanted software you had to write it yourself.
The late 1970s saw the introduction of the Microprocessor. For the first time, each student was able to access a real computer. Unfortunately, microprocessors appeared before the introduction of low-cost memory (both primary and secondary). Students had to program microprocessors in assembly langauge because the only storage mechanicsm was often a ROM with just enough capacity to hold a simple single pass assembler.
The advent of the low-cost microprocessor system ensured that virtually every student took a course on assembly language. Even today, most courses in computer science include a module on computer architecture and organization, and teaching students to write programs in assembly language forces them to understand the computer's architecture. However, some computer scientist who had been educated during the mainframe era were unhappy with the microprocessor, because they felt that the 8 bit microprocessor was a retrograde step - its architecture was far more primitive that the mainframes they had studied in the 1960s....
Read More/Download

Embedded System Design: A Unified Hardware/Software Introduction

By Frank Vahid and Tony Givargis
Embedded computing systems have grown tremendously in recent years, not only in their popularity, but also in their complexity. This complexity demands a new type of designer, one who can easily cross the traditional border between hardware design and software design. After investigating the availability of courses and textbooks, we felt a new course and accompanying textbook were necessary to introduce embedded computing system design using a unified view of software and hardware. This textbook portrays hardware and software not as different domains, but rather as two implementation options along a continuum of options varying in their design metrics, like cost, performance, power, size, and flexibility. Three important trends have made such a unified view possible. First, integrated circuit (IC) capacities have increased to the point that both software processors and custom hardware processors now commonly coexist on a single IC. Second, quality compilers and program size increases have led to the common use of processor-independent C, C++, and Java compilers and integrated design environments (IDEs) in embedded system design, significantly decreasing the importance of the focus on microprocessor internals and assembly language programming that dominate most existing embedded system courses and textbooks. Third, synthesis technology has advanced to the point that synthesis tools have become commonplace in the design of digital hardware. Synthesis tools achieve nearly the same for hardware design as compilers achieve in software design: They allow the designer to describe desired functionality in a high-level programming language, and they then automatically generate an efficient custom-hardware processor implementation. The first trend makes the past separation of software and hardware design nearly impossible. Fortunately, the second and third trends enable their unified design, by turning embedded system design, at its highest level, into the problem of selecting and programming (for software), designing (for hardware), and integrating “processors.”
The first four chapters of this book strive to achieve the goal of presenting hardware and software in a unified way. These chapters stress that computations are carried out by processors. Many types of processors are available, including general-purpose processors (software), custom single-purpose processors (hardware), standard single-purpose processors
(peripherals), and so on. But nevertheless, they are all just processors, differing in their cost, power, performance, design time, flexibility, and so on, but essentially doing the same thing. Chapter 1 provides an overview of embedded systems and their design challenges. We introduce custom single-purpose processors in Chapter 2, emphasizing a top-down technique to digital design amenable to synthesis, picking up where many textbooks on digital design leave off. We introduce general-purpose processors and their use in Chapter 3, expecting this chapter to be mostly review for many readers, and ending by showing how to design a general-purpose processor using the techniques of Chapter 2. Chapter 4 describes numerous
standard single-purpose processors (peripherals) common in embedded systems. Chapters 5 and 6 introduce memories and interfacing concepts, respectively, to complete the fundamental knowledge necessary to build basic embedded systems. Chapter 7 provides a digital camera example, showing how we can trade off among hardware, software, and peripherals to achieve implementations that vary in their power, performance, and size. These seven chapters form the core of this book.
Freed from the necessity of covering the nitty-gritty details of a particular microprocessor’s internals and assembly language programming, this book includes coverage of some additional embedded systems topics. Chapter 8 describes advanced state machine computation models that are becoming popular when describing complex embedded system behavior. It also introduces the concurrent process model and real-time systems. Chapter 9 gives a basic introduction to control systems, enough to make students aware that a rich theory exists for control systems, and to enable students to determine when an embedded system is an example of a control system. Chapter 10 introduces a variety of popular IC technologies, from which a designer may choose for system implementation. Finally, Chapter 11 highlights various design technologies for building embedded systems, including discussion of hardware/software codesign, a user's introduction to synthesis (from behavioral down to logic levels), and the major trend toward design based on intellectual property (IP).

Read More/Download

The Prehistory of the Digital Computer, From Relays to the Stored Program Concept, 1935-1945

The Prehistory of the Digital Computer, From Relays to the Stored Program Concept, 1935-1945 is written by Paul E. Ceruzzi.
Preface of this Book

The modern digital computer was invented between 1935 and 1945. That was the decade when the first machines that could be called true digital computers were put together. This book tells the story of that invention by looking at specific events of the 1930's and 1940's that show the computer taking its modern form.
Before 1935 there were machines that could perform calculations or otherwise manipulate information, but they were neither automatic nor general in capabilities. They were not computers. In the 1930's the word computer meant a human being who calculated with the aid of a calculating machine. After 1945 the word meant a machine which did that. From that time on computers have continued to evolve and improve, becoming dramatically cheaper and smaller, but their de- sign has not really changed. So the story of what happened in that ten-year period will reveal quite a bit of the entire history of the computer as it is known today.
I have chosen four projects from that era that best illustrate how the computer was invented. These are by no means all that happened, but they are representative of the kinds of activities going on.
The first is the set of electromechanical computers built in Germany by Konrad Zuse, who because of the war had no knowledge of similar activities in America and England. His independent line of work makes for an interesting and self- contained case study of just how one goes about building a computer from scratch.
The second is the Harvard Mark I, built by Professor Howard Aiken and first shown to the public in 1944. This machine was one of the first truly large-scale projects, and because it was well publicized it served notice to the world that the computer age had dawned.
The third project is the series of relay computers built by George Stibitz of the Bell Telephone Laboratories between 1939 and 1946. These machines represented the best that could be done with electromechanical devices (telephone relays), and as such mark the end of that phase of invention and the beginning of another.
The final project is the ENIAC, the world's first working electronic numerical computer, using vacuum tubes for its computing elements, and operating at the speed of light. With its completion in late 1945 all of the pieces of the modern computer were present:
  • automatic control,
  • internal storage of information,
  • and very high speed.
What remained to be done after 1945 was to put those pieces together in a practical and coherent way. From the experience of building and using those machines there came a notion of what a computer ought to look like. The old definition of a computer gave way to the modern one: a machine capable of manipulating and storing many types of information at high speeds and in a general and flexible way. How this notion came about, and especially why the notion of storing the computer's program of instructions in the same internal memory as its data gained favor, are also examined.
This book has a dual purpose. The first is to recount the history of the computer, emphasizing the crucial decade between 1935 and 1945 but including earlier events and more recent trends as well. The second is to explain in simple terms the fundamentals of how those computers worked. Computing has certainly changed since 1945, but the basic concepts have not; I feel that it is easier to grasp these concepts as they were present in earlier, slower, and much simpler computers. I have included brief explanations of some of these concepts in the text of the book; a glossary at the end gives short definitions of many terms of modern computing jargon.
That the computer is having a profound effect on modern life is hardly at issue. Just how and why such a profound change in our society is happening because of computers can better be understood with a grasp of how this technology emerged.
I wish to thank the following persons and institutions for their help with the researching and writing of this book: the Society for Mathematics and Data Processing, Bonn; the Charles Babbage Institute, Minneapolis; the Linda Hall Library, Kansas City, Mo.; the Baker Library, Dartmouth College; and Professors Jerry Stannard, Walter Sedelow, and Forrest Berghom of the University of Kansas. Konrad Zuse, Helmut Schreyer, and George Stibitz supplied me with personal archival materials and criticized portions of the manuscript. I also wish to thank Bill Aspray, Gwen Bell, and Nancy Stern, who also read portions of the manuscript and gave me helpful advice. Any errors or statements of opinion are of course my own.
Read More/Download

Download free Computer hardware Ebooks

This posting provides you free ebooks downloads on computer hardware and electroncis. This free online and pdf ebooks on computer hardware programming, computer architecture, system hardware, computer hardware networking, MMIXware, machine language, assembly language, VHDL, ATMEL AVR processors, 80x86/87, repairing PCs, hardware software, embedded systems, Cryptography, VLSI Design, electronics, computer storage devices, etc will guide to master in the above mentioned subjects.
You can download free computer hardware ebooks from the following links. visit these links and get free ebooks.
  1. A history of the personal computer: the people and the technology
  2. ABCs of System Programming Volume 5 - OS/390
  3. Attacks on Cryptoprocessor Transaction Sets By Mike Bond
  4. Basic Computing Using Windows
  5. Elliptic Curve Cryptosystems on Reconfigurable Hardware
  6. Embedded Linux Distributions Quick Reference Guide
  7. Hardware Reference Material
  8. How Computers Work
  9. How Computers Work - Processor and Main Memory
  10. PC Architecture By Michael Karbo
  11. PC Guide- Ultimate PC maintenance Ebook
  12. RSA Hardware Implementation
  13. Systems
  14. Upgrading & Repairing PCs Eighth Edition

PC Guide- Ultimate PC maintenance Ebook

Following are the topics covered in this PC maintenance ebook.
  1. Introduction to the PC
    How the PC Works
    The Computer's Primary Jobs
    How the Computer Computes
    Example: What Happens When You Press A Key
    Overview of Systems and Components
    PC Fundamentals
    Binary vs. Decimal Measurements
    Basic Electrical Components
    Jumpers
    Signaling, Clocks and Synchronous Data Transfer
  2. Systems and Components Reference Guide
    System Case
    Parts of the System Case
    Styles and Sizes
    Form Factors
    Case Switches
    Case LEDs
    Drive Bays
    Power
    External Power
    Electrical Power Basics
    External Power Problems
    Protection Against Power Problems
    Uninterruptible Power Supplies
    Uninterruptible Power Supply Overview
    Uninterruptible Power Supply Types
    Parts of the Uninterruptible Power Supply
    Uninterruptible Power Supply Functions and Features
    Comparison of Power Protection Methods
    The Power Supply
    Power Supply Functions and Signals
    Parts of the Power Supply
    Power Supply Form Factors
    Power Supply Output and Ratings
    Power Supply Specifications and Certifications
    Motherboard and System Devices
    The Motherboard
    Motherboard Form Factors
    Parts of the Motherboard
    Motherboard Integrated Components
    System Chipset and Controllers
    Chipset Functions and Features
    Chipset Processor Support
    Chipset Cache Support
    Chipset Memory Support
    Chipset Timing and Flow Control
    Chipset Peripheral and I/O Bus Control
    Chipset Power Management Support
    Popular Chipsets
    Fourth Generation (486 Class) Chipsets
    Fifth Generation (Pentium Class) Intel Chipsets
    Fifth Generation (Pentium Class) Non-Intel Chipsets
    Sixth Generation (Pentium Pro / Pentium II Class) Chipsets
    Keyboard Controller Functions
    Super I/O Controller Functions
    Additional Integrated Motherboard Functions
    System Buses
    System Bus Functions and Features
    System Bus Types
    Older Bus Types
    Peripheral Component Interconnect (PCI) Local Bus
    Accelerated Graphics Port (AGP)
    System BIOS
    System BIOS Functions and Operation
    BIOS System Boot Operations
    BIOS Components and Features
    BIOS Setup Program
    BIOS Settings
    Standard Settings
    Advanced Features
    Advanced Chipset Features
    PCI / PnP Configuration
    Power Management
    Integrated Peripherals
    IDE Device Setup / Autodetection
    Security / Password Settings
    Hardware Device Settings / ("CPU Soft Menu")
    Auto Configuration and Defaults
    Exit Setup
    System Cache
    Role of Cache in the PC
    "Layers" of Cache
    Function and Operation of the System Cache
    Cache Characteristics
    Cache Transfer Technologies and Timing
    Cache Structure and Packaging
    System Resources
    Interrupts (IRQs)
    Interrupt Function and Operation
    IRQ Details By Number
    Direct Memory Access (DMA) Channels
    DMA Channel Function and Operation
    DMA Channel Details By Number
    Input / Output (I/O) Addresses
    Logical Devices
    Memory Addresses and Device BIOSes
    System Configuration
    Resource Conflicts and Conflict Resolution
    Plug and Play
    The Processor
    Roots of the Processor: Digital Logic and the Semiconductor
    Processor Physical Characteristics
    Processor Manufacturing
    Physical Chip Characteristics
    Processor Power and Voltage
    Processor Cooling
    Processor Packaging
    Processor Sockets and Slots
    Processor Architecture and Operation
    External Processor Interfaces and Operation
    Internal Processor Architecture and Operation
    Processor Instruction Sets
    Processor Modes
    Internal Architectural Components
    Instruction Execution Process
    Performance Enhancing Architectural Features
    Processor Performance
    Processor Families
    Explanation of Processor Summary Tables
    First Generation Processors
    Second Generation Processors
    Third Generation Processors
    Fourth Generation Processors
    Fifth Generation Processors
    Sixth Generation Processors
    System Memory
    Memory Technology Types
    Memory Speed, Access and Timing
    DRAM Technologies
    Memory Size
    Memory Packaging
    Memory Errors, Detection and Correction
    Logical Memory Layout
    Video Cards
    Video Card Overview
    Video System Interfaces
    Video Modes, Resolution and Color
    Video Memory Function and Speed
    Video Memory Technologies
    Video Display Standards
    3D Video Acceleration
    Full-Motion Video
    Video Card Performance
    Monitors
    Monitor Construction and Operation
    Monitor Resolution, Color and Refresh
    Monitor Size
    CRT Characteristics
    Monitor Power and Safety
    Hard Disk Drives
    A Brief History of the Hard Disk Drive
    Construction and Operation of the Hard Disk Drive
    Hard Disk Operational Overview
    Hard Disk Platters and Media
    Hard Disk Read/Write Heads
    Read/Write Head Operation
    Read/Write Head Technologies
    Hard Disk Head Sliders, Arms and Actuator
    Hard Disk Spindle Motor
    Hard Disk Connectors and Jumpers
    Hard Disk Logic Board
    Hard Disk Cache and Cache Circuitry
    Hard Disk Form Factors
    Hard Disk Packaging and Mounting
    Hard Disk Geometry and Low-Level Data Structures
    Data Encoding and Decoding
    Tracks, Cylinders and Sectors
    Formatting and Capacity
    Geometry Specifications and Translation
    Error Management and Recovery
    Hard Disk Performance, Quality and Reliability
    Hard Disk Performance
    Hard Disk General Performance Issues
    Hard Disk Performance Measurement
    Hard Disk Performance Specifications
    General Notes On Performance Specifications
    Positioning Plus Transfer Performance Specifications
    Positioning Performance Specifications
    Transfer Performance Specifications
    Other Performance Specifications
    Hard Disk Internal Performance Factors
    Mechanical Design Factors
    Data Recording and Encoding Factors
    Controller and Cache Factors
    Hard Disk External Performance Factors
    Disk Interface Factors
    PC System Factors
    File System Factors
    Hard Disk Quality and Reliability
    Hard Disk Quality and Reliability Specifications
    Hard Disk Quality and Reliability Issues
    Hard Disk Quality and Reliability Features
    Hard Disk Warranty and Disaster Recovery Issues
    Redundant Arrays of Inexpensive Disks (RAID)
    Why Use RAID? Benefits and Costs, Tradeoffs and Limitations
    RAID Concepts and Issues
    General RAID Concepts
    RAID Performance Issues
    RAID Reliability Issues
    RAID Levels
    Technical Factors Differentiating RAID Levels
    Single RAID Levels
    Multiple (Nested) RAID Levels
    "Just A Bunch Of Disks"
    Summary Comparison of RAID Levels
    RAID Configuration and Implementation
    RAID Controllers and Controller Features
    RAID Hard Disk Drive Requirements
    RAID Management
    Advanced RAID Features
    Hard Disk BIOS and Capacity Factors
    BIOS and the Hard Disk
    Hard Disk Size Barriers
    BIOS Translation Modes
    Overcoming BIOS Disk Size Barriers
    Hard Disk Interfaces and Configuration
    Hard Disk General Interface Factors
    Obsolete Hard Disk Interfaces
    Specialty and Future Hard Disk Interfaces
    Integrated Drive Electronics / AT Attachment (IDE/ATA) Interface
    Overview and History of the IDE/ATA Interface
    Official IDE/ATA Standards and Feature Sets
    Unofficial IDE/ATA Standards and Marketing Programs
    IDE/ATA Transfer Modes and Protocols
    IDE/ATA Configuration and Cabling
    Small Computer Systems Interface (SCSI)
    Overview and History of the SCSI Interface
    SCSI Standards
    SCSI-1
    SCSI-2
    SCSI-3
    SCSI Data Transfer Modes and Feature Sets
    SCSI Protocols and Interface Features
    Summary of SCSI Protocols and Transfer Modes
    SCSI Host Adapters
    SCSI Cables and Connectors
    SCSI Configuration and Cabling
    IDE/ATA vs. SCSI: Interface Comparison
    Hard Disk Logical Structures and File Systems
    Operating Systems and File Systems
    PC File Systems
    PC Operating System and File System Cross-Reference
    Major Disk Structures and the Boot Process
    FAT File System Disk Volume Structures
    Clusters and File Allocation
    Partitioning, Partition Sizes and Drive Lettering
    Disk Partitioning and Formatting Programs
    Disk Compression
    New Technology File System (NTFS)
    Overview and History of NTFS
    NTFS Versions
    NTFS Architecture and Structures
    NTFS Directories and Files
    NTFS Security and Permissions
    NTFS Reliability Features and System Management
    Other NTFS Features and Advantages
    NTFS Implementation Considerations
    Floppy Disk Drives
    Floppy Disk Drive Construction and Operation
    Floppy Disk Media and Low-Level Data Structures
    Floppy Disk Formats and Logical Structures
    Floppy Disk Interfacing and Configuration
    CD-ROM Drives
    CD-ROM Drive Construction and Operation
    Compact Disk Media
    Compact Disk Formats
    Recordable CD (CD-R)
    Rewriteable CD (CD-RW)
    CD-ROM Performance and Reliability
    CD-ROM Interfaces and Configuration
    Keyboards
    Keyboard Construction and Operation
    Keycaps
    Keyswitches
    Other Regular Keyboard Components
    Keyboard Operation
    Keyboard Key Groupings
    Keyboard Layouts
    General Layout Issues
    Alphanumeric Key Layouts
    Standard Keyboard Layouts
    Non-Standard Keyboard Layouts
    Special Keyboard Features and Accessories
    Keyboard Software Issues
    The PC Buyer's Guide
    Introduction To The PC Buyer's Guide
    Step-By-Step Summary Guide To Buying A PC
    Requirements Analysis
    General Requirements Analysis Issues
    Determining Your PC Requirements
    Buying, Building and Upgrading
    Budget Considerations
    PC Use Profiles
    Designing and Specifying PC Systems and Components
    PC Types
    Designing PCs: Structure and Subsystems
    PC Structural Design
    PC Subsystem Design
    Key Performance Issues In PC System Design
    Key Non-Performance Issues In PC System Design
    Component Specification Issues
    System-Based Key Component Selection
    Detailed Considerations and Tips for Specifying Particular Components
    Notebook PC Specification Issues
    Software Issues in PC Specification
    Understanding PC Sources, Vendors and Prices
    The PC Industry, Vendors and The Market
    Sources For PC Systems and Components
    Retail Sources
    Online, Catalog and Mail Order Sources
    Other Sources
    Summary Comparison of PC Sources
    Cross-Reference Between PC Sources and PC Types
    Researching Vendors and Prices
    Vendor Evaluation Factors
    Reputation and History
    Pricing, Selection and Stock
    Factors Affecting Pricing
    Customer Service
    Guarantees and Return Policies
    Warranty Service and Warranty Policies
    Support
    Vendor "Danger Signals"
    Purchasing PCs and Components
    Purchase Timing
    Delivery Methods and Issues
    Payment Methods
    Immediate Payment Options
    Delayed Payment Options
    Comparison of Payment Methods
    Making The Purchase
    Vendor and Order Problems and Solutions
    Common Vendor and Order Problems
    Dealing With Difficult Vendors and Order Problems
    Dealing With Vendor Abuses and Deceptive Practices
    After The Purchase
    Upon System Receipt
    Problems With Your System
    Final Matters
    System Care Guide
    Preventive Maintenance
    System Care: Protecting Your PC
    General System Care Factors
    Environmental Care Factors
    Cooling and Ventilation Care Factors
    Power Care Factors
    Care of Specific Components
    Care of Media
    Data Loss and Virus Prevention
    Data Problem Prevention
    Data Problem Detection
    Virus Detection and Protection
    Background on Viruses
    Virus Infection Mechanisms and Prevention
    Virus Scanning and Antivirus Software
    Backups and Disaster Recovery
    A Mental Exercise To Underscore the Importance of Backups
    The Risks To Your Data
    Backup Methods, Devices and Media
    Backup Scheduling and Media Rotation Systems
    What To Back Up
    How To Back Up
    Boot Disks
    Disaster Recovery
    Troubleshooting and Repair Guide
    General Troubleshooting Techniques
    Troubleshooting and Your Mental State
    Steps To Take First When Troubleshooting
    General Diagnostic Techniques
    Diagnostic, Troubleshooting and Repair Tools
    The Troubleshooting Expert
    Using the Troubleshooting Expert
    Troubleshooting Boot Problems
    Boot Problem Troubleshooting Walkthrough
    Quick Access to Boot Process Troubleshooting
    Troubleshooting The System Overall
    Troubleshooting BIOS Beep Codes
    American Megatrends Inc. (AMI BIOS)
    Award BIOS
    Phoenix BIOS
    Older BIOS Family (Phoenix BIOS Plus, PhoenixBIOS 1.x)
    Newer BIOS Family (PhoenixBIOS 4.x)
    Other Brand
    Troubleshooting Boot-Time Error Messages
    Troubleshooting Run-Time Error Messages
    Troubleshooting System Instablity, Reboots and Crashes
    Troubleshooting System Slowdowns
    Troubleshooting Specific Components
    System Case
    Assembly or Physical Issues
    LEDs or Case Buttons
    Key Lock
    Power Sources and Power Protection Devices
    Motherboard and System Devices
    General Failures
    CMOS Memory or Real-Time Clock
    System BIOS
    Physical Issues
    Secondary Cache
    System Bus, Resources and Expansion Cards
    The Processor
    System Memory
    Apparent Failure
    Parity Errors
    Memory Not Recognized
    Out of Memory Problems
    Performance Issues
    Video Cards
    Failure or Improper Operation
    Image Quality Problems
    Performance or Video Mode Issues
    Monitors
    Failure or Improper Operation
    Image Quality Problems
    Hard Disk Drives
    Booting or Operation Problems
    Missing Space Issues
    Configuration Issues
    Dynamic Drive Overlay Problems
    Disk Compression Issues
    Drive Letter Issues
    Errors
    Physical Problems
    File System Problems
    Performance Issues
    Windows Issues
    Floppy Disk Drives
    Booting or Operation Problems
    Disk Formatting Problems
    Errors
    Physical Problems
    File System Problems
    CD-ROM Drives
    Drive Not Recognized
    Configuration Problems
    Physical Problems
    Errors
    Audio Issues
    Performance Issues
    Peripheral I/O Ports
    Keyboards
    Mice
    Modems
    Operation and Connection Problems
    Speed Issues
    Errors and Download Problems
    Call Waiting Problems
    Software Modem Issues
    Operating Systems and Applications
    Obtaining Technical Support
    Using Automated Technical Support Systems
    Calling For Technical Support
    Other Alternatives for Technical Support
    Repairs, Returns and Refunds
    Determining the Feasibility of Repair
    Deciding On A Course Of Action
    Performing a Repair or Return
    System Optimization and Enhancement Guide
    System Optimizations and Enhancements
    Using the System Optimizations and Enhancements
    Enhance and Streamline the Boot Process
    Improve the PC's Physical and Environmental Characteristics
    System Resource (IRQ, DMA, I/O, COM) Conservation and Optimization
    General System Performance Optimization
    Operating System Performance Optimization
    Hard Disk Performance Optimization
    Windows System Resource Optimization
    Conventional and Upper Memory Optimization
    Video and Image Optimization
    File System Optimization and Freeing Disk Space
    Improve the Reliability of the System
    Miscellaneous Improvements
    Overclocking: The Dissenting Opinion
    Introduction to Overclocking
    Overclocking Risks and Rewards
    Should You Overclock?
    Procedure Guide
    Explanation of Procedure Overviews
    General Installation and Assembly Tips
    New PC Assembly Procedure
    Configuration Procedures
    System Layout Planning Procedure
    Case Floor Relocation Procedure
    Floppy Disk Drive Connection Procedure
    Hard Disk Drive Connection Procedure
    CD-ROM Drive Connection Procedure
    IDE/ATA Device Configuration Procedure
    Motherboard Configuration Procedure
    Motherboard and Case Connection Procedure
    External Peripheral Connection Procedure
    Physical Installation Procedures
    System Case Preparation Procedure
    Floppy Disk Drive Physical Installation Procedure
    Hard Disk Drive Physical Installation Procedure
    CD-ROM Drive Physical Installation Procedure
    Processor Physical Installation Procedure
    Heat Sink Physical Installation Procedure
    Cache Module Physical Installation Procedure
    Memory Module Physical Installation Procedure
    Motherboard Physical Installation Procedure
    I/O Port Connector Physical Installation Procedure
    PS/2 Mouse Port Connector Physical Installation Procedure
    Video Card Physical Installation Procedure
    Uninstallation and Disassembly Procedures
    System Case Cover Removal Procedure
    Setup and Inspection Procedures
    Post-Assembly Inspection Procedure
    Post-Assembly Initial Boot Procedure
    Safe BIOS Setup Procedure
    Post-Assembly Initial Test Procedure
    Hard Disk Partitioning and Formatting Procedure
    CD-ROM Driver Installation Procedure
    System Documentation Procedure
    Identification Procedures
    Video Card Identification Procedure
    Windows 95 Version Identification Procedure
    File System Identification Procedure
    Software Procedures
    Boot Disk Creation Procedure
    Manual Windows 95 Recovery Procedure
    Windows 95 Installation Procedure
    Technical Resource Guide (Including Links)
    Reference Tables
    Online Technical Resources (Links)
    General World Wide Web Links
    Component-Specific World Wide Web Links
    USEnet Newsgroups
    Internet Relay Chat (IRC)

Click to Read More

PC Architecture

By Michael Karbo
Contents
  • PC Architecture. Preface.
  • Chapter 1. The PC, history and logic.
  • Chapter 2. The Von Neumann model.
  • Chapter 3. A data processor.
  • Chapter 4. Intro to the motherboard.
  • Chapter 5. It all starts with the CPU.
  • Chapter 6. The CPU and the motherboard.
  • Chapter 7. The south bridge.
  • Chapter 8. Inside and around the CPU.
  • Chapter 9. Moores' Law.
  • Chapter 10. The cache.
  • Chapter 11. The L2 cache.
  • Chapter 12. Data and instructions.
  • Chapter 13. FPU’s and multimedia.
  • Chapter 14. Examples of CPU’s.
  • Chapter 15. The evolution of the Pentium 4.
  • Chapter 16. Choosing a CPU.
  • Chapter 17. The CPU’s immediate surroundings.
  • Chapter 18. Overclocking.
  • Chapter 19. Different types of RAM.
  • Chapter 20. RAM technologies.
  • Chapter 21. Advice on RAM.
  • Chapter 22. Chipsets and hubs.
  • Chapter 23. Data for the monitor.
  • Chapter 24. Intro to the I/O system.
  • Chapter 25. From ISA to PCI Express.
  • Chapter 26. The CPU and the motherboard.
  • Chapter 27. Inside and around the CPU.
  • Chapter 28. The cache.
  • Chapter 29. Data and instructions.
  • Chapter 30. Inside the CPU.
  • Chapter 31. FPU’s and multimedia.
  • Chapter 32. Examples of CPU’s.
  • Chapter 33. Choosing a CPU.
  • Chapter 34. The CPU’s immediate surroundings.
  • Chapter 35. Different types of RAM.
  • Chapter 36. Chipsets and hubs.
  • Chapter 37. Data for the monitor.
  • Chapter 38. The PC’s I/O system.
  • Chapter 39. From ISA to PCI.
  • Chapter 40. I/O buses using IRQ’s.
  • Chapter 41. Check your adapters.
  • Chapter 42. I/O and The south bridge.
  • Chapter 43. SCSI, USB and Firewire.
  • Chapter 44. Hard disks, ATA and SATA.
  • Chapter 45. System software. A small glossary.

Chapter 1. The PC, history and logic
The PC is a fascinating subject, and I want to take you on an illustrated, guided tour of its workings. But first I will tell you a bit about the background and history of computers. I will also have to introduce certain terms and expressions, since computer science is a subject with its own terminology. Then I will start to go through the actual PC architecture!

The historical PC
The PC is a microcomputer, according to the traditional division of computers based on size.
Microcomputers
No-one uses the expression microcomputer much anymore, but that is what the PC actually is. If we look at computers based on size, we find the PC at the bottom of the hierarchy.
  • Mainframes and super computers are the biggest computers – million dollar machines, as big as a refrigerator or bigger. An example is the IBM model 390.
  • Minicomputers are large, powerful machines which are often found at the centre of networks of “dumb” terminals and PC’s. For example, IBM’s AS/400. A definition that was used in the past, was that minicomputers cost between $10,000 and $100,000.
  • Workstations are very powerful user machines. They have the capacity to execute technical/scientific programs and calculations, and typically use a UNIX variant or Windows NT as their operating system. Workstations used to be equipped with powerful RISC processors, like Digital Alpha, Sun Sparc or MIPS, but today workstations can be configured with one or more of Intel’s more powerful CPU’s.
  • The PC is the baby of the family: Small, cheap, mass-produced computers which typically run Windows and which are used for standard programs which can be purchased anywhere.......

Click to Read More

A history of the personal computer: the people and the technology

This book is an exciting history of the personal computer revolution. Early personal computing, the "first" personal computer, invention of the microprocessor at intel and the first microcomputer are detailed. It also traces the evolution of the personal computer from the hardware and software hacker, to its use as a consumer appliance on the internet. This is the only book that provides such comprehensive coverage. It not only describes the hardware and software, but also the companies and people who made it happen.
Hardware from the MITS Altair to the IBM Personal Computer and the Apple Macintosh are covered. Separate chapters describe the developments at significant companies such as Apple Computer and IBM. Successful companies such as Compaq and Dell and the less successful ones such as Commodore and Osborne are also detailed.
Details of the software that powered the hardware are described. This includes application programs, operating systems, and programming languages. Two chapters describe the founding of Microsoft by Bill Gates and Paul Allen and the major contributions by the company to the personal computer industry.
The development of components such as disk drives, memory, modems, printers and video terminals are included. Associations, clubs, conventions and the numerous magazines that supported the industry are also chronicled.
The most extensive bibliography on the history of the personal computer industry and a complete index make the book a valuable reference source.
Finally share the excitement of the incredible success and fortunes created by people such as Michael Dell, Bill Gates and Steve Jobs.

Hardware Reference Material

Facts and figures on a variety of topics. If your not careful, you just may learn something new.
This ebook offers computer hardware description of various topics including
  1. Cables - Types and standards - General descriptions of networking and peripheral cables.
  2. RAM - Descriptions - Technology overview: banking, capacity and form factors.
  3. Processors - Intel Family - From the 8086 to the Pentium 4.
  4. Hard Drives - Standards - ST-506, ESDI, ATA, SCSI .
  5. Main Board - Evolution and Technology - XT, AT,baby AT, ATX .
  6. PC Bus types - Expansion Slots - Peripheral connectors and internal data routes.
  7. Storage Media - How data is stored - Methods for storing data onto digital media.
  8. Networking - IEEE 802.3 LAN's - Ethernets, TCP/IP, Equipment.

Click to Read More

Hardware Book

Welcome to the Hardware Book. Internet's largest free collection of connector pinouts and cable descriptions.
Connectors
  • Universal Serial Bus (USB)
  • ATX Power Supply
  • SCART
  • S-Video
  • VGA (15)
  • Serial (PC 9)
  • VGA (VESA DDC)
  • ATA (44) Internal
  • Pop-Port
  • IEEE1394

Cables

  • Nullmodem (9-9)
  • Ethernet 10/100/1000Base-T Straight Thru
  • Video to TV SCART
  • Ethernet 10/100/1000Base-T and 100Base-T4 Crossover
  • S-Video to SCART
  • S-Video to Composite
  • Cisco Console (9)
  • 9 to 15 pin VGA
  • IEEE1394 cable
  • Amiga to SCART

Computers

  • Apple TV
  • 800XL
  • Amiga 500
  • Amiga 1200
  • 800
  • C64
  • 800XE
  • 400
  • 1200XL
  • ZX Spectrum 128K

Adapters

  • PS/2 to Serial Mouse
  • PS/2 Keyboard Y (Gateway)
  • GameCube Memory Card to SD
  • 9 to 25 Serial
  • DIN to Mini-DIN Keyboard
  • Serial to PS/2 Mouse
  • Macintosh Video to VGA
  • PS/2 Keyboard Y (IBM Thinkpad)
  • Mini-DIN to DIN Keyboard
  • Nullmodem

Manufactures

  • Atari
  • Sega
  • IBM
  • SGI
  • Apple
  • NEC
  • Commodore
  • Sinclair Research
  • Spectravideo
  • Mattel

Click to Read More

Basic Computing Using Windows

Computers and Peripherals
What is a computer? A computer is a machine that inputs (takes in) facts and information (known as data), and then processes (does something to or with) it. Afterwards it outputs, or displays, the results for you to see. Data is all kinds of information, including, pictures, letters, numbers, and sounds. There are two main parts of computers, hardware and software. Hardware is all of the parts of the computer you can see and touch. Software is the instructions that a computer uses to do what you ask it to. Pieces of software are often called programs.
Many people mistakenly think that where the computer normally displays things is the computer. This is not true. That is the monitor. The computer is usually a box. Also, you may call the whole assembly of all the hardware (the computer and the monitor, for example) the computer.
There are different styles of monitors. One of these is the one already shown. It is called a CRT monitor. It takes more power than the other popular kind, called LCDs. However, CRT monitors work faster, which makes them better for fast games because the movement will blur less. LCDs are thinner than CRTs, but they are more expensive.

Upgrading & Repairing PCs Eighth Edition

Welcome to Upgrading and Repairing PCs, 8th Edition. This book is for people who want to upgrade, repair, maintain, and troubleshoot computers. It covers the full range of PC-compatible systems from the oldest 8-bit machines to the latest in high-end 64-bit workstations.
In addition, this book covers state-of-the-art hardware and accessories that make the most modern personal computers easier, faster, and more productive to use. Hardware coverage includes all of the Intel and Intel-compatible processors through the Pentium, Pentium Pro, and new Pentium II CPU chips; new cache and main memory technology; PCI local bus technology; CD-ROM drives; tape backups; sound boards; PC-Card and Cardbus devices for laptops; IDE and SCSI-interface devices; larger and faster hard drives; and new video adapter and display capabilities.
The comprehensive coverage of the PC-compatible personal computer in this book has consistently won acclaim since debuting as the first book of its kind on the market in 1988. Now with the release of this eighth edition, Upgrading and Repairing PCs continues its place as not only the best selling book of its type, but also the most comprehensive and easily used reference on even the most modern systems--those based on cutting-edge hardware and software. The book examines PCs in-depth, outlines the differences among them, and presents options for configuring each system at the time you purchase it.
Sections of this book provide detailed information about each internal component of a personal computer system, from the processor to the keyboard and video display. The book examines the options available in modern, high-performance PC configurations, and how to use them to your advantage; it focuses on much of the hardware and software available today and specifies the optimum configurations for achieving maximum benefit for the time and money you spend. At a glance, here are the major system components and peripherals covered in this edition of Upgrading and Repairing PCs:
  • Pentium II, Pentium Pro, Pentium, 486, and earlier central processing unit (CPU) chips.
  • The latest processor upgrade socket and slot specifications.
  • New motherboard chipsets and designs, including the ATX form factor.
  • Special bus architectures and devices, including high-speed PCI (Peripheral Component Interconnect) and VL-Bus (VESA Local), EISA (Extended Industry Standard Architecture), and MCA (Micro Channel Architecture).
  • Bus resources which often conflict such as Interrupt ReQuest (IRQ) lines, Direct Memory Access (DMA) channels, and Input Output (I/O) port addresses.
  • Plug and Play architecture.
  • Larger, faster hard drives and hard drive interfaces, including EIDE and SCSI.
  • Floppy drives, including 360K, 1.2M, 1.44M, and 2.88M drives.
  • New storage devices such as DVD, CD-ROM, and Magneto-Optical drives.
  • Increasing system memory capacity with SIMM and DIMM modules.
  • New types of memory including Synchronous Pipeline Burst cache, EDO RAM, Burst EDO, and Synchronous DRAM.
  • Large-screen Super VGA monitors and high-speed graphics adapter cards.
  • Peripheral devices such as CD-ROM drives, sound boards, and tape backups.
  • PC-Card and Cardbus devices for laptops.

Click to Read More/Download

Systems

Topics on the engineering of computer software and hardware systems: techniques for controlling complexity, system infrastructure, networks and distributed systems, atomicity and coordination of parallel activities, recovery and reliability, privacy of information, impact of computer systems on society. Case studies of working systems and outside reading in the current literature provide comparisons and contrasts. The group project is to write an NSF systems proposal to fund a middle-ware product, for announcement RFP01-63.
Contents

Intro to Systems, Critical Thinking about Systems, the Role of Complexity

  • Lucky's Bozos on the bus
  • Science of Scientific Writing
  • Worse is better
  • Architecture of Complexity

System Models, System Design

  • Hints for Computer System Design
  • An Investigation of the Therac-25 Accident
  • The X Window System

Basics of Operating Systems, Storage, Virtual Memory

  • The UNIX time-sharing system
  • Disk System Architectures for High Performance Computing
  • Virtual Memory for an Object Oriented Language

Other topics covering in this ebook are Distributed Systems, Virtual memory discussion, Networking, Distributed Storage, Security, Name Services, Time and Coordination, Distributed Transactions, Replication and Distributed Multimedia.

Click to Read More/Download

How Computers Work

Includes the basics of digital logical design, computer organization and architecture including assembly language, processor design, memory hierarchies and pipelining. Students examine the detailed construction of a very simple computer. Problem sets use Beta-Sim, a RISC simulator written by Mike Wessler. A higher level view of a modern RISC architecture is studied, using the Patterson and Hennessey introductory text, from both the programmer's point of view and the hardware designer's point of view. The distinction between RISC and CISC architectures is emphasized.
Contents
  • Philosophy and Roadmap, Simple Programs, Beta ISA
  • Storage Allocation, Stack Discipline, Calling Conventions
  • Unpipelined Beta, Exceptions
  • Implementing the ALU
  • Implementation of Beta Memories
  • Synchronous Finite State Machines (FSMs)
  • Flip flops, Asynchronous FSMs, Dynamic Discipline, Timing
  • Arbitration and Metastability
  • Static Discipline, Transistor-level design
  • Physics of Communication and Computation
  • Latency vs. Throughput, Explicit Parallelism
  • Pipelining the Beta, Hazards, Stalling, Anullment
  • Caches
  • Virtual Memory, Cache Coherence, Integration of Caches
  • Communications Networks
  • Explicitly Parallel Machines, Future Machines

Click to Read More/Download

Popular Posts