A Survey of Computing-in-Memory Processor: From Circuit to Application