Processor system and multi-processor system
The core of a computer system is the central processing unit.
1. Single processor system: A computer system only includes one arithmetic processor.
2. Multi-processor system: A computer system has multiple computing processors.
3.Serial and parallel
·Early computer systems are sequential processing machines based on a single processor. Programmers write code that executes serially and let them serialize on the processor. Line execution, the execution of each instruction is also serial (fetch instructions, fetch operands, perform operations, store results).
4. Computer system structure classification
Computer systems can be divided into the following four categories:
·Single instruction stream and single data stream (SISD): one processor Execute a single instruction stream on the data in a memory.
Single instruction stream and multiple data streams (SIMD): A single instruction stream controls the simultaneous execution of multiple processing units. Each processing unit includes a processor and related data storage. One instruction controls different processor pairs. Operate on different data. Vector machines and array machines are representative of this type of computer system.
In a SIMD computer, there is a control unit (also called a control unit) and many processing units. A large number of processing units usually form an array, so SIMD computers are sometimes called array processors. All processing units work under the unified control of the control unit. The control component broadcasts the same instruction to all processing units, and all processing units execute this instruction at the same time, but the data operated by each processing unit is different. The control component can selectively shield some processing units, and the shielded processing units do not execute the instructions broadcast by the control component.
·Multiple instruction stream and single data stream (MISD): A data stream is transmitted to a group of processors, and the processing results are finally obtained through different instruction operations on this group of processors.
Different processors cooperate to process the same set of data in different modes, hoping to get results in the fastest and best way.
·Multiple instruction streams and multiple data streams (MIMD): Multiple processors simultaneously execute different instruction streams for different data sets. MIMD systems can be divided into two categories: shared memory tightly coupled MIMD systems and memory distributed loosely coupled MIMD systems.
According to the processor allocation strategy, the tightly coupled MIMD system can be divided into two types: the master-slave system MSP (Main/Slave Multiprocessor) and the symmetric system SMP (Symmetric Multi-Processor).
The basic idea of the master-slave system is: run the operating system kernel on a special processor, and run user programs and operating system routines on other processors. The kernel is responsible for allocating and scheduling each processor , And provide various services to other programs.
There are two or more processors in a symmetric multi-processor system, and the operating system kernel can run on any processor. Each processor can self-schedule running processes and threads, and multiple threads of a single process can run on different processors at the same time. The operating system kernel is also designed to be multi-process or multi-threaded, and various parts of the kernel can be executed in parallel.
In the loosely coupled MIMD system, each processing unit has an independent internal memory, and each processing unit communicates through a set line or network, and the multi-computer system and the cluster system are both It is an example of a loosely coupled MIMD system.
The processor of a computer system includes a set of registers. The access speed is fast. The information stored in this set of registers has a lot to do with the execution of the program, and constitutes the processor site.
·When each process is temporarily suspended, the operating system must save relevant information (including the processor site) to ensure that the process can continue to execute at some point in the future.
These registers can be divided into the following categories:
·General-purpose registers: Many functions can be specified by the programmer, such as storing operands or used as addressing registers.
·Data register: store operands as a cache of memory data.
·Address register: Specify the memory address, such as index register, segment register, stack pointer register, etc.
·I/O address register: Specify the I/O device.
·I/O buffer register: used to exchange data between the processor and the I/O device.
·Control register: store the control and status information of the processor, including at least the program counter PC and instruction register IR, interrupt register and registers used for memory and I/O module control. There are also a memory address register that stores the address of the memory cell to be accessed, and a memory data register that stores data read from the memory or to be written.