Il controller è diviso in un controller logico combinatorio e un controller di micro-programma, che hanno entrambi i loro vantaggi e svantaggi.Il controller logico combinatorio è problematico da progettare e ha una struttura complessa.Una volta completato il design, non può essere modificato o ampliato, ma è veloce.Il design del controller del microprogramma è conveniente, la struttura è semplice ed è conveniente modificarla o espanderla.Per modificare la funzione di un'istruzione macchina è sufficiente riprogrammare il microprogramma corrispondente;Tuttavia, lo fa eseguendo uno shred.Il confronto specifico è il seguente: i controllori logici combinatori, noti anche come controllori cablati, sono composti da circuiti logici e si basano interamente sull'hardware per realizzare le funzioni delle istruzioni.