Which device can understand difference between data and programs?
Microprocessor device can understand difference between data and programs.
Program is an instruction that goes to your CPU and your CPU decides which pins on the CPU are turned on or off based on the instructions. Data is bits and bytes just like a program but does not go into your CPU as instructions, rather its used by program to carry out certain process.
A program is a set of data that consists of a series of coded software instructions to control the operation of a computer or other machine. Physical computer memory elements consist of an address and a byte/word of data storage.