Devices in different VLANs cannot communicate with each other by default. To do this, you would need to configure layer 3 VLAN interfaces for each VLAN and enable inter vlan routing. If you do so, you will need to use ACLs to control traffic.
With PVLAN, you have concept of Isolated VLAN which is a secondary VLAN and members of Isolated VLAN cannot talk to any other device other than promiscuous port. The following page should help(written for 6500 but concept is the same)
http://www.cisco.com/warp/public/473/90.shtml