Um microprocessador softcore (também chamado de processador softcore) é um núcleo de microprocessador que pode ser totalmente implementado por meio de síntese lógica. Ele pode ser implementado em diferentes dispositivos semicondutores que contenham lógica programável (por exemplo, FPGA, CPLD), incluindo tanto versões avançadas quanto de uso comum. Na maioria dos sistemas, quando se utiliza um processador softcore, emprega-se apenas um único núcleo. Entretanto, alguns projetistas distribuem o maior número possível de softcores em um FPGA, até o limite de capacidade. Nesses sistemas multinúcleo, recursos pouco utilizados podem ser compartilhados entre todos os núcleos de um mesmo agrupamento. Embora muitas pessoas coloquem exatamente um microprocessador softcore em um FPGA, um FPGA suficientemente grande pode comportar dois ou mais microprocessadores softcores, resultando em um processador multinúcleo. O número de núcleos em um único FPGA é limitado apenas pelo tamanho do dispositivo. Há casos em que foram implementadas dezenas ou até centenas de microprocessadores softcores em um único FPGA. Essa é uma forma de realizar paralelismo massivo [en] em computação e também pode ser aplicada à processamento em memória [en]. Um microprocessador softcore e seus periféricos associados, implementados em um FPGA, são menos vulneráveis à obsolescência do que um processador discreto.

Referências