actually thinking about it, did they tell you WHY it needs 4 new pistons? whats the mileage on your car?
Knocking will most likely be the big end bearings, and they can be replaced with the engine in the car! Normally caused by poor/no servicing, i.e been ragged most of its life without regular oil changes, or the wrong viscosity oil being used, thus wearing out the big end bearing