Suppose that you have a personal computer, which has 8 GB memory and the clock frequency is 4 GHz. Question: Are the “G” in 8 GB and “G” in 4 GHz same? The answer will be given in the last part of this section. Before that, we introduce the terminologies of “computer” and “computer system”, a brief history of the computer, instruction set architectures (ISAs), and the differences between RISC (reduced instruction set computer) and CISC (complex instruction set computer).
1.1.1 Organization of Computer Systems
You may know what a “single-chip computer” is, or have heard about it (it does not matter even if you have never). It is an IC (integrated circuit) chip, in which there is a CPU (or a microprocessor), a small amount of memory, and some I/O interface controllers. Generally, any IC chip or printed circuit board that contains these three kinds of components is called a computer.
Then, one more question: is it possible for an end user to use this computer directly? The answer is “no”. The computer we often say is actually a “computer system”. A computer system consists of not only a computer, but also the software, I/O devices, and power supply.
The essential software is an operating system (OS). It manages all the resources of the computer, I/O devices, and other software, and provides an interface for users to use the computer system. The MS-DOS (Microsoft disk operating system) was the early operating system for IBM PC. The various versions of Windows were then provided with graphical user interfaces (GUIs). Another OS is the open-source Linux kernel. The various versions of the operating systems that support GUI, such as Fedora, Ubuntu, OpenSUSE, CentOS, and Scientific Linux, were developed on the top of the Linux kernel. All of the above are called “system software”.
Software is a collection of programs and related data. A program provides the instructions for telling a computer what to do and how to do it. The instructions are represented in binary format that a computer can understand. An executable program is usually generated by a compiler, based on the source codes of the program which are prepared by the programmers. Programmers develop source codes in a high-level programming language, C for instance, with a text editor. A debugger is often used by programmers to debug the program. The compiler, editor, debugger, and other libraries are also programs, sometimes we call them “utilities”. All programs other than the system software and utilities are called “applications”.
I/O devices, also known as peripheral devices, are like the wheels of a car. The keyboard, mouse, display, hard disk, and printer are typical examples of I/O devices. A netw...