The PIC16F84A has 1024 words of program memory, 68 bytes of data RAM, and 64 bytes of EEPROM data memory. It has 13 I/O pins that are configurable. The program memory contains instructions. The data RAM is used for storing variables. The EEPROM data memory is used for non-volatile storage. The device has an 8-level hardware stack for subroutine calls.