This paper presents two algorithms as extensions to the basic Resolution Principle of logic programs which exploit parallelism retaining the full semantics of Prolog. The first algorithm, called SPU, allows parallel execution of unifications belonging to deterministic paths of the proof tree, giving in effect AND-parallel execution. The second algorithm, called MPU, retains the benefits of SPU while exploiting OR-parallelism. We also present simulation results which are indicative of the performance of the proposed algorithms and finally we discuss implementation issues which give rise to the development of a parallel machine.