Vector computer, a parallel processing computer oriented to vector-based parallel computing, with a pipeline structure as the mainstay.
Vector operation is a relatively simple parallel computing, which has a wide range of applications. It is easier to implement and use by machine. Therefore, vector processing machines (vector machines) have developed rapidly. TI ASC (1972) and CDC STAR-100 (1973) were the first vector supercomputers (supercomputers) in the world. By the end of 1982, there were about 60 supercomputers in the world, most of which were vector machines. Both the tens of millions of times per second 757 machine and the billion times of "Galaxy" machine developed by China in 1983 are also vector machines.
Vector machine is suitable for linear programming, Fourier transform, filter calculation, matrix, linear algebra, partial differential equation, integral and other mathematical problems, mainly to solve meteorological research and weather forecast, aerospace vehicle design , Atomic energy and nuclear reaction research, geophysical research, seismic analysis, large-scale engineering design, and large-scale simulation of social and economic phenomena.
In ordinary computers, the basic operation object of machine instructions is scalar. In addition to scalar processing functions, vector machines also have a fully functional vector operation instruction system.
Performing the same operation on each component of a vector, or performing the same operation on the corresponding components of two vectors of the same dimension, or performing the same operation on each component of a vector with the same scalar, can produce A new vector, these are basic vector operations. In addition, it is still possible to perform certain operations between the components of a vector, such as continuous addition, continuous multiplication, or continuous comparison, so that it can be integrated into a scalar. In order to improve vector processing capabilities, basic vector operations can have some flexibility in execution, such as making certain components do not perform operations under bit vector control, or adding other special vector operations, such as two monotonic unequal dimensions Logical merging of rising integer vectors, vector compression and restoration.
The arithmetic operations performed on each component of the vector are generally independent of each other and independent of each other, so they can be executed in parallel in a variety of ways. This is vector parallel computing . Parallel execution of vector operations mainly adopts pipeline mode and array mode.
The size of the main memory (main memory) limits the problem-solving scale of the machine. The vector machine is mainly used to solve large-scale problems. It must have a large-capacity main memory, and it should be a centralized public memory to facilitate user use and programming. When the high-speed operation pipeline starts, it needs to continuously supply operands and take away operation results. It also requires the main memory to have a high data transfer rate, otherwise high-speed operation cannot be maintained.
The speed of memory is always lower than that of arithmetic components. The data path between the memory and the arithmetic components is the "bottleneck" that hinders the increase in speed, and the increase in main memory capacity is in line with the increase in access speed. Contradictory. Therefore, how to match the main memory with the operation in terms of speed is one of the key issues in the design of a vector machine.
This machine adopts the longitudinal processing method of the full length of the vector. Every time a vector operation is executed, all the components of the operation are executed from the beginning to the end, and the operands or result vectors are directly Take self-storage or write to main memory. The data transfer rate of the main memory must be configured at 3 to 4 times the speed of the arithmetic unit. The longitudinal processing vector machine sets up cross-accessed, numerous memory banks and a wide data path, and accesses in units of ultra-long words in order to meet the requirements. In this way, the cost is high, the flexibility of the main memory system is poor, and it is difficult to achieve efficient access to a large number of main memory vectors. In addition, the start-up time of vector operations is long, and the speed of short vector operations decreases greatly.
Vertical and horizontal
This machine adopts vector segmented vertical and horizontal processing, and is equipped with multiple vector operation registers with small capacity and high speed. When calculating vector operation expressions, each vector operation only executes one segment at a time. The operand vector accessed from the main and the intermediate result vector generated by the operation can be stored in the vector register section by section, and the arithmetic component mainly accesses the vector register group. In this way, it can ensure the high-speed operation of the arithmetic components, and at the same time reduce the burden of the main memory, so that the data transmission rate of the main memory is reduced by about 70% compared with the longitudinal processing. Both the American CRAY-1 machine and China's 757 machine belong to this type.
Software and Applications
Vector machines are generally equipped with vector assembly and vector high-level languages for users to compile vector programs that can realize the speed potential of specific vector machines. Only by developing and adopting vector-type parallel algorithms, the more vector operations contained in the program and the longer the vector, the higher the operation speed will be. The establishment of vector library for various application fields can facilitate users to use and improve the problem-solving efficiency of vector machines. The vector recognition program is a newly developed part of the compiler. It is used to automatically recognize the vector operation components in the source program using the usual serial algorithm when compiling, and compile it into the corresponding vector operation target program to improve the calculation of the vector machine. The calculation speed of the vector program. The vector recognition technology needs to be further developed and improved to improve the recognition level.
The development direction of vector processing machine is multi-vector machine system or cell structure vector machine. To realize the former, progress must be made in software and algorithms to solve many problems such as task division and dispatch; the latter must use an appropriate interconnection network and use hardware to automatically solve the problem of users using decentralized main memory as a centralized coexistence. Only the contradiction brought about can constitute a cell structure vector machine of virtual coexistence. It not only has the advantage that the array machine is easy to expand the number of parallel units in the structure to increase the speed, but also has the advantage that the vector machine is convenient to use.