Computer Hardware

If you use a desktop computer, you might already know that there is not any single part called the computer. A computer is really a system of many parts working together. The physical parts, which you can see and touch, are collectively called hardware. (Software, on the other hand, refers to the instructions, or programs, that tell the hardware what to do.)
Four categories of computer’s hardware
Fig. 1: Four categories of computer’s hardware.
A computer’s hardware devices fall into one of four categories (see Fig. 1): While any type of computer system contains these four types of hardware, this subject focuses on them as they relate to the personal computer; or PC.
Many computer scientists and engineers refer to themselves as hardware people or software people. By hardware, they generally mean the physical computer and all the specifications associated with it. By software, they generally mean the programs, whether operating systems like UNIX or Windows, or database systems like Oracle or DB-terrific, or application programs like Excel or Word. The implication is that the person knows a whole lot about one of these two things and precious little about the other. Usually, there is the further implication that it is OK to be an expert at one of these (hardware OR software) and clueless about the other. It is as if there were a big wall between the hardware (the computer and how it actually works) and the software (the programs that direct the computer's bidding), and that one should be content to remain on one side of that wall or the other.
As you approach your study and practice of computing, we urge you to take the opposite approach—that hardware and software are names for components of two parts of a computing system that work best when they are designed by someone who took into account the capabilities and limitations of both.
Microprocessor designers who understand the needs of the programs that will execute on that microprocessor they are designing can design much more effective microprocessors than those who don't. For example, Intel, Motorola, and other major producers of microprocessors recognized a few years ago that a large fraction of future programs would contain video clips as part of e-mail, video games, and full-length movies. They recognized that it would be important for such programs to execute efficiently. The result: most microprocessors today contain special hardware capability to process these video clips. Intel defined additional instructions, collectively called their MMX instruction set, and developed special hardware for it. Motorola, IBM, and Apple did essentially the same thing, resulting in the AltaVec instruction set and special hardware to support it.
A similar story can be told about software designers. The designer of a large computer program who understands the capabilities and limitations of the hardware that will carry out the tasks of that program can design the program more efficiently than the designer who does not understand the nature of the hardware. One important task that almost all large software systems have to carry out is called sorting, where a number of items have to be arranged in some order. The words in a dictionary are arranged in alphabetical order. Students in a class are often arranged in numeric order, according to their scores on the final exam.
There are a huge number of fundamentally different programs one can write to arrange a collection of items in order. Donald Knuth devoted 391 pages to the task in The Art of Computer Programming, vol. 3. Which sorting program works best is often very dependent on how much the software designer is aware of the characteristics of the hardware.

Do you want to say or ask something?

Only 250 characters are allowed. Remaining: 250
Please login to enter your comments. Login or Signup .
Be the first to comment here!
Terms and Condition
Copyright © 2011 - 2024
Privacy Policy