Principles of Computer Organization (Tang Shuofei) Chapter 1: Introduction to Computer System Knowledge Points (Part 1)

Principles of Computer Composition (Tang Shuofei)

Chapter 1: Introduction to Computer Systems

1. The concept of computer software and hardware

1. The computer system is composed of two parts: "hardware" (1) and "software" (2). The performance of a computer depends on the sum of the functions of the "soft" and "hard" components
(1) Hardware refers to the physical part of the computer. It consists of various visible and tangible electronic components and various types of optical, electrical, and mechanical equipment, such as mainframes and external devices.
(2) The software is invisible and intangible, and consists of programs with various special functions that people have compiled in advance. These programs are usually embodied in various media, such as RAM, ROM, magnetic disks, optical disks, tapes and even paper tapes.

Insert picture description here

2. Computer software can usually be divided into two categories: system software (1) and application software (2) (the two concepts must be distinguished)
(1) system software is also called system program, mainly used to manage the entire computer System, monitor service, make system resources get reasonable scheduling and efficient operation. It includes: standard library, language processing program (compilation, translation), operating system (such as batch system, time-sharing system, real-time system), service program (such as diagnostic program, debugging program, connection program, etc.), database management system , Network software, etc.
(2) Application software is also called application program, which is a variety of programs compiled by users according to task needs, such as scientific calculation programs, data processing programs, process control programs, and business management programs.

Insert picture description here

Second, the hierarchical structure of the computer system

3. Early computers only had machine language, which was very difficult to write, and the operation process was extremely error-prone, but it could be executed directly on the machine (M1) 4.
Symbolic programming language, namely assembly language, appeared in the 1950s. But in fact, no machine can directly recognize this kind of assembly language program. The assembly program must first be translated into a machine language program. This process is completed by the assembly program. We can regard the assembly program computer with translation function as an assembly program computer. A machine M2, but M2 is not an actual machine, but a machine with translation function that people feel there exists. This type of machine is called a virtual machine. Assembly language has no universality, and each machine must have a corresponding assembly language, so it is not conducive to the wide application and development of computers. 5. In
the 1960s, a problem-oriented high-level language appeared, and it also had strong universality. Software that translates high-level language programs into machine language programs is called translation software. There are two kinds of translation software: one is the compiler (1), the other is the interpreter (2) (if you want to have a better understanding, you can read the Dragon Book-Compilation Principles).
(1) The compiler is to translate all the statements of the high-level language program written by the user into a machine language program at once, and then execute the machine language program. So as long as the source program remains unchanged, there is no need to translate it again.
(2) The interpreter translates a sentence of the source program into a sentence corresponding to the machine language, and executes the sentence immediately, reciprocating execution. Its characteristic is that the translation is executed once, even if the sentence is executed repeatedly next time, it must be translated again.
6. Due to the development of software, the actual machine M1 extends upward to form virtual machines at all levels. In the same way, the inside of the machine M1 can also extend downward to form the next-level microprogram machine M0. M0 can be regarded as the decomposition of the actual machine M1. M0 is the actual machine.
7. Actually, there is a first-level virtual machine between the actual machine M1 and the virtual machine M2, which is composed of operating system software. The operating system provides certain basic operations required in the use and implementation of assembly language and high-level language, and also plays a role in controlling and managing all hardware and software resources of the computer system.
8. The virtual machine M4 can also be extended upward to form an application language virtual machine. Programs written in application languages ​​are generally translated from application packages to virtual machine M4.
9. At present, the operating system has been partially solidified (the software is permanently stored in read-only memory) and becomes firmware, etc.

Insert picture description here
Insert picture description here

Multi-level hierarchical computer system

3. Computer composition and computer architecture

10. Computer architecture refers to the attributes of a computer system that can be reduced by programmers, that is, conceptual structure and functional characteristics.
11. Computer composition refers to how to realize the attributes embodied in the computer architecture. It contains many hardware details that are transparent to programmers.
12. How to distinguish? For example: the instruction system reflects the attributes of the machine, which is a problem of computer structure, but the realization of instructions, that is, how to fetch instructions, analyze instructions, fetch operands, perform operations, send results, etc., all belong to the computer Composition issues. So when two machines have the same instruction system, they can only be considered to have the same structure

Guess you like

Origin blog.csdn.net/DoMoreSpeakLess/article/details/108290512