http://ru.wikipedia.org/wiki/Ядро_микропроцессора
http://ru.wikipedia.org/wiki/Hyper-threading
Умножать частоту на количество ядер = демонстрировать идиотизм.
Многопоточность - возможность исполнения нескольких инструкций в одном цикле. Реализовать получается не всегда, плюс - не все программы написаны так, чтобы это было вообще возможно - т. е. нужно писать код, ориентируясь на то, что процессор многопоточный.
Ни то, ни другое не является правилом, эдаким руководством к действию. Нужно принимать во внимание прежде всего актуальность архитектуры - процессор последнего поколения имеет все шансы быть сильнее своих предшественников. Есть случаи, когда процессоры с меньшей тактовой частотой оказывались сильнее процессоров с большей тактовой частотой: не так давно компании AMD "пришлось" в марках своих процессоров писать индекс-отсыл к производительности процессоров своего конкурента. Народ велся на высокие тактовые частоты, а у процессоров AMD, благодаря особенностям архитектуры, производительность оказывалась выше даже при меньших частотах. Ну, или Core2Duo с меньшими частотами "разрывали" последние Pentium с более высокой тактовой частотой.
То же самое с количеством ядер - известны случаи, когда процессор с меньшим количеством ядер оказывался сильнее процессора с большим количеством ядер. За примерами даже к истории обращаться не надо - 8-ядерные процессоры AMD сейчас слабее 4-ядерных интоловских i7.