With qubit measurement and control fidelities above the threshold of fault-tolerance, much attention is moving towards the daunting task of scaling up the number of physical qubits to the large numbers needed for fault tolerant quantum computing. Here, quantum dot based spin qubits may offer significant advantages due to their potential for high densities, all-electrical operation, and integration onto an industrial platform. In this system, the initialisation, readout, single- and two-qubit gates have been demonstrated in various qubit representations. However, as seen with other small scale quantum computer demonstrations, combining these elements leads to new challenges involving qubit crosstalk, state leakage, calibration, and control hardware which provide invaluable insight towards scaling up. Here we address these challenges and demonstrate a programmable two-qubit quantum processor in silicon by performing both the Deutsch-Josza and the Grover search algorithms. In addition, we characterise the entanglement in our processor through quantum state tomography of Bell states measuring state fidelities between 85-89% and concurrences between 73-80%. These results pave the way for larger scale quantum computers using spins confined to quantum dots.