processing, such as computing Fast Fourier Transforms (FFTs), the data is partitioned into
blocks of a finite length. Processing is performed on the entire block of data. In this block type
processing, assuming a single processor, real-time operation essentially means that all processing
next block of data to be processed is captured. This concept is illustrated in Figure 12 [26].
capture all of the next block of data (again assuming a single processor), data collection must be
stopped until the processing is completed. At that time data collection may resume. Under these
conditions some of the input data is missed and is not processed. This is an example of
processing that does not take place in real time. Depending upon the application and the amount
29
This problem can be alleviated by using two or more processors operating cooperatively. This
general technique is called multiprocessing and is used frequently. To illustrate how
multiprocessing can be used to speed up overall data throughput, consider the previous example
of data partitioned into data blocks but with two processors available instead of one. As shown in
Figure 13, processor 1 operates on one block of data and processor 2 operates on the next block
of data. The processors continue to operate on alternating data blocks. The processed data output
is obtained by switching back and forth between the outputs of the two processors. This is
sometimes called a “ping-pong” technique. Using this technique, the processing time of each
processor can take longer than the time to capture the next block of data and still provide real-
time output. The processing time cannot exceed the time to capture the next two blocks of data,
however. This technique can be extended to more than two processors to achieve even faster
overall data throughput.
Figure 13. Real-time processing for block data using two processors.
Chia sẻ với bạn bè của bạn: