Ultra-Efficient Processing In-Memory for Data Intensive Applications