IN-MEMORY COMPUTING WITH CMOS AND EMERGING MEMORY TECHNOLOGIES