1. A method of context switching, the method comprising the steps of: applying, by a processor, a data transformation to at least one portion of a received data stream, the data transformation comprising at least one of cryptography, multi-media processing, network protocol conversion, and a compression/expansion conversion; generating, by the processor, i) corresponding current context data based on the data transformation of the at least one portion; and ii) a signal when the data transformation completes; storing, in memory, each context data for a corresponding data stream as aggregated context data, the aggregated context data including current context data for the at least one portion of the received data stream and previous context data, if present, the context data comprising transformation data and history information for each data transformation applied to one or more portions of the corresponding data stream; and coordinating transfer, by a context control sub-processor based on the signal, the aggregated context data of the received data stream between the processor and the context memory; wherein the transformation data and the history information for the compression/expansion conversion comprise at least one of (i) de-compression history including values and organization for all internal storage elements, and a complete state of the data transformation, thereby recovering previous states prior to storage and (ii) compression history having a sub-set of de-compression history, a portion of the previous packet, state machine registers and stream statistical information, wherein, upon recovery, the sub-set of de-compression history is retrieved, and remaining logic of the processing core is set to a default state.