A Processor-in-memory (PIM) refers to a computer processor (CPU) tightly coupled to memory, generally on the same silicon chip.
The chief goal of merging the processing and memory components in this way is to reduce memory latency and increase bandwidth. Alternatively reducing the distance that data needs to be moved reduces the power requirements of a system. Much of the complexity (and hence power consumption) in current processors stems from strategies to deal with avoiding memory stalls.
In the 1980s, a tiny CPU that executed FORTH was fabricated into a DRAM chip to improve PUSH and POP. FORTH is a Stack-oriented programming language and this improved its efficiency.
The Transputer also had large on chip memory given that it was made in the early 1980s making it essentially a Processor-in-memory.
Notable PIM projects include the University of California, Berkeley IRAM project or the University of Notre Dame PIM effort.