В старых системах передняя шина (FSB) была синхронно привязана к северному мосту и контроллеру памяти. Это означало, что без использования разделителей тактовых импульсов (введение сложной и дорогой схемы ФАПЧ для сохранения контроля над различными тактовыми частотами) ваша шина памяти будет работать на частоте FSB. В вашем случае DDR-400 был ответом, поскольку модули памяти DDR-400 имеют тактовую частоту 200 МГц.
Теперь, по мере развития истории, системы, которые все еще использовали FSB, теперь имели делитель тактовых импульсов между собой и контроллером памяти. Это позволило использовать разные скорости памяти, не зависящие от частоты FSB (поэтому, если мы установим FSB на 400 МГц и будем иметь тактовое соотношение 1:2, память будет работать на 400 * 1/2 = 200 МГц).
Я предполагаю, что, поскольку это не курс по компьютерной архитектуре, и поскольку был только один ответ, подразумевалось, что в системе не было делителя часов. Если бы это было (и даже почти все компьютеры с конца 90-х), мы могли бы просто решить, как заставить любой из перечисленных выше модулей памяти работать с компьютером.
Например, чтобы заставить работать DDR-333, нам нужны тактовые частоты памяти 166 МГц или делитель тактовых импульсов 5:6. Для DDR3-667 нам понадобится тактовая частота ввода-вывода памяти (не скорость памяти, а DDR3 другая):333 МГц или 5:3. Наконец, PC100 будет работать с делителем 1:2 для тактовой частоты памяти 100 МГц.
TL, DR: без делителя тактовой частоты памяти FSB должен соответствовать тактовой частоте памяти. С помощью делителя тактовых импульсов, если вы можете создать целочисленное соотношение X:Y для соответствия скорости памяти:FSB, то вы можете использовать этот модуль памяти (и это соотношение может быть удовлетворено для всех модулей памяти, перечисленных в вашем вопросе),