Yes.... In Hyperthreading, you have 2 physical CPUs and 4 Logical ones.
At least, that's the story. AFAIK, you strickly need code that's hyperthreading aware in order for this to be the case. What this means is that the application has to be hyperthreading aware. This is what I have been told, anyway. It would make perfect sense from an OS / C++ code, etc point of view.
In any case, its a far cry from actually have 4 CPUs, or having 2 CPUs that have 2 cores each. Multi-cored CPUs from Intel and AMD is comming soon.