Off-campus South Dakota State University users: To download campus access theses, please use the following link to log into our proxy server with your South Dakota State University ID and password.

Non-South Dakota State University users: Please talk to your librarian about requesting this thesis through interlibrary loan.


Jianmin Chen

Document Type

Thesis - University Access Only

Award Date


Degree Name

Master of Science (MS)

Department / School

Electrical Engineering

First Advisor

Douglas B. Miron


The Vector Processor is a Single-Instruction Multiple-Data (SIMD) parallel processing system based on the IBM PC/XT microcomputer. This system is designed for the purpose of economically achieving maximum speed in the computer execution of scientific and engineering computations on vectors. In these vector calculations, a variable name may represent a group of numbers, a group of logic values, or a group of characters. We call this variable a vector. A vector may have meaning in its own right, or it may be a part of an array, for instance, a row or a column of an array. Manipulations and operations with vectors have been used by mathematicians, scientists and engineers for centuries as a very powerful tool in procedures for analysis and design. The topic of vectors and matrices and their applications has been discussed at length by Deif (1982) [1] and Rice (1981) [2]. The system block diagram of the Vector Processor is shown in Figure 1.1. The I808X ( X=6 or 8) Microprocessor in the IBM PC/XT is chosen as the host processor and the Vector Controller is designed to coordinate and control the activities of 16 I8087 Numeric Data Processors , also called Math Coprocessors , with that of the host processor . In the Vector Processor, any number of the 16 I8087 Math Coprocessors may execute a common instruction simultaneously on their different data. This is what is called SIMD parallel processing. The vector computations are done by loading the data elements sequentially into the I8087 Math Coprocessors and executing a computation instruction on these data in parallel. The activity of each I8087 coprocessor in sequential and parallel operations is controlled by the Vector Controller which recognizes and executes the vector control instructions. Besides SIMD parallel processing, the Vector Processor can also perform virtual Multiple-Instruction Multiple-Data (MIMD) parallel Processing by using the concurrency feature of the I8087 Math Coprocessor. In this virtual MIMD parallel mode, the executions of different instructions start in sequence, and the execution times are overlapped. The ensuing chapters provide the materials from the basic principle through the detailed description for the design and development of the Vector Processor. Chapter 2 and Chapter 3 describe the I808X Microprocessors and the I8087 Coprocessor 's architecture respectively. Chapter 4 describes the memory organizations and the bus operation of the I808X system. Most of these three chapters are from References [6], [7] and [8] . Chapter 5 explains the operation modes and I8087 activity control in the Vector Processor. Chapter 6 presents the instructions of the Vector Processor and their encoding. In Chapter 7, design and development of the vector controller are discussed in detail. The construction, testing and debugging of the vector processor are also described in the end of this chapter. In Chapter 8, the regulations and methods for the programming of the Vector Processor are discussed. Finally, some conclusions and suggestions are discussed in Chapter 9.

Library of Congress Subject Headings

Vector processing (Computer science)
Parallel processing (Electronic computers)



Number of Pages



South Dakota State University