Vous êtes sur la page 1sur 4

Proceedngs of /E TENCON'UZ

A Dataflow Mechanism for High Speed Radar Signal Processing


Zhou Mingxin Tang Jun Peng Yingning
Department of Electronic Engmeenng. Tsinghua University, Beijing 100084. Chma
Phone 86-10-62771615,86-10-62781375

Email: ~ l i ~ ~ ~ i n i x ~ O ! r t , t'iiiizhii'~
i i i , ~ i t ~ C ~ Li Ii i

ABSTRACT

dependences. Executions can be parallel if data are

Based on the characteristics of radar

s i b a l processing, this paper presents a new dataflow driven

independent and the resources are available. It is not

mechanism for high speed radar signal processing. This

necessary for the programmer to check and define the

mechanism has been successfully applied in an experimental

parallelism existed likely in the program.

systeni (DSM), which is a general parallel software radar signal

Now there are many dataflow driven computer

processing computer, For implementing this mechanism, the

systems that have been implemented. Example studied

generation of dataflow tables during the compiling process is

include the MIT tagged-token dataflow architecture


(TTDA), the ETL Sigma-I (Hiraki and Shimada, 19871,

studied in detail with a sample program.


KEYWORDS

MTI/Motorola *T. ['I But the system based on dataflow

dataflow, coinpiler, parallel processing

driven mechanism, which is used in radar signal


processing, is not so sufficiently studied.
1.

Introduction

High speed real time signal processing system DSM

(Dataflow, Shared memory, and Multiple bus


interconnection) is designed to realize a general radar

Conventional Von Neumann computers are based on


a

control-flow driven mechanism

by

which

the

signal parallel processing system with supercomputer

instructions execution order is explicitly stated in the user

architecture. A prominent characteristic of radar signal

progranis. .4 program counter (PC) is used to sequence the

processing is pipelining among different operation blocks:

execution of instructions of a program. And shared

the whole process of one radar signal processing can

memory is used to hold program instructions and data.

always be divided iiito many operation blocks among

Therefore, the execution of one instruction may produce

which some blocks' results are other's inputs. Viewed

side effects on other instructions. In many cases, the side

from the procedure level, radar signal processing uses a

effects prevent parallel processing from taking place.

coarse grain dataflow driven mechanism. Every block in

In fact, instruction-driven can be implemented by

one system is a procedure and the Idoutput relationship

the data-driven dataflow mechanism which casts off the

among the blocks is the data driven relationship among

control-flow mechanism implemented in Von Neuiiiaiin

the procedures. In DSM system, procedures are driven by

computers. In dataflow computer, one instruction or

their dataflow relationship. This paper presents a

instruction group can be executed immediately once all

quasi-dynamic dataflow inechanisni used in DSM system.

the operands needed become available. The execution of

The generation of the data flow tables during the

instructions is completely driven by dataflow and there is

compiling process is studied and demonstrated by a

no a fixed order. The order is determined by the data

0-7803-7490-8/02/$17.00O2002IEEE.

simple procedure for radar signal processing.

359

Dataflow Driven

process simple and allow more than one token on one arc,

-4s introduced before,

order of instruction executi

DSM system. Data in the system are divided into n


iterations, corresponding to n data sections. All the data

dependence in the program. Data are passed as data tokens

and relevant data tokens in one iteration are put into one

2.

a quasi-dynamic dataflow driven mechanism is used in

directly between instructions. Based on the different

data section. Thus the single token has no tag, which

management modes of data tokens, dataflow computer

makes the token matching simple. And data tokens in

architecture can be classified as static dataflow computer

different data sections are allowed to reside on a same arc.

and dynamic dataflow computer. [*I

A. Static Dataflow Computer


The main character of static dataflow is that the data

Figure 1 shows the dataflow architecture in DSM


system.
Procedure Code
Sect ion

tokens have no tags. It simply prohibits more than one

Section

......

token to reside on any one arc in any time to ensure the

......

correct action. A node is enables as soon as tokens are

Processing

Match Unit

present on all input arcs. Because the tokens have no tags,

tI

if two or more tokens appear at same arcs in one time, the

Il-b

node will not be able to distinguish these data. Therefore a


control token must bk set to schedule data when data flow

Token
Input Data
PO01

from one node to another.

*
Update Unit
outout Data

Token Grouos

Figure 1 Dataflow Architecture III DSM System

B. Dynamic Dataflow Computer


When the match unit detects that all the data tokens

The main character of dynaniic dataflow is that the


data tokens have tags, which allows more than one token

needed in one procedure are ready in the input data token

with different tags appear on one arc at the given time.

pool, it fetches the codes of this procedure and send it to

Tag of a token is a label, which can identify the time

the processing unit. All the data this procedure needs is in

relations of the token (sometimes it is called color). There


is no need to use the control token ah in the static dataflow

the program data section. New data generated during the


execution are put into output data token groups, which are

computer to certificate the transmission of data tokens

to be sent to the input data token pool. By these input data

between the instructions. For the instructions that need

and the judgment of the match unit, some new procedures

more than one groiip of data tokens, identification is

may become executable.

B. Generation of the Dataflow Tahles


To fulfill the dataflow architecture showed in figure 4,

implemented through the match of the tokens tag.


3.

Dataflow Driven Mechanism in DSM system

the compiler should generate two tables, which calls


dataflow tables in DSM system. One is output data token

A. Dataflow Architecture

table where the output token groups are stored; the other is

The static dataflow has a simple drive process due to

input data token table where the input data chains are

its no-tag data tokens. But it disallows more than one

stored. The two tables can generate the input data token

token on the same arc in dataflow graph. The dynamic

pool in figure 4.

dataflow drive process is more complex. Both the data


token and its tag must be taken into account when

A simple program for the radar signal processing w ~ l l


demonstrate the generation process of the dataflow tables

matching the data tokens. In order to-make the drive

3 60

I
I

1;

The flow chart is showed in figure 2 .


Input

D i g i t a l Beam

Block

Forming

In the main procedure there are 4 procedures: Input,

Pulse
Compression-

Sweight, Sbeamform and Pulse compression. During the


intermediate code generation of the compilation, the
compiler will record the input and output data chain for
each procedure. The Input chain of the example above is:
I Procedure Called I Input data chain I
Input
Sweight
Sbeamform
sw. sx

Figure 2 Flow Chart of a simple radar signal processing program


The weight calculation block generates the weight
data based on the data from the input block. The results

are sent to the digital beam forming block, whose results


will be used to for pulse compression. The example source

Table 1: Input chain of the example program

code written in the parallel high level language of DSM

And the output data chain is:

system is showed as follows:


Input
Sweight

//Definition of the variables


float Sw[16, I];

//weight

Sbeamlmii

sz

Spulse

float Sx[512, 161; //input data


float Sy[512, 161;

//output data of the beam

formation block
float Sz[512, 161;

//output data of the pulse

coinpression block
Procedure
//Declaration of the procedure and function

proc Input(): float[512, 161;

Input

proc Sweight( float a[512, 161 ): float[512, 161;


Sweight
Sbeamform

proc Sbeamform( float a[.5 12, 161, float a[5 12, 161 ):
float[5 12, 161;

Output Data token Table


Input data I Field ni h u t 1 Data
Chain
Datachain
1 Token
Sweidit
1
sx
Sbeamforni
2
sx
1
sw
Sbeamforni
Spulse
1
SY

I
I

Table 3: Output data token table of the example

proc Spulse( float a[512, 161 ): float[.512, 161;

Procedure Spulse does not appear in the output data


token table because its output data do not drive any other

// The iiiaiii procedure

procedure.

main()

The input data token table IS:


Procedure
Input data token

Sx = Input(); // Input
Sw = Sweight(Sx);

Sbeamform

sw. s x

/I Calculation of the weight

lable 4: Input data token table ofthe example

Sy = Sbeamform( Sw, Sx);

The system can realize the dataflow driven process

// Digital Beam formation

of the example with the dataflow tables generated above.

Sz = Spulse( Sy 1;

Procedure Input is started up by the system. After Input

// Pulse compression

361

the parallel execution and the dataflow driven relation

procedure is completed, the update Unit of the system will


get the output data token Sx of Input procedure by looking

already exists in the radar signal processing. Furthermore,

up the output data chain and then fill Sx into the first field

this kind of data-drive relation also exists in the

of procedure Sweights input data token chain and the

interrelated domain of signal processing such as image

second field of procedure Sbeamforms input data token

processing, biomedicine

[31,

etc, thus a feasible system

chain. Procedure Sbeamform keeps in the waiting state

architecture for the signal processor in those fields is

because of the lack of the data token Sw. Procedure

expected to be offered via the practice in the DSM system.

Sweight need only one data, so the match unit can started
the execution because all the data token Sweigh needs are

Reference

available. Data token Sw will be ready after the execution


of procedure Sweight. It will be filled into the first field of

[11 Kai Hwang, Advanced Computer Architecture,

procedure Sbeaiiifornis input data token chain. Now all

Parallelism, Scalability, Programmability,

the data tokens for Sbeaniform are ready so the match unit

China Machine Press/McGraw-Hill, 1999


[2] Zheng Weimin et al. Computer System Architecture,
Tsinghua University Press, Beijing, 1992

can start up the execution. Then the execution of


procedure Spulse will be started up by the data token Sy.
System deals with the case that many tokens appear

[3] Guang R. Gao, Lubomir, Jean-Luc Gaudiot, Advanced

on the same arc through multi-data-section. In the

Topics in Dataflow Computing and Multithreading,

example above, if during the time when Sbeamform is

IEEE Computer Society Press, 1995

waiting for the data token Sw of the first iteration


procedure, Input procedure has already generated the data
token Sx of the second iteration. And the token Sx of the
first iteration still exists due to the demand of procedure
Sbeamform, which makes two data tokens reside on one
arc. Two data sections must be used to avoid the conflict.
Data tokens of the first iteration are stored in the first data
section and those of the second iteration in the second one.
In practice the case that more than two tokens appear on
the same arc may take place in the system. The Operating
system should select appropriate number of the data
section.
4.

Conclusion
It is a new attempt applying the super computer

architecture to modern radar signal processing and using


quasi-dynamic

dataflow

mechanism

as the

drive

mechanism between procedures. It is promising since the


dataflow computer can distinctly improve the efficiency of

362

Vous aimerez peut-être aussi