Zalety architektury opartej na stosie instrukcji JVM

Dlaczego wirtualna maszyna Java została zaprojektowana bez rejestrów do przechowywania pośrednich wartości danych? Zamiast tego każda rzecz działa na stosie. czy istnieje jakaś szczególna zaleta posiadania architektury opartej na stosie zamiast rejestrowania?