A formal process for systolic array design using recurrences

A systolic array is essentially a parallel processor which consists of a grid of locally-connected sub-processors which receive, process and pump out data synchronously in such a way that the patterns of data-flow to and from each processor is identical to the flow to and from the other processors....

Full description

Bibliographic Details
Main Author: Puddicombe, Jonathan
Published: University of Edinburgh 1992
Subjects:
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.660797
id ndltd-bl.uk-oai-ethos.bl.uk-660797
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-6607972016-04-25T15:18:54ZA formal process for systolic array design using recurrencesPuddicombe, Jonathan1992A systolic array is essentially a parallel processor which consists of a grid of locally-connected sub-processors which receive, process and pump out data synchronously in such a way that the patterns of data-flow to and from each processor is identical to the flow to and from the other processors. Such arrays are repetitive and modular and require little length of communication interconnection, so that they are relatively simple to design and are amenable to efficient VLSI implementation. The systolic architecture has been found suitable for implementing many of the algorithms used in the field of signal- and image-processing. A formal design method is a precisely defined method which, if followed, will yield a design satisfying a given specification. Such a method is amenable to proof that, if the method terminates, then the output design is valid. When proven correct, such methods are useful for designing equipment which is safety-critical or where a design fault discovered after manufacture would be expensive. This thesis presents a formal design method for implementing certain signal-processing and other algorithms as systolic arrays. As a necessary preliminary to the method, a calculus is defined. The basic concept, that of a 'computation', is powerful enough to express both abstract algorithms and those whose suboperations have been assigned a place and a time to execute. Computations may be composed or abstracted (by having variables hidden) or may have their variables renamed. The 'implementation' of one computation by another is defined. Using this calculus it is possible to formalise concepts like 'dependency' (of data or control) and 'system or recurrence equations', which often appear in the literature on systolic array design. The design method is then presented. It consists of four stages, pipelining of data dependencies, scheduling, pipelining of the control variables and allocation of subprocessors to the subcomputations.621.3University of Edinburghhttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.660797http://hdl.handle.net/1842/12807Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 621.3
spellingShingle 621.3
Puddicombe, Jonathan
A formal process for systolic array design using recurrences
description A systolic array is essentially a parallel processor which consists of a grid of locally-connected sub-processors which receive, process and pump out data synchronously in such a way that the patterns of data-flow to and from each processor is identical to the flow to and from the other processors. Such arrays are repetitive and modular and require little length of communication interconnection, so that they are relatively simple to design and are amenable to efficient VLSI implementation. The systolic architecture has been found suitable for implementing many of the algorithms used in the field of signal- and image-processing. A formal design method is a precisely defined method which, if followed, will yield a design satisfying a given specification. Such a method is amenable to proof that, if the method terminates, then the output design is valid. When proven correct, such methods are useful for designing equipment which is safety-critical or where a design fault discovered after manufacture would be expensive. This thesis presents a formal design method for implementing certain signal-processing and other algorithms as systolic arrays. As a necessary preliminary to the method, a calculus is defined. The basic concept, that of a 'computation', is powerful enough to express both abstract algorithms and those whose suboperations have been assigned a place and a time to execute. Computations may be composed or abstracted (by having variables hidden) or may have their variables renamed. The 'implementation' of one computation by another is defined. Using this calculus it is possible to formalise concepts like 'dependency' (of data or control) and 'system or recurrence equations', which often appear in the literature on systolic array design. The design method is then presented. It consists of four stages, pipelining of data dependencies, scheduling, pipelining of the control variables and allocation of subprocessors to the subcomputations.
author Puddicombe, Jonathan
author_facet Puddicombe, Jonathan
author_sort Puddicombe, Jonathan
title A formal process for systolic array design using recurrences
title_short A formal process for systolic array design using recurrences
title_full A formal process for systolic array design using recurrences
title_fullStr A formal process for systolic array design using recurrences
title_full_unstemmed A formal process for systolic array design using recurrences
title_sort formal process for systolic array design using recurrences
publisher University of Edinburgh
publishDate 1992
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.660797
work_keys_str_mv AT puddicombejonathan aformalprocessforsystolicarraydesignusingrecurrences
AT puddicombejonathan formalprocessforsystolicarraydesignusingrecurrences
_version_ 1718234973936287744