Understanding the In Memory Computing Architecture