QorIQ P2020 is dual core integrated communication processor manufactured by Freescale. P2020 is designed based on PowerPC e500 architecture. The processor contains supporting system for networking, telecommunication, and wireless infrastructure. One of the powerful supporting system is the on-chip crypto processor that enables intensive security function such as echipherment, key generation and exchange, and authentication to be offloaded.
The P2020 security engine (SEC) is basically an on-chip co-processor that is designed to perform several cryptographic function within a specified range of system memory given by processor. The security engine itself is addressable through memory map and the mechanism is as easy as register transfer. The security engine will decode each descriptor packet and utilize supplied pointers as incoming and resulting buffer.
The P2020 SEC memory map can be divided into controller, channels and execution unit. The “controller” region is is taking care of controlling the whole security engine such as assignment, status, identification, and master control. The execution unit region is consisted of several execution unit. Each of them are taking care specific cryptographic function assigned by particular channel. The channels region contains 4 channels. Each channel is taking care of particular cryptographic function assigned to particular execution unit. Each channel could be associated to any execution unit, but only one execution unit can associated to a specific channel.
The purpose of channeling is to enable the multiple cryptographic processing. User may use simple “round robin” scheduling or “prioritized scheduling” to utilize those four channels. Thus, user may process up to four cryptographic processing in parallel. Moreover, P2020 Security Engine also support compound cryptographic processing, when a cryptographic inputs are taken from the output of previous cryptographic processing.
The P2020 Security Engine has capability of doing IKE, SSL/TLS, iSCSI, SRTP, 802.11i, WiMAX, 3G, A5/3 for GSM and EDGE, and GEA3 for GPRS. Those functionalities are made of several execution unit such as AESU (Advanced Encryption Standard Unit), AFEU (Alleged RC4 Execution Unit), CRCU (Cyclical Redundancy Check Unit), DEU (Data Execution Unit), KEU (Kasumi Execution Unit), STEU (SNOW3G Execution Unit), MDEU(Message Digest Execution Unit), PKEU (Public Key Execution Unit) and RNGU (Random Number Generator Unit). Each execution unit are equipped by FIFO-in and FIFO-out mechanism, except RNGU MDEU and CRCU.