В старых системах передняя шина (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, то вы можете использовать этот модуль памяти (и это соотношение может быть удовлетворено для всех модулей памяти, перечисленных в вашем вопросе) ,