A data processing system for processing data via a plurality of processing blocks, comprising:
- a plurality of block control circuits provided corresponding to said respective processing blocks,
- said block control circuits controlling corresponding processing blocks by a clock synchronization respectively and transferring a handshaking control signal with other block control circuits, thereby controlling a data transfer between said processing blocks by self-synchronization type handshaking,
- wherein each said processing block has a plurality of subblocks and said data are processed via said plurality of subblocks,
- at least one of said plurality of subblocks outputs a complete signal indicating that a data processing is completed, and
- each of said plurality of block control circuits has:
- an end detecting section for detecting an end of a data processing in a corresponding one of said processing blocks upon receipt of said complete signal output from said at least one of said plurality of subblocks;
- and
- a transfer control section for receiving a detection result signal output from said end detecting section to control supply and stop of a clock for a corresponding one of said processing blocks in response to a stop signal created based on said detection result signal and for transferring said handshaking control signal to control a data transfer between said plurality of processing blocks by self-synchronization type handshaking.