Multi-core Program Design Technology
1. Computer and Turing machine of the Von noiman Architecture
The computer operating principle of the Von noriman architecture: binary is used inside the computer, and the computer uses five modules: controller, memory, and input/output devices. Programs can be stored and automatically executed. The data enters the computer memory through the input device, performs logical and arithmetic operations in the host under the Controller's command, and sends the result to the computer user through the output device. In this structure, the program is the sequence of commands stored in computer memory in order, and the commands are executed in order.
A Turing machine is not a specific machine, but an ideological model. It is a very simple computer device with powerful computing capabilities. The device is composed of a controller and a load (acting as a memory) that assumes that the two ends are unbounded. The work is divided into squares of the same size. Each grid can contain symbols of a given alphabet. The controller can move left and right on the belt and give the expected result.
2. factors contributing to software concurrency
With the development of the process of human civilization, the demand for the outside world is also increasing. Therefore, customer requirements are one of the factors that lead to software concurrency.
In addition to external factors and internal factors, software concurrency is pushed to the spotlight. First, we should make full use of existing computer resources to keep computers busy as much as possible. Second, the software has inherent concurrency characteristics (it should be at a certain point in time). When you read your disk files, I wait for my network package, and he does his data computing. The operation is irrelevant. Why not do it together? In fact, similar Principles have already been applied to junior high school students. Everyone should remember the story of Hua Luogeng's boiling water. This text has been deeply imprinted on my mind.
3. Concurrent and parallel)
If two events occur within the same interval, the two events are concurrent. If two events occur simultaneously at any time point, they are called parallel events.
4. Currently, computers generally belong to SIMD and MIMD machines.
5. Differences between single-core (up), multi-core (CMP), hyper-threading (HT/SMT), and multi-processor (SMP)
For details, see the 9th page of the book. Add it in another day.
6. measurement criteria -- Amdahl's law and Gustafson's Law