A programmable processing engine and a method of operating the same is
described, the processing engine including a customized processor, a
flexible processor and a data store commonly sharable between the two
processors. The customized processor normally executes a sequence of a
plurality of pre-customized routines, usually for which it has been
optimized. To provide some flexibility for design changes and
optimizations, a controller for monitoring the customized processor during
execution of routines is provided to select one of a set of pre-customized
processing interruption points and for switching context from the
customized processor to the flexible processor at the interruption point.
The customized processor can then be switched off and the flexible
processor carries out a modified routine. By using sharable a data store,
the context switch can be chosen at a time when all relevant data is in
the sharable data store. This means that the flexible processor can pick
up the modified processing cleanly. After the modified processing the
flexible processor writes back new data into the data store and the
customized processor can continue processing either where it left off or
may skip a certain number of cycles as instructed by the flexible
processor, before beginning processing of the new data.
Een programmeerbare verwerkingsmotor en een methode om het zelfde worden in werking te stellen beschreven, de verwerkingsmotor met inbegrip van een aangepaste bewerker, een flexibele bewerker en een gegevensopslag algemeen deelbaar tussen de twee bewerkers. De aangepaste bewerker voert normaal een opeenvolging van een meerderheid van pre-aangepaste routines uit, waargewoonlijk voor het is geoptimaliseerd. Om wat flexibiliteit voor ontwerpveranderingen en optimalisering te verstrekken, wordt een controlemechanisme voor de controle van de aangepaste bewerker tijdens uitvoering van routines verstrekt om één van een reeks pre-aangepaste verwerkende onderbrekingspunten en voor omschakelingscontext van de aangepaste bewerker aan de flexibele bewerker op het onderbrekingspunt te selecteren. De aangepaste bewerker kan dan worden uitgeschakeld en de flexibele bewerker voert een gewijzigde routine uit. Door deelbaar te gebruiken kan een gegevensopslag, de contextschakelaar worden gekozen op een tijdstip waarop al relevante gegevens in de deelbare gegevensopslag zijn. Dit betekent dat de flexibele bewerker de gewijzigde proper verwerking kan opnemen. Nadat gewijzigd verwerkend de flexibele bewerker achter nieuwe gegevens in de gegevensopslag schrijft en de aangepaste bewerker kan blijven verwerkend of waar het verliet of kan weg een bepaald aantal cycli overslaan zoals die door de flexibele bewerker wordt geïnstrueerd, vóór beginverwerking van de nieuwe gegevens.